@elderbyte/ngx-starter 17.7.2 → 17.8.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 (251) hide show
  1. package/esm2022/lib/common/arrays.mjs +2 -2
  2. package/esm2022/lib/common/csv/csv-serializer.mjs +1 -1
  3. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +1 -1
  4. package/esm2022/lib/common/data/data-context/data-context-base.mjs +2 -2
  5. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +1 -1
  6. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +1 -1
  7. package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
  8. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +4 -4
  9. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +2 -2
  10. package/esm2022/lib/common/data/field-comparator.mjs +1 -1
  11. package/esm2022/lib/common/data/filters/filter-context.mjs +2 -2
  12. package/esm2022/lib/common/data/http-params-builder.mjs +2 -2
  13. package/esm2022/lib/common/data/required-filter-evaluator.mjs +5 -5
  14. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +11 -11
  15. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +1 -1
  16. package/esm2022/lib/common/forms/elder-from-field-base.mjs +1 -1
  17. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +1 -1
  18. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +1 -1
  19. package/esm2022/lib/common/forms/form-field-base.component.mjs +1 -1
  20. package/esm2022/lib/common/forms/multi-model-base.component.mjs +1 -1
  21. package/esm2022/lib/common/forms/template-composite-control.mjs +2 -3
  22. package/esm2022/lib/common/forms/value-accessor-base.mjs +1 -1
  23. package/esm2022/lib/common/http/http-client-builder.service.mjs +1 -1
  24. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +1 -1
  25. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +1 -1
  26. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +1 -1
  27. package/esm2022/lib/common/time/interval.mjs +6 -6
  28. package/esm2022/lib/common/time/period-duration.mjs +1 -1
  29. package/esm2022/lib/common/url/elder-router.service.mjs +1 -1
  30. package/esm2022/lib/common/utils/ng-zone-utils.mjs +1 -1
  31. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +1 -1
  32. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +1 -1
  33. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +1 -1
  34. package/esm2022/lib/components/auditing/elder-audit.module.mjs +1 -1
  35. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +1 -1
  36. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  37. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +5 -9
  38. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +1 -1
  39. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -9
  40. package/esm2022/lib/components/card-organizer/card-stack.mjs +1 -1
  41. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +1 -1
  42. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +1 -1
  43. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +6 -6
  44. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +1 -1
  45. package/esm2022/lib/components/chips/elder-chips.module.mjs +1 -1
  46. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +1 -1
  47. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +1 -1
  48. package/esm2022/lib/components/containers/elder-containers.module.mjs +1 -1
  49. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +1 -1
  50. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +1 -1
  51. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +1 -1
  52. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +1 -1
  53. package/esm2022/lib/components/csv/elder-csv.module.mjs +1 -1
  54. package/esm2022/lib/components/currency/elder-currency.module.mjs +1 -1
  55. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +1 -1
  56. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +1 -1
  57. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +1 -1
  58. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +1 -1
  59. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +1 -1
  60. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +1 -1
  61. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +1 -1
  62. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +1 -1
  63. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +1 -1
  64. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +2 -2
  65. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +1 -1
  66. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +1 -1
  67. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +1 -1
  68. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +1 -1
  69. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +1 -1
  70. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +2 -2
  71. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
  72. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +1 -1
  73. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +1 -1
  74. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +1 -1
  75. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +1 -1
  76. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +1 -1
  77. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +1 -1
  78. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +1 -1
  79. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +1 -1
  80. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +1 -1
  81. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +1 -1
  82. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +1 -1
  83. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +1 -1
  84. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
  85. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +1 -1
  86. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +1 -1
  87. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +1 -1
  88. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +1 -1
  89. package/esm2022/lib/components/errors/elder-error.module.mjs +1 -1
  90. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +1 -1
  91. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +1 -1
  92. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +1 -1
  93. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +1 -1
  94. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +1 -1
  95. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +1 -1
  96. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +1 -1
  97. package/esm2022/lib/components/files/elder-file.module.mjs +1 -1
  98. package/esm2022/lib/components/files/file-select/file-select.component.mjs +1 -1
  99. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +1 -1
  100. package/esm2022/lib/components/files/listing/file-entry.mjs +2 -2
  101. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +1 -1
  102. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +1 -1
  103. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +1 -1
  104. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +1 -1
  105. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +1 -1
  106. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +1 -1
  107. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +1 -1
  108. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +1 -1
  109. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +1 -1
  110. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +1 -1
  111. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +1 -1
  112. package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
  113. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +1 -1
  114. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +1 -1
  115. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  116. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +2 -2
  117. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +1 -1
  118. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -5
  119. package/esm2022/lib/components/forms/search/elder-search.module.mjs +23 -23
  120. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +1 -1
  121. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +1 -1
  122. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +1 -1
  123. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +1 -1
  124. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +1 -1
  125. package/esm2022/lib/components/headers/elder-header.module.mjs +1 -1
  126. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +1 -1
  127. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +1 -1
  128. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +1 -1
  129. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +1 -1
  130. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +1 -1
  131. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +1 -1
  132. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +1 -1
  133. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +1 -1
  134. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +1 -1
  135. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +1 -1
  136. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +1 -1
  137. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +1 -1
  138. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +1 -1
  139. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +1 -1
  140. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +2 -2
  141. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +1 -1
  142. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +1 -1
  143. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +2 -2
  144. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +1 -1
  145. package/esm2022/lib/components/iframes/typed-event-message.mjs +2 -2
  146. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +1 -1
  147. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +1 -1
  148. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +1 -1
  149. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +1 -1
  150. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +1 -1
  151. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +1 -1
  152. package/esm2022/lib/components/labels/elder-labels.module.mjs +1 -1
  153. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +9 -17
  154. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +1 -1
  155. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +1 -1
  156. package/esm2022/lib/components/measures/elder-measures.module.mjs +1 -1
  157. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
  158. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +1 -1
  159. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +1 -1
  160. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +1 -1
  161. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +1 -1
  162. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +1 -1
  163. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +1 -1
  164. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +1 -1
  165. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +1 -1
  166. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +1 -1
  167. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +1 -1
  168. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +1 -1
  169. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +1 -1
  170. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +1 -1
  171. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +1 -1
  172. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +1 -1
  173. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +1 -1
  174. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +1 -1
  175. package/esm2022/lib/components/panels/elder-panel.module.mjs +1 -1
  176. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +1 -1
  177. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +1 -1
  178. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
  179. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +1 -1
  180. package/esm2022/lib/components/select/elder-select-base.mjs +1 -1
  181. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +1 -1
  182. package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
  183. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +3 -3
  184. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +2 -2
  185. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +3 -3
  186. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +24 -24
  187. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +1 -1
  188. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +1 -1
  189. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +6 -6
  190. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +1 -1
  191. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +2 -3
  192. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +1 -1
  193. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +1 -1
  194. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
  195. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +1 -1
  196. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +1 -1
  197. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +1 -1
  198. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +1 -1
  199. package/esm2022/lib/components/shell/elder-shell.module.mjs +1 -1
  200. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +1 -1
  201. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +1 -1
  202. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +1 -1
  203. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +1 -1
  204. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  205. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +1 -1
  206. package/esm2022/lib/components/theme/elder-theme.module.mjs +1 -1
  207. package/esm2022/lib/components/theme/elder-theme.service.mjs +1 -1
  208. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
  209. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +5 -5
  210. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +1 -1
  211. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +1 -1
  212. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +2 -2
  213. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +73 -21
  214. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +1 -1
  215. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +1 -1
  216. package/esm2022/lib/components/time/elder-time.module.mjs +1 -1
  217. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +1 -1
  218. package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
  219. package/esm2022/lib/components/time/period/period-format.mjs +1 -1
  220. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +1 -1
  221. package/esm2022/lib/components/toasts/elder-toast.module.mjs +1 -1
  222. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +1 -1
  223. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  224. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +1 -1
  225. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +23 -25
  226. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +1 -1
  227. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
  228. package/esm2022/lib/features/kafent/kafent.module.mjs +1 -1
  229. package/esm2022/lib/pipes/bytes.pipe.mjs +1 -1
  230. package/esm2022/lib/pipes/elder-pipes.module.mjs +1 -1
  231. package/esm2022/lib/pipes/elder-round.pipe.mjs +1 -1
  232. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +1 -1
  233. package/esm2022/lib/pipes/iso-duration.pipe.mjs +1 -1
  234. package/esm2022/lib/pipes/weight.pipe.mjs +1 -1
  235. package/fesm2022/elderbyte-ngx-starter.mjs +162 -133
  236. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  237. package/lib/common/data/filters/filter-context.d.ts +1 -1
  238. package/lib/common/data/required-filter-evaluator.d.ts +3 -3
  239. package/lib/common/enums/elder-enum-translation.service.d.ts +3 -3
  240. package/lib/components/badge/elder-badge/elder-badge.component.d.ts +1 -1
  241. package/lib/components/forms/search/elder-search.module.d.ts +5 -5
  242. package/lib/components/scrollbar/elder-scrollbar.directive.d.ts +1 -1
  243. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  244. package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +4 -4
  245. package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +12 -12
  246. package/lib/components/select/multi/elder-mutli-select-all-directive.d.ts +2 -2
  247. package/lib/components/select/single/elder-select/elder-select.component.d.ts +2 -2
  248. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +1 -1
  249. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +16 -6
  250. package/lib/features/event-source/fetch/reactive-fetch-event-source.d.ts +11 -10
  251. package/package.json +1 -1
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
23
23
  ElderInfiniteAutocompleteDirective]
24
24
  }]
25
25
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFN0YsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFXM0YsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCOytHQUF6Qix5QkFBeUIsWUFIeEIsWUFBWSxFQUFFLDRCQUE0QjtZQUNoRCxrQ0FBa0MsYUFKbEMsNEJBQTRCO1lBQzVCLGtDQUFrQzsrR0FLN0IseUJBQXlCLFlBSHhCLFlBQVk7OzJGQUdiLHlCQUF5QjtrQkFSckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsNEJBQTRCO3dCQUM1QixrQ0FBa0M7cUJBQ3JDO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSw0QkFBNEI7d0JBQ2hELGtDQUFrQyxDQUFDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVsZGVySW5maW5pdGVBdXRvY29tcGxldGVEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWluZmluaXRlLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVySW5maW5pdGVBdXRvY29tcGxldGVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItaW5maW5pdGUtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEVsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVySW5maW5pdGVBdXRvY29tcGxldGVEaXJlY3RpdmVcbiAgICBdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEVsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVySW5maW5pdGVBdXRvY29tcGxldGVEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVySW5maW5pdGVTY3JvbGxNb2R1bGUgeyB9XG5cblxuXG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFM0YsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFXM0YsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCOytHQUF6Qix5QkFBeUIsWUFIeEIsWUFBWSxFQUFFLDRCQUE0QjtZQUNoRCxrQ0FBa0MsYUFKbEMsNEJBQTRCO1lBQzVCLGtDQUFrQzsrR0FLN0IseUJBQXlCLFlBSHhCLFlBQVk7OzJGQUdiLHlCQUF5QjtrQkFSckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsNEJBQTRCO3dCQUM1QixrQ0FBa0M7cUJBQ3JDO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSw0QkFBNEI7d0JBQ2hELGtDQUFrQyxDQUFDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1pbmZpbml0ZS1hdXRvY29tcGxldGUuZGlyZWN0aXZlJztcblxuZXhwb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWluZmluaXRlLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlIHsgfVxuXG5cblxuIl19
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
183
183
  }], displayPropertyResolver: [{
184
184
  type: Input
185
185
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWtCLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFlLHdCQUF3QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDekcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFakUsT0FBTyxFQUFDLGVBQWUsRUFBK0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVB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Q2hpbGQsIElucHV0LCBOZ1pvbmUsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0LCBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge2ZpbHRlciwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge3J1bkluWm9uZX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL25nLXpvbmUtdXRpbHMnO1xuaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1zdGF0dXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL3NlbGVjdC9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUtb3B0aW9uLXNlbGVjdGVkJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5cbnR5cGUgVGV4dFJlc29sdmVyRm4gPSAodmFsdWU6IGFueSkgPT4gc3RyaW5nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLWF1dG9jb21wbGV0ZScsXG4gICAgZXhwb3J0QXM6ICdlbGRlckF1dG9jb21wbGV0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWF0QXV0b2NvbXBsZXRlLCBFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlLCBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLCBOZ0lmLCBNYXRPcHRpb24sIE1hdEljb24sIE5nRm9yLCBOZ1RlbXBsYXRlT3V0bGV0LCBNYXRQcm9ncmVzc0JhciwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudDxUID0gYW55LCBUSWQgPSBhbnk+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqXG4gICAqIElzIHRoaXMgYXV0by1jb21wbGV0ZSBlbmFibGVkP1xuICAgKi9cbiAgcHJpdmF0ZSBfZW5hYmxlZCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSB0ZW1wbGF0ZSB0byBjdXN0b21pemUgdGhlIHVpIGxvb2suXG4gICAqL1xuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHZhbHVlVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfdmFsdWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgTWF0ZXJpYWwgQXV0b2NvbXBsZXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWF0QXV0b2NvbXBsZXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF0QXV0b2NvbXBsZXRlPihudWxsKTtcblxuICBAVmlld0NoaWxkKCdhdXRvJylcbiAgcHVibGljIHNldCBtYXRBdXRvY29tcGxldGUoYXV0bzogTWF0QXV0b2NvbXBsZXRlKSB7XG4gICAgdGhpcy5tYXRBdXRvY29tcGxldGUkLm5leHQoYXV0byk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNPcHRpb25EaXNhYmxlZEZuOiAob3B0aW9uOiBUKSA9PiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkhpZGRlbkZuOiAob3B0aW9uOiBUKSA9PiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25WYWx1ZUNvbnZlcnRlckZuOiAob3B0aW9uOiBUKSA9PiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSBEYXRhQ29udGV4dCB3aGljaCBob2xkcyB0aGUgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb25zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PFQ+PihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHJpZ2dlclJlbG9hZCQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGV4dFJlc29sdmVyRm4+KCh2YWx1ZTogVCkgPT4gdGhpcy5wcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlLCBudWxsKSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFTdGF0ZSQ6IE9ic2VydmFibGU8RGF0YUNvbnRleHRTdGF0dXM+O1xuXG4gIHB1YmxpYyByZWFkb25seSBhdmFpbGFibGVTdWdnZXN0aW9ucyQ6IE9ic2VydmFibGU8VFtdPjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IG9wdGlvblNlbGVjdGVkID0gbmV3IFN1YmplY3Q8RWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy5kYXRhU3RhdGUkID0gdGhpcy5kYXRhQ29udGV4dCQucGlwZShcbiAgICAgIGZpbHRlcihkYyA9PiAhIWRjKSxcbiAgICAgIHN3aXRjaE1hcChkYyA9PiBkYy5zdGF0dXMpLFxuICAgICAgcnVuSW5ab25lKHRoaXMuem9uZSlcbiAgICApO1xuXG4gICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSB0aGlzLmRhdGFDb250ZXh0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRjID0+IGRjID8gZGMuZGF0YSA6IG9mKFtdKSksXG4gICAgICBydW5JblpvbmUodGhpcy56b25lKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9lbmFibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWVUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX3ZhbHVlVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVUZW1wbGF0ZSB8fCB0aGlzLnZhbHVlVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PFQ+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUNvbnRleHQoKTogSURhdGFDb250ZXh0PFQ+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIocmVzb2x2ZXI6IFRleHRSZXNvbHZlckZuKSB7XG4gICAgdGhpcy5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciQubmV4dChyZXNvbHZlcik7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25PcHRpb25TZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbiA9IGV2ZW50Lm9wdGlvbjtcbiAgICBjb25zdCBpZCA9IG9wdGlvbi5pZCBhcyB1bmtub3duIGFzIFRJZDtcbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLm5leHQoXG4gICAgICBuZXcgRWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZChcbiAgICAgICAgdGhpcyxcbiAgICAgICAgaWQsXG4gICAgICAgIHRoaXMuZ2V0RW50aXR5QnlJZChpZCksXG4gICAgICAgIG9wdGlvbi52YWx1ZVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEVudGl0eUJ5SWQoaWQ6IFRJZCk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGRjID0gdGhpcy5kYXRhQ29udGV4dDtcbiAgICBpZihkYyl7XG4gICAgICByZXR1cm4gZGMuc25hcHNob3QuZGF0YS5maW5kKGUgPT4gdGhpcy5nZXRJZChlKSA9PSBpZCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25BdXRvY29tcGxldGVPcGVuZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBdXRvY29tcGxldGUgb3BlbmVkOicsIGV2ZW50KTtcbiAgICBpZiAodGhpcy5lbmFibGVkKSB7XG4gICAgICB0aGlzLnRyaWdnZXJSZWxvYWQkLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQXV0b0NvbXBsZXRlQ2xvc2VUb0VuZChldmVudDogVUlFdmVudCk6IHZvaWQge1xuICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCdBdXRvY29tcGxldGUgaXMgY2xvc2UgdG8gZW5kIScpO1xuICAgIGlmIChpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHQodGhpcy5kYXRhQ29udGV4dCkpIHtcbiAgICAgIGlmICghdGhpcy5kYXRhQ29udGV4dC5zbmFwc2hvdC5pc0xvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dC5sb2FkTW9yZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJZEFzU3RyaW5nKHZhbHVlOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKHRoaXMuZ2V0SWQodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZCh2YWx1ZTogVCk6IFRJZCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQ/LmRhdGFTb3VyY2U/LmdldElkKHZhbHVlKSB8fCB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc09wdGlvbkF2YWlsYWJsZShvcHRpb246IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc09wdGlvbkRpc2FibGVkRm4pIHtcbiAgICAgIHJldHVybiAhdGhpcy5pc09wdGlvbkRpc2FibGVkRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzT3B0aW9uVmlzaWJsZShvcHRpb246IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc09wdGlvbkhpZGRlbkZuKSB7XG4gICAgICByZXR1cm4gIXRoaXMuaXNPcHRpb25IaWRkZW5GbihvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9PcHRpb25WYWx1ZShvcHRpb246IFQpOiBhbnkge1xuICAgIGlmICh0aGlzLm9wdGlvblZhbHVlQ29udmVydGVyRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvblZhbHVlQ29udmVydGVyRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogVE9ETyBEdXBsaWNhdGUgaW4gZWxkZXItc2VsZWN0XG4gICAqL1xuICBwcml2YXRlIHByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWU6IFQsIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gKDxhbnk+dmFsdWUpW3Byb3BlcnR5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxufVxuIiwiPG1hdC1hdXRvY29tcGxldGVcbiAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICBwYW5lbFdpZHRoPVwiYXV0b1wiXG4gIFthdXRvQWN0aXZlRmlyc3RPcHRpb25dPVwidHJ1ZVwiXG4gIChvcGVuZWQpPVwib25BdXRvY29tcGxldGVPcGVuZWQoJGV2ZW50KVwiXG4gIChvcHRpb25TZWxlY3RlZCk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICBlbGRlckluZmluaXRlU2Nyb2xsIGVsZGVyRWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZSAoY2xvc2VUb0VuZCk9XCJvbkF1dG9Db21wbGV0ZUNsb3NlVG9FbmQoJGV2ZW50KVwiXG4+XG4gIDwhLS1cbiAgPG1hdC1vcHRpb24gKm5nSWY9XCJhbGxvd051bGxcIiBbdmFsdWVdPVwibnVsbFwiPnt7bnVsbERpc3BsYXkgfCB0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgLS0+XG5cbiAgPG1hdC1vcHRpb24gZGlzYWJsZWQgICpuZ0lmPVwiIShkYXRhQ29udGV4dCQgfCBhc3luYylcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+Tm8gRGF0YVNvdXJjZSAvIERhdGFDb250ZXh0ITwvc3Bhbj5cbiAgPC9tYXQtb3B0aW9uPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhQ29udGV4dCQgfCBhc3luYyBhcyBkY1wiPlxuXG4gICAgPG1hdC1vcHRpb24gZGlzYWJsZWQgICpuZ0lmPVwiZGMuaXNDbG9zZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBnYXAtc21cIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiPndhcm5pbmc8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+RGF0YUNvbnRleHQgQ2xvc2VkITwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdmFpbGFibGVTdWdnZXN0aW9ucyQgfCBhc3luYyBhcyBzdWdnZXN0aW9uc1wiPlxuXG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cInN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMFwiIGRpc2FibGVkPlxuICAgICAgICBObyBEYXRhLlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJpc09wdGlvblZpc2libGUoc3VnZ2VzdGlvbilcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ0b09wdGlvblZhbHVlKHN1Z2dlc3Rpb24pXCJcbiAgICAgICAgICBbaWRdPVwiZ2V0SWRBc1N0cmluZyhzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc09wdGlvbkF2YWlsYWJsZShzdWdnZXN0aW9uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlVGVtcGxhdGUgfHwgc2ltcGxlVmFsdWVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogc3VnZ2VzdGlvbn1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8IS0tXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvblwiPnZhbHVlOiB7e3RvT3B0aW9uVmFsdWUoc3VnZ2VzdGlvbil9fTwvc3Bhbj5cbiAgICAgICAgICAtLT5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhU3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cblxuICAgIDxtYXQtb3B0aW9uIGRpc2FibGVkICpuZ0lmPVwiIXN0YXRlLmlkbGUgfHwgc3RhdGUubG9hZGluZ1wiPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXJcbiAgICAgICAgW3ZhbHVlXT1cIjEwMFwiXG4gICAgICAgIFttb2RlXT1cInN0YXRlLmxvYWRpbmcgPyAncXVlcnknIDogJ2RldGVybWluYXRlJ1wiXG4gICAgICAgIFtjb2xvcl09XCJzdGF0ZS5lcnJvciA/ICd3YXJuJyA6ICdwcmltYXJ5J1wiXG4gICAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVWYWx1ZVRlbXBsYXRlIGxldC12YWx1ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCB8IGFzeW5jIGFzIHByb3BlcnR5UmVzb2x2ZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0XCI+e3twcm9wZXJ0eVJlc29sdmVyKHZhbHVlKX19PC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQWUsd0JBQXdCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN6RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUVqRSxPQUFPLEVBQUMsZUFBZSxFQUErQixNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFB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aGlsZCwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0LCBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge2ZpbHRlciwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge3J1bkluWm9uZX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL25nLXpvbmUtdXRpbHMnO1xuaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1zdGF0dXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL3NlbGVjdC9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUtb3B0aW9uLXNlbGVjdGVkJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRPcHRpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtOZ0lmLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5cbnR5cGUgVGV4dFJlc29sdmVyRm4gPSAodmFsdWU6IGFueSkgPT4gc3RyaW5nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLWF1dG9jb21wbGV0ZScsXG4gICAgZXhwb3J0QXM6ICdlbGRlckF1dG9jb21wbGV0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWF0QXV0b2NvbXBsZXRlLCBFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlLCBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLCBOZ0lmLCBNYXRPcHRpb24sIE1hdEljb24sIE5nRm9yLCBOZ1RlbXBsYXRlT3V0bGV0LCBNYXRQcm9ncmVzc0JhciwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudDxUID0gYW55LCBUSWQgPSBhbnk+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqXG4gICAqIElzIHRoaXMgYXV0by1jb21wbGV0ZSBlbmFibGVkP1xuICAgKi9cbiAgcHJpdmF0ZSBfZW5hYmxlZCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSB0ZW1wbGF0ZSB0byBjdXN0b21pemUgdGhlIHVpIGxvb2suXG4gICAqL1xuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHZhbHVlVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfdmFsdWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgTWF0ZXJpYWwgQXV0b2NvbXBsZXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWF0QXV0b2NvbXBsZXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF0QXV0b2NvbXBsZXRlPihudWxsKTtcblxuICBAVmlld0NoaWxkKCdhdXRvJylcbiAgcHVibGljIHNldCBtYXRBdXRvY29tcGxldGUoYXV0bzogTWF0QXV0b2NvbXBsZXRlKSB7XG4gICAgdGhpcy5tYXRBdXRvY29tcGxldGUkLm5leHQoYXV0byk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNPcHRpb25EaXNhYmxlZEZuOiAob3B0aW9uOiBUKSA9PiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkhpZGRlbkZuOiAob3B0aW9uOiBUKSA9PiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25WYWx1ZUNvbnZlcnRlckZuOiAob3B0aW9uOiBUKSA9PiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSBEYXRhQ29udGV4dCB3aGljaCBob2xkcyB0aGUgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb25zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PFQ+PihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHJpZ2dlclJlbG9hZCQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGV4dFJlc29sdmVyRm4+KCh2YWx1ZTogVCkgPT4gdGhpcy5wcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlLCBudWxsKSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFTdGF0ZSQ6IE9ic2VydmFibGU8RGF0YUNvbnRleHRTdGF0dXM+O1xuXG4gIHB1YmxpYyByZWFkb25seSBhdmFpbGFibGVTdWdnZXN0aW9ucyQ6IE9ic2VydmFibGU8VFtdPjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IG9wdGlvblNlbGVjdGVkID0gbmV3IFN1YmplY3Q8RWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy5kYXRhU3RhdGUkID0gdGhpcy5kYXRhQ29udGV4dCQucGlwZShcbiAgICAgIGZpbHRlcihkYyA9PiAhIWRjKSxcbiAgICAgIHN3aXRjaE1hcChkYyA9PiBkYy5zdGF0dXMpLFxuICAgICAgcnVuSW5ab25lKHRoaXMuem9uZSlcbiAgICApO1xuXG4gICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSB0aGlzLmRhdGFDb250ZXh0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRjID0+IGRjID8gZGMuZGF0YSA6IG9mKFtdKSksXG4gICAgICBydW5JblpvbmUodGhpcy56b25lKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9lbmFibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWVUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX3ZhbHVlVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVUZW1wbGF0ZSB8fCB0aGlzLnZhbHVlVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PFQ+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUNvbnRleHQoKTogSURhdGFDb250ZXh0PFQ+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIocmVzb2x2ZXI6IFRleHRSZXNvbHZlckZuKSB7XG4gICAgdGhpcy5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciQubmV4dChyZXNvbHZlcik7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25PcHRpb25TZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbiA9IGV2ZW50Lm9wdGlvbjtcbiAgICBjb25zdCBpZCA9IG9wdGlvbi5pZCBhcyB1bmtub3duIGFzIFRJZDtcbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLm5leHQoXG4gICAgICBuZXcgRWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZChcbiAgICAgICAgdGhpcyxcbiAgICAgICAgaWQsXG4gICAgICAgIHRoaXMuZ2V0RW50aXR5QnlJZChpZCksXG4gICAgICAgIG9wdGlvbi52YWx1ZVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEVudGl0eUJ5SWQoaWQ6IFRJZCk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGRjID0gdGhpcy5kYXRhQ29udGV4dDtcbiAgICBpZihkYyl7XG4gICAgICByZXR1cm4gZGMuc25hcHNob3QuZGF0YS5maW5kKGUgPT4gdGhpcy5nZXRJZChlKSA9PSBpZCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25BdXRvY29tcGxldGVPcGVuZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBdXRvY29tcGxldGUgb3BlbmVkOicsIGV2ZW50KTtcbiAgICBpZiAodGhpcy5lbmFibGVkKSB7XG4gICAgICB0aGlzLnRyaWdnZXJSZWxvYWQkLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQXV0b0NvbXBsZXRlQ2xvc2VUb0VuZChldmVudDogVUlFdmVudCk6IHZvaWQge1xuICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCdBdXRvY29tcGxldGUgaXMgY2xvc2UgdG8gZW5kIScpO1xuICAgIGlmIChpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHQodGhpcy5kYXRhQ29udGV4dCkpIHtcbiAgICAgIGlmICghdGhpcy5kYXRhQ29udGV4dC5zbmFwc2hvdC5pc0xvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dC5sb2FkTW9yZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJZEFzU3RyaW5nKHZhbHVlOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKHRoaXMuZ2V0SWQodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZCh2YWx1ZTogVCk6IFRJZCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQ/LmRhdGFTb3VyY2U/LmdldElkKHZhbHVlKSB8fCB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc09wdGlvbkF2YWlsYWJsZShvcHRpb246IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc09wdGlvbkRpc2FibGVkRm4pIHtcbiAgICAgIHJldHVybiAhdGhpcy5pc09wdGlvbkRpc2FibGVkRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzT3B0aW9uVmlzaWJsZShvcHRpb246IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc09wdGlvbkhpZGRlbkZuKSB7XG4gICAgICByZXR1cm4gIXRoaXMuaXNPcHRpb25IaWRkZW5GbihvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9PcHRpb25WYWx1ZShvcHRpb246IFQpOiBhbnkge1xuICAgIGlmICh0aGlzLm9wdGlvblZhbHVlQ29udmVydGVyRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvblZhbHVlQ29udmVydGVyRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogVE9ETyBEdXBsaWNhdGUgaW4gZWxkZXItc2VsZWN0XG4gICAqL1xuICBwcml2YXRlIHByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWU6IFQsIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gKDxhbnk+dmFsdWUpW3Byb3BlcnR5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxufVxuIiwiPG1hdC1hdXRvY29tcGxldGVcbiAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICBwYW5lbFdpZHRoPVwiYXV0b1wiXG4gIFthdXRvQWN0aXZlRmlyc3RPcHRpb25dPVwidHJ1ZVwiXG4gIChvcGVuZWQpPVwib25BdXRvY29tcGxldGVPcGVuZWQoJGV2ZW50KVwiXG4gIChvcHRpb25TZWxlY3RlZCk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICBlbGRlckluZmluaXRlU2Nyb2xsIGVsZGVyRWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZSAoY2xvc2VUb0VuZCk9XCJvbkF1dG9Db21wbGV0ZUNsb3NlVG9FbmQoJGV2ZW50KVwiXG4+XG4gIDwhLS1cbiAgPG1hdC1vcHRpb24gKm5nSWY9XCJhbGxvd051bGxcIiBbdmFsdWVdPVwibnVsbFwiPnt7bnVsbERpc3BsYXkgfCB0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgLS0+XG5cbiAgPG1hdC1vcHRpb24gZGlzYWJsZWQgICpuZ0lmPVwiIShkYXRhQ29udGV4dCQgfCBhc3luYylcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+Tm8gRGF0YVNvdXJjZSAvIERhdGFDb250ZXh0ITwvc3Bhbj5cbiAgPC9tYXQtb3B0aW9uPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhQ29udGV4dCQgfCBhc3luYyBhcyBkY1wiPlxuXG4gICAgPG1hdC1vcHRpb24gZGlzYWJsZWQgICpuZ0lmPVwiZGMuaXNDbG9zZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBnYXAtc21cIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiPndhcm5pbmc8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+RGF0YUNvbnRleHQgQ2xvc2VkITwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdmFpbGFibGVTdWdnZXN0aW9ucyQgfCBhc3luYyBhcyBzdWdnZXN0aW9uc1wiPlxuXG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cInN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMFwiIGRpc2FibGVkPlxuICAgICAgICBObyBEYXRhLlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJpc09wdGlvblZpc2libGUoc3VnZ2VzdGlvbilcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ0b09wdGlvblZhbHVlKHN1Z2dlc3Rpb24pXCJcbiAgICAgICAgICBbaWRdPVwiZ2V0SWRBc1N0cmluZyhzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc09wdGlvbkF2YWlsYWJsZShzdWdnZXN0aW9uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlVGVtcGxhdGUgfHwgc2ltcGxlVmFsdWVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogc3VnZ2VzdGlvbn1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8IS0tXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvblwiPnZhbHVlOiB7e3RvT3B0aW9uVmFsdWUoc3VnZ2VzdGlvbil9fTwvc3Bhbj5cbiAgICAgICAgICAtLT5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhU3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cblxuICAgIDxtYXQtb3B0aW9uIGRpc2FibGVkICpuZ0lmPVwiIXN0YXRlLmlkbGUgfHwgc3RhdGUubG9hZGluZ1wiPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXJcbiAgICAgICAgW3ZhbHVlXT1cIjEwMFwiXG4gICAgICAgIFttb2RlXT1cInN0YXRlLmxvYWRpbmcgPyAncXVlcnknIDogJ2RldGVybWluYXRlJ1wiXG4gICAgICAgIFtjb2xvcl09XCJzdGF0ZS5lcnJvciA/ICd3YXJuJyA6ICdwcmltYXJ5J1wiXG4gICAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVWYWx1ZVRlbXBsYXRlIGxldC12YWx1ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCB8IGFzeW5jIGFzIHByb3BlcnR5UmVzb2x2ZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0XCI+e3twcm9wZXJ0eVJlc29sdmVyKHZhbHVlKX19PC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
195
195
  type: HostListener,
196
196
  args: ['keyup', ['$event']]
197
197
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBUSxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBSTNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7QUFPL0QsTUFBTSxPQUFPLDhCQUE4QjtJQStDekM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUEyQyxFQUMzQyxRQUFzQztRQUR0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQThCO1FBdER6RDs7OztvRkFJNEU7UUFHckUsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFHdEIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBVW5CLDJCQUFzQixHQUFtQixDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTSxJQUFJLE9B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QUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtvSEFTUSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBNENLLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQStDdkIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RU1QVFksIG1lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc2tpcFdoaWxlLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0lEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge1RleHRSZXNvbHZlckZufSBmcm9tICcuLi8uLi9zZWxlY3QvZWxkZXItc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHtXb3JkUG9zaXRpb25GaW5kZXJ9IGZyb20gJy4vbWFueS93b3JkLXBvc2l0aW9uLWZpbmRlcic7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS1vcHRpb24tc2VsZWN0ZWQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlbGRlckF1dG9jb21wbGV0ZU1hbnldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b2NvbXBsZXRlTWFueURpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5RmlsdGVyID0gJ3F1ZXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydHM6IFNvcnRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydHkgb24gYSBzdWdnZXN0aW9uIG9iamVjdCB3aGljaCBpcyB1c2VkXG4gICAqIGFzIHRoZSBkaXNwbGF5IGFuZCBpbnNlcnQgdmFsdWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dFByb3BlcnR5OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRleHRQcm9wZXJ0eVJlc29sdmVyRm46IFRleHRSZXNvbHZlckZuID0gKG9wdGlvbjogYW55KSA9PiB7XG4gICAgaWYgKCFvcHRpb24pIHtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG9wdGlvbiBhcyBzdHJpbmc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRleHRQcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRleHRQcm9wZXJ0eV0gYXMgc3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRLZXl1cCQgPSBuZXcgU3ViamVjdDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaWdub3JlS2V5cyA9IFsnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnXTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdvcmRGaW5kZXI6IFdvcmRQb3NpdGlvbkZpbmRlcjtcblxuICBwcml2YXRlIF9lbGRlckF1dG9jb21wbGV0ZTogRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9Db21wbGV0ZVRyaWdnZXI6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuICApIHtcbiAgICB0aGlzLndvcmRGaW5kZXIgPSBuZXcgV29yZFBvc2l0aW9uRmluZGVyKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoJ2VsZGVyQXV0b2NvbXBsZXRlTWFueScpXG4gIHB1YmxpYyBzZXQgYXV0b2NvbXBsZXRlKGF1dG86IEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fZWxkZXJBdXRvY29tcGxldGUgPSBhdXRvO1xuICAgIHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckLm5leHQoKTtcbiAgICBpZiAoYXV0bykge1xuICAgICAgYXV0by5tYXRBdXRvY29tcGxldGUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJCksXG4gICAgICAgICAgZmlsdGVyKG1hdEF1dG8gPT4gISFtYXRBdXRvKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUobWF0QXV0byA9PiB0aGlzLmF1dG9Db21wbGV0ZVRyaWdnZXIuYXV0b2NvbXBsZXRlID0gbWF0QXV0byk7XG5cbiAgICAgIGF1dG8ub3B0aW9uU2VsZWN0ZWQucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckKVxuICAgICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbk9wdGlvblNlbGVjdGVkKGV2ZW50KSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZSgpOiBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3Vyc29yUG9zaXRpb24oKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgY3Vyc29yUG9zaXRpb24ocG9zaXRpb246IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSBwb3NpdGlvbjtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgPSBwb3NpdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmRhdGFDb250ZXh0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEhvc3QgTGlzdGVuZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlnbm9yZUtleXMuc29tZShrID0+IGsgPT09IGV2ZW50LmtleSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnB1dEtleXVwJC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciA9IHRoaXMudGV4dFByb3BlcnR5UmVzb2x2ZXJGbjtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5vcHRpb25WYWx1ZUNvbnZlcnRlckZuID0gKG9wdGlvbjogVCkgPT4ge1xuICAgICAgY29uc3Qgc3VnZ2VzdGlvbiA9IHRoaXMucmVzb2x2ZVN1Z2dlc3Rpb25UZXh0KG9wdGlvbik7XG4gICAgICByZXR1cm4gdGhpcy5pbnNlcnRTdWdnZXN0aW9uKHN1Z2dlc3Rpb24pO1xuICAgIH07XG5cbiAgICBtZXJnZShcbiAgICAgIHRoaXMuaW5wdXRLZXl1cCQucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKGUgPT4gIXRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmVuYWJsZWQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgbWFwKGUgPT4gKGU/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUpLFxuICAgICAgICBtYXAodmFsdWUgPT4gdGhpcy5leHRyYWN0V29yZEF0Q3Vyc29yKHZhbHVlKSlcbiAgICAgICksXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZS50cmlnZ2VyUmVsb2FkJFxuICAgICkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcih2YWx1ZSA9PiAhdmFsdWUgfHwgdHlwZW9mICh2YWx1ZSkgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiAodmFsdWUpID09PSAnbnVtYmVyJylcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHRoaXMudXBkYXRlU3VnZ2VzdGlvbnModmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHByaXZhdGUgZXh0cmFjdFdvcmRBdEN1cnNvcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbikge1xuICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RXb3JkRnJvbSh2YWx1ZSwgY3Vyc29yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjdXJzb3JCZWZvcmVBdXRvY29tcGxldGU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZW1lbWJlckN1cnNvclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY3Vyc29yQmVmb3JlQXV0b2NvbXBsZXRlID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFdvcmRGcm9tKHRleHQ6IHN0cmluZywgcG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qgd29yZCA9IHRoaXMud29yZEZpbmRlci5maW5kV29yZCh0ZXh0LCBwb3NpdGlvbik7XG4gICAgcmV0dXJuIHdvcmQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN1Z2dlc3Rpb25zKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IFsuLi50aGlzLmZpbHRlcnMsIG5ldyBGaWx0ZXIodGhpcy5xdWVyeUZpbHRlciwgPGFueT52YWx1ZSldO1xuICAgIGNvbnN0IHNvcnRzID0gdGhpcy5zb3J0cztcbiAgICBpZiAodGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZW1lbWJlckN1cnNvclBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQuc3RhcnQoc29ydHMsIGZpbHRlcnMpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgRGF0YUNvbnRleHQhJywgZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluc2VydFN1Z2dlc3Rpb24oc3VnZ2VzdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmN1cnJlbnRJbnB1dFZhbHVlKCk7XG4gICAgaWYoIXN1Z2dlc3Rpb24pe1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gdGhpcy53b3JkRmluZGVyLnJlcGxhY2VXb3JkKGN1cnJlbnRWYWx1ZSwgY3Vyc29yLCBzdWdnZXN0aW9uKTtcbiAgICAgIHJldHVybiByZXBsYWNlbWVudC5uZXdUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdJbnNlcnQgbm90IHBvc3NpYmxlIGFzIG5vIGN1cnNvci1wb3NpdGlvbiB3YXMgYXZhaWxhYmxlIScpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBpbnB1dD8udmFsdWUgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTdWdnZXN0aW9uVGV4dChvcHRpb246IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRQcm9wZXJ0eVJlc29sdmVyRm4ob3B0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgb25PcHRpb25TZWxlY3RlZChcbiAgICBldmVudDogRWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB3b3JkQXRDdXJzb3IgPSB0aGlzLndvcmRGaW5kZXIuZmluZFdvcmQodGhpcy5jdXJyZW50SW5wdXRWYWx1ZSgpLCB0aGlzLmN1cnNvckJlZm9yZUF1dG9jb21wbGV0ZSk7XG4gICAgY29uc3QgYXV0b2NvbXBsZXRlZFBocmFzZSA9IHRoaXMucmVzb2x2ZVN1Z2dlc3Rpb25UZXh0KGV2ZW50LmVudGl0eSk7XG4gICAgLy8gVGhlIHdvcmRBdEN1cnNvciBtaWdodCBub3QgYmUgdGhlIGZ1bGwgYXV0b2NvbXBsZXRlZCBwaHJhc2UgKGlmIHRoZXJlIGFyZSBtdWx0aXBsZSB3b3JkcylcbiAgICB0aGlzLmN1cnNvclBvc2l0aW9uID0gd29yZEF0Q3Vyc29yLnN0YXJ0ICsgYXV0b2NvbXBsZXRlZFBocmFzZS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBSTNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7QUFPL0QsTUFBTSxPQUFPLDhCQUE4QjtJQStDekM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUEyQyxFQUMzQyxRQUFzQztRQUR0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQThCO1FBdER6RDs7OztvRkFJNEU7UUFHckUsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFHdEIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBVW5CLDJCQUFzQixHQUFtQixDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTSxJQUFJLE9B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QUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtvSEFTUSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBNENLLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQStDdkIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7bWVyZ2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBza2lwV2hpbGUsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9zb3J0JztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7VGV4dFJlc29sdmVyRm59IGZyb20gJy4uLy4uL3NlbGVjdC9lbGRlci1zZWxlY3QtYmFzZSc7XG5pbXBvcnQge1dvcmRQb3NpdGlvbkZpbmRlcn0gZnJvbSAnLi9tYW55L3dvcmQtcG9zaXRpb24tZmluZGVyJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLW9wdGlvbi1zZWxlY3RlZCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVyQXV0b2NvbXBsZXRlTWFueV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJBdXRvY29tcGxldGVNYW55RGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlGaWx0ZXIgPSAncXVlcnknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0czogU29ydFtdID0gW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0eSBvbiBhIHN1Z2dlc3Rpb24gb2JqZWN0IHdoaWNoIGlzIHVzZWRcbiAgICogYXMgdGhlIGRpc3BsYXkgYW5kIGluc2VydCB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0ZXh0UHJvcGVydHk6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dFByb3BlcnR5UmVzb2x2ZXJGbjogVGV4dFJlc29sdmVyRm4gPSAob3B0aW9uOiBhbnkpID0+IHtcbiAgICBpZiAoIW9wdGlvbikge1xuICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gb3B0aW9uIGFzIHN0cmluZztcbiAgICB9IGVsc2UgaWYgKHRoaXMudGV4dFByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gb3B0aW9uW3RoaXMudGV4dFByb3BlcnR5XSBhcyBzdHJpbmc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnB1dEtleXVwJCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpZ25vcmVLZXlzID0gWydBcnJvd1JpZ2h0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCddO1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29yZEZpbmRlcjogV29yZFBvc2l0aW9uRmluZGVyO1xuXG4gIHByaXZhdGUgX2VsZGVyQXV0b2NvbXBsZXRlOiBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0b0NvbXBsZXRlVHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMud29yZEZpbmRlciA9IG5ldyBXb3JkUG9zaXRpb25GaW5kZXIoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgnZWxkZXJBdXRvY29tcGxldGVNYW55JylcbiAgcHVibGljIHNldCBhdXRvY29tcGxldGUoYXV0bzogRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZSA9IGF1dG87XG4gICAgdGhpcy5kZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQubmV4dCgpO1xuICAgIGlmIChhdXRvKSB7XG4gICAgICBhdXRvLm1hdEF1dG9jb21wbGV0ZSRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckKSxcbiAgICAgICAgICBmaWx0ZXIobWF0QXV0byA9PiAhIW1hdEF1dG8pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShtYXRBdXRvID0+IHRoaXMuYXV0b0NvbXBsZXRlVHJpZ2dlci5hdXRvY29tcGxldGUgPSBtYXRBdXRvKTtcblxuICAgICAgYXV0by5vcHRpb25TZWxlY3RlZC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQpXG4gICAgICApLnN1YnNjcmliZShldmVudCA9PiB0aGlzLm9uT3B0aW9uU2VsZWN0ZWQoZXZlbnQpKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlKCk6IEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxkZXJBdXRvY29tcGxldGU7XG4gIH1cblxuICBwcml2YXRlIGdldCBjdXJzb3JQb3NpdGlvbigpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNldCBjdXJzb3JQb3NpdGlvbihwb3NpdGlvbjogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IHBvc2l0aW9uO1xuICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IHBvc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGRhdGFDb250ZXh0KCk6IElEYXRhQ29udGV4dDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZWxkZXJBdXRvY29tcGxldGUuZGF0YUNvbnRleHQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSG9zdCBMaXN0ZW5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaWdub3JlS2V5cy5zb21lKGsgPT4gayA9PT0gZXZlbnQua2V5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlucHV0S2V5dXAkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyID0gdGhpcy50ZXh0UHJvcGVydHlSZXNvbHZlckZuO1xuICAgIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLm9wdGlvblZhbHVlQ29udmVydGVyRm4gPSAob3B0aW9uOiBUKSA9PiB7XG4gICAgICBjb25zdCBzdWdnZXN0aW9uID0gdGhpcy5yZXNvbHZlU3VnZ2VzdGlvblRleHQob3B0aW9uKTtcbiAgICAgIHJldHVybiB0aGlzLmluc2VydFN1Z2dlc3Rpb24oc3VnZ2VzdGlvbik7XG4gICAgfTtcblxuICAgIG1lcmdlKFxuICAgICAgdGhpcy5pbnB1dEtleXVwJC5waXBlKFxuICAgICAgICBza2lwV2hpbGUoZSA9PiAhdGhpcy5fZWxkZXJBdXRvY29tcGxldGUuZW5hYmxlZCksXG4gICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxuICAgICAgICBtYXAoZSA9PiAoZT8udGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLmV4dHJhY3RXb3JkQXRDdXJzb3IodmFsdWUpKVxuICAgICAgKSxcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLnRyaWdnZXJSZWxvYWQkXG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgZmlsdGVyKHZhbHVlID0+ICF2YWx1ZSB8fCB0eXBlb2YgKHZhbHVlKSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mICh2YWx1ZSkgPT09ICdudW1iZXInKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4gdGhpcy51cGRhdGVTdWdnZXN0aW9ucyh2YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgcHJpdmF0ZSBleHRyYWN0V29yZEF0Q3Vyc29yKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uKSB7XG4gICAgICBjb25zdCBjdXJzb3IgPSB0aGlzLmN1cnNvclBvc2l0aW9uO1xuICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdFdvcmRGcm9tKHZhbHVlLCBjdXJzb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGN1cnNvckJlZm9yZUF1dG9jb21wbGV0ZTogbnVtYmVyO1xuICBwcml2YXRlIHJlbWVtYmVyQ3Vyc29yUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jdXJzb3JCZWZvcmVBdXRvY29tcGxldGUgPSB0aGlzLmN1cnNvclBvc2l0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0V29yZEZyb20odGV4dDogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB3b3JkID0gdGhpcy53b3JkRmluZGVyLmZpbmRXb3JkKHRleHQsIHBvc2l0aW9uKTtcbiAgICByZXR1cm4gd29yZC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3VnZ2VzdGlvbnModmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJzID0gWy4uLnRoaXMuZmlsdGVycywgbmV3IEZpbHRlcih0aGlzLnF1ZXJ5RmlsdGVyLCA8YW55PnZhbHVlKV07XG4gICAgY29uc3Qgc29ydHMgPSB0aGlzLnNvcnRzO1xuICAgIGlmICh0aGlzLmRhdGFDb250ZXh0KSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlbWVtYmVyQ3Vyc29yUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dC5zdGFydChzb3J0cywgZmlsdGVycyk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5sb2cuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBEYXRhQ29udGV4dCEnLCBlcnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5zZXJ0U3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMuY3VycmVudElucHV0VmFsdWUoKTtcbiAgICBpZighc3VnZ2VzdGlvbil7XG4gICAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBjdXJzb3IgPSB0aGlzLmN1cnNvclBvc2l0aW9uO1xuICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSB0aGlzLndvcmRGaW5kZXIucmVwbGFjZVdvcmQoY3VycmVudFZhbHVlLCBjdXJzb3IsIHN1Z2dlc3Rpb24pO1xuICAgICAgcmV0dXJuIHJlcGxhY2VtZW50Lm5ld1RleHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0luc2VydCBub3QgcG9zc2libGUgYXMgbm8gY3Vyc29yLXBvc2l0aW9uIHdhcyBhdmFpbGFibGUhJyk7XG4gICAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudElucHV0VmFsdWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuIGlucHV0Py52YWx1ZSA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVN1Z2dlc3Rpb25UZXh0KG9wdGlvbjogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGV4dFByb3BlcnR5UmVzb2x2ZXJGbihvcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk9wdGlvblNlbGVjdGVkKFxuICAgIGV2ZW50OiBFbGRlckF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGVkXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmRBdEN1cnNvciA9IHRoaXMud29yZEZpbmRlci5maW5kV29yZCh0aGlzLmN1cnJlbnRJbnB1dFZhbHVlKCksIHRoaXMuY3Vyc29yQmVmb3JlQXV0b2NvbXBsZXRlKTtcbiAgICBjb25zdCBhdXRvY29tcGxldGVkUGhyYXNlID0gdGhpcy5yZXNvbHZlU3VnZ2VzdGlvblRleHQoZXZlbnQuZW50aXR5KTtcbiAgICAvLyBUaGUgd29yZEF0Q3Vyc29yIG1pZ2h0IG5vdCBiZSB0aGUgZnVsbCBhdXRvY29tcGxldGVkIHBocmFzZSAoaWYgdGhlcmUgYXJlIG11bHRpcGxlIHdvcmRzKVxuICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSB3b3JkQXRDdXJzb3Iuc3RhcnQgKyBhdXRvY29tcGxldGVkUGhyYXNlLmxlbmd0aDtcbiAgfVxufVxuIl19
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
112
112
  type: Input,
113
113
  args: ['elderAutocomplete']
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7QUFRM0QsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUEyQztRQUEzQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBaEM5RDs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxlQUFVLEdBQUcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRSxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBR3BELGdCQUFXLEdBQUcsT0FBTyxDQUFDO1FBR3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFHdkIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUlULDJCQUFzQixHQUFHLElBQUks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QUFPLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDOUMsMERBQTBEO2FBQzNEO1NBQ0Y7SUFDSCxDQUFDOzhHQWxJVSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7MkZBZVEsV0FBVztzQkFEakIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQTRCQyxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTRDdEIsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50fSBmcm9tICcuL2VsZGVyLWF1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7bWVyZ2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBza2lwV2hpbGUsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVyQXV0b2NvbXBsZXRlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1dG9jb21wbGV0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpZ25vcmVLZXlzID0gWydBcnJvd1JpZ2h0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCddO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRLZXl1cCQgPSBuZXcgU3ViamVjdDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeUZpbHRlciA9ICdxdWVyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlcltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRzOiBTb3J0W10gPSBbXTtcblxuICBwcml2YXRlIF9lbGRlckF1dG9jb21wbGV0ZTogRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95TWF0QXV0b0JpbmRpbmckID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvQ29tcGxldGVUcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyXG4gICkge1xuICB9XG5cblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBIb3N0IExpc3RlbmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pZ25vcmVLZXlzLnNvbWUoayA9PiBrID09PSBldmVudC5rZXkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5wdXRLZXl1cCQubmV4dChldmVudCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbWVyZ2UoXG4gICAgICB0aGlzLmlucHV0S2V5dXAkLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShlID0+ICF0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5lbmFibGVkKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgIG1hcChlID0+IChlPy50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKSxcbiAgICAgICksXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZS50cmlnZ2VyUmVsb2FkJFxuICAgICkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcih2YWx1ZSA9PiAhdmFsdWUgfHwgdHlwZW9mICh2YWx1ZSkgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiAodmFsdWUpID09PSAnbnVtYmVyJylcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHRoaXMudXBkYXRlU3VnZ2VzdGlvbnModmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kZXN0cm95TWF0QXV0b0JpbmRpbmckLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3lNYXRBdXRvQmluZGluZyQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgnZWxkZXJBdXRvY29tcGxldGUnKVxuICBwdWJsaWMgc2V0IGF1dG9jb21wbGV0ZShhdXRvOiBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlID0gYXV0bztcbiAgICB0aGlzLmRlc3Ryb3lNYXRBdXRvQmluZGluZyQubmV4dCgpO1xuICAgIGlmIChhdXRvKSB7XG4gICAgICBhdXRvLm1hdEF1dG9jb21wbGV0ZSRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveU1hdEF1dG9CaW5kaW5nJCksXG4gICAgICAgICAgZmlsdGVyKG1hdEF1dG8gPT4gISFtYXRBdXRvKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgbWF0QXV0byA9PiB0aGlzLmF1dG9Db21wbGV0ZVRyaWdnZXIuYXV0b2NvbXBsZXRlID0gbWF0QXV0b1xuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlKCk6IEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxkZXJBdXRvY29tcGxldGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250ZXh0KCk6IElEYXRhQ29udGV4dDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZWxkZXJBdXRvY29tcGxldGUuZGF0YUNvbnRleHQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHVwZGF0ZVN1Z2dlc3Rpb25zKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IFsuLi50aGlzLmZpbHRlcnMsIG5ldyBGaWx0ZXIodGhpcy5xdWVyeUZpbHRlciwgPGFueT52YWx1ZSldO1xuICAgIGNvbnN0IHNvcnRzID0gdGhpcy5zb3J0cztcbiAgICBpZiAodGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dC5zdGFydChzb3J0cywgZmlsdGVycyk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBEQyEnLCBlcnIpO1xuICAgICAgICAvLyB0aGlzLnVwZGF0ZVN0YXRlKEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuZXJyb3IoZXJyKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUNBQXFDLENBQUM7OztBQVEzRCxNQUFNLE9BQU8sMEJBQTBCO0lBMkJyQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFoQzlEOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhELGVBQVUsR0FBRyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xFLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFHcEQsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFHdEIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSVQsMkJBQXNCLEdBQUcsSUFBSSxP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QU8sR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QywwREFBMEQ7YUFDM0Q7U0FDRjtJQUNILENBQUM7OEdBbElVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsyRkFlUSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBNEJDLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNEN0QixZQUFZO3NCQUR0QixLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlVHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHttZXJnZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHNraXBXaGlsZSwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtJRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9zb3J0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWxkZXJBdXRvY29tcGxldGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b2NvbXBsZXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlnbm9yZUtleXMgPSBbJ0Fycm93UmlnaHQnLCAnQXJyb3dVcCcsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0J107XG4gIHB1YmxpYyByZWFkb25seSBpbnB1dEtleXVwJCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5RmlsdGVyID0gJ3F1ZXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydHM6IFNvcnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2VsZGVyQXV0b2NvbXBsZXRlOiBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lNYXRBdXRvQmluZGluZyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9Db21wbGV0ZVRyaWdnZXI6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcbiAgKSB7XG4gIH1cblxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEhvc3QgTGlzdGVuZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlnbm9yZUtleXMuc29tZShrID0+IGsgPT09IGV2ZW50LmtleSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnB1dEtleXVwJC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBtZXJnZShcbiAgICAgIHRoaXMuaW5wdXRLZXl1cCQucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKGUgPT4gIXRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmVuYWJsZWQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgbWFwKGUgPT4gKGU/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUpLFxuICAgICAgKSxcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLnRyaWdnZXJSZWxvYWQkXG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgZmlsdGVyKHZhbHVlID0+ICF2YWx1ZSB8fCB0eXBlb2YgKHZhbHVlKSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mICh2YWx1ZSkgPT09ICdudW1iZXInKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4gdGhpcy51cGRhdGVTdWdnZXN0aW9ucyh2YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmRlc3Ryb3lNYXRBdXRvQmluZGluZyQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveU1hdEF1dG9CaW5kaW5nJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KCdlbGRlckF1dG9jb21wbGV0ZScpXG4gIHB1YmxpYyBzZXQgYXV0b2NvbXBsZXRlKGF1dG86IEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fZWxkZXJBdXRvY29tcGxldGUgPSBhdXRvO1xuICAgIHRoaXMuZGVzdHJveU1hdEF1dG9CaW5kaW5nJC5uZXh0KCk7XG4gICAgaWYgKGF1dG8pIHtcbiAgICAgIGF1dG8ubWF0QXV0b2NvbXBsZXRlJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95TWF0QXV0b0JpbmRpbmckKSxcbiAgICAgICAgICBmaWx0ZXIobWF0QXV0byA9PiAhIW1hdEF1dG8pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICBtYXRBdXRvID0+IHRoaXMuYXV0b0NvbXBsZXRlVHJpZ2dlci5hdXRvY29tcGxldGUgPSBtYXRBdXRvXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGUoKTogRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUNvbnRleHQoKTogSURhdGFDb250ZXh0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5kYXRhQ29udGV4dDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgdXBkYXRlU3VnZ2VzdGlvbnModmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJzID0gWy4uLnRoaXMuZmlsdGVycywgbmV3IEZpbHRlcih0aGlzLnF1ZXJ5RmlsdGVyLCA8YW55PnZhbHVlKV07XG4gICAgY29uc3Qgc29ydHMgPSB0aGlzLnNvcnRzO1xuICAgIGlmICh0aGlzLmRhdGFDb250ZXh0KSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0LnN0YXJ0KHNvcnRzLCBmaWx0ZXJzKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IERDIScsIGVycik7XG4gICAgICAgIC8vIHRoaXMudXBkYXRlU3RhdGUoRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5lcnJvcihlcnIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
55
55
  ]
56
56
  }]
57
57
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFbkYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFvQjFFLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLFlBWDVCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsY0FBYztZQUNkLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDhCQUE4QixhQWI5QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDhCQUE4QjsrR0FjekIsdUJBQXVCLFlBWDVCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsY0FBYztZQUNkLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQiwwQkFBMEI7OzJGQUtyQix1QkFBdUI7a0JBbEJuQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWSxFQUFFLG1CQUFtQjt3QkFDakMsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiw4QkFBOEI7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxNb2R1bGV9IGZyb20gJy4uLy4uL2luZmluaXRlc2Nyb2xsL2VsZGVyLWluZmluaXRlLXNjcm9sbC5tb2R1bGUnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBFbGRlckF1dG9jb21wbGV0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVNYW55RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWF1dG9jb21wbGV0ZS1tYW55LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7RWxkZXJBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlckF1dG9jb21wbGV0ZU1hbnlEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJBdXRvY29tcGxldGVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICAgICAgRWxkZXJBdXRvY29tcGxldGVEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyQXV0b2NvbXBsZXRlTWFueURpcmVjdGl2ZVxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIEVsZGVySW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICAgICAgRWxkZXJBdXRvY29tcGxldGVEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyQXV0b2NvbXBsZXRlTWFueURpcmVjdGl2ZSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b2NvbXBsZXRlTW9kdWxlIHsgfVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFbkYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFvQjFFLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLFlBWDVCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsY0FBYztZQUNkLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDhCQUE4QixhQWI5QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDhCQUE4QjsrR0FjekIsdUJBQXVCLFlBWDVCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsY0FBYztZQUNkLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQiwwQkFBMEI7OzJGQUtyQix1QkFBdUI7a0JBbEJuQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWSxFQUFFLG1CQUFtQjt3QkFDakMsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiw4QkFBOEI7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxNb2R1bGV9IGZyb20gJy4uLy4uL2luZmluaXRlc2Nyb2xsL2VsZGVyLWluZmluaXRlLXNjcm9sbC5tb2R1bGUnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlTWFueURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUtbWFueS5kaXJlY3RpdmUnO1xuXG5leHBvcnQge0VsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50fSBmcm9tICcuL2VsZGVyLWF1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7RWxkZXJBdXRvY29tcGxldGVNYW55RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWF1dG9jb21wbGV0ZS1tYW55LmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyQXV0b2NvbXBsZXRlRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIEVsZGVyQXV0b2NvbXBsZXRlRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckF1dG9jb21wbGV0ZU1hbnlEaXJlY3RpdmVcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICAgICAgRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIEVsZGVyQXV0b2NvbXBsZXRlRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckF1dG9jb21wbGV0ZU1hbnlEaXJlY3RpdmUsXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1dG9jb21wbGV0ZU1vZHVsZSB7IH1cbiJdfQ==
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
29
29
  exports: [ElderLabelInputComponent]
30
30
  }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbGFiZWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2VsZGVyLWxhYmVscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFVL0UsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsWUFOdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUI7WUFDOUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsZUFBZTtZQUNyRix3QkFBd0IsYUFFbEIsd0JBQXdCOytHQUV6QixpQkFBaUIsWUFOdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUI7WUFDOUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsZUFBZTtZQUNyRix3QkFBd0I7OzJGQUluQixpQkFBaUI7a0JBUjdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CO3dCQUM5QyxhQUFhLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxlQUFlO3dCQUNyRix3QkFBd0I7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlckxhYmVsSW5wdXRDb21wb25lbnR9IGZyb20gJy4vbGFiZWxzLWlucHV0L2xhYmVscy1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCB7RWxkZXJMYWJlbElucHV0Q29tcG9uZW50fSBmcm9tICcuL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsIE1hdElucHV0TW9kdWxlLCBNYXRDaGlwc01vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEVsZGVyTGFiZWxJbnB1dENvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtFbGRlckxhYmVsSW5wdXRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTGFiZWxzTW9kdWxlIHsgfVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbGFiZWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2VsZGVyLWxhYmVscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFVL0UsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsWUFOdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUI7WUFDOUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsZUFBZTtZQUNyRix3QkFBd0IsYUFFbEIsd0JBQXdCOytHQUV6QixpQkFBaUIsWUFOdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUI7WUFDOUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsZUFBZTtZQUNyRix3QkFBd0I7OzJGQUluQixpQkFBaUI7a0JBUjdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CO3dCQUM5QyxhQUFhLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxlQUFlO3dCQUNyRix3QkFBd0I7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0VsZGVyTGFiZWxJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9sYWJlbHMtaW5wdXQvbGFiZWxzLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7TWF0Q2hpcHNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCB7RWxkZXJMYWJlbElucHV0Q29tcG9uZW50fSBmcm9tICcuL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsIE1hdElucHV0TW9kdWxlLCBNYXRDaGlwc01vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEVsZGVyTGFiZWxJbnB1dENvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtFbGRlckxhYmVsSW5wdXRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTGFiZWxzTW9kdWxlIHsgfVxuIl19
@@ -203,28 +203,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
203
203
  type: ViewChild,
204
204
  args: ['labelInput', { static: true }]
205
205
  }], labels: [{
206
- type: Input,
207
- args: ['labels']
206
+ type: Input
208
207
  }], suggestionLoader: [{
209
- type: Input,
210
- args: ['suggestionLoader']
208
+ type: Input
211
209
  }], allowNew: [{
212
- type: Input,
213
- args: ['allowNew']
210
+ type: Input
214
211
  }], labelsChanged: [{
215
- type: Output,
216
- args: ['labelsChanged']
212
+ type: Output
217
213
  }], compareWith: [{
218
- type: Input,
219
- args: ['compareWith']
214
+ type: Input
220
215
  }], colorResolver: [{
221
- type: Input,
222
- args: ['colorResolver']
216
+ type: Input
223
217
  }], nameResolver: [{
224
- type: Input,
225
- args: ['nameResolver']
218
+ type: Input
226
219
  }], labelBuilder: [{
227
- type: Input,
228
- args: ['labelBuilder']
220
+ type: Input
229
221
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbHMvbGFiZWxzLWlucHV0L2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQWdDLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZILE9BQU8sRUFBcUIsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXZFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQy9GLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1B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QVMsZ0pBQUUsU0FBUyw2Q0FBRSxlQUFlOzsyRkFFL04sd0JBQXdCO2tCQVRwQyxTQUFTOytCQUNJLG1CQUFtQixhQUdsQiw2QkFBNkIsMEJBQTBCLG1CQUNqRCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDO3dEQXlCbk8sWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQTBCOUIsTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxRQUFRO2dCQU1KLGdCQUFnQjtzQkFEMUIsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBZ0JkLFFBQVE7c0JBRGxCLEtBQUs7dUJBQUMsVUFBVTtnQkFNTixhQUFhO3NCQUR2QixNQUFNO3VCQUFDLGVBQWU7Z0JBV1osV0FBVztzQkFEckIsS0FBSzt1QkFBQyxhQUFhO2dCQWFULGFBQWE7c0JBRHZCLEtBQUs7dUJBQUMsZUFBZTtnQkFZWCxZQUFZO3NCQUR0QixLQUFLO3VCQUFDLGNBQWM7Z0JBWVYsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCwgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciwgTWF0QXV0b2NvbXBsZXRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50LCBNYXRDaGlwR3JpZCwgTWF0Q2hpcFJvdywgTWF0Q2hpcFJlbW92ZSwgTWF0Q2hpcElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0lTdWdnZXN0aW9uUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zdWdnZXN0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSwgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWxkZXItbGFiZWwtaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYWJlbHMtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xhYmVscy1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogYnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnMoRWxkZXJMYWJlbElucHV0Q29tcG9uZW50KSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtNYXRGb3JtRmllbGQsIE5nSWYsIE1hdExhYmVsLCBNYXRDaGlwR3JpZCwgTmdGb3IsIE1hdENoaXBSb3csIE1hdEljb24sIE1hdENoaXBSZW1vdmUsIE1hdElucHV0LCBNYXRDaGlwSW5wdXQsIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRBdXRvY29tcGxldGUsIE1hdE9wdGlvbiwgQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTGFiZWxJbnB1dENvbXBvbmVudDxUPiBleHRlbmRzIEZvcm1GaWVsZEJhc2VDb21wb25lbnQ8VFtdPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbjtcbiAgcHJpdmF0ZSBfbmFtZVJlc29sdmVyOiAobzE6IGFueSkgPT4gc3RyaW5nO1xuICBwcml2YXRlIF9jb2xvclJlc29sdmVyOiAobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlO1xuICBwcml2YXRlIF9sYWJlbEJ1aWxkZXI6IChyYXdpbnB1dDogc3RyaW5nKSA9PiBhbnlbXTtcblxuICBwcml2YXRlIF9hbGxvd0NyZWF0ZSA9IHRydWU7XG5cbiAgcHVibGljIHJlbW92YWJsZSA9IHRydWU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxhYmVsSW5wdXRDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gIHB1YmxpYyBhdmFpbGFibGVTdWdnZXN0aW9ucyQ6IE9ic2VydmFibGU8YW55W10+ID0gRU1QVFk7XG5cbiAgQFZpZXdDaGlsZCgnbGFiZWxJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgaW5wdXRDb250cm9sOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZmxvYXRMYWJlbCA9ICdhdXRvJztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgY3VycmVudExhYmVscyQoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSQ7XG4gIH1cblxuICBASW5wdXQoJ2xhYmVscycpXG4gIHB1YmxpYyBzZXQgbGFiZWxzKHZhbHVlOiBUW10pIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ3N1Z2dlc3Rpb25Mb2FkZXInKVxuICBwdWJsaWMgc2V0IHN1Z2dlc3Rpb25Mb2FkZXIocHJvdmlkZXI6IElTdWdnZXN0aW9uUHJvdmlkZXI8YW55Pikge1xuICAgIGlmIChwcm92aWRlcikge1xuICAgICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSB0aGlzLmxhYmVsSW5wdXRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBzdGFydFdpdGgoPHN0cmluZz5udWxsKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHByb3ZpZGVyLmxvYWRTdWdnZXN0aW9ucyh2YWx1ZSkpLFxuICAgICAgICBtYXAobGFiZWxzID0+IHRoaXMuZmlsdGVyTm90UHJlc2VudChsYWJlbHMpKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0NhbnQgcHJvdmlkZSBzdWdnZXN0aW9ucyBzaW5jZSBubyBzdWdnZXN0aW9uIHByb3ZpZGVyIHdhcyByZWdpc3RlcmVkIScpO1xuICAgICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSBFTVBUWTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ2FsbG93TmV3JylcbiAgcHVibGljIHNldCBhbGxvd05ldyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FsbG93Q3JlYXRlID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCdsYWJlbHNDaGFuZ2VkJylcbiAgcHVibGljIGdldCBsYWJlbHNDaGFuZ2VkKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGNvbXBhcmUgdGhlIG9wdGlvbiB2YWx1ZXMgd2l0aCB0aGUgc2VsZWN0ZWQgdmFsdWVzLiBUaGUgZmlyc3QgYXJndW1lbnRcbiAgICogaXMgYSB2YWx1ZSBmcm9tIGFuIG9wdGlvbi4gVGhlIHNlY29uZCBpcyBhIHZhbHVlIGZyb20gdGhlIHNlbGVjdGlvbi4gQSBib29sZWFuXG4gICAqIHNob3VsZCBiZSByZXR1cm5lZC5cbiAgICovXG4gIEBJbnB1dCgnY29tcGFyZVdpdGgnKVxuICBwdWJsaWMgc2V0IGNvbXBhcmVXaXRoKGZuOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICB0aGlzLl9jb21wYXJlV2l0aCA9IGZuO1xuICB9XG5cblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIHRoZSBjb2xvciBvZiBhIGdpdmVuIGxhYmVsIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgnY29sb3JSZXNvbHZlcicpXG4gIHB1YmxpYyBzZXQgY29sb3JSZXNvbHZlcihmbjogKG8xOiBhbnkpID0+IFRoZW1lUGFsZXR0ZSkge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29sb3JSZXNvbHZlciBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbG9yUmVzb2x2ZXIgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdGhlIGRpc3BsYXkgbmFtZSBvZiBhIGdpdmVuIGxhYmVsIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgnbmFtZVJlc29sdmVyJylcbiAgcHVibGljIHNldCBuYW1lUmVzb2x2ZXIoZm46IChvMTogYW55KSA9PiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25hbWVSZXNvbHZlciBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX25hbWVSZXNvbHZlciA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBvbmUgb3IgbW9yZSBsYWJlbHMgZm9yIGEgZ2l2ZW4gcmF3IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCdsYWJlbEJ1aWxkZXInKVxuICBwdWJsaWMgc2V0IGxhYmVsQnVpbGRlcihmbjogKHJhd2lucHV0OiBzdHJpbmcpID0+IGFueVtdKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdsYWJlbEJ1aWxkZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbEJ1aWxkZXIgPSBmbjtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlLUN5Y2xlIEV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBsYWJlbFNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XG4gICAgY29uc29sZS5sb2coJ2xhYmVsU2VsZWN0ZWQ6JywgZXZlbnQpO1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IGV2ZW50Lm9wdGlvbi52YWx1ZTtcbiAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnJlc2V0SW5wdXQoKTtcbiAgICAgIHRoaXMuYWRkTGFiZWwoc2VsZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlTmV3TGFiZWxzKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hbGxvd0NyZWF0ZSkge1xuXG4gICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LmlucHV0O1xuICAgICAgY29uc3QgdmFsdWUgPSBldmVudC52YWx1ZTtcblxuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IG15TGFiZWxzID0gdGhpcy5idWlsZExhYmVscyh2YWx1ZSk7XG4gICAgICAgIHRoaXMuYWRkTGFiZWxzKG15TGFiZWxzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgIC8vIGlucHV0LnZhbHVlID0gJyc7IC8vIHJlc2V0IGlucHV0XG4gICAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRMYWJlbHMobGFiZWxzOiBUW10pIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBbXTtcbiAgICB0aGlzLnJlcGxhY2VXaXRoKFsuLi5jdXJyZW50LCAuLi5sYWJlbHNdKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRMYWJlbChsYWJlbDogYW55KSB7XG4gICAgdGhpcy5hZGRMYWJlbHMoW2xhYmVsXSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlTGFiZWwodG9SZW1vdmU6IFQpOiB2b2lkIHtcblxuICAgIGNvbnN0IHJlbWFpbmluZyA9IHRoaXMudmFsdWVcbiAgICAgIC5maWx0ZXIobCA9PiAhdGhpcy5hcmVFcXVhbChsLCB0b1JlbW92ZSkpO1xuXG4gICAgdGhpcy5yZXBsYWNlV2l0aChyZW1haW5pbmcpO1xuICB9XG5cbiAgcHVibGljIHJlcGxhY2VXaXRoKGxhYmVsczogVFtdKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShsYWJlbHMpO1xuICB9XG5cbiAgcHVibGljIGxhYmVsTmFtZShsYWJlbDogVCk6IHN0cmluZyB7XG4gICAgaWYgKGxhYmVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmFtZVJlc29sdmVyID8gIHRoaXMuX25hbWVSZXNvbHZlcihsYWJlbCkgOiBsYWJlbC50b1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxhYmVsQ29sb3IobGFiZWw6IFQpOiBUaGVtZVBhbGV0dGUge1xuICAgIHJldHVybiB0aGlzLl9jb2xvclJlc29sdmVyID8gIHRoaXMuX2NvbG9yUmVzb2x2ZXIobGFiZWwpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZXNldElucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRDb250cm9sLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMYWJlbHMocmF3TmFtZTogc3RyaW5nKTogYW55W10ge1xuICAgIGlmICh0aGlzLl9sYWJlbEJ1aWxkZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9sYWJlbEJ1aWxkZXIocmF3TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbcmF3TmFtZV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJOb3RQcmVzZW50KHN1Z2dlc3Rpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgICBpZiAoc3VnZ2VzdGlvbnMpIHtcblxuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHN1Z2dlc3Rpb25zXG4gICAgICAgICAgLmZpbHRlcihsID0+IGwpXG4gICAgICAgICAgLmZpbHRlcihsID0+ICF0aGlzLnZhbHVlLnNvbWUoZWwgPT4gdGhpcy5hcmVFcXVhbChlbCwgbCkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzdWdnZXN0aW9ucztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXJlRXF1YWwoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGFyZVdpdGggPyB0aGlzLl9jb21wYXJlV2l0aChhLCBiKSA6IGEgPT09IGI7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZFxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgY2xhc3M9XCJmdWxsLXdpZHRoXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWwgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuXG4gIDxtYXQtY2hpcC1ncmlkICNjaGlwcz5cbiAgICA8bWF0LWNoaXAtcm93ICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBjdXJyZW50TGFiZWxzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJub3NlbGVjdFwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJsYWJlbENvbG9yKGxhYmVsKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwicmVtb3ZhYmxlXCJcbiAgICAgICAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlTGFiZWwobGFiZWwpXCJcbiAgICA+XG4gICAgICB7e2xhYmVsTmFtZShsYWJlbCl9fVxuICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmUgKm5nSWY9XCIhcmVhZG9ubHkgJiYgcmVtb3ZhYmxlXCI+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICA8L21hdC1jaGlwLXJvdz5cblxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcHNcIlxuICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImxhYmVsQXV0b0NvbXBsZXRlXCJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImxhYmVsSW5wdXRDb250cm9sXCJcbiAgICAgICAgICAgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cImNyZWF0ZU5ld0xhYmVscygkZXZlbnQpXCJcbiAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICNsYWJlbElucHV0PlxuICA8L21hdC1jaGlwLWdyaWQ+XG5cbiAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICNsYWJlbEF1dG9Db21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICBwYW5lbFdpZHRoPVwiYXV0b1wiXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwibGFiZWxTZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHN1Z2dlc3Rpb24gb2YgYXZhaWxhYmxlU3VnZ2VzdGlvbnMkIHwgYXN5bmNcIiBbdmFsdWVdPVwic3VnZ2VzdGlvblwiPlxuICAgICAge3tsYWJlbE5hbWUoc3VnZ2VzdGlvbil9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuXG48L21hdC1mb3JtLWZpZWxkPlxuXG4iXX0=
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbHMvbGFiZWxzLWlucHV0L2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQStCLHNCQUFzQixFQUFFLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JILE9BQU8sRUFBb0IsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXZFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQy9GLE9BQU8sRUFBZSxTQUFTLEVBQUMsTUFB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UyxnSkFBRSxTQUFTLDZDQUFFLGVBQWU7OzJGQUUvTix3QkFBd0I7a0JBVHBDLFNBQVM7K0JBQ0ksbUJBQW1CLGFBR2xCLDZCQUE2QiwwQkFBMEIsbUJBQ2pELHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUM7d0RBeUJuTyxZQUFZO3NCQURuQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBMEI1QixNQUFNO3NCQURoQixLQUFLO2dCQU1LLGdCQUFnQjtzQkFEMUIsS0FBSztnQkFnQkssUUFBUTtzQkFEbEIsS0FBSztnQkFNSyxhQUFhO3NCQUR2QixNQUFNO2dCQVdJLFdBQVc7c0JBRHJCLEtBQUs7Z0JBYUssYUFBYTtzQkFEdkIsS0FBSztnQkFZSyxZQUFZO3NCQUR0QixLQUFLO2dCQVlLLFlBQVk7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LCBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLCBNYXRBdXRvY29tcGxldGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge01hdENoaXBJbnB1dEV2ZW50LCBNYXRDaGlwR3JpZCwgTWF0Q2hpcFJvdywgTWF0Q2hpcFJlbW92ZSwgTWF0Q2hpcElucHV0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SVN1Z2dlc3Rpb25Qcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3N1Z2dlc3Rpb24tcHJvdmlkZXInO1xuaW1wb3J0IHtGb3JtRmllbGRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZm9ybS1maWVsZC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge2J1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvdGVtcGxhdGUtY29tcG9zaXRlLWNvbnRyb2wnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGUsIE1hdE9wdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01hdElucHV0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRGb3JtRmllbGQsIE1hdExhYmVsfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1sYWJlbC1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGFiZWxzLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVycyhFbGRlckxhYmVsSW5wdXRDb21wb25lbnQpLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdEZvcm1GaWVsZCwgTmdJZiwgTWF0TGFiZWwsIE1hdENoaXBHcmlkLCBOZ0ZvciwgTWF0Q2hpcFJvdywgTWF0SWNvbiwgTWF0Q2hpcFJlbW92ZSwgTWF0SW5wdXQsIE1hdENoaXBJbnB1dCwgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEF1dG9jb21wbGV0ZSwgTWF0T3B0aW9uLCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMYWJlbElucHV0Q29tcG9uZW50PFQ+IGV4dGVuZHMgRm9ybUZpZWxkQmFzZUNvbXBvbmVudDxUW10+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfY29tcGFyZVdpdGg6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xuICBwcml2YXRlIF9uYW1lUmVzb2x2ZXI6IChvMTogYW55KSA9PiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbG9yUmVzb2x2ZXI6IChvMTogYW55KSA9PiBUaGVtZVBhbGV0dGU7XG4gIHByaXZhdGUgX2xhYmVsQnVpbGRlcjogKHJhd2lucHV0OiBzdHJpbmcpID0+IGFueVtdO1xuXG4gIHByaXZhdGUgX2FsbG93Q3JlYXRlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxJbnB1dENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIGF2YWlsYWJsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT4gPSBFTVBUWTtcblxuICBAVmlld0NoaWxkKCdsYWJlbElucHV0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHByaXZhdGUgaW5wdXRDb250cm9sOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZmxvYXRMYWJlbCA9ICdhdXRvJztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgY3VycmVudExhYmVscyQoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGxhYmVscyh2YWx1ZTogVFtdKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdWdnZXN0aW9uTG9hZGVyKHByb3ZpZGVyOiBJU3VnZ2VzdGlvblByb3ZpZGVyPGFueT4pIHtcbiAgICBpZiAocHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlU3VnZ2VzdGlvbnMkID0gdGhpcy5sYWJlbElucHV0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKDxzdHJpbmc+bnVsbCksXG4gICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiBwcm92aWRlci5sb2FkU3VnZ2VzdGlvbnModmFsdWUpKSxcbiAgICAgICAgbWFwKGxhYmVscyA9PiB0aGlzLmZpbHRlck5vdFByZXNlbnQobGFiZWxzKSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW50IHByb3ZpZGUgc3VnZ2VzdGlvbnMgc2luY2Ugbm8gc3VnZ2VzdGlvbiBwcm92aWRlciB3YXMgcmVnaXN0ZXJlZCEnKTtcbiAgICAgIHRoaXMuYXZhaWxhYmxlU3VnZ2VzdGlvbnMkID0gRU1QVFk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbGxvd05ldyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FsbG93Q3JlYXRlID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBsYWJlbHNDaGFuZ2VkKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGNvbXBhcmUgdGhlIG9wdGlvbiB2YWx1ZXMgd2l0aCB0aGUgc2VsZWN0ZWQgdmFsdWVzLiBUaGUgZmlyc3QgYXJndW1lbnRcbiAgICogaXMgYSB2YWx1ZSBmcm9tIGFuIG9wdGlvbi4gVGhlIHNlY29uZCBpcyBhIHZhbHVlIGZyb20gdGhlIHNlbGVjdGlvbi4gQSBib29sZWFuXG4gICAqIHNob3VsZCBiZSByZXR1cm5lZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29tcGFyZVdpdGgoZm46IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XG4gIH1cblxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdGhlIGNvbG9yIG9mIGEgZ2l2ZW4gbGFiZWwgb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjb2xvclJlc29sdmVyKGZuOiAobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb2xvclJlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fY29sb3JSZXNvbHZlciA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgZGlzcGxheSBuYW1lIG9mIGEgZ2l2ZW4gbGFiZWwgb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lUmVzb2x2ZXIoZm46IChvMTogYW55KSA9PiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25hbWVSZXNvbHZlciBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX25hbWVSZXNvbHZlciA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBvbmUgb3IgbW9yZSBsYWJlbHMgZm9yIGEgZ2l2ZW4gcmF3IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsYWJlbEJ1aWxkZXIoZm46IChyYXdpbnB1dDogc3RyaW5nKSA9PiBhbnlbXSkge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbGFiZWxCdWlsZGVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fbGFiZWxCdWlsZGVyID0gZm47XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZS1DeWNsZSBFdmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbGFiZWxTZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgIGNvbnNvbGUubG9nKCdsYWJlbFNlbGVjdGVkOicsIGV2ZW50KTtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBldmVudC5vcHRpb24udmFsdWU7XG4gICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgICB0aGlzLmFkZExhYmVsKHNlbGVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZU5ld0xhYmVscyhldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWxsb3dDcmVhdGUpIHtcblxuICAgICAgY29uc3QgaW5wdXQgPSBldmVudC5pbnB1dDtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG5cbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBjb25zdCBteUxhYmVscyA9IHRoaXMuYnVpbGRMYWJlbHModmFsdWUpO1xuICAgICAgICB0aGlzLmFkZExhYmVscyhteUxhYmVscyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAvLyBpbnB1dC52YWx1ZSA9ICcnOyAvLyByZXNldCBpbnB1dFxuICAgICAgICB0aGlzLnJlc2V0SW5wdXQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkTGFiZWxzKGxhYmVsczogVFtdKSB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XG4gICAgdGhpcy5yZXBsYWNlV2l0aChbLi4uY3VycmVudCwgLi4ubGFiZWxzXSk7XG4gIH1cblxuICBwdWJsaWMgYWRkTGFiZWwobGFiZWw6IGFueSkge1xuICAgIHRoaXMuYWRkTGFiZWxzKFtsYWJlbF0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUxhYmVsKHRvUmVtb3ZlOiBUKTogdm9pZCB7XG5cbiAgICBjb25zdCByZW1haW5pbmcgPSB0aGlzLnZhbHVlXG4gICAgICAuZmlsdGVyKGwgPT4gIXRoaXMuYXJlRXF1YWwobCwgdG9SZW1vdmUpKTtcblxuICAgIHRoaXMucmVwbGFjZVdpdGgocmVtYWluaW5nKTtcbiAgfVxuXG4gIHB1YmxpYyByZXBsYWNlV2l0aChsYWJlbHM6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUobGFiZWxzKTtcbiAgfVxuXG4gIHB1YmxpYyBsYWJlbE5hbWUobGFiZWw6IFQpOiBzdHJpbmcge1xuICAgIGlmIChsYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX25hbWVSZXNvbHZlciA/ICB0aGlzLl9uYW1lUmVzb2x2ZXIobGFiZWwpIDogbGFiZWwudG9TdHJpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsYWJlbENvbG9yKGxhYmVsOiBUKTogVGhlbWVQYWxldHRlIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3JSZXNvbHZlciA/ICB0aGlzLl9jb2xvclJlc29sdmVyKGxhYmVsKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVzZXRJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Q29udHJvbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFiZWxzKHJhd05hbWU6IHN0cmluZyk6IGFueVtdIHtcbiAgICBpZiAodGhpcy5fbGFiZWxCdWlsZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbGFiZWxCdWlsZGVyKHJhd05hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW3Jhd05hbWVdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyTm90UHJlc2VudChzdWdnZXN0aW9uczogYW55W10pOiBhbnlbXSB7XG4gICAgaWYgKHN1Z2dlc3Rpb25zKSB7XG5cbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBzdWdnZXN0aW9uc1xuICAgICAgICAgIC5maWx0ZXIobCA9PiBsKVxuICAgICAgICAgIC5maWx0ZXIobCA9PiAhdGhpcy52YWx1ZS5zb21lKGVsID0+IHRoaXMuYXJlRXF1YWwoZWwsIGwpKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc3VnZ2VzdGlvbnM7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFyZUVxdWFsKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBhcmVXaXRoID8gdGhpcy5fY29tcGFyZVdpdGgoYSwgYikgOiBhID09PSBiO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gIGNsYXNzPVwiZnVsbC13aWR0aFwiXG4gIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICBbY29sb3JdPVwiY29sb3JcIlxuPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cblxuICA8bWF0LWNoaXAtZ3JpZCAjY2hpcHM+XG4gICAgPG1hdC1jaGlwLXJvdyAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgY3VycmVudExhYmVscyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwibm9zZWxlY3RcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwibGFiZWxDb2xvcihsYWJlbClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cInJlbW92YWJsZVwiXG4gICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZUxhYmVsKGxhYmVsKVwiXG4gICAgPlxuICAgICAge3tsYWJlbE5hbWUobGFiZWwpfX1cbiAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlICpuZ0lmPVwiIXJlYWRvbmx5ICYmIHJlbW92YWJsZVwiPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9tYXQtY2hpcC1yb3c+XG5cbiAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBzXCJcbiAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJsYWJlbEF1dG9Db21wbGV0ZVwiXG4gICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJsYWJlbElucHV0Q29udHJvbFwiXG4gICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJjcmVhdGVOZXdMYWJlbHMoJGV2ZW50KVwiXG4gICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAjbGFiZWxJbnB1dD5cbiAgPC9tYXQtY2hpcC1ncmlkPlxuXG4gIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAjbGFiZWxBdXRvQ29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgcGFuZWxXaWR0aD1cImF1dG9cIlxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImxhYmVsU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIGF2YWlsYWJsZVN1Z2dlc3Rpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInN1Z2dlc3Rpb25cIj5cbiAgICAgIHt7bGFiZWxOYW1lKHN1Z2dlc3Rpb24pfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPC9tYXQtZm9ybS1maWVsZD5cblxuIl19