@elderbyte/ngx-starter 17.11.0-beta → 17.11.0-beta2
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.
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +4 -4
- package/esm2022/lib/common/format/curency-format-util.mjs +43 -0
- package/esm2022/lib/common/format/duration-format-util.mjs +44 -0
- package/esm2022/lib/common/format/iso-interval-format-util.mjs +109 -0
- package/esm2022/lib/common/format/public_api.mjs +4 -1
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/form-field-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/template-composite-control.mjs +4 -4
- package/esm2022/lib/common/forms/value-accessor-base.mjs +4 -4
- package/esm2022/lib/common/http/http-client-builder.service.mjs +4 -4
- package/esm2022/lib/common/http/http-client-pristine.mjs +4 -4
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
- package/esm2022/lib/common/url/elder-router.service.mjs +4 -4
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -4
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +4 -4
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +5 -5
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +4 -4
- package/esm2022/lib/components/badge/elder-badge.module.mjs +5 -5
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -5
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +19 -19
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +5 -5
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +4 -4
- package/esm2022/lib/components/chips/elder-chips.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
- package/esm2022/lib/components/containers/elder-containers.module.mjs +5 -5
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +16 -13
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +4 -4
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -4
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +7 -7
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -4
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +10 -10
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +5 -5
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +4 -4
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
- package/esm2022/lib/components/errors/elder-error.module.mjs +5 -5
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +4 -4
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file.module.mjs +5 -5
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +4 -4
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +4 -4
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +5 -5
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
- package/esm2022/lib/components/forms/elder-forms.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +21 -28
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +46 -0
- package/esm2022/lib/components/forms/search/filter/include-exclude-input-converter.mjs +1 -1
- package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +2 -0
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +5 -5
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
- package/esm2022/lib/components/headers/elder-header.module.mjs +5 -5
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +5 -5
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +4 -4
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +5 -5
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +5 -5
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe.service.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +5 -5
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +5 -5
- package/esm2022/lib/components/labels/elder-labels.module.mjs +5 -5
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +4 -4
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +4 -4
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
- package/esm2022/lib/components/measures/elder-measures.module.mjs +9 -9
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +5 -16
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +15 -46
- package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +8 -10
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -4
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +70 -4
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +5 -5
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-panel.module.mjs +5 -5
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +10 -10
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +4 -4
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +5 -5
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +4 -4
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-base.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +10 -10
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
- package/esm2022/lib/components/select/filter/elder-chips-filter.directive.mjs +4 -4
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +5 -5
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell.module.mjs +5 -5
- package/esm2022/lib/components/shell/elder-shell.service.mjs +4 -4
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +13 -13
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme.service.mjs +4 -4
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +4 -4
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +4 -4
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +5 -5
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +4 -4
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +4 -4
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +5 -5
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +4 -4
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +4 -4
- package/esm2022/lib/features/kafent/access-token-provider.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-config.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent.module.mjs +5 -5
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
- package/esm2022/lib/pipes/bytes.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-pipes.module.mjs +11 -11
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-round.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +8 -26
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +24 -73
- package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-duration.pipe.mjs +4 -4
- package/esm2022/lib/pipes/weight.pipe.mjs +4 -4
- package/fesm2022/elderbyte-ngx-starter.mjs +2630 -2470
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/format/curency-format-util.d.ts +24 -0
- package/lib/common/format/duration-format-util.d.ts +23 -0
- package/lib/{components/forms/search/filter/default-input-converter.d.ts → common/format/iso-interval-format-util.d.ts} +13 -11
- package/lib/common/format/public_api.d.ts +3 -0
- package/lib/components/currency/elder-currency.pipe.d.ts +7 -4
- package/lib/components/forms/search/elder-search-input.directive.d.ts +8 -13
- package/lib/components/forms/search/filter/default-input-filter-converter.d.ts +31 -0
- package/lib/components/forms/search/filter/include-exclude-input-converter.d.ts +2 -2
- package/lib/components/forms/search/filter/input-filter-converter.d.ts +16 -0
- package/lib/components/measures/elder-quantity.pipe.d.ts +4 -15
- package/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.d.ts +2 -4
- package/lib/components/measures/util/elder-quantity.service.d.ts +12 -0
- package/lib/pipes/iso-duration.pipe.d.ts +0 -3
- package/lib/pipes/iso-interval.pipe.d.ts +5 -12
- package/package.json +1 -1
- package/esm2022/lib/components/forms/search/filter/default-input-converter.mjs +0 -32
- package/esm2022/lib/components/forms/search/filter/input-converter.mjs +0 -2
- package/lib/components/forms/search/filter/input-converter.d.ts +0 -7
package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs
CHANGED
|
@@ -68,11 +68,11 @@ export class IframeSideContentComponent {
|
|
|
68
68
|
queryParamsHandling: 'merge'
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IframeSideContentComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ElderShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: IframeSideContentComponent, isStandalone: true, selector: "elder-i-frame-side-host", ngImport: i0, template: "<div *ngIf=\"iframeParams$ | async as iFrameParams\"\n [style.width]=\"iFrameParams.width\" class=\"full\"\n>\n <elder-i-frame-host class=\"full\"\n [iframeParams]=\"iFrameParams\"\n (close)=\"close($event)\">\n </elder-i-frame-host>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IframeHostComponent, selector: "elder-i-frame-host", inputs: ["iframeParams"], outputs: ["message", "close"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IframeSideContentComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{ selector: 'elder-i-frame-side-host', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, IframeHostComponent, AsyncPipe], template: "<div *ngIf=\"iframeParams$ | async as iFrameParams\"\n [style.width]=\"iFrameParams.width\" class=\"full\"\n>\n <elder-i-frame-host class=\"full\"\n [iframeParams]=\"iFrameParams\"\n (close)=\"close($event)\">\n </elder-i-frame-host>\n</div>\n" }]
|
|
77
77
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ElderShellService }] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLXNpZGUtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lmcmFtZXMvaWZyYW1lLXNpZGUtY29udGVudC9pZnJhbWUtc2lkZS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaWZyYW1lcy9pZnJhbWUtc2lkZS1jb250ZW50L2lmcmFtZS1zaWRlLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFlLG1CQUFtQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7O0FBVWhELE1BQU0sT0FBTywwQkFBMEI7SUFFckM7Ozs7Z0ZBSTRFO2FBRXBELHdCQUFtQixHQUFHLFFBQVEsQUFBWCxDQUFZO2FBQy9CLHNCQUFpQixHQUFHLE9BQU8sQUFBVixDQUFXO0lBUXBEOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE1BQWMsRUFDZCxLQUFxQixFQUNyQixZQUErQjtRQUYvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBZnhCLFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFaEMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBZSxJQUFJLENBQUMsQ0FBQztRQWF0RSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQjtnQkFDRSxNQUFNLEVBQUUsTUFBTSxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDO2dCQUM5RCxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFFBQVE7YUFDbkMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsS0FBVyxDQUFDO0lBRXBCLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsS0FBSyxDQUFDLElBQVU7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FDckMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUN4QjtZQUNFLDBCQUEwQixDQUFDLG1CQUFtQjtZQUM5QywwQkFBMEIsQ0FBQyxpQkFBaUI7U0FDN0MsQ0FDSixDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGlCQUFpQixDQUFDLFVBQW9CO1FBQzVDLE1BQU0sTUFBTSxHQUFXLEVBQUUsQ0FBQztRQUMxQixVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUUsTUFBTTtZQUNuQixtQkFBbUIsRUFBRSxPQUFPO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcEZVLDBCQUEwQjttR0FBMUIsMEJBQTBCLG1GQ2pCdkMsNlNBUUEsMERET2MsSUFBSSw2RkFBRSxtQkFBbUIsbUhBQUUsU0FBUzs7NEZBRXJDLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0lGcmFtZVBhcmFtcywgSWZyYW1lSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaWZyYW1lLWhvc3QvaWZyYW1lLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTaGVsbFNlcnZpY2V9IGZyb20gJy4uLy4uL3NoZWxsL2VsZGVyLXNoZWxsLnNlcnZpY2UnO1xuaW1wb3J0IHtOZ0lmLCBBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWxkZXItaS1mcmFtZS1zaWRlLWhvc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pZnJhbWUtc2lkZS1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pZnJhbWUtc2lkZS1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgSWZyYW1lSG9zdENvbXBvbmVudCwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBJZnJhbWVTaWRlQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9QQVJBTV9TUkNfVVJMID0gJ3NyY1VybCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFFVRVJZX1BBUkFNX1dJRFRIID0gJ3dpZHRoJztcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlmcmFtZVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElGcmFtZVBhcmFtcz4obnVsbCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNoZWxsU2VydmljZTogRWxkZXJTaGVsbFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgKS5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIHRoaXMuaWZyYW1lUGFyYW1zJC5uZXh0KFxuICAgICAgICB7XG4gICAgICAgICAgc3JjVXJsOiBwYXJhbXNbSWZyYW1lU2lkZUNvbnRlbnRDb21wb25lbnQuUVVFUllfUEFSQU1fU1JDX1VSTF0sXG4gICAgICAgICAgd2lkdGg6IHBhcmFtc1snd2lkdGgnXSB8fCAnMTAwMHB4J1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmVjeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBjbG9zZShkYXRhPzogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zaGVsbFNlcnZpY2UuY2xvc2VTaWRlQ29udGVudCgpLnRoZW4oXG4gICAgICAgICgpID0+IHRoaXMucmVtb3ZlUXVlcnlQYXJhbXMoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIElmcmFtZVNpZGVDb250ZW50Q29tcG9uZW50LlFVRVJZX1BBUkFNX1NSQ19VUkwsXG4gICAgICAgICAgICAgIElmcmFtZVNpZGVDb250ZW50Q29tcG9uZW50LlFVRVJZX1BBUkFNX1dJRFRIXG4gICAgICAgICAgICBdXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZW1vdmVRdWVyeVBhcmFtcyhwYXJhbU5hbWVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmFtczogUGFyYW1zID0ge307XG4gICAgcGFyYW1OYW1lcy5mb3JFYWNoKHBhcmFtTmFtZSA9PiBwYXJhbXNbcGFyYW1OYW1lXSA9IG51bGwpO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiBwYXJhbXMsXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG4gICAgfSk7XG4gIH1cblxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiaWZyYW1lUGFyYW1zJCB8IGFzeW5jIGFzIGlGcmFtZVBhcmFtc1wiXG4gICAgIFtzdHlsZS53aWR0aF09XCJpRnJhbWVQYXJhbXMud2lkdGhcIiBjbGFzcz1cImZ1bGxcIlxuPlxuICAgIDxlbGRlci1pLWZyYW1lLWhvc3QgY2xhc3M9XCJmdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZnJhbWVQYXJhbXNdPVwiaUZyYW1lUGFyYW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZSk9XCJjbG9zZSgkZXZlbnQpXCI+XG4gICAgPC9lbGRlci1pLWZyYW1lLWhvc3Q+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -40,13 +40,13 @@ export class IframeService {
|
|
|
40
40
|
postDataMessage(message) {
|
|
41
41
|
IframeService.postToParent(message);
|
|
42
42
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
44
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IframeService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IframeService, providedIn: 'root' }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IframeService, decorators: [{
|
|
47
47
|
type: Injectable,
|
|
48
48
|
args: [{
|
|
49
49
|
providedIn: 'root'
|
|
50
50
|
}]
|
|
51
51
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lmcmFtZXMvaWZyYW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7OztBQUtqRCxNQUFNLE9BQU8sYUFBYTtJQUVmLE1BQU0sQ0FBQyxZQUFZLENBQU8sT0FBZ0M7UUFDN0QsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsT0FBTyxFQUNQLEdBQUcsQ0FDSixDQUFDLENBQUUscUJBQXFCO0lBQzdCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsWUFDUyxNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQ3RCLENBQUM7SUFFTDs7OztnRkFJNEU7SUFFckUsZ0JBQWdCLENBQUksTUFBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBeUMscUJBQXFCLEVBQUU7WUFDbkYsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixRQUFRLEVBQUUsT0FBTztZQUNqQixTQUFTLEVBQUUsT0FBTztZQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNO1lBQzdCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU07WUFDL0IsSUFBSSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGdCQUFnQixDQUFJLElBQVE7UUFDL0IsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLGlCQUFpQixDQUM5QyxjQUFjLENBQUMsS0FBSyxFQUNwQixJQUFJLENBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVJLHlCQUF5QixDQUFJLElBQVE7UUFDMUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLGlCQUFpQixDQUM5QyxjQUFjLENBQUMsZ0JBQWdCLEVBQy9CLElBQUksQ0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsZUFBZSxDQUFPLE9BQWdDO1FBQ3pELGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0FwRFEsYUFBYTttSEFBYixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtJZnJhbWVEaWFsb2dDb21wb25lbnR9IGZyb20gJy4vaWZyYW1lLWRpYWxvZy9pZnJhbWUtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0lGcmFtZVBhcmFtc30gZnJvbSAnLi9pZnJhbWUtaG9zdC9pZnJhbWUtaG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHtUeXBlZEV2ZW50TWVzc2FnZX0gZnJvbSAnLi90eXBlZC1ldmVudC1tZXNzYWdlJztcbmltcG9ydCB7SWZyYW1lTWVzc2FnZXN9IGZyb20gJy4vaWZyYW1lLW1lc3NhZ2VzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZnJhbWVTZXJ2aWNlIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcG9zdFRvUGFyZW50PFQsIEQ+KG1lc3NhZ2U6IFR5cGVkRXZlbnRNZXNzYWdlPFQsIEQ+KTogdm9pZCB7XG4gICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICcqJ1xuICAgICAgICApOyAgLy8gIGAqYCBvbiBhbnkgZG9tYWluXG4gICAgfVxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nXG4gICAgKSB7IH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBwdWJsaWMgb3BlbklmcmFtZURpYWxvZzxSPihwYXJhbXM6IElGcmFtZVBhcmFtcyk6IE9ic2VydmFibGU8Uj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbjxJZnJhbWVEaWFsb2dDb21wb25lbnQsIElGcmFtZVBhcmFtcywgUj4oSWZyYW1lRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnbm8tcGFkZGluZy1kaWFsb2cnLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICcxMDB2dycsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICcxMDB2aCcsXG4gICAgICAgICAgICB3aWR0aDogcGFyYW1zLndpZHRoIHx8ICc5MHZ3JyxcbiAgICAgICAgICAgIGhlaWdodDogcGFyYW1zLmhlaWdodCB8fCAnOTB2aCcsXG4gICAgICAgICAgICBkYXRhOiBwYXJhbXNcbiAgICAgICAgfSkuYWZ0ZXJDbG9zZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcG9zdENsb3NlTWVzc2FnZTxUPihkYXRhPzogVCk6IHZvaWQge1xuICAgICAgICBJZnJhbWVTZXJ2aWNlLnBvc3RUb1BhcmVudChuZXcgVHlwZWRFdmVudE1lc3NhZ2U8c3RyaW5nLCBUPihcbiAgICAgICAgICBJZnJhbWVNZXNzYWdlcy5DTE9TRSxcbiAgICAgICAgICBkYXRhXG4gICAgICAgICkpO1xuICAgIH1cblxuICBwdWJsaWMgcG9zdFZpZXdSZWFkeUV2ZW50TWVzc2FnZTxUPihkYXRhPzogVCk6IHZvaWQge1xuICAgIElmcmFtZVNlcnZpY2UucG9zdFRvUGFyZW50KG5ldyBUeXBlZEV2ZW50TWVzc2FnZTxzdHJpbmcsIFQ+KFxuICAgICAgSWZyYW1lTWVzc2FnZXMuVklFV19SRUFEWV9FVkVOVCxcbiAgICAgIGRhdGFcbiAgICApKTtcbiAgfVxuXG4gICAgcHVibGljIHBvc3REYXRhTWVzc2FnZTxULCBEPihtZXNzYWdlOiBUeXBlZEV2ZW50TWVzc2FnZTxULCBEPik6IHZvaWQge1xuICAgICAgICBJZnJhbWVTZXJ2aWNlLnBvc3RUb1BhcmVudChtZXNzYWdlKTtcbiAgICB9XG5cblxufVxuIl19
|
|
@@ -44,10 +44,10 @@ export class ElderInfiniteAutocompleteDirective {
|
|
|
44
44
|
this.unsubscribe$.next();
|
|
45
45
|
this.unsubscribe$.complete();
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
48
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteAutocompleteDirective, deps: [{ token: i1.MatAutocomplete, host: true }, { token: i2.ElderInfiniteScrollDirective, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
48
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ElderInfiniteAutocompleteDirective, isStandalone: true, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]", ngImport: i0 }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteAutocompleteDirective, decorators: [{
|
|
51
51
|
type: Directive,
|
|
52
52
|
args: [{
|
|
53
53
|
selector: 'mat-autocomplete[elderElderInfiniteAutocomplete]',
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
58
58
|
}] }, { type: i2.ElderInfiniteScrollDirective, decorators: [{
|
|
59
59
|
type: Host
|
|
60
60
|
}] }] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5maW5pdGUtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU85QyxNQUFNLE9BQU8sa0NBQWtDO0lBYTdDOzs7O2dGQUk0RTtJQUU1RSxZQUMwQixZQUE2QixFQUM3QixjQUE0QztRQUQ1QyxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBbEJ0RTs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFhbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsa0RBQWtEO1FBRTVGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDNUIsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLCtFQUErRTtZQUMvRSxpREFBaUQ7WUFDakQsa0VBQWtFO1lBQ2xFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQzlFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0QsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzNCLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQ0QsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsS0FBVyxDQUFDO0lBRXBCLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBekRVLGtDQUFrQzttR0FBbEMsa0NBQWtDOzs0RkFBbEMsa0NBQWtDO2tCQUo5QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBcUJJLElBQUk7OzBCQUNKLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWF0LWF1dG9jb21wbGV0ZVtlbGRlckVsZGVySW5maW5pdGVBdXRvY29tcGxldGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVySW5maW5pdGVBdXRvY29tcGxldGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IGF1dG9Db21wbGV0ZTogTWF0QXV0b2NvbXBsZXRlLFxuICAgIEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IGluZmluaXRlU2Nyb2xsOiBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlXG4gICkge1xuXG4gICAgdGhpcy5pbmZpbml0ZVNjcm9sbC5saXN0ZW5Ub0hvc3QgPSBmYWxzZTsgLy8gV2UgZmluZCB0aGUgc2Nyb2xsIGNvbnRhaW5lciB3aXRoIG91ciBvd24gbG9naWNcblxuICAgIHRoaXMuYXV0b0NvbXBsZXRlLm9wZW5lZC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIC8vIE5vdGU6IFdoZW4gYXV0b2NvbXBsZXRlIHJhaXNlcyBvcGVuZWQsIHBhbmVsIGlzIG5vdCB5ZXQgY3JlYXRlZCAoYnkgT3ZlcmxheSlcbiAgICAgICAgLy8gTm90ZTogVGhlIHBhbmVsIHdpbGwgYmUgYXZhaWxhYmxlIG9uIG5leHQgdGlja1xuICAgICAgICAvLyBOb3RlOiBUaGUgcGFuZWwgd2lsIE5PVCBvcGVuIGlmIHRoZXJlIGFyZSBubyBvcHRpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbmZpbml0ZVNjcm9sbC5zY3JvbGxDb250YWluZXIgPSB0aGlzLmF1dG9Db21wbGV0ZS5wYW5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5hdXRvQ29tcGxldGUuY2xvc2VkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5pbmZpbml0ZVNjcm9sbC5zY3JvbGxDb250YWluZXIgPSBudWxsO1xuICAgICAgfSksXG4gICAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUtQ3ljbGUgSG9va3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuXG59XG4iXX0=
|
|
@@ -132,10 +132,10 @@ export class ElderInfiniteScrollDirective {
|
|
|
132
132
|
return false;
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
136
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteScrollDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
136
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ElderInfiniteScrollDirective, isStandalone: true, selector: "[elderInfiniteScroll]", inputs: { listenToHost: "listenToHost", eventThrottle: "eventThrottle", offsetFactor: "offsetFactor", ignoreScrollEvent: "ignoreScrollEvent", containerId: "containerId", scrollContainer: "scrollContainer" }, outputs: { closeToEnd: "closeToEnd", scrolling: "scrolling" }, ngImport: i0 }); }
|
|
137
137
|
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteScrollDirective, decorators: [{
|
|
139
139
|
type: Directive,
|
|
140
140
|
args: [{
|
|
141
141
|
selector: '[elderInfiniteScroll]',
|
|
@@ -158,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
158
158
|
}], scrollContainer: [{
|
|
159
159
|
type: Input
|
|
160
160
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBNkIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFPdkUsTUFBTSxPQUFPLDRCQUE0QjtJQStCdkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLE1BQWMsRUFDZCxPQUFtQjtRQURuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQXJDdEM7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHbEUsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFHcEIsa0JBQWEsR0FBRyxHQUFHLENBQUM7UUFHcEIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFHakIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBSWhCLDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsSUFBSSxhQUFhLENBQVUs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LE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztZQUMvQyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7OEdBdktVLDRCQUE0QjtrR0FBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtvR0FZUSxZQUFZO3NCQURsQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBb0ZLLFVBQVU7c0JBRHBCLE1BQU07Z0JBU0ksU0FBUztzQkFEbkIsTUFBTTtnQkFNSSxXQUFXO3NCQURyQixLQUFLO2dCQVdLLGVBQWU7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2xhenlTYW1wbGVUaW1lfSBmcm9tICcuLi8uLi9jb21tb24vcnhqcy9vcGVyYXRvcnMvbGF6eS1zYW1wbGUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVySW5maW5pdGVTY3JvbGxdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsaXN0ZW5Ub0hvc3QgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBldmVudFRocm90dGxlID0gMTgwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvZmZzZXRGYWN0b3IgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZ25vcmVTY3JvbGxFdmVudCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc2Nyb2xsRXZlbnRMaXN0ZW5lck9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3pvbmVkb3V0U2Nyb2xsRXZlbnRzID0gbmV3IFN1YmplY3Q8VUlFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xvc2VUb0VuZFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxVSUV2ZW50PigxKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2Nyb2xsaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9zY3JvbGxDb250YWluZXI6IEhUTUxFbGVtZW50O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0UmVmOiBFbGVtZW50UmVmXG4gICkge1xuXG4gICAgdGhpcy5zY3JvbGxFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiB0cnVlfTtcblxuICAgIGNvbnN0IHNjcm9sbEV2ZW50cyQgPSB0aGlzLl96b25lZG91dFNjcm9sbEV2ZW50cy5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgZmlsdGVyKGV2ID0+ICEhKGV2LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpXG4gICAgKTtcblxuICAgIHNjcm9sbEV2ZW50cyQucGlwZShcbiAgICAgIGxhenlTYW1wbGVUaW1lKHRoaXMuZXZlbnRUaHJvdHRsZSwgdHJ1ZSksIC8vIFJlbGF4XG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICBldmVudCA9PiB7XG5cbiAgICAgICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDbG9zZVRvRW5kKGV2ZW50VGFyZ2V0KSkge1xuICAgICAgICAgIC8vIFRoZSB6b25lZCBvdXQgZXZlbnRzIGFyZSBub3QgdHJhY2tlZCBieSBhbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gZm9yIHBlcmZvcm1hbmNlLlxuICAgICAgICAgIC8vIEFmdGVyIHdlIGhhdmUgZGVib3VuY2VkIGFuZCBkaXN0aWxsZWQgb3V0IGFuIGludGVyZXN0aW5nIGNsb3NlLXRvLWVuZCBldmVudCwgd2UgbGV0IGFuZ3VsYXIga25vdzpcbiAgICAgICAgICB0aGlzLl9jbG9zZVRvRW5kU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICBzY3JvbGxFdmVudHMkLnBpcGUoXG4gICAgICB0YXAoZXYgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuX3Njcm9sbGluZ1N1YmplY3QuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgIHRoaXMuX3Njcm9sbGluZ1N1YmplY3QubmV4dCh0cnVlKTsgIC8vIFNjcm9sbGluZyBTdGFydGVkXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMClcbiAgICApLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAodGhpcy5fc2Nyb2xsaW5nU3ViamVjdC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbGluZ1N1YmplY3QubmV4dChmYWxzZSk7ICAgLy8gU2Nyb2xsaW5nIEVuZGVkXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZS1DeWNsZSBIb29rcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdGVuVG9Ib3N0ICYmICF0aGlzLnNjcm9sbENvbnRhaW5lcikge1xuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMudW5yZWdpc3Rlcih0aGlzLl9zY3JvbGxDb250YWluZXIpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgY2xvc2VUb0VuZCgpOiBPYnNlcnZhYmxlPFVJRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VUb0VuZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogSXMgdGhlIHVzZXIgY3VycmVudGx5IHNjcm9sbGluZz9cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHNjcm9sbGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29udGFpbmVySWQoY29udGFpbmVySWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHNjcm9sbENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lcklkKTtcbiAgICBpZiAoc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLnNjcm9sbENvbnRhaW5lciA9IHNjcm9sbENvbnRhaW5lcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIud2FybignQ291bGQgbm90IGZpbmQgc2Nyb2xsLWNvbnRhaW5lciBieSBpZDogJyArIGNvbnRhaW5lcklkKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNjcm9sbENvbnRhaW5lcihjb250YWluZXI6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy51bnJlZ2lzdGVyKHRoaXMuX3Njcm9sbENvbnRhaW5lcik7XG4gICAgdGhpcy5fc2Nyb2xsQ29udGFpbmVyID0gY29udGFpbmVyO1xuICAgIHRoaXMucmVnaXN0ZXIodGhpcy5fc2Nyb2xsQ29udGFpbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2Nyb2xsQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQ29udGFpbmVyO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWdpc3RlcihzY3JvbGxDb250YWluZXI6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHNjcm9sbENvbnRhaW5lcikge1xuICAgICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ1JlZ2lzdGVyZWQgb24gc2Nyb2xsIGNvbnRhaW5lcjogJywgdGhpcy5fc2Nyb2xsQ29udGFpbmVyKTtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgLy8gQXR0YWNoIHRoZSBzY3JvbGwgZXZlbnQgbGlzdGVuZXIgb3V0c2lkZSBvZiBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gem9uZVxuICAgICAgICBzY3JvbGxDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGwsIHRoaXMuc2Nyb2xsRXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bnJlZ2lzdGVyKHNjcm9sbENvbnRhaW5lcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGwsIHRoaXMuc2Nyb2xsRXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNDbG9zZVRvRW5kKGVsOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGlmIChlbCkge1xuICAgICAgY29uc3QgcmFuZ2UgPSBlbC5vZmZzZXRIZWlnaHQgKiB0aGlzLm9mZnNldEZhY3RvcjtcbiAgICAgIGNvbnN0IHRvdGFsID0gZWwuc2Nyb2xsSGVpZ2h0O1xuICAgICAgY29uc3QgY3VycmVudCA9IGVsLnNjcm9sbFRvcCArIGVsLm9mZnNldEhlaWdodDtcbiAgICAgIHJldHVybiAodG90YWwgLSBjdXJyZW50KSA8IHJhbmdlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbCBldmVudCBoYW5kbGVyLCBpbnZva2VkIG91dHNpZGUgb2YgYW5ndWxhciB6b25lLlxuICAgKi9cbiAgcHJpdmF0ZSBzY3JvbGwgPSAoZXY6IFVJRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5pZ25vcmVTY3JvbGxFdmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl96b25lZG91dFNjcm9sbEV2ZW50cy5uZXh0KGV2KTtcbiAgfVxuXG59XG4iXX0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBNkIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFPdkUsTUFBTSxPQUFPLDRCQUE0QjtJQStCdkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLE1BQWMsRUFDZCxPQUFtQjtRQURuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQXJDdEM7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHbEUsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFHcEIsa0JBQWEsR0FBRyxHQUFHLENBQUM7UUFHcEIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFHakIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBSWhCLDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsSUFBSSxhQUFhLENBQVUs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LE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztZQUMvQyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7K0dBdktVLDRCQUE0QjttR0FBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtvR0FZUSxZQUFZO3NCQURsQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBb0ZLLFVBQVU7c0JBRHBCLE1BQU07Z0JBU0ksU0FBUztzQkFEbkIsTUFBTTtnQkFNSSxXQUFXO3NCQURyQixLQUFLO2dCQVdLLGVBQWU7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2xhenlTYW1wbGVUaW1lfSBmcm9tICcuLi8uLi9jb21tb24vcnhqcy9vcGVyYXRvcnMvbGF6eS1zYW1wbGUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVySW5maW5pdGVTY3JvbGxdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsaXN0ZW5Ub0hvc3QgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBldmVudFRocm90dGxlID0gMTgwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvZmZzZXRGYWN0b3IgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZ25vcmVTY3JvbGxFdmVudCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc2Nyb2xsRXZlbnRMaXN0ZW5lck9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3pvbmVkb3V0U2Nyb2xsRXZlbnRzID0gbmV3IFN1YmplY3Q8VUlFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xvc2VUb0VuZFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxVSUV2ZW50PigxKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2Nyb2xsaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9zY3JvbGxDb250YWluZXI6IEhUTUxFbGVtZW50O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0UmVmOiBFbGVtZW50UmVmXG4gICkge1xuXG4gICAgdGhpcy5zY3JvbGxFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiB0cnVlfTtcblxuICAgIGNvbnN0IHNjcm9sbEV2ZW50cyQgPSB0aGlzLl96b25lZG91dFNjcm9sbEV2ZW50cy5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgZmlsdGVyKGV2ID0+ICEhKGV2LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpXG4gICAgKTtcblxuICAgIHNjcm9sbEV2ZW50cyQucGlwZShcbiAgICAgIGxhenlTYW1wbGVUaW1lKHRoaXMuZXZlbnRUaHJvdHRsZSwgdHJ1ZSksIC8vIFJlbGF4XG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICBldmVudCA9PiB7XG5cbiAgICAgICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDbG9zZVRvRW5kKGV2ZW50VGFyZ2V0KSkge1xuICAgICAgICAgIC8vIFRoZSB6b25lZCBvdXQgZXZlbnRzIGFyZSBub3QgdHJhY2tlZCBieSBhbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gZm9yIHBlcmZvcm1hbmNlLlxuICAgICAgICAgIC8vIEFmdGVyIHdlIGhhdmUgZGVib3VuY2VkIGFuZCBkaXN0aWxsZWQgb3V0IGFuIGludGVyZXN0aW5nIGNsb3NlLXRvLWVuZCBldmVudCwgd2UgbGV0IGFuZ3VsYXIga25vdzpcbiAgICAgICAgICB0aGlzLl9jbG9zZVRvRW5kU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICBzY3JvbGxFdmVudHMkLnBpcGUoXG4gICAgICB0YXAoZXYgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuX3Njcm9sbGluZ1N1YmplY3QuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgIHRoaXMuX3Njcm9sbGluZ1N1YmplY3QubmV4dCh0cnVlKTsgIC8vIFNjcm9sbGluZyBTdGFydGVkXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMClcbiAgICApLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAodGhpcy5fc2Nyb2xsaW5nU3ViamVjdC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbGluZ1N1YmplY3QubmV4dChmYWxzZSk7ICAgLy8gU2Nyb2xsaW5nIEVuZGVkXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZS1DeWNsZSBIb29rcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdGVuVG9Ib3N0ICYmICF0aGlzLnNjcm9sbENvbnRhaW5lcikge1xuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMudW5yZWdpc3Rlcih0aGlzLl9zY3JvbGxDb250YWluZXIpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgY2xvc2VUb0VuZCgpOiBPYnNlcnZhYmxlPFVJRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VUb0VuZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogSXMgdGhlIHVzZXIgY3VycmVudGx5IHNjcm9sbGluZz9cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHNjcm9sbGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29udGFpbmVySWQoY29udGFpbmVySWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHNjcm9sbENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lcklkKTtcbiAgICBpZiAoc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLnNjcm9sbENvbnRhaW5lciA9IHNjcm9sbENvbnRhaW5lcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIud2FybignQ291bGQgbm90IGZpbmQgc2Nyb2xsLWNvbnRhaW5lciBieSBpZDogJyArIGNvbnRhaW5lcklkKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNjcm9sbENvbnRhaW5lcihjb250YWluZXI6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy51bnJlZ2lzdGVyKHRoaXMuX3Njcm9sbENvbnRhaW5lcik7XG4gICAgdGhpcy5fc2Nyb2xsQ29udGFpbmVyID0gY29udGFpbmVyO1xuICAgIHRoaXMucmVnaXN0ZXIodGhpcy5fc2Nyb2xsQ29udGFpbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2Nyb2xsQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQ29udGFpbmVyO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWdpc3RlcihzY3JvbGxDb250YWluZXI6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHNjcm9sbENvbnRhaW5lcikge1xuICAgICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ1JlZ2lzdGVyZWQgb24gc2Nyb2xsIGNvbnRhaW5lcjogJywgdGhpcy5fc2Nyb2xsQ29udGFpbmVyKTtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgLy8gQXR0YWNoIHRoZSBzY3JvbGwgZXZlbnQgbGlzdGVuZXIgb3V0c2lkZSBvZiBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gem9uZVxuICAgICAgICBzY3JvbGxDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGwsIHRoaXMuc2Nyb2xsRXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bnJlZ2lzdGVyKHNjcm9sbENvbnRhaW5lcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGwsIHRoaXMuc2Nyb2xsRXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNDbG9zZVRvRW5kKGVsOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGlmIChlbCkge1xuICAgICAgY29uc3QgcmFuZ2UgPSBlbC5vZmZzZXRIZWlnaHQgKiB0aGlzLm9mZnNldEZhY3RvcjtcbiAgICAgIGNvbnN0IHRvdGFsID0gZWwuc2Nyb2xsSGVpZ2h0O1xuICAgICAgY29uc3QgY3VycmVudCA9IGVsLnNjcm9sbFRvcCArIGVsLm9mZnNldEhlaWdodDtcbiAgICAgIHJldHVybiAodG90YWwgLSBjdXJyZW50KSA8IHJhbmdlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbCBldmVudCBoYW5kbGVyLCBpbnZva2VkIG91dHNpZGUgb2YgYW5ndWxhciB6b25lLlxuICAgKi9cbiAgcHJpdmF0ZSBzY3JvbGwgPSAoZXY6IFVJRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5pZ25vcmVTY3JvbGxFdmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl96b25lZG91dFNjcm9sbEV2ZW50cy5uZXh0KGV2KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -6,13 +6,13 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
export { ElderInfiniteScrollDirective } from './elder-infinite-scroll.directive';
|
|
7
7
|
export { ElderInfiniteAutocompleteDirective } from './elder-infinite-autocomplete.directive';
|
|
8
8
|
export class ElderInfiniteScrollModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteScrollModule, imports: [CommonModule, ElderInfiniteScrollDirective,
|
|
11
11
|
ElderInfiniteAutocompleteDirective], exports: [ElderInfiniteScrollDirective,
|
|
12
12
|
ElderInfiniteAutocompleteDirective] }); }
|
|
13
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteScrollModule, imports: [CommonModule] }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderInfiniteScrollModule, decorators: [{
|
|
16
16
|
type: NgModule,
|
|
17
17
|
args: [{
|
|
18
18
|
exports: [
|
|
@@ -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,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFM0YsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFXM0YsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsWUFIeEIsWUFBWSxFQUFFLDRCQUE0QjtZQUNoRCxrQ0FBa0MsYUFKbEMsNEJBQTRCO1lBQzVCLGtDQUFrQztnSEFLN0IseUJBQXlCLFlBSHhCLFlBQVk7OzRGQUdiLHlCQUF5QjtrQkFSckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsNEJBQTRCO3dCQUM1QixrQ0FBa0M7cUJBQ3JDO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSw0QkFBNEI7d0JBQ2hELGtDQUFrQyxDQUFDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1pbmZpbml0ZS1hdXRvY29tcGxldGUuZGlyZWN0aXZlJztcblxuZXhwb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWluZmluaXRlLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckluZmluaXRlQXV0b2NvbXBsZXRlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlIHsgfVxuXG5cblxuIl19
|
|
@@ -197,10 +197,10 @@ export class ElderSuggestionPanelComponent {
|
|
|
197
197
|
calculatePageSize() {
|
|
198
198
|
return this.PAGE_SIZE + this.hiddenOptionsCount$.getValue();
|
|
199
199
|
}
|
|
200
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
201
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
200
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSuggestionPanelComponent, deps: [{ token: i0.NgZone }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
201
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: ElderSuggestionPanelComponent, isStandalone: true, selector: "elder-suggestion-panel", inputs: { isOptionDisabledFn: "isOptionDisabledFn", isOptionHiddenFn: "isOptionHiddenFn", optionValueConverterFn: "optionValueConverterFn", enabled: "enabled", valueTemplate: "valueTemplate", dataContext: "dataContext", dataSource: "dataSource", displayPropertyResolver: "displayPropertyResolver" }, outputs: { optionSelected: "optionSelected" }, queries: [{ propertyName: "valueTemplateQuery", first: true, predicate: ElderSelectValueDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }], exportAs: ["elderSuggestionPanel"], ngImport: i0, template: "<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"auto\"\n [autoActiveFirstOption]=\"true\"\n (opened)=\"onAutocompleteOpened($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n elderInfiniteScroll elderElderInfiniteAutocomplete (closeToEnd)=\"onAutoCompleteCloseToEnd($event)\"\n>\n <!--\n <mat-option *ngIf=\"allowNull\" [value]=\"null\">{{nullDisplay | translate}}</mat-option>\n -->\n\n @if (dataContext$ | async; as dc) {\n\n @if (dc.isClosed) {\n <mat-option disabled>\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"mat-caption\">DataContext Closed!</span>\n </div>\n </mat-option>\n }\n\n @if (availableSuggestions$ | async; as suggestions) {\n\n @if (suggestions.length === 0) {\n <mat-option disabled>No Data.</mat-option>\n }\n\n @for (suggestion of suggestions; track getIdAsString(suggestion)) {\n @if (isOptionVisible(suggestion)) {\n <mat-option\n [value]=\"toOptionValue(suggestion)\"\n [id]=\"getIdAsString(suggestion)\"\n [disabled]=\"!isOptionAvailable(suggestion)\"\n >\n <ng-container\n *ngTemplateOutlet=\"valueTemplate || simpleValueTemplate; context: {$implicit: suggestion}\">\n </ng-container>\n <!--\n <span class=\"mat-caption\">value: {{toOptionValue(suggestion)}}</span>\n -->\n </mat-option>\n }\n }\n }\n } @else {\n <mat-option disabled>\n <span class=\"mat-caption\">\n No DataContext!\n @if(dataSource$ | async; as ds) {\n (DataSource: {{ ds ? 'available' : 'missing' }})\n {{enabled ? 'Autocomplete Enabled' : 'Autocomplete DISABLED'}}\n }\n </span>\n </mat-option>\n }\n\n <ng-container *ngIf=\"dataState$ | async as state\">\n <mat-option disabled *ngIf=\"!state.idle || state.loading\">\n <mat-progress-bar\n [value]=\"100\"\n [mode]=\"state.loading ? 'query' : 'determinate'\"\n [color]=\"state.error ? 'warn' : 'primary'\"\n ></mat-progress-bar>\n </mat-option>\n\n </ng-container>\n</mat-autocomplete>\n\n<ng-template #simpleValueTemplate let-value>\n <ng-container *ngIf=\"displayPropertyResolver$ | async as propertyResolver\">\n <span class=\"noselect\">{{ propertyResolver(value) }}</span>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: ElderInfiniteAutocompleteDirective, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]" }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
202
202
|
}
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSuggestionPanelComponent, decorators: [{
|
|
204
204
|
type: Component,
|
|
205
205
|
args: [{ selector: 'elder-suggestion-panel', exportAs: 'elderSuggestionPanel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatAutocomplete, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, NgIf, MatOption, MatIcon, NgFor, NgTemplateOutlet, MatProgressBar, AsyncPipe], template: "<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"auto\"\n [autoActiveFirstOption]=\"true\"\n (opened)=\"onAutocompleteOpened($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n elderInfiniteScroll elderElderInfiniteAutocomplete (closeToEnd)=\"onAutoCompleteCloseToEnd($event)\"\n>\n <!--\n <mat-option *ngIf=\"allowNull\" [value]=\"null\">{{nullDisplay | translate}}</mat-option>\n -->\n\n @if (dataContext$ | async; as dc) {\n\n @if (dc.isClosed) {\n <mat-option disabled>\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"mat-caption\">DataContext Closed!</span>\n </div>\n </mat-option>\n }\n\n @if (availableSuggestions$ | async; as suggestions) {\n\n @if (suggestions.length === 0) {\n <mat-option disabled>No Data.</mat-option>\n }\n\n @for (suggestion of suggestions; track getIdAsString(suggestion)) {\n @if (isOptionVisible(suggestion)) {\n <mat-option\n [value]=\"toOptionValue(suggestion)\"\n [id]=\"getIdAsString(suggestion)\"\n [disabled]=\"!isOptionAvailable(suggestion)\"\n >\n <ng-container\n *ngTemplateOutlet=\"valueTemplate || simpleValueTemplate; context: {$implicit: suggestion}\">\n </ng-container>\n <!--\n <span class=\"mat-caption\">value: {{toOptionValue(suggestion)}}</span>\n -->\n </mat-option>\n }\n }\n }\n } @else {\n <mat-option disabled>\n <span class=\"mat-caption\">\n No DataContext!\n @if(dataSource$ | async; as ds) {\n (DataSource: {{ ds ? 'available' : 'missing' }})\n {{enabled ? 'Autocomplete Enabled' : 'Autocomplete DISABLED'}}\n }\n </span>\n </mat-option>\n }\n\n <ng-container *ngIf=\"dataState$ | async as state\">\n <mat-option disabled *ngIf=\"!state.idle || state.loading\">\n <mat-progress-bar\n [value]=\"100\"\n [mode]=\"state.loading ? 'query' : 'determinate'\"\n [color]=\"state.error ? 'warn' : 'primary'\"\n ></mat-progress-bar>\n </mat-option>\n\n </ng-container>\n</mat-autocomplete>\n\n<ng-template #simpleValueTemplate let-value>\n <ng-container *ngIf=\"displayPropertyResolver$ | async as propertyResolver\">\n <span class=\"noselect\">{{ propertyResolver(value) }}</span>\n </ng-container>\n</ng-template>\n" }]
|
|
206
206
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.DestroyRef }], propDecorators: { valueTemplateQuery: [{
|
|
@@ -228,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
228
228
|
}], displayPropertyResolver: [{
|
|
229
229
|
type: Input
|
|
230
230
|
}] } });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2F1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2F1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBZSx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pHLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUVqRSxPQUFPLEVBQUMsZUFBZSxFQUErQixNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFBQyx5QkFBeUIsRUFB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LDZGQUFFLDRCQUE0QiwwTkFBRSxJQUFJLDZGQUFFLFNBQVMscUpBQUUsT0FBTywySUFBUyxnQkFBZ0Isb0pBQUUsY0FBYyxvS0FBRSxTQUFTOzsyRkFFOUosNkJBQTZCO2tCQVR6QyxTQUFTOytCQUNFLHdCQUF3QixZQUN4QixzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsa0NBQWtDLEVBQUUsNEJBQTRCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxTQUFTLENBQUM7b0dBc0JuSyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBVS9ELGVBQWU7c0JBRHpCLFNBQVM7dUJBQUMsTUFBTTtnQkFNVixrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLHNCQUFzQjtzQkFENUIsS0FBSztnQkFrQlUsY0FBYztzQkFEN0IsTUFBTTtnQkFzREksT0FBTztzQkFEakIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVVLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBVUssVUFBVTtzQkFEcEIsS0FBSztnQkFZSyx1QkFBdUI7c0JBRGpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERlc3Ryb3lSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0LCBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtydW5JblpvbmV9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9uZy16b25lLXV0aWxzJztcbmltcG9ydCB7RGF0YUNvbnRleHRTdGF0dXN9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9zZWxlY3QvZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlLW9wdGlvbi1zZWxlY3RlZCc7XG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2RhdGEtc291cmNlJztcbmltcG9ydCB7RGF0YUNvbnRleHRCdWlsZGVyfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LWJ1aWxkZXInO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRPcHRpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtOZ0lmLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5cbnR5cGUgVGV4dFJlc29sdmVyRm4gPSAodmFsdWU6IGFueSkgPT4gc3RyaW5nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1zdWdnZXN0aW9uLXBhbmVsJyxcbiAgZXhwb3J0QXM6ICdlbGRlclN1Z2dlc3Rpb25QYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1zdWdnZXN0aW9uLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEF1dG9jb21wbGV0ZSwgRWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZURpcmVjdGl2ZSwgRWxkZXJJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSwgTmdJZiwgTWF0T3B0aW9uLCBNYXRJY29uLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCwgTWF0UHJvZ3Jlc3NCYXIsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTdWdnZXN0aW9uUGFuZWxDb21wb25lbnQ8VCA9IGFueSwgVElkID0gYW55PiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IFBBR0VfU0laRSA9IDEwO1xuXG4gIC8qKlxuICAgKiBJcyB0aGlzIGF1dG8tY29tcGxldGUgZW5hYmxlZD9cbiAgICovXG4gIHByaXZhdGUgX2VuYWJsZWQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdGVtcGxhdGUgdG8gY3VzdG9taXplIHRoZSB1aSBsb29rLlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB2YWx1ZVRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX3ZhbHVlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIFRoZSB1bmRlcmx5aW5nIE1hdGVyaWFsIEF1dG9jb21wbGV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1hdEF1dG9jb21wbGV0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hdEF1dG9jb21wbGV0ZT4obnVsbCk7XG5cbiAgQFZpZXdDaGlsZCgnYXV0bycpXG4gIHB1YmxpYyBzZXQgbWF0QXV0b2NvbXBsZXRlKGF1dG86IE1hdEF1dG9jb21wbGV0ZSkge1xuICAgIHRoaXMubWF0QXV0b2NvbXBsZXRlJC5uZXh0KGF1dG8pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzT3B0aW9uRGlzYWJsZWRGbjogKG9wdGlvbjogVCkgPT4gYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNPcHRpb25IaWRkZW5GbjogKG9wdGlvbjogVCkgPT4gYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3B0aW9uVmFsdWVDb252ZXJ0ZXJGbjogKG9wdGlvbjogVCkgPT4gYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgRGF0YUNvbnRleHQgd2hpY2ggaG9sZHMgdGhlIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxUPj4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhU291cmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFTb3VyY2U8VD4+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSB0cmlnZ2VyUmVsb2FkJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZXh0UmVzb2x2ZXJGbj4oKHZhbHVlOiBUKSA9PiB0aGlzLnByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWUsIG51bGwpKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVN0YXRlJDogT2JzZXJ2YWJsZTxEYXRhQ29udGV4dFN0YXR1cz47XG5cbiAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDxFbGRlckF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGVkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGlkZGVuT3B0aW9uc0NvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5kYXRhU3RhdGUkID0gdGhpcy5kYXRhQ29udGV4dCQucGlwZShcbiAgICAgIGZpbHRlcihkYyA9PiAhIWRjKSxcbiAgICAgIHN3aXRjaE1hcChkYyA9PiBkYy5zdGF0dXMpLFxuICAgICAgcnVuSW5ab25lKHRoaXMuem9uZSlcbiAgICApO1xuXG4gICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSB0aGlzLmRhdGFDb250ZXh0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRjID0+IGRjID8gZGMuZGF0YSA6IG9mKFtdKSksXG4gICAgICBydW5JblpvbmUodGhpcy56b25lKVxuICAgICk7XG5cbiAgICB0aGlzLmF2YWlsYWJsZVN1Z2dlc3Rpb25zJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpLFxuICAgICAgbWFwKHN1Z2dlc3Rpb25zID0+IHN1Z2dlc3Rpb25zLmZpbHRlcihzdWdnZXN0aW9uID0+IHRoaXMuaXNPcHRpb25IaWRkZW4oc3VnZ2VzdGlvbikpKSxcbiAgICAgIG1hcChzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24ubGVuZ3RoKVxuICAgICkuc3Vic2NyaWJlKGNvdW50ID0+XG4gICAgICB0aGlzLmhpZGRlbk9wdGlvbnNDb3VudCQubmV4dChjb3VudClcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGFTb3VyY2UkLFxuICAgICAgdGhpcy50cmlnZ2VyUmVsb2FkJFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpLFxuICAgICAgICBmaWx0ZXIoKFtkc10pID0+ICEhZHMpXG4gICAgICApLnN1YnNjcmliZSgoW2RzXSkgPT4ge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KHRoaXMuYnVpbGREYXRhQ29udGV4dFdpdGhQYWdlU2l6ZShkcykpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVuYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdmFsdWVUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVRlbXBsYXRlIHx8IHRoaXMudmFsdWVUZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhQ29udGV4dChkYXRhOiBJRGF0YUNvbnRleHQ8VD4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhU291cmNlKGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+KSB7XG4gICAgaWYgKGRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSQubmV4dChkYXRhU291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UkLmdldFZhbHVlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyKHJlc29sdmVyOiBUZXh0UmVzb2x2ZXJGbikge1xuICAgIHRoaXMuZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkLm5leHQocmVzb2x2ZXIpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uT3B0aW9uU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb24gPSBldmVudC5vcHRpb247XG4gICAgY29uc3QgaWQgPSBvcHRpb24uaWQgYXMgdW5rbm93biBhcyBUSWQ7XG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5uZXh0KFxuICAgICAgbmV3IEVsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGlkLFxuICAgICAgICB0aGlzLmdldEVudGl0eUJ5SWQoaWQpLFxuICAgICAgICBvcHRpb24udmFsdWVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbnRpdHlCeUlkKGlkOiBUSWQpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBkYyA9IHRoaXMuZGF0YUNvbnRleHQ7XG4gICAgaWYgKGRjKSB7XG4gICAgICByZXR1cm4gZGMuc25hcHNob3QuZGF0YS5maW5kKGUgPT4gdGhpcy5nZXRJZChlKSA9PSBpZCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25BdXRvY29tcGxldGVPcGVuZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMudHJpZ2dlclJlbG9hZCQubmV4dChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0F1dG9jb21wbGV0ZSBvcGVuZWQgLT4gQlVUIERJU0FCTEVEISEnICwgZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkF1dG9Db21wbGV0ZUNsb3NlVG9FbmQoZXZlbnQ6IFVJRXZlbnQpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnQXV0b2NvbXBsZXRlIGlzIGNsb3NlIHRvIGVuZCEnKTtcbiAgICBpZiAoaXNDb250aW51YWJsZURhdGFDb250ZXh0KHRoaXMuZGF0YUNvbnRleHQpKSB7XG4gICAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQuc25hcHNob3QuaXNMb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQubG9hZE1vcmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SWRBc1N0cmluZyh2YWx1ZTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLmdldElkKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWQodmFsdWU6IFQpOiBUSWQge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0Py5kYXRhU291cmNlPy5nZXRJZCh2YWx1ZSkgfHwgdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgaXNPcHRpb25BdmFpbGFibGUob3B0aW9uOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNPcHRpb25EaXNhYmxlZEZuKSB7XG4gICAgICByZXR1cm4gIXRoaXMuaXNPcHRpb25EaXNhYmxlZEZuKG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc09wdGlvblZpc2libGUob3B0aW9uOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNPcHRpb25IaWRkZW5Gbikge1xuICAgICAgcmV0dXJuICF0aGlzLmlzT3B0aW9uSGlkZGVuRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzT3B0aW9uSGlkZGVuKG9wdGlvbjogVCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzT3B0aW9uSGlkZGVuRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLmlzT3B0aW9uSGlkZGVuRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b09wdGlvblZhbHVlKG9wdGlvbjogVCk6IGFueSB7XG4gICAgaWYgKHRoaXMub3B0aW9uVmFsdWVDb252ZXJ0ZXJGbikge1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9uVmFsdWVDb252ZXJ0ZXJGbihvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBUT0RPIER1cGxpY2F0ZSBpbiBlbGRlci1zZWxlY3RcbiAgICovXG4gIHByaXZhdGUgcHJvcGVydHlTdHJpbmdWYWx1ZSh2YWx1ZTogVCwgcHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHkpIHtcbiAgICAgIHJldHVybiAoPGFueT52YWx1ZSlbcHJvcGVydHldO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZERhdGFDb250ZXh0V2l0aFBhZ2VTaXplKGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+KTogSURhdGFDb250ZXh0PFQ+IHtcbiAgICBpZiAodGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdGhpcy5kYXRhQ29udGV4dC5jbG9zZSgpO1xuICAgIH1cbiAgICByZXR1cm4gRGF0YUNvbnRleHRCdWlsZGVyLnN0YXJ0PFQ+KClcbiAgICAgIC5wYWdlU2l6ZSh0aGlzLmNhbGN1bGF0ZVBhZ2VTaXplKCkpXG4gICAgICAuYnVpbGQoZGF0YVNvdXJjZSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuUEFHRV9TSVpFICsgdGhpcy5oaWRkZW5PcHRpb25zQ291bnQkLmdldFZhbHVlKCk7XG4gIH1cbn1cbiIsIjxtYXQtYXV0b2NvbXBsZXRlXG4gICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgcGFuZWxXaWR0aD1cImF1dG9cIlxuICBbYXV0b0FjdGl2ZUZpcnN0T3B0aW9uXT1cInRydWVcIlxuICAob3BlbmVkKT1cIm9uQXV0b2NvbXBsZXRlT3BlbmVkKCRldmVudClcIlxuICAob3B0aW9uU2VsZWN0ZWQpPVwib25PcHRpb25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgZWxkZXJJbmZpbml0ZVNjcm9sbCBlbGRlckVsZGVySW5maW5pdGVBdXRvY29tcGxldGUgKGNsb3NlVG9FbmQpPVwib25BdXRvQ29tcGxldGVDbG9zZVRvRW5kKCRldmVudClcIlxuPlxuICA8IS0tXG4gIDxtYXQtb3B0aW9uICpuZ0lmPVwiYWxsb3dOdWxsXCIgW3ZhbHVlXT1cIm51bGxcIj57e251bGxEaXNwbGF5IHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gIC0tPlxuXG4gIEBpZiAoZGF0YUNvbnRleHQkIHwgYXN5bmM7IGFzIGRjKSB7XG5cbiAgICBAaWYgKGRjLmlzQ2xvc2VkKSB7XG4gICAgICA8bWF0LW9wdGlvbiBkaXNhYmxlZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1zbVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+RGF0YUNvbnRleHQgQ2xvc2VkITwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgfVxuXG4gICAgQGlmIChhdmFpbGFibGVTdWdnZXN0aW9ucyQgfCBhc3luYzsgYXMgc3VnZ2VzdGlvbnMpIHtcblxuICAgICAgQGlmIChzdWdnZXN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPG1hdC1vcHRpb24gZGlzYWJsZWQ+Tm8gRGF0YS48L21hdC1vcHRpb24+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnM7IHRyYWNrIGdldElkQXNTdHJpbmcoc3VnZ2VzdGlvbikpIHtcbiAgICAgICAgQGlmIChpc09wdGlvblZpc2libGUoc3VnZ2VzdGlvbikpIHtcbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgW3ZhbHVlXT1cInRvT3B0aW9uVmFsdWUoc3VnZ2VzdGlvbilcIlxuICAgICAgICAgICAgW2lkXT1cImdldElkQXNTdHJpbmcoc3VnZ2VzdGlvbilcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc09wdGlvbkF2YWlsYWJsZShzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlVGVtcGxhdGUgfHwgc2ltcGxlVmFsdWVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogc3VnZ2VzdGlvbn1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvblwiPnZhbHVlOiB7e3RvT3B0aW9uVmFsdWUoc3VnZ2VzdGlvbil9fTwvc3Bhbj5cbiAgICAgICAgICAgIC0tPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgPG1hdC1vcHRpb24gZGlzYWJsZWQ+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XG4gICAgICAgIE5vIERhdGFDb250ZXh0IVxuICAgICAgICBAaWYoZGF0YVNvdXJjZSQgfCBhc3luYzsgYXMgZHMpIHtcbiAgICAgICAgICAoRGF0YVNvdXJjZToge3sgZHMgPyAnYXZhaWxhYmxlJyA6ICdtaXNzaW5nJyB9fSlcbiAgICAgICAgICB7e2VuYWJsZWQgPyAnQXV0b2NvbXBsZXRlIEVuYWJsZWQnIDogJ0F1dG9jb21wbGV0ZSBESVNBQkxFRCd9fVxuICAgICAgICB9XG4gICAgICA8L3NwYW4+XG4gICAgPC9tYXQtb3B0aW9uPlxuICB9XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFTdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICAgIDxtYXQtb3B0aW9uIGRpc2FibGVkICpuZ0lmPVwiIXN0YXRlLmlkbGUgfHwgc3RhdGUubG9hZGluZ1wiPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXJcbiAgICAgICAgW3ZhbHVlXT1cIjEwMFwiXG4gICAgICAgIFttb2RlXT1cInN0YXRlLmxvYWRpbmcgPyAncXVlcnknIDogJ2RldGVybWluYXRlJ1wiXG4gICAgICAgIFtjb2xvcl09XCJzdGF0ZS5lcnJvciA/ICd3YXJuJyA6ICdwcmltYXJ5J1wiXG4gICAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVWYWx1ZVRlbXBsYXRlIGxldC12YWx1ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCB8IGFzeW5jIGFzIHByb3BlcnR5UmVzb2x2ZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0XCI+e3sgcHJvcGVydHlSZXNvbHZlcih2YWx1ZSkgfX08L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2F1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2F1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBZSx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pHLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUVqRSxPQUFPLEVBQUMsZUFBZSxFQUErQixNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFBQyx5QkFBeUIsRUFB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LDZGQUFFLDRCQUE0QiwwTkFBRSxJQUFJLDZGQUFFLFNBQVMscUpBQUUsT0FBTywySUFBUyxnQkFBZ0Isb0pBQUUsY0FBYyxvS0FBRSxTQUFTOzs0RkFFOUosNkJBQTZCO2tCQVR6QyxTQUFTOytCQUNFLHdCQUF3QixZQUN4QixzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsa0NBQWtDLEVBQUUsNEJBQTRCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxTQUFTLENBQUM7b0dBc0JuSyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBVS9ELGVBQWU7c0JBRHpCLFNBQVM7dUJBQUMsTUFBTTtnQkFNVixrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLHNCQUFzQjtzQkFENUIsS0FBSztnQkFrQlUsY0FBYztzQkFEN0IsTUFBTTtnQkFzREksT0FBTztzQkFEakIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVVLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBVUssVUFBVTtzQkFEcEIsS0FBSztnQkFZSyx1QkFBdUI7c0JBRGpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERlc3Ryb3lSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0LCBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtydW5JblpvbmV9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9uZy16b25lLXV0aWxzJztcbmltcG9ydCB7RGF0YUNvbnRleHRTdGF0dXN9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9zZWxlY3QvZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlLW9wdGlvbi1zZWxlY3RlZCc7XG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2RhdGEtc291cmNlJztcbmltcG9ydCB7RGF0YUNvbnRleHRCdWlsZGVyfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LWJ1aWxkZXInO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRPcHRpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtOZ0lmLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5cbnR5cGUgVGV4dFJlc29sdmVyRm4gPSAodmFsdWU6IGFueSkgPT4gc3RyaW5nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1zdWdnZXN0aW9uLXBhbmVsJyxcbiAgZXhwb3J0QXM6ICdlbGRlclN1Z2dlc3Rpb25QYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1zdWdnZXN0aW9uLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEF1dG9jb21wbGV0ZSwgRWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZURpcmVjdGl2ZSwgRWxkZXJJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSwgTmdJZiwgTWF0T3B0aW9uLCBNYXRJY29uLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCwgTWF0UHJvZ3Jlc3NCYXIsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTdWdnZXN0aW9uUGFuZWxDb21wb25lbnQ8VCA9IGFueSwgVElkID0gYW55PiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IFBBR0VfU0laRSA9IDEwO1xuXG4gIC8qKlxuICAgKiBJcyB0aGlzIGF1dG8tY29tcGxldGUgZW5hYmxlZD9cbiAgICovXG4gIHByaXZhdGUgX2VuYWJsZWQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdGVtcGxhdGUgdG8gY3VzdG9taXplIHRoZSB1aSBsb29rLlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB2YWx1ZVRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX3ZhbHVlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIFRoZSB1bmRlcmx5aW5nIE1hdGVyaWFsIEF1dG9jb21wbGV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1hdEF1dG9jb21wbGV0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hdEF1dG9jb21wbGV0ZT4obnVsbCk7XG5cbiAgQFZpZXdDaGlsZCgnYXV0bycpXG4gIHB1YmxpYyBzZXQgbWF0QXV0b2NvbXBsZXRlKGF1dG86IE1hdEF1dG9jb21wbGV0ZSkge1xuICAgIHRoaXMubWF0QXV0b2NvbXBsZXRlJC5uZXh0KGF1dG8pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzT3B0aW9uRGlzYWJsZWRGbjogKG9wdGlvbjogVCkgPT4gYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNPcHRpb25IaWRkZW5GbjogKG9wdGlvbjogVCkgPT4gYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3B0aW9uVmFsdWVDb252ZXJ0ZXJGbjogKG9wdGlvbjogVCkgPT4gYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgRGF0YUNvbnRleHQgd2hpY2ggaG9sZHMgdGhlIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxUPj4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhU291cmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFTb3VyY2U8VD4+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSB0cmlnZ2VyUmVsb2FkJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZXh0UmVzb2x2ZXJGbj4oKHZhbHVlOiBUKSA9PiB0aGlzLnByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWUsIG51bGwpKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVN0YXRlJDogT2JzZXJ2YWJsZTxEYXRhQ29udGV4dFN0YXR1cz47XG5cbiAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDxFbGRlckF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGVkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGlkZGVuT3B0aW9uc0NvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5kYXRhU3RhdGUkID0gdGhpcy5kYXRhQ29udGV4dCQucGlwZShcbiAgICAgIGZpbHRlcihkYyA9PiAhIWRjKSxcbiAgICAgIHN3aXRjaE1hcChkYyA9PiBkYy5zdGF0dXMpLFxuICAgICAgcnVuSW5ab25lKHRoaXMuem9uZSlcbiAgICApO1xuXG4gICAgdGhpcy5hdmFpbGFibGVTdWdnZXN0aW9ucyQgPSB0aGlzLmRhdGFDb250ZXh0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRjID0+IGRjID8gZGMuZGF0YSA6IG9mKFtdKSksXG4gICAgICBydW5JblpvbmUodGhpcy56b25lKVxuICAgICk7XG5cbiAgICB0aGlzLmF2YWlsYWJsZVN1Z2dlc3Rpb25zJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpLFxuICAgICAgbWFwKHN1Z2dlc3Rpb25zID0+IHN1Z2dlc3Rpb25zLmZpbHRlcihzdWdnZXN0aW9uID0+IHRoaXMuaXNPcHRpb25IaWRkZW4oc3VnZ2VzdGlvbikpKSxcbiAgICAgIG1hcChzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24ubGVuZ3RoKVxuICAgICkuc3Vic2NyaWJlKGNvdW50ID0+XG4gICAgICB0aGlzLmhpZGRlbk9wdGlvbnNDb3VudCQubmV4dChjb3VudClcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGFTb3VyY2UkLFxuICAgICAgdGhpcy50cmlnZ2VyUmVsb2FkJFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpLFxuICAgICAgICBmaWx0ZXIoKFtkc10pID0+ICEhZHMpXG4gICAgICApLnN1YnNjcmliZSgoW2RzXSkgPT4ge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KHRoaXMuYnVpbGREYXRhQ29udGV4dFdpdGhQYWdlU2l6ZShkcykpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVuYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdmFsdWVUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVRlbXBsYXRlIHx8IHRoaXMudmFsdWVUZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhQ29udGV4dChkYXRhOiBJRGF0YUNvbnRleHQ8VD4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhU291cmNlKGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+KSB7XG4gICAgaWYgKGRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSQubmV4dChkYXRhU291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UkLmdldFZhbHVlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyKHJlc29sdmVyOiBUZXh0UmVzb2x2ZXJGbikge1xuICAgIHRoaXMuZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkLm5leHQocmVzb2x2ZXIpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uT3B0aW9uU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb24gPSBldmVudC5vcHRpb247XG4gICAgY29uc3QgaWQgPSBvcHRpb24uaWQgYXMgdW5rbm93biBhcyBUSWQ7XG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5uZXh0KFxuICAgICAgbmV3IEVsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGlkLFxuICAgICAgICB0aGlzLmdldEVudGl0eUJ5SWQoaWQpLFxuICAgICAgICBvcHRpb24udmFsdWVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbnRpdHlCeUlkKGlkOiBUSWQpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBkYyA9IHRoaXMuZGF0YUNvbnRleHQ7XG4gICAgaWYgKGRjKSB7XG4gICAgICByZXR1cm4gZGMuc25hcHNob3QuZGF0YS5maW5kKGUgPT4gdGhpcy5nZXRJZChlKSA9PSBpZCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25BdXRvY29tcGxldGVPcGVuZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMudHJpZ2dlclJlbG9hZCQubmV4dChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0F1dG9jb21wbGV0ZSBvcGVuZWQgLT4gQlVUIERJU0FCTEVEISEnICwgZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkF1dG9Db21wbGV0ZUNsb3NlVG9FbmQoZXZlbnQ6IFVJRXZlbnQpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnQXV0b2NvbXBsZXRlIGlzIGNsb3NlIHRvIGVuZCEnKTtcbiAgICBpZiAoaXNDb250aW51YWJsZURhdGFDb250ZXh0KHRoaXMuZGF0YUNvbnRleHQpKSB7XG4gICAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQuc25hcHNob3QuaXNMb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQubG9hZE1vcmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SWRBc1N0cmluZyh2YWx1ZTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLmdldElkKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWQodmFsdWU6IFQpOiBUSWQge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0Py5kYXRhU291cmNlPy5nZXRJZCh2YWx1ZSkgfHwgdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgaXNPcHRpb25BdmFpbGFibGUob3B0aW9uOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNPcHRpb25EaXNhYmxlZEZuKSB7XG4gICAgICByZXR1cm4gIXRoaXMuaXNPcHRpb25EaXNhYmxlZEZuKG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc09wdGlvblZpc2libGUob3B0aW9uOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNPcHRpb25IaWRkZW5Gbikge1xuICAgICAgcmV0dXJuICF0aGlzLmlzT3B0aW9uSGlkZGVuRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzT3B0aW9uSGlkZGVuKG9wdGlvbjogVCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzT3B0aW9uSGlkZGVuRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLmlzT3B0aW9uSGlkZGVuRm4ob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b09wdGlvblZhbHVlKG9wdGlvbjogVCk6IGFueSB7XG4gICAgaWYgKHRoaXMub3B0aW9uVmFsdWVDb252ZXJ0ZXJGbikge1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9uVmFsdWVDb252ZXJ0ZXJGbihvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBUT0RPIER1cGxpY2F0ZSBpbiBlbGRlci1zZWxlY3RcbiAgICovXG4gIHByaXZhdGUgcHJvcGVydHlTdHJpbmdWYWx1ZSh2YWx1ZTogVCwgcHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHkpIHtcbiAgICAgIHJldHVybiAoPGFueT52YWx1ZSlbcHJvcGVydHldO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZERhdGFDb250ZXh0V2l0aFBhZ2VTaXplKGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+KTogSURhdGFDb250ZXh0PFQ+IHtcbiAgICBpZiAodGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdGhpcy5kYXRhQ29udGV4dC5jbG9zZSgpO1xuICAgIH1cbiAgICByZXR1cm4gRGF0YUNvbnRleHRCdWlsZGVyLnN0YXJ0PFQ+KClcbiAgICAgIC5wYWdlU2l6ZSh0aGlzLmNhbGN1bGF0ZVBhZ2VTaXplKCkpXG4gICAgICAuYnVpbGQoZGF0YVNvdXJjZSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuUEFHRV9TSVpFICsgdGhpcy5oaWRkZW5PcHRpb25zQ291bnQkLmdldFZhbHVlKCk7XG4gIH1cbn1cbiIsIjxtYXQtYXV0b2NvbXBsZXRlXG4gICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgcGFuZWxXaWR0aD1cImF1dG9cIlxuICBbYXV0b0FjdGl2ZUZpcnN0T3B0aW9uXT1cInRydWVcIlxuICAob3BlbmVkKT1cIm9uQXV0b2NvbXBsZXRlT3BlbmVkKCRldmVudClcIlxuICAob3B0aW9uU2VsZWN0ZWQpPVwib25PcHRpb25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgZWxkZXJJbmZpbml0ZVNjcm9sbCBlbGRlckVsZGVySW5maW5pdGVBdXRvY29tcGxldGUgKGNsb3NlVG9FbmQpPVwib25BdXRvQ29tcGxldGVDbG9zZVRvRW5kKCRldmVudClcIlxuPlxuICA8IS0tXG4gIDxtYXQtb3B0aW9uICpuZ0lmPVwiYWxsb3dOdWxsXCIgW3ZhbHVlXT1cIm51bGxcIj57e251bGxEaXNwbGF5IHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gIC0tPlxuXG4gIEBpZiAoZGF0YUNvbnRleHQkIHwgYXN5bmM7IGFzIGRjKSB7XG5cbiAgICBAaWYgKGRjLmlzQ2xvc2VkKSB7XG4gICAgICA8bWF0LW9wdGlvbiBkaXNhYmxlZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1zbVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+RGF0YUNvbnRleHQgQ2xvc2VkITwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgfVxuXG4gICAgQGlmIChhdmFpbGFibGVTdWdnZXN0aW9ucyQgfCBhc3luYzsgYXMgc3VnZ2VzdGlvbnMpIHtcblxuICAgICAgQGlmIChzdWdnZXN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPG1hdC1vcHRpb24gZGlzYWJsZWQ+Tm8gRGF0YS48L21hdC1vcHRpb24+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnM7IHRyYWNrIGdldElkQXNTdHJpbmcoc3VnZ2VzdGlvbikpIHtcbiAgICAgICAgQGlmIChpc09wdGlvblZpc2libGUoc3VnZ2VzdGlvbikpIHtcbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgW3ZhbHVlXT1cInRvT3B0aW9uVmFsdWUoc3VnZ2VzdGlvbilcIlxuICAgICAgICAgICAgW2lkXT1cImdldElkQXNTdHJpbmcoc3VnZ2VzdGlvbilcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc09wdGlvbkF2YWlsYWJsZShzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlVGVtcGxhdGUgfHwgc2ltcGxlVmFsdWVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogc3VnZ2VzdGlvbn1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvblwiPnZhbHVlOiB7e3RvT3B0aW9uVmFsdWUoc3VnZ2VzdGlvbil9fTwvc3Bhbj5cbiAgICAgICAgICAgIC0tPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgPG1hdC1vcHRpb24gZGlzYWJsZWQ+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XG4gICAgICAgIE5vIERhdGFDb250ZXh0IVxuICAgICAgICBAaWYoZGF0YVNvdXJjZSQgfCBhc3luYzsgYXMgZHMpIHtcbiAgICAgICAgICAoRGF0YVNvdXJjZToge3sgZHMgPyAnYXZhaWxhYmxlJyA6ICdtaXNzaW5nJyB9fSlcbiAgICAgICAgICB7e2VuYWJsZWQgPyAnQXV0b2NvbXBsZXRlIEVuYWJsZWQnIDogJ0F1dG9jb21wbGV0ZSBESVNBQkxFRCd9fVxuICAgICAgICB9XG4gICAgICA8L3NwYW4+XG4gICAgPC9tYXQtb3B0aW9uPlxuICB9XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFTdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICAgIDxtYXQtb3B0aW9uIGRpc2FibGVkICpuZ0lmPVwiIXN0YXRlLmlkbGUgfHwgc3RhdGUubG9hZGluZ1wiPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXJcbiAgICAgICAgW3ZhbHVlXT1cIjEwMFwiXG4gICAgICAgIFttb2RlXT1cInN0YXRlLmxvYWRpbmcgPyAncXVlcnknIDogJ2RldGVybWluYXRlJ1wiXG4gICAgICAgIFtjb2xvcl09XCJzdGF0ZS5lcnJvciA/ICd3YXJuJyA6ICdwcmltYXJ5J1wiXG4gICAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVWYWx1ZVRlbXBsYXRlIGxldC12YWx1ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCB8IGFzeW5jIGFzIHByb3BlcnR5UmVzb2x2ZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0XCI+e3sgcHJvcGVydHlSZXNvbHZlcih2YWx1ZSkgfX08L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -169,10 +169,10 @@ export class ElderAutocompleteManyDirective {
|
|
|
169
169
|
// The wordAtCursor might not be the full autocompleted phrase (if there are multiple words)
|
|
170
170
|
this.cursorPosition = wordAtCursor.start + autocompletedPhrase.length;
|
|
171
171
|
}
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
173
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1.MatAutocompleteTrigger }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
173
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ElderAutocompleteManyDirective, isStandalone: true, selector: "[elderAutocompleteMany]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", textProperty: "textProperty", textPropertyResolverFn: "textPropertyResolverFn", autocomplete: ["elderAutocompleteMany", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
|
|
174
174
|
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderAutocompleteManyDirective, decorators: [{
|
|
176
176
|
type: Directive,
|
|
177
177
|
args: [{
|
|
178
178
|
selector: '[elderAutocompleteMany]',
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBSTNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7QUFPL0QsTUFBTSxPQUFPLDhCQUE4QjtJQStDekM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUEyQyxFQUMzQyxRQUFzQztRQUR0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQThCO1FBdER6RDs7OztvRkFJNEU7UUFHckUsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFHdEIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBVW5CLDJCQUFzQixHQUFtQixDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTSxJQUFJLE9B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QUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtvSEFTUSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBNENLLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQStDdkIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7bWVyZ2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBza2lwV2hpbGUsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlclN1Z2dlc3Rpb25QYW5lbENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0lEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge1RleHRSZXNvbHZlckZufSBmcm9tICcuLi8uLi9zZWxlY3QvZWxkZXItc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHtXb3JkUG9zaXRpb25GaW5kZXJ9IGZyb20gJy4vbWFueS93b3JkLXBvc2l0aW9uLWZpbmRlcic7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS1vcHRpb24tc2VsZWN0ZWQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlbGRlckF1dG9jb21wbGV0ZU1hbnldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b2NvbXBsZXRlTWFueURpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5RmlsdGVyID0gJ3F1ZXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydHM6IFNvcnRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydHkgb24gYSBzdWdnZXN0aW9uIG9iamVjdCB3aGljaCBpcyB1c2VkXG4gICAqIGFzIHRoZSBkaXNwbGF5IGFuZCBpbnNlcnQgdmFsdWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dFByb3BlcnR5OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRleHRQcm9wZXJ0eVJlc29sdmVyRm46IFRleHRSZXNvbHZlckZuID0gKG9wdGlvbjogYW55KSA9PiB7XG4gICAgaWYgKCFvcHRpb24pIHtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG9wdGlvbiBhcyBzdHJpbmc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRleHRQcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRleHRQcm9wZXJ0eV0gYXMgc3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRLZXl1cCQgPSBuZXcgU3ViamVjdDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaWdub3JlS2V5cyA9IFsnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnXTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdvcmRGaW5kZXI6IFdvcmRQb3NpdGlvbkZpbmRlcjtcblxuICBwcml2YXRlIF9lbGRlckF1dG9jb21wbGV0ZTogRWxkZXJTdWdnZXN0aW9uUGFuZWxDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9Db21wbGV0ZVRyaWdnZXI6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuICApIHtcbiAgICB0aGlzLndvcmRGaW5kZXIgPSBuZXcgV29yZFBvc2l0aW9uRmluZGVyKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoJ2VsZGVyQXV0b2NvbXBsZXRlTWFueScpXG4gIHB1YmxpYyBzZXQgYXV0b2NvbXBsZXRlKGF1dG86IEVsZGVyU3VnZ2VzdGlvblBhbmVsQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fZWxkZXJBdXRvY29tcGxldGUgPSBhdXRvO1xuICAgIHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckLm5leHQoKTtcbiAgICBpZiAoYXV0bykge1xuICAgICAgYXV0by5tYXRBdXRvY29tcGxldGUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJCksXG4gICAgICAgICAgZmlsdGVyKG1hdEF1dG8gPT4gISFtYXRBdXRvKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUobWF0QXV0byA9PiB0aGlzLmF1dG9Db21wbGV0ZVRyaWdnZXIuYXV0b2NvbXBsZXRlID0gbWF0QXV0byk7XG5cbiAgICAgIGF1dG8ub3B0aW9uU2VsZWN0ZWQucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckKVxuICAgICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbk9wdGlvblNlbGVjdGVkKGV2ZW50KSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZSgpOiBFbGRlclN1Z2dlc3Rpb25QYW5lbENvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3Vyc29yUG9zaXRpb24oKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgY3Vyc29yUG9zaXRpb24ocG9zaXRpb246IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSBwb3NpdGlvbjtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgPSBwb3NpdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmRhdGFDb250ZXh0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEhvc3QgTGlzdGVuZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlnbm9yZUtleXMuc29tZShrID0+IGsgPT09IGV2ZW50LmtleSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnB1dEtleXVwJC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciA9IHRoaXMudGV4dFByb3BlcnR5UmVzb2x2ZXJGbjtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5vcHRpb25WYWx1ZUNvbnZlcnRlckZuID0gKG9wdGlvbjogVCkgPT4ge1xuICAgICAgY29uc3Qgc3VnZ2VzdGlvbiA9IHRoaXMucmVzb2x2ZVN1Z2dlc3Rpb25UZXh0KG9wdGlvbik7XG4gICAgICByZXR1cm4gdGhpcy5pbnNlcnRTdWdnZXN0aW9uKHN1Z2dlc3Rpb24pO1xuICAgIH07XG5cbiAgICBtZXJnZShcbiAgICAgIHRoaXMuaW5wdXRLZXl1cCQucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKGUgPT4gIXRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmVuYWJsZWQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgbWFwKGUgPT4gKGU/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUpLFxuICAgICAgICBtYXAodmFsdWUgPT4gdGhpcy5leHRyYWN0V29yZEF0Q3Vyc29yKHZhbHVlKSlcbiAgICAgICksXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZS50cmlnZ2VyUmVsb2FkJFxuICAgICkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcih2YWx1ZSA9PiAhdmFsdWUgfHwgdHlwZW9mICh2YWx1ZSkgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiAodmFsdWUpID09PSAnbnVtYmVyJylcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHRoaXMudXBkYXRlU3VnZ2VzdGlvbnModmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHByaXZhdGUgZXh0cmFjdFdvcmRBdEN1cnNvcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbikge1xuICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RXb3JkRnJvbSh2YWx1ZSwgY3Vyc29yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjdXJzb3JCZWZvcmVBdXRvY29tcGxldGU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZW1lbWJlckN1cnNvclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY3Vyc29yQmVmb3JlQXV0b2NvbXBsZXRlID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFdvcmRGcm9tKHRleHQ6IHN0cmluZywgcG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qgd29yZCA9IHRoaXMud29yZEZpbmRlci5maW5kV29yZCh0ZXh0LCBwb3NpdGlvbik7XG4gICAgcmV0dXJuIHdvcmQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN1Z2dlc3Rpb25zKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IFsuLi50aGlzLmZpbHRlcnMsIG5ldyBGaWx0ZXIodGhpcy5xdWVyeUZpbHRlciwgPGFueT52YWx1ZSldO1xuICAgIGNvbnN0IHNvcnRzID0gdGhpcy5zb3J0cztcbiAgICBpZiAodGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZW1lbWJlckN1cnNvclBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQuc3RhcnQoc29ydHMsIGZpbHRlcnMpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgRGF0YUNvbnRleHQhJywgZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluc2VydFN1Z2dlc3Rpb24oc3VnZ2VzdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmN1cnJlbnRJbnB1dFZhbHVlKCk7XG4gICAgaWYoIXN1Z2dlc3Rpb24pe1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gdGhpcy53b3JkRmluZGVyLnJlcGxhY2VXb3JkKGN1cnJlbnRWYWx1ZSwgY3Vyc29yLCBzdWdnZXN0aW9uKTtcbiAgICAgIHJldHVybiByZXBsYWNlbWVudC5uZXdUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdJbnNlcnQgbm90IHBvc3NpYmxlIGFzIG5vIGN1cnNvci1wb3NpdGlvbiB3YXMgYXZhaWxhYmxlIScpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBpbnB1dD8udmFsdWUgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTdWdnZXN0aW9uVGV4dChvcHRpb246IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRQcm9wZXJ0eVJlc29sdmVyRm4ob3B0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgb25PcHRpb25TZWxlY3RlZChcbiAgICBldmVudDogRWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB3b3JkQXRDdXJzb3IgPSB0aGlzLndvcmRGaW5kZXIuZmluZFdvcmQodGhpcy5jdXJyZW50SW5wdXRWYWx1ZSgpLCB0aGlzLmN1cnNvckJlZm9yZUF1dG9jb21wbGV0ZSk7XG4gICAgY29uc3QgYXV0b2NvbXBsZXRlZFBocmFzZSA9IHRoaXMucmVzb2x2ZVN1Z2dlc3Rpb25UZXh0KGV2ZW50LmVudGl0eSk7XG4gICAgLy8gVGhlIHdvcmRBdEN1cnNvciBtaWdodCBub3QgYmUgdGhlIGZ1bGwgYXV0b2NvbXBsZXRlZCBwaHJhc2UgKGlmIHRoZXJlIGFyZSBtdWx0aXBsZSB3b3JkcylcbiAgICB0aGlzLmN1cnNvclBvc2l0aW9uID0gd29yZEF0Q3Vyc29yLnN0YXJ0ICsgYXV0b2NvbXBsZXRlZFBocmFzZS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBSTNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7QUFPL0QsTUFBTSxPQUFPLDhCQUE4QjtJQStDekM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUEyQyxFQUMzQyxRQUFzQztRQUR0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQThCO1FBdER6RDs7OztvRkFJNEU7UUFHckUsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFHdEIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBVW5CLDJCQUFzQixHQUFtQixDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTSxJQUFJLE9B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QUE4QjttR0FBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtvSEFTUSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBNENLLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQStDdkIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7bWVyZ2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBza2lwV2hpbGUsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlclN1Z2dlc3Rpb25QYW5lbENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItc3VnZ2VzdGlvbi1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0lEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge1RleHRSZXNvbHZlckZufSBmcm9tICcuLi8uLi9zZWxlY3QvZWxkZXItc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHtXb3JkUG9zaXRpb25GaW5kZXJ9IGZyb20gJy4vbWFueS93b3JkLXBvc2l0aW9uLWZpbmRlcic7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS1vcHRpb24tc2VsZWN0ZWQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlbGRlckF1dG9jb21wbGV0ZU1hbnldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b2NvbXBsZXRlTWFueURpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5RmlsdGVyID0gJ3F1ZXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydHM6IFNvcnRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydHkgb24gYSBzdWdnZXN0aW9uIG9iamVjdCB3aGljaCBpcyB1c2VkXG4gICAqIGFzIHRoZSBkaXNwbGF5IGFuZCBpbnNlcnQgdmFsdWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dFByb3BlcnR5OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRleHRQcm9wZXJ0eVJlc29sdmVyRm46IFRleHRSZXNvbHZlckZuID0gKG9wdGlvbjogYW55KSA9PiB7XG4gICAgaWYgKCFvcHRpb24pIHtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG9wdGlvbiBhcyBzdHJpbmc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRleHRQcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRleHRQcm9wZXJ0eV0gYXMgc3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRLZXl1cCQgPSBuZXcgU3ViamVjdDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaWdub3JlS2V5cyA9IFsnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnXTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdvcmRGaW5kZXI6IFdvcmRQb3NpdGlvbkZpbmRlcjtcblxuICBwcml2YXRlIF9lbGRlckF1dG9jb21wbGV0ZTogRWxkZXJTdWdnZXN0aW9uUGFuZWxDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9Db21wbGV0ZVRyaWdnZXI6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuICApIHtcbiAgICB0aGlzLndvcmRGaW5kZXIgPSBuZXcgV29yZFBvc2l0aW9uRmluZGVyKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoJ2VsZGVyQXV0b2NvbXBsZXRlTWFueScpXG4gIHB1YmxpYyBzZXQgYXV0b2NvbXBsZXRlKGF1dG86IEVsZGVyU3VnZ2VzdGlvblBhbmVsQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fZWxkZXJBdXRvY29tcGxldGUgPSBhdXRvO1xuICAgIHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckLm5leHQoKTtcbiAgICBpZiAoYXV0bykge1xuICAgICAgYXV0by5tYXRBdXRvY29tcGxldGUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJCksXG4gICAgICAgICAgZmlsdGVyKG1hdEF1dG8gPT4gISFtYXRBdXRvKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUobWF0QXV0byA9PiB0aGlzLmF1dG9Db21wbGV0ZVRyaWdnZXIuYXV0b2NvbXBsZXRlID0gbWF0QXV0byk7XG5cbiAgICAgIGF1dG8ub3B0aW9uU2VsZWN0ZWQucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckKVxuICAgICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbk9wdGlvblNlbGVjdGVkKGV2ZW50KSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZSgpOiBFbGRlclN1Z2dlc3Rpb25QYW5lbENvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3Vyc29yUG9zaXRpb24oKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgY3Vyc29yUG9zaXRpb24ocG9zaXRpb246IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSBwb3NpdGlvbjtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgPSBwb3NpdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmRhdGFDb250ZXh0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEhvc3QgTGlzdGVuZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlnbm9yZUtleXMuc29tZShrID0+IGsgPT09IGV2ZW50LmtleSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnB1dEtleXVwJC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciA9IHRoaXMudGV4dFByb3BlcnR5UmVzb2x2ZXJGbjtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5vcHRpb25WYWx1ZUNvbnZlcnRlckZuID0gKG9wdGlvbjogVCkgPT4ge1xuICAgICAgY29uc3Qgc3VnZ2VzdGlvbiA9IHRoaXMucmVzb2x2ZVN1Z2dlc3Rpb25UZXh0KG9wdGlvbik7XG4gICAgICByZXR1cm4gdGhpcy5pbnNlcnRTdWdnZXN0aW9uKHN1Z2dlc3Rpb24pO1xuICAgIH07XG5cbiAgICBtZXJnZShcbiAgICAgIHRoaXMuaW5wdXRLZXl1cCQucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKGUgPT4gIXRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmVuYWJsZWQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgbWFwKGUgPT4gKGU/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUpLFxuICAgICAgICBtYXAodmFsdWUgPT4gdGhpcy5leHRyYWN0V29yZEF0Q3Vyc29yKHZhbHVlKSlcbiAgICAgICksXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZS50cmlnZ2VyUmVsb2FkJFxuICAgICkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcih2YWx1ZSA9PiAhdmFsdWUgfHwgdHlwZW9mICh2YWx1ZSkgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiAodmFsdWUpID09PSAnbnVtYmVyJylcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHRoaXMudXBkYXRlU3VnZ2VzdGlvbnModmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHByaXZhdGUgZXh0cmFjdFdvcmRBdEN1cnNvcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbikge1xuICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RXb3JkRnJvbSh2YWx1ZSwgY3Vyc29yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjdXJzb3JCZWZvcmVBdXRvY29tcGxldGU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZW1lbWJlckN1cnNvclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY3Vyc29yQmVmb3JlQXV0b2NvbXBsZXRlID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFdvcmRGcm9tKHRleHQ6IHN0cmluZywgcG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qgd29yZCA9IHRoaXMud29yZEZpbmRlci5maW5kV29yZCh0ZXh0LCBwb3NpdGlvbik7XG4gICAgcmV0dXJuIHdvcmQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN1Z2dlc3Rpb25zKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IFsuLi50aGlzLmZpbHRlcnMsIG5ldyBGaWx0ZXIodGhpcy5xdWVyeUZpbHRlciwgPGFueT52YWx1ZSldO1xuICAgIGNvbnN0IHNvcnRzID0gdGhpcy5zb3J0cztcbiAgICBpZiAodGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZW1lbWJlckN1cnNvclBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQuc3RhcnQoc29ydHMsIGZpbHRlcnMpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgRGF0YUNvbnRleHQhJywgZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluc2VydFN1Z2dlc3Rpb24oc3VnZ2VzdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmN1cnJlbnRJbnB1dFZhbHVlKCk7XG4gICAgaWYoIXN1Z2dlc3Rpb24pe1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jdXJzb3JQb3NpdGlvbjtcbiAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gdGhpcy53b3JkRmluZGVyLnJlcGxhY2VXb3JkKGN1cnJlbnRWYWx1ZSwgY3Vyc29yLCBzdWdnZXN0aW9uKTtcbiAgICAgIHJldHVybiByZXBsYWNlbWVudC5uZXdUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdJbnNlcnQgbm90IHBvc3NpYmxlIGFzIG5vIGN1cnNvci1wb3NpdGlvbiB3YXMgYXZhaWxhYmxlIScpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBpbnB1dD8udmFsdWUgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTdWdnZXN0aW9uVGV4dChvcHRpb246IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRQcm9wZXJ0eVJlc29sdmVyRm4ob3B0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgb25PcHRpb25TZWxlY3RlZChcbiAgICBldmVudDogRWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB3b3JkQXRDdXJzb3IgPSB0aGlzLndvcmRGaW5kZXIuZmluZFdvcmQodGhpcy5jdXJyZW50SW5wdXRWYWx1ZSgpLCB0aGlzLmN1cnNvckJlZm9yZUF1dG9jb21wbGV0ZSk7XG4gICAgY29uc3QgYXV0b2NvbXBsZXRlZFBocmFzZSA9IHRoaXMucmVzb2x2ZVN1Z2dlc3Rpb25UZXh0KGV2ZW50LmVudGl0eSk7XG4gICAgLy8gVGhlIHdvcmRBdEN1cnNvciBtaWdodCBub3QgYmUgdGhlIGZ1bGwgYXV0b2NvbXBsZXRlZCBwaHJhc2UgKGlmIHRoZXJlIGFyZSBtdWx0aXBsZSB3b3JkcylcbiAgICB0aGlzLmN1cnNvclBvc2l0aW9uID0gd29yZEF0Q3Vyc29yLnN0YXJ0ICsgYXV0b2NvbXBsZXRlZFBocmFzZS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
|