@wavemaker/app-ng-runtime 11.5.2-next.140998 → 11.5.2-next.141004
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/build-task/bundles/index.umd.js +1 -1
- app-ng-runtime/build-task/esm2020/data/form/form-field/form-field.build.mjs +2 -2
- app-ng-runtime/build-task/fesm2015/index.mjs +1 -1
- app-ng-runtime/build-task/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/build-task/fesm2020/index.mjs +1 -1
- app-ng-runtime/build-task/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +40 -10
- app-ng-runtime/components/base/esm2020/pipes/custom-pipes.mjs +24 -11
- app-ng-runtime/components/base/esm2020/pipes/wm-pipe.mjs +17 -0
- app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +2 -1
- app-ng-runtime/components/base/fesm2015/index.mjs +40 -10
- app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/base/fesm2020/index.mjs +40 -10
- app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/base/pipes/custom-pipes.d.ts +5 -2
- app-ng-runtime/components/base/pipes/wm-pipe.d.ts +9 -0
- app-ng-runtime/components/chart/bundles/index.umd.js +54 -35
- app-ng-runtime/components/chart/esm2020/chart.component.mjs +8 -6
- app-ng-runtime/components/chart/esm2020/chart.utils.mjs +50 -13
- app-ng-runtime/components/chart/fesm2015/index.mjs +56 -17
- app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/chart/fesm2020/index.mjs +56 -17
- app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +14 -3
- app-ng-runtime/components/containers/wizard/esm2020/wizard.component.mjs +13 -4
- app-ng-runtime/components/containers/wizard/esm2020/wizard.props.mjs +2 -1
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +14 -3
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +13 -3
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -0
- app-ng-runtime/components/data/form/bundles/index.umd.js +41 -27
- app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +28 -19
- app-ng-runtime/components/data/form/esm2020/form.component.mjs +19 -7
- app-ng-runtime/components/data/form/fesm2015/index.mjs +45 -27
- app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/fesm2020/index.mjs +45 -24
- app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +2 -0
- app-ng-runtime/components/data/table/bundles/index.umd.js +3 -2
- app-ng-runtime/components/data/table/esm2020/table.component.mjs +4 -3
- app-ng-runtime/components/data/table/fesm2015/index.mjs +3 -2
- app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/fesm2020/index.mjs +3 -2
- app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table.component.d.ts +1 -1
- app-ng-runtime/components/input/default/bundles/index.umd.js +231 -192
- app-ng-runtime/components/input/default/esm2020/caption-position.directive.mjs +2 -2
- app-ng-runtime/components/input/default/esm2020/number/number.component.mjs +7 -6
- app-ng-runtime/components/input/default/esm2020/number/number.props.mjs +4 -2
- app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +58 -35
- app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.component.mjs +7 -6
- app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.props.mjs +4 -2
- app-ng-runtime/components/input/default/esm2020/text/color/input-color.component.mjs +7 -6
- app-ng-runtime/components/input/default/esm2020/text/color/input-color.props.mjs +4 -2
- app-ng-runtime/components/input/default/esm2020/text/email/input-email.component.mjs +7 -6
- app-ng-runtime/components/input/default/esm2020/text/email/input-email.props.mjs +4 -2
- app-ng-runtime/components/input/default/esm2020/text/number/input-number.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2020/text/number/input-number.props.mjs +4 -2
- app-ng-runtime/components/input/default/esm2020/text/text/input-text.component.mjs +8 -7
- app-ng-runtime/components/input/default/esm2020/text/text/input-text.props.mjs +4 -2
- app-ng-runtime/components/input/default/esm2020/textarea/textarea.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2020/textarea/textarea.props.mjs +3 -1
- app-ng-runtime/components/input/default/fesm2015/index.mjs +113 -74
- app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/fesm2020/index.mjs +110 -74
- app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/number/number.component.d.ts +2 -0
- app-ng-runtime/components/input/default/select/select.component.d.ts +4 -1
- app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -0
- app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -0
- app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -0
- app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -0
- app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -0
- app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -0
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +50 -25
- app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +36 -14
- app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +5 -5
- app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -5
- app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +7 -5
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs +50 -25
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs +50 -25
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +15 -5
- app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +12 -4
- app-ng-runtime/components/navigation/menu/esm2020/menu.props.mjs +2 -1
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +3 -3
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav.props.mjs +2 -1
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +15 -5
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +15 -5
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -0
- app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +1 -0
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js +2 -1
- app-ng-runtime/components/navigation/popover/esm2020/popover.component.mjs +3 -2
- app-ng-runtime/components/navigation/popover/fesm2015/index.mjs +2 -1
- app-ng-runtime/components/navigation/popover/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/popover/fesm2020/index.mjs +2 -1
- app-ng-runtime/components/navigation/popover/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/bundles/index.umd.js +1 -0
- app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +2 -1
- app-ng-runtime/components/prefab/fesm2015/index.mjs +1 -0
- app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/fesm2020/index.mjs +1 -0
- app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +2 -1
- app-ng-runtime/core/esm2020/utils/utils.mjs +3 -2
- app-ng-runtime/core/fesm2015/index.mjs +2 -1
- app-ng-runtime/core/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/core/fesm2020/index.mjs +2 -1
- app-ng-runtime/core/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +26 -1
- app-ng-runtime/runtime/base/components/base-page.component.d.ts +1 -0
- app-ng-runtime/runtime/base/esm2020/components/base-page.component.mjs +26 -1
- app-ng-runtime/runtime/base/esm2020/services/pipe-provider.service.mjs +2 -2
- app-ng-runtime/runtime/base/fesm2015/index.mjs +26 -1
- app-ng-runtime/runtime/base/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/runtime/base/fesm2020/index.mjs +26 -1
- app-ng-runtime/runtime/base/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -0
- app-ng-runtime/scripts/d3/d3.min.js +2 -5
- app-ng-runtime/scripts/datatable/datatable.js +3 -3
- app-ng-runtime/scripts/@wavemaker.com/nvd3/build/nv.d3.min.js +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/menu/src/nav/nav.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.html","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.props.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/navigation-control.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.module.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-adapator.component.ts","../../../../../projects/components/widgets/navigation/menu/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav',\n new Map(\n [\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['dataset', PROP_ANY],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itembadge', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['layout', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n","import {\n Attribute,\n ChangeDetectorRef,\n Component,\n Injector,\n OnInit,\n Optional,\n SkipSelf,\n ViewContainerRef\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport {addClass, App, removeClass, triggerItemAction, UserDefinedExecutionContext} from '@wm/core';\nimport { APPLY_STYLES_TYPE, DatasetAwareNavComponent, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './nav.props';\n\ndeclare const _;\n\nconst DEFAULT_CLS = 'nav app-nav';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav', hostClass: DEFAULT_CLS};\n\nconst NavClassMap = {\n pills: 'nav-pills',\n tabs: 'nav-tabs',\n navbar: 'navbar-nav'\n};\n\n@Component({\n selector: '[wmNav]',\n templateUrl: './nav.component.html',\n providers: [\n provideAsWidgetRef(NavComponent)\n ]\n})\nexport class NavComponent extends DatasetAwareNavComponent implements OnInit {\n static initializeProps = registerProps();\n\n public selecteditem;\n public type;\n public disableMenuContext: boolean;\n public layout;\n\n private activeNavLINode: HTMLElement;\n private itemActionFn: Function;\n private pageScope: any;\n private get activePageName() {\n return this.app.activePageName;\n }\n\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Attribute('select.event') selectEventCB\n ) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.disableMenuContext = !!selectEventCB;\n this.pageScope = this.viewParent;\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!_.isEmpty(this.nodes)) {\n let itemFound = false;\n const getItem = (nodes, isMenuWidget?) => {\n _.forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.selecteditem = isMenuWidget ? _.omit(item, ['children', 'value']) : item.value;\n this.invokeEventCallback('select', {$event: {}, $item: item.value});\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n // _selected is used to add active class for nav item. If we have children inside nav widget then it is not required.\n if (!isMenuWidget) {\n item._selected = true;\n }\n return false;\n }\n if (!_.isEmpty(item.children)) {\n getItem(item.children, 'menu');\n }\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n\n private setNavType(type) {\n addClass(this.nativeElement, NavClassMap[type]);\n }\n\n private setNavLayout(layout) {\n addClass(this.nativeElement, `nav-${layout}`);\n }\n\n public onNavSelect($event: Event, item: any, liRef: HTMLElement) {\n $event.preventDefault();\n\n const selectedItem = _.find(this.nodes, '_selected');\n if (selectedItem) {\n delete selectedItem._selected;\n }\n\n if (this.activeNavLINode) {\n removeClass(this.activeNavLINode, 'active');\n }\n\n this.activeNavLINode = liRef;\n\n addClass(liRef, 'active');\n\n this.selecteditem = item.value;\n\n this.invokeEventCallback('select', {$event, $item: item.value});\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setNavType(this.type);\n this.setNavLayout(this.layout);\n }\n\n /**\n * invoked from the menu widget when a menu item is selected.\n * @param $event\n * @param widget\n * @param $item\n */\n onMenuItemSelect($event, widget, $item) {\n this.selecteditem = _.omit($item, ['children', 'value']);\n this.invokeEventCallback('select', {$event, $item: this.selecteditem});\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-menu',\n new Map(\n [\n ['accessroles', {value: 'Everyone', ...PROP_STRING}],\n ['animateitems', PROP_STRING],\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['dataset', {value: 'Menu Item 1, Menu Item 2, Menu Item 3', ...PROP_ANY}],\n ['hint', {value: '', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['linktarget', {value: '_self', ...PROP_STRING}],\n ['menuclass', PROP_STRING],\n ['menulayout', PROP_STRING],\n ['menuposition', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'menu', ...PROP_STRING}],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","<ng-template #menuTemplate>\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"hint || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n</ng-template>\n\n<ng-template #innerTemplate>\n <i class=\"app-icon {{iconclass}}\"></i>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n<ng-container *ngIf=\"type === 'anchor'; else menuTemplate\">\n <a wmAnchor\n dropdownToggle\n\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n</ng-container>\n\n<ul wmMenuDropdown [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" *dropdownMenu aria-labelledby=\"dropdownmenu\" role=\"menubar\"></ul>\n","import { AfterViewInit, Attribute, Component, HostListener, Injector, OnDestroy, OnInit, Optional, Self } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { BsDropdownDirective } from 'ngx-bootstrap/dropdown';\n\nimport { $appDigest, addClass, removeClass, triggerItemAction, App, toggleClass, UserDefinedExecutionContext } from '@wm/core';\nimport { DatasetAwareNavComponent, hasLinkToCurrentPage, provideAsWidgetRef, styler, AUTOCLOSE_TYPE } from '@wm/components/base';\nimport { NavComponent } from './nav/nav.component';\n\nimport { registerProps } from './menu.props';\n\ndeclare const _;\n\nexport const KEYBOARD_MOVEMENTS = {\n MOVE_UP: 'UP-ARROW',\n MOVE_LEFT: 'LEFT-ARROW',\n MOVE_RIGHT: 'RIGHT-ARROW',\n MOVE_DOWN: 'DOWN-ARROW',\n ON_ENTER: 'ENTER',\n ON_TAB: 'TAB',\n ON_SHIFT_TAB: 'SHIFT-TAB',\n ON_ESCAPE: 'ESC'\n};\n\nexport const MENU_POSITION = {\n UP_LEFT: 'up,left',\n UP_RIGHT: 'up,right',\n DOWN_LEFT: 'down,left',\n DOWN_RIGHT: 'down,right',\n INLINE: 'inline'\n};\n\nconst POSITION = {\n DOWN_RIGHT: 'down,right',\n DOWN_LEFT: 'down,left',\n UP_RIGHT: 'up,right',\n UP_LEFT: 'up,left',\n INLINE: 'inline'\n};\nconst CARET_CLS = {\n UP: 'fa-caret-up',\n DOWN: 'fa-caret-down'\n};\nconst PULL_CLS = {\n LEFT: 'pull-left',\n RIGHT: 'pull-right'\n};\n\nconst AUTO_OPEN = {\n NEVER: 'never',\n ACTIVE_PAGE: 'activepage',\n ALWAYS: 'always'\n};\n\nconst WIDGET_CONFIG = { widgetType: 'wm-menu', hostClass: 'dropdown app-menu' };\n@Component({\n selector: '[wmMenu]',\n templateUrl: './menu.component.html',\n providers: [\n provideAsWidgetRef(MenuComponent)\n ]\n})\nexport class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {\n static initializeProps = registerProps();\n\n public menualign: string;\n public menuposition: string;\n public menulayout: string;\n public menuclass: string;\n public linktarget: string;\n public iconclass: string;\n public animateitems: string;\n public disableMenuContext: boolean;\n public autoclose: string;\n public autoopen: string;\n public hint: string;\n\n private itemActionFn: Function;\n private menuCaret = 'fa-caret-down';\n private _selectFirstItem = false;\n\n public type: any;\n\n @HostListener('onShown') onShow() {\n if (this._selectFirstItem) {\n setTimeout(() => {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n });\n }\n $appDigest();\n }\n @HostListener('onHidden') onHide() {\n this.$element.find('>.dropdown-toggle').focus();\n this.$element.find('li').removeClass('open');\n this._selectFirstItem = false;\n $appDigest();\n }\n\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"']) onKeyDown($event, eventAction) {\n const KEY_MOVEMENTS = _.clone(KEYBOARD_MOVEMENTS);\n if (this.menuposition === MENU_POSITION.UP_RIGHT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n } else if (this.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuposition === MENU_POSITION.DOWN_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n }\n\n if (_.includes([KEY_MOVEMENTS.MOVE_DOWN, KEY_MOVEMENTS.MOVE_RIGHT], eventAction)) {\n if (!this.bsDropdown.isOpen) {\n this._selectFirstItem = true;\n this.bsDropdown.show();\n } else {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {\n this.bsDropdown.toggle(true);\n } else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction)) {\n this.bsDropdown.hide();\n }\n $event.preventDefault();\n }\n\n constructor(\n inj: Injector,\n public route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Self() @Optional() public bsDropdown: BsDropdownDirective,\n @Optional() private parentNav: NavComponent,\n @Attribute('select.event') public selectEventCB: string\n ) {\n super(inj, WIDGET_CONFIG);\n if (parentNav) {\n this.disableMenuContext = !!parentNav.disableMenuContext;\n } else {\n this.disableMenuContext = !!selectEventCB;\n }\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!_.isEmpty(this.nodes)) {\n if (hasLinkToCurrentPage(this.nodes, this.route.url)) {\n addClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active');\n }\n // If menu widget is inside nav widget then dont check for item isactive property because these will be handled form nav widget.\n if (this.parentNav) {\n return;\n }\n let itemFound = false;\n const getItem = (nodes) => {\n _.forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.onMenuItemSelect({ $event: {}, $item: item });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n return false;\n }\n if (!_.isEmpty(item.children)) {\n getItem(item.children);\n }\n\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n protected resetNodes() {\n super.resetNodes();\n // open the menu if any of its menu items has link to current page and if autoopen value is 'active page'\n if ((this.autoopen === AUTO_OPEN.ACTIVE_PAGE && hasLinkToCurrentPage(this.nodes, this.route.url)) || this.autoopen === AUTO_OPEN.ALWAYS) {\n this.bsDropdown.show();\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setMenuPosition();\n\n const cancelSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active', hasLinkToCurrentPage(this.nodes, this.route.url ));\n });\n this.registerDestroyListener(() => cancelSubscription());\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n\n if (key === 'tabindex') {\n return;\n }\n\n if (key === 'autoclose') {\n this.bsDropdown.autoClose = nv !== AUTOCLOSE_TYPE.DISABLED;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n private setMenuPosition() {\n switch (this.menuposition) {\n case POSITION.DOWN_RIGHT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.DOWN_LEFT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.UP_LEFT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.UP_RIGHT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.INLINE:\n this.menualign = 'dropinline-menu';\n break;\n }\n }\n\n public onMenuItemSelect(args) {\n const { $event } = args;\n const $item = args.$item.value;\n this.invokeEventCallback('select', { $event, $item });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, this);\n }\n}\n","<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n <span *ngIf=\"item.children.length\" class=\"pull-right fa caret {{menualign}}\"></span>\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n <span *ngIf=\"item.badge\" class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n</a>\n<ng-container [ngTemplateOutlet]=\"nestedMenuDropdown\" *ngIf=\"item.children.length\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\n\n<ng-template #nestedMenuDropdown let-item=\"item\">\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n</ng-template>\n","import { Component, ElementRef, HostListener, Input, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { addClass, triggerItemAction, UserDefinedExecutionContext, App, toggleClass } from '@wm/core';\nimport { hasLinkToCurrentPage } from '@wm/components/base';\nimport { NavComponent } from '../nav/nav.component';\n\nimport { KEYBOARD_MOVEMENTS, MENU_POSITION, MenuComponent } from '../menu.component';\n\ndeclare const _, $;\n\nconst menuAlignClass = {\n 'pull-right' : 'fa-caret-left',\n 'dropinline-menu' : 'fa-caret-down',\n 'pull-left' : 'fa-caret-right'\n};\n\nconst MENU_LAYOUT_TYPE = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical'\n};\n\n@Component({\n selector: 'li[wmMenuDropdownItem]',\n templateUrl: './menu-dropdown-item.component.html',\n})\nexport class MenuDropdownItemComponent implements OnInit, OnDestroy {\n\n public menualign: string;\n\n private itemActionFn: Function;\n\n @Input() item;\n\n private readonly nativeElement;\n private highlightActiveLinkSubscription: () => void;\n\n constructor(\n private app: App,\n public menuRef: MenuComponent,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n @Optional() private parentNav: NavComponent,\n elRef: ElementRef,\n ) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, 'app-menu-item');\n\n this.menualign = menuAlignClass[this.menuRef.menualign] || menuAlignClass['pull-left'];\n }\n\n ngOnInit() {\n // add active class to the item only if it is in nav component.\n if (this.parentNav) {\n if (hasLinkToCurrentPage([this.item], this.menuRef.route.url)) {\n // add active class to the li, if the menu item's link is same as the current page name.\n addClass(this.nativeElement, 'active');\n }\n this.highlightActiveLinkSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement, 'active', hasLinkToCurrentPage([this.item], this.menuRef.route.url));\n });\n }\n }\n\n getInitialKeyMovements() {\n const KEY_MOVEMENTS = _.clone(KEYBOARD_MOVEMENTS);\n if (this.menuRef.menulayout === MENU_LAYOUT_TYPE.HORIZONTAL) {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n } else {\n if (this.menuRef.menuposition === MENU_POSITION.DOWN_LEFT || this.menuRef.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuRef.menuposition === 'inline') {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n }\n }\n return KEY_MOVEMENTS;\n }\n\n @HostListener('keydown.tab', ['$event', '\"TAB\"'])\n @HostListener('keydown.shift.tab', ['$event', '\"SHIFT-TAB\"'])\n @HostListener('keydown.escape', ['$event', '\"ESC\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n onKeyDown($event, eventAction) {\n const $li = $(this.nativeElement);\n const $ul = $(this.nativeElement).closest('ul.dropdown-menu');\n const $parentUl = this.menuRef.$element.find('> ul.dropdown-menu');\n const ARROW_KEYS = ['LEFT-ARROW', 'RIGHT-ARROW', 'UP-ARROW', 'DOWN-ARROW'];\n const KEY_MOVEMENTS = this.getInitialKeyMovements();\n\n if (_.includes(ARROW_KEYS, eventAction)) {\n // preventing from page scroll when up/down arrow is pressed, in case of menu is opened.\n $event.preventDefault();\n }\n\n if ((eventAction === KEY_MOVEMENTS.ON_TAB && $parentUl.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $parentUl.children().first()[0] === this.nativeElement)\n || eventAction === KEY_MOVEMENTS.ON_ESCAPE) {\n /*closing all the children elements when\n * 1. Tab is clicked on the last $element\n * 2. Shift Tab is clicked on the first $element\n * 3. When Escape key is clicked*/\n $event.preventDefault();\n this.menuRef.bsDropdown.hide();\n } else if ((eventAction === KEY_MOVEMENTS.ON_ENTER && !this.item.link) || eventAction === KEY_MOVEMENTS.MOVE_RIGHT) {\n // when there is no link for the menu, on enter open the inner child elements and focus the first $element\n $event.stopPropagation();\n if (this.item.children.length) {\n $li.toggleClass('open');\n $li.find('li').first().find('> a').focus();\n } else {\n $li.find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_LEFT\n || (eventAction === KEY_MOVEMENTS.ON_TAB && $ul.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $ul.children().first()[0] === this.nativeElement)) {\n if ($parentUl[0] !== $ul[0]) {\n const $parentItem = $ul.parent();\n $parentItem.toggleClass('open').find('li.open').removeClass('open');\n $parentItem.find('> a').focus();\n $event.preventDefault();\n $event.stopPropagation();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_UP) {\n if ($parentUl[0] !== $ul[0] || $parentUl.find('> li').first()[0] !== this.nativeElement) {\n $event.stopPropagation();\n $li.prev().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_DOWN) {\n $event.stopPropagation();\n if ($parentUl.find('> li').last()[0] === this.nativeElement\n && (this.menuRef.menulayout !== MENU_LAYOUT_TYPE.HORIZONTAL\n && this.menuRef.menuposition === MENU_POSITION.UP_RIGHT\n || this.menuRef.menuposition === MENU_POSITION.UP_LEFT)) {\n this.menuRef.bsDropdown.hide();\n } else {\n $li.next().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {\n this.onSelect($event, this.item);\n } else {\n $event.stopPropagation();\n }\n }\n\n @HostListener('click', ['$event', 'item'])\n onSelect = ($event, item) => {\n if (this.nativeElement !== $($event.target).closest('.app-menu-item').get(0)) {\n return;\n }\n // prevent event event propagation if auto close is outside click.\n if (this.menuRef.autoclose === 'outsideClick') {\n $event.stopPropagation();\n }\n\n $event.preventDefault();\n const args = {$event, $item: item};\n this.menuRef.onMenuItemSelect(args);\n const selectedItem = _.clone(item);\n selectedItem.target = selectedItem.target || this.menuRef.linktarget;\n // Trigger the action associated with active item\n triggerItemAction(this, selectedItem);\n }\n\n ngOnDestroy(): void {\n if(this.highlightActiveLinkSubscription) {\n this.highlightActiveLinkSubscription();\n }\n }\n}\n","<li wmMenuDropdownItem *ngFor=\"let item of items\"\n [item]=\"item\"\n [ngClass]=\"{disabled: item.disabled, 'dropdown-submenu': item.children.length > 0}\"\n class=\"{{item.class}}\"\n role=\"menuitem\">\n</li>\n","import { AfterViewInit, Component, ElementRef, Input } from '@angular/core';\n\nimport { addClass } from '@wm/core';\n\nimport { MenuComponent } from '../menu.component';\n\nconst animationClasses = {\n scale: {\n 'name': 'wmScaleInLeft',\n 'down,right': 'wmScaleInLeft',\n 'down,left': 'wmScaleInRight',\n 'up,right': 'wmScaleInTopLeft',\n 'up,left': 'wmScaleInTopRight'\n },\n fade: {\n 'name': 'fadeIn',\n 'down,right': 'fadeIn',\n 'down,left': 'fadeIn',\n 'up,right': 'fadeIn',\n 'up,left': 'fadeIn'\n },\n slide: {\n 'name': 'wmSlideInDown',\n 'down,right': 'wmSlideInDown',\n 'down,left': 'wmSlideInDown',\n 'up,right': 'wmSlideInUp',\n 'up,left': 'wmSlideInUp'\n }\n};\n\nconst DEFAULT_CLS = 'dropdown-menu';\n\n@Component({\n selector: 'ul[wmMenuDropdown]',\n templateUrl: './menu-dropdown.component.html'\n})\nexport class MenuDropdownComponent implements AfterViewInit {\n private readonly nativeElement;\n\n @Input() items;\n\n constructor(elRef: ElementRef, private menuRef: MenuComponent) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, DEFAULT_CLS);\n }\n\n ngAfterViewInit() {\n const animateItems = this.menuRef.animateitems;\n let animationClass = '';\n if (animateItems) {\n animationClass = `animated ${(animationClasses[animateItems][this.menuRef.menuposition] || animationClasses[animateItems].name)}`;\n }\n addClass(this.nativeElement, `dropdown-menu ${this.menuRef.menualign} ${animationClass}`, true);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav-item',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {ContentChild, Directive, HostListener, Injector, AfterViewInit, Optional} from '@angular/core';\n\nimport {addClass, removeClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { AnchorComponent } from '@wm/components/basic';\n\nimport { registerProps } from './nav-item.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-nav-item';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav-item', hostClass: DEFAULT_CLS};\n\n@Directive({\n selector: '[wmNavItem]',\n providers: [\n provideAsWidgetRef(NavItemDirective)\n ]\n})\nexport class NavItemDirective extends StylableComponent implements AfterViewInit{\n static initializeProps = registerProps();\n @ContentChild(AnchorComponent) innerLink;\n\n @HostListener('click')\n @HostListener('keydown.enter')\n makeActive() {\n const parentNode = this.nativeElement.parentNode;\n $(parentNode as HTMLElement).find('> li.active').removeClass('active');\n if (this.isAttached) {\n addClass(this.nativeElement, 'active');\n }\n }\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public ngAfterViewInit() {\n if (this.innerLink) {\n this.innerLink.onActive(() => this.makeActive());\n }\n }\n\n public ngOnDetach() {\n removeClass(this.nativeElement, 'active', true);\n super.ngOnDetach();\n }\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\n\nimport { setAttr } from '@wm/core';\n\nexport const disableContextMenu = ($event: Event) => {\n $event.preventDefault();\n};\n\n@Directive({selector: '[wmNavigationControl]'})\nexport class NavigationControlDirective {\n\n private nativeElement: HTMLElement;\n private _link: string;\n\n @Input() disableMenuContext: boolean;\n\n @Input() set wmNavigationControl(val) {\n this._link = val;\n if (val && !this.disableMenuContext) {\n setAttr(this.nativeElement, 'href', val);\n this.nativeElement.removeEventListener('contextmenu', disableContextMenu);\n } else {\n setAttr(this.nativeElement, 'href', 'javascript:void(0)');\n this.nativeElement.addEventListener('contextmenu', disableContextMenu);\n }\n }\n\n constructor(eleRef: ElementRef) {\n this.nativeElement = eleRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\nimport { WmComponentsModule } from '@wm/components/base';\nimport { BasicModule } from '@wm/components/basic';\nimport { InputModule } from '@wm/components/input';\n\nimport { MenuComponent } from './menu.component';\nimport { MenuDropdownComponent } from './menu-dropdown/menu-dropdown.component';\nimport { MenuDropdownItemComponent } from './menu-dropdown-item/menu-dropdown-item.component';\nimport { NavComponent } from './nav/nav.component';\nimport { NavItemDirective } from './nav/nav-item/nav-item.directive';\nimport { NavigationControlDirective } from './nav/navigation-control.directive';\n\nconst components = [\n MenuComponent,\n MenuDropdownComponent,\n MenuDropdownItemComponent,\n NavigationControlDirective,\n NavComponent,\n NavItemDirective\n];\n\n@NgModule({\n imports: [\n BasicModule,\n BsDropdownModule,\n CommonModule,\n InputModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class MenuModule {\n}\n","import {AfterViewInit, QueryList, ViewChildren, Directive, Optional} from '@angular/core';\n\nimport { StylableComponent } from '@wm/components/base';\nimport { MenuComponent } from './menu.component';\nimport {BaseContainerComponent} from '@wm/components/base';\n\ndeclare const _;\n\nconst menuProps = ['itemlabel', 'itemicon', 'itemlink', 'itemaction', 'itemchildren', 'userrole'];\n\n@Directive()\nexport class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit {\n\n private itemlabel;\n private menuRef;\n private pageScope;\n\n private binditemlabel;\n private binditemicon;\n private binditemaction;\n private binditemchildren;\n private binditemlink;\n private binduserrole;\n\n @ViewChildren(MenuComponent) private menuRefQL: QueryList<MenuComponent>;\n\n constructor(\n inj,\n WIDGET_CONFIG,\n ) {\n super(inj, WIDGET_CONFIG);\n\n this.pageScope = this.viewParent;\n this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');\n this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');\n this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');\n this.binditemlink = this.nativeElement.getAttribute('itemlink.bind');\n this.binduserrole = this.nativeElement.getAttribute('userrole.bind');\n this.binditemchildren = this.nativeElement.getAttribute('itemchildren.bind');\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (_.includes(menuProps, key) && this.menuRef) {\n this.menuRef.itemlabel = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n const subscriber = this.menuRefQL.changes.subscribe((menuRefQL: QueryList<MenuComponent>) => {\n if (menuRefQL.first) {\n this.menuRef = menuRefQL.first;\n menuProps.forEach((prop) => {\n const bindProp = `bind${prop}`;\n if (this[bindProp]) {\n this.menuRef[bindProp] = this[bindProp];\n }\n this.menuRef[prop] = this[prop];\n });\n subscriber.unsubscribe();\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","_c1","DEFAULT_CLS","WIDGET_CONFIG","_c0","i1","i2.MenuComponent","i3.NavComponent","i1.MenuComponent"],"mappings":";;;;;;;;;;;;;;;;AAEO,MAAMA,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,QAAQ,EACR,IAAI,GAAG,CACH;QACI,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAC,CAAC;QAChD,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,EAAC,CAAC;QAC9C,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,SAAS,EAAE,QAAQ,CAAC;QACrB,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,cAAc,EAAE,WAAW,CAAC;QAC7B,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,QAAQ,EAAE,WAAW,CAAC;QACvB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,UAAU,EAAE,WAAW,CAAC;AAC5B,KAAA,CACJ,CACJ,CAAC;AACN,CAAC;;;;IC7BG,EASkE,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;IAIlE,EAQsD,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;;;;AAPnD,IAAA,EAAA,CAAA,UAAA,CAAA,oBAAA,EAAA,MAAA,CAAA,kBAAA,IAAA,CAAA,CAAA,OAAA,CAAA,MAAA,CAA0D,CAAA,qBAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;IAE1D,EAAwG,CAAA,WAAA,CAAA,cAAA,EAAA,OAAA,CAAA,SAAA,IAAA,CAAA,MAAA,CAAA,QAAA,IAAA,OAAA,CAAA,IAAA,KAAA,IAAA,GAAA,MAAA,CAAA,cAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA;;;;IAS3G,EAA8J,CAAA,kBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;;;;;;;;AAAhJ,IAAA,EAAA,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAA8B,CAAA,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAC,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA,CAAA;;;;IAC5C,EAA8I,CAAA,kBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;;;;;;;AAAhI,IAAA,EAAA,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAA4B,CAAA,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,QAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;IAF9C,EAAyL,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;IACrL,EAA8J,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;IAC9J,EAA8I,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;IAClJ,EAAK,CAAA,YAAA,EAAA,CAAA;;;;IAHD,EAAmC,CAAA,sBAAA,CAAA,eAAA,EAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAAuD,EAA0F,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,QAAA,CAAA,SAAA,IAAA,CAAA,MAAA,CAAA,QAAA,IAAA,QAAA,CAAA,IAAA,KAAA,IAAA,GAAA,MAAA,CAAA,cAAA,CAAA,CAAA,CAAA;IAClE,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAA3B,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA;IAC1C,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAA1B,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA;;;IAGjI,EAAoE,CAAA,YAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,CAAA,CAAA;;;;ACXpE,MAAMC,aAAW,GAAG,aAAa,CAAC;AAClC,MAAMC,eAAa,GAAG,EAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAED,aAAW,EAAC,CAAC;AAErE,MAAM,WAAW,GAAG;AAChB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,MAAM,EAAE,YAAY;CACvB,CAAC;AASI,MAAO,YAAa,SAAQ,wBAAwB,CAAA;AAWtD,IAAA,IAAY,cAAc,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;KAClC;IAED,WACI,CAAA,GAAa,EACL,KAAwB,EACxB,KAAa,EACb,2BAAwD,EACxD,GAAQ,EACW,aAAa,EAAA;AAExC,QAAA,KAAK,CAAC,GAAG,EAAEC,eAAa,CAAC,CAAC;QANlB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;QACxB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QACb,IAA2B,CAAA,2BAAA,GAA3B,2BAA2B,CAA6B;QACxD,IAAG,CAAA,GAAA,GAAH,GAAG,CAAK;QAIhB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;;QAEjC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;YACnD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,gBAAA,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,YAAa,KAAI;oBACrC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,KAAI;AACtB,wBAAA,IAAI,SAAS,EAAE;4BACX,OAAO;AACV,yBAAA;wBACD,IAAI,IAAI,CAAC,QAAQ,EAAE;4BACf,SAAS,GAAG,IAAI,CAAC;4BACjB,IAAI,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AACpF,4BAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;;AAEpE,4BAAA,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;4BAE9B,IAAI,CAAC,YAAY,EAAE;AAChB,gCAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACxB,6BAAA;AACD,4BAAA,OAAO,KAAK,CAAC;AAChB,yBAAA;wBACD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC3B,4BAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAClC,yBAAA;AACL,qBAAC,CAAC,CAAC;AACP,iBAAC,CAAC;AACF,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvB,aAAA;AACL,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;KAEzE;AAGO,IAAA,UAAU,CAAC,IAAI,EAAA;QACnB,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;KACnD;AAEO,IAAA,YAAY,CAAC,MAAM,EAAA;QACvB,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAO,IAAA,EAAA,MAAM,CAAE,CAAA,CAAC,CAAC;KACjD;AAEM,IAAA,WAAW,CAAC,MAAa,EAAE,IAAS,EAAE,KAAkB,EAAA;QAC3D,MAAM,CAAC,cAAc,EAAE,CAAC;AAExB,QAAA,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACrD,QAAA,IAAI,YAAY,EAAE;YACd,OAAO,YAAY,CAAC,SAAS,CAAC;AACjC,SAAA;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC/C,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAE7B,QAAA,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAE1B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;AAE/B,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;;AAEhE,QAAA,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACjC;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;AAED;;;;;AAKG;AACH,IAAA,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;KAC1E;;AA1GM,YAAe,CAAA,eAAA,GAAGH,eAAa,EAAE,CAAC;AADhC,YAAA,CAAA,IAAA,GAAA,SAAA,oBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,YAAY,2NAqBN,cAAc,CAAA,CAAA,CAAA,EAAA,CAAA;AArBpB,YAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,YAAY,EAJV,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;YACP,kBAAkB,CAAC,YAAY,CAAC;AACnC,SAAA,CAAA,EAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAAI,KAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,SAAA,EAAA,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,yCAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,yBAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,qBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;QDjCL,EAWc,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;QAEd,EAUc,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;QAEd,EAGK,CAAA,UAAA,CAAA,CAAA,EAAA,0BAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QAEL,EAAoE,CAAA,UAAA,CAAA,CAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;;QALX,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAV,EAAU,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;QAKtD,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;;uFCKnB,YAAY,EAAA,CAAA;cAPxB,SAAS;AACI,QAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAER,SAAA,EAAA;AACP,oBAAA,kBAAkB,CAAc,YAAA,CAAA;AACnC,iBAAA,EAAA,QAAA,EAAA,onDAAA,EAAA,CAAA;;sBAuBI,SAAS;uBAAC,cAAc,CAAA;;;ACtD1B,MAAMJ,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,SAAS,EACT,IAAI,GAAG,CACH;QACI,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,EAAC,CAAC;QACpD,CAAC,cAAc,EAAE,WAAW,CAAC;QAC7B,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAC,CAAC;QAChD,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,EAAC,CAAC;QAC9C,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,uCAAuC,EAAE,GAAG,QAAQ,EAAC,CAAC;QAC1E,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAC,CAAC;QACrC,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,cAAc,EAAE,WAAW,CAAC;QAC7B,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,EAAC,CAAC;QAChD,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,cAAc,EAAE,WAAW,CAAC;QAC7B,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,aAAa,EAAE,WAAW,CAAC;QAC5B,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;QACxC,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACzC,CAAC,UAAU,EAAE,WAAW,CAAC;AAC5B,KAAA,CACJ,CACJ,CAAC;AACN,CAAC;;;;;ICtCG,EAWyC,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;IACrC,EAAiE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IACrE,EAAS,CAAA,YAAA,EAAA,CAAA;;;IARD,EAAoD,CAAA,sBAAA,CAAA,iCAAA,EAAA,MAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA;IADpD,EAAkC,CAAA,WAAA,CAAA,YAAA,EAAA,MAAA,CAAA,IAAA,IAAA,MAAA,CAAA,CAAA;IAQJ,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAvB,EAAuB,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAC,KAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA,CAAA;;;AAK7D,IAAA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,CAAsC,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;;;IAAnC,EAA8B,CAAA,sBAAA,CAAA,WAAA,EAAA,MAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA;IACX,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAvB,EAAuB,CAAA,UAAA,CAAA,aAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;IACvC,EAAyC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAzC,EAAyC,CAAA,sBAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA;;;IAGnD,EAA2D,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IACvD,EAgBC,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IACG,EAAiE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IACrE,EAAI,CAAA,YAAA,EAAA,CAAA;IACR,EAAe,CAAA,qBAAA,EAAA,CAAA;;;IAVR,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAArC,EAAqC,CAAA,sBAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA;IAQF,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAvB,EAAuB,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA,CAAA;;;IAIjE,EAAkK,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;;IAAxG,EAAsC,CAAA,sBAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AAA7E,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAe,CAAA,SAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;AChCrB,MAAA,kBAAkB,GAAG;AAC9B,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,SAAS,EAAE,KAAK;EAClB;AAEW,MAAA,aAAa,GAAG;AACzB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,MAAM,EAAE,QAAQ;EAClB;AAEF,MAAM,QAAQ,GAAG;AACb,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,QAAQ;CACnB,CAAC;AACF,MAAM,SAAS,GAAG;AACd,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,IAAI,EAAE,eAAe;CACxB,CAAC;AACF,MAAM,QAAQ,GAAG;AACb,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,KAAK,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,SAAS,GAAG;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAME,eAAa,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;AAQ1E,MAAO,aAAc,SAAQ,wBAAwB,CAAA;IAqB9B,MAAM,GAAA;QAC3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5F,aAAC,CAAC,CAAC;AACN,SAAA;AACD,QAAA,UAAU,EAAE,CAAC;KAChB;IACyB,MAAM,GAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;AAChD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,QAAA,UAAU,EAAE,CAAC;KAChB;IAMqD,SAAS,CAAC,MAAM,EAAE,WAAW,EAAA;QAC/E,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAClD,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,QAAQ,EAAE;AAC9C,YAAA,aAAa,CAAC,OAAO,GAAG,YAAY,CAAC;AACrC,YAAA,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC;AACxC,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE;AACpD,YAAA,aAAa,CAAC,OAAO,GAAG,YAAY,CAAC;AACrC,YAAA,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC;AACrC,YAAA,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC;AACxC,YAAA,aAAa,CAAC,UAAU,GAAG,YAAY,CAAC;AAC3C,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,EAAE;AACtD,YAAA,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC;AACxC,YAAA,aAAa,CAAC,UAAU,GAAG,YAAY,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE;AAC9E,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACzB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1B,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAC3F,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,WAAW,KAAK,aAAa,CAAC,QAAQ,EAAE;AAC/C,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChC,SAAA;AAAM,aAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,EAAE;AAClF,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1B,SAAA;QACD,MAAM,CAAC,cAAc,EAAE,CAAC;KAC3B;AAED,IAAA,WAAA,CACI,GAAa,EACN,KAAa,EACZ,2BAAwD,EACxD,GAAQ,EACW,UAA+B,EACtC,SAAuB,EACT,aAAqB,EAAA;AAEvD,QAAA,KAAK,CAAC,GAAG,EAAEA,eAAa,CAAC,CAAC;QAPnB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QACZ,IAA2B,CAAA,2BAAA,GAA3B,2BAA2B,CAA6B;QACxD,IAAG,CAAA,GAAA,GAAH,GAAG,CAAK;QACW,IAAU,CAAA,UAAA,GAAV,UAAU,CAAqB;QACtC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QACT,IAAa,CAAA,aAAA,GAAb,aAAa,CAAQ;QA7DnD,IAAS,CAAA,SAAA,GAAG,eAAe,CAAC;QAC5B,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AA+D7B,QAAA,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC;AAC5D,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,aAAa,CAAC;AAC7C,SAAA;;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;YACnD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,gBAAA,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAClD,oBAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAgB,EAAE,QAAQ,CAAC,CAAC;AAC3F,iBAAA;;gBAED,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,OAAO;AACV,iBAAA;gBACD,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,gBAAA,MAAM,OAAO,GAAG,CAAC,KAAK,KAAI;oBACtB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,KAAI;AACtB,wBAAA,IAAI,SAAS,EAAE;4BACX,OAAO;AACV,yBAAA;wBACD,IAAI,IAAI,CAAC,QAAQ,EAAE;4BACf,SAAS,GAAG,IAAI,CAAC;AACjB,4BAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;AAEnD,4BAAA,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,4BAAA,OAAO,KAAK,CAAC;AAChB,yBAAA;wBACD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC3B,4BAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,yBAAA;AAEL,qBAAC,CAAC,CAAC;AACP,iBAAC,CAAC;AACF,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvB,aAAA;AACL,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;KAEzE;IAES,UAAU,GAAA;QAChB,KAAK,CAAC,UAAU,EAAE,CAAC;;AAEnB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,WAAW,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,MAAM,EAAE;AACrI,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1B,SAAA;KACJ;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,EAAE,CAAC;AAEvB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,IAAI,KAAI;YAC1E,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAgB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,CAAC;AAClJ,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;KAC5D;AAED,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;QAE3C,IAAI,GAAG,KAAK,UAAU,EAAE;YACpB,OAAO;AACV,SAAA;QAED,IAAI,GAAG,KAAK,WAAW,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,KAAK,cAAc,CAAC,QAAQ,CAAC;AAC9D,SAAA;AAAM,aAAA;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACvC,SAAA;KACJ;IAEO,eAAe,GAAA;QACnB,QAAQ,IAAI,CAAC,YAAY;YACrB,KAAK,QAAQ,CAAC,UAAU;AACpB,gBAAA,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC/B,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;gBAChC,MAAM;YACV,KAAK,QAAQ,CAAC,SAAS;AACnB,gBAAA,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;AAChC,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;gBAChC,MAAM;YACV,KAAK,QAAQ,CAAC,OAAO;AACjB,gBAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACvC,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;AAChC,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC;gBAC9B,MAAM;YACV,KAAK,QAAQ,CAAC,QAAQ;AAClB,gBAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACvC,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC/B,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC;gBAC9B,MAAM;YACV,KAAK,QAAQ,CAAC,MAAM;AAChB,gBAAA,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBACnC,MAAM;AACb,SAAA;KACJ;AAEM,IAAA,gBAAgB,CAAC,IAAI,EAAA;AACxB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;KACzD;IAED,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAgB,EAAE,IAAI,CAAC,CAAC;KACrF;;AA5LM,aAAe,CAAA,eAAA,GAAGH,eAAa,EAAE,CAAC;AADhC,aAAA,CAAA,IAAA,GAAA,SAAA,qBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,aAAa,0QA6EP,cAAc,CAAA,CAAA,CAAA,EAAA,CAAA;gEA7EpB,aAAa,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,0BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;8FAAb,GAAQ,CAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,UAAA,EAAA,SAAA,yCAAA,GAAA,EAAA,OAAR,YAAQ,CAAR,EAAA,CAAA,CAAA,iBAAA,EAAA,SAAA,gDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,UAAU,CAAC,CAAA,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,kDAAA,CAAA,MAAA,EAAA,EAAA,OAA5B,sBAAiB,YAAY,CAAC,yGAA9B,GAAiB,CAAA,SAAA,CAAA,MAAA,EAAA,aAAa,CAAC,CAA/B,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,kDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,YAAY,CAAC,CAAA,EAAA,CAAA,CAAA,eAAA,EAAA,SAAA,8CAAA,CAAA,MAAA,EAAA,EAAA,OAA9B,GAAiB,CAAA,SAAA,CAAA,MAAA,EAAA,OAAO,CAAC,CAAA,EAAA,CAAA,CAAA;AAJvB,KAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;YACP,kBAAkB,CAAC,aAAa,CAAC;AACpC,SAAA,CAAA,EAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAAI,KAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,cAAA,EAAA,EAAA,CAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,MAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,IAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,MAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,sBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QD5DL,EAec,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;QAEd,EAIc,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;QAEd,EAoBe,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QAEf,EAAkK,CAAA,UAAA,CAAA,CAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;;QAtBnJ,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,KAAA,QAAA,CAAyB,CAAA,UAAA,EAAA,GAAA,CAAA,CAAA;;uFCuC3B,aAAa,EAAA,CAAA;cAPzB,SAAS;AACI,QAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAET,SAAA,EAAA;AACP,oBAAA,kBAAkB,CAAe,aAAA,CAAA;AACpC,iBAAA,EAAA,QAAA,EAAA,0oDAAA,EAAA,CAAA;;sBA6EI,IAAI;;sBAAI,QAAQ;;sBAChB,QAAQ;;sBACR,SAAS;uBAAC,cAAc,CAAA;wBAxDJ,MAAM,EAAA,CAAA;kBAA9B,YAAY;mBAAC,SAAS,CAAA;YAQG,MAAM,EAAA,CAAA;kBAA/B,YAAY;mBAAC,UAAU,CAAA;YAW8B,SAAS,EAAA,CAAA;kBAJ9D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;;kBACxD,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;;kBAC5D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;;kBAC9D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;;kBAC5D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;;;;;ICrGpD,EAAoF,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;;;IAAjD,EAAyC,CAAA,sBAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA;;;IAG5E,EAAoF,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;;;IAAlC,EAA0B,CAAA,UAAA,CAAA,aAAA,EAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;;;;IAEhF,EAA2I,CAAA,kBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;;;;AAA7H,IAAA,EAAA,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAuC,CAAA,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAH,KAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;;IAGjD,EAAgD,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;;IAA7B,EAAuB,CAAA,UAAA,CAAA,OAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA;;ACC9C,MAAM,cAAc,GAAG;AACnB,IAAA,YAAY,EAAG,eAAe;AAC9B,IAAA,iBAAiB,EAAG,eAAe;AACnC,IAAA,WAAW,EAAG,gBAAgB;CACjC,CAAC;AAEF,MAAM,gBAAgB,GAAG;AACrB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,QAAQ,EAAE,UAAU;CACvB,CAAC;MAMW,yBAAyB,CAAA;IAWlC,WACY,CAAA,GAAQ,EACT,OAAsB,EACrB,2BAAwD,EAC5C,SAAuB,EAC3C,KAAiB,EAAA;QAJT,IAAG,CAAA,GAAA,GAAH,GAAG,CAAK;QACT,IAAO,CAAA,OAAA,GAAP,OAAO,CAAe;QACrB,IAA2B,CAAA,2BAAA,GAA3B,2BAA2B,CAA6B;QAC5C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;AAkH/C,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,MAAM,EAAE,IAAI,KAAI;YACxB,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC1E,OAAO;AACV,aAAA;;AAED,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,cAAc,EAAE;gBAC3C,MAAM,CAAC,eAAe,EAAE,CAAC;AAC5B,aAAA;YAED,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,YAAA,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;AAErE,YAAA,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAC1C,SAAC,CAAA;AA/HG,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;AACzC,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAE9C,QAAA,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;KAC1F;IAED,QAAQ,GAAA;;QAEJ,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;;AAE3D,gBAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC1C,aAAA;AACD,YAAA,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,IAAI,KAAI;gBACtF,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACzG,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;IAED,sBAAsB,GAAA;QAClB,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,gBAAgB,CAAC,UAAU,EAAE;AACzD,YAAA,aAAa,CAAC,OAAO,GAAG,YAAY,CAAC;AACrC,YAAA,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC;AACrC,YAAA,aAAa,CAAC,UAAU,GAAG,YAAY,CAAC;AACxC,YAAA,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC;AAC3C,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE;AAC9G,gBAAA,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC;AACxC,gBAAA,aAAa,CAAC,UAAU,GAAG,YAAY,CAAC;AAC3C,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE;AAC/C,gBAAA,aAAa,CAAC,OAAO,GAAG,YAAY,CAAC;AACrC,gBAAA,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC;AACrC,gBAAA,aAAa,CAAC,UAAU,GAAG,YAAY,CAAC;AACxC,gBAAA,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC;AAC3C,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,aAAa,CAAC;KACxB;IAUD,SAAS,CAAC,MAAM,EAAE,WAAW,EAAA;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAClC,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC3E,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpD,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;;YAErC,MAAM,CAAC,cAAc,EAAE,CAAC;AAC3B,SAAA;QAED,IAAI,CAAC,WAAW,KAAK,aAAa,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa;gBAC1F,WAAW,KAAK,aAAa,CAAC,YAAY,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC;AACtG,eAAA,WAAW,KAAK,aAAa,CAAC,SAAS,EAAE;AAC5C;;;AAGiC;YACjC,MAAM,CAAC,cAAc,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAClC,SAAA;aAAM,IAAI,CAAC,WAAW,KAAK,aAAa,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,KAAK,aAAa,CAAC,UAAU,EAAE;;YAEhH,MAAM,CAAC,eAAe,EAAE,CAAC;AACzB,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC3B,gBAAA,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACxB,gBAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAC9C,aAAA;AAAM,iBAAA;gBACH,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAC3B,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,WAAW,KAAK,aAAa,CAAC,SAAS;gBAC1C,WAAW,KAAK,aAAa,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC;gBACxF,WAAW,KAAK,aAAa,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE;YACrG,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;AACzB,gBAAA,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;AACjC,gBAAA,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACpE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,eAAe,EAAE,CAAC;AAC5B,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,WAAW,KAAK,aAAa,CAAC,OAAO,EAAE;YAC9C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE;gBACrF,MAAM,CAAC,eAAe,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAClC,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,WAAW,KAAK,aAAa,CAAC,SAAS,EAAE;YAChD,MAAM,CAAC,eAAe,EAAE,CAAC;AACzB,YAAA,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa;oBACnD,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,gBAAgB,CAAC,UAAU;AACpD,uBAAA,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,QAAQ;uBACpD,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,CAAC,EAAE;AAC7D,gBAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAClC,aAAA;AAAM,iBAAA;gBACH,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAClC,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,WAAW,KAAK,aAAa,CAAC,QAAQ,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA;YACH,MAAM,CAAC,eAAe,EAAE,CAAC;AAC5B,SAAA;KACJ;IAqBD,WAAW,GAAA;QACP,IAAG,IAAI,CAAC,+BAA+B,EAAE;YACrC,IAAI,CAAC,+BAA+B,EAAE,CAAC;AAC1C,SAAA;KACJ;;kGAvJQ,yBAAyB,EAAA,EAAA,CAAA,iBAAA,CAAAI,EAAA,CAAA,GAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,aAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAD,EAAA,CAAA,2BAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAE,YAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;4EAAzB,yBAAyB,EAAA,SAAA,EAAA,CAAA,CAAA,IAAA,EAAA,oBAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,sCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAAzB,QAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,wDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,KAAK,CAAC,CAAvB,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,8DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,WAAW,CAAC,CAA7B,EAAA,CAAA,CAAA,gBAAA,EAAA,SAAA,2DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,KAAK,CAAC,CAAvB,EAAA,CAAA,CAAA,eAAA,EAAA,SAAA,0DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,OAAO,CAAC,CAAA,EAAA,CAAA,CAAA,iBAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,OAAzB,GAAiB,CAAA,SAAA,CAAA,MAAA,EAAA,UAAU,CAAC,CAAA,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,8DAAA,CAAA,MAAA,EAAA,EAAA,OAA5B,GAAiB,CAAA,SAAA,CAAA,MAAA,EAAA,YAAY,CAAC,CAA9B,EAAA,CAAA,CAAA,oBAAA,EAAA,SAAA,+DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,aAAa,CAAC,CAA/B,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,8DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,SAAA,CAAA,MAAA,EAAiB,YAAY,CAAC,2FAA9B,GAAqB,CAAA,QAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;QDzBlC,EAAwJ,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;QACpJ,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;QACpF,EAAsC,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;QACtC,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;QAClD,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;QACxF,EAAI,CAAA,YAAA,EAAA,CAAA;QACJ,EAA2I,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QAE3I,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;AAVgB,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,CAAoB,sCAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,OAAA,CAAA,kBAAA,IAAA,CAAA,CAAA,GAAA,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA;QACvC,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1B,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA;QAC9B,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA9B,EAA8B,CAAA,sBAAA,CAAA,WAAA,EAAA,GAAA,CAAA,IAAA,CAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACJ,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAd,EAAc,CAAA,iBAAA,CAAA,GAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;QACpC,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;QAE4B,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1B,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA;;uFCmBpE,yBAAyB,EAAA,CAAA;cAJrC,SAAS;2BACI,wBAAwB,EAAA,QAAA,EAAA,kuBAAA,EAAA,CAAA;;sBAkB7B,QAAQ;iDATJ,IAAI,EAAA,CAAA;kBAAZ,KAAK;YA4DN,SAAS,EAAA,CAAA;kBARR,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;;kBAC/C,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;;kBAC3D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;;kBAClD,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;;kBACnD,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;;kBACxD,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;;kBAC5D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;;kBAC9D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YAgE7D,QAAQ,EAAA,CAAA;kBADP,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;;;;;;ICzJ7C,EAKK,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;;IAFD,EAAsB,CAAA,UAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAFtB,IAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAa,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,OAAA,CAAA,QAAA,EAAA,OAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA,CAAA;;ACKjB,MAAM,gBAAgB,GAAG;AACrB,IAAA,KAAK,EAAE;AACH,QAAA,MAAM,EAAE,eAAe;AACvB,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,SAAS,EAAE,mBAAmB;AACjC,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,SAAS,EAAE,QAAQ;AACtB,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,MAAM,EAAE,eAAe;AACvB,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,SAAS,EAAE,aAAa;AAC3B,KAAA;CACJ,CAAC;AAEF,MAAML,aAAW,GAAG,eAAe,CAAC;MAMvB,qBAAqB,CAAA;IAK9B,WAAY,CAAA,KAAiB,EAAU,OAAsB,EAAA;QAAtB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAe;AACzD,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;AACzC,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAEA,aAAW,CAAC,CAAC;KAC7C;IAED,eAAe,GAAA;AACX,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/C,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,QAAA,IAAI,YAAY,EAAE;YACd,cAAc,GAAG,aAAa,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,EAAC,CAAE,CAAC;AACrI,SAAA;AACD,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAI,CAAA,EAAA,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;KACnG;;0FAjBQ,qBAAqB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAM,aAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wEAArB,qBAAqB,EAAA,SAAA,EAAA,CAAA,CAAA,IAAA,EAAA,gBAAA,EAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDpClC,EAKK,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;QALmC,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;;uFCoCnC,qBAAqB,EAAA,CAAA;cAJjC,SAAS;2BACI,oBAAoB,EAAA,QAAA,EAAA,oOAAA,EAAA,CAAA;sFAMrB,KAAK,EAAA,CAAA;kBAAb,KAAK;;;ACrCH,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,aAAa,EACb,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;AAC3C,KAAA,CACJ,CACJ,CAAC;AACN,CAAC;;ACHD,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,aAAa,GAAG,EAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAC,CAAC;AAQpE,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;IAMnD,UAAU,GAAA;AACN,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AACjD,QAAA,CAAC,CAAC,UAAyB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC1C,SAAA;KACJ;AAED,IAAA,WAAA,CAAY,GAAa,EAAA;AACrB,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;KACjE;IAEM,eAAe,GAAA;QAClB,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AACpD,SAAA;KACJ;IAEM,UAAU,GAAA;QACb,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,UAAU,EAAE,CAAC;KACtB;;AA3BM,gBAAe,CAAA,eAAA,GAAG,aAAa,EAAE,CAAC;gFADhC,gBAAgB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mEAAhB,gBAAgB,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,WAAA,EAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;oCAEX,eAAe,EAAA,CAAA,CAAA,CAAA;;;;;AAFpB,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yCAAA,GAAA,EAAA,OAAA,GAAA,CAAA,UAAA,EAAY,4FAAZ,GAAY,CAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AAJV,KAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;YACP,kBAAkB,CAAC,gBAAgB,CAAC;AACvC,SAAA,CAAA,EAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,CAAA,CAAA;uFAEQ,gBAAgB,EAAA,CAAA;cAN5B,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,aAAa;AACvB,gBAAA,SAAS,EAAE;AACP,oBAAA,kBAAkB,CAAkB,gBAAA,CAAA;AACvC,iBAAA;AACJ,aAAA,CAAA;2DAGkC,SAAS,EAAA,CAAA;kBAAvC,YAAY;mBAAC,eAAe,CAAA;YAI7B,UAAU,EAAA,CAAA;kBAFT,YAAY;mBAAC,OAAO,CAAA;;kBACpB,YAAY;mBAAC,eAAe,CAAA;;;ACpBpB,MAAA,kBAAkB,GAAG,CAAC,MAAa,KAAI;IAChD,MAAM,CAAC,cAAc,EAAE,CAAC;AAC5B,EAAE;MAGW,0BAA0B,CAAA;IAOnC,IAAa,mBAAmB,CAAC,GAAG,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACjB,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAC7E,SAAA;AAAM,aAAA;YACH,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAC1E,SAAA;KACJ;AAED,IAAA,WAAA,CAAY,MAAkB,EAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;KAC7C;;oGApBQ,0BAA0B,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;6EAA1B,0BAA0B,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,CAAA,CAAA;uFAA1B,0BAA0B,EAAA,CAAA;cADtC,SAAS;eAAC,EAAC,QAAQ,EAAE,uBAAuB,EAAC,CAAA;6DAMjC,kBAAkB,EAAA,CAAA;kBAA1B,KAAK;YAEO,mBAAmB,EAAA,CAAA;kBAA/B,KAAK;;;ACAV,MAAM,UAAU,GAAG;IACf,aAAa;IACb,qBAAqB;IACrB,yBAAyB;IACzB,0BAA0B;IAC1B,YAAY;IACZ,gBAAgB;CACnB,CAAC;MAaW,UAAU,CAAA;;oEAAV,UAAU,GAAA,CAAA,EAAA,CAAA;4DAAV,UAAU,EAAA,CAAA,CAAA;gEATf,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,WAAW;QACX,kBAAkB,CAAA,EAAA,CAAA,CAAA;uFAKb,UAAU,EAAA,CAAA;cAXtB,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACN,gBAAA,OAAO,EAAE;oBACL,WAAW;oBACX,gBAAgB;oBAChB,YAAY;oBACZ,WAAW;oBACX,kBAAkB;AACrB,iBAAA;AACD,gBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;AAC7B,gBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AAC3B,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,UAAU,mBAnBnB,aAAa;QACb,qBAAqB;QACrB,yBAAyB;QACzB,0BAA0B;QAC1B,YAAY;AACZ,QAAA,gBAAgB,aAKZ,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,WAAW;AACX,QAAA,kBAAkB,aAdtB,aAAa;QACb,qBAAqB;QACrB,yBAAyB;QACzB,0BAA0B;QAC1B,YAAY;QACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA;AALhB,EAAA,CAAA,mBAAA,CAAA,aAAa,yJACb,qBAAqB,CAAA,EAAA,EAAA,CAAA,CAAA;AACrB,EAAA,CAAA,mBAAA,CAAA,yBAAyB,0DADzB,qBAAqB;IAErB,0BAA0B,CAAA,EAAA,EAAA,CAAA,CAAA;AAC1B,EAAA,CAAA,mBAAA,CAAA,YAAY,yGAJZ,aAAa;IAGb,0BAA0B,CAAA,EAAA,EAAA,CAAA;;ACZ9B,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AAG5F,MAAO,oBAAqB,SAAQ,sBAAsB,CAAA;IAe5D,WACI,CAAA,GAAG,EACH,aAAa,EAAA;AAEb,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAE1B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;KAChF;AAED,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;AAC3C,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;AAC5C,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/B,SAAA;AAAM,aAAA;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACvC,SAAA;KACJ;IAED,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAmC,KAAI;YACxF,IAAI,SAAS,CAAC,KAAK,EAAE;AACjB,gBAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;AAC/B,gBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACvB,oBAAA,MAAM,QAAQ,GAAG,CAAO,IAAA,EAAA,IAAI,EAAE,CAAC;AAC/B,oBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE;wBAChB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3C,qBAAA;oBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,iBAAC,CAAC,CAAC;gBACH,UAAU,CAAC,WAAW,EAAE,CAAC;AAC5B,aAAA;AACL,SAAC,CAAC,CAAC;KACN;;;uEArDQ,oBAAoB,EAAA,SAAA,EAAA,SAAA,0BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;uBAaf,aAAa,EAAA,CAAA,CAAA,CAAA;;;;;uFAblB,oBAAoB,EAAA,CAAA;cADhC,SAAS;8EAc+B,SAAS,EAAA,CAAA;kBAA7C,YAAY;mBAAC,aAAa,CAAA;;;ACxB/B;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/menu/src/nav/nav.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.html","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.props.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/navigation-control.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.module.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-adapator.component.ts","../../../../../projects/components/widgets/navigation/menu/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav',\n new Map(\n [\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['dataset', PROP_ANY],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itembadge', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['layout', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n","import {\n Attribute,\n ChangeDetectorRef,\n Component,\n Injector,\n OnInit,\n Optional,\n SkipSelf,\n ViewContainerRef\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport {addClass, App, removeClass, triggerItemAction, UserDefinedExecutionContext} from '@wm/core';\nimport { APPLY_STYLES_TYPE, DatasetAwareNavComponent, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './nav.props';\n\ndeclare const _;\n\nconst DEFAULT_CLS = 'nav app-nav';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav', hostClass: DEFAULT_CLS};\n\nconst NavClassMap = {\n pills: 'nav-pills',\n tabs: 'nav-tabs',\n navbar: 'navbar-nav'\n};\n\n@Component({\n selector: '[wmNav]',\n templateUrl: './nav.component.html',\n providers: [\n provideAsWidgetRef(NavComponent)\n ]\n})\nexport class NavComponent extends DatasetAwareNavComponent implements OnInit {\n static initializeProps = registerProps();\n\n public selecteditem;\n public type;\n public disableMenuContext: boolean;\n public layout;\n public showonhover: boolean;\n private activeNavLINode: HTMLElement;\n private itemActionFn: Function;\n private pageScope: any;\n private get activePageName() {\n return this.app.activePageName;\n }\n\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Attribute('select.event') selectEventCB\n ) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.disableMenuContext = !!selectEventCB;\n this.pageScope = this.viewParent;\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!_.isEmpty(this.nodes)) {\n let itemFound = false;\n const getItem = (nodes, isMenuWidget?) => {\n _.forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.selecteditem = isMenuWidget ? _.omit(item, ['children', 'value']) : item.value;\n this.invokeEventCallback('select', {$event: {}, $item: item.value});\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n // _selected is used to add active class for nav item. If we have children inside nav widget then it is not required.\n if (!isMenuWidget) {\n item._selected = true;\n }\n return false;\n }\n if (!_.isEmpty(item.children)) {\n getItem(item.children, 'menu');\n }\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n\n private setNavType(type) {\n addClass(this.nativeElement, NavClassMap[type]);\n }\n\n private setNavLayout(layout) {\n addClass(this.nativeElement, `nav-${layout}`);\n }\n\n public onNavSelect($event: Event, item: any, liRef: HTMLElement) {\n $event.preventDefault();\n\n const selectedItem = _.find(this.nodes, '_selected');\n if (selectedItem) {\n delete selectedItem._selected;\n }\n\n if (this.activeNavLINode) {\n removeClass(this.activeNavLINode, 'active');\n }\n\n this.activeNavLINode = liRef;\n\n addClass(liRef, 'active');\n\n this.selecteditem = item.value;\n\n this.invokeEventCallback('select', {$event, $item: item.value});\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setNavType(this.type);\n this.setNavLayout(this.layout);\n }\n\n /**\n * invoked from the menu widget when a menu item is selected.\n * @param $event\n * @param widget\n * @param $item\n */\n onMenuItemSelect($event, widget, $item) {\n this.selecteditem = _.omit($item, ['children', 'value']);\n this.invokeEventCallback('select', {$event, $item: this.selecteditem});\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-menu',\n new Map(\n [\n ['accessroles', {value: 'Everyone', ...PROP_STRING}],\n ['animateitems', PROP_STRING],\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['dataset', {value: 'Menu Item 1, Menu Item 2, Menu Item 3', ...PROP_ANY}],\n ['hint', {value: '', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['linktarget', {value: '_self', ...PROP_STRING}],\n ['menuclass', PROP_STRING],\n ['menulayout', PROP_STRING],\n ['menuposition', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'menu', ...PROP_STRING}],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","<ng-template #menuTemplate>\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"hint || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n</ng-template>\n\n<ng-template #innerTemplate>\n <i class=\"app-icon {{iconclass}}\"></i>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n<ng-container *ngIf=\"type === 'anchor'; else menuTemplate\">\n <a wmAnchor\n dropdownToggle\n\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n</ng-container>\n\n<ul wmMenuDropdown [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" *dropdownMenu aria-labelledby=\"dropdownmenu\" role=\"menubar\"></ul>\n","import { AfterViewInit, Attribute, Component, HostListener, Injector, OnDestroy, OnInit, Optional, Self } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { BsDropdownDirective } from 'ngx-bootstrap/dropdown';\n\nimport { $appDigest, addClass, removeClass, triggerItemAction, App, toggleClass, UserDefinedExecutionContext } from '@wm/core';\nimport { DatasetAwareNavComponent, hasLinkToCurrentPage, provideAsWidgetRef, styler, AUTOCLOSE_TYPE } from '@wm/components/base';\nimport { NavComponent } from './nav/nav.component';\n\nimport { registerProps } from './menu.props';\n\ndeclare const _;\n\nexport const KEYBOARD_MOVEMENTS = {\n MOVE_UP: 'UP-ARROW',\n MOVE_LEFT: 'LEFT-ARROW',\n MOVE_RIGHT: 'RIGHT-ARROW',\n MOVE_DOWN: 'DOWN-ARROW',\n ON_ENTER: 'ENTER',\n ON_MOUSE_ENTER: 'MOUSE-ENTER',\n ON_MOUSE_LEAVE: 'MOUSE-LEAVE',\n ON_TAB: 'TAB',\n ON_SHIFT_TAB: 'SHIFT-TAB',\n ON_ESCAPE: 'ESC'\n};\n\nexport const MENU_POSITION = {\n UP_LEFT: 'up,left',\n UP_RIGHT: 'up,right',\n DOWN_LEFT: 'down,left',\n DOWN_RIGHT: 'down,right',\n INLINE: 'inline'\n};\n\nconst POSITION = {\n DOWN_RIGHT: 'down,right',\n DOWN_LEFT: 'down,left',\n UP_RIGHT: 'up,right',\n UP_LEFT: 'up,left',\n INLINE: 'inline'\n};\nconst CARET_CLS = {\n UP: 'fa-caret-up',\n DOWN: 'fa-caret-down'\n};\nconst PULL_CLS = {\n LEFT: 'pull-left',\n RIGHT: 'pull-right'\n};\n\nconst AUTO_OPEN = {\n NEVER: 'never',\n ACTIVE_PAGE: 'activepage',\n ALWAYS: 'always'\n};\n\nconst WIDGET_CONFIG = { widgetType: 'wm-menu', hostClass: 'dropdown app-menu' };\n@Component({\n selector: '[wmMenu]',\n templateUrl: './menu.component.html',\n providers: [\n provideAsWidgetRef(MenuComponent)\n ]\n})\nexport class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {\n static initializeProps = registerProps();\n\n public menualign: string;\n public menuposition: string;\n public menulayout: string;\n public menuclass: string;\n public linktarget: string;\n public iconclass: string;\n public animateitems: string;\n public disableMenuContext: boolean;\n public showonhover: boolean;\n public autoclose: string;\n public autoopen: string;\n public hint: string;\n\n private itemActionFn: Function;\n private menuCaret = 'fa-caret-down';\n private _selectFirstItem = false;\n\n public type: any;\n\n @HostListener('onShown') onShow() {\n if (this._selectFirstItem) {\n setTimeout(() => {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n });\n }\n $appDigest();\n }\n @HostListener('onHidden') onHide() {\n this.$element.find('>.dropdown-toggle').focus();\n this.$element.find('li').removeClass('open');\n this._selectFirstItem = false;\n $appDigest();\n }\n\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('mouseenter', ['$event', '\"MOUSE-ENTER\"'])\n @HostListener('mouseleave', ['$event', '\"MOUSE-LEAVE\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"']) onKeyDown($event, eventAction) {\n const KEY_MOVEMENTS = _.clone(KEYBOARD_MOVEMENTS);\n if (this.menuposition === MENU_POSITION.UP_RIGHT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n } else if (this.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuposition === MENU_POSITION.DOWN_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n }\n\n if (_.includes([KEY_MOVEMENTS.MOVE_DOWN, KEY_MOVEMENTS.MOVE_RIGHT], eventAction)) {\n if (!this.bsDropdown.isOpen) {\n this._selectFirstItem = true;\n this.bsDropdown.show();\n } else {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {\n this.bsDropdown.toggle(true);\n } else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT, KEY_MOVEMENTS.ON_MOUSE_LEAVE], eventAction)) {\n this.bsDropdown.hide();\n }\n $event.preventDefault();\n }\n\n constructor(\n inj: Injector,\n public route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Self() @Optional() public bsDropdown: BsDropdownDirective,\n @Optional() private parentNav: NavComponent,\n @Attribute('select.event') public selectEventCB: string\n ) {\n super(inj, WIDGET_CONFIG);\n if (parentNav) {\n this.disableMenuContext = !!parentNav.disableMenuContext;\n } else {\n this.disableMenuContext = !!selectEventCB;\n }\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!_.isEmpty(this.nodes)) {\n if (hasLinkToCurrentPage(this.nodes, this.route.url)) {\n addClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active');\n }\n // If menu widget is inside nav widget then dont check for item isactive property because these will be handled form nav widget.\n if (this.parentNav) {\n return;\n }\n let itemFound = false;\n const getItem = (nodes) => {\n _.forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.onMenuItemSelect({ $event: {}, $item: item });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n return false;\n }\n if (!_.isEmpty(item.children)) {\n getItem(item.children);\n }\n\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n protected resetNodes() {\n super.resetNodes();\n // open the menu if any of its menu items has link to current page and if autoopen value is 'active page'\n if ((this.autoopen === AUTO_OPEN.ACTIVE_PAGE && hasLinkToCurrentPage(this.nodes, this.route.url)) || this.autoopen === AUTO_OPEN.ALWAYS) {\n this.bsDropdown.show();\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setMenuPosition();\n\n const cancelSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active', hasLinkToCurrentPage(this.nodes, this.route.url ));\n });\n this.registerDestroyListener(() => cancelSubscription());\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n\n if (key === 'tabindex') {\n return;\n }\n\n if (key === 'autoclose') {\n this.bsDropdown.autoClose = nv !== AUTOCLOSE_TYPE.DISABLED;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n private setMenuPosition() {\n switch (this.menuposition) {\n case POSITION.DOWN_RIGHT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.DOWN_LEFT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.UP_LEFT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.UP_RIGHT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.INLINE:\n this.menualign = 'dropinline-menu';\n break;\n }\n }\n\n public onMenuItemSelect(args) {\n const { $event } = args;\n const $item = args.$item.value;\n this.invokeEventCallback('select', { $event, $item });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, this);\n }\n}\n","<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n <span *ngIf=\"item.children.length\" class=\"pull-right fa caret {{menualign}}\"></span>\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n <span *ngIf=\"item.badge\" class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n</a>\n<ng-container [ngTemplateOutlet]=\"nestedMenuDropdown\" *ngIf=\"item.children.length\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\n\n<ng-template #nestedMenuDropdown let-item=\"item\">\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n</ng-template>\n","import { Component, ElementRef, HostListener, Input, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { addClass, triggerItemAction, UserDefinedExecutionContext, App, toggleClass } from '@wm/core';\nimport { hasLinkToCurrentPage } from '@wm/components/base';\nimport { NavComponent } from '../nav/nav.component';\n\nimport { KEYBOARD_MOVEMENTS, MENU_POSITION, MenuComponent } from '../menu.component';\n\ndeclare const _, $;\n\nconst menuAlignClass = {\n 'pull-right' : 'fa-caret-left',\n 'dropinline-menu' : 'fa-caret-down',\n 'pull-left' : 'fa-caret-right'\n};\n\nconst MENU_LAYOUT_TYPE = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical'\n};\n\n@Component({\n selector: 'li[wmMenuDropdownItem]',\n templateUrl: './menu-dropdown-item.component.html',\n})\nexport class MenuDropdownItemComponent implements OnInit, OnDestroy {\n\n public menualign: string;\n\n private itemActionFn: Function;\n\n @Input() item;\n\n private readonly nativeElement;\n private highlightActiveLinkSubscription: () => void;\n\n constructor(\n private app: App,\n public menuRef: MenuComponent,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n @Optional() private parentNav: NavComponent,\n elRef: ElementRef,\n ) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, 'app-menu-item');\n\n this.menualign = menuAlignClass[this.menuRef.menualign] || menuAlignClass['pull-left'];\n }\n\n ngOnInit() {\n // add active class to the item only if it is in nav component.\n if (this.parentNav) {\n if (hasLinkToCurrentPage([this.item], this.menuRef.route.url)) {\n // add active class to the li, if the menu item's link is same as the current page name.\n addClass(this.nativeElement, 'active');\n }\n this.highlightActiveLinkSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement, 'active', hasLinkToCurrentPage([this.item], this.menuRef.route.url));\n });\n }\n }\n\n getInitialKeyMovements() {\n const KEY_MOVEMENTS = _.clone(KEYBOARD_MOVEMENTS);\n if (this.menuRef.menulayout === MENU_LAYOUT_TYPE.HORIZONTAL) {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n } else {\n if (this.menuRef.menuposition === MENU_POSITION.DOWN_LEFT || this.menuRef.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuRef.menuposition === 'inline') {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n }\n }\n return KEY_MOVEMENTS;\n }\n\n @HostListener('keydown.tab', ['$event', '\"TAB\"'])\n @HostListener('keydown.shift.tab', ['$event', '\"SHIFT-TAB\"'])\n @HostListener('keydown.escape', ['$event', '\"ESC\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n onKeyDown($event, eventAction) {\n const $li = $(this.nativeElement);\n const $ul = $(this.nativeElement).closest('ul.dropdown-menu');\n const $parentUl = this.menuRef.$element.find('> ul.dropdown-menu');\n const ARROW_KEYS = ['LEFT-ARROW', 'RIGHT-ARROW', 'UP-ARROW', 'DOWN-ARROW'];\n const KEY_MOVEMENTS = this.getInitialKeyMovements();\n\n if (_.includes(ARROW_KEYS, eventAction)) {\n // preventing from page scroll when up/down arrow is pressed, in case of menu is opened.\n $event.preventDefault();\n }\n\n if ((eventAction === KEY_MOVEMENTS.ON_TAB && $parentUl.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $parentUl.children().first()[0] === this.nativeElement)\n || eventAction === KEY_MOVEMENTS.ON_ESCAPE) {\n /*closing all the children elements when\n * 1. Tab is clicked on the last $element\n * 2. Shift Tab is clicked on the first $element\n * 3. When Escape key is clicked*/\n $event.preventDefault();\n this.menuRef.bsDropdown.hide();\n } else if ((eventAction === KEY_MOVEMENTS.ON_ENTER && !this.item.link) || eventAction === KEY_MOVEMENTS.MOVE_RIGHT) {\n // when there is no link for the menu, on enter open the inner child elements and focus the first $element\n $event.stopPropagation();\n if (this.item.children.length) {\n $li.toggleClass('open');\n $li.find('li').first().find('> a').focus();\n } else {\n $li.find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_LEFT\n || (eventAction === KEY_MOVEMENTS.ON_TAB && $ul.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $ul.children().first()[0] === this.nativeElement)) {\n if ($parentUl[0] !== $ul[0]) {\n const $parentItem = $ul.parent();\n $parentItem.toggleClass('open').find('li.open').removeClass('open');\n $parentItem.find('> a').focus();\n $event.preventDefault();\n $event.stopPropagation();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_UP) {\n if ($parentUl[0] !== $ul[0] || $parentUl.find('> li').first()[0] !== this.nativeElement) {\n $event.stopPropagation();\n $li.prev().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_DOWN) {\n $event.stopPropagation();\n if ($parentUl.find('> li').last()[0] === this.nativeElement\n && (this.menuRef.menulayout !== MENU_LAYOUT_TYPE.HORIZONTAL\n && this.menuRef.menuposition === MENU_POSITION.UP_RIGHT\n || this.menuRef.menuposition === MENU_POSITION.UP_LEFT)) {\n this.menuRef.bsDropdown.hide();\n } else {\n $li.next().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {\n this.onSelect($event, this.item);\n } else {\n $event.stopPropagation();\n }\n }\n\n @HostListener('click', ['$event', 'item'])\n onSelect = ($event, item) => {\n if (this.nativeElement !== $($event.target).closest('.app-menu-item').get(0)) {\n return;\n }\n // prevent event event propagation if auto close is outside click.\n if (this.menuRef.autoclose === 'outsideClick') {\n $event.stopPropagation();\n }\n\n $event.preventDefault();\n const args = {$event, $item: item};\n this.menuRef.onMenuItemSelect(args);\n const selectedItem = _.clone(item);\n selectedItem.target = selectedItem.target || this.menuRef.linktarget;\n // Trigger the action associated with active item\n triggerItemAction(this, selectedItem);\n }\n\n ngOnDestroy(): void {\n if(this.highlightActiveLinkSubscription) {\n this.highlightActiveLinkSubscription();\n }\n }\n}\n","<li wmMenuDropdownItem *ngFor=\"let item of items\"\n [item]=\"item\"\n [ngClass]=\"{disabled: item.disabled, 'dropdown-submenu': item.children.length > 0}\"\n class=\"{{item.class}}\"\n role=\"menuitem\">\n</li>\n","import { AfterViewInit, Component, ElementRef, Input } from '@angular/core';\n\nimport { addClass } from '@wm/core';\n\nimport { MenuComponent } from '../menu.component';\n\nconst animationClasses = {\n scale: {\n 'name': 'wmScaleInLeft',\n 'down,right': 'wmScaleInLeft',\n 'down,left': 'wmScaleInRight',\n 'up,right': 'wmScaleInTopLeft',\n 'up,left': 'wmScaleInTopRight'\n },\n fade: {\n 'name': 'fadeIn',\n 'down,right': 'fadeIn',\n 'down,left': 'fadeIn',\n 'up,right': 'fadeIn',\n 'up,left': 'fadeIn'\n },\n slide: {\n 'name': 'wmSlideInDown',\n 'down,right': 'wmSlideInDown',\n 'down,left': 'wmSlideInDown',\n 'up,right': 'wmSlideInUp',\n 'up,left': 'wmSlideInUp'\n }\n};\n\nconst DEFAULT_CLS = 'dropdown-menu';\n\n@Component({\n selector: 'ul[wmMenuDropdown]',\n templateUrl: './menu-dropdown.component.html'\n})\nexport class MenuDropdownComponent implements AfterViewInit {\n private readonly nativeElement;\n\n @Input() items;\n\n constructor(elRef: ElementRef, private menuRef: MenuComponent) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, DEFAULT_CLS);\n }\n\n ngAfterViewInit() {\n const animateItems = this.menuRef.animateitems;\n let animationClass = '';\n if (animateItems) {\n animationClass = `animated ${(animationClasses[animateItems][this.menuRef.menuposition] || animationClasses[animateItems].name)}`;\n }\n addClass(this.nativeElement, `dropdown-menu ${this.menuRef.menualign} ${animationClass}`, true);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav-item',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {ContentChild, Directive, HostListener, Injector, AfterViewInit, Optional} from '@angular/core';\n\nimport {addClass, removeClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { AnchorComponent } from '@wm/components/basic';\n\nimport { registerProps } from './nav-item.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-nav-item';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav-item', hostClass: DEFAULT_CLS};\n\n@Directive({\n selector: '[wmNavItem]',\n providers: [\n provideAsWidgetRef(NavItemDirective)\n ]\n})\nexport class NavItemDirective extends StylableComponent implements AfterViewInit{\n static initializeProps = registerProps();\n @ContentChild(AnchorComponent) innerLink;\n\n @HostListener('click')\n @HostListener('keydown.enter')\n makeActive() {\n const parentNode = this.nativeElement.parentNode;\n $(parentNode as HTMLElement).find('> li.active').removeClass('active');\n if (this.isAttached) {\n addClass(this.nativeElement, 'active');\n }\n }\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public ngAfterViewInit() {\n if (this.innerLink) {\n this.innerLink.onActive(() => this.makeActive());\n }\n }\n\n public ngOnDetach() {\n removeClass(this.nativeElement, 'active', true);\n super.ngOnDetach();\n }\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\n\nimport { setAttr } from '@wm/core';\n\nexport const disableContextMenu = ($event: Event) => {\n $event.preventDefault();\n};\n\n@Directive({selector: '[wmNavigationControl]'})\nexport class NavigationControlDirective {\n\n private nativeElement: HTMLElement;\n private _link: string;\n\n @Input() disableMenuContext: boolean;\n\n @Input() set wmNavigationControl(val) {\n this._link = val;\n if (val && !this.disableMenuContext) {\n setAttr(this.nativeElement, 'href', val);\n this.nativeElement.removeEventListener('contextmenu', disableContextMenu);\n } else {\n setAttr(this.nativeElement, 'href', 'javascript:void(0)');\n this.nativeElement.addEventListener('contextmenu', disableContextMenu);\n }\n }\n\n constructor(eleRef: ElementRef) {\n this.nativeElement = eleRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\nimport { WmComponentsModule } from '@wm/components/base';\nimport { BasicModule } from '@wm/components/basic';\nimport { InputModule } from '@wm/components/input';\n\nimport { MenuComponent } from './menu.component';\nimport { MenuDropdownComponent } from './menu-dropdown/menu-dropdown.component';\nimport { MenuDropdownItemComponent } from './menu-dropdown-item/menu-dropdown-item.component';\nimport { NavComponent } from './nav/nav.component';\nimport { NavItemDirective } from './nav/nav-item/nav-item.directive';\nimport { NavigationControlDirective } from './nav/navigation-control.directive';\n\nconst components = [\n MenuComponent,\n MenuDropdownComponent,\n MenuDropdownItemComponent,\n NavigationControlDirective,\n NavComponent,\n NavItemDirective\n];\n\n@NgModule({\n imports: [\n BasicModule,\n BsDropdownModule,\n CommonModule,\n InputModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class MenuModule {\n}\n","import {AfterViewInit, QueryList, ViewChildren, Directive, Optional} from '@angular/core';\n\nimport { StylableComponent } from '@wm/components/base';\nimport { MenuComponent } from './menu.component';\nimport {BaseContainerComponent} from '@wm/components/base';\n\ndeclare const _;\n\nconst menuProps = ['itemlabel', 'itemicon', 'itemlink', 'itemaction', 'itemchildren', 'userrole'];\n\n@Directive()\nexport class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit {\n\n private itemlabel;\n private menuRef;\n private pageScope;\n\n private binditemlabel;\n private binditemicon;\n private binditemaction;\n private binditemchildren;\n private binditemlink;\n private binduserrole;\n\n @ViewChildren(MenuComponent) private menuRefQL: QueryList<MenuComponent>;\n\n constructor(\n inj,\n WIDGET_CONFIG,\n ) {\n super(inj, WIDGET_CONFIG);\n\n this.pageScope = this.viewParent;\n this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');\n this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');\n this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');\n this.binditemlink = this.nativeElement.getAttribute('itemlink.bind');\n this.binduserrole = this.nativeElement.getAttribute('userrole.bind');\n this.binditemchildren = this.nativeElement.getAttribute('itemchildren.bind');\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (_.includes(menuProps, key) && this.menuRef) {\n this.menuRef.itemlabel = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n const subscriber = this.menuRefQL.changes.subscribe((menuRefQL: QueryList<MenuComponent>) => {\n if (menuRefQL.first) {\n this.menuRef = menuRefQL.first;\n menuProps.forEach((prop) => {\n const bindProp = `bind${prop}`;\n if (this[bindProp]) {\n this.menuRef[bindProp] = this[bindProp];\n }\n this.menuRef[prop] = this[prop];\n });\n subscriber.unsubscribe();\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","_c1","DEFAULT_CLS","WIDGET_CONFIG","_c0","i1","i2.MenuComponent","i3.NavComponent","i1.MenuComponent"],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export declare const KEYBOARD_MOVEMENTS: {
|
|
|
11
11
|
MOVE_RIGHT: string;
|
|
12
12
|
MOVE_DOWN: string;
|
|
13
13
|
ON_ENTER: string;
|
|
14
|
+
ON_MOUSE_ENTER: string;
|
|
15
|
+
ON_MOUSE_LEAVE: string;
|
|
14
16
|
ON_TAB: string;
|
|
15
17
|
ON_SHIFT_TAB: string;
|
|
16
18
|
ON_ESCAPE: string;
|
|
@@ -38,6 +40,7 @@ export declare class MenuComponent extends DatasetAwareNavComponent implements O
|
|
|
38
40
|
iconclass: string;
|
|
39
41
|
animateitems: string;
|
|
40
42
|
disableMenuContext: boolean;
|
|
43
|
+
showonhover: boolean;
|
|
41
44
|
autoclose: string;
|
|
42
45
|
autoopen: string;
|
|
43
46
|
hint: string;
|
|
@@ -144,7 +144,8 @@
|
|
|
144
144
|
if (root) {
|
|
145
145
|
$('body > popover-container').wrap('<' + root + '/>');
|
|
146
146
|
}
|
|
147
|
-
|
|
147
|
+
// Fix for [WMS-25125]: Not closing the existing opened popovers when the autoclose property is DISABLED
|
|
148
|
+
if (activePopover && activePopover.isOpen && activePopover.autoclose !== base.AUTOCLOSE_TYPE.DISABLED) {
|
|
148
149
|
activePopover.isOpen = false;
|
|
149
150
|
}
|
|
150
151
|
activePopover = this;
|
|
@@ -92,7 +92,8 @@ export class PopoverComponent extends StylableComponent {
|
|
|
92
92
|
if (root) {
|
|
93
93
|
$('body > popover-container').wrap('<' + root + '/>');
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
// Fix for [WMS-25125]: Not closing the existing opened popovers when the autoclose property is DISABLED
|
|
96
|
+
if (activePopover && activePopover.isOpen && activePopover.autoclose !== AUTOCLOSE_TYPE.DISABLED) {
|
|
96
97
|
activePopover.isOpen = false;
|
|
97
98
|
}
|
|
98
99
|
activePopover = this;
|
|
@@ -279,4 +280,4 @@ PopoverComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PopoverCom
|
|
|
279
280
|
type: ContentChild,
|
|
280
281
|
args: ['partial']
|
|
281
282
|
}] }); })();
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBVSxRQUFRLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBVyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdkksT0FBTyxFQUFvQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFL0osT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFJaEQsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDMUMsTUFBTSxhQUFhLEdBQWtCO0lBQ2pDLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFNBQVMsRUFBRSxXQUFXO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixPQUFPLEVBQUUsa0JBQWtCO0NBQzlCLENBQUM7QUFFRixJQUFJLGFBQStCLENBQUM7QUFVcEMsTUFBTSxPQUFPLGdCQUFpQixTQUFR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R0FBZ0c7UUFDaEcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7O0FBblFNLGdDQUFlLEdBQUcsYUFBYSxFQUFFLENBQUM7Z0ZBRGhDLGdCQUFnQjttRUFBaEIsZ0JBQWdCO29DQWlDWCxXQUFXOzs7Ozs7O3VCQUZkLGdCQUFnQjs7Ozs7OzBDQXBDaEI7WUFDUCxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN2QztRQzlCTCwrQkFvQytDO1FBOUIzQyw0RkFBVyxhQUFTLElBQUMsaUZBQ1QsY0FBVSxJQURELHFGQThCVixrQ0FBOEIsSUE5QnBCO1FBK0J6QixpQkFBSTs7UUF4QkEsd0JBQWU7UUFMZiw0SEFBa0Y7UUFSbkYsNkNBQTJCLCtCQUFBLDJCQUFBLG1DQUFBLGtDQUFBLHVCQUFBLDRDQUFBLHNCQUFBLDBCQUFBLGtCQUFBLDZEQUFBLDBDQUFBO1FBZ0IxQix3REFBMEMsNkJBQUE7O3VGRGlCakMsZ0JBQWdCO2NBUjVCLFNBQVM7MkJBQ0ksWUFBWSxhQUVYO29CQUNQLGtCQUFrQixrQkFBa0I7aUJBQ3ZDOzZFQWtDb0Msa0JBQWtCO2tCQUF0RCxTQUFTO21CQUFDLGdCQUFnQjtZQUNZLFNBQVM7a0JBQS9DLFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNWLGVBQWU7a0JBQXpDLFlBQVk7bUJBQUMsV0FBVztZQUNBLFVBQVU7a0JBQWxDLFlBQVk7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9wb3ZlckRpcmVjdGl2ZSB9IGZyb20gJ25neC1ib290c3RyYXAvcG9wb3Zlcic7XG5cbmltcG9ydCB7IGFkZENsYXNzLCBBcHAsIHNldEF0dHIsIHNldENTU0Zyb21PYmosIGZpbmRSb290Q29udGFpbmVyLCBhZGp1c3RDb250YWluZXJQb3NpdGlvbiwgYWRqdXN0Q29udGFpbmVyUmlnaHRFZGdlc30gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgQVBQTFlfU1RZTEVTX1RZUEUsIElXaWRnZXRDb25maWcsIHN0eWxlciwgU3R5bGFibGVDb21wb25lbnQsIHByb3ZpZGVBc1dpZGdldFJlZiwgQVVUT0NMT1NFX1RZUEUsIGdldENvbnRhaW5lclRhcmdldENsYXNzIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3BvcG92ZXIucHJvcHMnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1wb3BvdmVyLXdyYXBwZXInO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tcG9wb3ZlcicsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMU1xufTtcblxuY29uc3QgZXZlbnRzTWFwID0ge1xuICAgIGNsaWNrOiAnY2xpY2snLFxuICAgIGhvdmVyOiAnbW91c2VlbnRlcjpjbGljaycsXG4gICAgZGVmYXVsdDogJ2NsaWNrIG1vdXNlZW50ZXInXG59O1xuXG5sZXQgYWN0aXZlUG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3bS1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihQb3BvdmVyQ29tcG9uZW50KVxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBQb3BvdmVyQ29tcG9uZW50IGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgZXZlbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBjbG9zZVBvcG92ZXJUaW1lb3V0O1xuICAgIHB1YmxpYyByZWFkb25seSBwb3BvdmVyQ29udGFpbmVyQ2xzO1xuICAgIHB1YmxpYyBjYW5Qb3BvdmVyT3BlbiA9IHRydWU7XG4gICAgcHJpdmF0ZSBXaWRnZXRzO1xuICAgIHByaXZhdGUgVmFyaWFibGVzO1xuICAgIHByaXZhdGUgQWN0aW9ucztcblxuICAgIHB1YmxpYyBpbnRlcmFjdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBwb3BvdmVyYXJyb3c6IGJvb2xlYW47XG4gICAgcHVibGljIHBvcG92ZXJ3aWR0aDogc3RyaW5nO1xuICAgIHB1YmxpYyBwb3BvdmVyaGVpZ2h0OiBzdHJpbmc7XG4gICAgcHVibGljIGNvbnRlbnRhbmltYXRpb246IHN0cmluZztcbiAgICBwdWJsaWMgY29udGVudHNvdXJjZTogc3RyaW5nO1xuICAgIHB1YmxpYyBjb250ZW50OiBzdHJpbmc7XG4gICAgcHVibGljIHBvcG92ZXJwbGFjZW1lbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgb3V0c2lkZWNsaWNrOiBib29sZWFuO1xuICAgIHB1YmxpYyBhdXRvY2xvc2U6IHN0cmluZztcblxuICAgIHB1YmxpYyBjbGFzczogc3RyaW5nO1xuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0YWJpbmRleDogYW55O1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGFkYXB0aXZlcG9zaXRpb246Ym9vbGVhbjtcbiAgICBwdWJsaWMgY29udGFpbmVyVGFyZ2V0OiBzdHJpbmc7XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckRpcmVjdGl2ZSkgcHJpdmF0ZSBic1BvcG92ZXJEaXJlY3RpdmU7XG4gICAgQFZpZXdDaGlsZCgnYW5jaG9yJywgeyBzdGF0aWM6IHRydWUgfSkgYW5jaG9yUmVmOiBFbGVtZW50UmVmO1xuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIHBvcG92ZXJUZW1wbGF0ZTtcbiAgICBAQ29udGVudENoaWxkKCdwYXJ0aWFsJykgcGFydGlhbFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIHByaXZhdGUgYXBwOiBBcHApIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyQ2xzID0gYGFwcC1wb3BvdmVyLSR7dGhpcy53aWRnZXRJZH1gO1xuICAgIH1cblxuICAgIC8vIFRoaXMgbWVodG9kIGlzIHVzZWQgdG8gc2hvdy9vcGVuIHRoZSBwb3BvdmVyLiBUaGlzIHJlZmVycyB0byB0aGUgc2FtZSBtZXRob2Qgc2hvd1BvcG92ZXIuXG4gICAgcHVibGljIG9wZW4oKSB7XG4gICAgICAgIHRoaXMuc2hvd1BvcG92ZXIoKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIG1laHRvZCBpcyB1c2VkIHRvIGhpZGUvY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAgcHVibGljIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFRyaWdnZXIgb24gaGlkaW5nIHBvcG92ZXJcbiAgICBwdWJsaWMgb25IaWRkZW4oKSB7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnaGlkZScsIHskZXZlbnQ6IHt0eXBlOiAnaGlkZSd9fSk7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRGb2N1c1RvUG9wb3ZlckxpbmsoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmNob3JSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpLCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGp1c3RQb3BvdmVyQXJyb3dQb3NpdGlvbihwb3BvdmVyRWxlbSwgcG9wb3ZlckxlZnRTaGlmdCkge1xuICAgICAgICB0aGlzLmJzUG9wb3ZlckRpcmVjdGl2ZS5fcG9wb3Zlci5fbmdab25lLm9uU3RhYmxlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBwb3BvdmVyRWxlbS5maW5kKCcucG9wb3Zlci1hcnJvdycpLmNzcygnbGVmdCcsIHBvcG92ZXJMZWZ0U2hpZnQgKyAncHgnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3BvdmVyUG9zdGlvbihlbGVtZW50KSB7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlckVsZW0gPSAkKGVsZW1lbnQpO1xuICAgICAgICBsZXQgcG9wb3ZlckxlZnQgPSAgcG9wb3ZlckVsZW0ub2Zmc2V0KCkubGVmdDtcbiAgICAgICAgY29uc3QgcG9wb3ZlcldpZHRoID0gcG9wb3ZlckVsZW1bMF0ub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHZpZXdQb3J0V2lkdGggPSAkKHdpbmRvdykud2lkdGgoKTtcbiAgICAgICAgY29uc3QgcGFyZW50RGltZXNpb24gPSB0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAvLyBBZGp1c3RpbmcgcG9wb3ZlciBwb3NpdGlvbiwgaWYgaXQgaXMgbm90IHZpc2libGUgYXQgbGVmdCBzaWRlXG4gICAgICAgIGlmIChwb3BvdmVyTGVmdCA8IDApIHtcbiAgICAgICAgICAgIGFkanVzdENvbnRhaW5lclBvc2l0aW9uKHBvcG92ZXJFbGVtLCB0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuYnNQb3BvdmVyRGlyZWN0aXZlLl9wb3BvdmVyKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJMZWZ0U2hpZnQgPSA0O1xuICAgICAgICAgICAgY29uc3QgYXJyb3dMZWZ0U2hpZnQgPSAocGFyZW50RGltZXNpb24ubGVmdCArIChwYXJlbnREaW1lc2lvbi53aWR0aCAvIDIpKSAtIHBvcG92ZXJMZWZ0U2hpZnQ7XG4gICAgICAgICAgICB0aGlzLmFkanVzdFBvcG92ZXJBcnJvd1Bvc2l0aW9uKHBvcG92ZXJFbGVtLCBhcnJvd0xlZnRTaGlmdCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWRqdXN0aW5nIHBvcG92ZXIgcG9zaXRpb24sIGlmIGl0IGlzIG5vdCB2aXNpYmxlIGF0IHJpZ2h0IHNpZGVcbiAgICAgICAgaWYgKHBvcG92ZXJMZWZ0ICsgcG9wb3ZlcldpZHRoID4gdmlld1BvcnRXaWR0aCkge1xuICAgICAgICAgICAgYWRqdXN0Q29udGFpbmVyUmlnaHRFZGdlcyhwb3BvdmVyRWxlbSwgdGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLmJzUG9wb3ZlckRpcmVjdGl2ZS5fcG9wb3Zlcik7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBwb3BvdmVyTGVmdCA9IHBvcG92ZXJFbGVtLm9mZnNldCgpLmxlZnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9wb3ZlckxlZnRBZGp1c3QgPSAocG9wb3ZlckxlZnQgKyBwb3BvdmVyV2lkdGgpIC0gdmlld1BvcnRXaWR0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3BvdmVyTGVmdFNoaWZ0ID0gIHBvcG92ZXJMZWZ0IC0gcG9wb3ZlckxlZnRBZGp1c3Q7XG4gICAgICAgICAgICAgICAgbGV0IGFycm93TGVmdFNoaWZ0IDtcbiAgICAgICAgICAgICAgICBpZihwb3BvdmVyTGVmdDw9MTAwKXtcbiAgICAgICAgICAgICAgICAgICAgYXJyb3dMZWZ0U2hpZnQgPSAgKHBhcmVudERpbWVzaW9uLmxlZnQgKyAocGFyZW50RGltZXNpb24ud2lkdGggLyAyKSkgLSBwb3BvdmVyTGVmdDtcbiAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgYXJyb3dMZWZ0U2hpZnQgPSAocGFyZW50RGltZXNpb24ubGVmdCArIChwYXJlbnREaW1lc2lvbi53aWR0aCAvIDIpKSAtIHBvcG92ZXJMZWZ0U2hpZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmKHZpZXdQb3J0V2lkdGggPiA1MDApe1xuICAgICAgICAgICAgICAgICAgICBhcnJvd0xlZnRTaGlmdCArPSAzMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB0aGlzLmFkanVzdFBvcG92ZXJBcnJvd1Bvc2l0aW9uKHBvcG92ZXJFbGVtLCBhcnJvd0xlZnRTaGlmdCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRyaWdnZXIgb24gc2hvd2luZyBwb3BvdmVyXG4gICAgcHVibGljIG9uU2hvd24oKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBmaW5kUm9vdENvbnRhaW5lcih0aGlzLiRlbGVtZW50KTtcbiAgICAgICAgLy8gaWYgcGFnZSBzdHlsZXMgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIHBvcG92ZXIgdGhlbiBwb3BvdmVyIGhhcyB0byBiZSBjaGlsZCBvZiBwYWdlIGVsZW1lbnQuXG4gICAgICAgIGlmIChyb290KSB7XG4gICAgICAgICAgICAkKCdib2R5ID4gcG9wb3Zlci1jb250YWluZXInKS53cmFwKCc8JyArIHJvb3QgKyAnLz4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhY3RpdmVQb3BvdmVyICYmIGFjdGl2ZVBvcG92ZXIuaXNPcGVuKSB7XG4gICAgICAgICAgICBhY3RpdmVQb3BvdmVyLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgYWN0aXZlUG9wb3ZlciA9IHRoaXM7XG4gICAgICAgIGFjdGl2ZVBvcG92ZXIuaXNPcGVuID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBwb3BvdmVyQ29udGFpbmVyICA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMucG9wb3ZlckNvbnRhaW5lckNsc31gKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgc2V0Q1NTRnJvbU9iaihwb3BvdmVyQ29udGFpbmVyLCB7XG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMucG9wb3ZlcmhlaWdodCxcbiAgICAgICAgICAgIG1pbldpZHRoOiB0aGlzLnBvcG92ZXJ3aWR0aCxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnBvcG92ZXJ3aWR0aFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCF0aGlzLnBvcG92ZXJhcnJvdykge1xuICAgICAgICAgICAgYWRkQ2xhc3MocG9wb3ZlckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuYXJyb3cnKSBhcyBIVE1MRWxlbWVudCwgJ2hpZGRlbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmludGVyYWN0aW9uID09PSAnaG92ZXInIHx8IHRoaXMuaW50ZXJhY3Rpb24gPT09ICdkZWZhdWx0Jykge1xuXG4gICAgICAgICAgICAvLyBkbyBub3QgdXNlIGFkZEV2ZW50TGlzdGVuZXIgaGVyZVxuICAgICAgICAgICAgLy8gYXR0YWNoaW5nIHRoZSBldmVudCB0aGlzIHdheSB3aWxsIG92ZXJyaWRlIHRoZSBleGlzdGluZyBldmVudCBoYW5kbGVyc1xuICAgICAgICAgICAgcG9wb3ZlckNvbnRhaW5lci5vbm1vdXNlZW50ZXIgPSAoKSA9PiBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVBvcG92ZXJUaW1lb3V0KTtcbiAgICAgICAgICAgIHBvcG92ZXJDb250YWluZXIub25tb3VzZWxlYXZlID0gKCkgPT4gdGhpcy5oaWRlUG9wb3ZlcigpO1xuICAgICAgICAgICAgdGhpcy5hbmNob3JSZWYubmF0aXZlRWxlbWVudC5vbm1vdXNlZW50ZXIgPSAoKSA9PiBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVBvcG92ZXJUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQub25tb3VzZWxlYXZlID0gKCkgPT4gdGhpcy5oaWRlUG9wb3ZlcigpO1xuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbmNob3JSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRlUmVnaXN0ZXIgPSB0aGlzLmV2ZW50TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKHBvcG92ZXJDb250YWluZXIsICdrZXlkb3duLmVzYycsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldEZvY3VzVG9Qb3BvdmVyTGluaygpO1xuICAgICAgICAgICAgZGVSZWdpc3RlcigpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcG9wb3ZlclN0YXJ0QnRuOiBIVE1MRWxlbWVudCA9IHBvcG92ZXJDb250YWluZXIucXVlcnlTZWxlY3RvcignLnBvcG92ZXItc3RhcnQnKTtcbiAgICAgICAgY29uc3QgcG9wb3ZlckVuZEJ0bjogSFRNTEVsZW1lbnQgPSBwb3BvdmVyQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5wb3BvdmVyLWVuZCcpO1xuICAgICAgICBwb3BvdmVyU3RhcnRCdG4ub25rZXlkb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAvLyBDaGVjayBmb3IgU2hpZnQrVGFiIGtleVxuICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5ICYmIGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJzUG9wb3ZlckRpcmVjdGl2ZS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzVG9Qb3BvdmVyTGluaygpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7ICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBwb3BvdmVyRW5kQnRuLm9ua2V5ZG93biA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIFRhYiBrZXlcbiAgICAgICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYnNQb3BvdmVyRGlyZWN0aXZlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNUb1BvcG92ZXJMaW5rKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTsgICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgLy9XaGVuZXZlciBhdXRvY2xvc2UgcHJvcGVydHkgaXMgc2V0IHRvICdhbHdheXMnLCBhZGRpbmcgdGhlIG9uY2xpY2sgbGlzdGVuZXIgdG8gdGhlIHBvcG92ZXIgY29udGFpbmVyIHRvIGNsb3NlIHRoZSBwb3BvdmVyLlxuICAgICAgICBpZiAodGhpcy5hdXRvY2xvc2UgPT09IEFVVE9DTE9TRV9UWVBFLkFMV0FZUykge1xuICAgICAgICAgICAgcG9wb3ZlckNvbnRhaW5lci5vbmNsaWNrID0gKCkgPT4gdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwb3BvdmVyU3RhcnRCdG4uZm9jdXMoKSwgNTApO1xuICAgICAgICAvLyBBZGp1c3RpbmcgcG9wb3ZlciBwb3NpdGlvbiBpZiB0aGUgcG9wb3ZlciBwbGFjZW1lbnQgaXMgdG9wIG9yIGJvdHRvbVxuICAgICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYWRhcHRpdmVwb3NpdGlvbiApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvcG92ZXJQb3N0aW9uKHBvcG92ZXJDb250YWluZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gdHJpZ2dlcmluZyBvbmxvYWQgYW5kIG9uc2hvdyBldmVudHMgYWZ0ZXIgcG9wb3ZlciBjb250ZW50IGhhcyByZW5kZXJlZFxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyUG9wb3ZlckV2ZW50cygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyUG9wb3ZlckV2ZW50cygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudHNvdXJjZSA9PT0gJ3BhcnRpYWwnKSB7XG4gICAgICAgICAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb24gPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ3BhcnRpYWxMb2FkZWQnLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhckVsZSA9IHRoaXMucGFydGlhbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgIGxldCBwYXJ0aWFsU2NvcGU7XG5cbiAgICAgICAgICAgICAgICBpZiAocGFyRWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRpYWxTY29wZSAgPSBwYXJFbGUud2lkZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLldpZGdldHMgICA9IHBhcnRpYWxTY29wZS5XaWRnZXRzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLlZhcmlhYmxlcyA9IHBhcnRpYWxTY29wZS5WYXJpYWJsZXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQWN0aW9ucyAgID0gcGFydGlhbFNjb3BlLkFjdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnbG9hZCcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ3Nob3cnLCB7JGV2ZW50OiB7dHlwZTogJ3Nob3cnfX0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYW5jZWxTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5XaWRnZXRzICAgPSB0aGlzLnZpZXdQYXJlbnQuV2lkZ2V0cztcbiAgICAgICAgICAgIHRoaXMuVmFyaWFibGVzID0gdGhpcy52aWV3UGFyZW50LlZhcmlhYmxlcztcbiAgICAgICAgICAgIHRoaXMuQWN0aW9ucyAgID0gdGhpcy52aWV3UGFyZW50LkFjdGlvbnM7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ3Nob3cnLCB7JGV2ZW50OiB7dHlwZTogJ3Nob3cnfX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlUG9wb3ZlcigpIHtcbiAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXJUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmlzT3BlbiA9IGZhbHNlLCA1MDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1BvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuYnNQb3BvdmVyRGlyZWN0aXZlLnNob3coKTtcbiAgICB9XG5cbiAgICBvblBvcG92ZXJBbmNob3JLZXlkb3duKCRldmVudCkge1xuICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBjb250ZW50IGF2YWlsYWJsZSwgdGhlIHBvcG92ZXIgc2hvdWxkIG5vdCBvcGVuIHRocm91Z2ggZW50ZXIga2V5LiBTbyBjaGVja2luZyB3aGV0aGVyIHRoZSBjYW5Qb3BvdmVyT3BlbiBmbGFnIGlzIHRydWUgb3Igbm90LlxuICAgICAgICBpZiAoIXRoaXMuY2FuUG9wb3Zlck9wZW4pIHtcbiAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICgkZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLnNob3dQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnY2xhc3MnIHx8IGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdjb250ZW50c291cmNlJykge1xuICAgICAgICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gcGFydGlhbCBjb250ZW50IGF2YWlsYWJsZSwgdGhlIHBvcG92ZXIgc2hvdWxkIG5vdCBvcGVuXG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50c291cmNlID09PSAncGFydGlhbCcgJiYgIXRoaXMuY29udGVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FuUG9wb3Zlck9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnY29udGVudCcgJiYgbnYpIHtcbiAgICAgICAgICAgIHRoaXMuY2FuUG9wb3Zlck9wZW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdhdXRvY2xvc2UnKSB7XG4gICAgICAgICAgICB0aGlzLm91dHNpZGVjbGljayA9IChudiA9PT0gQVVUT0NMT1NFX1RZUEUuT1VUU0lERUNMSUNLIHx8IG52ID09PSBBVVRPQ0xPU0VfVFlQRS5BTFdBWVMpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmV2ZW50ID0gZXZlbnRzTWFwW3RoaXMuaW50ZXJhY3Rpb25dO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHN0eWxlcih0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICAgICAgdGhpcy5jb250YWluZXJUYXJnZXQgPSBnZXRDb250YWluZXJUYXJnZXRDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBsZXQgcGFyZW50RWxlbVBvcG92ZXIgPSAkKHRoaXMubmF0aXZlRWxlbWVudCkucGFyZW50cygpO1xuICAgICAgICBpZiAocGFyZW50RWxlbVBvcG92ZXIuY2xvc2VzdCgnW3dtVGFibGVdJykubGVuZ3RoIHx8XG4gICAgICAgICAgICBwYXJlbnRFbGVtUG9wb3Zlci5jbG9zZXN0KCdbd210YWJzXScpLmxlbmd0aCB8fFxuICAgICAgICAgICAgcGFyZW50RWxlbVBvcG92ZXIuY2xvc2VzdCgnbW9kYWwtY29udGFpbmVyJykubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmFkYXB0aXZlcG9zaXRpb24gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXRhY2goKSB7XG4gICAgICAgIC8vIEhpZGUgdGhlIHBvcG92ZXIgY29udGFpbmVyIHdoaWxlIGF0dGFjaGluZyB0aGUgbmV4dCBjb21wb25lbnQgYXMgcGFydCBvZiBwYWdlIHJldXNlIHN0cmF0ZWd5LlxuICAgICAgICB0aGlzLmJzUG9wb3ZlckRpcmVjdGl2ZS5oaWRlKCk7XG4gICAgfVxufVxuIiwiPGEgW3BvcG92ZXJdPVwicG9wb3ZlclRlbXBsYXRlXCJcbiAgICBbcG9wb3ZlckNvbnRleHRdPVwiY29udGV4dFwiXG4gICAgW3BvcG92ZXJUaXRsZV09XCJ0aXRsZVwiXG4gICAgW3BsYWNlbWVudF09XCJwb3BvdmVycGxhY2VtZW50XCJcbiAgICBbb3V0c2lkZUNsaWNrXT1cIm91dHNpZGVjbGlja1wiXG4gICAgW3RyaWdnZXJzXT1cImV2ZW50XCJcbiAgICAob25TaG93bik9XCJvblNob3duKClcIlxuICAgIChvbkhpZGRlbik9XCJvbkhpZGRlbigpXCJcbiAgICBjb250YWluZXJDbGFzcz1cImFwcC1wb3BvdmVyIGFuaW1hdGVkIHt7Y29udGVudGFuaW1hdGlvbn19IHt7cG9wb3ZlckNvbnRhaW5lckNsc319XCJcbiAgICBbY29udGFpbmVyXT1cImNvbnRhaW5lclRhcmdldCB8fCAnYm9keSdcIlxuICAgIFtpc09wZW5dPVwiaXNPcGVuXCJcbiAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtjbGFzc109XCJjbGFzc1wiXG4gICAgW25nQ2xhc3NdPVwieydkaXNhYmxlLXBvcG92ZXInOiAhY2FuUG9wb3Zlck9wZW59XCJcbiAgICBbYWRhcHRpdmVQb3NpdGlvbl09XCJhZGFwdGl2ZXBvc2l0aW9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImhpbnQgfHwgJ1BvcG92ZXIgbWVudSdcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAjYW5jaG9yXG4gICAgbmFtZS5iaW5kPVwibmFtZVwiXG4gICAgd21BbmNob3JcbiAgICBhbmltYXRpb24uYmluZD1cImFuaW1hdGlvblwiXG4gICAgYmFkZ2V2YWx1ZS5iaW5kPVwiYmFkZ2V2YWx1ZVwiXG4gICAgY2FwdGlvbi5iaW5kPVwiY2FwdGlvblwiXG4gICAgZW5jb2RldXJsLmJpbmQ9XCJlbmNvZGV1cmxcIlxuICAgIGhpbnQuYmluZD1cImhpbnRcIlxuICAgIGh5cGVybGluay5iaW5kPVwiaHlwZXJsaW5rXCJcbiAgICBpY29udXJsLmJpbmQ9XCJpY29udXJsXCJcbiAgICBpY29ud2lkdGguYmluZD1cImljb253aWR0aFwiXG4gICAgaWNvbmhlaWdodC5iaW5kPVwiaWNvbmhlaWdodFwiXG4gICAgaWNvbm1hcmdpbi5iaW5kPVwiaWNvbm1hcmdpblwiXG4gICAgaWNvbmNsYXNzLmJpbmQ9XCJpY29uY2xhc3NcIlxuICAgIGljb25wb3NpdGlvbi5iaW5kPVwiaWNvbnBvc2l0aW9uXCJcbiAgICBzaG9ydGN1dGtleS5iaW5kPVwic2hvcnRjdXRrZXlcIlxuICAgIHRhYmluZGV4LmJpbmQ9XCJ0YWJpbmRleFwiXG4gICAgKGtleWRvd24pPVwib25Qb3BvdmVyQW5jaG9yS2V5ZG93bigkZXZlbnQpXCI+XG48L2E+XG4iXX0=
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBVSxRQUFRLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBVyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdkksT0FBTyxFQUFvQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFL0osT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFJaEQsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDMUMsTUFBTSxhQUFhLEdBQWtCO0lBQ2pDLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFNBQVMsRUFBRSxXQUFXO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixPQUFPLEVBQUUsa0JBQWtCO0NBQzlCLENBQUM7QUFFRixJQUFJLGFBQStCLENBQUM7QUFVcEMsTUFBTSxPQUFPLGdCQUFpQixTQUFR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QkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7QUFuUU0sZ0NBQWUsR0FBRyxhQUFhLEVBQUUsQ0FBQztnRkFEaEMsZ0JBQWdCO21FQUFoQixnQkFBZ0I7b0NBaUNYLFdBQVc7Ozs7Ozs7dUJBRmQsZ0JBQWdCOzs7Ozs7MENBcENoQjtZQUNQLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1NBQ3ZDO1FDOUJMLCtCQW9DK0M7UUE5QjNDLDRGQUFXLGFBQVMsSUFBQyxpRkFDVCxjQUFVLElBREQscUZBOEJWLGtDQUE4QixJQTlCcEI7UUErQnpCLGlCQUFJOztRQXhCQSx3QkFBZTtRQUxmLDRIQUFrRjtRQVJuRiw2Q0FBMkIsK0JBQUEsMkJBQUEsbUNBQUEsa0NBQUEsdUJBQUEsNENBQUEsc0JBQUEsMEJBQUEsa0JBQUEsNkRBQUEsMENBQUE7UUFnQjFCLHdEQUEwQyw2QkFBQTs7dUZEaUJqQyxnQkFBZ0I7Y0FSNUIsU0FBUzsyQkFDSSxZQUFZLGFBRVg7b0JBQ1Asa0JBQWtCLGtCQUFrQjtpQkFDdkM7NkVBa0NvQyxrQkFBa0I7a0JBQXRELFNBQVM7bUJBQUMsZ0JBQWdCO1lBQ1ksU0FBUztrQkFBL0MsU0FBUzttQkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ1YsZUFBZTtrQkFBekMsWUFBWTttQkFBQyxXQUFXO1lBQ0EsVUFBVTtrQkFBbEMsWUFBWTttQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcblxuaW1wb3J0IHsgYWRkQ2xhc3MsIEFwcCwgc2V0QXR0ciwgc2V0Q1NTRnJvbU9iaiwgZmluZFJvb3RDb250YWluZXIsIGFkanVzdENvbnRhaW5lclBvc2l0aW9uLCBhZGp1c3RDb250YWluZXJSaWdodEVkZ2VzfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBBUFBMWV9TVFlMRVNfVFlQRSwgSVdpZGdldENvbmZpZywgc3R5bGVyLCBTdHlsYWJsZUNvbXBvbmVudCwgcHJvdmlkZUFzV2lkZ2V0UmVmLCBBVVRPQ0xPU0VfVFlQRSwgZ2V0Q29udGFpbmVyVGFyZ2V0Q2xhc3MgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vcG9wb3Zlci5wcm9wcyc7XG5cbmRlY2xhcmUgY29uc3QgXywgJDtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXBvcG92ZXItd3JhcHBlcic7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1wb3BvdmVyJyxcbiAgICBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTXG59O1xuXG5jb25zdCBldmVudHNNYXAgPSB7XG4gICAgY2xpY2s6ICdjbGljaycsXG4gICAgaG92ZXI6ICdtb3VzZWVudGVyOmNsaWNrJyxcbiAgICBkZWZhdWx0OiAnY2xpY2sgbW91c2VlbnRlcidcbn07XG5cbmxldCBhY3RpdmVQb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3dtLXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFBvcG92ZXJDb21wb25lbnQpXG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBldmVudDogc3RyaW5nO1xuICAgIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGNsb3NlUG9wb3ZlclRpbWVvdXQ7XG4gICAgcHVibGljIHJlYWRvbmx5IHBvcG92ZXJDb250YWluZXJDbHM7XG4gICAgcHVibGljIGNhblBvcG92ZXJPcGVuID0gdHJ1ZTtcbiAgICBwcml2YXRlIFdpZGdldHM7XG4gICAgcHJpdmF0ZSBWYXJpYWJsZXM7XG4gICAgcHJpdmF0ZSBBY3Rpb25zO1xuXG4gICAgcHVibGljIGludGVyYWN0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIHBvcG92ZXJhcnJvdzogYm9vbGVhbjtcbiAgICBwdWJsaWMgcG9wb3ZlcndpZHRoOiBzdHJpbmc7XG4gICAgcHVibGljIHBvcG92ZXJoZWlnaHQ6IHN0cmluZztcbiAgICBwdWJsaWMgY29udGVudGFuaW1hdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBjb250ZW50c291cmNlOiBzdHJpbmc7XG4gICAgcHVibGljIGNvbnRlbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgcG9wb3ZlcnBsYWNlbWVudDogc3RyaW5nO1xuICAgIHB1YmxpYyBvdXRzaWRlY2xpY2s6IGJvb2xlYW47XG4gICAgcHVibGljIGF1dG9jbG9zZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGNsYXNzOiBzdHJpbmc7XG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gICAgcHVibGljIHRhYmluZGV4OiBhbnk7XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgYWRhcHRpdmVwb3NpdGlvbjpib29sZWFuO1xuICAgIHB1YmxpYyBjb250YWluZXJUYXJnZXQ6IHN0cmluZztcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZChQb3BvdmVyRGlyZWN0aXZlKSBwcml2YXRlIGJzUG9wb3ZlckRpcmVjdGl2ZTtcbiAgICBAVmlld0NoaWxkKCdhbmNob3InLCB7IHN0YXRpYzogdHJ1ZSB9KSBhbmNob3JSZWY6IEVsZW1lbnRSZWY7XG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgcG9wb3ZlclRlbXBsYXRlO1xuICAgIEBDb250ZW50Q2hpbGQoJ3BhcnRpYWwnKSBwYXJ0aWFsUmVmO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgcHJpdmF0ZSBhcHA6IEFwcCkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcpO1xuICAgICAgICB0aGlzLnBvcG92ZXJDb250YWluZXJDbHMgPSBgYXBwLXBvcG92ZXItJHt0aGlzLndpZGdldElkfWA7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBtZWh0b2QgaXMgdXNlZCB0byBzaG93L29wZW4gdGhlIHBvcG92ZXIuIFRoaXMgcmVmZXJzIHRvIHRoZSBzYW1lIG1ldGhvZCBzaG93UG9wb3Zlci5cbiAgICBwdWJsaWMgb3BlbigpIHtcbiAgICAgICAgdGhpcy5zaG93UG9wb3ZlcigpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgbWVodG9kIGlzIHVzZWQgdG8gaGlkZS9jbG9zZSB0aGUgcG9wb3Zlci5cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVHJpZ2dlciBvbiBoaWRpbmcgcG9wb3ZlclxuICAgIHB1YmxpYyBvbkhpZGRlbigpIHtcbiAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdoaWRlJywgeyRldmVudDoge3R5cGU6ICdoaWRlJ319KTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZvY3VzVG9Qb3BvdmVyTGluaygpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCksIDEwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkanVzdFBvcG92ZXJBcnJvd1Bvc2l0aW9uKHBvcG92ZXJFbGVtLCBwb3BvdmVyTGVmdFNoaWZ0KSB7XG4gICAgICAgIHRoaXMuYnNQb3BvdmVyRGlyZWN0aXZlLl9wb3BvdmVyLl9uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHBvcG92ZXJFbGVtLmZpbmQoJy5wb3BvdmVyLWFycm93JykuY3NzKCdsZWZ0JywgcG9wb3ZlckxlZnRTaGlmdCArICdweCcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvcG92ZXJQb3N0aW9uKGVsZW1lbnQpIHtcblxuICAgICAgICBjb25zdCBwb3BvdmVyRWxlbSA9ICQoZWxlbWVudCk7XG4gICAgICAgIGxldCBwb3BvdmVyTGVmdCA9ICBwb3BvdmVyRWxlbS5vZmZzZXQoKS5sZWZ0O1xuICAgICAgICBjb25zdCBwb3BvdmVyV2lkdGggPSBwb3BvdmVyRWxlbVswXS5vZmZzZXRXaWR0aDtcbiAgICAgICAgY29uc3Qgdmlld1BvcnRXaWR0aCA9ICQod2luZG93KS53aWR0aCgpO1xuICAgICAgICBjb25zdCBwYXJlbnREaW1lc2lvbiA9IHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIC8vIEFkanVzdGluZyBwb3BvdmVyIHBvc2l0aW9uLCBpZiBpdCBpcyBub3QgdmlzaWJsZSBhdCBsZWZ0IHNpZGVcbiAgICAgICAgaWYgKHBvcG92ZXJMZWZ0IDwgMCkge1xuICAgICAgICAgICAgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24ocG9wb3ZlckVsZW0sIHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcy5ic1BvcG92ZXJEaXJlY3RpdmUuX3BvcG92ZXIpO1xuICAgICAgICAgICAgY29uc3QgcG9wb3ZlckxlZnRTaGlmdCA9IDQ7XG4gICAgICAgICAgICBjb25zdCBhcnJvd0xlZnRTaGlmdCA9IChwYXJlbnREaW1lc2lvbi5sZWZ0ICsgKHBhcmVudERpbWVzaW9uLndpZHRoIC8gMikpIC0gcG9wb3ZlckxlZnRTaGlmdDtcbiAgICAgICAgICAgIHRoaXMuYWRqdXN0UG9wb3ZlckFycm93UG9zaXRpb24ocG9wb3ZlckVsZW0sIGFycm93TGVmdFNoaWZ0KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBBZGp1c3RpbmcgcG9wb3ZlciBwb3NpdGlvbiwgaWYgaXQgaXMgbm90IHZpc2libGUgYXQgcmlnaHQgc2lkZVxuICAgICAgICBpZiAocG9wb3ZlckxlZnQgKyBwb3BvdmVyV2lkdGggPiB2aWV3UG9ydFdpZHRoKSB7XG4gICAgICAgICAgICBhZGp1c3RDb250YWluZXJSaWdodEVkZ2VzKHBvcG92ZXJFbGVtLCB0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuYnNQb3BvdmVyRGlyZWN0aXZlLl9wb3BvdmVyKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHBvcG92ZXJMZWZ0ID0gcG9wb3ZlckVsZW0ub2Zmc2V0KCkubGVmdDtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3BvdmVyTGVmdEFkanVzdCA9IChwb3BvdmVyTGVmdCArIHBvcG92ZXJXaWR0aCkgLSB2aWV3UG9ydFdpZHRoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJMZWZ0U2hpZnQgPSAgcG9wb3ZlckxlZnQgLSBwb3BvdmVyTGVmdEFkanVzdDtcbiAgICAgICAgICAgICAgICBsZXQgYXJyb3dMZWZ0U2hpZnQgO1xuICAgICAgICAgICAgICAgIGlmKHBvcG92ZXJMZWZ0PD0xMDApe1xuICAgICAgICAgICAgICAgICAgICBhcnJvd0xlZnRTaGlmdCA9ICAocGFyZW50RGltZXNpb24ubGVmdCArIChwYXJlbnREaW1lc2lvbi53aWR0aCAvIDIpKSAtIHBvcG92ZXJMZWZ0O1xuICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICBhcnJvd0xlZnRTaGlmdCA9IChwYXJlbnREaW1lc2lvbi5sZWZ0ICsgKHBhcmVudERpbWVzaW9uLndpZHRoIC8gMikpIC0gcG9wb3ZlckxlZnRTaGlmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYodmlld1BvcnRXaWR0aCA+IDUwMCl7XG4gICAgICAgICAgICAgICAgICAgIGFycm93TGVmdFNoaWZ0ICs9IDMwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIHRoaXMuYWRqdXN0UG9wb3ZlckFycm93UG9zaXRpb24ocG9wb3ZlckVsZW0sIGFycm93TGVmdFNoaWZ0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVHJpZ2dlciBvbiBzaG93aW5nIHBvcG92ZXJcbiAgICBwdWJsaWMgb25TaG93bigpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGZpbmRSb290Q29udGFpbmVyKHRoaXMuJGVsZW1lbnQpO1xuICAgICAgICAvLyBpZiBwYWdlIHN0eWxlcyBoYXZlIHRvIGJlIGFwcGxpZWQgdG8gcG9wb3ZlciB0aGVuIHBvcG92ZXIgaGFzIHRvIGJlIGNoaWxkIG9mIHBhZ2UgZWxlbWVudC5cbiAgICAgICAgaWYgKHJvb3QpIHtcbiAgICAgICAgICAgICQoJ2JvZHkgPiBwb3BvdmVyLWNvbnRhaW5lcicpLndyYXAoJzwnICsgcm9vdCArICcvPicpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZpeCBmb3IgW1dNUy0yNTEyNV06IE5vdCBjbG9zaW5nIHRoZSBleGlzdGluZyBvcGVuZWQgcG9wb3ZlcnMgd2hlbiB0aGUgYXV0b2Nsb3NlIHByb3BlcnR5IGlzIERJU0FCTEVEXG4gICAgICAgIGlmIChhY3RpdmVQb3BvdmVyICYmIGFjdGl2ZVBvcG92ZXIuaXNPcGVuICYmIGFjdGl2ZVBvcG92ZXIuYXV0b2Nsb3NlICE9PSBBVVRPQ0xPU0VfVFlQRS5ESVNBQkxFRCkge1xuICAgICAgICAgICAgYWN0aXZlUG9wb3Zlci5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFjdGl2ZVBvcG92ZXIgPSB0aGlzO1xuICAgICAgICBhY3RpdmVQb3BvdmVyLmlzT3BlbiA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlckNvbnRhaW5lciAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAuJHt0aGlzLnBvcG92ZXJDb250YWluZXJDbHN9YCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIHNldENTU0Zyb21PYmoocG9wb3ZlckNvbnRhaW5lciwge1xuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLnBvcG92ZXJoZWlnaHQsXG4gICAgICAgICAgICBtaW5XaWR0aDogdGhpcy5wb3BvdmVyd2lkdGgsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5wb3BvdmVyd2lkdGhcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghdGhpcy5wb3BvdmVyYXJyb3cpIHtcbiAgICAgICAgICAgIGFkZENsYXNzKHBvcG92ZXJDb250YWluZXIucXVlcnlTZWxlY3RvcignLmFycm93JykgYXMgSFRNTEVsZW1lbnQsICdoaWRkZW4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbnRlcmFjdGlvbiA9PT0gJ2hvdmVyJyB8fCB0aGlzLmludGVyYWN0aW9uID09PSAnZGVmYXVsdCcpIHtcblxuICAgICAgICAgICAgLy8gZG8gbm90IHVzZSBhZGRFdmVudExpc3RlbmVyIGhlcmVcbiAgICAgICAgICAgIC8vIGF0dGFjaGluZyB0aGUgZXZlbnQgdGhpcyB3YXkgd2lsbCBvdmVycmlkZSB0aGUgZXhpc3RpbmcgZXZlbnQgaGFuZGxlcnNcbiAgICAgICAgICAgIHBvcG92ZXJDb250YWluZXIub25tb3VzZWVudGVyID0gKCkgPT4gY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VQb3BvdmVyVGltZW91dCk7XG4gICAgICAgICAgICBwb3BvdmVyQ29udGFpbmVyLm9ubW91c2VsZWF2ZSA9ICgpID0+IHRoaXMuaGlkZVBvcG92ZXIoKTtcbiAgICAgICAgICAgIHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQub25tb3VzZWVudGVyID0gKCkgPT4gY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VQb3BvdmVyVGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50Lm9ubW91c2VsZWF2ZSA9ICgpID0+IHRoaXMuaGlkZVBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5Jyk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZVJlZ2lzdGVyID0gdGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihwb3BvdmVyQ29udGFpbmVyLCAna2V5ZG93bi5lc2MnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zZXRGb2N1c1RvUG9wb3ZlckxpbmsoKTtcbiAgICAgICAgICAgIGRlUmVnaXN0ZXIoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHBvcG92ZXJTdGFydEJ0bjogSFRNTEVsZW1lbnQgPSBwb3BvdmVyQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5wb3BvdmVyLXN0YXJ0Jyk7XG4gICAgICAgIGNvbnN0IHBvcG92ZXJFbmRCdG46IEhUTUxFbGVtZW50ID0gcG9wb3ZlckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcucG9wb3Zlci1lbmQnKTtcbiAgICAgICAgcG9wb3ZlclN0YXJ0QnRuLm9ua2V5ZG93biA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIFNoaWZ0K1RhYiBrZXlcbiAgICAgICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ic1BvcG92ZXJEaXJlY3RpdmUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c1RvUG9wb3ZlckxpbmsoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlOyAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcG9wb3ZlckVuZEJ0bi5vbmtleWRvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIC8vIENoZWNrIGZvciBUYWIga2V5XG4gICAgICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5ICYmIGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJzUG9wb3ZlckRpcmVjdGl2ZS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzVG9Qb3BvdmVyTGluaygpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7ICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIC8vV2hlbmV2ZXIgYXV0b2Nsb3NlIHByb3BlcnR5IGlzIHNldCB0byAnYWx3YXlzJywgYWRkaW5nIHRoZSBvbmNsaWNrIGxpc3RlbmVyIHRvIHRoZSBwb3BvdmVyIGNvbnRhaW5lciB0byBjbG9zZSB0aGUgcG9wb3Zlci5cbiAgICAgICAgaWYgKHRoaXMuYXV0b2Nsb3NlID09PSBBVVRPQ0xPU0VfVFlQRS5BTFdBWVMpIHtcbiAgICAgICAgICAgIHBvcG92ZXJDb250YWluZXIub25jbGljayA9ICgpID0+IHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcG9wb3ZlclN0YXJ0QnRuLmZvY3VzKCksIDUwKTtcbiAgICAgICAgLy8gQWRqdXN0aW5nIHBvcG92ZXIgcG9zaXRpb24gaWYgdGhlIHBvcG92ZXIgcGxhY2VtZW50IGlzIHRvcCBvciBib3R0b21cbiAgICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmFkYXB0aXZlcG9zaXRpb24gKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3BvdmVyUG9zdGlvbihwb3BvdmVyQ29udGFpbmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRyaWdnZXJpbmcgb25sb2FkIGFuZCBvbnNob3cgZXZlbnRzIGFmdGVyIHBvcG92ZXIgY29udGVudCBoYXMgcmVuZGVyZWRcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlclBvcG92ZXJFdmVudHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHJpZ2dlclBvcG92ZXJFdmVudHMoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRzb3VyY2UgPT09ICdwYXJ0aWFsJykge1xuICAgICAgICAgICAgY29uc3QgY2FuY2VsU3Vic2NyaXB0aW9uID0gdGhpcy5hcHAuc3Vic2NyaWJlKCdwYXJ0aWFsTG9hZGVkJywgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJFbGUgPSB0aGlzLnBhcnRpYWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICBsZXQgcGFydGlhbFNjb3BlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHBhckVsZSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0aWFsU2NvcGUgID0gcGFyRWxlLndpZGdldDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5XaWRnZXRzICAgPSBwYXJ0aWFsU2NvcGUuV2lkZ2V0cztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5WYXJpYWJsZXMgPSBwYXJ0aWFsU2NvcGUuVmFyaWFibGVzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkFjdGlvbnMgICA9IHBhcnRpYWxTY29wZS5BY3Rpb25zO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2xvYWQnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdzaG93JywgeyRldmVudDoge3R5cGU6ICdzaG93J319KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FuY2VsU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuV2lkZ2V0cyAgID0gdGhpcy52aWV3UGFyZW50LldpZGdldHM7XG4gICAgICAgICAgICB0aGlzLlZhcmlhYmxlcyA9IHRoaXMudmlld1BhcmVudC5WYXJpYWJsZXM7XG4gICAgICAgICAgICB0aGlzLkFjdGlvbnMgICA9IHRoaXMudmlld1BhcmVudC5BY3Rpb25zO1xuICAgICAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdzaG93JywgeyRldmVudDoge3R5cGU6ICdzaG93J319KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZVBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pc09wZW4gPSBmYWxzZSwgNTAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dQb3BvdmVyKCkge1xuICAgICAgICB0aGlzLmJzUG9wb3ZlckRpcmVjdGl2ZS5zaG93KCk7XG4gICAgfVxuXG4gICAgb25Qb3BvdmVyQW5jaG9yS2V5ZG93bigkZXZlbnQpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gY29udGVudCBhdmFpbGFibGUsIHRoZSBwb3BvdmVyIHNob3VsZCBub3Qgb3BlbiB0aHJvdWdoIGVudGVyIGtleS4gU28gY2hlY2tpbmcgd2hldGhlciB0aGUgY2FuUG9wb3Zlck9wZW4gZmxhZyBpcyB0cnVlIG9yIG5vdC5cbiAgICAgICAgaWYgKCF0aGlzLmNhblBvcG92ZXJPcGVuKSB7XG4gICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5zaG93UG9wb3ZlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCBrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnY29udGVudHNvdXJjZScpIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIHBhcnRpYWwgY29udGVudCBhdmFpbGFibGUsIHRoZSBwb3BvdmVyIHNob3VsZCBub3Qgb3BlblxuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudHNvdXJjZSA9PT0gJ3BhcnRpYWwnICYmICF0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhblBvcG92ZXJPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NvbnRlbnQnICYmIG52KSB7XG4gICAgICAgICAgICB0aGlzLmNhblBvcG92ZXJPcGVuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnYXV0b2Nsb3NlJykge1xuICAgICAgICAgICAgdGhpcy5vdXRzaWRlY2xpY2sgPSAobnYgPT09IEFVVE9DTE9TRV9UWVBFLk9VVFNJREVDTElDSyB8fCBudiA9PT0gQVVUT0NMT1NFX1RZUEUuQUxXQVlTKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5ldmVudCA9IGV2ZW50c01hcFt0aGlzLmludGVyYWN0aW9uXTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5hbmNob3JSZWYubmF0aXZlRWxlbWVudCwgdGhpcyk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyVGFyZ2V0ID0gZ2V0Q29udGFpbmVyVGFyZ2V0Q2xhc3ModGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgbGV0IHBhcmVudEVsZW1Qb3BvdmVyID0gJCh0aGlzLm5hdGl2ZUVsZW1lbnQpLnBhcmVudHMoKTtcbiAgICAgICAgaWYgKHBhcmVudEVsZW1Qb3BvdmVyLmNsb3Nlc3QoJ1t3bVRhYmxlXScpLmxlbmd0aCB8fFxuICAgICAgICAgICAgcGFyZW50RWxlbVBvcG92ZXIuY2xvc2VzdCgnW3dtdGFic10nKS5sZW5ndGggfHxcbiAgICAgICAgICAgIHBhcmVudEVsZW1Qb3BvdmVyLmNsb3Nlc3QoJ21vZGFsLWNvbnRhaW5lcicpLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hZGFwdGl2ZXBvc2l0aW9uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGV0YWNoKCkge1xuICAgICAgICAvLyBIaWRlIHRoZSBwb3BvdmVyIGNvbnRhaW5lciB3aGlsZSBhdHRhY2hpbmcgdGhlIG5leHQgY29tcG9uZW50IGFzIHBhcnQgb2YgcGFnZSByZXVzZSBzdHJhdGVneS5cbiAgICAgICAgdGhpcy5ic1BvcG92ZXJEaXJlY3RpdmUuaGlkZSgpO1xuICAgIH1cbn1cbiIsIjxhIFtwb3BvdmVyXT1cInBvcG92ZXJUZW1wbGF0ZVwiXG4gICAgW3BvcG92ZXJDb250ZXh0XT1cImNvbnRleHRcIlxuICAgIFtwb3BvdmVyVGl0bGVdPVwidGl0bGVcIlxuICAgIFtwbGFjZW1lbnRdPVwicG9wb3ZlcnBsYWNlbWVudFwiXG4gICAgW291dHNpZGVDbGlja109XCJvdXRzaWRlY2xpY2tcIlxuICAgIFt0cmlnZ2Vyc109XCJldmVudFwiXG4gICAgKG9uU2hvd24pPVwib25TaG93bigpXCJcbiAgICAob25IaWRkZW4pPVwib25IaWRkZW4oKVwiXG4gICAgY29udGFpbmVyQ2xhc3M9XCJhcHAtcG9wb3ZlciBhbmltYXRlZCB7e2NvbnRlbnRhbmltYXRpb259fSB7e3BvcG92ZXJDb250YWluZXJDbHN9fVwiXG4gICAgW2NvbnRhaW5lcl09XCJjb250YWluZXJUYXJnZXQgfHwgJ2JvZHknXCJcbiAgICBbaXNPcGVuXT1cImlzT3BlblwiXG4gICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbY2xhc3NdPVwiY2xhc3NcIlxuICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZS1wb3BvdmVyJzogIWNhblBvcG92ZXJPcGVufVwiXG4gICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiYWRhcHRpdmVwb3NpdGlvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJoaW50IHx8ICdQb3BvdmVyIG1lbnUnXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgcm9sZT1cImJ1dHRvblwiXG4gICAgI2FuY2hvclxuICAgIG5hbWUuYmluZD1cIm5hbWVcIlxuICAgIHdtQW5jaG9yXG4gICAgYW5pbWF0aW9uLmJpbmQ9XCJhbmltYXRpb25cIlxuICAgIGJhZGdldmFsdWUuYmluZD1cImJhZGdldmFsdWVcIlxuICAgIGNhcHRpb24uYmluZD1cImNhcHRpb25cIlxuICAgIGVuY29kZXVybC5iaW5kPVwiZW5jb2RldXJsXCJcbiAgICBoaW50LmJpbmQ9XCJoaW50XCJcbiAgICBoeXBlcmxpbmsuYmluZD1cImh5cGVybGlua1wiXG4gICAgaWNvbnVybC5iaW5kPVwiaWNvbnVybFwiXG4gICAgaWNvbndpZHRoLmJpbmQ9XCJpY29ud2lkdGhcIlxuICAgIGljb25oZWlnaHQuYmluZD1cImljb25oZWlnaHRcIlxuICAgIGljb25tYXJnaW4uYmluZD1cImljb25tYXJnaW5cIlxuICAgIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICBpY29ucG9zaXRpb24uYmluZD1cImljb25wb3NpdGlvblwiXG4gICAgc2hvcnRjdXRrZXkuYmluZD1cInNob3J0Y3V0a2V5XCJcbiAgICB0YWJpbmRleC5iaW5kPVwidGFiaW5kZXhcIlxuICAgIChrZXlkb3duKT1cIm9uUG9wb3ZlckFuY2hvcktleWRvd24oJGV2ZW50KVwiPlxuPC9hPlxuIl19
|
|
@@ -127,7 +127,8 @@ class PopoverComponent extends StylableComponent {
|
|
|
127
127
|
if (root) {
|
|
128
128
|
$('body > popover-container').wrap('<' + root + '/>');
|
|
129
129
|
}
|
|
130
|
-
|
|
130
|
+
// Fix for [WMS-25125]: Not closing the existing opened popovers when the autoclose property is DISABLED
|
|
131
|
+
if (activePopover && activePopover.isOpen && activePopover.autoclose !== AUTOCLOSE_TYPE.DISABLED) {
|
|
131
132
|
activePopover.isOpen = false;
|
|
132
133
|
}
|
|
133
134
|
activePopover = this;
|