@elderbyte/ngx-starter 13.9.3 → 14.0.0

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 (391) hide show
  1. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +4 -4
  2. package/esm2020/lib/common/forms/form-field-base.component.mjs +4 -4
  3. package/esm2020/lib/common/forms/multi-model-base.component.mjs +4 -4
  4. package/esm2020/lib/common/forms/template-composite-control.mjs +4 -4
  5. package/esm2020/lib/common/forms/value-accessor-base.mjs +4 -4
  6. package/esm2020/lib/common/http/http-client-builder.service.mjs +4 -4
  7. package/esm2020/lib/common/http/http-client-pristine.mjs +4 -4
  8. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  9. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
  10. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +6 -6
  11. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +7 -9
  12. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +9 -9
  13. package/esm2020/lib/components/auditing/elder-audit.module.mjs +10 -12
  14. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +5 -5
  15. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +9 -11
  16. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +7 -7
  17. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +4 -4
  18. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +10 -10
  19. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +10 -12
  20. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +7 -7
  21. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +21 -21
  22. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +9 -11
  23. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +14 -15
  24. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
  25. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +8 -8
  26. package/esm2020/lib/components/containers/elder-containers.module.mjs +6 -8
  27. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +6 -6
  28. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +5 -5
  29. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
  30. package/esm2020/lib/components/csv/elder-csv.module.mjs +7 -9
  31. package/esm2020/lib/components/currency/elder-currency.module.mjs +5 -7
  32. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +4 -4
  33. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +12 -14
  34. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
  35. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +10 -10
  36. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +7 -7
  37. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +11 -11
  38. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +8 -8
  39. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +4 -4
  40. package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +5 -5
  41. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +6 -6
  42. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +13 -15
  43. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +12 -12
  44. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +9 -9
  45. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
  46. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +9 -9
  47. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +24 -24
  48. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +17 -19
  49. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +5 -5
  50. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +17 -19
  51. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
  52. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
  53. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
  54. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
  55. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +17 -17
  56. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
  57. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
  58. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
  59. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
  60. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
  61. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +18 -20
  62. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
  63. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +7 -7
  64. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +11 -13
  65. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +4 -4
  66. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +11 -11
  67. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +8 -8
  68. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
  69. package/esm2020/lib/components/errors/elder-error.module.mjs +9 -11
  70. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +10 -10
  71. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -4
  72. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -7
  73. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +6 -6
  74. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
  75. package/esm2020/lib/components/files/elder-file-select.directive.mjs +4 -4
  76. package/esm2020/lib/components/files/elder-file.module.mjs +9 -11
  77. package/esm2020/lib/components/files/file-select/file-select.component.mjs +5 -5
  78. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +13 -13
  79. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
  80. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
  81. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
  82. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
  83. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +4 -4
  84. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +4 -4
  85. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +4 -4
  86. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
  87. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +14 -14
  88. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
  89. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +4 -4
  90. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +4 -4
  91. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
  92. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
  93. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
  94. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
  95. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
  96. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
  97. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +4 -4
  98. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +4 -4
  99. package/esm2020/lib/components/forms/elder-forms.module.mjs +5 -5
  100. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
  101. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
  102. package/esm2020/lib/components/forms/search/elder-search.module.mjs +12 -14
  103. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +17 -17
  104. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  105. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +11 -11
  106. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +5 -5
  107. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +4 -4
  108. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +5 -5
  109. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +6 -8
  110. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +5 -5
  111. package/esm2020/lib/components/headers/elder-header.module.mjs +11 -11
  112. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +4 -4
  113. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +20 -22
  114. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +11 -11
  115. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +12 -12
  116. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  117. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +16 -16
  118. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
  119. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
  120. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
  121. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
  122. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
  123. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
  124. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +12 -14
  125. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +4 -4
  126. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +11 -11
  127. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -8
  128. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +17 -18
  129. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +4 -4
  130. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +8 -8
  131. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +8 -8
  132. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +8 -8
  133. package/esm2020/lib/components/iframes/iframe.service.mjs +4 -4
  134. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
  135. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
  136. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +8 -8
  137. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +12 -12
  138. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
  139. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +10 -12
  140. package/esm2020/lib/components/labels/elder-labels.module.mjs +6 -8
  141. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +13 -13
  142. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +8 -8
  143. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
  144. package/esm2020/lib/components/measures/elder-measures.module.mjs +22 -25
  145. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
  146. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +4 -4
  147. package/esm2020/lib/components/measures/elder-unit.service.mjs +4 -4
  148. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +14 -14
  149. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +4 -4
  150. package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +5 -7
  151. package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +14 -14
  152. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +15 -15
  153. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +12 -14
  154. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +8 -10
  155. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +6 -6
  156. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +8 -8
  157. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +4 -4
  158. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +4 -4
  159. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +15 -16
  160. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
  161. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +10 -10
  162. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +7 -7
  163. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
  164. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
  165. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
  166. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +4 -4
  167. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +6 -8
  168. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +5 -5
  169. package/esm2020/lib/components/panels/elder-panel.module.mjs +6 -8
  170. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +4 -6
  171. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
  172. package/esm2020/lib/components/select/elder-select/elder-select.component.mjs +36 -28
  173. package/esm2020/lib/components/select/elder-select-base.mjs +4 -4
  174. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +7 -7
  175. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +13 -7
  176. package/esm2020/lib/components/select/elder-select-value.directive.mjs +4 -4
  177. package/esm2020/lib/components/select/elder-select.module.mjs +14 -16
  178. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +4 -4
  179. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +17 -17
  180. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
  181. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +10 -10
  182. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +8 -8
  183. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +12 -13
  184. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +8 -10
  185. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +4 -4
  186. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +6 -6
  187. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
  188. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
  189. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
  190. package/esm2020/lib/components/shell/elder-shell.module.mjs +12 -14
  191. package/esm2020/lib/components/shell/elder-shell.service.mjs +4 -4
  192. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +6 -6
  193. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +20 -20
  194. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +7 -7
  195. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
  196. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
  197. package/esm2020/lib/components/tabs/elder-tab.module.mjs +6 -8
  198. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
  199. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +10 -10
  200. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +11 -11
  201. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +9 -9
  202. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +10 -10
  203. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +14 -14
  204. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +9 -9
  205. package/esm2020/lib/components/time/elder-time.module.mjs +26 -29
  206. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +10 -10
  207. package/esm2020/lib/components/toasts/elder-toast.module.mjs +5 -5
  208. package/esm2020/lib/components/toasts/elder-toast.service.mjs +10 -10
  209. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +7 -7
  210. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +13 -15
  211. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +10 -10
  212. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
  213. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +5 -7
  214. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +4 -4
  215. package/esm2020/lib/features/kafent/access-token-provider.mjs +4 -4
  216. package/esm2020/lib/features/kafent/kafent-config.mjs +4 -4
  217. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +4 -4
  218. package/esm2020/lib/features/kafent/kafent-event.service.mjs +4 -4
  219. package/esm2020/lib/features/kafent/kafent.module.mjs +6 -8
  220. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
  221. package/esm2020/lib/pipes/bytes.pipe.mjs +4 -4
  222. package/esm2020/lib/pipes/elder-pipes.module.mjs +23 -12
  223. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +4 -4
  224. package/esm2020/lib/pipes/elder-round.pipe.mjs +4 -4
  225. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +4 -4
  226. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +40 -0
  227. package/esm2020/lib/pipes/iso-duration.pipe.mjs +4 -4
  228. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
  229. package/esm2020/lib/pipes/iso-interval.pipe.mjs +4 -4
  230. package/esm2020/lib/pipes/time-ago.pipe.mjs +4 -4
  231. package/esm2020/lib/pipes/time-duration.pipe.mjs +4 -4
  232. package/esm2020/lib/pipes/weight.pipe.mjs +4 -4
  233. package/fesm2015/elderbyte-ngx-starter.mjs +1464 -1514
  234. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  235. package/fesm2020/elderbyte-ngx-starter.mjs +1458 -1516
  236. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  237. package/{elderbyte-ngx-starter.d.ts → index.d.ts} +0 -0
  238. package/lib/common/forms/form-field-base.component.d.ts +3 -3
  239. package/lib/common/forms/multi-model-base.component.d.ts +1 -1
  240. package/lib/common/forms/template-composite-control.d.ts +4 -4
  241. package/lib/common/forms/value-accessor-base.d.ts +1 -1
  242. package/lib/components/access-denied/elder-access-denied.component.d.ts +1 -1
  243. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +2 -2
  244. package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +1 -1
  245. package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +1 -1
  246. package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +1 -1
  247. package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +1 -1
  248. package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +1 -1
  249. package/lib/components/cards/elder-card/elder-card.component.d.ts +6 -6
  250. package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +1 -1
  251. package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +1 -1
  252. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +1 -1
  253. package/lib/components/currency/elder-currency.pipe.d.ts +1 -1
  254. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +1 -1
  255. package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +1 -1
  256. package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +2 -2
  257. package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +1 -1
  258. package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -1
  259. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +1 -1
  260. package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +2 -2
  261. package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +1 -1
  262. package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +1 -1
  263. package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +1 -1
  264. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +3 -3
  265. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +1 -1
  266. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +1 -1
  267. package/lib/components/data-view/table/elder-number-cell.directive.d.ts +1 -1
  268. package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +1 -1
  269. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +1 -1
  270. package/lib/components/data-view/table/elder-table-column.directive.d.ts +1 -1
  271. package/lib/components/data-view/table/elder-table-extension.directive.d.ts +1 -1
  272. package/lib/components/data-view/table/elder-table-root.directive.d.ts +1 -1
  273. package/lib/components/data-view/table/elder-table-row.directive.d.ts +1 -1
  274. package/lib/components/data-view/table/elder-table-sort.directive.d.ts +1 -1
  275. package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +1 -1
  276. package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +1 -1
  277. package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +1 -1
  278. package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +1 -1
  279. package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +1 -1
  280. package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +1 -1
  281. package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +1 -1
  282. package/lib/components/files/elder-file-drop-zone.directive.d.ts +1 -1
  283. package/lib/components/files/elder-file-select.directive.d.ts +1 -1
  284. package/lib/components/files/file-select/file-select.component.d.ts +1 -1
  285. package/lib/components/files/file-upload/file-upload.component.d.ts +1 -1
  286. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
  287. package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +1 -1
  288. package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +1 -1
  289. package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +1 -1
  290. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +1 -1
  291. package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +1 -1
  292. package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +1 -1
  293. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +3 -3
  294. package/lib/components/forms/directives/elder-key-event.directive.d.ts +1 -1
  295. package/lib/components/forms/directives/elder-max.directive.d.ts +1 -1
  296. package/lib/components/forms/directives/elder-min.directive.d.ts +1 -1
  297. package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +1 -1
  298. package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +1 -1
  299. package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +1 -1
  300. package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +1 -1
  301. package/lib/components/forms/directives/elder-touched.directive.d.ts +1 -1
  302. package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +1 -1
  303. package/lib/components/forms/directives/validation/elder-multiple-of.validator.d.ts +1 -1
  304. package/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.d.ts +1 -1
  305. package/lib/components/forms/search/elder-search-context.directive.d.ts +1 -1
  306. package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
  307. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +1 -1
  308. package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +1 -1
  309. package/lib/components/global-search/elder-global-search.component.d.ts +1 -1
  310. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +1 -1
  311. package/lib/components/headers/elder-header/elder-header.component.d.ts +1 -1
  312. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +1 -1
  313. package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +1 -1
  314. package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +1 -1
  315. package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +1 -1
  316. package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +1 -1
  317. package/lib/components/i18n/entities/picker/i18n-pick-async.pipe.d.ts +1 -1
  318. package/lib/components/i18n/entities/picker/i18n-pick.pipe.d.ts +1 -1
  319. package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +1 -1
  320. package/lib/components/iframes/iframe-close.directive.d.ts +1 -1
  321. package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  322. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +1 -1
  323. package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +1 -1
  324. package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +1 -1
  325. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +1 -1
  326. package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +1 -1
  327. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +2 -3
  328. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +1 -1
  329. package/lib/components/labels/labels-input/labels-input.component.d.ts +4 -4
  330. package/lib/components/measures/dimensions-input/elder-dimensions-input.component.d.ts +3 -4
  331. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +1 -1
  332. package/lib/components/measures/elder-quantity-transform.pipe.d.ts +1 -1
  333. package/lib/components/measures/elder-quantity.pipe.d.ts +1 -1
  334. package/lib/components/measures/quantity-input/elder-quantity-input.component.d.ts +1 -1
  335. package/lib/components/multi-autocomplete/elder-multi-autocomplete.component.d.ts +3 -3
  336. package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +1 -1
  337. package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +1 -1
  338. package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +1 -1
  339. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +1 -1
  340. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +1 -1
  341. package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +2 -2
  342. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +1 -1
  343. package/lib/components/overlays/elder-overlay-origin.directive.d.ts +1 -1
  344. package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +1 -1
  345. package/lib/components/overlays/elder-overlay.component.d.ts +2 -3
  346. package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +1 -1
  347. package/lib/components/panels/flat/elder-panel.component.d.ts +5 -7
  348. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +1 -1
  349. package/lib/components/select/elder-select/elder-select.component.d.ts +3 -1
  350. package/lib/components/select/elder-select-base.d.ts +1 -1
  351. package/lib/components/select/elder-select-chip.directive.d.ts +2 -2
  352. package/lib/components/select/elder-select-on-tab.directive.d.ts +2 -1
  353. package/lib/components/select/elder-select-value.directive.d.ts +1 -1
  354. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  355. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +2 -2
  356. package/lib/components/select/popup/selection-model-popup.directive.d.ts +1 -1
  357. package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +1 -1
  358. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +1 -1
  359. package/lib/components/select-list/select-list/elder-select-list.component.d.ts +1 -1
  360. package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +1 -1
  361. package/lib/components/shell/elder-shell-slot.directive.d.ts +1 -1
  362. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +1 -1
  363. package/lib/components/shell/shell/elder-shell.component.d.ts +5 -5
  364. package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +1 -1
  365. package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +1 -1
  366. package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +1 -1
  367. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +1 -1
  368. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +1 -1
  369. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +1 -1
  370. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +1 -1
  371. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +1 -1
  372. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +1 -1
  373. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +1 -1
  374. package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +1 -1
  375. package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +1 -1
  376. package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +1 -1
  377. package/lib/pipes/bytes.pipe.d.ts +1 -1
  378. package/lib/pipes/elder-pipes.module.d.ts +12 -4
  379. package/lib/pipes/elder-repeat.pipe.d.ts +1 -1
  380. package/lib/pipes/elder-round.pipe.d.ts +1 -1
  381. package/lib/pipes/elder-safe-url.pipe.d.ts +1 -1
  382. package/lib/pipes/elder-truncate.pipe.d.ts +17 -0
  383. package/lib/pipes/iso-duration.pipe.d.ts +1 -1
  384. package/lib/pipes/iso-interval-parse.pipe.d.ts +1 -1
  385. package/lib/pipes/iso-interval.pipe.d.ts +1 -1
  386. package/lib/pipes/time-ago.pipe.d.ts +1 -1
  387. package/lib/pipes/time-duration.pipe.d.ts +1 -1
  388. package/lib/pipes/weight.pipe.d.ts +1 -1
  389. package/package.json +7 -8
  390. package/esm2020/lib/pipes/elder-trim.pipe.mjs +0 -40
  391. package/lib/pipes/elder-trim.pipe.d.ts +0 -17
@@ -1,19 +1,19 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, Output, ViewChild } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
2
+ import { UntypedFormControl } from '@angular/forms';
3
3
  import { LoggerFactory } from '@elderbyte/ts-logger';
4
4
  import { EMPTY } from 'rxjs';
5
5
  import { debounceTime, map, startWith, switchMap } from 'rxjs/operators';
6
6
  import { FormFieldBaseComponent } from '../../../common/forms/form-field-base.component';
7
7
  import { buildFormIntegrationProviders } from '../../../common/forms/template-composite-control';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/material/form-field";
10
- import * as i2 from "@angular/material/chips";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "@angular/forms";
11
11
  import * as i3 from "@angular/material/icon";
12
- import * as i4 from "@angular/material/autocomplete";
13
- import * as i5 from "@angular/material/core";
14
- import * as i6 from "@angular/common";
15
- import * as i7 from "@angular/material/input";
16
- import * as i8 from "@angular/forms";
12
+ import * as i4 from "@angular/material/form-field";
13
+ import * as i5 from "@angular/material/input";
14
+ import * as i6 from "@angular/material/chips";
15
+ import * as i7 from "@angular/material/autocomplete";
16
+ import * as i8 from "@angular/material/core";
17
17
  import * as i9 from "@ngx-translate/core";
18
18
  export class ElderLabelInputComponent extends FormFieldBaseComponent {
19
19
  /***************************************************************************
@@ -32,7 +32,7 @@ export class ElderLabelInputComponent extends FormFieldBaseComponent {
32
32
  this._allowCreate = true;
33
33
  this.selectable = true;
34
34
  this.removable = true;
35
- this.labelInputControl = new FormControl();
35
+ this.labelInputControl = new UntypedFormControl();
36
36
  this.availableSuggestions$ = EMPTY;
37
37
  this.floatLabel = 'never';
38
38
  }
@@ -194,9 +194,9 @@ export class ElderLabelInputComponent extends FormFieldBaseComponent {
194
194
  return this._compareWith ? this._compareWith(a, b) : a === b;
195
195
  }
196
196
  }
197
- ElderLabelInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderLabelInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
198
- ElderLabelInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.10", type: ElderLabelInputComponent, selector: "elder-label-input, ebs-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-chip-list #chips>\n <mat-chip *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [selectable]=\"selectable\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{labelName(label)}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip>\n\n <input matInput type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput>\n </mat-chip-list>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n (optionSelected)=\"labelSelected($event)\">\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{labelName(suggestion)}}\n </mat-option>\n </mat-autocomplete>\n\n</mat-form-field>\n\n", styles: [".full-width{width:100%}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatLabel, selector: "mat-label" }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i2.MatChipRemove, selector: "[matChipRemove]" }, { type: i7.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"] }, { type: i2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "translate": i9.TranslatePipe, "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderLabelInputComponent, decorators: [{
197
+ ElderLabelInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderLabelInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
198
+ ElderLabelInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: ElderLabelInputComponent, selector: "elder-label-input, ebs-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-chip-list #chips>\n <mat-chip *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [selectable]=\"selectable\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{labelName(label)}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip>\n\n <input matInput type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput>\n </mat-chip-list>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n (optionSelected)=\"labelSelected($event)\">\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{labelName(suggestion)}}\n </mat-option>\n </mat-autocomplete>\n\n</mat-form-field>\n\n", styles: [".full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.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: "component", type: i6.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i6.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i6.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderLabelInputComponent, decorators: [{
200
200
  type: Component,
201
201
  args: [{ selector: 'elder-label-input, ebs-label-input', providers: buildFormIntegrationProviders(ElderLabelInputComponent), changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-chip-list #chips>\n <mat-chip *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [selectable]=\"selectable\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{labelName(label)}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip>\n\n <input matInput type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput>\n </mat-chip-list>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n (optionSelected)=\"labelSelected($event)\">\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{labelName(suggestion)}}\n </mat-option>\n </mat-autocomplete>\n\n</mat-form-field>\n\n", styles: [".full-width{width:100%}\n"] }]
202
202
  }], ctorParameters: function () { return []; }, propDecorators: { inputControl: [{
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImpo
227
227
  type: Input,
228
228
  args: ['labelBuilder']
229
229
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbHMvbGFiZWxzLWlucHV0L2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDdkYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7O0FBVS9GLE1BQU0sT0FBTyx3QkFBNEIsU0FBUSxzQkFBMkI7SUEwQjFFOzs7O2dGQUk0RTtJQUU1RTtRQUVFLEtBQUssRUFBRSxDQUFDO1FBaENWOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBT2pFLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXJCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVSLHNCQUFpQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzVELDBCQUFxQixHQUFzQixLQUFLLENBQUM7UUFjdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNXLGdCQUFnQixDQUFDLFFBQWtDO1FBQzVELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNuRSxTQUFTLENBQVMsSUFBSSxDQUFDLEVBQ3ZCLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3JELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM3QyxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7WUFDM0YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUNXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxXQUFXLENBQUMsRUFBaUM7UUFDdEQsSUFBSSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdEOztPQUVHO0lBQ0gsSUFDVyxhQUFhLENBQUMsRUFBNkI7UUFDcEQsSUFBSSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxZQUFZLENBQUMsRUFBdUI7UUFDN0MsSUFBSSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxZQUFZLENBQUMsRUFBK0I7UUFDckQsSUFBSSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRLEtBQVcsQ0FBQztJQUUzQjs7OztnRkFJNEU7SUFFckUsYUFBYSxDQUFDLEtBQW1DO1FBQ3RELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDckMsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxlQUFlLENBQUMsS0FBd0I7UUFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBRXJCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUUxQixJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzFCO1lBRUQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsbUNBQW1DO2dCQUNuQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDbkI7U0FDRjtJQUNILENBQUM7SUFFTSxTQUFTLENBQUMsTUFBVztRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFXO1FBRTVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQ3pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXLENBQUMsTUFBVztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBUTtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzNFO2FBQU07WUFDTCxPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFRO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsVUFBVTtRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFTyxXQUFXLENBQUMsT0FBZTtRQUNqQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsV0FBa0I7UUFDekMsSUFBSSxXQUFXLEVBQUU7WUFFZixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxXQUFXO3FCQUNmLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDZCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlEO2lCQUFNO2dCQUNMLE9BQU8sV0FBVyxDQUFDO2FBQ3BCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLENBQU0sRUFBRSxDQUFNO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7c0hBMU9VLHdCQUF3QjswR0FBeEIsd0JBQXdCLDRUQUh4Qiw2QkFBNkIsQ0FBQyx3QkFBd0IsQ0FBQywyS0NoQnBFLHE1Q0E0Q0E7NEZEekJhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxvQ0FBb0MsYUFHbkMsNkJBQTZCLDBCQUEwQixtQkFDakQsdUJBQXVCLENBQUMsTUFBTTswRUEwQnZDLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwQjlCLE1BQU07c0JBRGhCLEtBQUs7dUJBQUMsUUFBUTtnQkFNSixnQkFBZ0I7c0JBRDFCLEtBQUs7dUJBQUMsa0JBQWtCO2dCQWdCZCxRQUFRO3NCQURsQixLQUFLO3VCQUFDLFVBQVU7Z0JBTU4sYUFBYTtzQkFEdkIsTUFBTTt1QkFBQyxlQUFlO2dCQVdaLFdBQVc7c0JBRHJCLEtBQUs7dUJBQUMsYUFBYTtnQkFhVCxhQUFhO3NCQUR2QixLQUFLO3VCQUFDLGVBQWU7Z0JBWVgsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxjQUFjO2dCQVlWLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRDaGlwSW5wdXRFdmVudH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0lTdWdnZXN0aW9uUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zdWdnZXN0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlL2NvbW1vbi1iZWhhdmlvcnMvY29sb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1sYWJlbC1pbnB1dCwgZWJzLWxhYmVsLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhYmVscy1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IGJ1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzKEVsZGVyTGFiZWxJbnB1dENvbXBvbmVudCksXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTGFiZWxJbnB1dENvbXBvbmVudDxUPiBleHRlbmRzIEZvcm1GaWVsZEJhc2VDb21wb25lbnQ8VFtdPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbjtcbiAgcHJpdmF0ZSBfbmFtZVJlc29sdmVyOiAobzE6IGFueSkgPT4gc3RyaW5nO1xuICBwcml2YXRlIF9jb2xvclJlc29sdmVyOiAobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlO1xuICBwcml2YXRlIF9sYWJlbEJ1aWxkZXI6IChyYXdpbnB1dDogc3RyaW5nKSA9PiBhbnlbXTtcblxuICBwcml2YXRlIF9hbGxvd0NyZWF0ZSA9IHRydWU7XG5cbiAgcHVibGljIHNlbGVjdGFibGUgPSB0cnVlO1xuICBwdWJsaWMgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxJbnB1dENvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIHB1YmxpYyBhdmFpbGFibGVTdWdnZXN0aW9ucyQ6IE9ic2VydmFibGU8YW55W10+ID0gRU1QVFk7XG5cbiAgQFZpZXdDaGlsZCgnbGFiZWxJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgaW5wdXRDb250cm9sOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZmxvYXRMYWJlbCA9ICduZXZlcic7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRMYWJlbHMkKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUkO1xuICB9XG5cbiAgQElucHV0KCdsYWJlbHMnKVxuICBwdWJsaWMgc2V0IGxhYmVscyh2YWx1ZTogVFtdKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdzdWdnZXN0aW9uTG9hZGVyJylcbiAgcHVibGljIHNldCBzdWdnZXN0aW9uTG9hZGVyKHByb3ZpZGVyOiBJU3VnZ2VzdGlvblByb3ZpZGVyPGFueT4pIHtcbiAgICBpZiAocHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlU3VnZ2VzdGlvbnMkID0gdGhpcy5sYWJlbElucHV0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKDxzdHJpbmc+bnVsbCksXG4gICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiBwcm92aWRlci5sb2FkU3VnZ2VzdGlvbnModmFsdWUpKSxcbiAgICAgICAgbWFwKGxhYmVscyA9PiB0aGlzLmZpbHRlck5vdFByZXNlbnQobGFiZWxzKSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW50IHByb3ZpZGUgc3VnZ2VzdGlvbnMgc2luY2Ugbm8gc3VnZ2VzdGlvbiBwcm92aWRlciB3YXMgcmVnaXN0ZXJlZCEnKTtcbiAgICAgIHRoaXMuYXZhaWxhYmxlU3VnZ2VzdGlvbnMkID0gRU1QVFk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdhbGxvd05ldycpXG4gIHB1YmxpYyBzZXQgYWxsb3dOZXcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hbGxvd0NyZWF0ZSA9IHZhbHVlO1xuICB9XG5cbiAgQE91dHB1dCgnbGFiZWxzQ2hhbmdlZCcpXG4gIHB1YmxpYyBnZXQgbGFiZWxzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2U7XG4gIH1cblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byBjb21wYXJlIHRoZSBvcHRpb24gdmFsdWVzIHdpdGggdGhlIHNlbGVjdGVkIHZhbHVlcy4gVGhlIGZpcnN0IGFyZ3VtZW50XG4gICAqIGlzIGEgdmFsdWUgZnJvbSBhbiBvcHRpb24uIFRoZSBzZWNvbmQgaXMgYSB2YWx1ZSBmcm9tIHRoZSBzZWxlY3Rpb24uIEEgYm9vbGVhblxuICAgKiBzaG91bGQgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBASW5wdXQoJ2NvbXBhcmVXaXRoJylcbiAgcHVibGljIHNldCBjb21wYXJlV2l0aChmbjogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4pIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbXBhcmVXaXRoIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fY29tcGFyZVdpdGggPSBmbjtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgY29sb3Igb2YgYSBnaXZlbiBsYWJlbCBvYmplY3QuXG4gICAqL1xuICBASW5wdXQoJ2NvbG9yUmVzb2x2ZXInKVxuICBwdWJsaWMgc2V0IGNvbG9yUmVzb2x2ZXIoZm46IChvMTogYW55KSA9PiBUaGVtZVBhbGV0dGUpIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbG9yUmVzb2x2ZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICB0aGlzLl9jb2xvclJlc29sdmVyID0gZm47XG4gIH1cblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIHRoZSBkaXNwbGF5IG5hbWUgb2YgYSBnaXZlbiBsYWJlbCBvYmplY3QuXG4gICAqL1xuICBASW5wdXQoJ25hbWVSZXNvbHZlcicpXG4gIHB1YmxpYyBzZXQgbmFtZVJlc29sdmVyKGZuOiAobzE6IGFueSkgPT4gc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCduYW1lUmVzb2x2ZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICB0aGlzLl9uYW1lUmVzb2x2ZXIgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgb25lIG9yIG1vcmUgbGFiZWxzIGZvciBhIGdpdmVuIHJhdyBzdHJpbmdcbiAgICovXG4gIEBJbnB1dCgnbGFiZWxCdWlsZGVyJylcbiAgcHVibGljIHNldCBsYWJlbEJ1aWxkZXIoZm46IChyYXdpbnB1dDogc3RyaW5nKSA9PiBhbnlbXSkge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbGFiZWxCdWlsZGVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fbGFiZWxCdWlsZGVyID0gZm47XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZS1DeWNsZSBFdmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbGFiZWxTZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgIGNvbnNvbGUubG9nKCdsYWJlbFNlbGVjdGVkOicsIGV2ZW50KTtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBldmVudC5vcHRpb24udmFsdWU7XG4gICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgICB0aGlzLmFkZExhYmVsKHNlbGVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZU5ld0xhYmVscyhldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWxsb3dDcmVhdGUpIHtcblxuICAgICAgY29uc3QgaW5wdXQgPSBldmVudC5pbnB1dDtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG5cbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBjb25zdCBteUxhYmVscyA9IHRoaXMuYnVpbGRMYWJlbHModmFsdWUpO1xuICAgICAgICB0aGlzLmFkZExhYmVscyhteUxhYmVscyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAvLyBpbnB1dC52YWx1ZSA9ICcnOyAvLyByZXNldCBpbnB1dFxuICAgICAgICB0aGlzLnJlc2V0SW5wdXQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkTGFiZWxzKGxhYmVsczogVFtdKSB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XG4gICAgdGhpcy5yZXBsYWNlV2l0aChbLi4uY3VycmVudCwgLi4ubGFiZWxzXSk7XG4gIH1cblxuICBwdWJsaWMgYWRkTGFiZWwobGFiZWw6IGFueSkge1xuICAgIHRoaXMuYWRkTGFiZWxzKFtsYWJlbF0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUxhYmVsKHRvUmVtb3ZlOiBUKTogdm9pZCB7XG5cbiAgICBjb25zdCByZW1haW5pbmcgPSB0aGlzLnZhbHVlXG4gICAgICAuZmlsdGVyKGwgPT4gIXRoaXMuYXJlRXF1YWwobCwgdG9SZW1vdmUpKTtcblxuICAgIHRoaXMucmVwbGFjZVdpdGgocmVtYWluaW5nKTtcbiAgfVxuXG4gIHB1YmxpYyByZXBsYWNlV2l0aChsYWJlbHM6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUobGFiZWxzKTtcbiAgfVxuXG4gIHB1YmxpYyBsYWJlbE5hbWUobGFiZWw6IFQpOiBzdHJpbmcge1xuICAgIGlmIChsYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX25hbWVSZXNvbHZlciA/ICB0aGlzLl9uYW1lUmVzb2x2ZXIobGFiZWwpIDogbGFiZWwudG9TdHJpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsYWJlbENvbG9yKGxhYmVsOiBUKTogVGhlbWVQYWxldHRlIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3JSZXNvbHZlciA/ICB0aGlzLl9jb2xvclJlc29sdmVyKGxhYmVsKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVzZXRJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Q29udHJvbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFiZWxzKHJhd05hbWU6IHN0cmluZyk6IGFueVtdIHtcbiAgICBpZiAodGhpcy5fbGFiZWxCdWlsZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbGFiZWxCdWlsZGVyKHJhd05hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW3Jhd05hbWVdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyTm90UHJlc2VudChzdWdnZXN0aW9uczogYW55W10pOiBhbnlbXSB7XG4gICAgaWYgKHN1Z2dlc3Rpb25zKSB7XG5cbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBzdWdnZXN0aW9uc1xuICAgICAgICAgIC5maWx0ZXIobCA9PiBsKVxuICAgICAgICAgIC5maWx0ZXIobCA9PiAhdGhpcy52YWx1ZS5zb21lKGVsID0+IHRoaXMuYXJlRXF1YWwoZWwsIGwpKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc3VnZ2VzdGlvbnM7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFyZUVxdWFsKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBhcmVXaXRoID8gdGhpcy5fY29tcGFyZVdpdGgoYSwgYikgOiBhID09PSBiO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gIGNsYXNzPVwiZnVsbC13aWR0aFwiXG4gIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICBbY29sb3JdPVwiY29sb3JcIlxuPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cblxuICA8bWF0LWNoaXAtbGlzdCAjY2hpcHM+XG4gICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBjdXJyZW50TGFiZWxzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJub3NlbGVjdFwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJsYWJlbENvbG9yKGxhYmVsKVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVcIlxuICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cInJlbW92YWJsZVwiXG4gICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZUxhYmVsKGxhYmVsKVwiXG4gICAgPlxuICAgICAge3tsYWJlbE5hbWUobGFiZWwpfX1cbiAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlICpuZ0lmPVwicmVtb3ZhYmxlXCI+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICA8L21hdC1jaGlwPlxuXG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwc1wiXG4gICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwibGFiZWxBdXRvQ29tcGxldGVcIlxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibGFiZWxJbnB1dENvbnRyb2xcIlxuICAgICAgICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiY3JlYXRlTmV3TGFiZWxzKCRldmVudClcIlxuICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgI2xhYmVsSW5wdXQ+XG4gIDwvbWF0LWNoaXAtbGlzdD5cblxuICA8bWF0LWF1dG9jb21wbGV0ZVxuICAgICAgI2xhYmVsQXV0b0NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJsYWJlbFNlbGVjdGVkKCRldmVudClcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgc3VnZ2VzdGlvbiBvZiBhdmFpbGFibGVTdWdnZXN0aW9ucyQgfCBhc3luY1wiIFt2YWx1ZV09XCJzdWdnZXN0aW9uXCI+XG4gICAgICB7e2xhYmVsTmFtZShzdWdnZXN0aW9uKX19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbiJdfQ==
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbHMvbGFiZWxzLWlucHV0L2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7Ozs7Ozs7QUFVL0YsTUFBTSxPQUFPLHdCQUE0QixTQUFRLHNCQUEyQjtJQTBCMUU7Ozs7Z0ZBSTRFO0lBRTVFO1FBRUUsS0FBSyxFQUFFLENBQUM7UUFoQ1Y7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFPakUsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRVIsc0JBQWlCLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUMxRSwwQkFBcUIsR0FBc0IsS0FBSyxDQUFDO1FBY3RELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDVyxnQkFBZ0IsQ0FBQyxRQUFrQztRQUM1RCxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDbkUsU0FBUyxDQUFTLElBQUksQ0FBQyxFQUN2QixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNyRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDN0MsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1RUFBdUUsQ0FBQyxDQUFDO1lBQzNGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csV0FBVyxDQUFDLEVBQWlDO1FBQ3RELElBQUksT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHRDs7T0FFRztJQUNILElBQ1csYUFBYSxDQUFDLEVBQTZCO1FBQ3BELElBQUksT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csWUFBWSxDQUFDLEVBQXVCO1FBQzdDLElBQUksT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csWUFBWSxDQUFDLEVBQStCO1FBQ3JELElBQUksT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUSxLQUFXLENBQUM7SUFFM0I7Ozs7Z0ZBSTRFO0lBRXJFLGFBQWEsQ0FBQyxLQUFtQztRQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQXdCO1FBQzdDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUVyQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFFMUIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMxQjtZQUVELElBQUksS0FBSyxFQUFFO2dCQUNULG1DQUFtQztnQkFDbkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQVc7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBVztRQUU1QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSzthQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQVc7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQVE7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzRTthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsS0FBUTtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQWU7UUFDakMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFdBQWtCO1FBQ3pDLElBQUksV0FBVyxFQUFFO1lBRWYsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sV0FBVztxQkFDZixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ2QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5RDtpQkFBTTtnQkFDTCxPQUFPLFdBQVcsQ0FBQzthQUNwQjtTQUNGO2FBQU07WUFDTCxPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQztJQUVPLFFBQVEsQ0FBQyxDQUFNLEVBQUUsQ0FBTTtRQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7O3FIQTFPVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw0VEFIeEIsNkJBQTZCLENBQUMsd0JBQXdCLENBQUMsMktDaEJwRSxxNUNBNENBOzJGRHpCYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usb0NBQW9DLGFBR25DLDZCQUE2QiwwQkFBMEIsbUJBQ2pELHVCQUF1QixDQUFDLE1BQU07MEVBMEJ2QyxZQUFZO3NCQURuQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMEI5QixNQUFNO3NCQURoQixLQUFLO3VCQUFDLFFBQVE7Z0JBTUosZ0JBQWdCO3NCQUQxQixLQUFLO3VCQUFDLGtCQUFrQjtnQkFnQmQsUUFBUTtzQkFEbEIsS0FBSzt1QkFBQyxVQUFVO2dCQU1OLGFBQWE7c0JBRHZCLE1BQU07dUJBQUMsZUFBZTtnQkFXWixXQUFXO3NCQURyQixLQUFLO3VCQUFDLGFBQWE7Z0JBYVQsYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxlQUFlO2dCQVlYLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsY0FBYztnQkFZVixZQUFZO3NCQUR0QixLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge01hdENoaXBJbnB1dEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SVN1Z2dlc3Rpb25Qcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3N1Z2dlc3Rpb24tcHJvdmlkZXInO1xuaW1wb3J0IHtGb3JtRmllbGRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZm9ybS1maWVsZC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge2J1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvdGVtcGxhdGUtY29tcG9zaXRlLWNvbnRyb2wnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1sYWJlbC1pbnB1dCwgZWJzLWxhYmVsLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhYmVscy1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IGJ1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzKEVsZGVyTGFiZWxJbnB1dENvbXBvbmVudCksXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTGFiZWxJbnB1dENvbXBvbmVudDxUPiBleHRlbmRzIEZvcm1GaWVsZEJhc2VDb21wb25lbnQ8VFtdPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbjtcbiAgcHJpdmF0ZSBfbmFtZVJlc29sdmVyOiAobzE6IGFueSkgPT4gc3RyaW5nO1xuICBwcml2YXRlIF9jb2xvclJlc29sdmVyOiAobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlO1xuICBwcml2YXRlIF9sYWJlbEJ1aWxkZXI6IChyYXdpbnB1dDogc3RyaW5nKSA9PiBhbnlbXTtcblxuICBwcml2YXRlIF9hbGxvd0NyZWF0ZSA9IHRydWU7XG5cbiAgcHVibGljIHNlbGVjdGFibGUgPSB0cnVlO1xuICBwdWJsaWMgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxJbnB1dENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIGF2YWlsYWJsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT4gPSBFTVBUWTtcblxuICBAVmlld0NoaWxkKCdsYWJlbElucHV0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBpbnB1dENvbnRyb2w6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5mbG9hdExhYmVsID0gJ25ldmVyJztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgY3VycmVudExhYmVscyQoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSQ7XG4gIH1cblxuICBASW5wdXQoJ2xhYmVscycpXG4gIHB1YmxpYyBzZXQgbGFiZWxzKHZhbHVlOiBUW10pIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ3N1Z2dlc3Rpb25Mb2FkZXInKVxuICBwdWJsaWMgc2V0IHN1Z2dlc3Rpb25Mb2FkZXIocHJvdmlkZXI6IElTdWdnZXN0aW9uUHJvdmlkZXI8YW55Pikge1xuICAgIGlmIChwcm92aWRlcikge1xuICAgICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSB0aGlzLmxhYmVsSW5wdXRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBzdGFydFdpdGgoPHN0cmluZz5udWxsKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHByb3ZpZGVyLmxvYWRTdWdnZXN0aW9ucyh2YWx1ZSkpLFxuICAgICAgICBtYXAobGFiZWxzID0+IHRoaXMuZmlsdGVyTm90UHJlc2VudChsYWJlbHMpKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0NhbnQgcHJvdmlkZSBzdWdnZXN0aW9ucyBzaW5jZSBubyBzdWdnZXN0aW9uIHByb3ZpZGVyIHdhcyByZWdpc3RlcmVkIScpO1xuICAgICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSBFTVBUWTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ2FsbG93TmV3JylcbiAgcHVibGljIHNldCBhbGxvd05ldyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FsbG93Q3JlYXRlID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCdsYWJlbHNDaGFuZ2VkJylcbiAgcHVibGljIGdldCBsYWJlbHNDaGFuZ2VkKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGNvbXBhcmUgdGhlIG9wdGlvbiB2YWx1ZXMgd2l0aCB0aGUgc2VsZWN0ZWQgdmFsdWVzLiBUaGUgZmlyc3QgYXJndW1lbnRcbiAgICogaXMgYSB2YWx1ZSBmcm9tIGFuIG9wdGlvbi4gVGhlIHNlY29uZCBpcyBhIHZhbHVlIGZyb20gdGhlIHNlbGVjdGlvbi4gQSBib29sZWFuXG4gICAqIHNob3VsZCBiZSByZXR1cm5lZC5cbiAgICovXG4gIEBJbnB1dCgnY29tcGFyZVdpdGgnKVxuICBwdWJsaWMgc2V0IGNvbXBhcmVXaXRoKGZuOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICB0aGlzLl9jb21wYXJlV2l0aCA9IGZuO1xuICB9XG5cblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIHRoZSBjb2xvciBvZiBhIGdpdmVuIGxhYmVsIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgnY29sb3JSZXNvbHZlcicpXG4gIHB1YmxpYyBzZXQgY29sb3JSZXNvbHZlcihmbjogKG8xOiBhbnkpID0+IFRoZW1lUGFsZXR0ZSkge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29sb3JSZXNvbHZlciBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbG9yUmVzb2x2ZXIgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdGhlIGRpc3BsYXkgbmFtZSBvZiBhIGdpdmVuIGxhYmVsIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgnbmFtZVJlc29sdmVyJylcbiAgcHVibGljIHNldCBuYW1lUmVzb2x2ZXIoZm46IChvMTogYW55KSA9PiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25hbWVSZXNvbHZlciBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX25hbWVSZXNvbHZlciA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBvbmUgb3IgbW9yZSBsYWJlbHMgZm9yIGEgZ2l2ZW4gcmF3IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCdsYWJlbEJ1aWxkZXInKVxuICBwdWJsaWMgc2V0IGxhYmVsQnVpbGRlcihmbjogKHJhd2lucHV0OiBzdHJpbmcpID0+IGFueVtdKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdsYWJlbEJ1aWxkZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbEJ1aWxkZXIgPSBmbjtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlLUN5Y2xlIEV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBsYWJlbFNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XG4gICAgY29uc29sZS5sb2coJ2xhYmVsU2VsZWN0ZWQ6JywgZXZlbnQpO1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IGV2ZW50Lm9wdGlvbi52YWx1ZTtcbiAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnJlc2V0SW5wdXQoKTtcbiAgICAgIHRoaXMuYWRkTGFiZWwoc2VsZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlTmV3TGFiZWxzKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hbGxvd0NyZWF0ZSkge1xuXG4gICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LmlucHV0O1xuICAgICAgY29uc3QgdmFsdWUgPSBldmVudC52YWx1ZTtcblxuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IG15TGFiZWxzID0gdGhpcy5idWlsZExhYmVscyh2YWx1ZSk7XG4gICAgICAgIHRoaXMuYWRkTGFiZWxzKG15TGFiZWxzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgIC8vIGlucHV0LnZhbHVlID0gJyc7IC8vIHJlc2V0IGlucHV0XG4gICAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRMYWJlbHMobGFiZWxzOiBUW10pIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBbXTtcbiAgICB0aGlzLnJlcGxhY2VXaXRoKFsuLi5jdXJyZW50LCAuLi5sYWJlbHNdKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRMYWJlbChsYWJlbDogYW55KSB7XG4gICAgdGhpcy5hZGRMYWJlbHMoW2xhYmVsXSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlTGFiZWwodG9SZW1vdmU6IFQpOiB2b2lkIHtcblxuICAgIGNvbnN0IHJlbWFpbmluZyA9IHRoaXMudmFsdWVcbiAgICAgIC5maWx0ZXIobCA9PiAhdGhpcy5hcmVFcXVhbChsLCB0b1JlbW92ZSkpO1xuXG4gICAgdGhpcy5yZXBsYWNlV2l0aChyZW1haW5pbmcpO1xuICB9XG5cbiAgcHVibGljIHJlcGxhY2VXaXRoKGxhYmVsczogVFtdKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShsYWJlbHMpO1xuICB9XG5cbiAgcHVibGljIGxhYmVsTmFtZShsYWJlbDogVCk6IHN0cmluZyB7XG4gICAgaWYgKGxhYmVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmFtZVJlc29sdmVyID8gIHRoaXMuX25hbWVSZXNvbHZlcihsYWJlbCkgOiBsYWJlbC50b1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxhYmVsQ29sb3IobGFiZWw6IFQpOiBUaGVtZVBhbGV0dGUge1xuICAgIHJldHVybiB0aGlzLl9jb2xvclJlc29sdmVyID8gIHRoaXMuX2NvbG9yUmVzb2x2ZXIobGFiZWwpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZXNldElucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRDb250cm9sLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMYWJlbHMocmF3TmFtZTogc3RyaW5nKTogYW55W10ge1xuICAgIGlmICh0aGlzLl9sYWJlbEJ1aWxkZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9sYWJlbEJ1aWxkZXIocmF3TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbcmF3TmFtZV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJOb3RQcmVzZW50KHN1Z2dlc3Rpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgICBpZiAoc3VnZ2VzdGlvbnMpIHtcblxuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHN1Z2dlc3Rpb25zXG4gICAgICAgICAgLmZpbHRlcihsID0+IGwpXG4gICAgICAgICAgLmZpbHRlcihsID0+ICF0aGlzLnZhbHVlLnNvbWUoZWwgPT4gdGhpcy5hcmVFcXVhbChlbCwgbCkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzdWdnZXN0aW9ucztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXJlRXF1YWwoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGFyZVdpdGggPyB0aGlzLl9jb21wYXJlV2l0aChhLCBiKSA6IGEgPT09IGI7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZFxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgY2xhc3M9XCJmdWxsLXdpZHRoXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWwgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuXG4gIDxtYXQtY2hpcC1saXN0ICNjaGlwcz5cbiAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGN1cnJlbnRMYWJlbHMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm5vc2VsZWN0XCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImxhYmVsQ29sb3IobGFiZWwpXCJcbiAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwic2VsZWN0YWJsZVwiXG4gICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwicmVtb3ZhYmxlXCJcbiAgICAgICAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlTGFiZWwobGFiZWwpXCJcbiAgICA+XG4gICAgICB7e2xhYmVsTmFtZShsYWJlbCl9fVxuICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmUgKm5nSWY9XCJyZW1vdmFibGVcIj5jYW5jZWw8L21hdC1pY29uPlxuICAgIDwvbWF0LWNoaXA+XG5cbiAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBzXCJcbiAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJsYWJlbEF1dG9Db21wbGV0ZVwiXG4gICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJsYWJlbElucHV0Q29udHJvbFwiXG4gICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJjcmVhdGVOZXdMYWJlbHMoJGV2ZW50KVwiXG4gICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAjbGFiZWxJbnB1dD5cbiAgPC9tYXQtY2hpcC1saXN0PlxuXG4gIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAjbGFiZWxBdXRvQ29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImxhYmVsU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIGF2YWlsYWJsZVN1Z2dlc3Rpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInN1Z2dlc3Rpb25cIj5cbiAgICAgIHt7bGFiZWxOYW1lKHN1Z2dlc3Rpb24pfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPC9tYXQtZm9ybS1maWVsZD5cblxuIl19
@@ -5,9 +5,9 @@ import { Dimensions } from '../model/dimensions';
5
5
  import { map } from 'rxjs/operators';
6
6
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "../quantity-input/elder-quantity-input.component";
9
- import * as i2 from "@angular/forms";
10
- import * as i3 from "@angular/flex-layout/flex";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "@angular/flex-layout/flex";
10
+ import * as i3 from "../quantity-input/elder-quantity-input.component";
11
11
  import * as i4 from "@ngx-translate/core";
12
12
  export class ElderDimensionsInputComponent extends TemplateCompositeControl {
13
13
  /***************************************************************************
@@ -179,11 +179,11 @@ export class ElderDimensionsInputComponent extends TemplateCompositeControl {
179
179
  return Dimensions.from(this.unit, this.lengthValue, this.widthValue, value);
180
180
  }
181
181
  }
182
- ElderDimensionsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderDimensionsInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
183
- ElderDimensionsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.10", type: ElderDimensionsInputComponent, selector: "elder-dimensions-input", inputs: { name: "name", appearance: "appearance", color: "color", placeholderLength: "placeholderLength", placeholderWidth: "placeholderWidth", placeholderHeight: "placeholderHeight", fxLayout: "fxLayout", fxLayoutGap: "fxLayoutGap", floatLabel: "floatLabel", min: "min", max: "max", requiredIgnoreZero: "requiredIgnoreZero", multipleOf: "multipleOf", displayFormat: "displayFormat", requiredLength: "requiredLength", requiredWidth: "requiredWidth", requiredHeight: "requiredHeight", readonly: "readonly", unit: "unit", lengthValue: "lengthValue", widthValue: "widthValue", heightValue: "heightValue" }, outputs: { unitChange: "unitChange", lengthValueChange: "lengthValueChange", widthValueChange: "widthValueChange", heightValueChange: "heightValueChange" }, providers: buildFormIntegrationProviders(ElderDimensionsInputComponent), usesInheritance: true, ngImport: i0, template: "\n<form #form=\"ngForm\" fxFlex\n [fxLayout]=\"fxLayout\"\n [fxLayoutGap]=\"fxLayoutGapInternal\">\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-length'\"\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-width'\"\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredWidth\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-height'\"\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredHeight\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n</form>\n\n\n", styles: [""], components: [{ type: i1.ElderQuantityInputComponent, selector: "elder-quantity-input", inputs: ["multipleOf", "displayFormat", "requiredIgnoreZero", "quantityNumber", "quantityValue", "unit"], outputs: ["quantityNumberChange", "quantityValueChange", "unitChange"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }], pipes: { "translate": i4.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderDimensionsInputComponent, decorators: [{
182
+ ElderDimensionsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderDimensionsInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
183
+ ElderDimensionsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: ElderDimensionsInputComponent, selector: "elder-dimensions-input", inputs: { name: "name", appearance: "appearance", color: "color", placeholderLength: "placeholderLength", placeholderWidth: "placeholderWidth", placeholderHeight: "placeholderHeight", fxLayout: "fxLayout", fxLayoutGap: "fxLayoutGap", floatLabel: "floatLabel", min: "min", max: "max", requiredIgnoreZero: "requiredIgnoreZero", multipleOf: "multipleOf", displayFormat: "displayFormat", requiredLength: "requiredLength", requiredWidth: "requiredWidth", requiredHeight: "requiredHeight", readonly: "readonly", unit: "unit", lengthValue: "lengthValue", widthValue: "widthValue", heightValue: "heightValue" }, outputs: { unitChange: "unitChange", lengthValueChange: "lengthValueChange", widthValueChange: "widthValueChange", heightValueChange: "heightValueChange" }, providers: buildFormIntegrationProviders(ElderDimensionsInputComponent), usesInheritance: true, ngImport: i0, template: "\n<form #form=\"ngForm\" fxFlex\n [fxLayout]=\"fxLayout\"\n [fxLayoutGap]=\"fxLayoutGapInternal\">\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-length'\"\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-width'\"\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredWidth\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-height'\"\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredHeight\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n</form>\n\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3.ElderQuantityInputComponent, selector: "elder-quantity-input", inputs: ["multipleOf", "displayFormat", "requiredIgnoreZero", "quantityNumber", "quantityValue", "unit"], outputs: ["quantityNumberChange", "quantityValueChange", "unitChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderDimensionsInputComponent, decorators: [{
185
185
  type: Component,
186
- args: [{ selector: 'elder-dimensions-input', providers: buildFormIntegrationProviders(ElderDimensionsInputComponent), changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<form #form=\"ngForm\" fxFlex\n [fxLayout]=\"fxLayout\"\n [fxLayoutGap]=\"fxLayoutGapInternal\">\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-length'\"\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-width'\"\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredWidth\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-height'\"\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredHeight\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n</form>\n\n\n", styles: [""] }]
186
+ args: [{ selector: 'elder-dimensions-input', providers: buildFormIntegrationProviders(ElderDimensionsInputComponent), changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<form #form=\"ngForm\" fxFlex\n [fxLayout]=\"fxLayout\"\n [fxLayoutGap]=\"fxLayoutGapInternal\">\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-length'\"\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-width'\"\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredWidth\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <elder-quantity-input fxFlex\n [name]=\"name + '-height'\"\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n class=\"elder-form-field-small\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [multipleOf]=\"multipleOf\"\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredHeight\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n</form>\n\n\n" }]
187
187
  }], ctorParameters: function () { return []; }, propDecorators: { name: [{
188
188
  type: Input
189
189
  }], appearance: [{
@@ -237,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImpo
237
237
  }], heightValue: [{
238
238
  type: Input
239
239
  }] } });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2RpbWVuc2lvbnMtaW5wdXQvZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2RpbWVuc2lvbnMtaW5wdXQvZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLDZCQUE2QixFQUFFLHdCQUF3QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDekgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJbkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQVM1RCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsd0JBQW9DO0lBd0VyRjs7OztnRkFJNEU7SUFFNUU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTdFVjs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdB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QUFDOzsySEE1UlUsNkJBQTZCOytHQUE3Qiw2QkFBNkIsMHlCQUg3Qiw2QkFBNkIsQ0FBQyw2QkFBNkIsQ0FBQyxpRENoQnpFLDJ3R0F1RUE7NEZEcERhLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkIsNkJBQTZCLCtCQUErQixtQkFDdEQsdUJBQXVCLENBQUMsTUFBTTswRUFrQnhDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFRQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBUUMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQU9DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBUUMsYUFBYTtzQkFEbkIsS0FBSztnQkFxQ0ssY0FBYztzQkFEeEIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVVLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSztnQkFVSyxVQUFVO3NCQURwQixNQUFNO2dCQVlJLElBQUk7c0JBRGQsS0FBSztnQkFXSyxpQkFBaUI7c0JBRDNCLE1BQU07Z0JBWUksV0FBVztzQkFEckIsS0FBSztnQkFTSyxnQkFBZ0I7c0JBRDFCLE1BQU07Z0JBWUksVUFBVTtzQkFEcEIsS0FBSztnQkFTSyxpQkFBaUI7c0JBRDNCLE1BQU07Z0JBWUksV0FBVztzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7YnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnMsIFRlbXBsYXRlQ29tcG9zaXRlQ29udHJvbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtGbG9hdExhYmVsVHlwZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge0RpbWVuc2lvbnN9IGZyb20gJy4uL21vZGVsL2RpbWVuc2lvbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1VuaXR9IGZyb20gJy4uL21vZGVsL3VuaXQnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRBcHBlYXJhbmNlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUvY29tbW9uLWJlaGF2aW9ycy9jb2xvcic7XG5pbXBvcnQge2NvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItZGltZW5zaW9ucy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1kaW1lbnNpb25zLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IGJ1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzKEVsZGVyRGltZW5zaW9uc0lucHV0Q29tcG9uZW50KSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEaW1lbnNpb25zSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBUZW1wbGF0ZUNvbXBvc2l0ZUNvbnRyb2w8RGltZW5zaW9ucz4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXF1aXJlZExlbmd0aCA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXF1aXJlZFdpZHRoID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlcXVpcmVkSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXJMZW5ndGg6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXJXaWR0aDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlckhlaWdodDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmeExheW91dDogJ2NvbHVtbicgfCAncm93JyA9ICdyb3cnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmeExheW91dEdhcDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYWx3YXlzIGZsb2F0ICgnYWx3YXlzJyksIG5ldmVyIGZsb2F0ICgnbmV2ZXInKVxuICAgKiBvciBmbG9hdCBhcyB0aGUgdXNlciB0eXBlcyAoJ2F1dG8nKS4gRGVmYXVsdHMgdG8gJ2F1dG8nLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW46IHN0cmluZyB8IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdlYXRoZXIgdGhlIG51bWJlciAwIHNob3VsZCByZXN1bHQgaW4gdmFsaWQgJ3JlcXVpcmVkJyB2YWxpZGF0aW9uIG9yIG5vdC5cbiAgICogSWYgdHJ1ZSwgdGhlIG51bWJlciAwIHdpbGwgYmUgaWdub3JlZCBhcyBpbnB1dCB3aGVuIHRoZSAncmVxdWlyZWQnIGRpcmVjdGl2ZSBpcyBhY3RpdmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcmVxdWlyZWRJZ25vcmVaZXJvID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE9ubHkgYWxsb3cgYSBtdWx0aXBsZSBvZiB0aGUgZ2l2ZW4gbnVtYmVyIHRvIGJlIGEgdmFsaWQgcXVhbnRpdHkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbXVsdGlwbGVPZjogbnVtYmVyIHwgbnVtYmVyW10gPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IGZvcm1hdCBmb3IgdGhlIHF1YW50aXR5IHZhbHVlOlxuICAgKiB7bWluSW50ZWdlckRpZ2l0c30ue21pbkZyYWN0aW9uRGlnaXRzfS17bWF4RnJhY3Rpb25EaWdpdHN9XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzcGxheUZvcm1hdDogc3RyaW5nID0gbnVsbDtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGZ4TGF5b3V0R2FwSW50ZXJuYWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5meExheW91dEdhcFxuICAgICAgPyB0aGlzLmZ4TGF5b3V0R2FwXG4gICAgICA6IHRoaXMuZnhMYXlvdXQgPT09ICdyb3cnXG4gICAgICAgID8gJzEycHgnXG4gICAgICAgIDogJzBweCc7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkTGVuZ3RoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWRMZW5ndGggPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXF1aXJlZExlbmd0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRMZW5ndGg7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkV2lkdGgodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZFdpZHRoID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWRXaWR0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRXaWR0aDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVxdWlyZWRIZWlnaHQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZEhlaWdodCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkSGVpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZEhlaWdodDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHVuaXRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxVbml0IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICBtYXAoZCA9PiBkPy51bml0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVuaXQoKTogVW5pdCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LnVuaXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHVuaXQodW5pdDogVW5pdCkge1xuICAgIHRoaXMudmFsdWUgPSBEaW1lbnNpb25zLmZyb20oXG4gICAgICB1bml0LFxuICAgICAgdGhpcy52YWx1ZT8ubGVuZ3RoLFxuICAgICAgdGhpcy52YWx1ZT8ud2lkdGgsXG4gICAgICB0aGlzLnZhbHVlPy5oZWlnaHRcbiAgICApO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgbGVuZ3RoVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShcbiAgICAgIG1hcChkID0+IGQ/Lmxlbmd0aClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBsZW5ndGhWYWx1ZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8ubGVuZ3RoO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsZW5ndGhWYWx1ZShsZW5ndGhWYWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIGlmIChsZW5ndGhWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZGltZW5zaW9uc09mTGVuZ3RoKGxlbmd0aFZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHdpZHRoVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShcbiAgICAgIG1hcChkID0+IGQ/LndpZHRoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdpZHRoVmFsdWUoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LndpZHRoO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB3aWR0aFZhbHVlKHdpZHRoVmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAod2lkdGhWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZGltZW5zaW9uc09mV2lkdGgod2lkdGhWYWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBoZWlnaHRWYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKGQgPT4gZD8uaGVpZ2h0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhlaWdodFZhbHVlKCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5oZWlnaHQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGhlaWdodFZhbHVlKGhlaWdodFZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKGhlaWdodFZhbHVlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdGhpcy5kaW1lbnNpb25zT2ZIZWlnaHQoaGVpZ2h0VmFsdWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uTGVuZ3RoVmFsdWVDaGFuZ2VkKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZGltZW5zaW9uc09mTGVuZ3RoKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgb25XaWR0aFZhbHVlQ2hhbmdlZCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmRpbWVuc2lvbnNPZldpZHRoKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgb25IZWlnaHRWYWx1ZUNoYW5nZWQodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5kaW1lbnNpb25zT2ZIZWlnaHQodmFsdWUpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogRGltZW5zaW9ucywgYjogRGltZW5zaW9ucyk6IGJvb2xlYW4ge1xuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGE/Lmxlbmd0aCA9PT0gYj8ubGVuZ3RoXG4gICAgICAmJiBhPy53aWR0aCA9PT0gYj8ud2lkdGhcbiAgICAgICYmIGE/LmhlaWdodCA9PT0gYj8uaGVpZ2h0XG4gICAgICAmJiBhPy51bml0ID09PSBiPy51bml0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBkaW1lbnNpb25zT2ZMZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiBEaW1lbnNpb25zLmZyb20oXG4gICAgICB0aGlzLnVuaXQsXG4gICAgICB2YWx1ZSxcbiAgICAgIHRoaXMud2lkdGhWYWx1ZSxcbiAgICAgIHRoaXMuaGVpZ2h0VmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaW1lbnNpb25zT2ZXaWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIERpbWVuc2lvbnMuZnJvbShcbiAgICAgIHRoaXMudW5pdCxcbiAgICAgIHRoaXMubGVuZ3RoVmFsdWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIHRoaXMuaGVpZ2h0VmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaW1lbnNpb25zT2ZIZWlnaHQodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiBEaW1lbnNpb25zLmZyb20oXG4gICAgICB0aGlzLnVuaXQsXG4gICAgICB0aGlzLmxlbmd0aFZhbHVlLFxuICAgICAgdGhpcy53aWR0aFZhbHVlLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG5cblxuXG59XG4iLCJcbjxmb3JtICNmb3JtPVwibmdGb3JtXCIgZnhGbGV4XG4gICAgICBbZnhMYXlvdXRdPVwiZnhMYXlvdXRcIlxuICAgICAgW2Z4TGF5b3V0R2FwXT1cImZ4TGF5b3V0R2FwSW50ZXJuYWxcIj5cblxuICAgIDxlbGRlci1xdWFudGl0eS1pbnB1dCBmeEZsZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICctbGVuZ3RoJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWFudGl0eVZhbHVlXT1cImxlbmd0aFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHF1YW50aXR5VmFsdWVDaGFuZ2UpPVwib25MZW5ndGhWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt1bml0XT1cInVuaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWZvcm0tZmllbGQtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZvcm1hdF09XCJkaXNwbGF5Rm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZWhvbGRlckxlbmd0aCA/IHBsYWNlaG9sZGVyTGVuZ3RoIDogJ2RpbWVuc2lvbnMubGVuZ3RoJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZElnbm9yZVplcm9dPVwicmVxdWlyZWRJZ25vcmVaZXJvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlT2ZdPVwibXVsdGlwbGVPZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICA8L2VsZGVyLXF1YW50aXR5LWlucHV0PlxuXG4gICAgPGVsZGVyLXF1YW50aXR5LWlucHV0IGZ4RmxleFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJy13aWR0aCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcXVhbnRpdHlWYWx1ZV09XCJ3aWR0aFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHF1YW50aXR5VmFsdWVDaGFuZ2UpPVwib25XaWR0aFZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuaXRdPVwidW5pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWxkZXItZm9ybS1maWVsZC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5Rm9ybWF0XT1cImRpc3BsYXlGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyV2lkdGggPyBwbGFjZWhvbGRlcldpZHRoIDogJ2RpbWVuc2lvbnMud2lkdGgnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkSWdub3JlWmVyb109XCJyZXF1aXJlZElnbm9yZVplcm9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVPZl09XCJtdWx0aXBsZU9mXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICA+XG4gICAgPC9lbGRlci1xdWFudGl0eS1pbnB1dD5cblxuICAgIDxlbGRlci1xdWFudGl0eS1pbnB1dCBmeEZsZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICctaGVpZ2h0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWFudGl0eVZhbHVlXT1cImhlaWdodFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHF1YW50aXR5VmFsdWVDaGFuZ2UpPVwib25IZWlnaHRWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt1bml0XT1cInVuaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWZvcm0tZmllbGQtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZvcm1hdF09XCJkaXNwbGF5Rm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZWhvbGRlckhlaWdodCA/IHBsYWNlaG9sZGVySGVpZ2h0IDogJ2RpbWVuc2lvbnMuaGVpZ2h0JykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZElnbm9yZVplcm9dPVwicmVxdWlyZWRJZ25vcmVaZXJvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlT2ZdPVwibXVsdGlwbGVPZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICA8L2VsZGVyLXF1YW50aXR5LWlucHV0PlxuXG48L2Zvcm0+XG5cblxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2RpbWVuc2lvbnMtaW5wdXQvZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2RpbWVuc2lvbnMtaW5wdXQvZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLDZCQUE2QixFQUFFLHdCQUF3QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDekgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQVU1RCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsd0JBQW9DO0lBd0VyRjs7OztnRkFJNEU7SUFFNUU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTdFVjs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdB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QUFDOzswSEE1UlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsMHlCQUg3Qiw2QkFBNkIsQ0FBQyw2QkFBNkIsQ0FBQyxpRENmekUsMndHQXVFQTsyRkRyRGEsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qiw2QkFBNkIsK0JBQStCLG1CQUN0RCx1QkFBdUIsQ0FBQyxNQUFNOzBFQWtCeEMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQVFDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFRQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBT0MsVUFBVTtzQkFEaEIsS0FBSztnQkFRQyxhQUFhO3NCQURuQixLQUFLO2dCQXFDSyxjQUFjO3NCQUR4QixLQUFLO2dCQVVLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUssY0FBYztzQkFEeEIsS0FBSztnQkFVSyxRQUFRO3NCQURsQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLE1BQU07Z0JBWUksSUFBSTtzQkFEZCxLQUFLO2dCQVdLLGlCQUFpQjtzQkFEM0IsTUFBTTtnQkFZSSxXQUFXO3NCQURyQixLQUFLO2dCQVNLLGdCQUFnQjtzQkFEMUIsTUFBTTtnQkFZSSxVQUFVO3NCQURwQixLQUFLO2dCQVNLLGlCQUFpQjtzQkFEM0IsTUFBTTtnQkFZSSxXQUFXO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVycywgVGVtcGxhdGVDb21wb3NpdGVDb250cm9sfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvdGVtcGxhdGUtY29tcG9zaXRlLWNvbnRyb2wnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0Zsb2F0TGFiZWxUeXBlLCBNYXRGb3JtRmllbGRBcHBlYXJhbmNlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7RGltZW5zaW9uc30gZnJvbSAnLi4vbW9kZWwvZGltZW5zaW9ucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VW5pdH0gZnJvbSAnLi4vbW9kZWwvdW5pdCc7XG5pbXBvcnQge2NvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItZGltZW5zaW9ucy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1kaW1lbnNpb25zLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IGJ1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzKEVsZGVyRGltZW5zaW9uc0lucHV0Q29tcG9uZW50KSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEaW1lbnNpb25zSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBUZW1wbGF0ZUNvbXBvc2l0ZUNvbnRyb2w8RGltZW5zaW9ucz4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXF1aXJlZExlbmd0aCA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXF1aXJlZFdpZHRoID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlcXVpcmVkSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXJMZW5ndGg6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXJXaWR0aDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlckhlaWdodDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmeExheW91dDogJ2NvbHVtbicgfCAncm93JyA9ICdyb3cnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmeExheW91dEdhcDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYWx3YXlzIGZsb2F0ICgnYWx3YXlzJyksIG5ldmVyIGZsb2F0ICgnbmV2ZXInKVxuICAgKiBvciBmbG9hdCBhcyB0aGUgdXNlciB0eXBlcyAoJ2F1dG8nKS4gRGVmYXVsdHMgdG8gJ2F1dG8nLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW46IHN0cmluZyB8IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdlYXRoZXIgdGhlIG51bWJlciAwIHNob3VsZCByZXN1bHQgaW4gdmFsaWQgJ3JlcXVpcmVkJyB2YWxpZGF0aW9uIG9yIG5vdC5cbiAgICogSWYgdHJ1ZSwgdGhlIG51bWJlciAwIHdpbGwgYmUgaWdub3JlZCBhcyBpbnB1dCB3aGVuIHRoZSAncmVxdWlyZWQnIGRpcmVjdGl2ZSBpcyBhY3RpdmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcmVxdWlyZWRJZ25vcmVaZXJvID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE9ubHkgYWxsb3cgYSBtdWx0aXBsZSBvZiB0aGUgZ2l2ZW4gbnVtYmVyIHRvIGJlIGEgdmFsaWQgcXVhbnRpdHkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbXVsdGlwbGVPZjogbnVtYmVyIHwgbnVtYmVyW10gPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IGZvcm1hdCBmb3IgdGhlIHF1YW50aXR5IHZhbHVlOlxuICAgKiB7bWluSW50ZWdlckRpZ2l0c30ue21pbkZyYWN0aW9uRGlnaXRzfS17bWF4RnJhY3Rpb25EaWdpdHN9XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzcGxheUZvcm1hdDogc3RyaW5nID0gbnVsbDtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGZ4TGF5b3V0R2FwSW50ZXJuYWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5meExheW91dEdhcFxuICAgICAgPyB0aGlzLmZ4TGF5b3V0R2FwXG4gICAgICA6IHRoaXMuZnhMYXlvdXQgPT09ICdyb3cnXG4gICAgICAgID8gJzEycHgnXG4gICAgICAgIDogJzBweCc7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkTGVuZ3RoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWRMZW5ndGggPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXF1aXJlZExlbmd0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRMZW5ndGg7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkV2lkdGgodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZFdpZHRoID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWRXaWR0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRXaWR0aDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVxdWlyZWRIZWlnaHQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZEhlaWdodCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkSGVpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZEhlaWdodDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHVuaXRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxVbml0IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICBtYXAoZCA9PiBkPy51bml0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVuaXQoKTogVW5pdCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LnVuaXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHVuaXQodW5pdDogVW5pdCkge1xuICAgIHRoaXMudmFsdWUgPSBEaW1lbnNpb25zLmZyb20oXG4gICAgICB1bml0LFxuICAgICAgdGhpcy52YWx1ZT8ubGVuZ3RoLFxuICAgICAgdGhpcy52YWx1ZT8ud2lkdGgsXG4gICAgICB0aGlzLnZhbHVlPy5oZWlnaHRcbiAgICApO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgbGVuZ3RoVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShcbiAgICAgIG1hcChkID0+IGQ/Lmxlbmd0aClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBsZW5ndGhWYWx1ZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8ubGVuZ3RoO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsZW5ndGhWYWx1ZShsZW5ndGhWYWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIGlmIChsZW5ndGhWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZGltZW5zaW9uc09mTGVuZ3RoKGxlbmd0aFZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHdpZHRoVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShcbiAgICAgIG1hcChkID0+IGQ/LndpZHRoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdpZHRoVmFsdWUoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LndpZHRoO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB3aWR0aFZhbHVlKHdpZHRoVmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAod2lkdGhWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZGltZW5zaW9uc09mV2lkdGgod2lkdGhWYWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBoZWlnaHRWYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKGQgPT4gZD8uaGVpZ2h0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhlaWdodFZhbHVlKCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5oZWlnaHQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGhlaWdodFZhbHVlKGhlaWdodFZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKGhlaWdodFZhbHVlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdGhpcy5kaW1lbnNpb25zT2ZIZWlnaHQoaGVpZ2h0VmFsdWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uTGVuZ3RoVmFsdWVDaGFuZ2VkKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZGltZW5zaW9uc09mTGVuZ3RoKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgb25XaWR0aFZhbHVlQ2hhbmdlZCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmRpbWVuc2lvbnNPZldpZHRoKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgb25IZWlnaHRWYWx1ZUNoYW5nZWQodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5kaW1lbnNpb25zT2ZIZWlnaHQodmFsdWUpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogRGltZW5zaW9ucywgYjogRGltZW5zaW9ucyk6IGJvb2xlYW4ge1xuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGE/Lmxlbmd0aCA9PT0gYj8ubGVuZ3RoXG4gICAgICAmJiBhPy53aWR0aCA9PT0gYj8ud2lkdGhcbiAgICAgICYmIGE/LmhlaWdodCA9PT0gYj8uaGVpZ2h0XG4gICAgICAmJiBhPy51bml0ID09PSBiPy51bml0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBkaW1lbnNpb25zT2ZMZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiBEaW1lbnNpb25zLmZyb20oXG4gICAgICB0aGlzLnVuaXQsXG4gICAgICB2YWx1ZSxcbiAgICAgIHRoaXMud2lkdGhWYWx1ZSxcbiAgICAgIHRoaXMuaGVpZ2h0VmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaW1lbnNpb25zT2ZXaWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIERpbWVuc2lvbnMuZnJvbShcbiAgICAgIHRoaXMudW5pdCxcbiAgICAgIHRoaXMubGVuZ3RoVmFsdWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIHRoaXMuaGVpZ2h0VmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaW1lbnNpb25zT2ZIZWlnaHQodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiBEaW1lbnNpb25zLmZyb20oXG4gICAgICB0aGlzLnVuaXQsXG4gICAgICB0aGlzLmxlbmd0aFZhbHVlLFxuICAgICAgdGhpcy53aWR0aFZhbHVlLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG5cblxuXG59XG4iLCJcbjxmb3JtICNmb3JtPVwibmdGb3JtXCIgZnhGbGV4XG4gICAgICBbZnhMYXlvdXRdPVwiZnhMYXlvdXRcIlxuICAgICAgW2Z4TGF5b3V0R2FwXT1cImZ4TGF5b3V0R2FwSW50ZXJuYWxcIj5cblxuICAgIDxlbGRlci1xdWFudGl0eS1pbnB1dCBmeEZsZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICctbGVuZ3RoJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWFudGl0eVZhbHVlXT1cImxlbmd0aFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHF1YW50aXR5VmFsdWVDaGFuZ2UpPVwib25MZW5ndGhWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt1bml0XT1cInVuaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWZvcm0tZmllbGQtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZvcm1hdF09XCJkaXNwbGF5Rm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZWhvbGRlckxlbmd0aCA/IHBsYWNlaG9sZGVyTGVuZ3RoIDogJ2RpbWVuc2lvbnMubGVuZ3RoJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZElnbm9yZVplcm9dPVwicmVxdWlyZWRJZ25vcmVaZXJvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlT2ZdPVwibXVsdGlwbGVPZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICA8L2VsZGVyLXF1YW50aXR5LWlucHV0PlxuXG4gICAgPGVsZGVyLXF1YW50aXR5LWlucHV0IGZ4RmxleFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJy13aWR0aCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcXVhbnRpdHlWYWx1ZV09XCJ3aWR0aFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHF1YW50aXR5VmFsdWVDaGFuZ2UpPVwib25XaWR0aFZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuaXRdPVwidW5pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWxkZXItZm9ybS1maWVsZC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5Rm9ybWF0XT1cImRpc3BsYXlGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyV2lkdGggPyBwbGFjZWhvbGRlcldpZHRoIDogJ2RpbWVuc2lvbnMud2lkdGgnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkSWdub3JlWmVyb109XCJyZXF1aXJlZElnbm9yZVplcm9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVPZl09XCJtdWx0aXBsZU9mXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICA+XG4gICAgPC9lbGRlci1xdWFudGl0eS1pbnB1dD5cblxuICAgIDxlbGRlci1xdWFudGl0eS1pbnB1dCBmeEZsZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICctaGVpZ2h0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWFudGl0eVZhbHVlXT1cImhlaWdodFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHF1YW50aXR5VmFsdWVDaGFuZ2UpPVwib25IZWlnaHRWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt1bml0XT1cInVuaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWZvcm0tZmllbGQtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZvcm1hdF09XCJkaXNwbGF5Rm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZWhvbGRlckhlaWdodCA/IHBsYWNlaG9sZGVySGVpZ2h0IDogJ2RpbWVuc2lvbnMuaGVpZ2h0JykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZElnbm9yZVplcm9dPVwicmVxdWlyZWRJZ25vcmVaZXJvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlT2ZdPVwibXVsdGlwbGVPZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICA8L2VsZGVyLXF1YW50aXR5LWlucHV0PlxuXG48L2Zvcm0+XG5cblxuIl19
@@ -49,9 +49,9 @@ export class ElderUnitSelectDirective {
49
49
  this.select.filters = [];
50
50
  }
51
51
  }
52
- ElderUnitSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderUnitSelectDirective, deps: [{ token: i1.ElderSelectComponent }, { token: i2.ElderUnitService }], target: i0.ɵɵFactoryTarget.Directive });
53
- ElderUnitSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.10", type: ElderUnitSelectDirective, selector: "[elderUnitSelect]", inputs: { unitDimension: "unitDimension", baseUnit: "baseUnit" }, ngImport: i0 });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderUnitSelectDirective, decorators: [{
52
+ ElderUnitSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderUnitSelectDirective, deps: [{ token: i1.ElderSelectComponent }, { token: i2.ElderUnitService }], target: i0.ɵɵFactoryTarget.Directive });
53
+ ElderUnitSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: ElderUnitSelectDirective, selector: "[elderUnitSelect]", inputs: { unitDimension: "unitDimension", baseUnit: "baseUnit" }, ngImport: i0 });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderUnitSelectDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  selector: '[elderUnitSelect]'
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImpo
61
61
  }], baseUnit: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdW5pdC1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUdqRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUs3RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE1BQTRCLEVBQzVCLFdBQTZCO1FBRDdCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUVyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDL0MsV0FBVyxDQUFDLGVBQWUsRUFBRSxFQUM3QixNQUFNLEVBQ04sUUFBUSxDQUFDLFFBQVEsRUFDakIsVUFBVSxDQUFDLFVBQVUsQ0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxhQUFhLENBQUMsYUFBNEI7UUFDbkQsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLFFBQWM7UUFDaEMsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsWUFBWTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7c0hBdERVLHdCQUF3QjswR0FBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7MElBOEJZLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9zZWxlY3QvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtFbGRlclVuaXRTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci11bml0LnNlcnZpY2UnO1xuaW1wb3J0IHtMb2NhbExpc3REYXRhU291cmNlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2xvY2FsL2xvY2FsLWxpc3QtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtVbml0fSBmcm9tICcuLi9tb2RlbC91bml0JztcbmltcG9ydCB7VW5pdERpbWVuc2lvbn0gZnJvbSAnLi4vbW9kZWwvdW5pdC1kaW1lbnNpb24nO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcic7XG5pbXBvcnQge1NvcnRVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvc29ydC11dGlsJztcbmltcG9ydCB7RmlsdGVyVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL2ZpbHRlci11dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyVW5pdFNlbGVjdF0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWxlY3Q6IEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgIHByaXZhdGUgdW5pdFNlcnZpY2U6IEVsZGVyVW5pdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWxlY3QucGxhY2Vob2xkZXIgPSAnY29udGV4dC51bml0JztcbiAgICB0aGlzLnNlbGVjdC5kaXNwbGF5UHJvcGVydHkgPSAndW5pdFN5bWJvbCc7XG4gICAgdGhpcy5zZWxlY3QuZGF0YVNvdXJjZSA9IExvY2FsTGlzdERhdGFTb3VyY2UuZnJvbShcbiAgICAgIHVuaXRTZXJ2aWNlLmdldEFsbFVuaXRJbmZvcygpLFxuICAgICAgJ3VuaXQnLFxuICAgICAgU29ydFV0aWwuc29ydERhdGEsXG4gICAgICBGaWx0ZXJVdGlsLmZpbHRlckRhdGFcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB1bml0RGltZW5zaW9uKHVuaXREaW1lbnNpb246IFVuaXREaW1lbnNpb24pIHtcbiAgICBpZiAodW5pdERpbWVuc2lvbikge1xuICAgICAgdGhpcy5zZWxlY3QuZmlsdGVycyA9IFtuZXcgRmlsdGVyKCdkaW1lbnNpb24nLCB1bml0RGltZW5zaW9uKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBiYXNlVW5pdChiYXNlVW5pdDogVW5pdCkge1xuICAgIGlmIChiYXNlVW5pdCkge1xuICAgICAgdGhpcy51bml0RGltZW5zaW9uID0gdGhpcy51bml0U2VydmljZS5nZXRVbml0RGltZW5zaW9uKGJhc2VVbml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldEZpbHRlcnMoKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnNlbGVjdC5maWx0ZXJzID0gW107XG4gIH1cblxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdW5pdC1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUdqRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUs3RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE1BQTRCLEVBQzVCLFdBQTZCO1FBRDdCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUVyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDL0MsV0FBVyxDQUFDLGVBQWUsRUFBRSxFQUM3QixNQUFNLEVBQ04sUUFBUSxDQUFDLFFBQVEsRUFDakIsVUFBVSxDQUFDLFVBQVUsQ0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxhQUFhLENBQUMsYUFBNEI7UUFDbkQsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLFFBQWM7UUFDaEMsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsWUFBWTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7cUhBdERVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7MElBOEJZLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9zZWxlY3QvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtFbGRlclVuaXRTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci11bml0LnNlcnZpY2UnO1xuaW1wb3J0IHtMb2NhbExpc3REYXRhU291cmNlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2xvY2FsL2xvY2FsLWxpc3QtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtVbml0fSBmcm9tICcuLi9tb2RlbC91bml0JztcbmltcG9ydCB7VW5pdERpbWVuc2lvbn0gZnJvbSAnLi4vbW9kZWwvdW5pdC1kaW1lbnNpb24nO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcic7XG5pbXBvcnQge1NvcnRVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvc29ydC11dGlsJztcbmltcG9ydCB7RmlsdGVyVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL2ZpbHRlci11dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyVW5pdFNlbGVjdF0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWxlY3Q6IEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgIHByaXZhdGUgdW5pdFNlcnZpY2U6IEVsZGVyVW5pdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWxlY3QucGxhY2Vob2xkZXIgPSAnY29udGV4dC51bml0JztcbiAgICB0aGlzLnNlbGVjdC5kaXNwbGF5UHJvcGVydHkgPSAndW5pdFN5bWJvbCc7XG4gICAgdGhpcy5zZWxlY3QuZGF0YVNvdXJjZSA9IExvY2FsTGlzdERhdGFTb3VyY2UuZnJvbShcbiAgICAgIHVuaXRTZXJ2aWNlLmdldEFsbFVuaXRJbmZvcygpLFxuICAgICAgJ3VuaXQnLFxuICAgICAgU29ydFV0aWwuc29ydERhdGEsXG4gICAgICBGaWx0ZXJVdGlsLmZpbHRlckRhdGFcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB1bml0RGltZW5zaW9uKHVuaXREaW1lbnNpb246IFVuaXREaW1lbnNpb24pIHtcbiAgICBpZiAodW5pdERpbWVuc2lvbikge1xuICAgICAgdGhpcy5zZWxlY3QuZmlsdGVycyA9IFtuZXcgRmlsdGVyKCdkaW1lbnNpb24nLCB1bml0RGltZW5zaW9uKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBiYXNlVW5pdChiYXNlVW5pdDogVW5pdCkge1xuICAgIGlmIChiYXNlVW5pdCkge1xuICAgICAgdGhpcy51bml0RGltZW5zaW9uID0gdGhpcy51bml0U2VydmljZS5nZXRVbml0RGltZW5zaW9uKGJhc2VVbml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldEZpbHRlcnMoKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnNlbGVjdC5maWx0ZXJzID0gW107XG4gIH1cblxufVxuIl19
@@ -21,8 +21,8 @@ export * from './directives/elder-unit-select.directive';
21
21
  export * from './dimensions-input/elder-dimensions-input.component';
22
22
  export class ElderMeasuresModule {
23
23
  }
24
- ElderMeasuresModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderMeasuresModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderMeasuresModule, declarations: [ElderQuantityInputComponent,
24
+ ElderMeasuresModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderMeasuresModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: ElderMeasuresModule, declarations: [ElderQuantityInputComponent,
26
26
  ElderQuantityPipe,
27
27
  ElderQuantityTransformPipe,
28
28
  ElderUnitSelectDirective,
@@ -43,25 +43,24 @@ ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
43
43
  ElderQuantityTransformPipe,
44
44
  ElderUnitSelectDirective,
45
45
  ElderDimensionsInputComponent] });
46
- ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderMeasuresModule, providers: [
46
+ ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderMeasuresModule, providers: [
47
47
  DecimalPipe,
48
48
  ElderQuantityPipe,
49
49
  ElderQuantityTransformPipe
50
- ], imports: [[
51
- // Angular
52
- CommonModule,
53
- RouterModule,
54
- FormsModule,
55
- // Third Party
56
- FlexLayoutModule,
57
- TranslateModule,
58
- // Angular Material
59
- MatIconModule,
60
- MatInputModule,
61
- // ElderByte
62
- ElderFormsDirectivesModule
63
- ]] });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderMeasuresModule, decorators: [{
50
+ ], imports: [
51
+ // Angular
52
+ CommonModule,
53
+ RouterModule,
54
+ FormsModule,
55
+ // Third Party
56
+ FlexLayoutModule,
57
+ TranslateModule,
58
+ // Angular Material
59
+ MatIconModule,
60
+ MatInputModule,
61
+ // ElderByte
62
+ ElderFormsDirectivesModule] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderMeasuresModule, decorators: [{
65
64
  type: NgModule,
66
65
  args: [{
67
66
  imports: [
@@ -104,12 +103,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImpo
104
103
  */
105
104
  export class ElderQuantityModule {
106
105
  }
107
- ElderQuantityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderQuantityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
108
- ElderQuantityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule], exports: [ElderMeasuresModule] });
109
- ElderQuantityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderQuantityModule, imports: [[
110
- ElderMeasuresModule
111
- ], ElderMeasuresModule] });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderQuantityModule, decorators: [{
106
+ ElderQuantityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderQuantityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
107
+ ElderQuantityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule], exports: [ElderMeasuresModule] });
108
+ ElderQuantityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule, ElderMeasuresModule] });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderQuantityModule, decorators: [{
113
110
  type: NgModule,
114
111
  args: [{
115
112
  imports: [
@@ -120,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImpo
120
117
  ],
121
118
  }]
122
119
  }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbWVhc3VyZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9lbGRlci1tZWFzdXJlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBRXBHLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHFEQUFxRCxDQUFDO0FBMENwRSxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBbkI1QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsNkJBQTZCO1FBdEI3QixVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBRVgsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixlQUFlO1FBRWYsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixjQUFjO1FBRWQsWUFBWTtRQUNaLDBCQUEwQixhQVcxQiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsNkJBQTZCO2tIQVFwQixtQkFBbUIsYUFObkI7UUFDVCxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLDBCQUEwQjtLQUMzQixZQXJDUTtZQUVQLFVBQVU7WUFDVixZQUFZO1lBQ1osWUFBWTtZQUNaLFdBQVc7WUFFWCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFFZixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGNBQWM7WUFFZCxZQUFZO1lBQ1osMEJBQTBCO1NBRTNCOzRGQXFCVSxtQkFBbUI7a0JBeEMvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFFUCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUVYLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUVmLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixjQUFjO3dCQUVkLFlBQVk7d0JBQ1osMEJBQTBCO3FCQUUzQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3dCQUMzQixpQkFBaUI7d0JBQ2pCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQiwwQkFBMEI7cUJBQzNCO2lCQUNGOztBQUlEOztHQUVHO0FBU0gsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLFlBZG5CLG1CQUFtQixhQUFuQixtQkFBbUI7a0hBY25CLG1CQUFtQixZQVByQjtZQUNQLG1CQUFtQjtTQUNwQixFQVRVLG1CQUFtQjs0RkFjbkIsbUJBQW1CO2tCQVIvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgRGVjaW1hbFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtGbGV4TGF5b3V0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJRdWFudGl0eUlucHV0Q29tcG9uZW50fSBmcm9tICcuL3F1YW50aXR5LWlucHV0L2VsZGVyLXF1YW50aXR5LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlQaXBlfSBmcm9tICcuL2VsZGVyLXF1YW50aXR5LnBpcGUnO1xuaW1wb3J0IHtFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZX0gZnJvbSAnLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3Jtcy1kaXJlY3RpdmVzLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlfSBmcm9tICcuL2VsZGVyLXF1YW50aXR5LXRyYW5zZm9ybS5waXBlJztcbmltcG9ydCB7RWxkZXJVbml0U2VsZWN0RGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxkZXItdW5pdC1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVsZGVyRGltZW5zaW9uc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kaW1lbnNpb25zLWlucHV0L2VsZGVyLWRpbWVuc2lvbnMtaW5wdXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1xdWFudGl0eS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWFudGl0eS1pbnB1dC9lbGRlci1xdWFudGl0eS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci11bml0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpbWVuc2lvbnMtaW5wdXQvZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG5cbiAgICAvLyBBbmd1bGFyXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcblxuICAgIC8vIFRoaXJkIFBhcnR5XG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICAvLyBBbmd1bGFyIE1hdGVyaWFsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcblxuICAgIC8vIEVsZGVyQnl0ZVxuICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlXG5cbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJRdWFudGl0eUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyUXVhbnRpdHlQaXBlLFxuICAgIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlLFxuICAgIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSxcbiAgICBFbGRlckRpbWVuc2lvbnNJbnB1dENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJRdWFudGl0eUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyUXVhbnRpdHlQaXBlLFxuICAgIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlLFxuICAgIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSxcbiAgICBFbGRlckRpbWVuc2lvbnNJbnB1dENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBEZWNpbWFsUGlwZSxcbiAgICBFbGRlclF1YW50aXR5UGlwZSxcbiAgICBFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck1lYXN1cmVzTW9kdWxlIHtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2Ugc3dpdGNoIHRvIHRoZSBFbGRlck1lYXN1cmVzTW9kdWxlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBFbGRlck1lYXN1cmVzTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbGRlck1lYXN1cmVzTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUXVhbnRpdHlNb2R1bGUge1xufVxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbWVhc3VyZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9lbGRlci1tZWFzdXJlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBRXBHLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHFEQUFxRCxDQUFDO0FBMENwRSxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBbkI1QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsNkJBQTZCO1FBdEI3QixVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBRVgsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixlQUFlO1FBRWYsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixjQUFjO1FBRWQsWUFBWTtRQUNaLDBCQUEwQixhQVcxQiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsNkJBQTZCO2lIQVFwQixtQkFBbUIsYUFObkI7UUFDVCxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLDBCQUEwQjtLQUMzQjtRQW5DQyxVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBRVgsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixlQUFlO1FBRWYsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixjQUFjO1FBRWQsWUFBWTtRQUNaLDBCQUEwQjsyRkF1QmpCLG1CQUFtQjtrQkF4Qy9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUVQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBRVgsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBRWYsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGNBQWM7d0JBRWQsWUFBWTt3QkFDWiwwQkFBMEI7cUJBRTNCO29CQUNELFlBQVksRUFBRTt3QkFDWiwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsNkJBQTZCO3FCQUM5QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLDBCQUEwQjtxQkFDM0I7aUJBQ0Y7O0FBSUQ7O0dBRUc7QUFTSCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsWUFkbkIsbUJBQW1CLGFBQW5CLG1CQUFtQjtpSEFjbkIsbUJBQW1CLFlBTjVCLG1CQUFtQixFQVJWLG1CQUFtQjsyRkFjbkIsbUJBQW1CO2tCQVIvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgRGVjaW1hbFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtGbGV4TGF5b3V0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJRdWFudGl0eUlucHV0Q29tcG9uZW50fSBmcm9tICcuL3F1YW50aXR5LWlucHV0L2VsZGVyLXF1YW50aXR5LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlQaXBlfSBmcm9tICcuL2VsZGVyLXF1YW50aXR5LnBpcGUnO1xuaW1wb3J0IHtFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZX0gZnJvbSAnLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3Jtcy1kaXJlY3RpdmVzLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlfSBmcm9tICcuL2VsZGVyLXF1YW50aXR5LXRyYW5zZm9ybS5waXBlJztcbmltcG9ydCB7RWxkZXJVbml0U2VsZWN0RGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxkZXItdW5pdC1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVsZGVyRGltZW5zaW9uc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kaW1lbnNpb25zLWlucHV0L2VsZGVyLWRpbWVuc2lvbnMtaW5wdXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1xdWFudGl0eS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWFudGl0eS1pbnB1dC9lbGRlci1xdWFudGl0eS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci11bml0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpbWVuc2lvbnMtaW5wdXQvZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG5cbiAgICAvLyBBbmd1bGFyXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcblxuICAgIC8vIFRoaXJkIFBhcnR5XG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICAvLyBBbmd1bGFyIE1hdGVyaWFsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcblxuICAgIC8vIEVsZGVyQnl0ZVxuICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlXG5cbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJRdWFudGl0eUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyUXVhbnRpdHlQaXBlLFxuICAgIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlLFxuICAgIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSxcbiAgICBFbGRlckRpbWVuc2lvbnNJbnB1dENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJRdWFudGl0eUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyUXVhbnRpdHlQaXBlLFxuICAgIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlLFxuICAgIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSxcbiAgICBFbGRlckRpbWVuc2lvbnNJbnB1dENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBEZWNpbWFsUGlwZSxcbiAgICBFbGRlclF1YW50aXR5UGlwZSxcbiAgICBFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck1lYXN1cmVzTW9kdWxlIHtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2Ugc3dpdGNoIHRvIHRoZSBFbGRlck1lYXN1cmVzTW9kdWxlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBFbGRlck1lYXN1cmVzTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbGRlck1lYXN1cmVzTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUXVhbnRpdHlNb2R1bGUge1xufVxuIl19
@@ -30,12 +30,12 @@ export class ElderQuantityTransformPipe {
30
30
  }
31
31
  }
32
32
  }
33
- ElderQuantityTransformPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderQuantityTransformPipe, deps: [{ token: i1.ElderQuantityService }], target: i0.ɵɵFactoryTarget.Pipe });
34
- ElderQuantityTransformPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderQuantityTransformPipe, name: "elderQuantityTransform" });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: ElderQuantityTransformPipe, decorators: [{
33
+ ElderQuantityTransformPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderQuantityTransformPipe, deps: [{ token: i1.ElderQuantityService }], target: i0.ɵɵFactoryTarget.Pipe });
34
+ ElderQuantityTransformPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: ElderQuantityTransformPipe, name: "elderQuantityTransform" });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ElderQuantityTransformPipe, decorators: [{
36
36
  type: Pipe,
37
37
  args: [{
38
38
  name: 'elderQuantityTransform'
39
39
  }]
40
40
  }], ctorParameters: function () { return [{ type: i1.ElderQuantityService }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2VsZGVyLXF1YW50aXR5LXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOzs7QUFRbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsZUFBcUM7UUFBckMsb0JBQWUsR0FBZixlQUFlLENBQXNCO0lBRXhELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsU0FBUyxDQUNkLFFBQWtCLEVBQ2xCLFlBQXFCLElBQUksRUFDekIsVUFBMEI7UUFFMUIsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQVEsVUFBVSxDQUFDLENBQUM7U0FDdkU7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7d0hBcENVLDBCQUEwQjtzSEFBMUIsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBSHRDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHdCQUF3QjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtRdWFudGl0eX0gZnJvbSAnLi9tb2RlbC9xdWFudGl0eSc7XG5pbXBvcnQge1VuaXR9IGZyb20gJy4vbW9kZWwvdW5pdCc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlTZXJ2aWNlfSBmcm9tICcuL3V0aWwvZWxkZXItcXVhbnRpdHkuc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YW50aXR5U2VydmljZTogRWxkZXJRdWFudGl0eVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIHF1YW50aXR5OiBRdWFudGl0eSxcbiAgICBub3JtYWxpemU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHRhcmdldFVuaXQ/OiBVbml0IHwgc3RyaW5nKTogUXVhbnRpdHkge1xuXG4gICAgaWYgKCFxdWFudGl0eSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucXVhbnRpdHlTZXJ2aWNlLm5vcm1hbGl6ZShxdWFudGl0eSk7XG4gICAgfSBlbHNlIGlmICghIXRhcmdldFVuaXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1YW50aXR5U2VydmljZS5jb252ZXJ0VG9Vbml0KHF1YW50aXR5LCA8VW5pdD50YXJnZXRVbml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHF1YW50aXR5O1xuICAgIH1cbiAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2VsZGVyLXF1YW50aXR5LXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOzs7QUFRbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsZUFBcUM7UUFBckMsb0JBQWUsR0FBZixlQUFlLENBQXNCO0lBRXhELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsU0FBUyxDQUNkLFFBQWtCLEVBQ2xCLFlBQXFCLElBQUksRUFDekIsVUFBMEI7UUFFMUIsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQVEsVUFBVSxDQUFDLENBQUM7U0FDdkU7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7dUhBcENVLDBCQUEwQjtxSEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHdCQUF3QjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtRdWFudGl0eX0gZnJvbSAnLi9tb2RlbC9xdWFudGl0eSc7XG5pbXBvcnQge1VuaXR9IGZyb20gJy4vbW9kZWwvdW5pdCc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlTZXJ2aWNlfSBmcm9tICcuL3V0aWwvZWxkZXItcXVhbnRpdHkuc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YW50aXR5U2VydmljZTogRWxkZXJRdWFudGl0eVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIHF1YW50aXR5OiBRdWFudGl0eSxcbiAgICBub3JtYWxpemU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHRhcmdldFVuaXQ/OiBVbml0IHwgc3RyaW5nKTogUXVhbnRpdHkge1xuXG4gICAgaWYgKCFxdWFudGl0eSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucXVhbnRpdHlTZXJ2aWNlLm5vcm1hbGl6ZShxdWFudGl0eSk7XG4gICAgfSBlbHNlIGlmICghIXRhcmdldFVuaXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1YW50aXR5U2VydmljZS5jb252ZXJ0VG9Vbml0KHF1YW50aXR5LCA8VW5pdD50YXJnZXRVbml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHF1YW50aXR5O1xuICAgIH1cbiAgfVxufVxuIl19