@igo2/common 1.8.1 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/igo2-common.umd.js +10700 -10473
- package/bundles/igo2-common.umd.js.map +1 -1
- package/esm2015/igo2-common.js +5 -5
- package/esm2015/lib/action/action.module.js +29 -28
- package/esm2015/lib/action/actionbar/actionbar-item.component.js +257 -257
- package/esm2015/lib/action/actionbar/actionbar.component.js +385 -387
- package/esm2015/lib/action/actionbar/actionbar.module.js +59 -58
- package/esm2015/lib/action/index.js +3 -3
- package/esm2015/lib/action/shared/action.enums.js +7 -7
- package/esm2015/lib/action/shared/action.interfaces.js +2 -1
- package/esm2015/lib/action/shared/index.js +4 -4
- package/esm2015/lib/action/shared/store.js +8 -8
- package/esm2015/lib/backdrop/backdrop.component.js +30 -30
- package/esm2015/lib/backdrop/backdrop.module.js +25 -24
- package/esm2015/lib/backdrop/index.js +2 -2
- package/esm2015/lib/badge-icon/badge-icon.directive.js +125 -121
- package/esm2015/lib/badge-icon/badge-icon.module.js +26 -25
- package/esm2015/lib/badge-icon/index.js +2 -2
- package/esm2015/lib/clickout/clickout.directive.js +32 -32
- package/esm2015/lib/clickout/clickout.module.js +24 -23
- package/esm2015/lib/clickout/index.js +2 -2
- package/esm2015/lib/clone/clone.module.js +24 -23
- package/esm2015/lib/clone/clone.pipe.js +24 -24
- package/esm2015/lib/clone/index.js +2 -2
- package/esm2015/lib/collapsible/collapse.directive.js +55 -55
- package/esm2015/lib/collapsible/collapsible.component.js +63 -63
- package/esm2015/lib/collapsible/collapsible.module.js +27 -26
- package/esm2015/lib/collapsible/index.js +3 -3
- package/esm2015/lib/confirm-dialog/confirm-dialog.component.js +50 -51
- package/esm2015/lib/confirm-dialog/confirm-dialog.module.js +29 -28
- package/esm2015/lib/confirm-dialog/confirm-dialog.service.js +22 -23
- package/esm2015/lib/confirm-dialog/index.js +3 -3
- package/esm2015/lib/context-menu/context-menu.directive.js +135 -89
- package/esm2015/lib/context-menu/context-menu.module.js +24 -23
- package/esm2015/lib/context-menu/index.js +2 -2
- package/esm2015/lib/custom-html/custom-html.component.js +32 -32
- package/esm2015/lib/custom-html/custom-html.module.js +49 -48
- package/esm2015/lib/custom-html/custom-html.pipe.js +18 -19
- package/esm2015/lib/custom-html/index.js +3 -3
- package/esm2015/lib/drag-drop/drag-drop.directive.js +88 -88
- package/esm2015/lib/drag-drop/drag-drop.module.js +24 -23
- package/esm2015/lib/drag-drop/index.js +2 -2
- package/esm2015/lib/dynamic-component/dynamic-component.module.js +33 -32
- package/esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.js +124 -125
- package/esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.js +30 -29
- package/esm2015/lib/dynamic-component/index.js +3 -3
- package/esm2015/lib/dynamic-component/shared/dynamic-component.interfaces.js +2 -1
- package/esm2015/lib/dynamic-component/shared/dynamic-component.js +174 -174
- package/esm2015/lib/dynamic-component/shared/dynamic-component.service.js +29 -29
- package/esm2015/lib/dynamic-component/shared/index.js +4 -4
- package/esm2015/lib/entity/entity-selector/entity-selector.component.js +201 -202
- package/esm2015/lib/entity/entity-selector/entity-selector.module.js +34 -33
- package/esm2015/lib/entity/entity-table/entity-table-row.directive.js +137 -137
- package/esm2015/lib/entity/entity-table/entity-table.component.js +912 -916
- package/esm2015/lib/entity/entity-table/entity-table.module.js +77 -76
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.component.js +138 -140
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.interface.js +2 -1
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.module.js +30 -29
- package/esm2015/lib/entity/entity.module.js +33 -32
- package/esm2015/lib/entity/index.js +6 -6
- package/esm2015/lib/entity/shared/entity.enums.js +27 -27
- package/esm2015/lib/entity/shared/entity.interfaces.js +2 -1
- package/esm2015/lib/entity/shared/entity.utils.js +67 -67
- package/esm2015/lib/entity/shared/index.js +10 -10
- package/esm2015/lib/entity/shared/state.js +191 -191
- package/esm2015/lib/entity/shared/store.js +288 -288
- package/esm2015/lib/entity/shared/strategies/filter-custom-function.js +79 -79
- package/esm2015/lib/entity/shared/strategies/filter-selection.js +84 -84
- package/esm2015/lib/entity/shared/strategies/index.js +4 -4
- package/esm2015/lib/entity/shared/strategies/strategy.js +75 -75
- package/esm2015/lib/entity/shared/transaction.js +316 -316
- package/esm2015/lib/entity/shared/view.js +315 -315
- package/esm2015/lib/entity/shared/watcher.js +120 -120
- package/esm2015/lib/flexible/flexible.component.js +158 -159
- package/esm2015/lib/flexible/flexible.module.js +24 -23
- package/esm2015/lib/flexible/flexible.type.js +2 -1
- package/esm2015/lib/flexible/index.js +3 -3
- package/esm2015/lib/form/form/form.component.js +125 -125
- package/esm2015/lib/form/form/form.module.js +42 -41
- package/esm2015/lib/form/form-field/form-field-select.component.js +132 -132
- package/esm2015/lib/form/form-field/form-field-text.component.js +108 -108
- package/esm2015/lib/form/form-field/form-field-textarea.component.js +110 -110
- package/esm2015/lib/form/form-field/form-field.component.js +77 -78
- package/esm2015/lib/form/form-field/form-field.module.js +76 -75
- package/esm2015/lib/form/form-field/index.js +5 -5
- package/esm2015/lib/form/form-group/form-group.component.js +110 -110
- package/esm2015/lib/form/form-group/form-group.module.js +42 -41
- package/esm2015/lib/form/form.module.js +51 -50
- package/esm2015/lib/form/index.js +5 -5
- package/esm2015/lib/form/shared/form-field-component.js +7 -7
- package/esm2015/lib/form/shared/form-field.service.js +29 -29
- package/esm2015/lib/form/shared/form.interfaces.js +2 -1
- package/esm2015/lib/form/shared/form.service.js +77 -77
- package/esm2015/lib/form/shared/form.utils.js +40 -40
- package/esm2015/lib/form/shared/index.js +6 -6
- package/esm2015/lib/home-button/home-button.component.js +35 -0
- package/esm2015/lib/home-button/home-button.module.js +43 -0
- package/esm2015/lib/home-button/index.js +2 -0
- package/esm2015/lib/image/image.module.js +24 -23
- package/esm2015/lib/image/index.js +2 -2
- package/esm2015/lib/image/secure-image.pipe.js +48 -51
- package/esm2015/lib/interactive-tour/index.js +5 -5
- package/esm2015/lib/interactive-tour/interactive-tour.component.js +140 -142
- package/esm2015/lib/interactive-tour/interactive-tour.interface.js +2 -1
- package/esm2015/lib/interactive-tour/interactive-tour.loader.js +44 -46
- package/esm2015/lib/interactive-tour/interactive-tour.module.js +42 -41
- package/esm2015/lib/interactive-tour/interactive-tour.service.js +285 -288
- package/esm2015/lib/json-dialog/index.js +3 -3
- package/esm2015/lib/json-dialog/json-dialog.component.js +116 -117
- package/esm2015/lib/json-dialog/json-dialog.module.js +29 -28
- package/esm2015/lib/json-dialog/json-dialog.service.js +24 -25
- package/esm2015/lib/keyvalue/index.js +2 -2
- package/esm2015/lib/keyvalue/keyvalue.module.js +24 -23
- package/esm2015/lib/keyvalue/keyvalue.pipe.js +18 -18
- package/esm2015/lib/list/index.js +3 -3
- package/esm2015/lib/list/list-item.directive.js +165 -165
- package/esm2015/lib/list/list.component.js +266 -266
- package/esm2015/lib/list/list.module.js +29 -28
- package/esm2015/lib/panel/index.js +2 -2
- package/esm2015/lib/panel/panel.component.js +67 -67
- package/esm2015/lib/panel/panel.module.js +19 -18
- package/esm2015/lib/sidenav/index.js +2 -2
- package/esm2015/lib/sidenav/sidenav-shim.directive.js +55 -56
- package/esm2015/lib/sidenav/sidenav.module.js +24 -23
- package/esm2015/lib/spinner/index.js +3 -3
- package/esm2015/lib/spinner/spinner-activity.directive.js +47 -49
- package/esm2015/lib/spinner/spinner.component.js +40 -40
- package/esm2015/lib/spinner/spinner.module.js +21 -20
- package/esm2015/lib/stop-propagation/index.js +3 -3
- package/esm2015/lib/stop-propagation/stop-drop-propagation.directive.js +22 -22
- package/esm2015/lib/stop-propagation/stop-propagation.directive.js +21 -21
- package/esm2015/lib/stop-propagation/stop-propagation.module.js +25 -24
- package/esm2015/lib/table/index.js +6 -6
- package/esm2015/lib/table/table-action-color.enum.js +7 -7
- package/esm2015/lib/table/table-database.js +28 -28
- package/esm2015/lib/table/table-datasource.js +61 -61
- package/esm2015/lib/table/table-model.interface.js +2 -1
- package/esm2015/lib/table/table.component.js +310 -311
- package/esm2015/lib/table/table.module.js +69 -68
- package/esm2015/lib/tool/index.js +3 -3
- package/esm2015/lib/tool/shared/index.js +6 -6
- package/esm2015/lib/tool/shared/tool-component.js +9 -9
- package/esm2015/lib/tool/shared/tool.interface.js +2 -1
- package/esm2015/lib/tool/shared/tool.service.js +43 -43
- package/esm2015/lib/tool/shared/toolbox.enums.js +7 -7
- package/esm2015/lib/tool/shared/toolbox.js +179 -179
- package/esm2015/lib/tool/tool.module.js +34 -33
- package/esm2015/lib/tool/toolbox/toolbox.animation.js +10 -10
- package/esm2015/lib/tool/toolbox/toolbox.component.js +261 -262
- package/esm2015/lib/tool/toolbox/toolbox.module.js +38 -37
- package/esm2015/lib/widget/index.js +3 -3
- package/esm2015/lib/widget/shared/index.js +4 -4
- package/esm2015/lib/widget/shared/widget.interfaces.js +2 -1
- package/esm2015/lib/widget/shared/widget.js +4 -4
- package/esm2015/lib/widget/shared/widget.service.js +20 -21
- package/esm2015/lib/widget/widget-outlet/widget-outlet.component.js +121 -122
- package/esm2015/lib/widget/widget-outlet/widget-outlet.module.js +34 -33
- package/esm2015/lib/widget/widget.module.js +34 -33
- package/esm2015/lib/workspace/index.js +4 -4
- package/esm2015/lib/workspace/shared/index.js +4 -4
- package/esm2015/lib/workspace/shared/store.js +40 -40
- package/esm2015/lib/workspace/shared/workspace.interfaces.js +2 -1
- package/esm2015/lib/workspace/shared/workspace.js +117 -117
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.component.js +54 -55
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +34 -33
- package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.js +93 -94
- package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.js +34 -33
- package/esm2015/lib/workspace/workspace.module.js +29 -28
- package/esm2015/public_api.js +72 -70
- package/fesm2015/igo2-common.js +9015 -8846
- package/fesm2015/igo2-common.js.map +1 -1
- package/igo2-common.d.ts +5 -5
- package/lib/action/action.module.d.ts +8 -7
- package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
- package/lib/action/actionbar/actionbar.component.d.ts +146 -146
- package/lib/action/actionbar/actionbar.module.d.ts +20 -19
- package/lib/action/index.d.ts +2 -2
- package/lib/action/shared/action.enums.d.ts +5 -5
- package/lib/action/shared/action.interfaces.d.ts +17 -17
- package/lib/action/shared/index.d.ts +3 -3
- package/lib/action/shared/store.d.ts +8 -8
- package/lib/backdrop/backdrop.component.d.ts +9 -9
- package/lib/backdrop/backdrop.module.d.ts +10 -9
- package/lib/backdrop/index.d.ts +1 -1
- package/lib/badge-icon/badge-icon.directive.d.ts +32 -27
- package/lib/badge-icon/badge-icon.module.d.ts +11 -10
- package/lib/badge-icon/index.d.ts +1 -1
- package/lib/clickout/clickout.directive.d.ts +10 -10
- package/lib/clickout/clickout.module.d.ts +9 -8
- package/lib/clickout/index.d.ts +1 -1
- package/lib/clone/clone.module.d.ts +9 -8
- package/lib/clone/clone.pipe.d.ts +7 -7
- package/lib/clone/index.d.ts +1 -1
- package/lib/collapsible/collapse.directive.d.ts +19 -19
- package/lib/collapsible/collapsible.component.d.ts +13 -13
- package/lib/collapsible/collapsible.module.d.ts +12 -11
- package/lib/collapsible/index.d.ts +2 -2
- package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
- package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -11
- package/lib/confirm-dialog/confirm-dialog.service.d.ts +10 -10
- package/lib/confirm-dialog/index.d.ts +2 -2
- package/lib/context-menu/context-menu.directive.d.ts +27 -21
- package/lib/context-menu/context-menu.module.d.ts +9 -8
- package/lib/context-menu/index.d.ts +1 -1
- package/lib/custom-html/custom-html.component.d.ts +9 -9
- package/lib/custom-html/custom-html.module.d.ts +16 -15
- package/lib/custom-html/custom-html.pipe.d.ts +10 -10
- package/lib/custom-html/index.d.ts +2 -2
- package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
- package/lib/drag-drop/drag-drop.module.d.ts +9 -8
- package/lib/drag-drop/index.d.ts +1 -1
- package/lib/dynamic-component/dynamic-component.module.d.ts +8 -7
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -10
- package/lib/dynamic-component/index.d.ts +2 -2
- package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
- package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
- package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
- package/lib/dynamic-component/shared/index.d.ts +3 -3
- package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
- package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -12
- package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
- package/lib/entity/entity-table/entity-table.component.d.ts +275 -275
- package/lib/entity/entity-table/entity-table.module.d.ts +23 -22
- package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
- package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
- package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -10
- package/lib/entity/entity.module.d.ts +10 -9
- package/lib/entity/index.d.ts +5 -5
- package/lib/entity/shared/entity.enums.d.ts +22 -22
- package/lib/entity/shared/entity.interfaces.d.ts +88 -88
- package/lib/entity/shared/entity.utils.d.ts +49 -49
- package/lib/entity/shared/index.d.ts +9 -9
- package/lib/entity/shared/state.d.ts +103 -103
- package/lib/entity/shared/store.d.ts +176 -176
- package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
- package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
- package/lib/entity/shared/strategies/index.d.ts +3 -3
- package/lib/entity/shared/strategies/strategy.d.ts +56 -56
- package/lib/entity/shared/transaction.d.ts +168 -168
- package/lib/entity/shared/view.d.ts +193 -193
- package/lib/entity/shared/watcher.d.ts +72 -72
- package/lib/flexible/flexible.component.d.ts +41 -41
- package/lib/flexible/flexible.module.d.ts +9 -8
- package/lib/flexible/flexible.type.d.ts +2 -2
- package/lib/flexible/index.d.ts +2 -2
- package/lib/form/form/form.component.d.ts +53 -53
- package/lib/form/form/form.module.d.ts +12 -11
- package/lib/form/form-field/form-field-select.component.d.ts +48 -48
- package/lib/form/form-field/form-field-text.component.d.ts +41 -41
- package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
- package/lib/form/form-field/form-field.component.d.ts +34 -34
- package/lib/form/form-field/form-field.module.d.ts +21 -20
- package/lib/form/form-field/index.d.ts +4 -4
- package/lib/form/form-group/form-group.component.d.ts +49 -49
- package/lib/form/form-group/form-group.module.d.ts +14 -13
- package/lib/form/form.module.d.ts +13 -12
- package/lib/form/index.d.ts +4 -4
- package/lib/form/shared/form-field-component.d.ts +1 -1
- package/lib/form/shared/form-field.service.d.ts +19 -19
- package/lib/form/shared/form.interfaces.d.ts +57 -57
- package/lib/form/shared/form.service.d.ts +15 -15
- package/lib/form/shared/form.utils.d.ts +11 -11
- package/lib/form/shared/index.d.ts +5 -5
- package/lib/home-button/home-button.component.d.ts +9 -0
- package/lib/home-button/home-button.module.d.ts +15 -0
- package/lib/home-button/index.d.ts +1 -0
- package/lib/image/image.module.d.ts +9 -8
- package/lib/image/index.d.ts +1 -1
- package/lib/image/secure-image.pipe.d.ts +11 -11
- package/lib/interactive-tour/index.d.ts +4 -4
- package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
- package/lib/interactive-tour/interactive-tour.interface.d.ts +32 -32
- package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
- package/lib/interactive-tour/interactive-tour.module.d.ts +12 -11
- package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
- package/lib/json-dialog/index.d.ts +2 -2
- package/lib/json-dialog/json-dialog.component.d.ts +13 -13
- package/lib/json-dialog/json-dialog.module.d.ts +13 -12
- package/lib/json-dialog/json-dialog.service.d.ts +10 -10
- package/lib/keyvalue/index.d.ts +1 -1
- package/lib/keyvalue/keyvalue.module.d.ts +9 -8
- package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
- package/lib/list/index.d.ts +2 -2
- package/lib/list/list-item.directive.d.ts +43 -43
- package/lib/list/list.component.d.ts +51 -51
- package/lib/list/list.module.d.ts +14 -13
- package/lib/panel/index.d.ts +1 -1
- package/lib/panel/panel.component.d.ts +11 -11
- package/lib/panel/panel.module.d.ts +8 -7
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
- package/lib/sidenav/sidenav.module.d.ts +9 -8
- package/lib/spinner/index.d.ts +2 -2
- package/lib/spinner/spinner-activity.directive.d.ts +32 -32
- package/lib/spinner/spinner.component.d.ts +12 -12
- package/lib/spinner/spinner.module.d.ts +10 -9
- package/lib/stop-propagation/index.d.ts +2 -2
- package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.module.d.ts +10 -9
- package/lib/table/index.d.ts +5 -5
- package/lib/table/table-action-color.enum.d.ts +5 -5
- package/lib/table/table-database.d.ts +10 -10
- package/lib/table/table-datasource.d.ts +17 -17
- package/lib/table/table-model.interface.d.ts +28 -28
- package/lib/table/table.component.d.ts +40 -40
- package/lib/table/table.module.d.ts +20 -19
- package/lib/tool/index.d.ts +2 -2
- package/lib/tool/shared/index.d.ts +5 -5
- package/lib/tool/shared/tool-component.d.ts +2 -2
- package/lib/tool/shared/tool.interface.d.ts +18 -18
- package/lib/tool/shared/tool.service.d.ts +30 -30
- package/lib/tool/shared/toolbox.d.ts +95 -95
- package/lib/tool/shared/toolbox.enums.d.ts +5 -5
- package/lib/tool/tool.module.d.ts +10 -9
- package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
- package/lib/tool/toolbox/toolbox.component.d.ts +127 -127
- package/lib/tool/toolbox/toolbox.module.d.ts +13 -12
- package/lib/widget/index.d.ts +2 -2
- package/lib/widget/shared/index.d.ts +3 -3
- package/lib/widget/shared/widget.d.ts +4 -4
- package/lib/widget/shared/widget.interfaces.d.ts +12 -12
- package/lib/widget/shared/widget.service.d.ts +10 -10
- package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
- package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -11
- package/lib/widget/widget.module.d.ts +8 -7
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/index.d.ts +3 -3
- package/lib/workspace/shared/store.d.ts +20 -20
- package/lib/workspace/shared/workspace.d.ts +108 -108
- package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
- package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +35 -35
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -11
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -11
- package/lib/workspace/workspace.module.d.ts +9 -8
- package/package.json +8 -7
- package/public_api.d.ts +68 -66
- package/style/common.theming.scss +12 -236
- package/style/partial/action.scss +18 -18
- package/style/partial/common.variables.scss +8 -8
- package/bundles/igo2-common.umd.min.js +0 -17
- package/bundles/igo2-common.umd.min.js.map +0 -1
|
@@ -1,387 +1,385 @@
|
|
|
1
|
-
import { Component, Input, HostBinding,
|
|
2
|
-
import {
|
|
3
|
-
import { EntityStoreWatcher } from '../../entity';
|
|
4
|
-
import { ActionbarMode } from '../shared/action.enums';
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
10
|
-
import * as
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
13
|
-
import * as
|
|
14
|
-
import * as
|
|
15
|
-
import * as
|
|
16
|
-
import * as
|
|
17
|
-
import * as
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
i0.ɵɵ
|
|
23
|
-
i0.ɵɵ
|
|
24
|
-
i0.ɵɵ
|
|
25
|
-
i0.ɵɵ
|
|
26
|
-
i0.ɵɵ
|
|
27
|
-
|
|
28
|
-
i0.ɵɵ
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
i0.ɵɵ
|
|
36
|
-
|
|
37
|
-
i0.ɵɵ
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const _r15 = i0.ɵɵ
|
|
44
|
-
i0.ɵɵ
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
i0.ɵɵ
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
i0.ɵɵ
|
|
62
|
-
i0.ɵɵ
|
|
63
|
-
i0.ɵɵ
|
|
64
|
-
i0.ɵɵ
|
|
65
|
-
i0.ɵɵ
|
|
66
|
-
|
|
67
|
-
i0.ɵɵ
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
i0.ɵɵ
|
|
74
|
-
i0.ɵɵtemplate(
|
|
75
|
-
i0.ɵɵtemplate(
|
|
76
|
-
i0.ɵɵ
|
|
77
|
-
|
|
78
|
-
i0.ɵɵ
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
i0.ɵɵadvance(1);
|
|
82
|
-
i0.ɵɵproperty("ngIf", ctx_r0.
|
|
83
|
-
i0.ɵɵadvance(1);
|
|
84
|
-
i0.ɵɵproperty("ngIf", ctx_r0.
|
|
85
|
-
i0.ɵɵadvance(1);
|
|
86
|
-
i0.ɵɵproperty("ngIf",
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const _r22 = i0.ɵɵ
|
|
92
|
-
i0.ɵɵ
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
i0.ɵɵ
|
|
102
|
-
i0.ɵɵ
|
|
103
|
-
i0.ɵɵ
|
|
104
|
-
i0.ɵɵ
|
|
105
|
-
i0.ɵɵ
|
|
106
|
-
i0.ɵɵ
|
|
107
|
-
i0.ɵɵ
|
|
108
|
-
i0.ɵɵ
|
|
109
|
-
i0.ɵɵ
|
|
110
|
-
i0.ɵɵelementEnd();
|
|
111
|
-
|
|
112
|
-
i0.ɵɵ
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
i0.ɵɵadvance(
|
|
117
|
-
i0.ɵɵproperty("
|
|
118
|
-
i0.ɵɵadvance(
|
|
119
|
-
i0.ɵɵ
|
|
120
|
-
i0.ɵɵ
|
|
121
|
-
i0.ɵɵ
|
|
122
|
-
i0.ɵɵproperty("
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const _r26 = i0.ɵɵ
|
|
128
|
-
i0.ɵɵ
|
|
129
|
-
i0.ɵɵ
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
i0.ɵɵ
|
|
139
|
-
i0.ɵɵ
|
|
140
|
-
i0.ɵɵ
|
|
141
|
-
i0.ɵɵ
|
|
142
|
-
|
|
143
|
-
i0.ɵɵ
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
this.
|
|
156
|
-
this.
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
i0.ɵɵ
|
|
330
|
-
|
|
331
|
-
i0.ɵɵtemplate(
|
|
332
|
-
|
|
333
|
-
i0.ɵɵ
|
|
334
|
-
|
|
335
|
-
i0.ɵɵproperty("ngIf", ctx.mode === ctx.actionbarMode.
|
|
336
|
-
i0.ɵɵadvance(1);
|
|
337
|
-
i0.ɵɵproperty("ngIf", ctx.mode === ctx.actionbarMode.
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
type: Input
|
|
351
|
-
}],
|
|
352
|
-
type: Input
|
|
353
|
-
}],
|
|
354
|
-
type: Input
|
|
355
|
-
}],
|
|
356
|
-
type: Input
|
|
357
|
-
}],
|
|
358
|
-
type: Input
|
|
359
|
-
}],
|
|
360
|
-
type: Input
|
|
361
|
-
}],
|
|
362
|
-
type: Input
|
|
363
|
-
}],
|
|
364
|
-
type: Input
|
|
365
|
-
}],
|
|
366
|
-
type: Input
|
|
367
|
-
}],
|
|
368
|
-
type: Input
|
|
369
|
-
}],
|
|
370
|
-
type: Input
|
|
371
|
-
}],
|
|
372
|
-
type: Input
|
|
373
|
-
}],
|
|
374
|
-
type: Input
|
|
375
|
-
}],
|
|
376
|
-
type:
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
args: ['class.horizontal']
|
|
386
|
-
}] }); })();
|
|
387
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvc3J2L2FwcHMvaWdvMi1saWIvcGFja2FnZXMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb24vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQudHMiLCJsaWIvYWN0aW9uL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNoQm5DLDhCQUVFO0lBQUEsaUNBTUU7SUFEQSxnTUFBb0I7O0lBQ3BCLDhCQUEwQztJQUM1QyxpQkFBUztJQUNYLGlCQUFNOztJQUpGLGVBQTBEO0lBQTFELGtGQUEwRDs7OztJQU05RCw2Q0FTcUI7SUFEbkIsa1FBQWlEO0lBQ25ELGlCQUFxQjs7O0lBTm5CLGlDQUFtQixrQkFBQSx1QkFBQSxxQ0FBQSx1Q0FBQTs7OztJQVNuQiw4Q0FTcUI7SUFEbkIsZ1JBQW1DO0lBQ3JDLGlCQUFxQjs7OztJQVBuQiw2Q0FBdUIsOEJBQUEsb0NBQUEsd0JBQUEsMERBQUEsc0JBQUE7OztJQUgzQiwrSEFDRTs7OztJQUQ4RCx3RUFBcUM7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SyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7b0ZBMU5VLGtCQUFrQjt1REFBbEIsa0JBQWtCOzs7UUM5Qi9CLDZFQUVJO1FBa0RKLG9FQUNFO1FBaUNGLDZFQUNFOztRQXZGUSwwREFBbUM7UUFvRHhDLGVBQXNDO1FBQXRDLDZEQUFzQztRQWtDakMsZUFBc0M7UUFBdEMsNkRBQXNDOztrRER4RG5DLGtCQUFrQjtjQU45QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFdBQVcsRUFBRSw0QkFBNEI7Z0JBQ3pDLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2dCQUN6QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs4SUFtRFUsS0FBSztrQkFBYixLQUFLO1lBS0csSUFBSTtrQkFBWixLQUFLO1lBS0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBS0csVUFBVTtrQkFBbEIsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUtHLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxTQUFTO2tCQUFqQixLQUFLO1lBS0csV0FBVztrQkFBbkIsS0FBSztZQUtHLFlBQVk7a0JBQXBCLEtBQUs7WUFLRyxRQUFRO2tCQUFoQixLQUFLO1lBS0csSUFBSTtrQkFBWixLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUtHLFNBQVM7a0JBQWpCLEtBQUs7WUFNRixZQUFZO2tCQURmLEtBQUs7WUFhRixjQUFjO2tCQURqQixXQUFXO21CQUFDLGtCQUFrQjtZQVMzQixhQUFhO2tCQURoQixXQUFXO21CQUFDLGlCQUFpQjtZQVMxQixlQUFlO2tCQURsQixXQUFXO21CQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEhvc3RCaW5kaW5nLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNZWRpYVNlcnZpY2UsIE1lZGlhIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZVdhdGNoZXIgfSBmcm9tICcuLi8uLi9lbnRpdHknO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vc2hhcmVkL2FjdGlvbi5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvbmJhck1vZGUgfSBmcm9tICcuLi9zaGFyZWQvYWN0aW9uLmVudW1zJztcbmltcG9ydCB7IEFjdGlvblN0b3JlIH0gZnJvbSAnLi4vc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBBIGxpc3Qgb2YgYWN0aW9uIGJ1dHRvbnMuXG4gKiBUaGlzIGNvbXBvbmVudCBjYW4gYmUgZGlzcGxheWVkIGluIG9uZSBvZiB0d28gd2F5OiAnZG9jaycgb3IgJ292ZXJsYXknXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1hY3Rpb25iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBBY3Rpb25iYXJNb2RlIGVudW0gZm9yIHVzZSBpbiB0aGUgdGVtcGxhdGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBhY3Rpb25iYXJNb2RlID0gQWN0aW9uYmFyTW9kZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYWN0aW9uYmFyIGlzIGNvbGxhcHNlZCAoRG9jayBtb2RlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgY29sbGFwc2UgYWN0aW9uIChEb2NrKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHRvZ2dsZUNvbGxhcHNlQWN0aW9uID0ge1xuICAgIGlkOiAnYWN0aW9uYmFyX3RvZ2dsZScsXG4gICAgaWNvbjogJ2RvdHMtdmVydGljYWwnLFxuICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogQWN0aW9uIHN0b3JlIHdhdGNoZXJcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxBY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBIZWlnaHQgQ29uZGl0aW9uIGZvciBzY3JvbGwgYnV0dG9uXG4gICAqL1xuICBoZWlnaHRDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogUG9zaXRpb24gQ29uZGl0aW9uIGZvciB0b3Agc2Nyb2xsIGJ1dHRvblxuICAgKi9cbiAgcG9zaXRpb25Db25kaXRpb25Ub3AkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBDb25kaXRpb24gZm9yIGxvdyBzY3JvbGwgYnV0dG9uXG4gICAqL1xuICBwb3NpdGlvbkNvbmRpdGlvbkxvdyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgLyoqXG4gICAqIEFjdGlvbiBzdG9yZVxuICAgKi9cbiAgQElucHV0KCkgc3RvcmU6IEFjdGlvblN0b3JlO1xuXG4gIC8qKlxuICAgKiBBY3Rpb25iYXIgbW9kZVxuICAgKi9cbiAgQElucHV0KCkgbW9kZTogQWN0aW9uYmFyTW9kZSA9IEFjdGlvbmJhck1vZGUuRG9jaztcblxuICAvKipcbiAgICogV2hldGhlciBhIHRvZ2dsZSBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZCAoRG9jayBtb2RlKVxuICAgKi9cbiAgQElucHV0KCkgd2l0aFRvZ2dsZUJ1dHRvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdGhlIGFjdGlvbmJhciBzaG91bGQgZGlzcGxheSBidXR0b25zIGhvcml6b250YWxseVxuICAgKi9cbiAgQElucHV0KCkgaG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb2xvclxuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24gaWYgYWN0aW9uIG1vZGUgPT09IG92ZXJsYXlcbiAgICovXG4gIEBJbnB1dCgpIGljb25Db2xvciA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gdGl0bGVzIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUaXRsZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWN0aW9uIHRvb2x0aXBzIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUb29sdGlwID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gdGl0bGVzIGFyZSBkaXNwbGF5ZWQgKGNvbmRpdGlvbiBmb3Igc2Nyb2xsIGJ1dHRvbilcbiAgICovXG4gIEBJbnB1dCgpIHNjcm9sbEFjdGl2ZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWN0aW9uIGljb25zIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhJY29uID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hpY2ggaWNvbiB3YW50IHRvIGJlIHNob3duXG4gICAqL1xuICBASW5wdXQoKSBpY29uID0gJ2RvdHMtaG9yaXpvbnRhbCc7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgWCBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgeFBvc2l0aW9uID0gJ2JlZm9yZSc7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgWSBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgeVBvc2l0aW9uID0gJ2Fib3ZlJztcblxuICAvKipcbiAgICogQ2xhc3MgdG8gYWRkIHRvIHRoZSBhY3Rpb25iYXIgb3ZlcmxheVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG92ZXJsYXlDbGFzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fb3ZlcmxheUNsYXNzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IG92ZXJsYXlDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5fb3ZlcmxheUNsYXNzLCAnaWdvLWFjdGlvbmJhci1vdmVybGF5J10uam9pbignICcpO1xuICB9XG4gIHByaXZhdGUgX292ZXJsYXlDbGFzcyA9ICcnO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGgtdGl0bGUnKVxuICBnZXQgd2l0aFRpdGxlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aFRpdGxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2l0aC1pY29uJylcbiAgZ2V0IHdpdGhJY29uQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aEljb247XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ob3Jpem9udGFsJylcbiAgZ2V0IGhvcml6b250YWxDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5ob3Jpem9udGFsO1xuICB9XG5cbiAgZ2V0IGhlaWdodENvbmRpdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAodGhpcy5zY3JvbGxBY3RpdmUgPT09IGZhbHNlKSB7XG4gICAgICBpZiAoZWwuY2xpZW50SGVpZ2h0IDwgZWwuc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgcG9zaXRpb25Db25kaXRpb25Ub3AoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgcG9zaXRpb25Db25kaXRpb25Mb3coKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsLnNjcm9sbFRvcCA+PSAoZWwuc2Nyb2xsSGVpZ2h0IC0gZWwuY2xpZW50SGVpZ2h0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldCBpc0Rlc2t0b3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTZXJ2aWNlLmdldE1lZGlhKCkgPT09IE1lZGlhLkRlc2t0b3A7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSkge31cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc3RvcmUgPSBjaGFuZ2VzLnN0b3JlO1xuICAgIGlmIChzdG9yZSAmJiBzdG9yZS5jdXJyZW50VmFsdWUgIT09IHN0b3JlLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLndhdGNoZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xuICAgICAgfVxuICAgICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZSB0aGUgYWN0aW9uIGhhbmRsZXJcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRyaWdnZXJBY3Rpb24oYWN0aW9uOiBBY3Rpb24pIHtcbiAgICBjb25zdCBhcmdzID0gYWN0aW9uLmFyZ3MgfHwgW107XG4gICAgYWN0aW9uLmhhbmRsZXIoLi4uYXJncyk7XG4gIH1cblxuICBzY3JvbGxEb3duKCkge1xuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxCeSgwLCA1Mik7XG4gIH1cblxuICBzY3JvbGxVcCgpIHtcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoMCwgLTUyKTtcbiAgfVxuXG59XG4iLCI8bWF0LWxpc3QgKm5nSWY9XCJtb2RlID09PSBhY3Rpb25iYXJNb2RlLkRvY2tcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJoZWlnaHRDb25kaXRpb24gJiYgcG9zaXRpb25Db25kaXRpb25Ub3AgJiYgaXNEZXNrdG9wXCJcbiAgICAgIGlkPVwidG9wQ2hldnJvblwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29tbW9uLmFjdGlvbmJhci5zY3JvbGxVcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwic2Nyb2xsVXAoKVwiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNoZXZyb24tdXBcIj48L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgICAqbmdJZj1cIndpdGhUb2dnbGVCdXR0b25cIlxuICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgW3dpdGhUaXRsZV09XCJmYWxzZVwiXG4gICAgICBbd2l0aEljb25dPVwidHJ1ZVwiXG4gICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgW2Rpc2FibGVkXT1cInN0b3JlLnZpZXcuZW1wdHlcIlxuICAgICAgW2FjdGlvbl09XCJ0b2dnbGVDb2xsYXBzZUFjdGlvblwiXG4gICAgICAodHJpZ2dlcik9XCJvblRyaWdnZXJBY3Rpb24odG9nZ2xlQ29sbGFwc2VBY3Rpb24pXCI+XG4gICAgPC9pZ28tYWN0aW9uYmFyLWl0ZW0+XG5cbiAgICA8bmctdGVtcGxhdGUgI2J1dHRvbkNvbnRlbnQgKm5nSWY9XCIhY29sbGFwc2VkXCIgbmdGb3IgbGV0LWFjdGlvbiBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgW3dpdGhUaXRsZV09XCJ3aXRoVGl0bGVcIlxuICAgICAgICBbd2l0aEljb25dPVwid2l0aEljb25cIlxuICAgICAgICBbd2l0aFRvb2x0aXBdPVwid2l0aFRvb2x0aXBcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbZGlzYWJsZWRdPVwic3RvcmUuc3RhdGUuZ2V0KGFjdGlvbikuZGlzYWJsZWRcIlxuICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICh0cmlnZ2VyKT1cIm9uVHJpZ2dlckFjdGlvbihhY3Rpb24pXCI+XG4gICAgICA8L2lnby1hY3Rpb25iYXItaXRlbT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPGRpdiAqbmdJZj1cImhlaWdodENvbmRpdGlvbiAmJiBwb3NpdGlvbkNvbmRpdGlvbkxvdyAmJiBpc0Rlc2t0b3BcIlxuICAgICAgaWQ9XCJsb3dDaGV2cm9uXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5jb21tb24uYWN0aW9uYmFyLnNjcm9sbERvd24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgKGNsaWNrKT1cInNjcm9sbERvd24oKVwiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNoZXZyb24tZG93blwiPjwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuPC9tYXQtbGlzdD5cblxuPGRpdiAqbmdJZj1cIm1vZGUgPT09IGFjdGlvbmJhck1vZGUuT3ZlcmxheVwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uT3ZlcmxheVwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbW1vbi5hY3Rpb25iYXIuaWNvbicgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25iYXJNZW51XCJcbiAgICBbZGlzYWJsZWRdPVwic3RvcmUudmlldy5lbXB0eVwiXG4gICAgW2NvbG9yXT1cImljb25Db2xvclwiPlxuICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpY29uXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1tZW51XG4gICAgI2FjdGlvbmJhck1lbnU9XCJtYXRNZW51XCJcbiAgICBjbGFzcz1cImlnby1jb21wYWN0LW1lbnUgaWdvLW5vLW1pbi13aWR0aC1tZW51XCJcbiAgICBvdmVybGFwVHJpZ2dlcj1cInRydWVcIlxuICAgIFt4UG9zaXRpb25dPVwieFBvc2l0aW9uXCJcbiAgICBbeVBvc2l0aW9uXT1cInlQb3NpdGlvblwiXG4gICAgW2NsYXNzXT1cIm92ZXJsYXlDbGFzc1wiPlxuXG4gICAgPG1hdC1saXN0PlxuICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1hY3Rpb24gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgICAgICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIFt3aXRoVGl0bGVdPVwid2l0aFRpdGxlXCJcbiAgICAgICAgICBbd2l0aEljb25dPVwid2l0aEljb25cIlxuICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICh0cmlnZ2VyKT1cIm9uVHJpZ2dlckFjdGlvbihhY3Rpb24pXCI+XG4gICAgICAgIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1saXN0PlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG48bWF0LWNhcmQgKm5nSWY9XCJtb2RlID09PSBhY3Rpb25iYXJNb2RlLkNvbnRleHRcIiBjbGFzcz1cImNvbnRleHQtbWVudS1jYXJkIG1hdC1lbGV2YXRpb24tejRcIj5cbiAgPG1hdC1saXN0PlxuICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1hY3Rpb24gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgICAgICAgIDxpZ28tYWN0aW9uYmFyLWl0ZW1cbiAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgIFt3aXRoVGl0bGVdPVwid2l0aFRpdGxlXCJcbiAgICAgICAgICAgIFt3aXRoSWNvbl09XCJ3aXRoSWNvblwiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgKHRyaWdnZXIpPVwib25UcmlnZ2VyQWN0aW9uKGFjdGlvbilcIj5cbiAgICAgICAgICA8L2lnby1hY3Rpb25iYXItaXRlbT5cbiAgICAgICAgPGJyLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LWxpc3Q+XG48L21hdC1jYXJkPlxuIl19
|
|
1
|
+
import { Component, Input, HostBinding, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { Media } from '@igo2/core';
|
|
3
|
+
import { EntityStoreWatcher } from '../../entity';
|
|
4
|
+
import { ActionbarMode } from '../shared/action.enums';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
8
|
+
import * as i2 from "@igo2/core";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "@angular/material/list";
|
|
11
|
+
import * as i5 from "@angular/material/button";
|
|
12
|
+
import * as i6 from "@angular/material/tooltip";
|
|
13
|
+
import * as i7 from "@angular/material/icon";
|
|
14
|
+
import * as i8 from "./actionbar-item.component";
|
|
15
|
+
import * as i9 from "@angular/material/menu";
|
|
16
|
+
import * as i10 from "@angular/material/card";
|
|
17
|
+
import * as i11 from "@ngx-translate/core";
|
|
18
|
+
function ActionbarComponent_mat_list_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
20
|
+
i0.ɵɵelementStart(0, "div", 5);
|
|
21
|
+
i0.ɵɵelementStart(1, "button", 6);
|
|
22
|
+
i0.ɵɵlistener("click", function ActionbarComponent_mat_list_0_div_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.scrollUp(); });
|
|
23
|
+
i0.ɵɵpipe(2, "translate");
|
|
24
|
+
i0.ɵɵelement(3, "mat-icon", 7);
|
|
25
|
+
i0.ɵɵelementEnd();
|
|
26
|
+
i0.ɵɵelementEnd();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
i0.ɵɵadvance(1);
|
|
29
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 1, "igo.common.actionbar.scrollUp"));
|
|
30
|
+
} }
|
|
31
|
+
function ActionbarComponent_mat_list_0_igo_actionbar_item_2_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
33
|
+
i0.ɵɵelementStart(0, "igo-actionbar-item", 8);
|
|
34
|
+
i0.ɵɵlistener("trigger", function ActionbarComponent_mat_list_0_igo_actionbar_item_2_Template_igo_actionbar_item_trigger_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.onTriggerAction(ctx_r9.toggleCollapseAction); });
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
38
|
+
i0.ɵɵproperty("withTitle", false)("withIcon", true)("color", ctx_r4.color)("disabled", ctx_r4.store.view.empty)("action", ctx_r4.toggleCollapseAction);
|
|
39
|
+
} }
|
|
40
|
+
function ActionbarComponent_mat_list_0_3_ng_template_0_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
42
|
+
i0.ɵɵelementStart(0, "igo-actionbar-item", 11);
|
|
43
|
+
i0.ɵɵlistener("trigger", function ActionbarComponent_mat_list_0_3_ng_template_0_Template_igo_actionbar_item_trigger_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r15); const action_r13 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(3); return ctx_r14.onTriggerAction(action_r13); });
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const action_r13 = ctx.$implicit;
|
|
47
|
+
const ctx_r12 = i0.ɵɵnextContext(3);
|
|
48
|
+
i0.ɵɵproperty("withTitle", ctx_r12.withTitle)("withIcon", ctx_r12.withIcon)("withTooltip", ctx_r12.withTooltip)("color", ctx_r12.color)("disabled", ctx_r12.store.state.get(action_r13).disabled)("action", action_r13);
|
|
49
|
+
} }
|
|
50
|
+
function ActionbarComponent_mat_list_0_3_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵtemplate(0, ActionbarComponent_mat_list_0_3_ng_template_0_Template, 1, 6, "ng-template", 9, 10, i0.ɵɵtemplateRefExtractor);
|
|
52
|
+
i0.ɵɵpipe(2, "async");
|
|
53
|
+
} if (rf & 2) {
|
|
54
|
+
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
55
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r5.store.view.all$()));
|
|
56
|
+
} }
|
|
57
|
+
function ActionbarComponent_mat_list_0_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
59
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
60
|
+
i0.ɵɵelementStart(1, "button", 6);
|
|
61
|
+
i0.ɵɵlistener("click", function ActionbarComponent_mat_list_0_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(2); return ctx_r16.scrollDown(); });
|
|
62
|
+
i0.ɵɵpipe(2, "translate");
|
|
63
|
+
i0.ɵɵelement(3, "mat-icon", 13);
|
|
64
|
+
i0.ɵɵelementEnd();
|
|
65
|
+
i0.ɵɵelementEnd();
|
|
66
|
+
} if (rf & 2) {
|
|
67
|
+
i0.ɵɵadvance(1);
|
|
68
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 1, "igo.common.actionbar.scrollDown"));
|
|
69
|
+
} }
|
|
70
|
+
function ActionbarComponent_mat_list_0_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
+
i0.ɵɵelementStart(0, "mat-list");
|
|
72
|
+
i0.ɵɵtemplate(1, ActionbarComponent_mat_list_0_div_1_Template, 4, 3, "div", 2);
|
|
73
|
+
i0.ɵɵtemplate(2, ActionbarComponent_mat_list_0_igo_actionbar_item_2_Template, 1, 5, "igo-actionbar-item", 3);
|
|
74
|
+
i0.ɵɵtemplate(3, ActionbarComponent_mat_list_0_3_Template, 3, 3, undefined, 0);
|
|
75
|
+
i0.ɵɵtemplate(4, ActionbarComponent_mat_list_0_div_4_Template, 4, 3, "div", 4);
|
|
76
|
+
i0.ɵɵelementEnd();
|
|
77
|
+
} if (rf & 2) {
|
|
78
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
79
|
+
i0.ɵɵadvance(1);
|
|
80
|
+
i0.ɵɵproperty("ngIf", ctx_r0.heightCondition && ctx_r0.positionConditionTop && ctx_r0.isDesktop);
|
|
81
|
+
i0.ɵɵadvance(1);
|
|
82
|
+
i0.ɵɵproperty("ngIf", ctx_r0.withToggleButton);
|
|
83
|
+
i0.ɵɵadvance(1);
|
|
84
|
+
i0.ɵɵproperty("ngIf", !ctx_r0.collapsed);
|
|
85
|
+
i0.ɵɵadvance(1);
|
|
86
|
+
i0.ɵɵproperty("ngIf", ctx_r0.heightCondition && ctx_r0.positionConditionLow && ctx_r0.isDesktop);
|
|
87
|
+
} }
|
|
88
|
+
function ActionbarComponent_div_1_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
89
|
+
const _r22 = i0.ɵɵgetCurrentView();
|
|
90
|
+
i0.ɵɵelementStart(0, "igo-actionbar-item", 18);
|
|
91
|
+
i0.ɵɵlistener("trigger", function ActionbarComponent_div_1_ng_template_7_Template_igo_actionbar_item_trigger_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r22); const action_r20 = restoredCtx.$implicit; const ctx_r21 = i0.ɵɵnextContext(2); return ctx_r21.onTriggerAction(action_r20); });
|
|
92
|
+
i0.ɵɵelementEnd();
|
|
93
|
+
} if (rf & 2) {
|
|
94
|
+
const action_r20 = ctx.$implicit;
|
|
95
|
+
const ctx_r19 = i0.ɵɵnextContext(2);
|
|
96
|
+
i0.ɵɵproperty("withTitle", ctx_r19.withTitle)("withIcon", ctx_r19.withIcon)("color", ctx_r19.color)("action", action_r20);
|
|
97
|
+
} }
|
|
98
|
+
function ActionbarComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵelementStart(0, "div");
|
|
100
|
+
i0.ɵɵelementStart(1, "button", 14);
|
|
101
|
+
i0.ɵɵpipe(2, "translate");
|
|
102
|
+
i0.ɵɵelement(3, "mat-icon", 15);
|
|
103
|
+
i0.ɵɵelementEnd();
|
|
104
|
+
i0.ɵɵelementStart(4, "mat-menu", 16, 17);
|
|
105
|
+
i0.ɵɵelementStart(6, "mat-list");
|
|
106
|
+
i0.ɵɵtemplate(7, ActionbarComponent_div_1_ng_template_7_Template, 1, 4, "ng-template", 9);
|
|
107
|
+
i0.ɵɵpipe(8, "async");
|
|
108
|
+
i0.ɵɵelementEnd();
|
|
109
|
+
i0.ɵɵelementEnd();
|
|
110
|
+
i0.ɵɵelementEnd();
|
|
111
|
+
} if (rf & 2) {
|
|
112
|
+
const _r18 = i0.ɵɵreference(5);
|
|
113
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
114
|
+
i0.ɵɵadvance(1);
|
|
115
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 10, "igo.common.actionbar.icon"))("matMenuTriggerFor", _r18)("disabled", ctx_r1.store.view.empty)("color", ctx_r1.iconColor);
|
|
116
|
+
i0.ɵɵadvance(2);
|
|
117
|
+
i0.ɵɵproperty("svgIcon", ctx_r1.icon);
|
|
118
|
+
i0.ɵɵadvance(1);
|
|
119
|
+
i0.ɵɵclassMap(ctx_r1.overlayClass);
|
|
120
|
+
i0.ɵɵproperty("xPosition", ctx_r1.xPosition)("yPosition", ctx_r1.yPosition);
|
|
121
|
+
i0.ɵɵadvance(3);
|
|
122
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(8, 12, ctx_r1.store.view.all$()));
|
|
123
|
+
} }
|
|
124
|
+
function ActionbarComponent_mat_card_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
126
|
+
i0.ɵɵelementStart(0, "igo-actionbar-item", 18);
|
|
127
|
+
i0.ɵɵlistener("trigger", function ActionbarComponent_mat_card_2_ng_template_2_Template_igo_actionbar_item_trigger_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r26); const action_r24 = restoredCtx.$implicit; const ctx_r25 = i0.ɵɵnextContext(2); return ctx_r25.onTriggerAction(action_r24); });
|
|
128
|
+
i0.ɵɵelementEnd();
|
|
129
|
+
i0.ɵɵelement(1, "br");
|
|
130
|
+
} if (rf & 2) {
|
|
131
|
+
const action_r24 = ctx.$implicit;
|
|
132
|
+
const ctx_r23 = i0.ɵɵnextContext(2);
|
|
133
|
+
i0.ɵɵproperty("withTitle", ctx_r23.withTitle)("withIcon", ctx_r23.withIcon)("color", ctx_r23.color)("action", action_r24);
|
|
134
|
+
} }
|
|
135
|
+
function ActionbarComponent_mat_card_2_Template(rf, ctx) { if (rf & 1) {
|
|
136
|
+
i0.ɵɵelementStart(0, "mat-card", 19);
|
|
137
|
+
i0.ɵɵelementStart(1, "mat-list");
|
|
138
|
+
i0.ɵɵtemplate(2, ActionbarComponent_mat_card_2_ng_template_2_Template, 2, 4, "ng-template", 9);
|
|
139
|
+
i0.ɵɵpipe(3, "async");
|
|
140
|
+
i0.ɵɵelementEnd();
|
|
141
|
+
i0.ɵɵelementEnd();
|
|
142
|
+
} if (rf & 2) {
|
|
143
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
144
|
+
i0.ɵɵadvance(2);
|
|
145
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 1, ctx_r2.store.view.all$()));
|
|
146
|
+
} }
|
|
147
|
+
/**
|
|
148
|
+
* A list of action buttons.
|
|
149
|
+
* This component can be displayed in one of two way: 'dock' or 'overlay'
|
|
150
|
+
*/
|
|
151
|
+
export class ActionbarComponent {
|
|
152
|
+
constructor(overlay, elRef, cdRef, mediaService) {
|
|
153
|
+
this.overlay = overlay;
|
|
154
|
+
this.elRef = elRef;
|
|
155
|
+
this.cdRef = cdRef;
|
|
156
|
+
this.mediaService = mediaService;
|
|
157
|
+
/**
|
|
158
|
+
* Reference to the ActionbarMode enum for use in the template
|
|
159
|
+
* @internal
|
|
160
|
+
*/
|
|
161
|
+
this.actionbarMode = ActionbarMode;
|
|
162
|
+
/**
|
|
163
|
+
* Whether the actionbar is collapsed (Dock mode)
|
|
164
|
+
* @internal
|
|
165
|
+
*/
|
|
166
|
+
this.collapsed = false;
|
|
167
|
+
/**
|
|
168
|
+
* Toggle collapse action (Dock)
|
|
169
|
+
* @internal
|
|
170
|
+
*/
|
|
171
|
+
this.toggleCollapseAction = {
|
|
172
|
+
id: 'actionbar_toggle',
|
|
173
|
+
icon: 'dots-vertical',
|
|
174
|
+
handler: () => {
|
|
175
|
+
this.collapsed = !this.collapsed;
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Height Condition for scroll button
|
|
180
|
+
*/
|
|
181
|
+
this.heightCondition$ = new BehaviorSubject(false);
|
|
182
|
+
/**
|
|
183
|
+
* Position Condition for top scroll button
|
|
184
|
+
*/
|
|
185
|
+
this.positionConditionTop$ = new BehaviorSubject(true);
|
|
186
|
+
/**
|
|
187
|
+
* Position Condition for low scroll button
|
|
188
|
+
*/
|
|
189
|
+
this.positionConditionLow$ = new BehaviorSubject(true);
|
|
190
|
+
/**
|
|
191
|
+
* Actionbar mode
|
|
192
|
+
*/
|
|
193
|
+
this.mode = ActionbarMode.Dock;
|
|
194
|
+
/**
|
|
195
|
+
* Whether a toggle button should be displayed (Dock mode)
|
|
196
|
+
*/
|
|
197
|
+
this.withToggleButton = false;
|
|
198
|
+
/**
|
|
199
|
+
* Whether a the actionbar should display buttons horizontally
|
|
200
|
+
*/
|
|
201
|
+
this.horizontal = false;
|
|
202
|
+
/**
|
|
203
|
+
* Color
|
|
204
|
+
*/
|
|
205
|
+
this.color = 'default';
|
|
206
|
+
/**
|
|
207
|
+
* Color of the button if action mode === overlay
|
|
208
|
+
*/
|
|
209
|
+
this.iconColor = 'default';
|
|
210
|
+
/**
|
|
211
|
+
* Whether action titles are displayed
|
|
212
|
+
*/
|
|
213
|
+
this.withTitle = true;
|
|
214
|
+
/**
|
|
215
|
+
* Whether action tooltips are displayed
|
|
216
|
+
*/
|
|
217
|
+
this.withTooltip = true;
|
|
218
|
+
/**
|
|
219
|
+
* Whether action titles are displayed (condition for scroll button)
|
|
220
|
+
*/
|
|
221
|
+
this.scrollActive = true;
|
|
222
|
+
/**
|
|
223
|
+
* Whether action icons are displayed
|
|
224
|
+
*/
|
|
225
|
+
this.withIcon = true;
|
|
226
|
+
/**
|
|
227
|
+
* Which icon want to be shown
|
|
228
|
+
*/
|
|
229
|
+
this.icon = 'dots-horizontal';
|
|
230
|
+
/**
|
|
231
|
+
* Overlay X position
|
|
232
|
+
*/
|
|
233
|
+
this.xPosition = 'before';
|
|
234
|
+
/**
|
|
235
|
+
* Overlay Y position
|
|
236
|
+
*/
|
|
237
|
+
this.yPosition = 'above';
|
|
238
|
+
this._overlayClass = '';
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Class to add to the actionbar overlay
|
|
242
|
+
*/
|
|
243
|
+
set overlayClass(value) {
|
|
244
|
+
this._overlayClass = value;
|
|
245
|
+
}
|
|
246
|
+
get overlayClass() {
|
|
247
|
+
return [this._overlayClass, 'igo-actionbar-overlay'].join(' ');
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* @ignore
|
|
251
|
+
*/
|
|
252
|
+
get withTitleClass() {
|
|
253
|
+
return this.withTitle;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* @ignore
|
|
257
|
+
*/
|
|
258
|
+
get withIconClass() {
|
|
259
|
+
return this.withIcon;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* @ignore
|
|
263
|
+
*/
|
|
264
|
+
get horizontalClass() {
|
|
265
|
+
return this.horizontal;
|
|
266
|
+
}
|
|
267
|
+
get heightCondition() {
|
|
268
|
+
const el = this.elRef.nativeElement;
|
|
269
|
+
if (this.scrollActive === false) {
|
|
270
|
+
if (el.clientHeight < el.scrollHeight) {
|
|
271
|
+
return true;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
get positionConditionTop() {
|
|
277
|
+
if (this.elRef.nativeElement.scrollTop === 0) {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
return true;
|
|
281
|
+
}
|
|
282
|
+
get positionConditionLow() {
|
|
283
|
+
const el = this.elRef.nativeElement;
|
|
284
|
+
if (el.scrollTop >= (el.scrollHeight - el.clientHeight)) {
|
|
285
|
+
return false;
|
|
286
|
+
}
|
|
287
|
+
return true;
|
|
288
|
+
}
|
|
289
|
+
get isDesktop() {
|
|
290
|
+
return this.mediaService.getMedia() === Media.Desktop;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* @internal
|
|
294
|
+
*/
|
|
295
|
+
ngOnChanges(changes) {
|
|
296
|
+
const store = changes.store;
|
|
297
|
+
if (store && store.currentValue !== store.previousValue) {
|
|
298
|
+
if (this.watcher !== undefined) {
|
|
299
|
+
this.watcher.destroy();
|
|
300
|
+
}
|
|
301
|
+
this.watcher = new EntityStoreWatcher(this.store, this.cdRef);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* @internal
|
|
306
|
+
*/
|
|
307
|
+
ngOnDestroy() {
|
|
308
|
+
this.watcher.destroy();
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Invoke the action handler
|
|
312
|
+
* @internal
|
|
313
|
+
*/
|
|
314
|
+
onTriggerAction(action) {
|
|
315
|
+
const args = action.args || [];
|
|
316
|
+
action.handler(...args);
|
|
317
|
+
}
|
|
318
|
+
scrollDown() {
|
|
319
|
+
this.elRef.nativeElement.scrollBy(0, 52);
|
|
320
|
+
}
|
|
321
|
+
scrollUp() {
|
|
322
|
+
this.elRef.nativeElement.scrollBy(0, -52);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
ActionbarComponent.ɵfac = function ActionbarComponent_Factory(t) { return new (t || ActionbarComponent)(i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.MediaService)); };
|
|
326
|
+
ActionbarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionbarComponent, selectors: [["igo-actionbar"]], hostVars: 6, hostBindings: function ActionbarComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
327
|
+
i0.ɵɵclassProp("with-title", ctx.withTitleClass)("with-icon", ctx.withIconClass)("horizontal", ctx.horizontalClass);
|
|
328
|
+
} }, inputs: { store: "store", mode: "mode", withToggleButton: "withToggleButton", horizontal: "horizontal", color: "color", iconColor: "iconColor", withTitle: "withTitle", withTooltip: "withTooltip", scrollActive: "scrollActive", withIcon: "withIcon", icon: "icon", xPosition: "xPosition", yPosition: "yPosition", overlayClass: "overlayClass" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[4, "ngIf"], ["class", "context-menu-card mat-elevation-z4", 4, "ngIf"], ["id", "topChevron", 4, "ngIf"], ["color", "accent", 3, "withTitle", "withIcon", "color", "disabled", "action", "trigger", 4, "ngIf"], ["id", "lowChevron", 4, "ngIf"], ["id", "topChevron"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "click"], ["svgIcon", "chevron-up"], ["color", "accent", 3, "withTitle", "withIcon", "color", "disabled", "action", "trigger"], ["ngFor", "", 3, "ngForOf"], ["buttonContent", ""], ["color", "accent", 3, "withTitle", "withIcon", "withTooltip", "color", "disabled", "action", "trigger"], ["id", "lowChevron"], ["svgIcon", "chevron-down"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "buttonOverlay", 3, "matTooltip", "matMenuTriggerFor", "disabled", "color"], [3, "svgIcon"], ["overlapTrigger", "true", 1, "igo-compact-menu", "igo-no-min-width-menu", 3, "xPosition", "yPosition"], ["actionbarMenu", "matMenu"], ["color", "accent", 3, "withTitle", "withIcon", "color", "action", "trigger"], [1, "context-menu-card", "mat-elevation-z4"]], template: function ActionbarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
329
|
+
i0.ɵɵtemplate(0, ActionbarComponent_mat_list_0_Template, 5, 4, "mat-list", 0);
|
|
330
|
+
i0.ɵɵtemplate(1, ActionbarComponent_div_1_Template, 9, 14, "div", 0);
|
|
331
|
+
i0.ɵɵtemplate(2, ActionbarComponent_mat_card_2_Template, 4, 3, "mat-card", 1);
|
|
332
|
+
} if (rf & 2) {
|
|
333
|
+
i0.ɵɵproperty("ngIf", ctx.mode === ctx.actionbarMode.Dock);
|
|
334
|
+
i0.ɵɵadvance(1);
|
|
335
|
+
i0.ɵɵproperty("ngIf", ctx.mode === ctx.actionbarMode.Overlay);
|
|
336
|
+
i0.ɵɵadvance(1);
|
|
337
|
+
i0.ɵɵproperty("ngIf", ctx.mode === ctx.actionbarMode.Context);
|
|
338
|
+
} }, directives: [i3.NgIf, i4.MatList, i5.MatButton, i6.MatTooltip, i7.MatIcon, i8.ActionbarItemComponent, i3.NgForOf, i9.MatMenuTrigger, i9.MatMenu, i10.MatCard], pipes: [i11.TranslatePipe, i3.AsyncPipe], styles: ["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;position:relative}button[_ngcontent-%COMP%]{margin:4px}.buttonOverlay[_ngcontent-%COMP%]{margin:0}mat-list[_ngcontent-%COMP%]{padding-top:0}.horizontal[_nghost-%COMP%]{max-width:100%;overflow:unset}.horizontal[_nghost-%COMP%] mat-list[_ngcontent-%COMP%]{width:auto;white-space:nowrap}.horizontal[_nghost-%COMP%] igo-actionbar-item[_ngcontent-%COMP%]{display:inline-block}[_nghost-%COMP%] .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}[_nghost-%COMP%] .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:46px}[_nghost-%COMP%] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}[_nghost-%COMP%] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content>mat-icon{padding:8px}igo-actionbar-item[_ngcontent-%COMP%] mat-list-item [mat-list-avatar]{height:auto;width:40px}igo-actionbar-item[_ngcontent-%COMP%] mat-list-item:hover{cursor:pointer}.context-menu-card[_ngcontent-%COMP%]{padding:8px 3px;margin:10px}#topChevron[_ngcontent-%COMP%]{position:sticky;top:0;background-color:#fff;z-index:3}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#topChevron[_ngcontent-%COMP%]{position:fixed;top:unset}}@supports (-ms-accelerator: true){#topChevron[_ngcontent-%COMP%]{position:fixed;top:unset}}#lowChevron[_ngcontent-%COMP%]{position:fixed;position:sticky;bottom:0;background-color:#fff;z-index:3}"], changeDetection: 0 });
|
|
339
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarComponent, [{
|
|
340
|
+
type: Component,
|
|
341
|
+
args: [{
|
|
342
|
+
selector: 'igo-actionbar',
|
|
343
|
+
templateUrl: './actionbar.component.html',
|
|
344
|
+
styleUrls: ['./actionbar.component.scss'],
|
|
345
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
346
|
+
}]
|
|
347
|
+
}], function () { return [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.MediaService }]; }, { store: [{
|
|
348
|
+
type: Input
|
|
349
|
+
}], mode: [{
|
|
350
|
+
type: Input
|
|
351
|
+
}], withToggleButton: [{
|
|
352
|
+
type: Input
|
|
353
|
+
}], horizontal: [{
|
|
354
|
+
type: Input
|
|
355
|
+
}], color: [{
|
|
356
|
+
type: Input
|
|
357
|
+
}], iconColor: [{
|
|
358
|
+
type: Input
|
|
359
|
+
}], withTitle: [{
|
|
360
|
+
type: Input
|
|
361
|
+
}], withTooltip: [{
|
|
362
|
+
type: Input
|
|
363
|
+
}], scrollActive: [{
|
|
364
|
+
type: Input
|
|
365
|
+
}], withIcon: [{
|
|
366
|
+
type: Input
|
|
367
|
+
}], icon: [{
|
|
368
|
+
type: Input
|
|
369
|
+
}], xPosition: [{
|
|
370
|
+
type: Input
|
|
371
|
+
}], yPosition: [{
|
|
372
|
+
type: Input
|
|
373
|
+
}], overlayClass: [{
|
|
374
|
+
type: Input
|
|
375
|
+
}], withTitleClass: [{
|
|
376
|
+
type: HostBinding,
|
|
377
|
+
args: ['class.with-title']
|
|
378
|
+
}], withIconClass: [{
|
|
379
|
+
type: HostBinding,
|
|
380
|
+
args: ['class.with-icon']
|
|
381
|
+
}], horizontalClass: [{
|
|
382
|
+
type: HostBinding,
|
|
383
|
+
args: ['class.horizontal']
|
|
384
|
+
}] }); })();
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2FjdGlvbi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2FjdGlvbi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCx1QkFBdUIsRUFLeEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNoQm5DLDhCQUNrQjtJQUNoQixpQ0FLdUI7SUFBckIsZ01BQW9COztJQUNwQiw4QkFBMEM7SUFDNUMsaUJBQVM7SUFDWCxpQkFBTTs7SUFKRixlQUEwRDtJQUExRCxrRkFBMEQ7Ozs7SUFNOUQsNkNBUW9EO0lBQWxELGtRQUFpRDtJQUNuRCxpQkFBcUI7OztJQU5uQixpQ0FBbUIsa0JBQUEsdUJBQUEscUNBQUEsdUNBQUE7Ozs7SUFTbkIsOENBUXNDO0lBQXBDLDRTQUFtQztJQUNyQyxpQkFBcUI7Ozs7SUFQbkIsNkNBQXVCLDhCQUFBLG9DQUFBLHdCQUFBLDBEQUFBLHNCQUFBOzs7SUFIM0IsK0hBV2M7Ozs7SUFYa0Qsd0VBQXFDOzs7O0lBYXJHLCtCQUNrQjtJQUNoQixpQ0FLeUI7SUFBdkIscU1BQXNCOztJQUN0QiwrQkFBNEM7SUFDOUMsaUJBQVM7SUFDWCxpQkFB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QzVDLENBQUM7O29GQTFOVSxrQkFBa0I7cUVBQWxCLGtCQUFrQjs7O1FDOUIvQiw2RUFrRFc7UUFFWCxvRUFpQ007UUFDTiw2RUFjVzs7UUFwR0EsMERBQWlDO1FBb0R0QyxlQUFvQztRQUFwQyw2REFBb0M7UUFrQy9CLGVBQW9DO1FBQXBDLDZEQUFvQzs7dUZEeERsQyxrQkFBa0I7Y0FOOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixXQUFXLEVBQUUsNEJBQTRCO2dCQUN6QyxTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztnQkFDekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7OElBbURVLEtBQUs7a0JBQWIsS0FBSztZQUtHLElBQUk7a0JBQVosS0FBSztZQUtHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUtHLFVBQVU7a0JBQWxCLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFLRyxTQUFTO2tCQUFqQixLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUtHLFdBQVc7a0JBQW5CLEtBQUs7WUFLRyxZQUFZO2tCQUFwQixLQUFLO1lBS0csUUFBUTtrQkFBaEIsS0FBSztZQUtHLElBQUk7a0JBQVosS0FBSztZQUtHLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxTQUFTO2tCQUFqQixLQUFLO1lBTUYsWUFBWTtrQkFEZixLQUFLO1lBYUYsY0FBYztrQkFEakIsV0FBVzttQkFBQyxrQkFBa0I7WUFTM0IsYUFBYTtrQkFEaEIsV0FBVzttQkFBQyxpQkFBaUI7WUFTMUIsZUFBZTtrQkFEbEIsV0FBVzttQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBIb3N0QmluZGluZyxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgRWxlbWVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlLCBNZWRpYSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZVdhdGNoZXIgfSBmcm9tICcuLi8uLi9lbnRpdHknO1xyXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvYWN0aW9uLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBBY3Rpb25iYXJNb2RlIH0gZnJvbSAnLi4vc2hhcmVkL2FjdGlvbi5lbnVtcyc7XHJcbmltcG9ydCB7IEFjdGlvblN0b3JlIH0gZnJvbSAnLi4vc2hhcmVkL3N0b3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG4vKipcclxuICogQSBsaXN0IG9mIGFjdGlvbiBidXR0b25zLlxyXG4gKiBUaGlzIGNvbXBvbmVudCBjYW4gYmUgZGlzcGxheWVkIGluIG9uZSBvZiB0d28gd2F5OiAnZG9jaycgb3IgJ292ZXJsYXknXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hY3Rpb25iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbmJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25iYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgQWN0aW9uYmFyTW9kZSBlbnVtIGZvciB1c2UgaW4gdGhlIHRlbXBsYXRlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgYWN0aW9uYmFyTW9kZSA9IEFjdGlvbmJhck1vZGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbmJhciBpcyBjb2xsYXBzZWQgKERvY2sgbW9kZSlcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjb2xsYXBzZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIGNvbGxhcHNlIGFjdGlvbiAoRG9jaylcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICB0b2dnbGVDb2xsYXBzZUFjdGlvbiA9IHtcclxuICAgIGlkOiAnYWN0aW9uYmFyX3RvZ2dsZScsXHJcbiAgICBpY29uOiAnZG90cy12ZXJ0aWNhbCcsXHJcbiAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGlvbiBzdG9yZSB3YXRjaGVyXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8QWN0aW9uPjtcclxuXHJcbiAgLyoqXHJcbiAgICogSGVpZ2h0IENvbmRpdGlvbiBmb3Igc2Nyb2xsIGJ1dHRvblxyXG4gICAqL1xyXG4gIGhlaWdodENvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBQb3NpdGlvbiBDb25kaXRpb24gZm9yIHRvcCBzY3JvbGwgYnV0dG9uXHJcbiAgICovXHJcbiAgcG9zaXRpb25Db25kaXRpb25Ub3AkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG5cclxuICAvKipcclxuICAgKiBQb3NpdGlvbiBDb25kaXRpb24gZm9yIGxvdyBzY3JvbGwgYnV0dG9uXHJcbiAgICovXHJcbiAgcG9zaXRpb25Db25kaXRpb25Mb3ckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG5cclxuICAvKipcclxuICAgKiBBY3Rpb24gc3RvcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBzdG9yZTogQWN0aW9uU3RvcmU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGlvbmJhciBtb2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9kZTogQWN0aW9uYmFyTW9kZSA9IEFjdGlvbmJhck1vZGUuRG9jaztcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhIHRvZ2dsZSBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZCAoRG9jayBtb2RlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpdGhUb2dnbGVCdXR0b24gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhIHRoZSBhY3Rpb25iYXIgc2hvdWxkIGRpc3BsYXkgYnV0dG9ucyBob3Jpem9udGFsbHlcclxuICAgKi9cclxuICBASW5wdXQoKSBob3Jpem9udGFsID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbG9yXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3IgPSAnZGVmYXVsdCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24gaWYgYWN0aW9uIG1vZGUgPT09IG92ZXJsYXlcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQ29sb3IgPSAnZGVmYXVsdCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgYWN0aW9uIHRpdGxlcyBhcmUgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgd2l0aFRpdGxlID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhY3Rpb24gdG9vbHRpcHMgYXJlIGRpc3BsYXllZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpdGhUb29sdGlwID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhY3Rpb24gdGl0bGVzIGFyZSBkaXNwbGF5ZWQgKGNvbmRpdGlvbiBmb3Igc2Nyb2xsIGJ1dHRvbilcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxBY3RpdmUgPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGFjdGlvbiBpY29ucyBhcmUgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgd2l0aEljb24gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGljaCBpY29uIHdhbnQgdG8gYmUgc2hvd25cclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uID0gJ2RvdHMtaG9yaXpvbnRhbCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE92ZXJsYXkgWCBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHhQb3NpdGlvbiA9ICdiZWZvcmUnO1xyXG5cclxuICAvKipcclxuICAgKiBPdmVybGF5IFkgcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSB5UG9zaXRpb24gPSAnYWJvdmUnO1xyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyB0byBhZGQgdG8gdGhlIGFjdGlvbmJhciBvdmVybGF5XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgb3ZlcmxheUNsYXNzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX292ZXJsYXlDbGFzcyA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgb3ZlcmxheUNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gW3RoaXMuX292ZXJsYXlDbGFzcywgJ2lnby1hY3Rpb25iYXItb3ZlcmxheSddLmpvaW4oJyAnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfb3ZlcmxheUNsYXNzID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGgtdGl0bGUnKVxyXG4gIGdldCB3aXRoVGl0bGVDbGFzcygpIHtcclxuICAgIHJldHVybiB0aGlzLndpdGhUaXRsZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGgtaWNvbicpXHJcbiAgZ2V0IHdpdGhJY29uQ2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53aXRoSWNvbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhvcml6b250YWwnKVxyXG4gIGdldCBob3Jpem9udGFsQ2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ob3Jpem9udGFsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhlaWdodENvbmRpdGlvbigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsQWN0aXZlID09PSBmYWxzZSkge1xyXG4gICAgICBpZiAoZWwuY2xpZW50SGVpZ2h0IDwgZWwuc2Nyb2xsSGVpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBwb3NpdGlvbkNvbmRpdGlvblRvcCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBvc2l0aW9uQ29uZGl0aW9uTG93KCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoZWwuc2Nyb2xsVG9wID49IChlbC5zY3JvbGxIZWlnaHQgLSBlbC5jbGllbnRIZWlnaHQpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGVza3RvcCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1lZGlhU2VydmljZS5nZXRNZWRpYSgpID09PSBNZWRpYS5EZXNrdG9wO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3Qgc3RvcmUgPSBjaGFuZ2VzLnN0b3JlO1xyXG4gICAgaWYgKHN0b3JlICYmIHN0b3JlLmN1cnJlbnRWYWx1ZSAhPT0gc3RvcmUucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICBpZiAodGhpcy53YXRjaGVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMud2F0Y2hlciA9IG5ldyBFbnRpdHlTdG9yZVdhdGNoZXIodGhpcy5zdG9yZSwgdGhpcy5jZFJlZik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnZva2UgdGhlIGFjdGlvbiBoYW5kbGVyXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25UcmlnZ2VyQWN0aW9uKGFjdGlvbjogQWN0aW9uKSB7XHJcbiAgICBjb25zdCBhcmdzID0gYWN0aW9uLmFyZ3MgfHwgW107XHJcbiAgICBhY3Rpb24uaGFuZGxlciguLi5hcmdzKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbERvd24oKSB7XHJcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoMCwgNTIpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsVXAoKSB7XHJcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoMCwgLTUyKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxtYXQtbGlzdCAqbmdJZj1cIm1vZGUgPT09IGFjdGlvbmJhck1vZGUuRG9ja1wiPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJoZWlnaHRDb25kaXRpb24gJiYgcG9zaXRpb25Db25kaXRpb25Ub3AgJiYgaXNEZXNrdG9wXCJcclxuICAgICAgaWQ9XCJ0b3BDaGV2cm9uXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29tbW9uLmFjdGlvbmJhci5zY3JvbGxVcCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChjbGljayk9XCJzY3JvbGxVcCgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjaGV2cm9uLXVwXCI+PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8aWdvLWFjdGlvbmJhci1pdGVtXHJcbiAgICAgICpuZ0lmPVwid2l0aFRvZ2dsZUJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgW3dpdGhUaXRsZV09XCJmYWxzZVwiXHJcbiAgICAgIFt3aXRoSWNvbl09XCJ0cnVlXCJcclxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAgICAgW2Rpc2FibGVkXT1cInN0b3JlLnZpZXcuZW1wdHlcIlxyXG4gICAgICBbYWN0aW9uXT1cInRvZ2dsZUNvbGxhcHNlQWN0aW9uXCJcclxuICAgICAgKHRyaWdnZXIpPVwib25UcmlnZ2VyQWN0aW9uKHRvZ2dsZUNvbGxhcHNlQWN0aW9uKVwiPlxyXG4gICAgPC9pZ28tYWN0aW9uYmFyLWl0ZW0+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNidXR0b25Db250ZW50ICpuZ0lmPVwiIWNvbGxhcHNlZFwiIG5nRm9yIGxldC1hY3Rpb24gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxyXG4gICAgICA8aWdvLWFjdGlvbmJhci1pdGVtXHJcbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgIFt3aXRoVGl0bGVdPVwid2l0aFRpdGxlXCJcclxuICAgICAgICBbd2l0aEljb25dPVwid2l0aEljb25cIlxyXG4gICAgICAgIFt3aXRoVG9vbHRpcF09XCJ3aXRoVG9vbHRpcFwiXHJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwic3RvcmUuc3RhdGUuZ2V0KGFjdGlvbikuZGlzYWJsZWRcIlxyXG4gICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcclxuICAgICAgICAodHJpZ2dlcik9XCJvblRyaWdnZXJBY3Rpb24oYWN0aW9uKVwiPlxyXG4gICAgICA8L2lnby1hY3Rpb25iYXItaXRlbT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImhlaWdodENvbmRpdGlvbiAmJiBwb3NpdGlvbkNvbmRpdGlvbkxvdyAmJiBpc0Rlc2t0b3BcIlxyXG4gICAgICBpZD1cImxvd0NoZXZyb25cIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5jb21tb24uYWN0aW9uYmFyLnNjcm9sbERvd24nIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAoY2xpY2spPVwic2Nyb2xsRG93bigpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjaGV2cm9uLWRvd25cIj48L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9tYXQtbGlzdD5cclxuXHJcbjxkaXYgKm5nSWY9XCJtb2RlID09PSBhY3Rpb25iYXJNb2RlLk92ZXJsYXlcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uT3ZlcmxheVwiXHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29tbW9uLmFjdGlvbmJhci5pY29uJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9uYmFyTWVudVwiXHJcbiAgICBbZGlzYWJsZWRdPVwic3RvcmUudmlldy5lbXB0eVwiXHJcbiAgICBbY29sb3JdPVwiaWNvbkNvbG9yXCI+XHJcbiAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiaWNvblwiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxtYXQtbWVudVxyXG4gICAgI2FjdGlvbmJhck1lbnU9XCJtYXRNZW51XCJcclxuICAgIGNsYXNzPVwiaWdvLWNvbXBhY3QtbWVudSBpZ28tbm8tbWluLXdpZHRoLW1lbnVcIlxyXG4gICAgb3ZlcmxhcFRyaWdnZXI9XCJ0cnVlXCJcclxuICAgIFt4UG9zaXRpb25dPVwieFBvc2l0aW9uXCJcclxuICAgIFt5UG9zaXRpb25dPVwieVBvc2l0aW9uXCJcclxuICAgIFtjbGFzc109XCJvdmVybGF5Q2xhc3NcIj5cclxuXHJcbiAgICA8bWF0LWxpc3Q+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYWN0aW9uIFtuZ0Zvck9mXT1cInN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cclxuICAgICAgICA8aWdvLWFjdGlvbmJhci1pdGVtXHJcbiAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgICAgICBbd2l0aFRpdGxlXT1cIndpdGhUaXRsZVwiXHJcbiAgICAgICAgICBbd2l0aEljb25dPVwid2l0aEljb25cIlxyXG4gICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAgICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcclxuICAgICAgICAgICh0cmlnZ2VyKT1cIm9uVHJpZ2dlckFjdGlvbihhY3Rpb24pXCI+XHJcbiAgICAgICAgPC9pZ28tYWN0aW9uYmFyLWl0ZW0+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1saXN0PlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG48bWF0LWNhcmQgKm5nSWY9XCJtb2RlID09PSBhY3Rpb25iYXJNb2RlLkNvbnRleHRcIiBjbGFzcz1cImNvbnRleHQtbWVudS1jYXJkIG1hdC1lbGV2YXRpb24tejRcIj5cclxuICA8bWF0LWxpc3Q+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYWN0aW9uIFtuZ0Zvck9mXT1cInN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cclxuICAgICAgICAgIDxpZ28tYWN0aW9uYmFyLWl0ZW1cclxuICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgICAgICBbd2l0aFRpdGxlXT1cIndpdGhUaXRsZVwiXHJcbiAgICAgICAgICAgIFt3aXRoSWNvbl09XCJ3aXRoSWNvblwiXHJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXHJcbiAgICAgICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcclxuICAgICAgICAgICAgKHRyaWdnZXIpPVwib25UcmlnZ2VyQWN0aW9uKGFjdGlvbilcIj5cclxuICAgICAgICAgIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxyXG4gICAgICAgIDxici8+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9tYXQtY2FyZD5cclxuIl19
|