@dereekb/dbx-web 10.1.30 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/esm2022/lib/calendar.base.component.mjs +27 -30
- package/calendar/esm2022/lib/calendar.component.mjs +21 -24
- package/calendar/esm2022/lib/calendar.module.mjs +9 -9
- package/calendar/esm2022/lib/calendar.store.mjs +89 -89
- package/calendar/fesm2022/dereekb-dbx-web-calendar.mjs +137 -141
- package/calendar/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/calendar/lib/calendar.base.component.d.ts +0 -1
- package/calendar/lib/calendar.component.d.ts +1 -2
- package/calendar/package.json +1 -1
- package/esm2022/calendar/lib/calendar.base.component.mjs +27 -30
- package/esm2022/calendar/lib/calendar.component.mjs +21 -24
- package/esm2022/calendar/lib/calendar.module.mjs +9 -9
- package/esm2022/calendar/lib/calendar.store.mjs +89 -89
- package/esm2022/lib/action/action.confirm.directive.mjs +8 -15
- package/esm2022/lib/action/action.module.mjs +4 -4
- package/esm2022/lib/action/key.trigger.directive.mjs +7 -11
- package/esm2022/lib/action/snackbar/action.snackbar.component.mjs +40 -48
- package/esm2022/lib/action/snackbar/action.snackbar.directive.mjs +10 -14
- package/esm2022/lib/action/snackbar/action.snackbar.module.mjs +4 -4
- package/esm2022/lib/action/snackbar/action.snackbar.service.mjs +14 -21
- package/esm2022/lib/action/transition/action.transition.module.mjs +4 -4
- package/esm2022/lib/action/transition/transition.safety.dialog.component.mjs +11 -14
- package/esm2022/lib/action/transition/transition.safety.directive.mjs +15 -20
- package/esm2022/lib/button/button.component.mjs +10 -9
- package/esm2022/lib/button/button.module.mjs +4 -4
- package/esm2022/lib/button/button.spacer.component.mjs +3 -3
- package/esm2022/lib/button/icon/icon.button.component.mjs +4 -4
- package/esm2022/lib/button/icon/icon.button.module.mjs +6 -6
- package/esm2022/lib/button/progress/bar.button.component.mjs +4 -7
- package/esm2022/lib/button/progress/base.progress.button.directive.mjs +45 -53
- package/esm2022/lib/button/progress/button.progress.module.mjs +4 -4
- package/esm2022/lib/button/progress/spinner.button.component.mjs +15 -17
- package/esm2022/lib/dbx-web.module.mjs +4 -4
- package/esm2022/lib/error/default.error.widget.component.mjs +4 -4
- package/esm2022/lib/error/error.action.directive.mjs +7 -14
- package/esm2022/lib/error/error.component.mjs +57 -62
- package/esm2022/lib/error/error.details.component.mjs +5 -4
- package/esm2022/lib/error/error.loading.directive.mjs +6 -12
- package/esm2022/lib/error/error.module.mjs +5 -5
- package/esm2022/lib/error/error.popover.component.mjs +4 -4
- package/esm2022/lib/error/error.snackbar.action.directive.mjs +8 -12
- package/esm2022/lib/error/error.snackbar.component.mjs +16 -22
- package/esm2022/lib/error/error.snackbar.service.mjs +12 -15
- package/esm2022/lib/error/error.view.component.mjs +12 -7
- package/esm2022/lib/error/error.widget.component.mjs +33 -36
- package/esm2022/lib/error/error.widget.directive.mjs +6 -11
- package/esm2022/lib/error/error.widget.service.mjs +4 -4
- package/esm2022/lib/extension/download/text/download.text.component.mjs +79 -82
- package/esm2022/lib/extension/download/text/download.text.module.mjs +6 -6
- package/esm2022/lib/extension/model/model.module.mjs +11 -11
- package/esm2022/lib/extension/model/model.state.service.mjs +6 -9
- package/esm2022/lib/extension/model/model.tracker.service.mjs +11 -13
- package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +13 -13
- package/esm2022/lib/extension/model/model.types.service.mjs +34 -36
- package/esm2022/lib/extension/model/state/effects/tracker.effects.mjs +13 -17
- package/esm2022/lib/extension/structure/structure.body.directive.mjs +4 -4
- package/esm2022/lib/extension/structure/structure.module.mjs +6 -6
- package/esm2022/lib/extension/structure/structure.structure.directive.mjs +8 -10
- package/esm2022/lib/extension/widget/widget.component.mjs +22 -25
- package/esm2022/lib/extension/widget/widget.directive.mjs +6 -11
- package/esm2022/lib/extension/widget/widget.list.component.mjs +17 -20
- package/esm2022/lib/extension/widget/widget.module.mjs +6 -6
- package/esm2022/lib/extension/widget/widget.service.mjs +4 -6
- package/esm2022/lib/interaction/dialog/abstract.dialog.directive.mjs +8 -21
- package/esm2022/lib/interaction/dialog/dialog.action.directive.mjs +11 -10
- package/esm2022/lib/interaction/dialog/dialog.content.close.component.mjs +6 -8
- package/esm2022/lib/interaction/dialog/dialog.content.component.mjs +4 -6
- package/esm2022/lib/interaction/dialog/dialog.content.footer.component.mjs +7 -9
- package/esm2022/lib/interaction/dialog/dialog.module.mjs +4 -4
- package/esm2022/lib/interaction/filter/filter.module.mjs +6 -6
- package/esm2022/lib/interaction/filter/filter.partial.list.component.mjs +4 -4
- package/esm2022/lib/interaction/filter/filter.partial.menu.component.mjs +6 -9
- package/esm2022/lib/interaction/filter/filter.partial.mjs +24 -27
- package/esm2022/lib/interaction/filter/filter.popover.button.component.mjs +7 -8
- package/esm2022/lib/interaction/filter/filter.popover.button.directive.mjs +7 -10
- package/esm2022/lib/interaction/filter/filter.popover.component.mjs +52 -57
- package/esm2022/lib/interaction/filter/filter.preset.directive.mjs +90 -0
- package/esm2022/lib/interaction/filter/filter.preset.list.component.mjs +6 -6
- package/esm2022/lib/interaction/filter/filter.preset.menu.component.mjs +8 -11
- package/esm2022/lib/interaction/filter/filter.wrapper.component.mjs +15 -15
- package/esm2022/lib/interaction/interaction.module.mjs +4 -4
- package/esm2022/lib/interaction/popover/abstract.popover.directive.mjs +6 -9
- package/esm2022/lib/interaction/popover/abstract.popover.ref.directive.mjs +8 -10
- package/esm2022/lib/interaction/popover/popover.action.directive.mjs +11 -10
- package/esm2022/lib/interaction/popover/popover.close.component.mjs +9 -12
- package/esm2022/lib/interaction/popover/popover.component.mjs +27 -27
- package/esm2022/lib/interaction/popover/popover.content.component.mjs +8 -10
- package/esm2022/lib/interaction/popover/popover.content.module.mjs +4 -4
- package/esm2022/lib/interaction/popover/popover.controls.directive.mjs +9 -11
- package/esm2022/lib/interaction/popover/popover.coordinator.component.mjs +14 -17
- package/esm2022/lib/interaction/popover/popover.coordinator.service.mjs +5 -7
- package/esm2022/lib/interaction/popover/popover.header.component.mjs +15 -15
- package/esm2022/lib/interaction/popover/popover.module.mjs +4 -4
- package/esm2022/lib/interaction/popover/popover.scroll.content.component.mjs +7 -10
- package/esm2022/lib/interaction/popover/popover.service.mjs +8 -11
- package/esm2022/lib/interaction/popup/abstract.popup.directive.mjs +6 -9
- package/esm2022/lib/interaction/popup/popup.component.mjs +25 -24
- package/esm2022/lib/interaction/popup/popup.content.component.mjs +9 -12
- package/esm2022/lib/interaction/popup/popup.controls.buttons.component.mjs +17 -20
- package/esm2022/lib/interaction/popup/popup.controls.component.mjs +5 -4
- package/esm2022/lib/interaction/popup/popup.coordinator.component.mjs +13 -17
- package/esm2022/lib/interaction/popup/popup.coordinator.service.mjs +5 -7
- package/esm2022/lib/interaction/popup/popup.module.mjs +4 -4
- package/esm2022/lib/interaction/popup/popup.position.strategy.mjs +3 -2
- package/esm2022/lib/interaction/popup/popup.service.mjs +8 -11
- package/esm2022/lib/interaction/prompt/prompt.box.component.mjs +5 -7
- package/esm2022/lib/interaction/prompt/prompt.button.confirm.directive.mjs +12 -20
- package/esm2022/lib/interaction/prompt/prompt.component.mjs +6 -4
- package/esm2022/lib/interaction/prompt/prompt.confirm.component.mjs +6 -8
- package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +4 -4
- package/esm2022/lib/interaction/prompt/prompt.confirm.directive.mjs +12 -15
- package/esm2022/lib/interaction/prompt/prompt.module.mjs +4 -4
- package/esm2022/lib/interaction/prompt/prompt.page.component.mjs +4 -4
- package/esm2022/lib/keypress/keydown.listener.directive.mjs +6 -7
- package/esm2022/lib/keypress/keypress.module.mjs +4 -4
- package/esm2022/lib/layout/bar/bar.directive.mjs +4 -3
- package/esm2022/lib/layout/bar/bar.header.component.mjs +7 -4
- package/esm2022/lib/layout/bar/bar.layout.module.mjs +4 -4
- package/esm2022/lib/layout/bar/pagebar.component.mjs +4 -3
- package/esm2022/lib/layout/block/block.layout.module.mjs +4 -4
- package/esm2022/lib/layout/block/two.block.component.mjs +9 -10
- package/esm2022/lib/layout/card/card.box.component.mjs +6 -4
- package/esm2022/lib/layout/card/card.box.container.component.mjs +4 -4
- package/esm2022/lib/layout/card/card.box.layout.module.mjs +4 -4
- package/esm2022/lib/layout/column/column.layout.module.mjs +4 -4
- package/esm2022/lib/layout/column/one/one.column.component.mjs +10 -14
- package/esm2022/lib/layout/column/one/one.column.module.mjs +4 -4
- package/esm2022/lib/layout/column/two/two.column.back.directive.mjs +7 -11
- package/esm2022/lib/layout/column/two/two.column.component.mjs +17 -21
- package/esm2022/lib/layout/column/two/two.column.context.directive.mjs +7 -10
- package/esm2022/lib/layout/column/two/two.column.full.left.directive.mjs +7 -10
- package/esm2022/lib/layout/column/two/two.column.head.component.mjs +6 -4
- package/esm2022/lib/layout/column/two/two.column.module.mjs +4 -4
- package/esm2022/lib/layout/column/two/two.column.right.component.mjs +15 -19
- package/esm2022/lib/layout/column/two/two.column.sref.directive.mjs +6 -9
- package/esm2022/lib/layout/column/two/two.column.sref.showright.directive.mjs +10 -15
- package/esm2022/lib/layout/column/two/two.column.store.mjs +81 -81
- package/esm2022/lib/layout/compact/compact.directive.mjs +7 -10
- package/esm2022/lib/layout/compact/compact.layout.module.mjs +4 -4
- package/esm2022/lib/layout/compact/compact.store.mjs +6 -6
- package/esm2022/lib/layout/content/content.border.directive.mjs +4 -6
- package/esm2022/lib/layout/content/content.box.directive.mjs +5 -7
- package/esm2022/lib/layout/content/content.container.directive.mjs +6 -8
- package/esm2022/lib/layout/content/content.directive.mjs +3 -3
- package/esm2022/lib/layout/content/content.elevate.directive.mjs +4 -6
- package/esm2022/lib/layout/content/content.layout.module.mjs +5 -5
- package/esm2022/lib/layout/content/content.page.directive.mjs +3 -3
- package/esm2022/lib/layout/content/content.pit.directive.mjs +4 -3
- package/esm2022/lib/layout/flag/flag.component.mjs +5 -7
- package/esm2022/lib/layout/flag/flag.layout.module.mjs +4 -4
- package/esm2022/lib/layout/flag/flag.prompt.component.mjs +6 -7
- package/esm2022/lib/layout/flex/flex.group.directive.mjs +14 -15
- package/esm2022/lib/layout/flex/flex.layout.module.mjs +4 -4
- package/esm2022/lib/layout/flex/flex.size.directive.mjs +4 -6
- package/esm2022/lib/layout/item/item.icon.component.mjs +6 -4
- package/esm2022/lib/layout/item/item.layout.module.mjs +4 -4
- package/esm2022/lib/layout/layout.module.mjs +4 -4
- package/esm2022/lib/layout/list/list.component.mjs +102 -103
- package/esm2022/lib/layout/list/list.content.empty.component.mjs +4 -4
- package/esm2022/lib/layout/list/list.directive.mjs +14 -15
- package/esm2022/lib/layout/list/list.grid.view.component.mjs +27 -39
- package/esm2022/lib/layout/list/list.grid.view.directive.mjs +3 -3
- package/esm2022/lib/layout/list/list.layout.module.mjs +5 -5
- package/esm2022/lib/layout/list/list.view.directive.mjs +11 -12
- package/esm2022/lib/layout/list/list.view.meta.icon.component.mjs +9 -19
- package/esm2022/lib/layout/list/list.view.selection.directive.mjs +4 -7
- package/esm2022/lib/layout/list/list.view.value.component.mjs +36 -43
- package/esm2022/lib/layout/list/list.view.value.directive.mjs +11 -17
- package/esm2022/lib/layout/list/list.view.value.group.title.directive.mjs +57 -59
- package/esm2022/lib/layout/list/list.view.value.item.directive.mjs +6 -11
- package/esm2022/lib/layout/list/list.view.value.modifier.directive.mjs +15 -19
- package/esm2022/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +14 -17
- package/esm2022/lib/layout/list/list.view.value.modifier.selection.directive.mjs +13 -16
- package/esm2022/lib/layout/list/list.view.value.selection.component.mjs +20 -29
- package/esm2022/lib/layout/list/list.wrapper.mjs +3 -1
- package/esm2022/lib/layout/section/section.component.mjs +5 -8
- package/esm2022/lib/layout/section/section.header.component.mjs +12 -7
- package/esm2022/lib/layout/section/section.intro.component.mjs +7 -8
- package/esm2022/lib/layout/section/section.layout.module.mjs +4 -4
- package/esm2022/lib/layout/section/section.page.component.mjs +6 -9
- package/esm2022/lib/layout/section/subsection.component.mjs +4 -4
- package/esm2022/lib/layout/step/step.component.mjs +7 -3
- package/esm2022/lib/layout/step/step.layout.module.mjs +4 -4
- package/esm2022/lib/layout/style/spacer.directive.mjs +3 -3
- package/esm2022/lib/layout/style/style.body.directive.mjs +14 -15
- package/esm2022/lib/layout/style/style.color.directive.mjs +4 -6
- package/esm2022/lib/layout/style/style.directive.mjs +15 -13
- package/esm2022/lib/layout/style/style.layout.module.mjs +4 -4
- package/esm2022/lib/layout/style/style.service.mjs +18 -26
- package/esm2022/lib/layout/style/style.set.directive.mjs +15 -16
- package/esm2022/lib/layout/text/address.component.mjs +5 -4
- package/esm2022/lib/layout/text/compat/form.description.component.mjs +19 -0
- package/esm2022/lib/layout/text/compat/hint.component.mjs +19 -0
- package/esm2022/lib/layout/text/compat/index.mjs +10 -0
- package/esm2022/lib/layout/text/compat/label.component.mjs +19 -0
- package/esm2022/lib/layout/text/compat/note.component.mjs +19 -0
- package/esm2022/lib/layout/text/compat/notice.component.mjs +19 -0
- package/esm2022/lib/layout/text/compat/ok.component.mjs +19 -0
- package/esm2022/lib/layout/text/compat/success.component.mjs +19 -0
- package/esm2022/lib/layout/text/compat/text.compat.module.mjs +32 -0
- package/esm2022/lib/layout/text/compat/warn.component.mjs +19 -0
- package/esm2022/lib/layout/text/detail.block.component.mjs +6 -4
- package/esm2022/lib/layout/text/detail.block.header.component.mjs +6 -4
- package/esm2022/lib/layout/text/icon.spacer.component.mjs +3 -3
- package/esm2022/lib/layout/text/index.mjs +2 -9
- package/esm2022/lib/layout/text/label.block.component.mjs +7 -7
- package/esm2022/lib/layout/text/linkify.component.mjs +20 -23
- package/esm2022/lib/layout/text/text.chip.directive.mjs +5 -3
- package/esm2022/lib/layout/text/text.chips.component.mjs +6 -4
- package/esm2022/lib/layout/text/text.module.mjs +5 -13
- package/esm2022/lib/loading/basic-loading.component.mjs +33 -33
- package/esm2022/lib/loading/loading-progress.component.mjs +11 -10
- package/esm2022/lib/loading/loading.action.directive.mjs +8 -14
- package/esm2022/lib/loading/loading.component.mjs +33 -27
- package/esm2022/lib/loading/loading.module.mjs +4 -4
- package/esm2022/lib/router/layout/anchor/anchor.component.mjs +14 -17
- package/esm2022/lib/router/layout/anchor/anchor.content.component.mjs +14 -19
- package/esm2022/lib/router/layout/anchor/anchor.icon.component.mjs +5 -4
- package/esm2022/lib/router/layout/anchor/anchor.link.component.mjs +5 -4
- package/esm2022/lib/router/layout/anchor/anchor.module.mjs +4 -4
- package/esm2022/lib/router/layout/anchor/anchor.segue.directive.mjs +13 -16
- package/esm2022/lib/router/layout/anchorlist/anchorlist.component.mjs +8 -10
- package/esm2022/lib/router/layout/anchorlist/anchorlist.module.mjs +4 -4
- package/esm2022/lib/router/layout/layout.module.mjs +4 -4
- package/esm2022/lib/router/layout/list/list.module.mjs +4 -4
- package/esm2022/lib/router/layout/list/router.list.directive.mjs +16 -19
- package/esm2022/lib/router/layout/navbar/navbar.component.mjs +65 -70
- package/esm2022/lib/router/layout/navbar/navbar.module.mjs +6 -6
- package/esm2022/lib/router/layout/sidenav/sidenav.button.component.mjs +13 -16
- package/esm2022/lib/router/layout/sidenav/sidenav.component.mjs +54 -57
- package/esm2022/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.mjs +10 -14
- package/esm2022/lib/router/layout/sidenav/sidenav.module.mjs +4 -4
- package/esm2022/lib/router/layout/sidenav/sidenav.page.component.mjs +13 -14
- package/esm2022/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +5 -4
- package/esm2022/lib/router/provider/ngrouter/anchor.component.mjs +3 -3
- package/esm2022/lib/router/provider/ngrouter/angular.router.module.mjs +4 -4
- package/esm2022/lib/router/provider/uirouter/anchor.component.mjs +5 -8
- package/esm2022/lib/router/provider/uirouter/uirouter.router.module.mjs +4 -4
- package/esm2022/lib/screen/screen.module.mjs +4 -4
- package/esm2022/lib/screen/screen.service.mjs +19 -12
- package/esm2022/mapbox/lib/mapbox.change.service.mjs +15 -18
- package/esm2022/mapbox/lib/mapbox.injection.component.mjs +10 -14
- package/esm2022/mapbox/lib/mapbox.injection.store.mjs +8 -8
- package/esm2022/mapbox/lib/mapbox.injection.store.provide.mjs +8 -13
- package/esm2022/mapbox/lib/mapbox.layout.component.mjs +47 -46
- package/esm2022/mapbox/lib/mapbox.layout.drawer.component.mjs +9 -12
- package/esm2022/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +17 -23
- package/esm2022/mapbox/lib/mapbox.marker.component.mjs +13 -17
- package/esm2022/mapbox/lib/mapbox.markers.component.mjs +14 -16
- package/esm2022/mapbox/lib/mapbox.menu.component.mjs +14 -21
- package/esm2022/mapbox/lib/mapbox.module.mjs +6 -6
- package/esm2022/mapbox/lib/mapbox.service.mjs +10 -10
- package/esm2022/mapbox/lib/mapbox.store.map.directive.mjs +9 -22
- package/esm2022/mapbox/lib/mapbox.store.mjs +395 -399
- package/esm2022/mapbox/lib/mapbox.store.provide.mjs +8 -13
- package/esm2022/table/lib/date/date.table.column.header.component.mjs +8 -8
- package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +37 -43
- package/esm2022/table/lib/date/table.date.module.mjs +6 -6
- package/esm2022/table/lib/table.cell.action.component.mjs +10 -13
- package/esm2022/table/lib/table.cell.input.component.mjs +10 -13
- package/esm2022/table/lib/table.cell.summaryend.component.mjs +10 -13
- package/esm2022/table/lib/table.cell.summarystart.component.mjs +10 -13
- package/esm2022/table/lib/table.column.directive.mjs +8 -11
- package/esm2022/table/lib/table.column.footer.component.mjs +13 -16
- package/esm2022/table/lib/table.column.header.component.mjs +13 -16
- package/esm2022/table/lib/table.component.mjs +35 -38
- package/esm2022/table/lib/table.directive.mjs +6 -9
- package/esm2022/table/lib/table.item.action.component.mjs +13 -16
- package/esm2022/table/lib/table.item.cell.component.mjs +7 -10
- package/esm2022/table/lib/table.item.directive.mjs +8 -11
- package/esm2022/table/lib/table.item.header.component.mjs +5 -8
- package/esm2022/table/lib/table.module.mjs +6 -6
- package/esm2022/table/lib/table.store.mjs +36 -36
- package/fesm2022/dereekb-dbx-web-calendar.mjs +137 -141
- package/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web-mapbox.mjs +552 -594
- package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web-table.mjs +197 -232
- package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web.mjs +2243 -2460
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/action/action.confirm.directive.d.ts +1 -3
- package/lib/action/key.trigger.directive.d.ts +1 -2
- package/lib/action/snackbar/action.snackbar.component.d.ts +4 -5
- package/lib/action/snackbar/action.snackbar.directive.d.ts +2 -3
- package/lib/action/snackbar/action.snackbar.service.d.ts +1 -2
- package/lib/action/transition/transition.safety.directive.d.ts +1 -2
- package/lib/button/progress/base.progress.button.directive.d.ts +7 -8
- package/lib/error/error.action.directive.d.ts +2 -3
- package/lib/error/error.component.d.ts +2 -3
- package/lib/error/error.loading.directive.d.ts +1 -2
- package/lib/error/error.snackbar.action.directive.d.ts +1 -2
- package/lib/error/error.snackbar.component.d.ts +2 -3
- package/lib/error/error.snackbar.service.d.ts +0 -1
- package/lib/error/error.widget.component.d.ts +0 -1
- package/lib/error/error.widget.directive.d.ts +0 -1
- package/lib/extension/download/text/download.text.component.d.ts +3 -6
- package/lib/extension/model/model.module.d.ts +3 -3
- package/lib/extension/model/model.state.service.d.ts +1 -3
- package/lib/extension/model/model.tracker.service.d.ts +1 -3
- package/lib/extension/model/model.tracker.view.storage.d.ts +5 -3
- package/lib/extension/model/model.types.service.d.ts +2 -3
- package/lib/extension/model/state/effects/tracker.effects.d.ts +0 -3
- package/lib/extension/structure/structure.structure.directive.d.ts +1 -2
- package/lib/extension/widget/widget.component.d.ts +0 -1
- package/lib/extension/widget/widget.directive.d.ts +0 -1
- package/lib/interaction/dialog/abstract.dialog.directive.d.ts +3 -5
- package/lib/interaction/dialog/dialog.action.directive.d.ts +3 -3
- package/lib/interaction/filter/filter.partial.d.ts +1 -2
- package/lib/interaction/filter/filter.popover.button.directive.d.ts +0 -2
- package/lib/interaction/filter/filter.popover.component.d.ts +0 -2
- package/lib/interaction/filter/{filter.preset.d.ts → filter.preset.directive.d.ts} +5 -6
- package/lib/interaction/filter/filter.preset.list.component.d.ts +2 -2
- package/lib/interaction/filter/filter.preset.menu.component.d.ts +2 -2
- package/lib/interaction/filter/filter.wrapper.component.d.ts +3 -3
- package/lib/interaction/popover/abstract.popover.directive.d.ts +0 -1
- package/lib/interaction/popover/popover.action.directive.d.ts +3 -3
- package/lib/interaction/popover/popover.close.component.d.ts +1 -2
- package/lib/interaction/popover/popover.component.d.ts +6 -7
- package/lib/interaction/popover/popover.controls.directive.d.ts +3 -2
- package/lib/interaction/popover/popover.coordinator.component.d.ts +3 -5
- package/lib/interaction/popover/popover.header.component.d.ts +5 -3
- package/lib/interaction/popover/popover.scroll.content.component.d.ts +0 -1
- package/lib/interaction/popover/popover.service.d.ts +0 -2
- package/lib/interaction/popup/abstract.popup.directive.d.ts +0 -1
- package/lib/interaction/popup/popup.component.d.ts +3 -5
- package/lib/interaction/popup/popup.content.component.d.ts +1 -3
- package/lib/interaction/popup/popup.controls.buttons.component.d.ts +1 -3
- package/lib/interaction/popup/popup.coordinator.component.d.ts +2 -5
- package/lib/interaction/popup/popup.service.d.ts +0 -2
- package/lib/interaction/prompt/prompt.button.confirm.directive.d.ts +3 -4
- package/lib/interaction/prompt/prompt.confirm.component.d.ts +2 -2
- package/lib/interaction/prompt/prompt.confirm.directive.d.ts +1 -3
- package/lib/layout/column/one/one.column.component.d.ts +1 -1
- package/lib/layout/column/two/two.column.back.directive.d.ts +0 -1
- package/lib/layout/column/two/two.column.component.d.ts +4 -4
- package/lib/layout/column/two/two.column.context.directive.d.ts +0 -1
- package/lib/layout/column/two/two.column.full.left.directive.d.ts +0 -2
- package/lib/layout/column/two/two.column.right.component.d.ts +1 -2
- package/lib/layout/column/two/two.column.sref.directive.d.ts +0 -2
- package/lib/layout/column/two/two.column.sref.showright.directive.d.ts +1 -3
- package/lib/layout/compact/compact.directive.d.ts +1 -2
- package/lib/layout/flex/flex.group.directive.d.ts +2 -3
- package/lib/layout/list/list.component.d.ts +3 -4
- package/lib/layout/list/list.directive.d.ts +4 -5
- package/lib/layout/list/list.grid.view.component.d.ts +3 -5
- package/lib/layout/list/list.view.directive.d.ts +1 -1
- package/lib/layout/list/list.view.meta.icon.component.d.ts +3 -2
- package/lib/layout/list/list.view.selection.directive.d.ts +1 -1
- package/lib/layout/list/list.view.value.component.d.ts +4 -5
- package/lib/layout/list/list.view.value.directive.d.ts +3 -4
- package/lib/layout/list/list.view.value.group.title.directive.d.ts +7 -3
- package/lib/layout/list/list.view.value.item.directive.d.ts +0 -1
- package/lib/layout/list/list.view.value.modifier.directive.d.ts +0 -1
- package/lib/layout/list/list.view.value.selection.component.d.ts +3 -4
- package/lib/layout/section/section.intro.component.d.ts +1 -1
- package/lib/layout/style/style.body.directive.d.ts +4 -4
- package/lib/layout/style/style.directive.d.ts +4 -5
- package/lib/layout/style/style.service.d.ts +1 -2
- package/lib/layout/style/style.set.directive.d.ts +3 -3
- package/lib/layout/text/compat/index.d.ts +9 -0
- package/lib/layout/text/compat/text.compat.module.d.ts +21 -0
- package/lib/layout/text/index.d.ts +1 -8
- package/lib/layout/text/linkify.component.d.ts +0 -2
- package/lib/layout/text/text.module.d.ts +9 -17
- package/lib/loading/loading.action.directive.d.ts +3 -4
- package/lib/loading/loading.component.d.ts +0 -1
- package/lib/router/layout/anchor/anchor.component.d.ts +0 -2
- package/lib/router/layout/anchor/anchor.content.component.d.ts +3 -4
- package/lib/router/layout/anchor/anchor.segue.directive.d.ts +0 -1
- package/lib/router/layout/navbar/navbar.component.d.ts +2 -4
- package/lib/router/layout/sidenav/sidenav.button.component.d.ts +0 -1
- package/lib/router/layout/sidenav/sidenav.component.d.ts +2 -4
- package/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.d.ts +2 -3
- package/lib/router/layout/sidenav/sidenav.page.component.d.ts +0 -1
- package/lib/screen/screen.service.d.ts +1 -2
- package/mapbox/esm2022/lib/mapbox.change.service.mjs +15 -18
- package/mapbox/esm2022/lib/mapbox.injection.component.mjs +10 -14
- package/mapbox/esm2022/lib/mapbox.injection.store.mjs +8 -8
- package/mapbox/esm2022/lib/mapbox.injection.store.provide.mjs +8 -13
- package/mapbox/esm2022/lib/mapbox.layout.component.mjs +47 -46
- package/mapbox/esm2022/lib/mapbox.layout.drawer.component.mjs +9 -12
- package/mapbox/esm2022/lib/mapbox.layout.resize.sync.directive.mjs +17 -23
- package/mapbox/esm2022/lib/mapbox.marker.component.mjs +13 -17
- package/mapbox/esm2022/lib/mapbox.markers.component.mjs +14 -16
- package/mapbox/esm2022/lib/mapbox.menu.component.mjs +14 -21
- package/mapbox/esm2022/lib/mapbox.module.mjs +6 -6
- package/mapbox/esm2022/lib/mapbox.service.mjs +10 -10
- package/mapbox/esm2022/lib/mapbox.store.map.directive.mjs +9 -22
- package/mapbox/esm2022/lib/mapbox.store.mjs +395 -399
- package/mapbox/esm2022/lib/mapbox.store.provide.mjs +8 -13
- package/mapbox/fesm2022/dereekb-dbx-web-mapbox.mjs +552 -594
- package/mapbox/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/mapbox/lib/mapbox.change.service.d.ts +0 -1
- package/mapbox/lib/mapbox.injection.component.d.ts +0 -3
- package/mapbox/lib/mapbox.injection.store.provide.d.ts +1 -2
- package/mapbox/lib/mapbox.layout.component.d.ts +10 -11
- package/mapbox/lib/mapbox.layout.drawer.component.d.ts +0 -1
- package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +3 -4
- package/mapbox/lib/mapbox.marker.component.d.ts +2 -4
- package/mapbox/lib/mapbox.menu.component.d.ts +4 -5
- package/mapbox/lib/mapbox.service.d.ts +1 -2
- package/mapbox/lib/mapbox.store.d.ts +1 -2
- package/mapbox/lib/mapbox.store.map.directive.d.ts +2 -3
- package/mapbox/lib/mapbox.store.provide.d.ts +1 -2
- package/mapbox/package.json +1 -1
- package/package.json +1 -1
- package/table/esm2022/lib/date/date.table.column.header.component.mjs +8 -8
- package/table/esm2022/lib/date/daterange.table.cell.input.component.mjs +37 -43
- package/table/esm2022/lib/date/table.date.module.mjs +6 -6
- package/table/esm2022/lib/table.cell.action.component.mjs +10 -13
- package/table/esm2022/lib/table.cell.input.component.mjs +10 -13
- package/table/esm2022/lib/table.cell.summaryend.component.mjs +10 -13
- package/table/esm2022/lib/table.cell.summarystart.component.mjs +10 -13
- package/table/esm2022/lib/table.column.directive.mjs +8 -11
- package/table/esm2022/lib/table.column.footer.component.mjs +13 -16
- package/table/esm2022/lib/table.column.header.component.mjs +13 -16
- package/table/esm2022/lib/table.component.mjs +35 -38
- package/table/esm2022/lib/table.directive.mjs +6 -9
- package/table/esm2022/lib/table.item.action.component.mjs +13 -16
- package/table/esm2022/lib/table.item.cell.component.mjs +7 -10
- package/table/esm2022/lib/table.item.directive.mjs +8 -11
- package/table/esm2022/lib/table.item.header.component.mjs +5 -8
- package/table/esm2022/lib/table.module.mjs +6 -6
- package/table/esm2022/lib/table.store.mjs +36 -36
- package/table/fesm2022/dereekb-dbx-web-table.mjs +197 -232
- package/table/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
- package/table/lib/date/daterange.table.cell.input.component.d.ts +3 -6
- package/table/lib/table.cell.action.component.d.ts +1 -2
- package/table/lib/table.cell.input.component.d.ts +1 -2
- package/table/lib/table.cell.summaryend.component.d.ts +1 -2
- package/table/lib/table.cell.summarystart.component.d.ts +1 -2
- package/table/lib/table.column.directive.d.ts +1 -2
- package/table/lib/table.component.d.ts +0 -1
- package/table/lib/table.directive.d.ts +0 -1
- package/table/lib/table.item.directive.d.ts +0 -1
- package/table/package.json +1 -1
- package/esm2022/lib/interaction/filter/filter.preset.mjs +0 -94
- package/esm2022/lib/layout/text/form.description.component.mjs +0 -19
- package/esm2022/lib/layout/text/hint.component.mjs +0 -19
- package/esm2022/lib/layout/text/label.component.mjs +0 -19
- package/esm2022/lib/layout/text/note.component.mjs +0 -19
- package/esm2022/lib/layout/text/notice.component.mjs +0 -19
- package/esm2022/lib/layout/text/ok.component.mjs +0 -19
- package/esm2022/lib/layout/text/success.component.mjs +0 -19
- package/esm2022/lib/layout/text/warn.component.mjs +0 -19
- /package/lib/layout/text/{form.description.component.d.ts → compat/form.description.component.d.ts} +0 -0
- /package/lib/layout/text/{hint.component.d.ts → compat/hint.component.d.ts} +0 -0
- /package/lib/layout/text/{label.component.d.ts → compat/label.component.d.ts} +0 -0
- /package/lib/layout/text/{note.component.d.ts → compat/note.component.d.ts} +0 -0
- /package/lib/layout/text/{notice.component.d.ts → compat/notice.component.d.ts} +0 -0
- /package/lib/layout/text/{ok.component.d.ts → compat/ok.component.d.ts} +0 -0
- /package/lib/layout/text/{success.component.d.ts → compat/success.component.d.ts} +0 -0
- /package/lib/layout/text/{warn.component.d.ts → compat/warn.component.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { catchError, filter, exhaustMap, merge, map, Subject, switchMap, shareReplay, distinctUntilChanged, of, Observable, BehaviorSubject, first } from 'rxjs';
|
|
2
|
-
import { Component, Input, EventEmitter, Output, ElementRef, HostListener, ChangeDetectorRef, Directive } from '@angular/core';
|
|
2
|
+
import { Component, Input, EventEmitter, Output, ElementRef, HostListener, ChangeDetectorRef, Directive, inject } from '@angular/core';
|
|
3
3
|
import { tapDetectChanges } from '@dereekb/dbx-core';
|
|
4
|
-
import { SubscriptionObject, ListLoadingStateContextInstance, filterMaybe,
|
|
4
|
+
import { SubscriptionObject, ListLoadingStateContextInstance, filterMaybe, isLoadingStateFinishedLoading, startWithBeginLoading } from '@dereekb/rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
7
|
import * as i2 from "../../loading/loading.component";
|
|
@@ -13,102 +13,101 @@ import * as i4 from "@dereekb/dbx-core";
|
|
|
13
13
|
* This component is generally wrapped by another component that provides this one configuration.
|
|
14
14
|
*/
|
|
15
15
|
export class DbxListComponent {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
obs = of();
|
|
77
|
-
}
|
|
78
|
-
return obs;
|
|
79
|
-
}))
|
|
80
|
-
.subscribe();
|
|
81
|
-
}
|
|
82
|
-
if (onClick) {
|
|
83
|
-
if (instance.clickValue) {
|
|
84
|
-
this._onClickSub.subscription = instance.clickValue.subscribe(onClick);
|
|
16
|
+
cdRef = inject(ChangeDetectorRef);
|
|
17
|
+
DEFAULT_SCROLL_DISTANCE = 1.5;
|
|
18
|
+
DEFAULT_THROTTLE_SCROLL = 50;
|
|
19
|
+
/**
|
|
20
|
+
* Whether or not to add bottom padding to the list content.
|
|
21
|
+
*/
|
|
22
|
+
padded = true;
|
|
23
|
+
contentScrolled = new EventEmitter();
|
|
24
|
+
_content;
|
|
25
|
+
_disabled = new BehaviorSubject(false);
|
|
26
|
+
_selectionMode = new BehaviorSubject(undefined);
|
|
27
|
+
_loadMoreTrigger = new Subject();
|
|
28
|
+
_scrollTrigger = new Subject();
|
|
29
|
+
_config = new BehaviorSubject(undefined);
|
|
30
|
+
_loadMoreSub = new SubscriptionObject();
|
|
31
|
+
_onClickSub = new SubscriptionObject();
|
|
32
|
+
_disabledSub = new SubscriptionObject();
|
|
33
|
+
_selectionModeSub = new SubscriptionObject();
|
|
34
|
+
_onSelectionChangeSub = new SubscriptionObject();
|
|
35
|
+
context = new ListLoadingStateContextInstance({ showLoadingOnNoValue: false });
|
|
36
|
+
isEmpty$ = this.context.isEmpty$;
|
|
37
|
+
isEmptyLoading$ = this.context.isEmptyLoading$;
|
|
38
|
+
isEmptyAndNotLoading$ = this.context.isEmptyAndNotLoading$;
|
|
39
|
+
disabled$ = this._disabled.asObservable();
|
|
40
|
+
selectionMode$ = this._selectionMode.asObservable();
|
|
41
|
+
hideOnEmpty$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
|
|
42
|
+
invertedList$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
|
|
43
|
+
throttleScroll$ = this._config.pipe(map((x) => x?.throttle ?? this.DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
|
|
44
|
+
scrollDistance$ = this._config.pipe(map((x) => x?.scrollDistance ?? this.DEFAULT_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
|
|
45
|
+
scrollLoadMoreTrigger$ = this._config.pipe(switchMap((config) => {
|
|
46
|
+
const loadNextDirection = config?.invertedList ? 'up' : 'down';
|
|
47
|
+
return this._scrollTrigger.pipe(filter((x) => x === loadNextDirection));
|
|
48
|
+
}));
|
|
49
|
+
loadMore$ = merge(this.scrollLoadMoreTrigger$, this._loadMoreTrigger);
|
|
50
|
+
injectedComponentConfig$ = this._config.pipe(distinctUntilChanged(), map((config) => {
|
|
51
|
+
let injectedComponentConfig;
|
|
52
|
+
if (config) {
|
|
53
|
+
const { componentClass, init, onClick, onSelectionChange, loadMore, defaultSelectionMode = 'view' } = config;
|
|
54
|
+
injectedComponentConfig = {
|
|
55
|
+
componentClass: config.componentClass,
|
|
56
|
+
injector: config.injector,
|
|
57
|
+
init: (instance) => {
|
|
58
|
+
// Synchronize disabled
|
|
59
|
+
this._disabledSub.subscription = this.disabled$.subscribe((disabled) => instance.setDisabled(disabled));
|
|
60
|
+
this._selectionModeSub.subscription = this.selectionMode$.subscribe((selectionMode) => instance.setSelectionMode(selectionMode ?? defaultSelectionMode));
|
|
61
|
+
if (init) {
|
|
62
|
+
init(instance);
|
|
63
|
+
}
|
|
64
|
+
instance.setListContext(this.context);
|
|
65
|
+
if (loadMore) {
|
|
66
|
+
this._loadMoreSub.subscription = this.loadMore$
|
|
67
|
+
.pipe(
|
|
68
|
+
// Throttle additional loading calls using exhaustMap until observable returns, if one is returned.
|
|
69
|
+
exhaustMap(() => {
|
|
70
|
+
const result = loadMore();
|
|
71
|
+
let obs;
|
|
72
|
+
if (result) {
|
|
73
|
+
obs = result.pipe(catchError(() => of()));
|
|
85
74
|
}
|
|
86
75
|
else {
|
|
87
|
-
|
|
76
|
+
obs = of();
|
|
88
77
|
}
|
|
78
|
+
return obs;
|
|
79
|
+
}))
|
|
80
|
+
.subscribe();
|
|
81
|
+
}
|
|
82
|
+
if (onClick) {
|
|
83
|
+
if (instance.clickValue) {
|
|
84
|
+
this._onClickSub.subscription = instance.clickValue.subscribe(onClick);
|
|
89
85
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
this._onSelectionChangeSub.subscription = instance.selectionChange.subscribe(onSelectionChange);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
console.error(`onSelectionChange() was passed to listConfig, but target class ${componentClass} has no selectionChange event emitter.`);
|
|
96
|
-
}
|
|
86
|
+
else {
|
|
87
|
+
console.error(`onClick() was passed to listConfig, but target class ${componentClass} has no clicked event emitter.`);
|
|
97
88
|
}
|
|
98
89
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
90
|
+
if (onSelectionChange) {
|
|
91
|
+
if (instance.selectionChange) {
|
|
92
|
+
this._onSelectionChangeSub.subscription = instance.selectionChange.subscribe(onSelectionChange);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
console.error(`onSelectionChange() was passed to listConfig, but target class ${componentClass} has no selectionChange event emitter.`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return injectedComponentConfig;
|
|
102
|
+
}), distinctUntilChanged(), shareReplay(1));
|
|
103
|
+
hideContent$ = this.context.stateChange$.pipe(switchMap(() => this.context.state$.pipe(filter((x) => isLoadingStateFinishedLoading(x)), first(), startWithBeginLoading())), switchMap((state) => {
|
|
104
|
+
if (state?.loading) {
|
|
105
|
+
return of(true);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
return this.hideOnEmpty$.pipe(switchMap((hide) => (hide === false ? of(false) : this.isEmpty$)), distinctUntilChanged(), tapDetectChanges(this.cdRef), shareReplay(1));
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
112
111
|
ngOnDestroy() {
|
|
113
112
|
delete this._content; // remove parent-child relation.
|
|
114
113
|
this._scrollTrigger.complete();
|
|
@@ -196,8 +195,8 @@ export class DbxListComponent {
|
|
|
196
195
|
throw new Error('Attempted to set __content in list outside of initialization.');
|
|
197
196
|
}
|
|
198
197
|
}
|
|
199
|
-
static
|
|
200
|
-
static
|
|
198
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
199
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListComponent, selector: "dbx-list", inputs: { padded: "padded", state$: "state$", config: "config", disabled: "disabled", selectionMode: "selectionMode" }, outputs: { contentScrolled: "contentScrolled" }, host: { properties: { "class.dbx-list-padded": "padded" }, classAttribute: "d-block dbx-list" }, ngImport: i0, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i2.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "padding", "context", "loading", "error"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.InfiniteScrollDirective; }), selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i0.forwardRef(function () { return i4.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "directive", type: i0.forwardRef(function () { return DbxListInternalContentDirective; }), selector: "[dbxListInternalContent]", inputs: ["hide"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] });
|
|
201
200
|
}
|
|
202
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListComponent, decorators: [{
|
|
203
202
|
type: Component,
|
|
@@ -205,7 +204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
205
204
|
class: 'd-block dbx-list',
|
|
206
205
|
'[class.dbx-list-padded]': 'padded'
|
|
207
206
|
}, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n" }]
|
|
208
|
-
}],
|
|
207
|
+
}], propDecorators: { padded: [{
|
|
209
208
|
type: Input
|
|
210
209
|
}], contentScrolled: [{
|
|
211
210
|
type: Output
|
|
@@ -222,18 +221,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
222
221
|
* Used internally by DbxListComponent
|
|
223
222
|
*/
|
|
224
223
|
export class DbxListInternalContentDirective {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
224
|
+
parent = inject(DbxListComponent);
|
|
225
|
+
elementRef = inject(ElementRef);
|
|
226
|
+
hide = false;
|
|
227
|
+
constructor() {
|
|
229
228
|
this.parent.__content = this;
|
|
230
229
|
}
|
|
231
230
|
onScrollEvent($event) {
|
|
232
231
|
const position = $event.target.scrollTop;
|
|
233
232
|
this.parent.contentScrolled.emit(position);
|
|
234
233
|
}
|
|
235
|
-
static
|
|
236
|
-
static
|
|
234
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListInternalContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
235
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxListInternalContentDirective, selector: "[dbxListInternalContent]", inputs: { hide: "hide" }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 });
|
|
237
236
|
}
|
|
238
237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListInternalContentDirective, decorators: [{
|
|
239
238
|
type: Directive,
|
|
@@ -244,10 +243,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
244
243
|
'[class.dbx-list-content-hidden]': 'hide'
|
|
245
244
|
}
|
|
246
245
|
}]
|
|
247
|
-
}], ctorParameters: function () { return [
|
|
246
|
+
}], ctorParameters: function () { return []; }, propDecorators: { hide: [{
|
|
248
247
|
type: Input
|
|
249
248
|
}], onScrollEvent: [{
|
|
250
249
|
type: HostListener,
|
|
251
250
|
args: ['scroll', ['$event']]
|
|
252
251
|
}] } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakssT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQStCLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLCtCQUErQixFQUFvQixXQUFXLEVBQUUsOEJBQThCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQTZEMUs7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxnQkFBZ0I7SUEySjNCLFlBQXFCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBMUpwQyw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsNEJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBRXRDOztXQUVHO1FBRUgsV0FBTSxHQUFHLElBQUksQ0FBQztRQUdkLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdyQyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsU0FBUyxDQUFDLENBQUM7UUFFN0UscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFpQyxDQUFDO1FBQzlELFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBNkIsU0FBUyxDQUFDLENBQUM7UUFFckUsaUJBQVksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDdkMsaUJBQVksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDeEMsc0JBQWlCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzdDLDBCQUFxQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUVoRCxZQUFPLEdBQUcsSUFBSSwrQkFBK0IsQ0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDL0MsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztRQUMzRCxjQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxtQkFBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEQsaUJBQVksR0FBd0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzVELFdBQVcsRUFBRSxFQUNiLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUNsQyxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUNPLGtCQUFhLEdBQXdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3RCxXQUFXLEVBQUUsRUFDYixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFDaEMsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFDTyxvQkFBZSxHQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDOUQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUN2RCxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUNPLG9CQUFlLEdBQXVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM5RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQzdELG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sMkJBQXNCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2pELFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ25CLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVPLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRFLDZCQUF3QixHQUFzRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdEcsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixJQUFJLHVCQUE4RCxDQUFDO1lBRW5FLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEdBQUcsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDO2dCQUU3Ryx1QkFBdUIsR0FBRztvQkFDeEIsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjO29CQUNyQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQ3pCLElBQUksRUFBRSxDQUFDLFFBQVcsRUFBRSxFQUFFO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7d0JBQ3hHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDO3dCQUV6SixJQUFJLElBQUksRUFBRTs0QkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7eUJBQ2hCO3dCQUVELFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUV0QyxJQUFJLFFBQVEsRUFBRTs0QkFDWixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUztpQ0FDNUMsSUFBSTs0QkFDSCxtR0FBbUc7NEJBQ25HLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0NBQ2QsTUFBTSxNQUFNLEdBQUcsUUFBUSxFQUFFLENBQUM7Z0NBQzFCLElBQUksR0FBcUIsQ0FBQztnQ0FFMUIsSUFBSSxNQUFNLEVBQUU7b0NBQ1YsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztpQ0FDM0M7cUNBQU07b0NBQ0wsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO2lDQUNaO2dDQUVELE9BQU8sR0FBRyxDQUFDOzRCQUNiLENBQUMsQ0FBQyxDQUNIO2lDQUNBLFNBQVMsRUFBRSxDQUFDO3lCQUNoQjt3QkFFRCxJQUFJLE9BQU8sRUFBRTs0QkFDWCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0NBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDOzZCQUN4RTtpQ0FBTTtnQ0FDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHdEQUF3RCxjQUFjLGdDQUFnQyxDQUFDLENBQUM7NkJBQ3ZIO3lCQUNGO3dCQUVELElBQUksaUJBQWlCLEVBQUU7NEJBQ3JCLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRTtnQ0FDNUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDOzZCQUNqRztpQ0FBTTtnQ0FDTCxPQUFPLENBQUMsS0FBSyxDQUFDLGtFQUFrRSxjQUFjLHdDQUF3QyxDQUFDLENBQUM7NkJBQ3pJO3lCQUNGO29CQUNILENBQUM7aUJBQ0YsQ0FBQzthQUNIO1lBRUQsT0FBTyx1QkFBdUIsQ0FBQztRQUNqQyxDQUFDLENBQUMsRUFDRixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLGlCQUFZLEdBQXdCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDdEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNoRCxLQUFLLEVBQUUsRUFDUCxxQkFBcUIsRUFBRSxDQUN4QixDQUNGLEVBQ0QsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNsQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqQjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUMzQixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDakUsb0JBQW9CLEVBQUUsRUFDdEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUM1QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUU4QyxDQUFDO0lBRWpELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxnQ0FBZ0M7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQTRCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUNJLE1BQU0sQ0FBQyxNQUFrQztRQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBd0I7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUEwQztRQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsaUNBQWlDO1FBQy9CLElBQUk7WUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBRW5DLDBEQUEwRDtZQUMxRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDMUQsT0FBTyxZQUFZLEdBQUcsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUM7U0FDbEQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUk7WUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztTQUNoRTtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osY0FBYztTQUNmO0lBQ0gsQ0FBQztJQUVELDhCQUE4QixDQUFDLEdBQVc7UUFDeEMsSUFBSTtZQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDbkMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDL0MsT0FBTyxDQUFDLFNBQVMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLGNBQWM7U0FDZjtJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUEyQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxPQUF3QztRQUNwRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUM7U0FDbEY7SUFDSCxDQUFDOytHQXRRVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwwVEM3RTdCLHUwQkFRQSwraENEd1ZhLCtCQUErQjs7NEZBblIvQixnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsVUFBVSxRQUVkO3dCQUNKLEtBQUssRUFBRSxrQkFBa0I7d0JBQ3pCLHlCQUF5QixFQUFFLFFBQVE7cUJBQ3BDO3dHQVVELE1BQU07c0JBREwsS0FBSztnQkFJTixlQUFlO3NCQURkLE1BQU07Z0JBb0tILE1BQU07c0JBRFQsS0FBSztnQkFVRixNQUFNO3NCQURULEtBQUs7Z0JBTUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLGFBQWE7c0JBRGhCLEtBQUs7O0FBcUVSOztHQUVHO0FBUUgsTUFBTSxPQUFPLCtCQUErQjtJQUkxQyxZQUE2QixNQUF3QixFQUFXLFVBQXNCO1FBQXpELFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVcsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZ0RixTQUFJLEdBQW1CLEtBQUssQ0FBQztRQUczQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUdELGFBQWEsQ0FBQyxNQUFhO1FBQ3pCLE1BQU0sUUFBUSxHQUFJLE1BQU0sQ0FBQyxNQUFrQixDQUFDLFNBQVMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0FaVSwrQkFBK0I7bUdBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFQM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMsaUNBQWlDLEVBQUUsTUFBTTtxQkFDMUM7aUJBQ0Y7NkhBR0MsSUFBSTtzQkFESCxLQUFLO2dCQVFOLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGV4aGF1c3RNYXAsIG1lcmdlLCBtYXAsIFN1YmplY3QsIHN3aXRjaE1hcCwgc2hhcmVSZXBsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBvZiwgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcsIHRhcERldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIExpc3RMb2FkaW5nU3RhdGUsIGZpbHRlck1heWJlLCBsb2FkaW5nU3RhdGVIYXNGaW5pc2hlZExvYWRpbmcsIHN0YXJ0V2l0aEJlZ2luTG9hZGluZyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUsIE1pbGxpc2Vjb25kcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4TGlzdFNlbGVjdGlvbk1vZGUsIERieExpc3RWaWV3LCBMaXN0U2VsZWN0aW9uU3RhdGUgfSBmcm9tICcuL2xpc3Qudmlldyc7XG5cbi8qKlxuICogRGlyZWN0aW9uIHRoZSBzY3JvbGwgd2FzIHRyaWdnZXJlZCBtb3ZpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyID0gJ3VwJyB8ICdkb3duJztcblxuLyoqXG4gKiBVc2VkIHRvIHRyaWdnZXIgdGhlIGxvYWRpbmcgb2YgYWRkaXRpb25hbCBpdGVtcy5cbiAqXG4gKiBJZiBhbiBvYnNlcnZhYmxlIGlzIHJldHVybmVkIGl0IGlzIHVzZWQgdG8gdGhyb3R0bGUgdGhlIGxvYWRpbmcgb2YgbW9yZSBpdGVtcyB1bnRpbCBpdCByZXR1cm5zLlxuICovXG5leHBvcnQgdHlwZSBEYnhMaXN0TG9hZE1vcmVIYW5kbGVyID0gKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPiB8IHZvaWQ7XG5cbi8qKlxuICogRGJ4TGlzdENvbXBvbmVudCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieExpc3RDb25maWc8VCA9IHVua25vd24sIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+PiBleHRlbmRzIERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxWPiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBoaWRlIHRoZSBsaXN0IGNvbnRlbnQgd2hlbiBpdCBpcyBhbiBlbXB0eSBsaXN0LlxuICAgKi9cbiAgaGlkZU9uRW1wdHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGxpc3Qgc2hvdWxkIHNjcm9sbCB1cHdhcmQgZnJvbSB0aGUgYm90dG9tLCBsaWtlIGEgbWVzc2FnZSBsaXN0LlxuICAgKi9cbiAgaW52ZXJ0ZWRMaXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzdGFuY2UgdG8gc2Nyb2xsLlxuICAgKi9cbiAgc2Nyb2xsRGlzdGFuY2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBtcyB0byB0aHJvdHRsZSBzY3JvbGxpbmcgZXZlbnRzLlxuICAgKi9cbiAgdGhyb3R0bGU/OiBNaWxsaXNlY29uZHM7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgb25DbGljayBoYW5kbGVyXG4gICAqL1xuICBvbkNsaWNrPzogKHZhbHVlOiBUKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIG9uU2VsZWN0aW9uIGhhbmRsZXJcbiAgICovXG4gIG9uU2VsZWN0aW9uQ2hhbmdlPzogKHNlbGVjdGlvbjogTGlzdFNlbGVjdGlvblN0YXRlPFQ+KSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIGhhbmRsZXIgZnVuY3Rpb24gdG8gbG9hZCBtb3JlIGl0ZW1zLlxuICAgKi9cbiAgbG9hZE1vcmU/OiBEYnhMaXN0TG9hZE1vcmVIYW5kbGVyO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHNlbGVjdGlvbiBsaXN0IHZhbHVlLiBJZiBub3QgZGVmaW5lZCwgd2lsbCBkZWZhdWx0IHRvICd2aWV3Jy5cbiAgICovXG4gIGRlZmF1bHRTZWxlY3Rpb25Nb2RlPzogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+O1xufVxuXG4vKipcbiAqIFVzZWQgdG8gZGlzcGxheSBhIHBvdGVudGlhbGx5IGluZmluaXRlbHkgc2Nyb2xsYWJsZSBsaXN0IG9mIGNvbnRlbnQuXG4gKlxuICogVGhpcyBjb21wb25lbnQgaXMgZ2VuZXJhbGx5IHdyYXBwZWQgYnkgYW5vdGhlciBjb21wb25lbnQgdGhhdCBwcm92aWRlcyB0aGlzIG9uZSBjb25maWd1cmF0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1ibG9jayBkYngtbGlzdCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1wYWRkZWRdJzogJ3BhZGRlZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0Q29tcG9uZW50PFQgPSB1bmtub3duLCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPiwgUyBleHRlbmRzIExpc3RMb2FkaW5nU3RhdGU8VD4gPSBMaXN0TG9hZGluZ1N0YXRlPFQ+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFID0gMS41O1xuICByZWFkb25seSBERUZBVUxUX1RIUk9UVExFX1NDUk9MTCA9IDUwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhZGQgYm90dG9tIHBhZGRpbmcgdG8gdGhlIGxpc3QgY29udGVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHBhZGRlZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIGNvbnRlbnRTY3JvbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQ6IE1heWJlPERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmU+O1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVUcmlnZ2VyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsVHJpZ2dlciA9IG5ldyBTdWJqZWN0PERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyPigpO1xuICBwcml2YXRlIF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieExpc3RDb25maWc8VCwgVj4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2xvYWRNb3JlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9vbkNsaWNrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9kaXNhYmxlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfb25TZWxlY3Rpb25DaGFuZ2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlPFQsIFM+KHsgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuICByZWFkb25seSBpc0VtcHR5JCA9IHRoaXMuY29udGV4dC5pc0VtcHR5JDtcbiAgcmVhZG9ubHkgaXNFbXB0eUxvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlMb2FkaW5nJDtcbiAgcmVhZG9ubHkgaXNFbXB0eUFuZE5vdExvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlBbmROb3RMb2FkaW5nJDtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGUkID0gdGhpcy5fc2VsZWN0aW9uTW9kZS5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBoaWRlT25FbXB0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb25maWcucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIG1hcCgoeCkgPT4gQm9vbGVhbih4LmhpZGVPbkVtcHR5KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBpbnZlcnRlZExpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeD8udGhyb3R0bGUpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py50aHJvdHRsZSA/PyB0aGlzLkRFRkFVTFRfVEhST1RUTEVfU0NST0xMKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHNjcm9sbERpc3RhbmNlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5zY3JvbGxEaXN0YW5jZSA/PyB0aGlzLkRFRkFVTFRfU0NST0xMX0RJU1RBTkNFKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBsb2FkTmV4dERpcmVjdGlvbiA9IGNvbmZpZz8uaW52ZXJ0ZWRMaXN0ID8gJ3VwJyA6ICdkb3duJztcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxUcmlnZ2VyLnBpcGUoZmlsdGVyKCh4KSA9PiB4ID09PSBsb2FkTmV4dERpcmVjdGlvbikpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZE1vcmUkID0gbWVyZ2UodGhpcy5zY3JvbGxMb2FkTW9yZVRyaWdnZXIkLCB0aGlzLl9sb2FkTW9yZVRyaWdnZXIpO1xuXG4gIHJlYWRvbmx5IGluamVjdGVkQ29tcG9uZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8Vj4+PiA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKChjb25maWcpID0+IHtcbiAgICAgIGxldCBpbmplY3RlZENvbXBvbmVudENvbmZpZzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+PjtcblxuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICBjb25zdCB7IGNvbXBvbmVudENsYXNzLCBpbml0LCBvbkNsaWNrLCBvblNlbGVjdGlvbkNoYW5nZSwgbG9hZE1vcmUsIGRlZmF1bHRTZWxlY3Rpb25Nb2RlID0gJ3ZpZXcnIH0gPSBjb25maWc7XG5cbiAgICAgICAgaW5qZWN0ZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IGNvbmZpZy5jb21wb25lbnRDbGFzcyxcbiAgICAgICAgICBpbmplY3RvcjogY29uZmlnLmluamVjdG9yLFxuICAgICAgICAgIGluaXQ6IChpbnN0YW5jZTogVikgPT4ge1xuICAgICAgICAgICAgLy8gU3luY2hyb25pemUgZGlzYWJsZWRcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IGluc3RhbmNlLnNldERpc2FibGVkKGRpc2FibGVkKSk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKChzZWxlY3Rpb25Nb2RlKSA9PiBpbnN0YW5jZS5zZXRTZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGUgPz8gZGVmYXVsdFNlbGVjdGlvbk1vZGUpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgLy8gVGhyb3R0bGUgYWRkaXRpb25hbCBsb2FkaW5nIGNhbGxzIHVzaW5nIGV4aGF1c3RNYXAgdW50aWwgb2JzZXJ2YWJsZSByZXR1cm5zLCBpZiBvbmUgaXMgcmV0dXJuZWQuXG4gICAgICAgICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gb2YoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5jb250ZXh0LnN0YXRlJC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHgpID0+IGxvYWRpbmdTdGF0ZUhhc0ZpbmlzaGVkTG9hZGluZyh4KSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpXG4gICAgICApXG4gICAgKSxcbiAgICBzd2l0Y2hNYXAoKHN0YXRlKSA9PiB7XG4gICAgICBpZiAoc3RhdGU/LmxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZU9uRW1wdHkkLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChoaWRlKSA9PiAoaGlkZSA9PT0gZmFsc2UgPyBvZihmYWxzZSkgOiB0aGlzLmlzRW1wdHkkKSksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpLFxuICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuX2NvbnRlbnQ7IC8vIHJlbW92ZSBwYXJlbnQtY2hpbGQgcmVsYXRpb24uXG4gICAgdGhpcy5fc2Nyb2xsVHJpZ2dlci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2xvYWRNb3JlVHJpZ2dlci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbmZpZy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2Rpc2FibGVkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5fb25DbGlja1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fbG9hZE1vcmVTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9kaXNhYmxlZFN1Yi5kZXN0cm95KCk7XG5cbiAgICB0aGlzLmNvbnRleHQuZGVzdHJveSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFM+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnN0YXRlJDtcbiAgfVxuXG4gIHNldCBzdGF0ZSQoc3RhdGUkOiBNYXliZTxPYnNlcnZhYmxlPFM+Pikge1xuICAgIHRoaXMuY29udGV4dC5zZXRTdGF0ZU9icyhzdGF0ZSQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbmZpZyhjb25maWc6IE1heWJlPERieExpc3RDb25maWc8VCwgVj4+KSB7XG4gICAgdGhpcy5fY29uZmlnLm5leHQoY29uZmlnKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQudmFsdWU7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQubmV4dChkaXNhYmxlZCA/PyBmYWxzZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlLnZhbHVlO1xuICB9XG5cbiAgc2V0IHNlbGVjdGlvbk1vZGUoc2VsZWN0aW9uTW9kZTogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+KSB7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZS5uZXh0KHNlbGVjdGlvbk1vZGUpO1xuICB9XG5cbiAgZ2V0U2Nyb2xsUG9zaXRpb25SZWxhdGl2ZVRvQm90dG9tKCk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIC8vIEF0IG1heCBzY3JvbGwsIHNjcm9sbEhlaWdodCA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodDtcbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gZWxlbWVudDtcbiAgICAgIHJldHVybiBzY3JvbGxIZWlnaHQgLSAoc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBqdW1wVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gZG8gbm90aGluZy5cbiAgICB9XG4gIH1cblxuICBqdW1wVG9Qb3NpdGlvblJlbGF0aXZlVG9Cb3R0b20ocG9zOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnN0IHsgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IHNjcm9sbEhlaWdodCAtIChjbGllbnRIZWlnaHQgKyBwb3MpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gZG8gbm90aGluZy5cbiAgICB9XG4gIH1cblxuICBvblNjcm9sbERvd24oKTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsVHJpZ2dlci5uZXh0KCdkb3duJyk7XG4gIH1cblxuICBvblNjcm9sbFVwKCk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIubmV4dCgndXAnKTtcbiAgfVxuXG4gIGxvYWRNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuX2xvYWRNb3JlVHJpZ2dlci5uZXh0KCk7XG4gIH1cblxuICAvLyBNQVJLOiBJbnRlcm5hbFxuICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fX2NvbnRlbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0IF9fY29udGVudCgpOiBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudCBhcyBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlO1xuICB9XG5cbiAgc2V0IF9fY29udGVudChjb250ZW50OiBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlKSB7XG4gICAgaWYgKHRoaXMuX2NvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgdGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXR0ZW1wdGVkIHRvIHNldCBfX2NvbnRlbnQgaW4gbGlzdCBvdXRzaWRlIG9mIGluaXRpYWxpemF0aW9uLicpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFVzZWQgaW50ZXJuYWxseSBieSBEYnhMaXN0Q29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhMaXN0SW50ZXJuYWxDb250ZW50XScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtYmxvY2sgZGJ4LWxpc3QtY29udGVudCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1jb250ZW50LWhpZGRlbl0nOiAnaGlkZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgaGlkZTogTWF5YmU8Ym9vbGVhbj4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhcmVudDogRGJ4TGlzdENvbXBvbmVudCwgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMucGFyZW50Ll9fY29udGVudCA9IHRoaXM7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdzY3JvbGwnLCBbJyRldmVudCddKVxuICBvblNjcm9sbEV2ZW50KCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9ICgkZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBhcmVudC5jb250ZW50U2Nyb2xsZWQuZW1pdChwb3NpdGlvbik7XG4gIH1cbn1cbiIsIjxkYngtbG9hZGluZyBbY29udGV4dF09XCJjb250ZXh0XCIgW2xpbmVhcl09XCJ0cnVlXCI+PC9kYngtbG9hZGluZz5cbjxkaXYgZGJ4TGlzdEludGVybmFsQ29udGVudCBbaGlkZV09XCJoaWRlQ29udGVudCQgfCBhc3luY1wiIGluZmluaXRlLXNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIoc2Nyb2xsRGlzdGFuY2UkIHwgYXN5bmMpID8/IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFXCIgW2luZmluaXRlU2Nyb2xsVXBEaXN0YW5jZV09XCIoc2Nyb2xsRGlzdGFuY2UkIHwgYXN5bmMpID8/IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiKHRocm90dGxlU2Nyb2xsJCB8IGFzeW5jKSA/PyBERUZBVUxUX1RIUk9UVExFX1NDUk9MTFwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGxEb3duKClcIiAoc2Nyb2xsZWRVcCk9XCJvblNjcm9sbFVwKClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiaW5qZWN0ZWRDb21wb25lbnRDb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3Rpb24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b21dXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGVudCAqbmdJZj1cImlzRW1wdHlBbmROb3RMb2FkaW5nJCB8IGFzeW5jXCIgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbjxuZy1jb250ZW50ICpuZ0lmPVwiaXNFbXB0eUxvYWRpbmckIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHlMb2FkaW5nXVwiPjwvbmctY29udGVudD5cbiJdfQ==
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakssT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUErQixnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwrQkFBK0IsRUFBb0IsV0FBVyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUE2RHpLOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLEtBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVsQyx1QkFBdUIsR0FBRyxHQUFHLENBQUM7SUFDOUIsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0lBRXRDOztPQUVHO0lBRUgsTUFBTSxHQUFHLElBQUksQ0FBQztJQUdMLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTlDLFFBQVEsQ0FBeUM7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SztnQkFRTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBleGhhdXN0TWFwLCBtZXJnZSwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YsIE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcsIHRhcERldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIExpc3RMb2FkaW5nU3RhdGUsIGZpbHRlck1heWJlLCBpc0xvYWRpbmdTdGF0ZUZpbmlzaGVkTG9hZGluZywgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSwgTWlsbGlzZWNvbmRzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhMaXN0U2VsZWN0aW9uTW9kZSwgRGJ4TGlzdFZpZXcsIExpc3RTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJy4vbGlzdC52aWV3JztcblxuLyoqXG4gKiBEaXJlY3Rpb24gdGhlIHNjcm9sbCB3YXMgdHJpZ2dlcmVkIG1vdmluZy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TGlzdFNjcm9sbERpcmVjdGlvblRyaWdnZXIgPSAndXAnIHwgJ2Rvd24nO1xuXG4vKipcbiAqIFVzZWQgdG8gdHJpZ2dlciB0aGUgbG9hZGluZyBvZiBhZGRpdGlvbmFsIGl0ZW1zLlxuICpcbiAqIElmIGFuIG9ic2VydmFibGUgaXMgcmV0dXJuZWQgaXQgaXMgdXNlZCB0byB0aHJvdHRsZSB0aGUgbG9hZGluZyBvZiBtb3JlIGl0ZW1zIHVudGlsIGl0IHJldHVybnMuXG4gKi9cbmV4cG9ydCB0eXBlIERieExpc3RMb2FkTW9yZUhhbmRsZXIgPSAoKSA9PiBPYnNlcnZhYmxlPHZvaWQ+IHwgdm9pZDtcblxuLyoqXG4gKiBEYnhMaXN0Q29tcG9uZW50IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TGlzdENvbmZpZzxUID0gdW5rbm93biwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+IGV4dGVuZHMgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGhpZGUgdGhlIGxpc3QgY29udGVudCB3aGVuIGl0IGlzIGFuIGVtcHR5IGxpc3QuXG4gICAqL1xuICBoaWRlT25FbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgbGlzdCBzaG91bGQgc2Nyb2xsIHVwd2FyZCBmcm9tIHRoZSBib3R0b20sIGxpa2UgYSBtZXNzYWdlIGxpc3QuXG4gICAqL1xuICBpbnZlcnRlZExpc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXN0YW5jZSB0byBzY3JvbGwuXG4gICAqL1xuICBzY3JvbGxEaXN0YW5jZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIG1zIHRvIHRocm90dGxlIHNjcm9sbGluZyBldmVudHMuXG4gICAqL1xuICB0aHJvdHRsZT86IE1pbGxpc2Vjb25kcztcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBvbkNsaWNrIGhhbmRsZXJcbiAgICovXG4gIG9uQ2xpY2s/OiAodmFsdWU6IFQpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgb25TZWxlY3Rpb24gaGFuZGxlclxuICAgKi9cbiAgb25TZWxlY3Rpb25DaGFuZ2U/OiAoc2VsZWN0aW9uOiBMaXN0U2VsZWN0aW9uU3RhdGU8VD4pID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgaGFuZGxlciBmdW5jdGlvbiB0byBsb2FkIG1vcmUgaXRlbXMuXG4gICAqL1xuICBsb2FkTW9yZT86IERieExpc3RMb2FkTW9yZUhhbmRsZXI7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VsZWN0aW9uIGxpc3QgdmFsdWUuIElmIG5vdCBkZWZpbmVkLCB3aWxsIGRlZmF1bHQgdG8gJ3ZpZXcnLlxuICAgKi9cbiAgZGVmYXVsdFNlbGVjdGlvbk1vZGU/OiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT47XG59XG5cbi8qKlxuICogVXNlZCB0byBkaXNwbGF5IGEgcG90ZW50aWFsbHkgaW5maW5pdGVseSBzY3JvbGxhYmxlIGxpc3Qgb2YgY29udGVudC5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBnZW5lcmFsbHkgd3JhcHBlZCBieSBhbm90aGVyIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIHRoaXMgb25lIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrIGRieC1saXN0JyxcbiAgICAnW2NsYXNzLmRieC1saXN0LXBhZGRlZF0nOiAncGFkZGVkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RDb21wb25lbnQ8VCA9IHVua25vd24sIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHJlYWRvbmx5IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFID0gMS41O1xuICByZWFkb25seSBERUZBVUxUX1RIUk9UVExFX1NDUk9MTCA9IDUwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhZGQgYm90dG9tIHBhZGRpbmcgdG8gdGhlIGxpc3QgY29udGVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHBhZGRlZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbnRlbnRTY3JvbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQ6IE1heWJlPERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmU+O1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVUcmlnZ2VyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsVHJpZ2dlciA9IG5ldyBTdWJqZWN0PERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyPigpO1xuICBwcml2YXRlIF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieExpc3RDb25maWc8VCwgVj4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2xvYWRNb3JlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9vbkNsaWNrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9kaXNhYmxlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfb25TZWxlY3Rpb25DaGFuZ2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlPFQsIFM+KHsgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuICByZWFkb25seSBpc0VtcHR5JCA9IHRoaXMuY29udGV4dC5pc0VtcHR5JDtcbiAgcmVhZG9ubHkgaXNFbXB0eUxvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlMb2FkaW5nJDtcbiAgcmVhZG9ubHkgaXNFbXB0eUFuZE5vdExvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlBbmROb3RMb2FkaW5nJDtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGUkID0gdGhpcy5fc2VsZWN0aW9uTW9kZS5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBoaWRlT25FbXB0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb25maWcucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIG1hcCgoeCkgPT4gQm9vbGVhbih4LmhpZGVPbkVtcHR5KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBpbnZlcnRlZExpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeD8udGhyb3R0bGUpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py50aHJvdHRsZSA/PyB0aGlzLkRFRkFVTFRfVEhST1RUTEVfU0NST0xMKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHNjcm9sbERpc3RhbmNlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5zY3JvbGxEaXN0YW5jZSA/PyB0aGlzLkRFRkFVTFRfU0NST0xMX0RJU1RBTkNFKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBsb2FkTmV4dERpcmVjdGlvbiA9IGNvbmZpZz8uaW52ZXJ0ZWRMaXN0ID8gJ3VwJyA6ICdkb3duJztcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxUcmlnZ2VyLnBpcGUoZmlsdGVyKCh4KSA9PiB4ID09PSBsb2FkTmV4dERpcmVjdGlvbikpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZE1vcmUkID0gbWVyZ2UodGhpcy5zY3JvbGxMb2FkTW9yZVRyaWdnZXIkLCB0aGlzLl9sb2FkTW9yZVRyaWdnZXIpO1xuXG4gIHJlYWRvbmx5IGluamVjdGVkQ29tcG9uZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8Vj4+PiA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKChjb25maWcpID0+IHtcbiAgICAgIGxldCBpbmplY3RlZENvbXBvbmVudENvbmZpZzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+PjtcblxuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICBjb25zdCB7IGNvbXBvbmVudENsYXNzLCBpbml0LCBvbkNsaWNrLCBvblNlbGVjdGlvbkNoYW5nZSwgbG9hZE1vcmUsIGRlZmF1bHRTZWxlY3Rpb25Nb2RlID0gJ3ZpZXcnIH0gPSBjb25maWc7XG5cbiAgICAgICAgaW5qZWN0ZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IGNvbmZpZy5jb21wb25lbnRDbGFzcyxcbiAgICAgICAgICBpbmplY3RvcjogY29uZmlnLmluamVjdG9yLFxuICAgICAgICAgIGluaXQ6IChpbnN0YW5jZTogVikgPT4ge1xuICAgICAgICAgICAgLy8gU3luY2hyb25pemUgZGlzYWJsZWRcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IGluc3RhbmNlLnNldERpc2FibGVkKGRpc2FibGVkKSk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKChzZWxlY3Rpb25Nb2RlKSA9PiBpbnN0YW5jZS5zZXRTZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGUgPz8gZGVmYXVsdFNlbGVjdGlvbk1vZGUpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgLy8gVGhyb3R0bGUgYWRkaXRpb25hbCBsb2FkaW5nIGNhbGxzIHVzaW5nIGV4aGF1c3RNYXAgdW50aWwgb2JzZXJ2YWJsZSByZXR1cm5zLCBpZiBvbmUgaXMgcmV0dXJuZWQuXG4gICAgICAgICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gb2YoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5jb250ZXh0LnN0YXRlJC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHgpID0+IGlzTG9hZGluZ1N0YXRlRmluaXNoZWRMb2FkaW5nKHgpKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKClcbiAgICAgIClcbiAgICApLFxuICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZT8ubG9hZGluZykge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlT25FbXB0eSQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKGhpZGUpID0+IChoaWRlID09PSBmYWxzZSA/IG9mKGZhbHNlKSA6IHRoaXMuaXNFbXB0eSQpKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcERldGVjdENoYW5nZXModGhpcy5jZFJlZiksXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLl9jb250ZW50OyAvLyByZW1vdmUgcGFyZW50LWNoaWxkIHJlbGF0aW9uLlxuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuX29uQ2xpY2tTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2xvYWRNb3JlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuZGVzdHJveSgpO1xuXG4gICAgdGhpcy5jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxTPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5zdGF0ZSQ7XG4gIH1cblxuICBzZXQgc3RhdGUkKHN0YXRlJDogTWF5YmU8T2JzZXJ2YWJsZTxTPj4pIHtcbiAgICB0aGlzLmNvbnRleHQuc2V0U3RhdGVPYnMoc3RhdGUkKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYnhMaXN0Q29uZmlnPFQsIFY+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBNYXliZTxib29sZWFuPikge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoZGlzYWJsZWQgPz8gZmFsc2UpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZS52YWx1ZTtcbiAgfVxuXG4gIHNldCBzZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGU6IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPikge1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUubmV4dChzZWxlY3Rpb25Nb2RlKTtcbiAgfVxuXG4gIGdldFNjcm9sbFBvc2l0aW9uUmVsYXRpdmVUb0JvdHRvbSgpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBBdCBtYXggc2Nyb2xsLCBzY3JvbGxIZWlnaHQgPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICByZXR1cm4gc2Nyb2xsSGVpZ2h0IC0gKHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAganVtcFRvQm90dG9tKCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmcuXG4gICAgfVxuICB9XG5cbiAganVtcFRvUG9zaXRpb25SZWxhdGl2ZVRvQm90dG9tKHBvczogbnVtYmVyKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBlbGVtZW50O1xuICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxIZWlnaHQgLSAoY2xpZW50SGVpZ2h0ICsgcG9zKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmcuXG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIubmV4dCgnZG93bicpO1xuICB9XG5cbiAgb25TY3JvbGxVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLm5leHQoJ3VwJyk7XG4gIH1cblxuICBsb2FkTW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIubmV4dCgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX19jb250ZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCBfX2NvbnRlbnQoKTogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQgYXMgRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZTtcbiAgfVxuXG4gIHNldCBfX2NvbnRlbnQoY29udGVudDogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSkge1xuICAgIGlmICh0aGlzLl9jb250ZW50ID09IG51bGwpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRlZCB0byBzZXQgX19jb250ZW50IGluIGxpc3Qgb3V0c2lkZSBvZiBpbml0aWFsaXphdGlvbi4nKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVc2VkIGludGVybmFsbHkgYnkgRGJ4TGlzdENvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4TGlzdEludGVybmFsQ29udGVudF0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrIGRieC1saXN0LWNvbnRlbnQnLFxuICAgICdbY2xhc3MuZGJ4LWxpc3QtY29udGVudC1oaWRkZW5dJzogJ2hpZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50ID0gaW5qZWN0KERieExpc3RDb21wb25lbnQpO1xuICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIEBJbnB1dCgpXG4gIGhpZGU6IE1heWJlPGJvb2xlYW4+ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wYXJlbnQuX19jb250ZW50ID0gdGhpcztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uU2Nyb2xsRXZlbnQoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gKCRldmVudC50YXJnZXQgYXMgRWxlbWVudCkuc2Nyb2xsVG9wO1xuICAgIHRoaXMucGFyZW50LmNvbnRlbnRTY3JvbGxlZC5lbWl0KHBvc2l0aW9uKTtcbiAgfVxufVxuIiwiPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIiBbbGluZWFyXT1cInRydWVcIj48L2RieC1sb2FkaW5nPlxuPGRpdiBkYnhMaXN0SW50ZXJuYWxDb250ZW50IFtoaWRlXT1cImhpZGVDb250ZW50JCB8IGFzeW5jXCIgaW5maW5pdGUtc2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCIodGhyb3R0bGVTY3JvbGwkIHwgYXN5bmMpID8/IERFRkFVTFRfVEhST1RUTEVfU0NST0xMXCIgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiIChzY3JvbGxlZCk9XCJvblNjcm9sbERvd24oKVwiIChzY3JvbGxlZFVwKT1cIm9uU2Nyb2xsVXAoKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9wXVwiPjwvbmctY29udGVudD5cbiAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJpbmplY3RlZENvbXBvbmVudENvbmZpZyQgfCBhc3luY1wiPjwvZGJ4LWluamVjdGlvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250ZW50ICpuZ0lmPVwiaXNFbXB0eUFuZE5vdExvYWRpbmckIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgKm5nSWY9XCJpc0VtcHR5TG9hZGluZyQgfCBhc3luY1wiIHNlbGVjdD1cIltlbXB0eUxvYWRpbmddXCI+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -4,12 +4,12 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
* Component that is centered for use within an empty list.
|
|
5
5
|
*/
|
|
6
6
|
export class DbxListEmptyContentComponent {
|
|
7
|
-
static
|
|
8
|
-
static
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content", ngImport: i0, template: `
|
|
9
9
|
<div class="dbx-list-empty-content">
|
|
10
10
|
<ng-content></ng-content>
|
|
11
11
|
</div>
|
|
12
|
-
`, isInline: true });
|
|
12
|
+
`, isInline: true });
|
|
13
13
|
}
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListEmptyContentComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
22
22
|
`
|
|
23
23
|
}]
|
|
24
24
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBU0gsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsOERBTjdCOzs7O0dBSVQ7OzRGQUVVLDRCQUE0QjtrQkFSeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGlzIGNlbnRlcmVkIGZvciB1c2Ugd2l0aGluIGFuIGVtcHR5IGxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LWVtcHR5LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGlzdC1lbXB0eS1jb250ZW50XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCB7fVxuIl19
|
|
@@ -20,14 +20,16 @@ export const DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE = `
|
|
|
20
20
|
</dbx-list>
|
|
21
21
|
`;
|
|
22
22
|
export class AbstractDbxListWrapperDirective {
|
|
23
|
+
initConfig;
|
|
24
|
+
_init = new BehaviorSubject(undefined);
|
|
25
|
+
config$ = this._init.pipe(filterMaybe(), valueFromObservableOrValue(), map((x) => this._buildListConfig(x)), shareReplay(1));
|
|
26
|
+
disabled;
|
|
27
|
+
selectionMode;
|
|
28
|
+
state$;
|
|
29
|
+
clickItem = new EventEmitter();
|
|
30
|
+
loadMore = new EventEmitter();
|
|
23
31
|
constructor(initConfig) {
|
|
24
32
|
this.initConfig = initConfig;
|
|
25
|
-
this._init = new BehaviorSubject(undefined);
|
|
26
|
-
this.config$ = this._init.pipe(filterMaybe(), valueFromObservableOrValue(), map((x) => this._buildListConfig(x)), shareReplay(1));
|
|
27
|
-
this.clickItem = new EventEmitter();
|
|
28
|
-
this.loadMore = new EventEmitter();
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
33
|
this._init.next(this.initConfig);
|
|
32
34
|
}
|
|
33
35
|
ngOnDestroy() {
|
|
@@ -42,8 +44,8 @@ export class AbstractDbxListWrapperDirective {
|
|
|
42
44
|
loadMore: () => this.loadMore.emit()
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
|
-
static
|
|
46
|
-
static
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxListWrapperDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxListWrapperDirective, inputs: { disabled: "disabled", selectionMode: "selectionMode", state$: "state$" }, outputs: { clickItem: "clickItem", loadMore: "loadMore" }, ngImport: i0 });
|
|
47
49
|
}
|
|
48
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxListWrapperDirective, decorators: [{
|
|
49
51
|
type: Directive
|
|
@@ -59,10 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
59
61
|
type: Output
|
|
60
62
|
}] } });
|
|
61
63
|
export class AbstractDbxSelectionListWrapperDirective extends AbstractDbxListWrapperDirective {
|
|
62
|
-
|
|
63
|
-
super(...arguments);
|
|
64
|
-
this.selectionChange = new EventEmitter();
|
|
65
|
-
}
|
|
64
|
+
selectionChange = new EventEmitter();
|
|
66
65
|
ngOnDestroy() {
|
|
67
66
|
this.selectionChange.complete();
|
|
68
67
|
}
|
|
@@ -71,12 +70,12 @@ export class AbstractDbxSelectionListWrapperDirective extends AbstractDbxListWra
|
|
|
71
70
|
result.onSelectionChange = (x) => this.selectionChange.next(x);
|
|
72
71
|
return result;
|
|
73
72
|
}
|
|
74
|
-
static
|
|
75
|
-
static
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxSelectionListWrapperDirective, outputs: { selectionChange: "selectionChange" }, usesInheritance: true, ngImport: i0 });
|
|
76
75
|
}
|
|
77
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, decorators: [{
|
|
78
77
|
type: Directive
|
|
79
78
|
}], propDecorators: { selectionChange: [{
|
|
80
79
|
type: Output
|
|
81
80
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQXFCLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1sRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRzs7Ozs7OztDQU9yRCxDQUFDO0FBRUYsZ0JBQWdCO0FBQ2hCLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHOzs7Ozs7O0NBT3RELENBQUM7QUFLRixNQUFNLE9BQWdCLCtCQUErQjtJQXlCOUI7SUF4QkosS0FBSyxHQUFHLElBQUksZUFBZSxDQUE4QixTQUFTLENBQUMsQ0FBQztJQUU1RSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2hDLFdBQVcsRUFBRSxFQUNiLDBCQUEwQixFQUFFLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3ZDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBR0YsUUFBUSxDQUFrQjtJQUcxQixhQUFhLENBQStCO0lBRzVDLE1BQU0sQ0FBd0I7SUFHckIsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFHbEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFN0MsWUFBcUIsVUFBZ0M7UUFBaEMsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLGdCQUFnQixDQUFDLE1BQVM7UUFDbEMsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtTQUNyQyxDQUFDO0lBQ0osQ0FBQzt3R0F6Q21CLCtCQUErQjs0RkFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQURwRCxTQUFTOzZGQVlSLFFBQVE7c0JBRFAsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlHLFNBQVM7c0JBRGpCLE1BQU07Z0JBSUUsUUFBUTtzQkFEaEIsTUFBTTs7QUEwQlQsTUFBTSxPQUFnQix3Q0FBaU8sU0FBUSwrQkFBMkM7SUFFeFMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0lBRW5ELFdBQVc7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRWtCLGdCQUFnQixDQUFDLE1BQVM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt3R0FabUIsd0NBQXdDOzRGQUF4Qyx3Q0FBd0M7OzRGQUF4Qyx3Q0FBd0M7a0JBRDdELFNBQVM7OEJBR1IsZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdExvYWRpbmdTdGF0ZSwgZmlsdGVyTWF5YmUsIE9ic2VydmFibGVPclZhbHVlLCB2YWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0Q29uZmlnIH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhMaXN0U2VsZWN0aW9uTW9kZSwgRGJ4TGlzdFZpZXcsIExpc3RTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJy4vbGlzdC52aWV3JztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhMaXN0Vmlld1dyYXBwZXIgfSBmcm9tICcuL2xpc3Qud3JhcHBlcic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUQVRJQ19MSVNUX0RJUkVDVElWRV9URU1QTEFURSA9IGBcbjxkYngtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICA8bmctY29udGVudCB0b3Agc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGJvdHRvbSBzZWxlY3Q9XCJbYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHkgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHlMb2FkaW5nIHNlbGVjdD1cIltlbXB0eUxvYWRpbmddXCI+PC9uZy1jb250ZW50PlxuPC9kYngtbGlzdD5cbmA7XG5cbi8vIE1BUks6IFdyYXBwZXJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJU1RfV1JBUFBFUl9ESVJFQ1RJVkVfVEVNUExBVEUgPSBgXG48ZGJ4LWxpc3QgW3N0YXRlJF09XCJzdGF0ZSRcIiBbY29uZmlnXT1cImNvbmZpZyQgfCBhc3luY1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIj5cbiAgPG5nLWNvbnRlbnQgdG9wIHNlbGVjdD1cIlt0b3BdXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBib3R0b20gc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGVtcHR5IHNlbGVjdD1cIltlbXB0eV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGVtcHR5TG9hZGluZyBzZWxlY3Q9XCJbZW1wdHlMb2FkaW5nXVwiPjwvbmctY29udGVudD5cbjwvZGJ4LWxpc3Q+XG5gO1xuXG5leHBvcnQgdHlwZSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPj4gPSBPbWl0PERieExpc3RDb25maWc8VCwgVj4sICdvbkNsaWNrJyB8ICdsb2FkTW9yZSc+O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieExpc3RXcmFwcGVyRGlyZWN0aXZlPFQsIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBDIGV4dGVuZHMgRGJ4TGlzdFdyYXBwZXJDb25maWc8VCwgVj4gPSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgUyBleHRlbmRzIExpc3RMb2FkaW5nU3RhdGU8VD4gPSBMaXN0TG9hZGluZ1N0YXRlPFQ+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgRGJ4TGlzdFZpZXdXcmFwcGVyPFQsIFM+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5pdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8T2JzZXJ2YWJsZU9yVmFsdWU8Qz4+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0aGlzLl9pbml0LnBpcGUoXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICB2YWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZSgpLFxuICAgIG1hcCgoeDogQykgPT4gdGhpcy5fYnVpbGRMaXN0Q29uZmlnKHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkPzogTWF5YmU8Ym9vbGVhbj47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0aW9uTW9kZT86IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPjtcblxuICBASW5wdXQoKVxuICBzdGF0ZSQ/OiBNYXliZTxPYnNlcnZhYmxlPFM+PjtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgY2xpY2tJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbml0Q29uZmlnOiBPYnNlcnZhYmxlT3JWYWx1ZTxDPikge1xuICAgIHRoaXMuX2luaXQubmV4dCh0aGlzLmluaXRDb25maWcpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faW5pdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuY2xpY2tJdGVtLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5sb2FkTW9yZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9idWlsZExpc3RDb25maWcoY29uZmlnOiBDKTogRGJ4TGlzdENvbmZpZzxULCBWPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG9uQ2xpY2s6ICh4KSA9PiB0aGlzLmNsaWNrSXRlbS5lbWl0KHgpLFxuICAgICAgbG9hZE1vcmU6ICgpID0+IHRoaXMubG9hZE1vcmUuZW1pdCgpXG4gICAgfTtcbiAgfVxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gV3JhcHBlclxuZXhwb3J0IHR5cGUgRGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJDb25maWc8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+ID0gT21pdDxEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgJ29uU2VsZWN0aW9uQ2hhbmdlJz47XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJEaXJlY3RpdmU8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4sIEMgZXh0ZW5kcyBEYnhTZWxlY3Rpb25MaXN0V3JhcHBlckNvbmZpZzxULCBWPiA9IERieFNlbGVjdGlvbkxpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGV4dGVuZHMgQWJzdHJhY3REYnhMaXN0V3JhcHBlckRpcmVjdGl2ZTxULCBWLCBDLCBTPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKVxuICBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RTZWxlY3Rpb25TdGF0ZTxUPj4oKTtcblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9idWlsZExpc3RDb25maWcoY29uZmlnOiBDKTogRGJ4TGlzdENvbmZpZzxULCBWPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3VwZXIuX2J1aWxkTGlzdENvbmZpZyhjb25maWcpO1xuICAgIHJlc3VsdC5vblNlbGVjdGlvbkNoYW5nZSA9ICh4KSA9PiB0aGlzLnNlbGVjdGlvbkNoYW5nZS5uZXh0KHgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|