@wavemaker/app-ng-runtime 11.4.1-next.141652 → 11.4.1-next.141654
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.
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +12 -23
- app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +2 -4
- app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -4
- app-ng-runtime/components/advanced/carousel/esm2020/carousel-template/carousel-template.directive.mjs +6 -11
- app-ng-runtime/components/advanced/carousel/esm2020/carousel.directive.mjs +6 -11
- app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs +9 -20
- app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs +9 -16
- app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +21 -27
- app-ng-runtime/components/advanced/login/esm2020/login.component.mjs +8 -13
- app-ng-runtime/components/advanced/login/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/advanced/login/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/fesm2020/index.mjs +7 -11
- app-ng-runtime/components/advanced/login/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/login.component.d.ts +2 -4
- app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +8 -14
- app-ng-runtime/components/advanced/marquee/esm2020/marquee.directive.mjs +6 -11
- app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -4
- app-ng-runtime/components/base/bundles/index.umd.js +31 -61
- app-ng-runtime/components/base/esm2020/widgets/common/base/base-container.component.mjs +4 -6
- app-ng-runtime/components/base/esm2020/widgets/common/base/base.component.mjs +5 -6
- app-ng-runtime/components/base/esm2020/widgets/common/base/dataset-aware-nav.component.mjs +3 -3
- app-ng-runtime/components/base/esm2020/widgets/common/container/container.directive.mjs +7 -11
- app-ng-runtime/components/base/esm2020/widgets/common/item-template/item-template.directive.mjs +7 -10
- app-ng-runtime/components/base/esm2020/widgets/common/lazy-load/lazy-load.directive.mjs +6 -10
- app-ng-runtime/components/base/esm2020/widgets/common/message/message.component.mjs +7 -11
- app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +7 -10
- app-ng-runtime/components/base/esm2020/widgets/common/repeat-template/repeat-template.directive.mjs +6 -11
- app-ng-runtime/components/base/fesm2015/index.mjs +32 -62
- app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/base/fesm2020/index.mjs +32 -50
- app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -2
- app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +2 -3
- app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -2
- app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -4
- app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +3 -4
- app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +3 -4
- app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/bundles/index.umd.js +247 -290
- app-ng-runtime/components/basic/default/esm2020/anchor/anchor.component.mjs +7 -10
- app-ng-runtime/components/basic/default/esm2020/audio/audio.component.mjs +8 -13
- app-ng-runtime/components/basic/default/esm2020/html/html.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/icon/icon.component.mjs +9 -14
- app-ng-runtime/components/basic/default/esm2020/iframe/iframe.component.mjs +9 -13
- app-ng-runtime/components/basic/default/esm2020/label/label.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/picture/picture.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/spinner/spinner.component.mjs +9 -13
- app-ng-runtime/components/basic/default/esm2020/video/video.component.mjs +9 -13
- app-ng-runtime/components/basic/default/fesm2015/index.mjs +46 -89
- app-ng-runtime/components/basic/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/fesm2020/index.mjs +46 -73
- app-ng-runtime/components/basic/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -4
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +23 -32
- app-ng-runtime/components/basic/progress/esm2020/progress-bar/progress-bar.component.mjs +8 -12
- app-ng-runtime/components/basic/progress/esm2020/progress-circle/progress-circle.component.mjs +8 -13
- app-ng-runtime/components/basic/progress/fesm2015/index.mjs +12 -21
- app-ng-runtime/components/basic/progress/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/fesm2020/index.mjs +12 -19
- app-ng-runtime/components/basic/progress/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -4
- app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -4
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +14 -20
- app-ng-runtime/components/basic/rich-text-editor/esm2020/rich-text-editor.component.mjs +9 -13
- app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs +7 -11
- app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -4
- app-ng-runtime/components/basic/search/bundles/index.umd.js +3 -6
- app-ng-runtime/components/basic/search/esm2020/search.component.mjs +6 -9
- app-ng-runtime/components/basic/search/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/basic/search/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/basic/search/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/search.component.d.ts +3 -4
- app-ng-runtime/components/chart/bundles/index.umd.js +4 -9
- app-ng-runtime/components/chart/chart.component.d.ts +3 -4
- app-ng-runtime/components/chart/esm2020/chart.component.mjs +7 -10
- app-ng-runtime/components/chart/fesm2015/index.mjs +5 -10
- app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/chart/fesm2020/index.mjs +5 -8
- app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -4
- app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +3 -4
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +56 -66
- app-ng-runtime/components/containers/accordion/esm2020/accordion-pane/accordion-pane.component.mjs +10 -14
- app-ng-runtime/components/containers/accordion/esm2020/accordion.directive.mjs +7 -10
- app-ng-runtime/components/containers/accordion/fesm2015/index.mjs +12 -22
- app-ng-runtime/components/containers/accordion/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/fesm2020/index.mjs +12 -18
- app-ng-runtime/components/containers/accordion/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +12 -25
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-column/layout-grid-column.directive.mjs +7 -10
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-row/layout-grid-row.directive.mjs +6 -11
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid.directive.mjs +6 -11
- app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs +13 -26
- app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs +13 -22
- app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +3 -4
- app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -4
- app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -4
- app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +12 -23
- app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout-item/linear-layout-item.directive.mjs +6 -11
- app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout.directive.mjs +6 -11
- app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs +9 -20
- app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs +9 -16
- app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -4
- app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -4
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +65 -71
- app-ng-runtime/components/containers/panel/esm2020/panel.component.mjs +12 -16
- app-ng-runtime/components/containers/panel/fesm2015/index.mjs +10 -16
- app-ng-runtime/components/containers/panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/fesm2020/index.mjs +10 -14
- app-ng-runtime/components/containers/panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/panel.component.d.ts +2 -4
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +57 -63
- app-ng-runtime/components/containers/tabs/esm2020/tab-pane/tab-pane.component.mjs +8 -12
- app-ng-runtime/components/containers/tabs/esm2020/tabs.component.mjs +7 -10
- app-ng-runtime/components/containers/tabs/fesm2015/index.mjs +12 -18
- app-ng-runtime/components/containers/tabs/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/fesm2020/index.mjs +12 -18
- app-ng-runtime/components/containers/tabs/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -4
- app-ng-runtime/components/containers/tabs/tabs.component.d.ts +3 -4
- app-ng-runtime/components/containers/tile/bundles/index.umd.js +8 -14
- app-ng-runtime/components/containers/tile/esm2020/tile.directive.mjs +6 -11
- app-ng-runtime/components/containers/tile/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/containers/tile/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/containers/tile/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -4
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +48 -57
- app-ng-runtime/components/containers/wizard/esm2020/wizard-step/wizard-step.directive.mjs +5 -10
- app-ng-runtime/components/containers/wizard/esm2020/wizard.component.mjs +10 -14
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +11 -20
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +11 -18
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -4
- app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -4
- app-ng-runtime/components/data/card/bundles/index.umd.js +83 -106
- app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -4
- app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -4
- app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -4
- app-ng-runtime/components/data/card/card.component.d.ts +2 -4
- app-ng-runtime/components/data/card/esm2020/card-actions/card-actions.directive.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card-content/card-content.component.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card-footer/card-footer.directive.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card.component.mjs +12 -18
- app-ng-runtime/components/data/card/fesm2015/index.mjs +23 -46
- app-ng-runtime/components/data/card/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/card/fesm2020/index.mjs +23 -38
- app-ng-runtime/components/data/card/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/bundles/index.umd.js +128 -137
- app-ng-runtime/components/data/form/esm2020/form-action/form-action.directive.mjs +4 -9
- app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +5 -8
- app-ng-runtime/components/data/form/esm2020/form.component.mjs +5 -8
- app-ng-runtime/components/data/form/fesm2015/index.mjs +20 -29
- app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/fesm2020/index.mjs +20 -29
- app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +3 -4
- app-ng-runtime/components/data/form/form.component.d.ts +3 -4
- app-ng-runtime/components/data/list/bundles/index.umd.js +4 -7
- app-ng-runtime/components/data/list/esm2020/list.component.mjs +7 -10
- app-ng-runtime/components/data/list/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/data/list/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/data/list/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/list.component.d.ts +3 -4
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +3 -6
- app-ng-runtime/components/data/live-table/esm2020/live-table.component.mjs +6 -9
- app-ng-runtime/components/data/live-table/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/data/live-table/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/data/live-table/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/live-table.component.d.ts +3 -4
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +30 -34
- app-ng-runtime/components/data/pagination/esm2020/pagination.component.mjs +10 -14
- app-ng-runtime/components/data/pagination/fesm2015/index.mjs +8 -12
- app-ng-runtime/components/data/pagination/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/data/pagination/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -4
- app-ng-runtime/components/data/table/bundles/index.umd.js +19 -37
- app-ng-runtime/components/data/table/esm2020/table-action/table-action.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-column/table-column.directive.mjs +5 -8
- app-ng-runtime/components/data/table/esm2020/table-column-group/table-column-group.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-row/table-row.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-row-action/table-row-action.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table.component.mjs +6 -9
- app-ng-runtime/components/data/table/fesm2015/index.mjs +19 -37
- app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/fesm2020/index.mjs +19 -37
- app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +3 -4
- app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table.component.d.ts +3 -4
- app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +40 -46
- app-ng-runtime/components/dialogs/alert-dialog/esm2020/alert-dialog.component.mjs +9 -15
- app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +16 -22
- app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/confirm-dialog/esm2020/confirm-dialog.component.mjs +8 -14
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs +7 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -2
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +25 -31
- app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -4
- app-ng-runtime/components/dialogs/default/esm2020/base-dialog.mjs +7 -8
- app-ng-runtime/components/dialogs/default/esm2020/dialog-footer/dialog-footer.directive.mjs +6 -11
- app-ng-runtime/components/dialogs/default/fesm2015/index.mjs +11 -17
- app-ng-runtime/components/dialogs/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/fesm2020/index.mjs +11 -15
- app-ng-runtime/components/dialogs/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +17 -23
- app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/design-dialog/esm2020/dialog.component.mjs +8 -14
- app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs +7 -13
- app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -30
- app-ng-runtime/components/dialogs/iframe-dialog/esm2020/iframe-dialog.component.mjs +10 -16
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs +9 -15
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +3 -8
- app-ng-runtime/components/dialogs/partial-dialog/esm2020/partial-dialog.component.mjs +5 -10
- app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs +4 -9
- app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs +4 -9
- app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +3 -4
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +5 -10
- app-ng-runtime/components/input/calendar/calendar.component.d.ts +3 -4
- app-ng-runtime/components/input/calendar/esm2020/calendar.component.mjs +8 -11
- app-ng-runtime/components/input/calendar/fesm2015/index.mjs +6 -11
- app-ng-runtime/components/input/calendar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/calendar/fesm2020/index.mjs +6 -9
- app-ng-runtime/components/input/calendar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +87 -93
- app-ng-runtime/components/input/chips/chips.component.d.ts +2 -4
- app-ng-runtime/components/input/chips/esm2020/chips.component.mjs +9 -15
- app-ng-runtime/components/input/chips/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/input/chips/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/input/chips/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +22 -28
- app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -4
- app-ng-runtime/components/input/color-picker/esm2020/color-picker.component.mjs +10 -14
- app-ng-runtime/components/input/color-picker/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/input/color-picker/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/input/color-picker/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -9
- app-ng-runtime/components/input/currency/currency.component.d.ts +3 -4
- app-ng-runtime/components/input/currency/esm2020/currency.component.mjs +7 -10
- app-ng-runtime/components/input/currency/fesm2015/index.mjs +5 -10
- app-ng-runtime/components/input/currency/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/fesm2020/index.mjs +5 -8
- app-ng-runtime/components/input/currency/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/base-form.component.d.ts +1 -2
- app-ng-runtime/components/input/default/bundles/index.umd.js +575 -648
- app-ng-runtime/components/input/default/button/button.component.d.ts +2 -4
- app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -4
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +2 -4
- app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -4
- app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -4
- app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +2 -3
- app-ng-runtime/components/input/default/esm2020/base-form.component.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/button/button.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/button-group/button-group.directive.mjs +6 -11
- app-ng-runtime/components/input/default/esm2020/checkbox/checkbox.component.mjs +9 -13
- app-ng-runtime/components/input/default/esm2020/checkboxset/checkboxset.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/composite/composite.directive.mjs +7 -11
- app-ng-runtime/components/input/default/esm2020/dataset-aware-form.component.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/number/number.component.mjs +7 -10
- app-ng-runtime/components/input/default/esm2020/radioset/radioset.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +11 -15
- app-ng-runtime/components/input/default/esm2020/switch/switch.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/text/base/base-input.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/color/input-color.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/email/input-email.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/locale/number-locale.mjs +3 -3
- app-ng-runtime/components/input/default/esm2020/text/number/input-number.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/text/text/input-text.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/textarea/textarea.component.mjs +9 -14
- app-ng-runtime/components/input/default/fesm2015/index.mjs +94 -167
- app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/fesm2020/index.mjs +94 -139
- app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/number/number.component.d.ts +3 -4
- app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -4
- app-ng-runtime/components/input/default/select/select.component.d.ts +2 -4
- app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/base/base-input.d.ts +1 -2
- app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +2 -2
- app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -4
- app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -4
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -2
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +12 -21
- app-ng-runtime/components/input/epoch/date/date.component.d.ts +3 -4
- app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +3 -4
- app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +5 -6
- app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs +13 -22
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs +13 -22
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/time/time.component.d.ts +3 -4
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +3 -6
- app-ng-runtime/components/input/file-upload/esm2020/file-upload.component.mjs +6 -9
- app-ng-runtime/components/input/file-upload/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/input/file-upload/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/input/file-upload/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +3 -4
- app-ng-runtime/components/input/rating/bundles/index.umd.js +45 -51
- app-ng-runtime/components/input/rating/esm2020/rating.component.mjs +11 -15
- app-ng-runtime/components/input/rating/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/input/rating/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/fesm2020/index.mjs +9 -13
- app-ng-runtime/components/input/rating/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/rating.component.d.ts +2 -4
- app-ng-runtime/components/input/slider/bundles/index.umd.js +37 -43
- app-ng-runtime/components/input/slider/esm2020/slider.component.mjs +10 -15
- app-ng-runtime/components/input/slider/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/input/slider/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/fesm2020/index.mjs +9 -13
- app-ng-runtime/components/input/slider/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/slider.component.d.ts +2 -4
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +13 -25
- app-ng-runtime/components/navigation/menu/esm2020/menu-adapator.component.mjs +4 -6
- app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +4 -7
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav-item/nav-item.directive.mjs +7 -11
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +5 -9
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +14 -26
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +14 -24
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -2
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -3
- app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -4
- app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -3
- app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +28 -34
- app-ng-runtime/components/navigation/navbar/esm2020/navbar.component.mjs +9 -14
- app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -4
- app-ng-runtime/components/page/default/bundles/index.umd.js +32 -64
- app-ng-runtime/components/page/default/content/content.component.d.ts +2 -4
- app-ng-runtime/components/page/default/esm2020/content/content.component.mjs +6 -11
- app-ng-runtime/components/page/default/esm2020/layout.directive.mjs +7 -11
- app-ng-runtime/components/page/default/esm2020/page-content/page-content.component.mjs +7 -10
- app-ng-runtime/components/page/default/esm2020/page.directive.mjs +7 -12
- app-ng-runtime/components/page/default/esm2020/router-outlet.directive.mjs +7 -11
- app-ng-runtime/components/page/default/esm2020/spa-page.directive.mjs +7 -10
- app-ng-runtime/components/page/default/fesm2015/index.mjs +26 -58
- app-ng-runtime/components/page/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/fesm2020/index.mjs +26 -46
- app-ng-runtime/components/page/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/layout.directive.d.ts +2 -4
- app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +3 -4
- app-ng-runtime/components/page/default/page.directive.d.ts +3 -4
- app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -4
- app-ng-runtime/components/page/default/spa-page.directive.d.ts +3 -4
- app-ng-runtime/components/page/footer/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/footer/esm2020/footer.directive.mjs +6 -11
- app-ng-runtime/components/page/footer/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/footer/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/footer/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -4
- app-ng-runtime/components/page/header/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/header/esm2020/header.component.mjs +6 -11
- app-ng-runtime/components/page/header/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/header/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/header/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/header.component.d.ts +2 -4
- app-ng-runtime/components/page/left-panel/bundles/index.umd.js +4 -7
- app-ng-runtime/components/page/left-panel/esm2020/left-panel.directive.mjs +6 -9
- app-ng-runtime/components/page/left-panel/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/page/left-panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/page/left-panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +3 -4
- app-ng-runtime/components/page/right-panel/bundles/index.umd.js +6 -12
- app-ng-runtime/components/page/right-panel/esm2020/right-panel.directive.mjs +7 -11
- app-ng-runtime/components/page/right-panel/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/right-panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/right-panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -4
- app-ng-runtime/components/page/top-nav/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/top-nav/esm2020/top-nav.directive.mjs +6 -11
- app-ng-runtime/components/page/top-nav/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/top-nav/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/top-nav/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -4
- app-ng-runtime/components/prefab/bundles/index.umd.js +7 -15
- app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +7 -10
- app-ng-runtime/components/prefab/esm2020/prefab.directive.mjs +6 -10
- app-ng-runtime/components/prefab/fesm2015/index.mjs +8 -16
- app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +3 -4
- app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -4
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +32 -37
- app-ng-runtime/mobile/components/basic/default/esm2020/network-info-toaster/network-info-toaster.component.mjs +7 -10
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs +10 -15
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs +10 -13
- app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +3 -4
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +18 -29
- app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segment-content/segment-content.component.mjs +8 -13
- app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segmented-control.component.mjs +9 -13
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs +12 -23
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs +12 -19
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -4
- app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -4
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +30 -36
- app-ng-runtime/mobile/components/data/media-list/esm2020/media-list.component.mjs +14 -18
- app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs +11 -17
- app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs +11 -15
- app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +28 -34
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2020/barcode-scanner.component.mjs +10 -14
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs +8 -14
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs +8 -12
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +12 -18
- app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/camera/esm2020/camera.component.mjs +9 -13
- app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs +7 -13
- app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs +7 -11
- app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +3 -6
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2020/mobile-navbar.component.mjs +6 -9
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs +4 -7
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs +4 -7
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +3 -4
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +32 -36
- app-ng-runtime/mobile/components/page/tab-bar/esm2020/tabbar.component.mjs +8 -13
- app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs +7 -11
- app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs +7 -11
- app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -4
- app-ng-runtime/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Attribute, Component, ContentChildren, Injector,
|
|
2
|
-
import { addClass, appendNode, DynamicComponentRefProvider, noop, removeClass, StatePersistence
|
|
1
|
+
import { Attribute, Component, ContentChildren, Injector, QueryList } from '@angular/core';
|
|
2
|
+
import { addClass, appendNode, DynamicComponentRefProvider, noop, removeClass, StatePersistence } from '@wm/core';
|
|
3
3
|
import { APPLY_STYLES_TYPE, provideAsWidgetRef, styler, StylableComponent, createArrayFrom } from '@wm/components/base';
|
|
4
4
|
import { TabsAnimator } from './tabs.animator';
|
|
5
5
|
import { registerProps } from './tabs.props';
|
|
@@ -84,11 +84,10 @@ const WIDGET_CONFIG = {
|
|
|
84
84
|
hostClass: DEFAULT_CLS
|
|
85
85
|
};
|
|
86
86
|
export class TabsComponent extends StylableComponent {
|
|
87
|
-
constructor(inj, dynamicComponentProvider, _transition, _tabsPosition, statePersistence
|
|
87
|
+
constructor(inj, dynamicComponentProvider, _transition, _tabsPosition, statePersistence) {
|
|
88
88
|
// handle to the promise resolver
|
|
89
89
|
let resolveFn = noop;
|
|
90
|
-
super(inj, WIDGET_CONFIG,
|
|
91
|
-
this._viewParent = _viewParent;
|
|
90
|
+
super(inj, WIDGET_CONFIG, new Promise(res => resolveFn = res));
|
|
92
91
|
this.transition = _transition;
|
|
93
92
|
this.tabsposition = _tabsPosition;
|
|
94
93
|
this.statePersistence = statePersistence;
|
|
@@ -423,7 +422,7 @@ export class TabsComponent extends StylableComponent {
|
|
|
423
422
|
}
|
|
424
423
|
}
|
|
425
424
|
TabsComponent.initializeProps = registerProps();
|
|
426
|
-
TabsComponent.ɵfac = function TabsComponent_Factory(t) { return new (t || TabsComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.DynamicComponentRefProvider), i0.ɵɵinjectAttribute('transition'), i0.ɵɵinjectAttribute('tabsposition'), i0.ɵɵdirectiveInject(i1.StatePersistence)
|
|
425
|
+
TabsComponent.ɵfac = function TabsComponent_Factory(t) { return new (t || TabsComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.DynamicComponentRefProvider), i0.ɵɵinjectAttribute('transition'), i0.ɵɵinjectAttribute('tabsposition'), i0.ɵɵdirectiveInject(i1.StatePersistence)); };
|
|
427
426
|
TabsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabsComponent, selectors: [["div", "wmTabs", ""]], contentQueries: function TabsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
428
427
|
i0.ɵɵcontentQuery(dirIndex, TabPaneComponent, 4);
|
|
429
428
|
} if (rf & 2) {
|
|
@@ -458,10 +457,8 @@ TabsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabsComponent
|
|
|
458
457
|
}] }, { type: undefined, decorators: [{
|
|
459
458
|
type: Attribute,
|
|
460
459
|
args: ['tabsposition']
|
|
461
|
-
}] }, { type: i1.StatePersistence }, {
|
|
462
|
-
type: Optional
|
|
463
|
-
}] }]; }, { panes: [{
|
|
460
|
+
}] }, { type: i1.StatePersistence }]; }, { panes: [{
|
|
464
461
|
type: ContentChildren,
|
|
465
462
|
args: [TabPaneComponent]
|
|
466
463
|
}] }); })();
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvY29udGFpbmVycy90YWJzL3NyYy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9jb250YWluZXJzL3RhYnMvc3JjL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsVUFBVSxFQUNWLDJCQUEyQixFQUMzQixJQUFJLEVBQ0osV0FBVyxFQUNYLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDOUIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNILGlCQUFpQixFQUVqQixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixlQUFlLEVBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7O0lDM0JqRCx1QkFBcUU7OztJQUFsRSxzRUFBdUM7OztJQUUxQywwQkFBNEc7OztJQUE5RSxnRUFBc0M7SUFBQyxnREFBK0I7Ozs7O0lBTmhILDZCQUM4QyxXQUFBO0lBRVMsNE1BQVMsc0JBQW1CLFNBQUUsZUFBQSx3Q0FBa0MsQ0FBQSxJQUFFLG1KQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFDN0csK0RBQXFFO0lBQ3JFLDBCQUF3QztJQUN4QyxxRUFBNEc7SUFDcEgs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SSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQzs7QUF6Wk0sNkJBQWUsR0FBRyxhQUFhLEVBQUUsQ0FBQzswRUFEaEMsYUFBYSxnSEE2QlAsWUFBWSx3QkFDWixjQUFjO2dFQTlCcEIsYUFBYTtvQ0F3QkwsZ0JBQWdCOzs7O2dFQTVCdEI7WUFDUCxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7U0FDcEM7O1FDaERMLDZCQUEwRztRQUN0Ryw2REFRSztRQUNULGlCQUFLO1FBQ0wsOERBRU07UUFDTiw4REFHTTs7UUFqQm1CLGlGQUFpRTtRQUM5QyxlQUFVO1FBQVYsbUNBQVU7UUFVNUIsZUFBd0I7UUFBeEIsNkNBQXdCO1FBR3hCLGVBQXdCO1FBQXhCLDZDQUF3Qjs7dUZEb0NyQyxhQUFhO2NBUnpCLFNBQVM7MkJBQ0ksYUFBYSxZQUViLFFBQVEsYUFDUDtvQkFDUCxrQkFBa0IsZUFBZTtpQkFDcEM7O3NCQStCSSxTQUFTO3VCQUFDLFlBQVk7O3NCQUN0QixTQUFTO3VCQUFDLGNBQWM7O3NCQUNZLFFBQVE7d0JBUGQsS0FBSztrQkFBdkMsZUFBZTttQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbmplY3RvcixcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIGFkZENsYXNzLFxuICAgIGFwcGVuZE5vZGUsXG4gICAgRHluYW1pY0NvbXBvbmVudFJlZlByb3ZpZGVyLFxuICAgIG5vb3AsXG4gICAgcmVtb3ZlQ2xhc3MsXG4gICAgU3RhdGVQZXJzaXN0ZW5jZSxcbiAgICBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHRcbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBUFBMWV9TVFlMRVNfVFlQRSxcbiAgICBJV2lkZ2V0Q29uZmlnLFxuICAgIHByb3ZpZGVBc1dpZGdldFJlZixcbiAgICBzdHlsZXIsXG4gICAgU3R5bGFibGVDb21wb25lbnQsXG4gICAgY3JlYXRlQXJyYXlGcm9tXG59IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5pbXBvcnQgeyBUYWJzQW5pbWF0b3IgfSBmcm9tICcuL3RhYnMuYW5pbWF0b3InO1xuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vdGFicy5wcm9wcyc7XG5pbXBvcnQgeyBUYWJQYW5lQ29tcG9uZW50IH0gZnJvbSAnLi90YWItcGFuZS90YWItcGFuZS5jb21wb25lbnQnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC10YWJzIGNsZWFyZml4JztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLXRhYnMnLFxuICAgIGhvc3RDbGFzczogREVGQVVMVF9DTFNcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZGl2W3dtVGFic10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBleHBvcnRBczogJ3dtVGFicycsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihUYWJzQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGRlZmF1bHRwYW5laW5kZXg6IG51bWJlcjtcbiAgICBwdWJsaWMgdHJhbnNpdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyB0YWJzcG9zaXRpb246IHN0cmluZztcbiAgICBwdWJsaWMgc3RhdGVoYW5kbGVyOiBhbnk7XG4gICAgcHJpdmF0ZSBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlO1xuXG4gICAgcHVibGljIHZlcnRpY2FsOiBib29sZWFuO1xuICAgIHB1YmxpYyBqdXN0aWZpZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBhY3RpdmVUYWI6IFRhYlBhbmVDb21wb25lbnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9taXNlUmVzb2x2ZXJGbjogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSB0YWJzQW5pbWF0b3I6IFRhYnNBbmltYXRvcjtcbiAgICBwcml2YXRlIF9vbGRQYW5lSW5kZXg6IG51bWJlcjtcbiAgICBwcml2YXRlIGlzUGFnZUxvYWRDYWxsOiBib29sZWFuO1xuICAgIHByaXZhdGUgZHluYW1pY0NvbXBvbmVudFByb3ZpZGVyO1xuICAgIHByaXZhdGUgX2R5bmFtaWNDb250ZXh0O1xuICAgIHByaXZhdGUgZHluYW1pY1BhbmVJbmRleDtcbiAgICBwdWJsaWMgZHluYW1pY1RhYnM7XG4gICAgcHVibGljIGZpZWxkRGVmcztcbiAgICBwdWJsaWMgdHlwZTtcbiAgICBwdWJsaWMgbm9kYXRhbWVzc2FnZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGFiUGFuZUNvbXBvbmVudCkgcGFuZXM6IFF1ZXJ5TGlzdDxUYWJQYW5lQ29tcG9uZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBkeW5hbWljQ29tcG9uZW50UHJvdmlkZXI6IER5bmFtaWNDb21wb25lbnRSZWZQcm92aWRlcixcbiAgICAgICAgQEF0dHJpYnV0ZSgndHJhbnNpdGlvbicpIF90cmFuc2l0aW9uOiBzdHJpbmcsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3RhYnNwb3NpdGlvbicpIF90YWJzUG9zaXRpb246IHN0cmluZyxcbiAgICAgICAgc3RhdGVQZXJzaXN0ZW5jZTogU3RhdGVQZXJzaXN0ZW5jZSwgQE9wdGlvbmFsKCkgcHVibGljIF92aWV3UGFyZW50OiBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHRcbiAgICApIHtcbiAgICAgICAgLy8gaGFuZGxlIHRvIHRoZSBwcm9taXNlIHJlc29sdmVyXG4gICAgICAgIGxldCByZXNvbHZlRm46IEZ1bmN0aW9uID0gbm9vcDtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBfdmlld1BhcmVudCwgbmV3IFByb21pc2UocmVzID0+IHJlc29sdmVGbiA9IHJlcykpO1xuXG4gICAgICAgIHRoaXMudHJhbnNpdGlvbiA9IF90cmFuc2l0aW9uO1xuICAgICAgICB0aGlzLnRhYnNwb3NpdGlvbiA9IF90YWJzUG9zaXRpb247XG4gICAgICAgIHRoaXMuc3RhdGVQZXJzaXN0ZW5jZSA9IHN0YXRlUGVyc2lzdGVuY2U7XG4gICAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFByb3ZpZGVyID0gZHluYW1pY0NvbXBvbmVudFByb3ZpZGVyO1xuICAgICAgICB0aGlzLmR5bmFtaWNUYWJzID0gW107XG4gICAgICAgIHRoaXMuZHluYW1pY1BhbmVJbmRleCA9IDA7XG5cbiAgICAgICAgdGhpcy5wcm9taXNlUmVzb2x2ZXJGbiA9IHJlc29sdmVGbjtcblxuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5DT05UQUlORVIpO1xuXG4gICAgfVxuXG4gICAgYW5pbWF0ZUluIChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCB0YWJIZWFkZXIgPSAkKGVsZW1lbnQpO1xuICAgICAgICAvLyB3aGVuIHRoZSBhbmltYXRpb24gaXMgbm90IHByZXNlbnQgdG9nZ2xlIHRoZSBhY3RpdmUgY2xhc3MuXG4gICAgICAgIHRhYkhlYWRlci5zaWJsaW5ncygnLmFjdGl2ZScpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgdGFiSGVhZGVyLmFkZENsYXNzKCdhY3RpdmUnKTtcblxuICAgICAgICBjb25zdCB1bCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd1bC5uYXYubmF2LXRhYnMnKTtcblxuICAgICAgICAvLyBtb3ZlIHRoZSB0YWJoZWFkZXIgaW50byB0aGUgdmlld3BvcnRcbiAgICAgICAgY29uc3QgJHByZXZIZWFkZXJFbGUgPSB0YWJIZWFkZXIucHJldigpO1xuICAgICAgICBpZiAoJHByZXZIZWFkZXJFbGUubGVuZ3RoKSB7XG4gICAgICAgICAgICB1bC5zY3JvbGxMZWZ0ID0gJHByZXZIZWFkZXJFbGVbMF0ub2Zmc2V0TGVmdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVsLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZWdpc3RlciB0aGUgZHluYW1pYyBwYW5lcy5cbiAgICAgKiBBZnRlciBhbGwgcGFuZXMgYXJlIGluaXRpYWx6ZWQsIHVwZGF0ZSB0aGUgcXVlcnlsaXN0IG1hbnVhbGx5IGJhc2VkIG9uIGluZGV4LlxuICAgICAqIEBwYXJhbSBwYW5lUmVmIC0gcmVmcmVuY2Ugb2YgdGhlIHRhYnBhbmVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJEeW5hbWljVGFiKHBhbmVSZWYpIHtcbiAgICAgICAgdGhpcy5keW5hbWljVGFicy5wdXNoKHBhbmVSZWYpO1xuICAgICAgICBjb25zdCBpc0xhc3RQYW5lID0gIHRoaXMuZHluYW1pY1RhYnMubGVuZ3RoID09PSB0aGlzLmR5bmFtaWNQYW5lSW5kZXg7XG4gICAgICAgIGlmIChpc0xhc3RQYW5lKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZHluYW1pY1RhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQYW5lUmVmICA9IF8uZmluZCh0aGlzLmR5bmFtaWNUYWJzLCBwYW5lID0+IHBhbmUuZHluYW1pY1BhbmVJbmRleCA9PT0gaSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNQYW5lQWxyZWFkeUV4aXN0ID0gXy5maW5kKHRoaXMucGFuZXMudG9BcnJheSgpLCBuZXdQYW5lUmVmKTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzUGFuZUFscmVhZHlFeGlzdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhbmVzLnJlc2V0KFsuLi50aGlzLnBhbmVzLnRvQXJyYXkoKSwgbmV3UGFuZVJlZl0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV3UGFuZVJlZi5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhbmVSZWYuc2VsZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAyMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0byBhZGQgdGhlIHRhYnBhbmUgZHluYW1pY2FsbHlcbiAgICAgKiBAcGFyYW0gdGFicGFuZXMgLSBsaXN0IG9mIHRhYnBhbmVzXG4gICAgICovXG4gICAgcHVibGljIGFkZFBhbmUodGFicGFuZXMpIHtcbiAgICAgICAgaWYgKCFfLmlzQXJyYXkodGFicGFuZXMpKSB7XG4gICAgICAgICAgICB0YWJwYW5lcyA9IFt0YWJwYW5lc107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFuZU5hbWVzTGlzdCA9IFtdO1xuICAgICAgICBfLmZvckVhY2godGFicGFuZXMsIChwYW5lLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNQYW5lQWxyZWFkeUNyZWF0ZWQgPSBfLmZpbmQodGhpcy5wYW5lcy50b0FycmF5KCksIHtuYW1lOiBwYW5lLm5hbWV9KTtcbiAgICAgICAgICAgIGNvbnN0IGlzUGFuZU5hbWVFeGlzdCA9IF8uaW5kZXhPZihwYW5lTmFtZXNMaXN0LCBwYW5lLm5hbWUpO1xuICAgICAgICAgICAgLy8gSWYgdXNlciB0cmllcyB0byBhZGQgdGFicGFuZSB3aXRoIHRoZSBzYW1lIG5hbWUgd2hpY2ggaXMgYWxyZWFkeSBleGlzdHMgdGhlbiBkbyBub3QgY3JlYXRlIHRoZSBwYW5lXG4gICAgICAgICAgICBpZiAoaXNQYW5lQWxyZWFkeUNyZWF0ZWQgfHwgaXNQYW5lTmFtZUV4aXN0ID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGhlIHRhYiBwYW5lIHdpdGggbmFtZSAke3BhbmUubmFtZX0gYWxyZWFkeSBleGlzdHNgKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBwYXJhbU1hcmt1cCA9ICcnO1xuICAgICAgICAgICAgbGV0IHByb3BzVG1wbCA9ICcnO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljUGFuZUluZGV4Kys7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gcGFuZS5uYW1lID8gcGFuZS5uYW1lIDogYHRhYnBhbmUke3RoaXMucGFuZXMudG9BcnJheSgpLmxlbmd0aCArIChpbmRleCArIDEpfWA7XG4gICAgICAgICAgICBwYW5lTmFtZXNMaXN0LnB1c2gobmFtZSk7XG4gICAgICAgICAgICBjb25zdCBwYXJ0aWFsUGFyYW1zID0gXy5nZXQocGFuZSwgJ3BhcmFtcycpO1xuXG4gICAgICAgICAgICBfLmZvckVhY2gocGFuZSwgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSAncGFyYW1zJykge1xuICAgICAgICAgICAgICAgICAgICBwcm9wc1RtcGwgPSBgJHtwcm9wc1RtcGx9ICR7a2V5fT1cIiR7dmFsdWV9XCJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBfLmZvckVhY2gocGFydGlhbFBhcmFtcywgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBwYXJhbU1hcmt1cCA9IGAke3BhcmFtTWFya3VwfSA8d20tcGFyYW0gbmFtZT1cIiR7a2V5fVwiIHZhbHVlPVwiJHt2YWx1ZX1cIj48L3dtLXBhcmFtPmA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmt1cCA9IGA8d20tdGFicGFuZSBkeW5hbWljUGFuZUluZGV4PVwiJHt0aGlzLmR5bmFtaWNQYW5lSW5kZXggLSAxfVwiIGlzZHluYW1pYz1cInRydWVcIiBuYW1lPVwiJHtuYW1lfVwiICR7cHJvcHNUbXBsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3BhcmFtTWFya3VwfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC93bS10YWJwYW5lPmA7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5fZHluYW1pY0NvbnRleHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9keW5hbWljQ29udGV4dCA9IE9iamVjdC5jcmVhdGUodGhpcy52aWV3UGFyZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9keW5hbWljQ29udGV4dFt0aGlzLmdldEF0dHIoJ3dtVGFiJyldID0gdGhpcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50UHJvdmlkZXIuYWRkQ29tcG9uZW50KHRoaXMuZ2V0TmF0aXZlRWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy50YWItY29udGVudCcpLCBtYXJrdXAsIHRoaXMuX2R5bmFtaWNDb250ZXh0LCB7aW5qOiB0aGlzLmluan0pO1xuXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFuZU5hbWVzTGlzdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0byByZW1vdmUgdGhlIHRhYnBhbmVcbiAgICAgKiBAcGFyYW0gcGFuZUluZGV4IC0gaW5kZXggb2YgdGhlIHBhbmVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUGFuZShwYW5lTmFtZSkge1xuICAgICAgICBjb25zdCBwYW5lUmVmID0gdGhpcy5nZXRQYW5lUmVmQnlOYW1lKHBhbmVOYW1lKTtcbiAgICAgICAgaWYgKHBhbmVSZWYpIHtcbiAgICAgICAgICAgIHBhbmVSZWYucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUYWJQYW5lIGNoaWxkcmVuIGNvbXBvbmVudHMgaW52b2tlIHRoaXMgbWV0aG9kIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhcmVudFxuICAgICAqIGlmIHRoZSBldnQgYXJndW1lbnQgaXMgZGVmaW5lZCBvbi1jaGFuZ2UgY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyBub3RpZnlDaGFuZ2UocGFuZVJlZjogVGFiUGFuZUNvbXBvbmVudCwgZXZ0OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNTZWxlY3RhYmxlVGFiKHBhbmVSZWYpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVyRWxlbWVudDtcbiAgICAgICAgLy8gaW52b2tlIGRlc2VsZWN0IGV2ZW50IGNhbGxiYWNrIG9uIHRoZSBwcmVzZXQgYWN0aXZlIHRhYlxuICAgICAgICBpZiAoIV8uaXNFbXB0eSh0aGlzLmFjdGl2ZVRhYikpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiLmRlc2VsZWN0KCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gcGFuZVJlZi5nZXRXaWRnZXQoKTtcbiAgICAgICAgY29uc3QgbmV3UGFuZUluZGV4ID0gdGhpcy5nZXRQYW5lSW5kZXhCeVJlZihwYW5lUmVmKTtcbiAgICAgICAgY29uc3QgbW9kZSA9IHRoaXMuc3RhdGVQZXJzaXN0ZW5jZS5jb21wdXRlTW9kZSh0aGlzLnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghdGhpcy5pc1BhZ2VMb2FkQ2FsbCAmJiBtb2RlICYmIG1vZGUudG9Mb3dlckNhc2UoKSAhPT0gJ25vbmUnKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlUGVyc2lzdGVuY2Uuc2V0V2lkZ2V0U3RhdGUodGhpcywgdGhpcy5hY3RpdmVUYWIubmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRwYW5laW5kZXggPSB0aGlzLmdldFBhbmVJbmRleEJ5UmVmKHBhbmVSZWYpO1xuICAgICAgICAgICAgdGhpcy5pc1BhZ2VMb2FkQ2FsbCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52b2tlIHNlbGVjdCBjYWxsYmFjayBvbiB0aGUgc2VsZWN0ZWQgdGFiXG4gICAgICAgIHBhbmVSZWYuaW52b2tlT25TZWxlY3RDYWxsYmFjayhldnQpO1xuXG4gICAgICAgIC8vIGludm9rZSBjaGFuZ2UgY2FsbGJhY2sgaWYgdGhlIGV2dCBpcyBwcmVzZW50LCBzZWxlY3QgYSB0YWIgcHJvZ3JhbW1hdGljYWxseSB3aWxsIG5vdCBoYXZlIHRoZSBldmVudFxuICAgICAgICBpZiAoZXZ0KSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2NoYW5nZScsIHtcbiAgICAgICAgICAgICAgICAkZXZlbnQ6IGV2dCxcbiAgICAgICAgICAgICAgICBuZXdQYW5lSW5kZXg6IG5ld1BhbmVJbmRleCxcbiAgICAgICAgICAgICAgICBvbGRQYW5lSW5kZXg6IHRoaXMuX29sZFBhbmVJbmRleCB8fCAwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vbGRQYW5lSW5kZXggPSBuZXdQYW5lSW5kZXg7XG5cbiAgICAgICAgaWYgKGV2dCkge1xuICAgICAgICAgICAgaGVhZGVyRWxlbWVudCA9ICQoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnbGkudGFiLWhlYWRlcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZXZ0IHx8ICFoZWFkZXJFbGVtZW50IHx8ICFoZWFkZXJFbGVtZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgaGVhZGVyRWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXBhbmVpZD0ke3BhbmVSZWYud2lkZ2V0SWR9XWApO1xuICAgICAgICAgICAgY29uc3QgaW5zaWRlVGFicyA9ICEhJChoZWFkZXJFbGVtZW50KS5jbG9zZXN0KCcuYXBwLXRhYnMnKVxuICAgICAgICAgICAgICAgIC5wYXJlbnQoKS5jbG9zZXN0KCcuYXBwLXRhYnMnKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAoIWluc2lkZVRhYnMpIHsgXG4gICAgICAgICAgICAgICAgJChoZWFkZXJFbGVtZW50KS5jaGlsZHJlbigpLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hbmltYXRlSW4oaGVhZGVyRWxlbWVudCk7XG5cbiAgICAgICAgLy8gdGhpcy5zZXRUYWJzTGVmdFBvc2l0aW9uKHRoaXMuZ2V0UGFuZUluZGV4QnlSZWYodGhpcy5hY3RpdmVUYWIpLCB0aGlzLnBhbmVzLmxlbmd0aCk7XG4gICAgICAgIGlmICh0aGlzLmNhblNsaWRlKCkpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy50YWJzQW5pbWF0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYnNBbmltYXRvciA9IG5ldyBUYWJzQW5pbWF0b3IodGhpcyk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJzQW5pbWF0b3Iuc2V0R2VzdHVyZXNFbmFibGVkKHRoaXMuY2FuU2xpZGUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRhYnNBbmltYXRvci50cmFuc2l0aW9uVGFiSW50b1ZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnb1RvVGFiKHRhYkluZGV4KSB7XG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWRQYW5lSW5kZXgodGFiSW5kZXggLSAxKSkge1xuICAgICAgICAgICAgY29uc3QgdGFiID0gdGhpcy5nZXRQYW5lUmVmQnlJbmRleCh0YWJJbmRleCAtIDEpO1xuICAgICAgICAgICAgdGFiLnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQYW5lSW5kZXhCeVJlZihwYW5lUmVmOiBUYWJQYW5lQ29tcG9uZW50KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFuZXMudG9BcnJheSgpLmluZGV4T2YocGFuZVJlZik7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJucyB0aGUgYWN0aXZlIHRhYiBpbmRleCBmcm9tIHRhYnMuXG4gICAgcHVibGljIGdldEFjdGl2ZVRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBfLmZpbmRJbmRleCh0aGlzLnBhbmVzLnRvQXJyYXkoKSwge2lzQWN0aXZlOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkUGFuZUluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChpbmRleCA+PSAwICYmIGluZGV4IDwgdGhpcy5wYW5lcy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGFuZVJlZkJ5SW5kZXgoaW5kZXg6IG51bWJlcik6IFRhYlBhbmVDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5wYW5lcy50b0FycmF5KClbaW5kZXhdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGFuZVJlZkJ5TmFtZShuYW1lOiBzdHJpbmcpOiBUYWJQYW5lQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIF8uZmluZCh0aGlzLnBhbmVzLnRvQXJyYXkoKSwge25hbWU6IG5hbWV9KTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm5zIGZhbHNlIGlmIHRoZSBwYW5lIGlzIGhpZGRlbiBvciBkaXNhYmxlZFxuICAgIHByaXZhdGUgaXNTZWxlY3RhYmxlVGFiKHBhbmVSZWY6IFRhYlBhbmVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHBhbmVSZWYuc2hvdyAmJiAhcGFuZVJlZi5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhblNsaWRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9uID09PSAnc2xpZGUnICYmICF0aGlzLnZlcnRpY2FsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0YWJsZVRhYkFmdGVySW5kZXgoaW5kZXg6IG51bWJlcik6IFRhYlBhbmVDb21wb25lbnQge1xuICAgICAgICBmb3IgKGxldCBpID0gaW5kZXggKyAxOyBpIDwgdGhpcy5wYW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcGFuZSA9IHRoaXMuZ2V0UGFuZVJlZkJ5SW5kZXgoaSk7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGFibGVUYWIocGFuZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMucGFuZXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgY29uc3QgcGFuZSA9IHRoaXMuZ2V0UGFuZVJlZkJ5SW5kZXgoMCk7XG4gICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RhYmxlVGFiKHBhbmUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhbmU7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RhYmxlVGFiQmVmb3JlSW5kZXgoaW5kZXg6IG51bWJlcik6IFRhYlBhbmVDb21wb25lbnQge1xuICAgICAgICBmb3IgKGxldCBpID0gaW5kZXggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgY29uc3QgcGFuZSA9IHRoaXMuZ2V0UGFuZVJlZkJ5SW5kZXgoaSk7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGFibGVUYWIocGFuZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBhbmUgPSB0aGlzLmdldFBhbmVSZWZCeUluZGV4KHRoaXMucGFuZXMubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGFibGVUYWIocGFuZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNlbGVjdCBuZXh0IHRhYiByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBhY3RpdmUgdGFiXG4gICAgcHVibGljIG5leHQoJGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFuZSA9IHRoaXMuZ2V0U2VsZWN0YWJsZVRhYkFmdGVySW5kZXgodGhpcy5nZXRBY3RpdmVUYWJJbmRleCgpKTtcbiAgICAgICAgaWYgKHBhbmUpIHtcbiAgICAgICAgICAgIHBhbmUuc2VsZWN0KCRldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzZWxlY3QgcHJldiB0YWIgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgYWN0aXZlIHRhYlxuICAgIHB1YmxpYyBwcmV2KCRldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhbmUgPSB0aGlzLmdldFNlbGVjdGFibGVUYWJCZWZvcmVJbmRleCh0aGlzLmdldEFjdGl2ZVRhYkluZGV4KCkpO1xuICAgICAgICBpZiAocGFuZSkge1xuICAgICAgICAgICAgcGFuZS5zZWxlY3QoJGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRoaXMgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCBkdXJpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBjb21wb25lbnQgYW5kIG9uIGRlZmF1bHRwYW5laW5kZXggcHJvcGVydHkgY2hhbmdlLFxuICAgICAqIGlmIHRoZSBwcm92aWRlZCBkZWZhdWx0cGFuZWluZGV4IGlzIG5vdCB2YWxpZCwgZmluZCB0aGUgZmlyc3QgcGFuZSBpbmRleCB3aGljaCBjYW4gYmUgc2hvd24gYW5kIHNlbGVjdCBpdFxuICAgICAqL1xuICAgIHByaXZhdGUgc2VsZWN0RGVmYXVsdFBhbmVCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWRQYW5lSW5kZXgoaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcGFuZVJlZiA9IHRoaXMuZ2V0UGFuZVJlZkJ5SW5kZXgoaW5kZXgpO1xuICAgICAgICBpZiAoIXRoaXMuaXNTZWxlY3RhYmxlVGFiKHBhbmVSZWYpKSB7XG4gICAgICAgICAgICBwYW5lUmVmID0gdGhpcy5nZXRTZWxlY3RhYmxlVGFiQWZ0ZXJJbmRleCgwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFuZVJlZikge1xuICAgICAgICAgICAgcGFuZVJlZi5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHVwZGF0ZSB0aGUgcG9zdGlvbiBvZiB0YWIgaGVhZGVyXG4gICAgcHJpdmF0ZSBzZXRUYWJzUG9zaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IHVsID0gdGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdO1xuXG4gICAgICAgIHRoaXMudmVydGljYWwgPSAodGhpcy50YWJzcG9zaXRpb24gPT09ICdsZWZ0JyB8fCB0aGlzLnRhYnNwb3NpdGlvbiA9PT0gJ3JpZ2h0Jyk7XG5cbiAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnaW52ZXJ0ZWQnKTtcbiAgICAgICAgaWYgKHRoaXMudGFic3Bvc2l0aW9uID09PSAnYm90dG9tJyB8fCB0aGlzLnRhYnNwb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgYXBwZW5kTm9kZSh1bCBhcyBIVE1MRWxlbWVudCwgdGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2ludmVydGVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uRGF0YUNoYW5nZShuZXdWYWwpIHtcbiAgICAgICAgdGhpcy5maWVsZERlZnMgPSBjcmVhdGVBcnJheUZyb20obmV3VmFsKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlbGVjdERlZmF1bHRQYW5lQnlJbmRleCh0aGlzLmRlZmF1bHRwYW5laW5kZXggfHwgMCkpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92KSB7XG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ2RlZmF1bHRwYW5laW5kZXgnKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRwYW5laW5kZXggPSBudjtcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdkYXRhc2V0Jykge1xuICAgICAgICAgICAgdGhpcy5vbkRhdGFDaGFuZ2UobnYpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ3N0YXRlaGFuZGxlcicpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQYWdlTG9hZENhbGwgPSB0cnVlO1xuICAgICAgICAgICAgY29uc3Qgd2lkZ2V0U3RhdGUgPSB0aGlzLnN0YXRlUGVyc2lzdGVuY2UuZ2V0V2lkZ2V0U3RhdGUodGhpcyk7XG4gICAgICAgICAgICBpZiAobnYgIT09ICdub25lJyAmJiB3aWRnZXRTdGF0ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhbmVUb1NlbGVjdDogYW55ID0gdGhpcy5wYW5lcy5maWx0ZXIoZnVuY3Rpb24ocGFuZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2lkZ2V0U3RhdGUgPT09IHBhbmUubmFtZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoIXBhbmVUb1NlbGVjdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdUYWIgcGFuZSBuYW1lICcgKyB3aWRnZXRTdGF0ZSArICcgaW4gU3RhdGUgaXMgaW5jb3JyZWN0LiBGYWxsaW5nIGJhY2sgdG8gdGhlIGRlZmF1bHQgcGFuZScpO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VsZWN0RGVmYXVsdFBhbmVCeUluZGV4KHRoaXMuZGVmYXVsdHBhbmVpbmRleCB8fCAwKSwgMjApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRQYW5lSW5kZXhCeVJlZihwYW5lVG9TZWxlY3RbMF0pO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VsZWN0RGVmYXVsdFBhbmVCeUluZGV4KGluZGV4KSwgMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlbGVjdERlZmF1bHRQYW5lQnlJbmRleCh0aGlzLmRlZmF1bHRwYW5laW5kZXggfHwgMCksIDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJUYWJzU2Nyb2xsKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0ICR1bCA9IHRoaXMuJGVsZW1lbnQuZmluZCgnPiB1bCcpO1xuICAgICAgICAgICAgbGV0ICRsaVBvc2l0aW9uO1xuXG4gICAgICAgICAgICBjb25zdCAgJGxpID0gJHVsLmNoaWxkcmVuKCk7XG4gICAgICAgICAgICAkbGlQb3NpdGlvbiA9ICRsaS5sYXN0KCkucG9zaXRpb24oKTtcbiAgICAgICAgICAgIGlmICgkbGlQb3NpdGlvbiAmJiAoJGxpUG9zaXRpb24ubGVmdCA+ICR1bC53aWR0aCgpKSkge1xuICAgICAgICAgICAgICAgICR1bC5vbignbW91c2V3aGVlbCcsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlZnQgPSAkdWxbMF0uc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9kZWx0YSA9IC0xICogZS5vcmlnaW5hbEV2ZW50LndoZWVsRGVsdGE7XG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgJHVsLmFuaW1hdGUoe3Njcm9sbExlZnQ6IGxlZnQgKyBfZGVsdGF9LCB7J2R1cmF0aW9uJzogMTB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG9ua2V5ZG93bihldmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgICAgIHRoaXMucHJldigpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5wcm9taXNlUmVzb2x2ZXJGbigpO1xuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcbiAgICAgICAgdGhpcy5zZXRUYWJzUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5wYW5lcy5jaGFuZ2VzLnN1YnNjcmliZSggc2xpZGVzID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhbmVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGVmYXVsdFBhbmVCeUluZGV4KHRoaXMuZGVmYXVsdHBhbmVpbmRleCB8fCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclRhYnNTY3JvbGwoKTtcbiAgICB9XG59XG4iLCI8dWwgY2xhc3M9XCJuYXYgbmF2LXRhYnNcIiBbbmdDbGFzc109XCJ7J25hdi1zdGFja2VkJzogdmVydGljYWwsICduYXYtanVzdGlmaWVkJzoganVzdGlmaWVkfVwiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgPGxpIGNsYXNzPVwidGFiLWhlYWRlclwiICpuZ0Zvcj1cImxldCBwYW5lIG9mIHBhbmVzOyBsZXQgaT1pbmRleDtcIiBbYXR0ci5kYXRhLXBhbmVpZF09XCJwYW5lLndpZGdldElkXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBwYW5lLmlzQWN0aXZlLCAnZGlzYWJsZWQnOiBwYW5lLmRpc2FibGVkfVwiXG4gICAgICAgIFtoaWRkZW5dPVwiIXBhbmUuc2hvd1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0YWItaGVhZGluZ1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJwYW5lLnRpdGxlXCIgW2F0dHIudGl0bGVdPVwicGFuZS50aXRsZVwiIFt0YWJpbmRleF09XCJwYW5lLmlzQWN0aXZlID8gJzAnIDogJy0xJ1wiXG4gICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwicGFuZS5pc0FjdGl2ZVwiIHJvbGU9XCJ0YWJcIiAoY2xpY2spPVwicGFuZS5zZWxlY3QoJGV2ZW50KTsgcGFuZS50YWJwYW5lSGVhZGVyQ2xpY2soJGV2ZW50LCBpKTtcIiAoa2V5ZG93bik9XCJvbmtleWRvd24oJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cIlsnYXBwLWljb24nLCBwYW5lLnBhbmVpY29uXVwiICpuZ0lmPVwicGFuZS5wYW5laWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicGFuZS50aXRsZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInBhbmUuYmFkZ2V2YWx1ZVwiIGNsYXNzPVwibGFiZWwgbGFiZWwte3twYW5lLmJhZGdldHlwZX19XCIgW3RleHRDb250ZW50XT1cInBhbmUuYmFkZ2V2YWx1ZVwiPjwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L3VsPlxuPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCIgKm5nSWY9XCJ0eXBlICE9PSAnZHluYW1pYydcIiBbbmdDbGFzc109XCJ7J3RhYi1zdGFja2VkJzogdmVydGljYWwsICd0YWItanVzdGlmaWVkJzoganVzdGlmaWVkfVwiPlxuICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwiZGl2W3dtVGFiUGFuZV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0YWItY29udGVudFwiICpuZ0lmPVwidHlwZSA9PT0gJ2R5bmFtaWMnXCIgW25nQ2xhc3NdPVwieyd0YWItc3RhY2tlZCc6IHZlcnRpY2FsLCAndGFiLWp1c3RpZmllZCc6IGp1c3RpZmllZH1cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZmllbGREZWZzICYmICFmaWVsZERlZnMubGVuZ3RoXCI+e3tub2RhdGFtZXNzYWdlfX08L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkaXZbd21SZXBlYXRUZW1wbGF0ZV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvY29udGFpbmVycy90YWJzL3NyYy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9jb250YWluZXJzL3RhYnMvc3JjL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFFBQVEsRUFHUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILFFBQVEsRUFDUixVQUFVLEVBQ1YsMkJBQTJCLEVBQzNCLElBQUksRUFDSixXQUFXLEVBQ1gsZ0JBQWdCLEVBRW5CLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFDSCxpQkFBaUIsRUFFakIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsZUFBZSxFQUNsQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7OztJQzNCakQsdUJBQXFFOzs7SUFBbEUsc0VBQXVDOzs7SUFFMUMsMEJBQTRHOzs7SUFBOUUsZ0VBQXNDO0lBQUMsZ0RBQStCOzs7OztJQU5oSCw2QkFDOEMsV0FBQTtJQUVTLDRNQUFTLHNCQUFtQixTQUFFLGVBQUEsd0NBQWtDLENBQUEsSUFBRSxtSkFBWSxlQUFBLHlCQUFpQixDQUFBLElBQTdCO0lBQzdHLCtEQUFxRTtJQUNyRSwwQkFBd0M7SUFDeEMscUVBQTRHO0lBQ3BILGlCQUFJLEVBQUE7OztJQVAyRix5RkFB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QyxhQUFhLGdIQTZCUCxZQUFZLHdCQUNaLGNBQWM7Z0VBOUJwQixhQUFhO29DQXdCTCxnQkFBZ0I7Ozs7Z0VBNUJ0QjtZQUNQLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztTQUNwQzs7UUNoREwsNkJBQTBHO1FBQ3RHLDZEQVFLO1FBQ1QsaUJBQUs7UUFDTCw4REFFTTtRQUNOLDhEQUdNOztRQWpCbUIsaUZBQWlFO1FBQzlDLGVBQVU7UUFBVixtQ0FBVTtRQVU1QixlQUF3QjtRQUF4Qiw2Q0FBd0I7UUFHeEIsZUFBd0I7UUFBeEIsNkNBQXdCOzt1RkRvQ3JDLGFBQWE7Y0FSekIsU0FBUzsyQkFDSSxhQUFhLFlBRWIsUUFBUSxhQUNQO29CQUNQLGtCQUFrQixlQUFlO2lCQUNwQzs7c0JBK0JJLFNBQVM7dUJBQUMsWUFBWTs7c0JBQ3RCLFNBQVM7dUJBQUMsY0FBYzt1REFOTSxLQUFLO2tCQUF2QyxlQUFlO21CQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEF0dHJpYnV0ZSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdG9yLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgYWRkQ2xhc3MsXG4gICAgYXBwZW5kTm9kZSxcbiAgICBEeW5hbWljQ29tcG9uZW50UmVmUHJvdmlkZXIsXG4gICAgbm9vcCxcbiAgICByZW1vdmVDbGFzcyxcbiAgICBTdGF0ZVBlcnNpc3RlbmNlLFxuICAgIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge1xuICAgIEFQUExZX1NUWUxFU19UWVBFLFxuICAgIElXaWRnZXRDb25maWcsXG4gICAgcHJvdmlkZUFzV2lkZ2V0UmVmLFxuICAgIHN0eWxlcixcbiAgICBTdHlsYWJsZUNvbXBvbmVudCxcbiAgICBjcmVhdGVBcnJheUZyb21cbn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IFRhYnNBbmltYXRvciB9IGZyb20gJy4vdGFicy5hbmltYXRvcic7XG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi90YWJzLnByb3BzJztcbmltcG9ydCB7IFRhYlBhbmVDb21wb25lbnQgfSBmcm9tICcuL3RhYi1wYW5lL3RhYi1wYW5lLmNvbXBvbmVudCc7XG5cbmRlY2xhcmUgY29uc3QgXywgJDtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXRhYnMgY2xlYXJmaXgnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tdGFicycsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMU1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbd21UYWJzXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGV4cG9ydEFzOiAnd21UYWJzJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFRhYnNDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgZGVmYXVsdHBhbmVpbmRleDogbnVtYmVyO1xuICAgIHB1YmxpYyB0cmFuc2l0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIHRhYnNwb3NpdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBzdGF0ZWhhbmRsZXI6IGFueTtcbiAgICBwcml2YXRlIHN0YXRlUGVyc2lzdGVuY2U6IFN0YXRlUGVyc2lzdGVuY2U7XG5cbiAgICBwdWJsaWMgdmVydGljYWw6IGJvb2xlYW47XG4gICAgcHVibGljIGp1c3RpZmllZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIGFjdGl2ZVRhYjogVGFiUGFuZUNvbXBvbmVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb21pc2VSZXNvbHZlckZuOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIHRhYnNBbmltYXRvcjogVGFic0FuaW1hdG9yO1xuICAgIHByaXZhdGUgX29sZFBhbmVJbmRleDogbnVtYmVyO1xuICAgIHByaXZhdGUgaXNQYWdlTG9hZENhbGw6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50UHJvdmlkZXI7XG4gICAgcHJpdmF0ZSBfZHluYW1pY0NvbnRleHQ7XG4gICAgcHJpdmF0ZSBkeW5hbWljUGFuZUluZGV4O1xuICAgIHB1YmxpYyBkeW5hbWljVGFicztcbiAgICBwdWJsaWMgZmllbGREZWZzO1xuICAgIHB1YmxpYyB0eXBlO1xuICAgIHB1YmxpYyBub2RhdGFtZXNzYWdlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUYWJQYW5lQ29tcG9uZW50KSBwYW5lczogUXVlcnlMaXN0PFRhYlBhbmVDb21wb25lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluajogSW5qZWN0b3IsXG4gICAgICAgIGR5bmFtaWNDb21wb25lbnRQcm92aWRlcjogRHluYW1pY0NvbXBvbmVudFJlZlByb3ZpZGVyLFxuICAgICAgICBAQXR0cmlidXRlKCd0cmFuc2l0aW9uJykgX3RyYW5zaXRpb246IHN0cmluZyxcbiAgICAgICAgQEF0dHJpYnV0ZSgndGFic3Bvc2l0aW9uJykgX3RhYnNQb3NpdGlvbjogc3RyaW5nLFxuICAgICAgICBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlXG4gICAgKSB7XG4gICAgICAgIC8vIGhhbmRsZSB0byB0aGUgcHJvbWlzZSByZXNvbHZlclxuICAgICAgICBsZXQgcmVzb2x2ZUZuOiBGdW5jdGlvbiA9IG5vb3A7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgbmV3IFByb21pc2UocmVzID0+IHJlc29sdmVGbiA9IHJlcykpO1xuXG4gICAgICAgIHRoaXMudHJhbnNpdGlvbiA9IF90cmFuc2l0aW9uO1xuICAgICAgICB0aGlzLnRhYnNwb3NpdGlvbiA9IF90YWJzUG9zaXRpb247XG4gICAgICAgIHRoaXMuc3RhdGVQZXJzaXN0ZW5jZSA9IHN0YXRlUGVyc2lzdGVuY2U7XG4gICAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFByb3ZpZGVyID0gZHluYW1pY0NvbXBvbmVudFByb3ZpZGVyO1xuICAgICAgICB0aGlzLmR5bmFtaWNUYWJzID0gW107XG4gICAgICAgIHRoaXMuZHluYW1pY1BhbmVJbmRleCA9IDA7XG5cbiAgICAgICAgdGhpcy5wcm9taXNlUmVzb2x2ZXJGbiA9IHJlc29sdmVGbjtcblxuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5DT05UQUlORVIpO1xuXG4gICAgfVxuXG4gICAgYW5pbWF0ZUluIChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCB0YWJIZWFkZXIgPSAkKGVsZW1lbnQpO1xuICAgICAgICAvLyB3aGVuIHRoZSBhbmltYXRpb24gaXMgbm90IHByZXNlbnQgdG9nZ2xlIHRoZSBhY3RpdmUgY2xhc3MuXG4gICAgICAgIHRhYkhlYWRlci5zaWJsaW5ncygnLmFjdGl2ZScpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgdGFiSGVhZGVyLmFkZENsYXNzKCdhY3RpdmUnKTtcblxuICAgICAgICBjb25zdCB1bCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd1bC5uYXYubmF2LXRhYnMnKTtcblxuICAgICAgICAvLyBtb3ZlIHRoZSB0YWJoZWFkZXIgaW50byB0aGUgdmlld3BvcnRcbiAgICAgICAgY29uc3QgJHByZXZIZWFkZXJFbGUgPSB0YWJIZWFkZXIucHJldigpO1xuICAgICAgICBpZiAoJHByZXZIZWFkZXJFbGUubGVuZ3RoKSB7XG4gICAgICAgICAgICB1bC5zY3JvbGxMZWZ0ID0gJHByZXZIZWFkZXJFbGVbMF0ub2Zmc2V0TGVmdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVsLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZWdpc3RlciB0aGUgZHluYW1pYyBwYW5lcy5cbiAgICAgKiBBZnRlciBhbGwgcGFuZXMgYXJlIGluaXRpYWx6ZWQsIHVwZGF0ZSB0aGUgcXVlcnlsaXN0IG1hbnVhbGx5IGJhc2VkIG9uIGluZGV4LlxuICAgICAqIEBwYXJhbSBwYW5lUmVmIC0gcmVmcmVuY2Ugb2YgdGhlIHRhYnBhbmVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJEeW5hbWljVGFiKHBhbmVSZWYpIHtcbiAgICAgICAgdGhpcy5keW5hbWljVGFicy5wdXNoKHBhbmVSZWYpO1xuICAgICAgICBjb25zdCBpc0xhc3RQYW5lID0gIHRoaXMuZHluYW1pY1RhYnMubGVuZ3RoID09PSB0aGlzLmR5bmFtaWNQYW5lSW5kZXg7XG4gICAgICAgIGlmIChpc0xhc3RQYW5lKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZHluYW1pY1RhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQYW5lUmVmICA9IF8uZmluZCh0aGlzLmR5bmFtaWNUYWJzLCBwYW5lID0+IHBhbmUuZHluYW1pY1BhbmVJbmRleCA9PT0gaSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNQYW5lQWxyZWFkeUV4aXN0ID0gXy5maW5kKHRoaXMucGFuZXMudG9BcnJheSgpLCBuZXdQYW5lUmVmKTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzUGFuZUFscmVhZHlFeGlzdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhbmVzLnJlc2V0KFsuLi50aGlzLnBhbmVzLnRvQXJyYXkoKSwgbmV3UGFuZVJlZl0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV3UGFuZVJlZi5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhbmVSZWYuc2VsZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAyMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0byBhZGQgdGhlIHRhYnBhbmUgZHluYW1pY2FsbHlcbiAgICAgKiBAcGFyYW0gdGFicGFuZXMgLSBsaXN0IG9mIHRhYnBhbmVzXG4gICAgICovXG4gICAgcHVibGljIGFkZFBhbmUodGFicGFuZXMpIHtcbiAgICAgICAgaWYgKCFfLmlzQXJyYXkodGFicGFuZXMpKSB7XG4gICAgICAgICAgICB0YWJwYW5lcyA9IFt0YWJwYW5lc107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFuZU5hbWVzTGlzdCA9IFtdO1xuICAgICAgICBfLmZvckVhY2godGFicGFuZXMsIChwYW5lLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNQYW5lQWxyZWFkeUNyZWF0ZWQgPSBfLmZpbmQodGhpcy5wYW5lcy50b0FycmF5KCksIHtuYW1lOiBwYW5lLm5hbWV9KTtcbiAgICAgICAgICAgIGNvbnN0IGlzUGFuZU5hbWVFeGlzdCA9IF8uaW5kZXhPZihwYW5lTmFtZXNMaXN0LCBwYW5lLm5hbWUpO1xuICAgICAgICAgICAgLy8gSWYgdXNlciB0cmllcyB0byBhZGQgdGFicGFuZSB3aXRoIHRoZSBzYW1lIG5hbWUgd2hpY2ggaXMgYWxyZWFkeSBleGlzdHMgdGhlbiBkbyBub3QgY3JlYXRlIHRoZSBwYW5lXG4gICAgICAgICAgICBpZiAoaXNQYW5lQWxyZWFkeUNyZWF0ZWQgfHwgaXNQYW5lTmFtZUV4aXN0ID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGhlIHRhYiBwYW5lIHdpdGggbmFtZSAke3BhbmUubmFtZX0gYWxyZWFkeSBleGlzdHNgKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBwYXJhbU1hcmt1cCA9ICcnO1xuICAgICAgICAgICAgbGV0IHByb3BzVG1wbCA9ICcnO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljUGFuZUluZGV4Kys7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gcGFuZS5uYW1lID8gcGFuZS5uYW1lIDogYHRhYnBhbmUke3RoaXMucGFuZXMudG9BcnJheSgpLmxlbmd0aCArIChpbmRleCArIDEpfWA7XG4gICAgICAgICAgICBwYW5lTmFtZXNMaXN0LnB1c2gobmFtZSk7XG4gICAgICAgICAgICBjb25zdCBwYXJ0aWFsUGFyYW1zID0gXy5nZXQocGFuZSwgJ3BhcmFtcycpO1xuXG4gICAgICAgICAgICBfLmZvckVhY2gocGFuZSwgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSAncGFyYW1zJykge1xuICAgICAgICAgICAgICAgICAgICBwcm9wc1RtcGwgPSBgJHtwcm9wc1RtcGx9ICR7a2V5fT1cIiR7dmFsdWV9XCJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBfLmZvckVhY2gocGFydGlhbFBhcmFtcywgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBwYXJhbU1hcmt1cCA9IGAke3BhcmFtTWFya3VwfSA8d20tcGFyYW0gbmFtZT1cIiR7a2V5fVwiIHZhbHVlPVwiJHt2YWx1ZX1cIj48L3dtLXBhcmFtPmA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmt1cCA9IGA8d20tdGFicGFuZSBkeW5hbWljUGFuZUluZGV4PVwiJHt0aGlzLmR5bmFtaWNQYW5lSW5kZXggLSAxfVwiIGlzZHluYW1pYz1cInRydWVcIiBuYW1lPVwiJHtuYW1lfVwiICR7cHJvcHNUbXBsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3BhcmFtTWFya3VwfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC93bS10YWJwYW5lPmA7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5fZHluYW1pY0NvbnRleHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9keW5hbWljQ29udGV4dCA9IE9iamVjdC5jcmVhdGUodGhpcy52aWV3UGFyZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9keW5hbWljQ29udGV4dFt0aGlzLmdldEF0dHIoJ3dtVGFiJyldID0gdGhpcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50UHJvdmlkZXIuYWRkQ29tcG9uZW50KHRoaXMuZ2V0TmF0aXZlRWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy50YWItY29udGVudCcpLCBtYXJrdXAsIHRoaXMuX2R5bmFtaWNDb250ZXh0LCB7aW5qOiB0aGlzLmluan0pO1xuXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFuZU5hbWVzTGlzdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0byByZW1vdmUgdGhlIHRhYnBhbmVcbiAgICAgKiBAcGFyYW0gcGFuZUluZGV4IC0gaW5kZXggb2YgdGhlIHBhbmVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUGFuZShwYW5lTmFtZSkge1xuICAgICAgICBjb25zdCBwYW5lUmVmID0gdGhpcy5nZXRQYW5lUmVmQnlOYW1lKHBhbmVOYW1lKTtcbiAgICAgICAgaWYgKHBhbmVSZWYpIHtcbiAgICAgICAgICAgIHBhbmVSZWYucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUYWJQYW5lIGNoaWxkcmVuIGNvbXBvbmVudHMgaW52b2tlIHRoaXMgbWV0aG9kIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhcmVudFxuICAgICAqIGlmIHRoZSBldnQgYXJndW1lbnQgaXMgZGVmaW5lZCBvbi1jaGFuZ2UgY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyBub3RpZnlDaGFuZ2UocGFuZVJlZjogVGFiUGFuZUNvbXBvbmVudCwgZXZ0OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNTZWxlY3RhYmxlVGFiKHBhbmVSZWYpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVyRWxlbWVudDtcbiAgICAgICAgLy8gaW52b2tlIGRlc2VsZWN0IGV2ZW50IGNhbGxiYWNrIG9uIHRoZSBwcmVzZXQgYWN0aXZlIHRhYlxuICAgICAgICBpZiAoIV8uaXNFbXB0eSh0aGlzLmFjdGl2ZVRhYikpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiLmRlc2VsZWN0KCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gcGFuZVJlZi5nZXRXaWRnZXQoKTtcbiAgICAgICAgY29uc3QgbmV3UGFuZUluZGV4ID0gdGhpcy5nZXRQYW5lSW5kZXhCeVJlZihwYW5lUmVmKTtcbiAgICAgICAgY29uc3QgbW9kZSA9IHRoaXMuc3RhdGVQZXJzaXN0ZW5jZS5jb21wdXRlTW9kZSh0aGlzLnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghdGhpcy5pc1BhZ2VMb2FkQ2FsbCAmJiBtb2RlICYmIG1vZGUudG9Mb3dlckNhc2UoKSAhPT0gJ25vbmUnKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlUGVyc2lzdGVuY2Uuc2V0V2lkZ2V0U3RhdGUodGhpcywgdGhpcy5hY3RpdmVUYWIubmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRwYW5laW5kZXggPSB0aGlzLmdldFBhbmVJbmRleEJ5UmVmKHBhbmVSZWYpO1xuICAgICAgICAgICAgdGhpcy5pc1BhZ2VMb2FkQ2FsbCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52b2tlIHNlbGVjdCBjYWxsYmFjayBvbiB0aGUgc2VsZWN0ZWQgdGFiXG4gICAgICAgIHBhbmVSZWYuaW52b2tlT25TZWxlY3RDYWxsYmFjayhldnQpO1xuXG4gICAgICAgIC8vIGludm9rZSBjaGFuZ2UgY2FsbGJhY2sgaWYgdGhlIGV2dCBpcyBwcmVzZW50LCBzZWxlY3QgYSB0YWIgcHJvZ3JhbW1hdGljYWxseSB3aWxsIG5vdCBoYXZlIHRoZSBldmVudFxuICAgICAgICBpZiAoZXZ0KSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2NoYW5nZScsIHtcbiAgICAgICAgICAgICAgICAkZXZlbnQ6IGV2dCxcbiAgICAgICAgICAgICAgICBuZXdQYW5lSW5kZXg6IG5ld1BhbmVJbmRleCxcbiAgICAgICAgICAgICAgICBvbGRQYW5lSW5kZXg6IHRoaXMuX29sZFBhbmVJbmRleCB8fCAwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vbGRQYW5lSW5kZXggPSBuZXdQYW5lSW5kZXg7XG5cbiAgICAgICAgaWYgKGV2dCkge1xuICAgICAgICAgICAgaGVhZGVyRWxlbWVudCA9ICQoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnbGkudGFiLWhlYWRlcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZXZ0IHx8ICFoZWFkZXJFbGVtZW50IHx8ICFoZWFkZXJFbGVtZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgaGVhZGVyRWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXBhbmVpZD0ke3BhbmVSZWYud2lkZ2V0SWR9XWApO1xuICAgICAgICAgICAgY29uc3QgaW5zaWRlVGFicyA9ICEhJChoZWFkZXJFbGVtZW50KS5jbG9zZXN0KCcuYXBwLXRhYnMnKVxuICAgICAgICAgICAgICAgIC5wYXJlbnQoKS5jbG9zZXN0KCcuYXBwLXRhYnMnKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAoIWluc2lkZVRhYnMpIHtcbiAgICAgICAgICAgICAgICAkKGhlYWRlckVsZW1lbnQpLmNoaWxkcmVuKCkuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFuaW1hdGVJbihoZWFkZXJFbGVtZW50KTtcblxuICAgICAgICAvLyB0aGlzLnNldFRhYnNMZWZ0UG9zaXRpb24odGhpcy5nZXRQYW5lSW5kZXhCeVJlZih0aGlzLmFjdGl2ZVRhYiksIHRoaXMucGFuZXMubGVuZ3RoKTtcbiAgICAgICAgaWYgKHRoaXMuY2FuU2xpZGUoKSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRhYnNBbmltYXRvcikge1xuICAgICAgICAgICAgICAgIHRoaXMudGFic0FuaW1hdG9yID0gbmV3IFRhYnNBbmltYXRvcih0aGlzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYnNBbmltYXRvci5zZXRHZXN0dXJlc0VuYWJsZWQodGhpcy5jYW5TbGlkZSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudGFic0FuaW1hdG9yLnRyYW5zaXRpb25UYWJJbnRvVmlldygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdvVG9UYWIodGFiSW5kZXgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZFBhbmVJbmRleCh0YWJJbmRleCAtIDEpKSB7XG4gICAgICAgICAgICBjb25zdCB0YWIgPSB0aGlzLmdldFBhbmVSZWZCeUluZGV4KHRhYkluZGV4IC0gMSk7XG4gICAgICAgICAgICB0YWIuc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBhbmVJbmRleEJ5UmVmKHBhbmVSZWY6IFRhYlBhbmVDb21wb25lbnQpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wYW5lcy50b0FycmF5KCkuaW5kZXhPZihwYW5lUmVmKTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRoZSBhY3RpdmUgdGFiIGluZGV4IGZyb20gdGFicy5cbiAgICBwdWJsaWMgZ2V0QWN0aXZlVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIF8uZmluZEluZGV4KHRoaXMucGFuZXMudG9BcnJheSgpLCB7aXNBY3RpdmU6IHRydWV9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWRQYW5lSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnBhbmVzLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQYW5lUmVmQnlJbmRleChpbmRleDogbnVtYmVyKTogVGFiUGFuZUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhbmVzLnRvQXJyYXkoKVtpbmRleF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQYW5lUmVmQnlOYW1lKG5hbWU6IHN0cmluZyk6IFRhYlBhbmVDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gXy5maW5kKHRoaXMucGFuZXMudG9BcnJheSgpLCB7bmFtZTogbmFtZX0pO1xuICAgIH1cblxuICAgIC8vIHJldHVybnMgZmFsc2UgaWYgdGhlIHBhbmUgaXMgaGlkZGVuIG9yIGRpc2FibGVkXG4gICAgcHJpdmF0ZSBpc1NlbGVjdGFibGVUYWIocGFuZVJlZjogVGFiUGFuZUNvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcGFuZVJlZi5zaG93ICYmICFwYW5lUmVmLmRpc2FibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FuU2xpZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zaXRpb24gPT09ICdzbGlkZScgJiYgIXRoaXMudmVydGljYWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RhYmxlVGFiQWZ0ZXJJbmRleChpbmRleDogbnVtYmVyKTogVGFiUGFuZUNvbXBvbmVudCB7XG4gICAgICAgIGZvciAobGV0IGkgPSBpbmRleCArIDE7IGkgPCB0aGlzLnBhbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBwYW5lID0gdGhpcy5nZXRQYW5lUmVmQnlJbmRleChpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2VsZWN0YWJsZVRhYihwYW5lKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5wYW5lcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICBjb25zdCBwYW5lID0gdGhpcy5nZXRQYW5lUmVmQnlJbmRleCgwKTtcbiAgICAgICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGFibGVUYWIocGFuZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFuZTtcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGFibGVUYWJCZWZvcmVJbmRleChpbmRleDogbnVtYmVyKTogVGFiUGFuZUNvbXBvbmVudCB7XG4gICAgICAgIGZvciAobGV0IGkgPSBpbmRleCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBwYW5lID0gdGhpcy5nZXRQYW5lUmVmQnlJbmRleChpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2VsZWN0YWJsZVRhYihwYW5lKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgcGFuZSA9IHRoaXMuZ2V0UGFuZVJlZkJ5SW5kZXgodGhpcy5wYW5lcy5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2VsZWN0YWJsZVRhYihwYW5lKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2VsZWN0IG5leHQgdGFiIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGFjdGl2ZSB0YWJcbiAgICBwdWJsaWMgbmV4dCgkZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICBjb25zdCBwYW5lID0gdGhpcy5nZXRTZWxlY3RhYmxlVGFiQWZ0ZXJJbmRleCh0aGlzLmdldEFjdGl2ZVRhYkluZGV4KCkpO1xuICAgICAgICBpZiAocGFuZSkge1xuICAgICAgICAgICAgcGFuZS5zZWxlY3QoJGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNlbGVjdCBwcmV2IHRhYiByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBhY3RpdmUgdGFiXG4gICAgcHVibGljIHByZXYoJGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFuZSA9IHRoaXMuZ2V0U2VsZWN0YWJsZVRhYkJlZm9yZUluZGV4KHRoaXMuZ2V0QWN0aXZlVGFiSW5kZXgoKSk7XG4gICAgICAgIGlmIChwYW5lKSB7XG4gICAgICAgICAgICBwYW5lLnNlbGVjdCgkZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhpcyBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvbXBvbmVudCBhbmQgb24gZGVmYXVsdHBhbmVpbmRleCBwcm9wZXJ0eSBjaGFuZ2UsXG4gICAgICogaWYgdGhlIHByb3ZpZGVkIGRlZmF1bHRwYW5laW5kZXggaXMgbm90IHZhbGlkLCBmaW5kIHRoZSBmaXJzdCBwYW5lIGluZGV4IHdoaWNoIGNhbiBiZSBzaG93biBhbmQgc2VsZWN0IGl0XG4gICAgICovXG4gICAgcHJpdmF0ZSBzZWxlY3REZWZhdWx0UGFuZUJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZFBhbmVJbmRleChpbmRleCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwYW5lUmVmID0gdGhpcy5nZXRQYW5lUmVmQnlJbmRleChpbmRleCk7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGFibGVUYWIocGFuZVJlZikpIHtcbiAgICAgICAgICAgIHBhbmVSZWYgPSB0aGlzLmdldFNlbGVjdGFibGVUYWJBZnRlckluZGV4KDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYW5lUmVmKSB7XG4gICAgICAgICAgICBwYW5lUmVmLnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gdXBkYXRlIHRoZSBwb3N0aW9uIG9mIHRhYiBoZWFkZXJcbiAgICBwcml2YXRlIHNldFRhYnNQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgdWwgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF07XG5cbiAgICAgICAgdGhpcy52ZXJ0aWNhbCA9ICh0aGlzLnRhYnNwb3NpdGlvbiA9PT0gJ2xlZnQnIHx8IHRoaXMudGFic3Bvc2l0aW9uID09PSAncmlnaHQnKTtcblxuICAgICAgICByZW1vdmVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdpbnZlcnRlZCcpO1xuICAgICAgICBpZiAodGhpcy50YWJzcG9zaXRpb24gPT09ICdib3R0b20nIHx8IHRoaXMudGFic3Bvc2l0aW9uID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBhcHBlbmROb2RlKHVsIGFzIEhUTUxFbGVtZW50LCB0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnaW52ZXJ0ZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25EYXRhQ2hhbmdlKG5ld1ZhbCkge1xuICAgICAgICB0aGlzLmZpZWxkRGVmcyA9IGNyZWF0ZUFycmF5RnJvbShuZXdWYWwpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VsZWN0RGVmYXVsdFBhbmVCeUluZGV4KHRoaXMuZGVmYXVsdHBhbmVpbmRleCB8fCAwKSk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3YpIHtcblxuICAgICAgICBpZiAoa2V5ID09PSAnZGVmYXVsdHBhbmVpbmRleCcpIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdHBhbmVpbmRleCA9IG52O1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2RhdGFzZXQnKSB7XG4gICAgICAgICAgICB0aGlzLm9uRGF0YUNoYW5nZShudik7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnc3RhdGVoYW5kbGVyJykge1xuICAgICAgICAgICAgdGhpcy5pc1BhZ2VMb2FkQ2FsbCA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRTdGF0ZSA9IHRoaXMuc3RhdGVQZXJzaXN0ZW5jZS5nZXRXaWRnZXRTdGF0ZSh0aGlzKTtcbiAgICAgICAgICAgIGlmIChudiAhPT0gJ25vbmUnICYmIHdpZGdldFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZVRvU2VsZWN0OiBhbnkgPSB0aGlzLnBhbmVzLmZpbHRlcihmdW5jdGlvbihwYW5lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3aWRnZXRTdGF0ZSA9PT0gcGFuZS5uYW1lO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmICghcGFuZVRvU2VsZWN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1RhYiBwYW5lIG5hbWUgJyArIHdpZGdldFN0YXRlICsgJyBpbiBTdGF0ZSBpcyBpbmNvcnJlY3QuIEZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVsdCBwYW5lJyk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWxlY3REZWZhdWx0UGFuZUJ5SW5kZXgodGhpcy5kZWZhdWx0cGFuZWluZGV4IHx8IDApLCAyMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFBhbmVJbmRleEJ5UmVmKHBhbmVUb1NlbGVjdFswXSk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWxlY3REZWZhdWx0UGFuZUJ5SW5kZXgoaW5kZXgpLCAyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VsZWN0RGVmYXVsdFBhbmVCeUluZGV4KHRoaXMuZGVmYXVsdHBhbmVpbmRleCB8fCAwKSwgMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlclRhYnNTY3JvbGwoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgJHVsID0gdGhpcy4kZWxlbWVudC5maW5kKCc+IHVsJyk7XG4gICAgICAgICAgICBsZXQgJGxpUG9zaXRpb247XG5cbiAgICAgICAgICAgIGNvbnN0ICAkbGkgPSAkdWwuY2hpbGRyZW4oKTtcbiAgICAgICAgICAgICRsaVBvc2l0aW9uID0gJGxpLmxhc3QoKS5wb3NpdGlvbigpO1xuICAgICAgICAgICAgaWYgKCRsaVBvc2l0aW9uICYmICgkbGlQb3NpdGlvbi5sZWZ0ID4gJHVsLndpZHRoKCkpKSB7XG4gICAgICAgICAgICAgICAgJHVsLm9uKCdtb3VzZXdoZWVsJywgKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdCA9ICR1bFswXS5zY3JvbGxMZWZ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgX2RlbHRhID0gLTEgKiBlLm9yaWdpbmFsRXZlbnQud2hlZWxEZWx0YTtcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAkdWwuYW5pbWF0ZSh7c2Nyb2xsTGVmdDogbGVmdCArIF9kZWx0YX0sIHsnZHVyYXRpb24nOiAxMH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgb25rZXlkb3duKGV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnByb21pc2VSZXNvbHZlckZuKCk7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuICAgICAgICB0aGlzLnNldFRhYnNQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLnBhbmVzLmNoYW5nZXMuc3Vic2NyaWJlKCBzbGlkZXMgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFuZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3REZWZhdWx0UGFuZUJ5SW5kZXgodGhpcy5kZWZhdWx0cGFuZWluZGV4IHx8IDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyVGFic1Njcm9sbCgpO1xuICAgIH1cbn1cbiIsIjx1bCBjbGFzcz1cIm5hdiBuYXYtdGFic1wiIFtuZ0NsYXNzXT1cInsnbmF2LXN0YWNrZWQnOiB2ZXJ0aWNhbCwgJ25hdi1qdXN0aWZpZWQnOiBqdXN0aWZpZWR9XCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICA8bGkgY2xhc3M9XCJ0YWItaGVhZGVyXCIgKm5nRm9yPVwibGV0IHBhbmUgb2YgcGFuZXM7IGxldCBpPWluZGV4O1wiIFthdHRyLmRhdGEtcGFuZWlkXT1cInBhbmUud2lkZ2V0SWRcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHBhbmUuaXNBY3RpdmUsICdkaXNhYmxlZCc6IHBhbmUuZGlzYWJsZWR9XCJcbiAgICAgICAgW2hpZGRlbl09XCIhcGFuZS5zaG93XCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8YSBjbGFzcz1cInRhYi1oZWFkaW5nXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInBhbmUudGl0bGVcIiBbYXR0ci50aXRsZV09XCJwYW5lLnRpdGxlXCIgW3RhYmluZGV4XT1cInBhbmUuaXNBY3RpdmUgPyAnMCcgOiAnLTEnXCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJwYW5lLmlzQWN0aXZlXCIgcm9sZT1cInRhYlwiIChjbGljayk9XCJwYW5lLnNlbGVjdCgkZXZlbnQpOyBwYW5lLnRhYnBhbmVIZWFkZXJDbGljaygkZXZlbnQsIGkpO1wiIChrZXlkb3duKT1cIm9ua2V5ZG93bigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiWydhcHAtaWNvbicsIHBhbmUucGFuZWljb25dXCIgKm5nSWY9XCJwYW5lLnBhbmVpY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJwYW5lLnRpdGxlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicGFuZS5iYWRnZXZhbHVlXCIgY2xhc3M9XCJsYWJlbCBsYWJlbC17e3BhbmUuYmFkZ2V0eXBlfX1cIiBbdGV4dENvbnRlbnRdPVwicGFuZS5iYWRnZXZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbjwvdWw+XG48ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIiAqbmdJZj1cInR5cGUgIT09ICdkeW5hbWljJ1wiIFtuZ0NsYXNzXT1cInsndGFiLXN0YWNrZWQnOiB2ZXJ0aWNhbCwgJ3RhYi1qdXN0aWZpZWQnOiBqdXN0aWZpZWR9XCI+XG4gICAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJkaXZbd21UYWJQYW5lXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCIgKm5nSWY9XCJ0eXBlID09PSAnZHluYW1pYydcIiBbbmdDbGFzc109XCJ7J3RhYi1zdGFja2VkJzogdmVydGljYWwsICd0YWItanVzdGlmaWVkJzoganVzdGlmaWVkfVwiPlxuICAgIDxkaXYgKm5nSWY9XCJmaWVsZERlZnMgJiYgIWZpZWxkRGVmcy5sZW5ndGhcIj57e25vZGF0YW1lc3NhZ2V9fTwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRpdlt3bVJlcGVhdFRlbXBsYXRlXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Attribute,
|
|
3
|
-
import * as i2 from '@angular/common';
|
|
2
|
+
import { Component, Attribute, HostBinding, ContentChildren, NgModule } from '@angular/core';
|
|
3
|
+
import * as i2$1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i2 from '@wm/components/base';
|
|
6
6
|
import { PROP_STRING, PROP_ANY, PROP_NUMBER, PROP_BOOLEAN, register, StylableComponent, styler, APPLY_STYLES_TYPE, RedrawableDirective, provideAsWidgetRef, createArrayFrom, WmComponentsModule } from '@wm/components/base';
|
|
7
7
|
import * as i1 from '@wm/core';
|
|
8
8
|
import { setCSSFromObj, addClass, setCSS, $appDigest, isMobileApp, noop, removeAttr, removeClass, appendNode } from '@wm/core';
|
|
@@ -137,12 +137,11 @@ const WIDGET_CONFIG$1 = {
|
|
|
137
137
|
hostClass: DEFAULT_CLS$1
|
|
138
138
|
};
|
|
139
139
|
class TabPaneComponent extends StylableComponent {
|
|
140
|
-
constructor(inj, tabsRef, heading, title
|
|
141
|
-
super(inj, WIDGET_CONFIG$1
|
|
140
|
+
constructor(inj, tabsRef, heading, title) {
|
|
141
|
+
super(inj, WIDGET_CONFIG$1);
|
|
142
142
|
this.tabsRef = tabsRef;
|
|
143
143
|
this.heading = heading;
|
|
144
144
|
this.title = title;
|
|
145
|
-
this._viewParent = _viewParent;
|
|
146
145
|
this._isFirstLoad = true;
|
|
147
146
|
this.$lazyLoad = noop;
|
|
148
147
|
this.isActive = false;
|
|
@@ -248,7 +247,7 @@ class TabPaneComponent extends StylableComponent {
|
|
|
248
247
|
}
|
|
249
248
|
}
|
|
250
249
|
TabPaneComponent.initializeProps = registerProps();
|
|
251
|
-
TabPaneComponent.ɵfac = function TabPaneComponent_Factory(t) { return new (t || TabPaneComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(TabsComponent), i0.ɵɵinjectAttribute('heading'), i0.ɵɵinjectAttribute('title')
|
|
250
|
+
TabPaneComponent.ɵfac = function TabPaneComponent_Factory(t) { return new (t || TabPaneComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(TabsComponent), i0.ɵɵinjectAttribute('heading'), i0.ɵɵinjectAttribute('title')); };
|
|
252
251
|
TabPaneComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabPaneComponent, selectors: [["div", "wmTabPane", ""]], contentQueries: function TabPaneComponent_ContentQueries(rf, ctx, dirIndex) {
|
|
253
252
|
if (rf & 1) {
|
|
254
253
|
i0.ɵɵcontentQuery(dirIndex, RedrawableDirective, 5);
|
|
@@ -273,7 +272,7 @@ TabPaneComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabPaneCom
|
|
|
273
272
|
if (rf & 2) {
|
|
274
273
|
i0.ɵɵproperty("wmSmoothscroll", ctx.smoothscroll);
|
|
275
274
|
}
|
|
276
|
-
}, dependencies: [
|
|
275
|
+
}, dependencies: [i2.SmoothScrollDirective], encapsulation: 2 });
|
|
277
276
|
(function () {
|
|
278
277
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabPaneComponent, [{
|
|
279
278
|
type: Component,
|
|
@@ -287,8 +286,6 @@ TabPaneComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabPaneCom
|
|
|
287
286
|
}] }, { type: undefined, decorators: [{
|
|
288
287
|
type: Attribute,
|
|
289
288
|
args: ['title']
|
|
290
|
-
}] }, { type: i1.UserDefinedExecutionContext, decorators: [{
|
|
291
|
-
type: Optional
|
|
292
289
|
}] }];
|
|
293
290
|
}, { isActive: [{
|
|
294
291
|
type: HostBinding,
|
|
@@ -396,11 +393,10 @@ const WIDGET_CONFIG = {
|
|
|
396
393
|
hostClass: DEFAULT_CLS
|
|
397
394
|
};
|
|
398
395
|
class TabsComponent extends StylableComponent {
|
|
399
|
-
constructor(inj, dynamicComponentProvider, _transition, _tabsPosition, statePersistence
|
|
396
|
+
constructor(inj, dynamicComponentProvider, _transition, _tabsPosition, statePersistence) {
|
|
400
397
|
// handle to the promise resolver
|
|
401
398
|
let resolveFn = noop;
|
|
402
|
-
super(inj, WIDGET_CONFIG,
|
|
403
|
-
this._viewParent = _viewParent;
|
|
399
|
+
super(inj, WIDGET_CONFIG, new Promise(res => resolveFn = res));
|
|
404
400
|
this.transition = _transition;
|
|
405
401
|
this.tabsposition = _tabsPosition;
|
|
406
402
|
this.statePersistence = statePersistence;
|
|
@@ -735,7 +731,7 @@ class TabsComponent extends StylableComponent {
|
|
|
735
731
|
}
|
|
736
732
|
}
|
|
737
733
|
TabsComponent.initializeProps = registerProps$1();
|
|
738
|
-
TabsComponent.ɵfac = function TabsComponent_Factory(t) { return new (t || TabsComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.DynamicComponentRefProvider), i0.ɵɵinjectAttribute('transition'), i0.ɵɵinjectAttribute('tabsposition'), i0.ɵɵdirectiveInject(i1.StatePersistence)
|
|
734
|
+
TabsComponent.ɵfac = function TabsComponent_Factory(t) { return new (t || TabsComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.DynamicComponentRefProvider), i0.ɵɵinjectAttribute('transition'), i0.ɵɵinjectAttribute('tabsposition'), i0.ɵɵdirectiveInject(i1.StatePersistence)); };
|
|
739
735
|
TabsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabsComponent, selectors: [["div", "wmTabs", ""]], contentQueries: function TabsComponent_ContentQueries(rf, ctx, dirIndex) {
|
|
740
736
|
if (rf & 1) {
|
|
741
737
|
i0.ɵɵcontentQuery(dirIndex, TabPaneComponent, 4);
|
|
@@ -764,7 +760,7 @@ TabsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabsComponent
|
|
|
764
760
|
i0.ɵɵadvance(1);
|
|
765
761
|
i0.ɵɵproperty("ngIf", ctx.type === "dynamic");
|
|
766
762
|
}
|
|
767
|
-
}, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf,
|
|
763
|
+
}, dependencies: [i2$1.NgClass, i2$1.NgForOf, i2$1.NgIf, i2.TextContentDirective], encapsulation: 2 });
|
|
768
764
|
(function () {
|
|
769
765
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabsComponent, [{
|
|
770
766
|
type: Component,
|
|
@@ -778,9 +774,7 @@ TabsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabsComponent
|
|
|
778
774
|
}] }, { type: undefined, decorators: [{
|
|
779
775
|
type: Attribute,
|
|
780
776
|
args: ['tabsposition']
|
|
781
|
-
}] }, { type: i1.StatePersistence }
|
|
782
|
-
type: Optional
|
|
783
|
-
}] }];
|
|
777
|
+
}] }, { type: i1.StatePersistence }];
|
|
784
778
|
}, { panes: [{
|
|
785
779
|
type: ContentChildren,
|
|
786
780
|
args: [TabPaneComponent]
|