@eui/components 15.0.0-next.7 → 15.0.0-next.8

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.
Files changed (83) hide show
  1. package/atoms/eui-icon/eui-icon-svg.component.d.ts +2 -2
  2. package/atoms/eui-icon/eui-icon-svg.component.d.ts.map +1 -1
  3. package/docs/components/EuiAlertComponent.html +1 -1
  4. package/docs/components/EuiAppComponent.html +0 -9
  5. package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
  6. package/docs/components/EuiCardHeaderComponent.html +1 -1
  7. package/docs/components/EuiIconSvgComponent.html +2 -2
  8. package/docs/components/EuiMenuComponent.html +1 -1
  9. package/docs/components/EuiMenuItemComponent.html +1 -1
  10. package/docs/components/EuiNotificationsComponent.html +1 -1
  11. package/docs/components/EuiSidebarToggleComponent.html +1 -1
  12. package/docs/index.html +2 -2
  13. package/docs/js/menu-wc.js +179 -20
  14. package/docs/js/menu-wc_es5.js +1 -1
  15. package/docs/js/search/search_index.js +2 -2
  16. package/docs/miscellaneous/typealiases.html +2 -2
  17. package/docs/miscellaneous/variables.html +56 -82
  18. package/docs/modules/EuiAllModule.html +256 -22
  19. package/docs/modules/EuiAppModule.html +257 -23
  20. package/docs/modules/EuiLayoutModule.html +256 -22
  21. package/docs/modules.html +0 -12
  22. package/esm2020/atoms/eui-icon/eui-icon-svg.component.mjs +7 -7
  23. package/esm2020/atoms/eui-icon-toggle/eui-icon-toggle.component.mjs +1 -1
  24. package/esm2020/eui-alert/eui-alert.component.mjs +7 -7
  25. package/esm2020/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.mjs +3 -3
  26. package/esm2020/eui-card/components/eui-card-header/eui-card-header.component.mjs +3 -3
  27. package/esm2020/eui-fieldset/eui-fieldset.component.mjs +1 -1
  28. package/esm2020/eui-menu/eui-menu-item.component.mjs +3 -3
  29. package/esm2020/eui-menu/eui-menu.component.mjs +3 -3
  30. package/esm2020/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +2 -2
  31. package/esm2020/layout/eui-app/eui-app.component.mjs +12 -11
  32. package/esm2020/layout/eui-notifications/eui-notifications.component.mjs +3 -3
  33. package/esm2020/layout/eui-sidebar-toggle/sidebar-toggle.component.mjs +3 -3
  34. package/esm2020/legacy/common/ux-pipes/index.mjs +1 -2
  35. package/esm2020/legacy/ux-all.module.mjs +1 -8
  36. package/fesm2015/eui-components-atoms-eui-icon-toggle.mjs +1 -1
  37. package/fesm2015/eui-components-atoms-eui-icon-toggle.mjs.map +1 -1
  38. package/fesm2015/eui-components-atoms-eui-icon.mjs +6 -6
  39. package/fesm2015/eui-components-atoms-eui-icon.mjs.map +1 -1
  40. package/fesm2015/eui-components-eui-alert.mjs +6 -6
  41. package/fesm2015/eui-components-eui-alert.mjs.map +1 -1
  42. package/fesm2015/eui-components-eui-card.mjs +4 -4
  43. package/fesm2015/eui-components-eui-card.mjs.map +1 -1
  44. package/fesm2015/eui-components-eui-fieldset.mjs +1 -1
  45. package/fesm2015/eui-components-eui-fieldset.mjs.map +1 -1
  46. package/fesm2015/eui-components-eui-menu.mjs +4 -4
  47. package/fesm2015/eui-components-eui-menu.mjs.map +1 -1
  48. package/fesm2015/eui-components-layout.mjs +17 -16
  49. package/fesm2015/eui-components-layout.mjs.map +1 -1
  50. package/fesm2015/eui-components-legacy-common-ux-pipes.mjs +1 -36
  51. package/fesm2015/eui-components-legacy-common-ux-pipes.mjs.map +1 -1
  52. package/fesm2015/eui-components-legacy.mjs +1 -7
  53. package/fesm2015/eui-components-legacy.mjs.map +1 -1
  54. package/fesm2020/eui-components-atoms-eui-icon-toggle.mjs +1 -1
  55. package/fesm2020/eui-components-atoms-eui-icon-toggle.mjs.map +1 -1
  56. package/fesm2020/eui-components-atoms-eui-icon.mjs +6 -6
  57. package/fesm2020/eui-components-atoms-eui-icon.mjs.map +1 -1
  58. package/fesm2020/eui-components-eui-alert.mjs +6 -6
  59. package/fesm2020/eui-components-eui-alert.mjs.map +1 -1
  60. package/fesm2020/eui-components-eui-card.mjs +4 -4
  61. package/fesm2020/eui-components-eui-card.mjs.map +1 -1
  62. package/fesm2020/eui-components-eui-fieldset.mjs +1 -1
  63. package/fesm2020/eui-components-eui-fieldset.mjs.map +1 -1
  64. package/fesm2020/eui-components-eui-menu.mjs +4 -4
  65. package/fesm2020/eui-components-eui-menu.mjs.map +1 -1
  66. package/fesm2020/eui-components-layout.mjs +17 -16
  67. package/fesm2020/eui-components-layout.mjs.map +1 -1
  68. package/fesm2020/eui-components-legacy-common-ux-pipes.mjs +1 -36
  69. package/fesm2020/eui-components-legacy-common-ux-pipes.mjs.map +1 -1
  70. package/fesm2020/eui-components-legacy.mjs +1 -7
  71. package/fesm2020/eui-components-legacy.mjs.map +1 -1
  72. package/layout/eui-app/eui-app.component.d.ts +6 -6
  73. package/layout/eui-app/eui-app.component.d.ts.map +1 -1
  74. package/legacy/common/ux-pipes/index.d.ts +0 -1
  75. package/legacy/common/ux-pipes/index.d.ts.map +1 -1
  76. package/legacy/ux-all.module.d.ts +1 -1
  77. package/legacy/ux-all.module.d.ts.map +1 -1
  78. package/package.json +1 -1
  79. package/docs/modules/UxMomentTzPipeModule.html +0 -166
  80. package/docs/pipes/UxMomentTzPipe.html +0 -267
  81. package/esm2020/legacy/common/ux-pipes/ux-moment-tz.pipe.mjs +0 -39
  82. package/legacy/common/ux-pipes/ux-moment-tz.pipe.d.ts +0 -20
  83. package/legacy/common/ux-pipes/ux-moment-tz.pipe.d.ts.map +0 -1
@@ -228,10 +228,10 @@ export class EuiMenuComponent extends BaseDirective {
228
228
  }
229
229
  }
230
230
  /** @nocollapse */ EuiMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EuiMenuComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
231
- /** @nocollapse */ EuiMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", expandMenuLabel: "expandMenuLabel", collapseMenuLabel: "collapseMenuLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", isCollapsed: "isCollapsed", hasFilter: "hasFilter", hasIcons: "hasIcons", hasTooltip: "hasTooltip", expandAllItems: "expandAllItems" }, outputs: { onClicked: "onClicked", onItemClicked: "onItemClicked", isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <eui-icon-svg icon=\"search\" set=\"eui\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input euiInputText [euiClearable]=\"true\" (input)=\"onFilter($event)\" class=\"eui-menu-filter__input\" [placeholder]=\"searchFilterLabel\" [attr.aria-label]=\"searchFilterLabel\" />\n </div>\n</div>\n<ul class=\"eui-menu\" role=\"menubar\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <eui-menu-item *ngIf=\"item.filtered\" [item]=\"item\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSub of item.children; let isub = index\">\n <eui-menu-item [item]=\"itemSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSub.children && itemSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSub of itemSub.children; let isubub = index\">\n <eui-menu-item [item]=\"itemSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSubSub.children && itemSubSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSubSub of itemSubSub.children; let isubsubsub = index\">\n <eui-menu-item [item]=\"itemSubSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n</ul>\n", styles: [".eui-menu,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-2xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:hover{color:var(--eui-base-color-grey-100)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out}.eui-page-column__body .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.eui-menu-item__category-icon--default:before{background:#9b9b9b;border-radius:50%;content:\"\";height:5px;width:5px}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font-size:var(--eui-font-size)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:.1rem solid #efefef;color:var(--eui-base-color-text)!important;display:flex;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding-left:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link--active:not(.eui-menu-item--disabled),.eui-menu-item__link:active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);font-weight:700;text-decoration:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label,.eui-menu-item__link:active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);padding-top:var(--eui-base-spacing-3xs);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font-size:var(--eui-font-size)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-35);font-size:var(--eui-base-font-size-s);margin-left:var(--eui-base-spacing-xs)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus,.eui-menu-item .eui-button.eui-menu-item__link-toggle:active{border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.25 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-primary-75);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:calc(2 * var(--eui-base-spacing-m));text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link-icon{font-size:var(--eui-base-font-size-2xl)}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;font-size:var(--eui-base-font-size-xs);justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "span[euiIconSvg], i[euiIconSvg], eui-icon-svg", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "iconUrl", "style", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i5.EuiMenuItemComponent, selector: "eui-menu-item", inputs: ["item", "hasIcon", "hasTooltip", "isCollapsed"], outputs: ["expandToggled", "clicked"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
231
+ /** @nocollapse */ EuiMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", expandMenuLabel: "expandMenuLabel", collapseMenuLabel: "collapseMenuLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", isCollapsed: "isCollapsed", hasFilter: "hasFilter", hasIcons: "hasIcons", hasTooltip: "hasTooltip", expandAllItems: "expandAllItems" }, outputs: { onClicked: "onClicked", onItemClicked: "onItemClicked", isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input euiInputText [euiClearable]=\"true\" (input)=\"onFilter($event)\" class=\"eui-menu-filter__input\" [placeholder]=\"searchFilterLabel\" [attr.aria-label]=\"searchFilterLabel\" />\n </div>\n</div>\n<ul class=\"eui-menu\" role=\"menubar\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <eui-menu-item *ngIf=\"item.filtered\" [item]=\"item\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSub of item.children; let isub = index\">\n <eui-menu-item [item]=\"itemSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSub.children && itemSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSub of itemSub.children; let isubub = index\">\n <eui-menu-item [item]=\"itemSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSubSub.children && itemSubSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSubSub of itemSubSub.children; let isubsubsub = index\">\n <eui-menu-item [item]=\"itemSubSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n</ul>\n", styles: [".eui-menu,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-2xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:hover{color:var(--eui-base-color-grey-100)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out}.eui-page-column__body .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.eui-menu-item__category-icon--default:before{background:#9b9b9b;border-radius:50%;content:\"\";height:5px;width:5px}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font-size:var(--eui-font-size)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:.1rem solid #efefef;color:var(--eui-base-color-text)!important;display:flex;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding-left:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link--active:not(.eui-menu-item--disabled),.eui-menu-item__link:active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);font-weight:700;text-decoration:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label,.eui-menu-item__link:active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);padding-top:var(--eui-base-spacing-3xs);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font-size:var(--eui-font-size)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-35);font-size:var(--eui-base-font-size-s);margin-left:var(--eui-base-spacing-xs)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus,.eui-menu-item .eui-button.eui-menu-item__link-toggle:active{border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.25 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-primary-75);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:calc(2 * var(--eui-base-spacing-m));text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link-icon{font-size:var(--eui-base-font-size-2xl)}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;font-size:var(--eui-base-font-size-xs);justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "span[euiIconSvg], i[euiIconSvg], eui-icon-svg", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i5.EuiMenuItemComponent, selector: "eui-menu-item", inputs: ["item", "hasIcon", "hasTooltip", "isCollapsed"], outputs: ["expandToggled", "clicked"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
232
232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EuiMenuComponent, decorators: [{
233
233
  type: Component,
234
- args: [{ selector: 'eui-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <eui-icon-svg icon=\"search\" set=\"eui\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input euiInputText [euiClearable]=\"true\" (input)=\"onFilter($event)\" class=\"eui-menu-filter__input\" [placeholder]=\"searchFilterLabel\" [attr.aria-label]=\"searchFilterLabel\" />\n </div>\n</div>\n<ul class=\"eui-menu\" role=\"menubar\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <eui-menu-item *ngIf=\"item.filtered\" [item]=\"item\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSub of item.children; let isub = index\">\n <eui-menu-item [item]=\"itemSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSub.children && itemSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSub of itemSub.children; let isubub = index\">\n <eui-menu-item [item]=\"itemSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSubSub.children && itemSubSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSubSub of itemSubSub.children; let isubsubsub = index\">\n <eui-menu-item [item]=\"itemSubSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n</ul>\n", styles: [".eui-menu,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-2xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:hover{color:var(--eui-base-color-grey-100)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out}.eui-page-column__body .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.eui-menu-item__category-icon--default:before{background:#9b9b9b;border-radius:50%;content:\"\";height:5px;width:5px}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font-size:var(--eui-font-size)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:.1rem solid #efefef;color:var(--eui-base-color-text)!important;display:flex;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding-left:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link--active:not(.eui-menu-item--disabled),.eui-menu-item__link:active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);font-weight:700;text-decoration:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label,.eui-menu-item__link:active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);padding-top:var(--eui-base-spacing-3xs);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font-size:var(--eui-font-size)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-35);font-size:var(--eui-base-font-size-s);margin-left:var(--eui-base-spacing-xs)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus,.eui-menu-item .eui-button.eui-menu-item__link-toggle:active{border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.25 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-primary-75);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:calc(2 * var(--eui-base-spacing-m));text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link-icon{font-size:var(--eui-base-font-size-2xl)}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;font-size:var(--eui-base-font-size-xs);justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"] }]
234
+ args: [{ selector: 'eui-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input euiInputText [euiClearable]=\"true\" (input)=\"onFilter($event)\" class=\"eui-menu-filter__input\" [placeholder]=\"searchFilterLabel\" [attr.aria-label]=\"searchFilterLabel\" />\n </div>\n</div>\n<ul class=\"eui-menu\" role=\"menubar\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <eui-menu-item *ngIf=\"item.filtered\" [item]=\"item\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSub of item.children; let isub = index\">\n <eui-menu-item [item]=\"itemSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSub.children && itemSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSub of itemSub.children; let isubub = index\">\n <eui-menu-item [item]=\"itemSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n <ul *ngIf=\"itemSubSub.children && itemSubSub.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <ng-container *ngFor=\"let itemSubSubSub of itemSubSub.children; let isubsubsub = index\">\n <eui-menu-item [item]=\"itemSubSubSub\" [hasIcon]=\"hasIcons\" [hasTooltip]=\"hasTooltip\" [isCollapsed]=\"isCollapsed\"\n (expandToggled)=\"onExpandToggle($event)\" (clicked)=\"onClick($event)\">\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n </ul>\n </eui-menu-item>\n </ng-container>\n</ul>\n", styles: [".eui-menu,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-2xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-clear:hover{color:var(--eui-base-color-grey-100)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out}.eui-page-column__body .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.eui-menu-item__category-icon--default:before{background:#9b9b9b;border-radius:50%;content:\"\";height:5px;width:5px}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font-size:var(--eui-font-size)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:.1rem solid #efefef;color:var(--eui-base-color-text)!important;display:flex;height:calc(2.75 * var(--eui-base-spacing-m));justify-content:center;padding-left:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link--active:not(.eui-menu-item--disabled),.eui-menu-item__link:active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);font-weight:700;text-decoration:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label,.eui-menu-item__link:active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);padding-top:var(--eui-base-spacing-3xs);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font-size:var(--eui-font-size)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-35);font-size:var(--eui-base-font-size-s);margin-left:var(--eui-base-spacing-xs)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus,.eui-menu-item .eui-button.eui-menu-item__link-toggle:active{border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-90);display:flex;flex-direction:row;font-size:var(--eui-base-font-size-s);font-weight:700;height:calc(2.25 * var(--eui-base-spacing-m));justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;transition:all .3s ease-in-out;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{font-weight:500;text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-primary-75);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:calc(2 * var(--eui-base-spacing-m));text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link-icon{font-size:var(--eui-base-font-size-2xl)}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;font-size:var(--eui-base-font-size-xs);justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"] }]
235
235
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; }, propDecorators: { items: [{
236
236
  type: Input
237
237
  }], searchFilterLabel: [{
@@ -269,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
269
269
  type: HostListener,
270
270
  args: ['click', ['$event']]
271
271
  }] } });
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFHWixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBV3ZELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBd0MvQyxZQUFvQixNQUFjLEVBQVMsS0FBcUI7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEUSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFoQ2hFLG1CQUFtQjtRQUNuQiw4REFBOEQ7UUFDcEQsY0FBUyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hFLDhEQUE4RDtRQUNwRCxrQkFBYSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBSTNFLFlBQU8sR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxjQUFTLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFLekUsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFJckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUluQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWxCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBSXBCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBSWhDLENBQUM7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c0JBQWxCLEtBQUs7Z0JBSUksU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUlHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFHSCxXQUFXO3NCQURkLEtBQUs7Z0JBS0YsU0FBUztzQkFEWixLQUFLO2dCQUtGLFFBQVE7c0JBRFgsS0FBSztnQkFLRixVQUFVO3NCQURiLEtBQUs7Z0JBS0YsY0FBYztzQkFEakIsS0FBSztnQkFVRixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFVcEIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuaW1wb3J0IHsgY29uc3VtZUV2ZW50IH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICcuL21vZGVscy9ldWktbWVudS1pdGVtLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpTWVudUNvbXBvbmVudCBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgaXRlbXM6IEV1aU1lbnVJdGVtW107XG4gICAgQElucHV0KCkgc2VhcmNoRmlsdGVyTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBleHBhbmRNZW51TGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBjb2xsYXBzZU1lbnVMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dGVybmFsTGlua0xhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZnJhZ21lbnRJZDogc3RyaW5nO1xuXG4gICAgLyplc2xpbnQtZGlzYWJsZSAqL1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQE91dHB1dCgpIG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQE91dHB1dCgpIG9uSXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuICAgIC8qZXNsaW50LWVuYWJsZSAqL1xuICAgIGl0ZW1zU3RhdGU6IGFueVtdO1xuXG4gICAgQE91dHB1dCgpIGlzQ2xpY2s6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzQ29sbGFwc2VkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNDb2xsYXBzZWQ7IH1cbiAgICBzZXQgaXNDb2xsYXBzZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0NvbGxhcHNlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc0ZpbHRlcigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc0ZpbHRlcjsgfVxuICAgIHNldCBoYXNGaWx0ZXIodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNGaWx0ZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzSWNvbnMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oYXNJY29uczsgfVxuICAgIHNldCBoYXNJY29ucyh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2hhc0ljb25zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2hhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc1Rvb2x0aXA7IH1cbiAgICBzZXQgaGFzVG9vbHRpcCh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2hhc1Rvb2x0aXAgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzVG9vbHRpcCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV4cGFuZEFsbEl0ZW1zKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXhwYW5kQWxsSXRlbXM7IH1cbiAgICBzZXQgZXhwYW5kQWxsSXRlbXModmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9leHBhbmRBbGxJdGVtcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9leHBhbmRBbGxJdGVtcyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktbWVudS13cmFwcGVyJyksXG4gICAgICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID8gJ2V1aS1tZW51LS1jb2xsYXBzZWQnIDogJycsXG4gICAgICAgICAgICAhdGhpcy5oYXNJY29ucyA/ICdldWktbWVudS0tbm8taWNvbnMnIDogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRJdGVtID0gT2JqZWN0LmFzc2lnbihpdGVtLCB7IHZpc2libGU6IGl0ZW0udmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGl0ZW0udmlzaWJsZSwgZmlsdGVyZWQ6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1hcHBlZEl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFwcGVkSXRlbS5jaGlsZHJlbi5tYXAoKGl0ZW1TdWIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtU3ViLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN1Yi5jaGlsZHJlbi5tYXAoKGl0ZW1TdWJTdWIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1TdWJTdWIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TdWJTdWIuY2hpbGRyZW4ubWFwKChpdGVtU3ViU3ViU3ViKSA9PiBPYmplY3QuYXNzaWduKGl0ZW1TdWJTdWJTdWIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBpdGVtU3ViU3ViU3ViLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtU3ViU3ViU3ViLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihpdGVtU3ViU3ViLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBpdGVtU3ViU3ViLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtU3ViU3ViLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbVN1YiwgeyB2aXNpYmxlOiBpdGVtU3ViLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtU3ViLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBleHBhbmQgYWxsIHBhcmVudHMgd2l0aCBjaGlsZHJlblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZEFsbEl0ZW1zICYmIG1hcHBlZEl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFwcGVkSXRlbS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBwZWRJdGVtO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZiArICcvJztcblxuICAgICAgICAgICAgdGhpcy5pdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoaXRlbVN1YikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1TdWIudXJsICYmIGN1cnJlbnRVcmwuaW5kZXhPZihpdGVtU3ViLnVybC5zdWJzdHIoMSkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25FeHBhbmRUb2dnbGUoaXRlbSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1TdWIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN1Yi5jaGlsZHJlbi5mb3JFYWNoKChpdGVtU3ViU3ViKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVN1YlN1Yi51cmwgJiYgY3VycmVudFVybC5pbmRleE9mKGl0ZW1TdWJTdWIudXJsLnN1YnN0cigxKSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vbkV4cGFuZFRvZ2dsZShpdGVtU3ViKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uRXhwYW5kVG9nZ2xlKGl0ZW0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHBhbmQgLyBDb2xsYXBzZSBBbGwgaXRlbXNcbiAgICAgICAgaWYgKGNoYW5nZXMuZXhwYW5kQWxsSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kQWxsSXRlbXMgPSBjaGFuZ2VzLmV4cGFuZEFsbEl0ZW1zLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZEFsbEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyh0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyhmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTGFiZWxzIGRlZmF1bHQgdmFsdWVzIC0gVE9ETyA6IHRyYW5zbGF0aW9uc1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoRmlsdGVyTGFiZWwpIHsgdGhpcy5zZWFyY2hGaWx0ZXJMYWJlbCA9ICdTZWFyY2ggZmlsdGVyJzsgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKGl0ZW06IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihpdGVtLnVybEV4dGVybmFsLCBpdGVtLnVybEV4dGVybmFsVGFyZ2V0ICk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS51cmwpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpdGVtLnVybF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgZnJhZ21lbnQ6IHRoaXMuZnJhZ21lbnRJZCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgKGl0ZW0uY29tbWFuZCkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkV4cGFuZFRvZ2dsZShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtLmxpbmspIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgaXQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKGl0LmlkID09PSBpdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBpdDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNsaWNrZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGlja2VkLmVtaXQoaXRlbSk7XG4gICAgICAgIHRoaXMuaXNDbGljay5lbWl0KHRydWUpO1xuICAgICAgICB0aGlzLml0ZW1DbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkV4cGFuZFRvZ2dsZShpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtSWR4ID0gdGhpcy5pdGVtcz8uaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW1JZHggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5pdGVtc1tpdGVtSWR4XS5leHBhbmRlZCA9ICF0aGlzLml0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pdGVtcz8uZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1JZHgyID0gaS5jaGlsZHJlbj8uaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1JZHgyID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkuY2hpbGRyZW5baXRlbUlkeDJdLmV4cGFuZGVkID0gIWkuY2hpbGRyZW5baXRlbUlkeDJdLmV4cGFuZGVkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaS5jaGlsZHJlbi5mb3JFYWNoKChpaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1JZHgzID0gaWkuY2hpbGRyZW4/LmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtSWR4MyA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpaS5jaGlsZHJlbltpdGVtSWR4M10uZXhwYW5kZWQgPSAhaWkuY2hpbGRyZW5baXRlbUlkeDNdLmV4cGFuZGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbk1lbnVGaWx0ZXJDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyhmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcz8ubWFwKChpdGVtKSA9PiB7XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuIHx8IGl0ZW0ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHZhbHVlLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xuXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuLm1hcCgoc3ViSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1Ykl0ZW0uY2hpbGRyZW4gfHwgc3ViSXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodmFsdWUudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3ViSXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbjIgPSBzdWJJdGVtLmNoaWxkcmVuLm1hcCgoc3ViSXRlbTIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJJdGVtMi5jaGlsZHJlbiB8fCBzdWJJdGVtMi5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodmFsdWUudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3ViSXRlbTIsIHsgZmlsdGVyZWQ6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1Ykl0ZW0yLCB7IGZpbHRlcmVkOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihzdWJJdGVtLCB7IGNoaWxkcmVuOiBjaGlsZHJlbjIgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1Ykl0ZW0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkOiBzdWJJdGVtLmNoaWxkcmVuLmZpbHRlcigobCkgPT4gbFsnZmlsdGVyZWQnXSA9PT0gdHJ1ZSkubGVuZ3RoID4gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3ViSXRlbSwgeyBmaWx0ZXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3ViSXRlbSwgeyBmaWx0ZXJlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgeyBjaGlsZHJlbiB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbSwgeyBmaWx0ZXJlZDogaXRlbS5jaGlsZHJlbi5maWx0ZXIoKGwpID0+IGxbJ2ZpbHRlcmVkJ10gPT09IHRydWUpLmxlbmd0aCA+IDAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbSwgeyBmaWx0ZXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgZmlsdGVyZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gc3RhdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgdmlzaWJsZTogaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogaXRlbS52aXNpYmxlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaGFzRmlsdGVyICYmICFpc0NvbGxhcHNlZFwiIGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyXCIgKGNsaWNrKT1cIm9uTWVudUZpbHRlckNsaWNrKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyX19pbnB1dC13cmFwcGVyXCI+XG4gICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cInNlYXJjaFwiIHNldD1cImV1aVwiIGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyX19pbnB1dC1zZWFyY2hcIiBmaWxsQ29sb3I9XCJncmV5LTUwXCIgYXJpYS1sYWJlbD1cIlNlYXJjaCBJY29uXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgIDxpbnB1dCBldWlJbnB1dFRleHQgW2V1aUNsZWFyYWJsZV09XCJ0cnVlXCIgKGlucHV0KT1cIm9uRmlsdGVyKCRldmVudClcIiBjbGFzcz1cImV1aS1tZW51LWZpbHRlcl9faW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwic2VhcmNoRmlsdGVyTGFiZWxcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNlYXJjaEZpbHRlckxhYmVsXCIgLz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPHVsIGNsYXNzPVwiZXVpLW1lbnVcIiByb2xlPVwibWVudWJhclwiPlxuICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW1zXCIgY2xhc3M9XCJldWktbWVudS0tbm8taXRlbXNcIj5ObyBtZW51IGl0ZW1zIGRlZmluZWQ8L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPGV1aS1tZW51LWl0ZW0gKm5nSWY9XCJpdGVtLmZpbHRlcmVkXCIgW2l0ZW1dPVwiaXRlbVwiIFtoYXNJY29uXT1cImhhc0ljb25zXCIgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoZXhwYW5kVG9nZ2xlZCk9XCJvbkV4cGFuZFRvZ2dsZSgkZXZlbnQpXCIgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPHVsICpuZ0lmPVwiaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmV4cGFuZGVkXCIgY2xhc3M9XCJldWktbWVudSBldWktbWVudS1zdWJcIiByb2xlPVwibWVudVwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbVN1YiBvZiBpdGVtLmNoaWxkcmVuOyBsZXQgaXN1YiA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtU3ViXCIgW2hhc0ljb25dPVwiaGFzSWNvbnNcIiBbaGFzVG9vbHRpcF09XCJoYXNUb29sdGlwXCIgW2lzQ29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmRUb2dnbGVkKT1cIm9uRXhwYW5kVG9nZ2xlKCRldmVudClcIiAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtU3ViLmNoaWxkcmVuICYmIGl0ZW1TdWIuZXhwYW5kZWRcIiBjbGFzcz1cImV1aS1tZW51IGV1aS1tZW51LXN1YlwiIHJvbGU9XCJtZW51XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtU3ViU3ViIG9mIGl0ZW1TdWIuY2hpbGRyZW47IGxldCBpc3VidWIgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1tZW51LWl0ZW0gW2l0ZW1dPVwiaXRlbVN1YlN1YlwiIFtoYXNJY29uXT1cImhhc0ljb25zXCIgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXhwYW5kVG9nZ2xlZCk9XCJvbkV4cGFuZFRvZ2dsZSgkZXZlbnQpXCIgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdJZj1cIml0ZW1TdWJTdWIuY2hpbGRyZW4gJiYgaXRlbVN1YlN1Yi5leHBhbmRlZFwiIGNsYXNzPVwiZXVpLW1lbnUgZXVpLW1lbnUtc3ViXCIgcm9sZT1cIm1lbnVcIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW1TdWJTdWJTdWIgb2YgaXRlbVN1YlN1Yi5jaGlsZHJlbjsgbGV0IGlzdWJzdWJzdWIgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1tZW51LWl0ZW0gW2l0ZW1dPVwiaXRlbVN1YlN1YlN1YlwiIFtoYXNJY29uXT1cImhhc0ljb25zXCIgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZFRvZ2dsZWQpPVwib25FeHBhbmRUb2dnbGUoJGV2ZW50KVwiIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9ldWktbWVudS1pdGVtPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC91bD5cbiJdfQ==
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFHWixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBV3ZELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBd0MvQyxZQUFvQixNQUFjLEVBQVMsS0FBcUI7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEUSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFoQ2hFLG1CQUFtQjtRQUNuQiw4REFBOEQ7UUFDcEQsY0FBUyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hFLDhEQUE4RDtRQUNwRCxrQkFBYSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBSTNFLFlBQU8sR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxjQUFTLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFLekUsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFJckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUluQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWxCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBSXBCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBSWhDLENBQUM7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c0JBQWxCLEtBQUs7Z0JBSUksU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUlHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFHSCxXQUFXO3NCQURkLEtBQUs7Z0JBS0YsU0FBUztzQkFEWixLQUFLO2dCQUtGLFFBQVE7c0JBRFgsS0FBSztnQkFLRixVQUFVO3NCQURiLEtBQUs7Z0JBS0YsY0FBYztzQkFEakIsS0FBSztnQkFVRixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFVcEIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuaW1wb3J0IHsgY29uc3VtZUV2ZW50IH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICcuL21vZGVscy9ldWktbWVudS1pdGVtLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpTWVudUNvbXBvbmVudCBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgaXRlbXM6IEV1aU1lbnVJdGVtW107XG4gICAgQElucHV0KCkgc2VhcmNoRmlsdGVyTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBleHBhbmRNZW51TGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBjb2xsYXBzZU1lbnVMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dGVybmFsTGlua0xhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZnJhZ21lbnRJZDogc3RyaW5nO1xuXG4gICAgLyplc2xpbnQtZGlzYWJsZSAqL1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQE91dHB1dCgpIG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQE91dHB1dCgpIG9uSXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuICAgIC8qZXNsaW50LWVuYWJsZSAqL1xuICAgIGl0ZW1zU3RhdGU6IGFueVtdO1xuXG4gICAgQE91dHB1dCgpIGlzQ2xpY2s6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzQ29sbGFwc2VkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNDb2xsYXBzZWQ7IH1cbiAgICBzZXQgaXNDb2xsYXBzZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0NvbGxhcHNlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc0ZpbHRlcigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc0ZpbHRlcjsgfVxuICAgIHNldCBoYXNGaWx0ZXIodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNGaWx0ZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzSWNvbnMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oYXNJY29uczsgfVxuICAgIHNldCBoYXNJY29ucyh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2hhc0ljb25zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2hhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc1Rvb2x0aXA7IH1cbiAgICBzZXQgaGFzVG9vbHRpcCh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2hhc1Rvb2x0aXAgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzVG9vbHRpcCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV4cGFuZEFsbEl0ZW1zKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXhwYW5kQWxsSXRlbXM7IH1cbiAgICBzZXQgZXhwYW5kQWxsSXRlbXModmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9leHBhbmRBbGxJdGVtcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9leHBhbmRBbGxJdGVtcyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktbWVudS13cmFwcGVyJyksXG4gICAgICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID8gJ2V1aS1tZW51LS1jb2xsYXBzZWQnIDogJycsXG4gICAgICAgICAgICAhdGhpcy5oYXNJY29ucyA/ICdldWktbWVudS0tbm8taWNvbnMnIDogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRJdGVtID0gT2JqZWN0LmFzc2lnbihpdGVtLCB7IHZpc2libGU6IGl0ZW0udmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGl0ZW0udmlzaWJsZSwgZmlsdGVyZWQ6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1hcHBlZEl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFwcGVkSXRlbS5jaGlsZHJlbi5tYXAoKGl0ZW1TdWIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtU3ViLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN1Yi5jaGlsZHJlbi5tYXAoKGl0ZW1TdWJTdWIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1TdWJTdWIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TdWJTdWIuY2hpbGRyZW4ubWFwKChpdGVtU3ViU3ViU3ViKSA9PiBPYmplY3QuYXNzaWduKGl0ZW1TdWJTdWJTdWIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBpdGVtU3ViU3ViU3ViLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtU3ViU3ViU3ViLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihpdGVtU3ViU3ViLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBpdGVtU3ViU3ViLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtU3ViU3ViLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbVN1YiwgeyB2aXNpYmxlOiBpdGVtU3ViLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtU3ViLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBleHBhbmQgYWxsIHBhcmVudHMgd2l0aCBjaGlsZHJlblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZEFsbEl0ZW1zICYmIG1hcHBlZEl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFwcGVkSXRlbS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBwZWRJdGVtO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZiArICcvJztcblxuICAgICAgICAgICAgdGhpcy5pdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoaXRlbVN1YikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1TdWIudXJsICYmIGN1cnJlbnRVcmwuaW5kZXhPZihpdGVtU3ViLnVybC5zdWJzdHIoMSkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25FeHBhbmRUb2dnbGUoaXRlbSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1TdWIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN1Yi5jaGlsZHJlbi5mb3JFYWNoKChpdGVtU3ViU3ViKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVN1YlN1Yi51cmwgJiYgY3VycmVudFVybC5pbmRleE9mKGl0ZW1TdWJTdWIudXJsLnN1YnN0cigxKSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vbkV4cGFuZFRvZ2dsZShpdGVtU3ViKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uRXhwYW5kVG9nZ2xlKGl0ZW0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHBhbmQgLyBDb2xsYXBzZSBBbGwgaXRlbXNcbiAgICAgICAgaWYgKGNoYW5nZXMuZXhwYW5kQWxsSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kQWxsSXRlbXMgPSBjaGFuZ2VzLmV4cGFuZEFsbEl0ZW1zLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZEFsbEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyh0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyhmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTGFiZWxzIGRlZmF1bHQgdmFsdWVzIC0gVE9ETyA6IHRyYW5zbGF0aW9uc1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoRmlsdGVyTGFiZWwpIHsgdGhpcy5zZWFyY2hGaWx0ZXJMYWJlbCA9ICdTZWFyY2ggZmlsdGVyJzsgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKGl0ZW06IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihpdGVtLnVybEV4dGVybmFsLCBpdGVtLnVybEV4dGVybmFsVGFyZ2V0ICk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS51cmwpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpdGVtLnVybF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgZnJhZ21lbnQ6IHRoaXMuZnJhZ21lbnRJZCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgKGl0ZW0uY29tbWFuZCkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkV4cGFuZFRvZ2dsZShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtLmxpbmspIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgaXQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKGl0LmlkID09PSBpdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBpdDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNsaWNrZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGlja2VkLmVtaXQoaXRlbSk7XG4gICAgICAgIHRoaXMuaXNDbGljay5lbWl0KHRydWUpO1xuICAgICAgICB0aGlzLml0ZW1DbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkV4cGFuZFRvZ2dsZShpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtSWR4ID0gdGhpcy5pdGVtcz8uaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW1JZHggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5pdGVtc1tpdGVtSWR4XS5leHBhbmRlZCA9ICF0aGlzLml0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pdGVtcz8uZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1JZHgyID0gaS5jaGlsZHJlbj8uaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1JZHgyID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkuY2hpbGRyZW5baXRlbUlkeDJdLmV4cGFuZGVkID0gIWkuY2hpbGRyZW5baXRlbUlkeDJdLmV4cGFuZGVkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaS5jaGlsZHJlbi5mb3JFYWNoKChpaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1JZHgzID0gaWkuY2hpbGRyZW4/LmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtSWR4MyA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpaS5jaGlsZHJlbltpdGVtSWR4M10uZXhwYW5kZWQgPSAhaWkuY2hpbGRyZW5baXRlbUlkeDNdLmV4cGFuZGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbk1lbnVGaWx0ZXJDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyhmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcz8ubWFwKChpdGVtKSA9PiB7XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuIHx8IGl0ZW0ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHZhbHVlLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xuXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuLm1hcCgoc3ViSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1Ykl0ZW0uY2hpbGRyZW4gfHwgc3ViSXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodmFsdWUudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3ViSXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbjIgPSBzdWJJdGVtLmNoaWxkcmVuLm1hcCgoc3ViSXRlbTIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJJdGVtMi5jaGlsZHJlbiB8fCBzdWJJdGVtMi5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodmFsdWUudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3ViSXRlbTIsIHsgZmlsdGVyZWQ6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1Ykl0ZW0yLCB7IGZpbHRlcmVkOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihzdWJJdGVtLCB7IGNoaWxkcmVuOiBjaGlsZHJlbjIgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1Ykl0ZW0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkOiBzdWJJdGVtLmNoaWxkcmVuLmZpbHRlcigobCkgPT4gbFsnZmlsdGVyZWQnXSA9PT0gdHJ1ZSkubGVuZ3RoID4gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3ViSXRlbSwgeyBmaWx0ZXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3ViSXRlbSwgeyBmaWx0ZXJlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgeyBjaGlsZHJlbiB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbSwgeyBmaWx0ZXJlZDogaXRlbS5jaGlsZHJlbi5maWx0ZXIoKGwpID0+IGxbJ2ZpbHRlcmVkJ10gPT09IHRydWUpLmxlbmd0aCA+IDAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbSwgeyBmaWx0ZXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgZmlsdGVyZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gc3RhdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgdmlzaWJsZTogaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogaXRlbS52aXNpYmxlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaGFzRmlsdGVyICYmICFpc0NvbGxhcHNlZFwiIGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyXCIgKGNsaWNrKT1cIm9uTWVudUZpbHRlckNsaWNrKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyX19pbnB1dC13cmFwcGVyXCI+XG4gICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1zZWFyY2hcIiBjbGFzcz1cImV1aS1tZW51LWZpbHRlcl9faW5wdXQtc2VhcmNoXCIgZmlsbENvbG9yPVwiZ3JleS01MFwiIGFyaWEtbGFiZWw9XCJTZWFyY2ggSWNvblwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICA8aW5wdXQgZXVpSW5wdXRUZXh0IFtldWlDbGVhcmFibGVdPVwidHJ1ZVwiIChpbnB1dCk9XCJvbkZpbHRlcigkZXZlbnQpXCIgY2xhc3M9XCJldWktbWVudS1maWx0ZXJfX2lucHV0XCIgW3BsYWNlaG9sZGVyXT1cInNlYXJjaEZpbHRlckxhYmVsXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWFyY2hGaWx0ZXJMYWJlbFwiIC8+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjx1bCBjbGFzcz1cImV1aS1tZW51XCIgcm9sZT1cIm1lbnViYXJcIj5cbiAgICA8c3BhbiAqbmdJZj1cIiFpdGVtc1wiIGNsYXNzPVwiZXVpLW1lbnUtLW5vLWl0ZW1zXCI+Tm8gbWVudSBpdGVtcyBkZWZpbmVkPC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxldWktbWVudS1pdGVtICpuZ0lmPVwiaXRlbS5maWx0ZXJlZFwiIFtpdGVtXT1cIml0ZW1cIiBbaGFzSWNvbl09XCJoYXNJY29uc1wiIFtoYXNUb29sdGlwXT1cImhhc1Rvb2x0aXBcIiBbaXNDb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZFRvZ2dsZWQpPVwib25FeHBhbmRUb2dnbGUoJGV2ZW50KVwiIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDx1bCAqbmdJZj1cIml0ZW0uY2hpbGRyZW4gJiYgaXRlbS5leHBhbmRlZFwiIGNsYXNzPVwiZXVpLW1lbnUgZXVpLW1lbnUtc3ViXCIgcm9sZT1cIm1lbnVcIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW1TdWIgb2YgaXRlbS5jaGlsZHJlbjsgbGV0IGlzdWIgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1tZW51LWl0ZW0gW2l0ZW1dPVwiaXRlbVN1YlwiIFtoYXNJY29uXT1cImhhc0ljb25zXCIgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXhwYW5kVG9nZ2xlZCk9XCJvbkV4cGFuZFRvZ2dsZSgkZXZlbnQpXCIgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0lmPVwiaXRlbVN1Yi5jaGlsZHJlbiAmJiBpdGVtU3ViLmV4cGFuZGVkXCIgY2xhc3M9XCJldWktbWVudSBldWktbWVudS1zdWJcIiByb2xlPVwibWVudVwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbVN1YlN1YiBvZiBpdGVtU3ViLmNoaWxkcmVuOyBsZXQgaXN1YnViID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1TdWJTdWJcIiBbaGFzSWNvbl09XCJoYXNJY29uc1wiIFtoYXNUb29sdGlwXT1cImhhc1Rvb2x0aXBcIiBbaXNDb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZFRvZ2dsZWQpPVwib25FeHBhbmRUb2dnbGUoJGV2ZW50KVwiIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtU3ViU3ViLmNoaWxkcmVuICYmIGl0ZW1TdWJTdWIuZXhwYW5kZWRcIiBjbGFzcz1cImV1aS1tZW51IGV1aS1tZW51LXN1YlwiIHJvbGU9XCJtZW51XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtU3ViU3ViU3ViIG9mIGl0ZW1TdWJTdWIuY2hpbGRyZW47IGxldCBpc3Vic3Vic3ViID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1TdWJTdWJTdWJcIiBbaGFzSWNvbl09XCJoYXNJY29uc1wiIFtoYXNUb29sdGlwXT1cImhhc1Rvb2x0aXBcIiBbaXNDb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmRUb2dnbGVkKT1cIm9uRXhwYW5kVG9nZ2xlKCRldmVudClcIiAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZXVpLW1lbnUtaXRlbT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdWw+XG4iXX0=
@@ -23,10 +23,10 @@ export class EuiAppToolbarComponent {
23
23
  }
24
24
  }
25
25
  /** @nocollapse */ EuiAppToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EuiAppToolbarComponent, deps: [{ token: i1.UxAppShellService }], target: i0.ɵɵFactoryTarget.Component });
26
- /** @nocollapse */ EuiAppToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EuiAppToolbarComponent, selector: "eui-app-toolbar", host: { properties: { "class": "this.string", "attr.role": "this.role" } }, ngImport: i0, template: "<!--Only render the toggle if there is a rendered sidebar in the DOM, otherwise it doesn't make sense. -->\n<eui-sidebar-toggle *ngIf=\"asService.getState('hasSidebar') | async\" styleClass=\"eui-app-toolbar__sidebar-toggle\">\n</eui-sidebar-toggle>\n\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"!(asService.getState('hasHeader') | async | coerceBool) || ((asService.getState('hasHeader') | async) && (asService.breakpoints$ | async).isMobile)\">\n <eui-language-selector styleClass=\"eui-app-toolbar__language-selector\">\n </eui-language-selector>\n</ng-container>\n", styles: [".eui-app-toolbar{align-items:center;background:var(--eui-app-toolbar-bg-color);color:var(--eui-app-toolbar-color);width:100%;height:var(--eui-app-toolbar-height);display:flex;position:fixed;right:0;left:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));transition:top .1s ease,left .1s ease-in,width .1s ease-in;z-index:var(--eui-base-z-index-nav)}.eui-app-toolbar__sidebar-toggle{padding:0 0 0 var(--eui-base-spacing-m)}.eui-app-toolbar__sidebar-toggle .eui-icon{cursor:pointer}.eui-app-toolbar__language-selector{margin-left:auto}.eui-app-toolbar__language-selector .eui-language-selector-link__icon{color:var(--eui-base-color-white);font-size:var(--eui-base-icon-size-l)}.eui-app-toolbar__language-selector .eui-language-selector-link__language-code{color:var(--eui-base-color-primary-100)}.modal-open .eui-app-toolbar{z-index:auto}.eui-t-ec .eui-app-toolbar__sidebar-toggle{padding-top:calc(var(--eui-base-spacing-m) + 2px)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiSidebarToggleComponent, selector: "eui-sidebar-toggle" }, { kind: "component", type: i4.EuiLanguageSelectorComponent, selector: "eui-language-selector" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.EuiCoerceBooleanPipe, name: "coerceBool" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
26
+ /** @nocollapse */ EuiAppToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EuiAppToolbarComponent, selector: "eui-app-toolbar", host: { properties: { "class": "this.string", "attr.role": "this.role" } }, ngImport: i0, template: "<!--Only render the toggle if there is a rendered sidebar in the DOM, otherwise it doesn't make sense. -->\n<eui-sidebar-toggle *ngIf=\"asService.getState('hasSidebar') | async\" styleClass=\"eui-app-toolbar__sidebar-toggle\">\n</eui-sidebar-toggle>\n\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"!(asService.getState('hasHeader') | async | coerceBool) || ((asService.getState('hasHeader') | async) && (asService.breakpoints$ | async).isMobile)\">\n <eui-language-selector styleClass=\"eui-app-toolbar__language-selector\">\n </eui-language-selector>\n</ng-container>\n", styles: [".eui-app-toolbar{align-items:center;background:var(--eui-app-toolbar-bg-color);color:var(--eui-app-toolbar-color);width:100%;height:var(--eui-app-toolbar-height);display:flex;position:fixed;right:0;left:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));transition:top .1s ease,left .1s ease-in,width .1s ease-in;z-index:var(--eui-base-z-index-nav)}.eui-app-toolbar__sidebar-toggle{padding:0 0 0 var(--eui-base-spacing-m);width:3rem}.eui-app-toolbar__sidebar-toggle .eui-icon,.eui-app-toolbar__sidebar-toggle .eui-icon-svg{cursor:pointer}.eui-app-toolbar__language-selector{margin-left:auto}.eui-app-toolbar__language-selector .eui-language-selector-link__icon{color:var(--eui-base-color-white);font-size:var(--eui-base-icon-size-l)}.eui-app-toolbar__language-selector .eui-language-selector-link__language-code{color:var(--eui-base-color-primary-100)}.modal-open .eui-app-toolbar{z-index:auto}.eui-t-ec .eui-app-toolbar__sidebar-toggle{padding-top:calc(var(--eui-base-spacing-m) + 2px)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiSidebarToggleComponent, selector: "eui-sidebar-toggle" }, { kind: "component", type: i4.EuiLanguageSelectorComponent, selector: "eui-language-selector" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.EuiCoerceBooleanPipe, name: "coerceBool" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EuiAppToolbarComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'eui-app-toolbar', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<!--Only render the toggle if there is a rendered sidebar in the DOM, otherwise it doesn't make sense. -->\n<eui-sidebar-toggle *ngIf=\"asService.getState('hasSidebar') | async\" styleClass=\"eui-app-toolbar__sidebar-toggle\">\n</eui-sidebar-toggle>\n\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"!(asService.getState('hasHeader') | async | coerceBool) || ((asService.getState('hasHeader') | async) && (asService.breakpoints$ | async).isMobile)\">\n <eui-language-selector styleClass=\"eui-app-toolbar__language-selector\">\n </eui-language-selector>\n</ng-container>\n", styles: [".eui-app-toolbar{align-items:center;background:var(--eui-app-toolbar-bg-color);color:var(--eui-app-toolbar-color);width:100%;height:var(--eui-app-toolbar-height);display:flex;position:fixed;right:0;left:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));transition:top .1s ease,left .1s ease-in,width .1s ease-in;z-index:var(--eui-base-z-index-nav)}.eui-app-toolbar__sidebar-toggle{padding:0 0 0 var(--eui-base-spacing-m)}.eui-app-toolbar__sidebar-toggle .eui-icon{cursor:pointer}.eui-app-toolbar__language-selector{margin-left:auto}.eui-app-toolbar__language-selector .eui-language-selector-link__icon{color:var(--eui-base-color-white);font-size:var(--eui-base-icon-size-l)}.eui-app-toolbar__language-selector .eui-language-selector-link__language-code{color:var(--eui-base-color-primary-100)}.modal-open .eui-app-toolbar{z-index:auto}.eui-t-ec .eui-app-toolbar__sidebar-toggle{padding-top:calc(var(--eui-base-spacing-m) + 2px)}\n"] }]
29
+ args: [{ selector: 'eui-app-toolbar', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<!--Only render the toggle if there is a rendered sidebar in the DOM, otherwise it doesn't make sense. -->\n<eui-sidebar-toggle *ngIf=\"asService.getState('hasSidebar') | async\" styleClass=\"eui-app-toolbar__sidebar-toggle\">\n</eui-sidebar-toggle>\n\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"!(asService.getState('hasHeader') | async | coerceBool) || ((asService.getState('hasHeader') | async) && (asService.breakpoints$ | async).isMobile)\">\n <eui-language-selector styleClass=\"eui-app-toolbar__language-selector\">\n </eui-language-selector>\n</ng-container>\n", styles: [".eui-app-toolbar{align-items:center;background:var(--eui-app-toolbar-bg-color);color:var(--eui-app-toolbar-color);width:100%;height:var(--eui-app-toolbar-height);display:flex;position:fixed;right:0;left:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));transition:top .1s ease,left .1s ease-in,width .1s ease-in;z-index:var(--eui-base-z-index-nav)}.eui-app-toolbar__sidebar-toggle{padding:0 0 0 var(--eui-base-spacing-m);width:3rem}.eui-app-toolbar__sidebar-toggle .eui-icon,.eui-app-toolbar__sidebar-toggle .eui-icon-svg{cursor:pointer}.eui-app-toolbar__language-selector{margin-left:auto}.eui-app-toolbar__language-selector .eui-language-selector-link__icon{color:var(--eui-base-color-white);font-size:var(--eui-base-icon-size-l)}.eui-app-toolbar__language-selector .eui-language-selector-link__language-code{color:var(--eui-base-color-primary-100)}.modal-open .eui-app-toolbar{z-index:auto}.eui-t-ec .eui-app-toolbar__sidebar-toggle{padding-top:calc(var(--eui-base-spacing-m) + 2px)}\n"] }]
30
30
  }], ctorParameters: function () { return [{ type: i1.UxAppShellService }]; }, propDecorators: { string: [{
31
31
  type: HostBinding,
32
32
  args: ['class']
@@ -27,12 +27,12 @@ export class EuiAppComponent {
27
27
  this.cssClasses = 'eui-app';
28
28
  this.appSubTitle = '';
29
29
  this.themeClass = '';
30
+ this.userInfos = '';
31
+ this.hasNoPageWrapper = false;
30
32
  this._isSidebarOpen = false;
31
33
  this._isSidebarExpandOnHover = true;
32
34
  this._isShrinkHeaderActive = true;
33
- this.userInfos = '';
34
35
  this._isSidebarHidden = false;
35
- this.hasNoPageWrapper = false;
36
36
  this.destroy$ = new Subject();
37
37
  }
38
38
  get isSidebarOpen() { return this._isSidebarOpen; }
@@ -50,6 +50,7 @@ export class EuiAppComponent {
50
50
  this.asService.fetchCssVars();
51
51
  this.asService.initCssVars();
52
52
  const deviceInfo = this.deviceDetectorService.getDeviceInfo();
53
+ console.log(deviceInfo);
53
54
  this.asService.setState({
54
55
  ...this.asService.state,
55
56
  windowHeight: window.innerHeight,
@@ -126,7 +127,7 @@ export class EuiAppComponent {
126
127
  }
127
128
  }
128
129
  /** @nocollapse */ EuiAppComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EuiAppComponent, deps: [{ token: i1.UxAppShellService }, { token: i2.DeviceDetectorService }, { token: i0.ChangeDetectorRef }, { token: EUI_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
129
- /** @nocollapse */ EuiAppComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EuiAppComponent, selector: "eui-app", inputs: { appSubTitle: "appSubTitle", themeClass: "themeClass", isSidebarOpen: "isSidebarOpen", isSidebarExpandOnHover: "isSidebarExpandOnHover", isShrinkHeaderActive: "isShrinkHeaderActive", userInfos: "userInfos", userSubInfos: "userSubInfos", impersonatedUserInfos: "impersonatedUserInfos", isSidebarHidden: "isSidebarHidden" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "customPageWrapper", first: true, predicate: i0.forwardRef(function () { return EuiAppPageWrapperDirective; }), descendants: true }, { propertyName: "appToolbar", first: true, predicate: i0.forwardRef(function () { return EuiAppToolbarComponent; }), descendants: true }, { propertyName: "appSidebar", first: true, predicate: i0.forwardRef(function () { return EuiAppSidebarComponent; }), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\"></eui-dimmer>\n\n<ng-content select=\"eui-app-sidebar\"></ng-content>\n<ng-container *ngIf=\"!appSidebar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile\">\n <eui-app-sidebar>\n <eui-app-sidebar-body>\n <eui-app-sidebar-menu [items]=\"(asService.state$ | async).menuLinks\" [hasIcons]=\"true\"></eui-app-sidebar-menu>\n </eui-app-sidebar-body>\n </eui-app-sidebar>\n</ng-container>\n\n<div class=\"eui-app-main\">\n <ng-content select=\"eui-app-top-message\"></ng-content>\n\n <ng-content select=\"eui-app-header\"></ng-content>\n\n <ng-container *ngIf=\"!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile; else elseBlockToolbar\">\n <eui-app-toolbar>\n <eui-toolbar></eui-toolbar>\n </eui-app-toolbar>\n </ng-container>\n\n <ng-template #elseBlockToolbar>\n <ng-content select=\"eui-app-toolbar\"></ng-content>\n </ng-template>\n\n <div class=\"eui-app-main-content\" role=\"main\">\n <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n <!-- TODO: consider removing code below in the future by transferring responsibility of providing <router-outlet> to the developer -->\n <ng-container *ngIf=\"hasNoPageWrapper\">\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ng-content select=\"eui-app-footer\"></ng-content>\n</div>\n\n<eui-growl [value]=\"asService.growlMessages\" [sticky]=\"asService.isGrowlSticky\" [life]=\"asService.growlLife\"\n [position]=\"asService.growlPosition\" (clicked)=\"asService.growlCallback()\"></eui-growl>\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\"></eui-block-document>\n", styles: [".eui-app{display:flex;overflow:hidden}@media screen and (max-width: 767px){.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 996px){.sidebar--hidden.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}.eui-app-main{min-height:100vh;background:var(--eui-app-main-bg-color);width:calc(100% - var(--eui-app-sidebar-width));margin-left:var(--eui-app-sidebar-width);display:flex;flex-direction:column;transition:margin .1s ease-in,width .1s ease-in}@media screen and (max-width: 767px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 996px){.sidebar--close .eui-app-main{margin-left:var(--eui-app-sidebar-width-close);width:calc(100% - var(--eui-app-sidebar-width-close))}.sidebar--hidden.sidebar--close .eui-app-main,.sidebar--hidden.sidebar--open .eui-app-main{margin-left:0;width:100%}}.eui-app-main-content{flex-grow:1;margin-top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));position:relative}eui-app-page-wrapper{display:flex;width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i5.EuiAppToolbarComponent, selector: "eui-app-toolbar" }, { kind: "component", type: i6.EuiToolbarComponent, selector: "eui-toolbar" }, { kind: "component", type: i7.EuiAppSidebarComponent, selector: "eui-app-sidebar" }, { kind: "component", type: i8.EuiAppSidebarBodyComponent, selector: "eui-app-sidebar-body" }, { kind: "component", type: i9.EuiAppSidebarMenuComponent, selector: "eui-app-sidebar-menu", inputs: ["items", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems"], outputs: ["onSidebarItemClicked"] }, { kind: "component", type: i10.EuiBlockDocumentComponent, selector: "eui-block-document", inputs: ["isBlocked"] }, { kind: "component", type: i11.EuiGrowlComponent, selector: "eui-growl", inputs: ["sticky", "life", "value", "style", "styleClass", "position", "e2eAttr"], outputs: ["clicked"] }, { kind: "component", type: i12.EuiDimmerComponent, selector: "eui-dimmer", inputs: ["isDimmerActive", "e2eAttr"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
130
+ /** @nocollapse */ EuiAppComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EuiAppComponent, selector: "eui-app", inputs: { appSubTitle: "appSubTitle", themeClass: "themeClass", userInfos: "userInfos", userSubInfos: "userSubInfos", impersonatedUserInfos: "impersonatedUserInfos", isSidebarOpen: "isSidebarOpen", isSidebarExpandOnHover: "isSidebarExpandOnHover", isShrinkHeaderActive: "isShrinkHeaderActive", isSidebarHidden: "isSidebarHidden" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "customPageWrapper", first: true, predicate: i0.forwardRef(function () { return EuiAppPageWrapperDirective; }), descendants: true }, { propertyName: "appToolbar", first: true, predicate: i0.forwardRef(function () { return EuiAppToolbarComponent; }), descendants: true }, { propertyName: "destroy$", first: true, predicate: i0.forwardRef(function () { return EuiAppSidebarComponent; }), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\"></eui-dimmer>\n\n<ng-content select=\"eui-app-sidebar\"></ng-content>\n<ng-container *ngIf=\"!appSidebar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile\">\n <eui-app-sidebar>\n <eui-app-sidebar-body>\n <eui-app-sidebar-menu [items]=\"(asService.state$ | async).menuLinks\" [hasIcons]=\"true\"></eui-app-sidebar-menu>\n </eui-app-sidebar-body>\n </eui-app-sidebar>\n</ng-container>\n\n<div class=\"eui-app-main\">\n <ng-content select=\"eui-app-top-message\"></ng-content>\n\n <ng-content select=\"eui-app-header\"></ng-content>\n\n <ng-container *ngIf=\"!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile; else elseBlockToolbar\">\n <eui-app-toolbar>\n <eui-toolbar></eui-toolbar>\n </eui-app-toolbar>\n </ng-container>\n\n <ng-template #elseBlockToolbar>\n <ng-content select=\"eui-app-toolbar\"></ng-content>\n </ng-template>\n\n <div class=\"eui-app-main-content\" role=\"main\">\n <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n <!-- TODO: consider removing code below in the future by transferring responsibility of providing <router-outlet> to the developer -->\n <ng-container *ngIf=\"hasNoPageWrapper\">\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ng-content select=\"eui-app-footer\"></ng-content>\n</div>\n\n<eui-growl [value]=\"asService.growlMessages\" [sticky]=\"asService.isGrowlSticky\" [life]=\"asService.growlLife\"\n [position]=\"asService.growlPosition\" (clicked)=\"asService.growlCallback()\"></eui-growl>\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\"></eui-block-document>\n", styles: [".eui-app{display:flex;overflow:hidden}@media screen and (max-width: 767px){.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 996px){.sidebar--hidden.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}.eui-app-main{min-height:100vh;background:var(--eui-app-main-bg-color);width:calc(100% - var(--eui-app-sidebar-width));margin-left:var(--eui-app-sidebar-width);display:flex;flex-direction:column;transition:margin .1s ease-in,width .1s ease-in}@media screen and (max-width: 767px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 996px){.sidebar--close .eui-app-main{margin-left:var(--eui-app-sidebar-width-close);width:calc(100% - var(--eui-app-sidebar-width-close))}.sidebar--hidden.sidebar--close .eui-app-main,.sidebar--hidden.sidebar--open .eui-app-main{margin-left:0;width:100%}}.eui-app-main-content{flex-grow:1;margin-top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));position:relative}eui-app-page-wrapper{display:flex;width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i5.EuiAppToolbarComponent, selector: "eui-app-toolbar" }, { kind: "component", type: i6.EuiToolbarComponent, selector: "eui-toolbar" }, { kind: "component", type: i7.EuiAppSidebarComponent, selector: "eui-app-sidebar" }, { kind: "component", type: i8.EuiAppSidebarBodyComponent, selector: "eui-app-sidebar-body" }, { kind: "component", type: i9.EuiAppSidebarMenuComponent, selector: "eui-app-sidebar-menu", inputs: ["items", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems"], outputs: ["onSidebarItemClicked"] }, { kind: "component", type: i10.EuiBlockDocumentComponent, selector: "eui-block-document", inputs: ["isBlocked"] }, { kind: "component", type: i11.EuiGrowlComponent, selector: "eui-growl", inputs: ["sticky", "life", "value", "style", "styleClass", "position", "e2eAttr"], outputs: ["clicked"] }, { kind: "component", type: i12.EuiDimmerComponent, selector: "eui-dimmer", inputs: ["isDimmerActive", "e2eAttr"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
130
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EuiAppComponent, decorators: [{
131
132
  type: Component,
132
133
  args: [{ selector: 'eui-app', encapsulation: ViewEncapsulation.None, template: "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\"></eui-dimmer>\n\n<ng-content select=\"eui-app-sidebar\"></ng-content>\n<ng-container *ngIf=\"!appSidebar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile\">\n <eui-app-sidebar>\n <eui-app-sidebar-body>\n <eui-app-sidebar-menu [items]=\"(asService.state$ | async).menuLinks\" [hasIcons]=\"true\"></eui-app-sidebar-menu>\n </eui-app-sidebar-body>\n </eui-app-sidebar>\n</ng-container>\n\n<div class=\"eui-app-main\">\n <ng-content select=\"eui-app-top-message\"></ng-content>\n\n <ng-content select=\"eui-app-header\"></ng-content>\n\n <ng-container *ngIf=\"!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile; else elseBlockToolbar\">\n <eui-app-toolbar>\n <eui-toolbar></eui-toolbar>\n </eui-app-toolbar>\n </ng-container>\n\n <ng-template #elseBlockToolbar>\n <ng-content select=\"eui-app-toolbar\"></ng-content>\n </ng-template>\n\n <div class=\"eui-app-main-content\" role=\"main\">\n <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n <!-- TODO: consider removing code below in the future by transferring responsibility of providing <router-outlet> to the developer -->\n <ng-container *ngIf=\"hasNoPageWrapper\">\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ng-content select=\"eui-app-footer\"></ng-content>\n</div>\n\n<eui-growl [value]=\"asService.growlMessages\" [sticky]=\"asService.isGrowlSticky\" [life]=\"asService.growlLife\"\n [position]=\"asService.growlPosition\" (clicked)=\"asService.growlCallback()\"></eui-growl>\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\"></eui-block-document>\n", styles: [".eui-app{display:flex;overflow:hidden}@media screen and (max-width: 767px){.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 996px){.sidebar--hidden.eui-app.sidebar--open:before{background:rgba(0,0,0,.3);bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height));transition:all .1s ease;width:100vw;z-index:980}}.eui-app-main{min-height:100vh;background:var(--eui-app-main-bg-color);width:calc(100% - var(--eui-app-sidebar-width));margin-left:var(--eui-app-sidebar-width);display:flex;flex-direction:column;transition:margin .1s ease-in,width .1s ease-in}@media screen and (max-width: 767px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 996px){.sidebar--close .eui-app-main{margin-left:var(--eui-app-sidebar-width-close);width:calc(100% - var(--eui-app-sidebar-width-close))}.sidebar--hidden.sidebar--close .eui-app-main,.sidebar--hidden.sidebar--open .eui-app-main{margin-left:0;width:100%}}.eui-app-main-content{flex-grow:1;margin-top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));position:relative}eui-app-page-wrapper{display:flex;width:100%}\n"] }]
@@ -140,18 +141,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
140
141
  type: Input
141
142
  }], themeClass: [{
142
143
  type: Input
143
- }], isSidebarOpen: [{
144
- type: Input
145
- }], isSidebarExpandOnHover: [{
146
- type: Input
147
- }], isShrinkHeaderActive: [{
148
- type: Input
149
144
  }], userInfos: [{
150
145
  type: Input
151
146
  }], userSubInfos: [{
152
147
  type: Input
153
148
  }], impersonatedUserInfos: [{
154
149
  type: Input
150
+ }], isSidebarOpen: [{
151
+ type: Input
152
+ }], isSidebarExpandOnHover: [{
153
+ type: Input
154
+ }], isShrinkHeaderActive: [{
155
+ type: Input
155
156
  }], isSidebarHidden: [{
156
157
  type: Input
157
158
  }], customPageWrapper: [{
@@ -160,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
160
161
  }], appToolbar: [{
161
162
  type: ContentChild,
162
163
  args: [forwardRef(() => EuiAppToolbarComponent)]
163
- }], appSidebar: [{
164
+ }], destroy$: [{
164
165
  type: ContentChild,
165
166
  args: [forwardRef(() => EuiAppSidebarComponent)]
166
167
  }] } });
@@ -173,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
173
174
  type: Directive,
174
175
  args: [{ selector: 'eui-app-page-wrapper' }]
175
176
  }] });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWFwcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9sYXlvdXQvZXVpLWFwcC9ldWktYXBwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xheW91dC9ldWktYXBwL2V1aS1hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFdBQVcsRUFHWCxLQUFLLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEdBS1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSTVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFhLGdCQUFnQixFQUFxQixNQUFNLFdBQVcsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRM0QsTUFBTSxPQUFPLGVBQWU7SUFxQ3hCLFlBQ1csU0FBNEIsRUFDM0IscUJBQTRDLEVBQzVDLEtBQXdCLEVBQ0UsY0FBeUI7UUFIcEQsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDM0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUNFLG1CQUFjLEdBQWQsY0FBYyxDQUFXO1FBdkN6QyxlQUFVLEdBQUcsU0FBUyxDQUFDO1FBRXBDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFJakIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFJaEMsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBSXhDLDBCQUFxQixHQUFZLElBQUksQ0FBQztRQUNyQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBTWhCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQVVqQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBT3pELENBQUM7SUFwQ0osSUFDSSxhQUFhLEtBQWMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUM1RCxJQUFJLGFBQWEsQ0FBQyxLQUFtQixJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlGLElBQ0ksc0JBQXNCLEtBQWMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksc0JBQXNCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhILElBQ0ksb0JBQW9CLEtBQWMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzFFLElBQUksb0JBQW9CLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSzVHLElBQ0ksZUFBZSxLQUFjLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNoRSxJQUFJLGVBQWUsQ0FBQyxLQUFtQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFxQmxHLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7WUFDcEIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUs7WUFDdkIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQ2hDLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVTtZQUM5QixTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsS0FBSztZQUNqQixVQUFVLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFFBQVEsRUFBRSxVQUFVLENBQUMsT0FBTyxLQUFLLFFBQVE7Z0JBQ3pDLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUk7Z0JBQ2pDLE1BQU0sRUFBRSxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxVQUFVLENBQUMsZUFBZSxLQUFLLE1BQU07Z0JBQzVFLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxLQUFLLFNBQVM7YUFDekM7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVQLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQ3RCLElBQUksQ0FDRCxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQ2hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztnQkFDckIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUs7Z0JBQ3ZCLFlBQVksRUFBRSxNQUFNLENBQUMsV0FBVztnQkFDaEMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxVQUFVO2FBQ2pDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7Z0JBQ3BCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLO2dCQUN2QixlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZO2FBQ3hELENBQUMsQ0FBQztTQUNOO1FBQ0QsSUFBRyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUNwQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztnQkFDdkIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWTthQUNwRCxDQUFDLENBQUM7U0FDTjtRQUNELElBQUcsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUNwQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztnQkFDdkIsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLFlBQVk7YUFDdEUsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7Z0JBQ3BCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLO2dCQUN2QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZO2FBQzVDLENBQUMsQ0FBQztTQUNOO1FBQ0QsSUFBRyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUNwQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztnQkFDdkIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWTthQUNsRCxDQUFDLENBQUM7U0FDTjtRQUNELElBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUNwQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztnQkFDdkIscUJBQXFCLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFlBQVk7YUFDcEUsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7c0lBdElRLGVBQWUseUhBeUNaLGdCQUFnQjswSEF6Q25CLGVBQWUsbWdCQTBCTywwQkFBMEIsb0hBRzFCLHNCQUFzQixvSEFHdEIsc0JBQXNCLHlFQ2pFekQseTBEQXlDQTtrR0RSYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLFNBQVMsaUJBR0osaUJBQWlCLENBQUMsSUFBSTs7MEJBMkNoQyxNQUFNOzJCQUFDLGdCQUFnQjs0Q0F2Q04sVUFBVTtzQkFBL0IsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRixhQUFhO3NCQURoQixLQUFLO2dCQUtGLHNCQUFzQjtzQkFEekIsS0FBSztnQkFLRixvQkFBb0I7c0JBRHZCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRixlQUFlO3NCQURsQixLQUFLO2dCQU1OLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBSTFELFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBSXRELFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7O0FBMEcxRCxvQkFBb0I7QUFFcEIsTUFBTSxPQUFPLDBCQUEwQjs7aUpBQTFCLDBCQUEwQjtxSUFBMUIsMEJBQTBCO2tHQUExQiwwQkFBMEI7a0JBRHRDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBJbnB1dCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBFdWlDb25maWcsIEVVSV9DT05GSUdfVE9LRU4sIFV4QXBwU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aUFwcFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2V1aS1hcHAtc2lkZWJhcic7XG5pbXBvcnQgeyBFdWlBcHBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9ldWktYXBwLXRvb2xiYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1hcHAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktYXBwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9fc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpQXBwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY3NzQ2xhc3NlcyA9ICdldWktYXBwJztcblxuICAgIEBJbnB1dCgpIGFwcFN1YlRpdGxlID0gJyc7XG4gICAgQElucHV0KCkgdGhlbWVDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2lkZWJhck9wZW4oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc1NpZGViYXJPcGVuOyB9XG4gICAgc2V0IGlzU2lkZWJhck9wZW4odmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc1NpZGViYXJPcGVuID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzU2lkZWJhck9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc1NpZGViYXJFeHBhbmRPbkhvdmVyKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNTaWRlYmFyRXhwYW5kT25Ib3ZlcjsgfVxuICAgIHNldCBpc1NpZGViYXJFeHBhbmRPbkhvdmVyKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNTaWRlYmFyRXhwYW5kT25Ib3ZlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc1NpZGViYXJFeHBhbmRPbkhvdmVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc1Nocmlua0hlYWRlckFjdGl2ZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzU2hyaW5rSGVhZGVyQWN0aXZlOyB9XG4gICAgc2V0IGlzU2hyaW5rSGVhZGVyQWN0aXZlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNTaHJpbmtIZWFkZXJBY3RpdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNTaHJpbmtIZWFkZXJBY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHVzZXJJbmZvcyA9ICcnO1xuICAgIEBJbnB1dCgpIHVzZXJTdWJJbmZvczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGltcGVyc29uYXRlZFVzZXJJbmZvczogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2lkZWJhckhpZGRlbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzU2lkZWJhckhpZGRlbjsgfVxuICAgIHNldCBpc1NpZGViYXJIaWRkZW4odmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc1NpZGViYXJIaWRkZW4gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNTaWRlYmFySGlkZGVuID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRXVpQXBwUGFnZVdyYXBwZXJEaXJlY3RpdmUpKVxuICAgIGN1c3RvbVBhZ2VXcmFwcGVyOiBFdWlBcHBQYWdlV3JhcHBlckRpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlBcHBUb29sYmFyQ29tcG9uZW50KSlcbiAgICBhcHBUb29sYmFyOiBFdWlBcHBUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aUFwcFNpZGViYXJDb21wb25lbnQpKVxuICAgIGFwcFNpZGViYXI6IEV1aUFwcFNpZGViYXJDb21wb25lbnQ7XG4gICAgaGFzTm9QYWdlV3JhcHBlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhc1NlcnZpY2U6IFV4QXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRldmljZURldGVjdG9yU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFVUlfQ09ORklHX1RPS0VOKSBwcml2YXRlIGV1aUNvbmZpZ1Rva2VuOiBFdWlDb25maWcsXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhc05vUGFnZVdyYXBwZXIgPSAhQm9vbGVhbih0aGlzLmN1c3RvbVBhZ2VXcmFwcGVyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2UuZmV0Y2hDc3NWYXJzKCk7XG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLmluaXRDc3NWYXJzKCk7XG5cbiAgICAgICAgY29uc3QgZGV2aWNlSW5mbyA9IHRoaXMuZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmdldERldmljZUluZm8oKTtcblxuICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgIHdpbmRvd0hlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgICAgICAgd2luZG93V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICAgICAgaGFzSGVhZGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc1NpZGViYXI6IGZhbHNlLFxuICAgICAgICAgICAgZGV2aWNlSW5mbzoge1xuICAgICAgICAgICAgICAgIGluZm86IGRldmljZUluZm8sXG4gICAgICAgICAgICAgICAgaXNDaHJvbWU6IGRldmljZUluZm8uYnJvd3NlciA9PT0gJ0Nocm9tZScsXG4gICAgICAgICAgICAgICAgaXNJRTogZGV2aWNlSW5mby5icm93c2VyID09PSAnSUUnLFxuICAgICAgICAgICAgICAgIGlzSUUxMTogZGV2aWNlSW5mby5icm93c2VyID09PSAnSUUnICYmIGRldmljZUluZm8uYnJvd3Nlcl92ZXJzaW9uID09PSAnMTEuMCcsXG4gICAgICAgICAgICAgICAgaXNGRjogZGV2aWNlSW5mby5icm93c2VyID09PSAnRmlyZWZveCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFzU2VydmljZS5nZXRTdGF0ZSgnd3JhcHBlckNsYXNzZXMnKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jc3NDbGFzc2VzID0gWydldWktYXBwJywgc3RhdGVdLmpvaW4oJyAnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkUmVmLnJlYXR0YWNoKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlPy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICB3aW5kb3dIZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgd2luZG93V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZihjaGFuZ2VzLmlzU2lkZWJhckhpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgICAgIGlzU2lkZWJhckhpZGRlbjogY2hhbmdlcy5pc1NpZGViYXJIaWRkZW4uY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoY2hhbmdlcy5pc1NpZGViYXJPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgaXNTaWRlYmFyT3BlbjogY2hhbmdlcy5pc1NpZGViYXJPcGVuLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmKGNoYW5nZXMuaXNTaWRlYmFyRXhwYW5kT25Ib3Zlcikge1xuICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgICAgIGlzU2lkZWJhckV4cGFuZE9uSG92ZXI6IGNoYW5nZXMuaXNTaWRlYmFyRXhwYW5kT25Ib3Zlci5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZihjaGFuZ2VzLnVzZXJJbmZvcykge1xuICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgICAgIHVzZXJJbmZvczogY2hhbmdlcy51c2VySW5mb3MuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoY2hhbmdlcy51c2VyU3ViSW5mb3MpIHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICB1c2VyU3ViSW5mb3M6IGNoYW5nZXMudXNlclN1YkluZm9zLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmKGNoYW5nZXMuaW1wZXJzb25hdGVkVXNlckluZm9zKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgaW1wZXJzb25hdGVkVXNlckluZm9zOiBjaGFuZ2VzLmltcGVyc29uYXRlZFVzZXJJbmZvcy5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aS1hcHAtcGFnZS13cmFwcGVyJyB9KVxuZXhwb3J0IGNsYXNzIEV1aUFwcFBhZ2VXcmFwcGVyRGlyZWN0aXZlIHsgfVxuXG4iLCI8ZXVpLWRpbW1lciBbaXNEaW1tZXJBY3RpdmVdPVwiKGFzU2VydmljZS5zdGF0ZSQgfCBhc3luYykuaXNEaW1tZXJBY3RpdmVcIj48L2V1aS1kaW1tZXI+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1hcHAtc2lkZWJhclwiPjwvbmctY29udGVudD5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhYXBwU2lkZWJhciAmJiAoYXNTZXJ2aWNlLnN0YXRlJCB8IGFzeW5jKS5oYXNIZWFkZXIgJiYgKGFzU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNNb2JpbGVcIj5cbiAgICA8ZXVpLWFwcC1zaWRlYmFyPlxuICAgICAgICA8ZXVpLWFwcC1zaWRlYmFyLWJvZHk+XG4gICAgICAgICAgICA8ZXVpLWFwcC1zaWRlYmFyLW1lbnUgW2l0ZW1zXT1cIihhc1NlcnZpY2Uuc3RhdGUkIHwgYXN5bmMpLm1lbnVMaW5rc1wiIFtoYXNJY29uc109XCJ0cnVlXCI+PC9ldWktYXBwLXNpZGViYXItbWVudT5cbiAgICAgICAgPC9ldWktYXBwLXNpZGViYXItYm9keT5cbiAgICA8L2V1aS1hcHAtc2lkZWJhcj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiZXVpLWFwcC1tYWluXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWFwcC10b3AtbWVzc2FnZVwiPjwvbmctY29udGVudD5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1hcHAtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhcHBUb29sYmFyICYmIChhc1NlcnZpY2Uuc3RhdGUkIHwgYXN5bmMpLmhhc0hlYWRlciAmJiAoYXNTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZTsgZWxzZSBlbHNlQmxvY2tUb29sYmFyXCI+XG4gICAgICAgIDxldWktYXBwLXRvb2xiYXI+XG4gICAgICAgICAgICA8ZXVpLXRvb2xiYXI+PC9ldWktdG9vbGJhcj5cbiAgICAgICAgPC9ldWktYXBwLXRvb2xiYXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9ja1Rvb2xiYXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1hcHAtdG9vbGJhclwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPGRpdiBjbGFzcz1cImV1aS1hcHAtbWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWFwcC1wYWdlLXdyYXBwZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwhLS0gVE9ETzogY29uc2lkZXIgcmVtb3ZpbmcgY29kZSBiZWxvdyBpbiB0aGUgZnV0dXJlIGJ5IHRyYW5zZmVycmluZyByZXNwb25zaWJpbGl0eSBvZiBwcm92aWRpbmcgPHJvdXRlci1vdXRsZXQ+IHRvIHRoZSBkZXZlbG9wZXIgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNOb1BhZ2VXcmFwcGVyXCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWFwcC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGV1aS1ncm93bCBbdmFsdWVdPVwiYXNTZXJ2aWNlLmdyb3dsTWVzc2FnZXNcIiBbc3RpY2t5XT1cImFzU2VydmljZS5pc0dyb3dsU3RpY2t5XCIgW2xpZmVdPVwiYXNTZXJ2aWNlLmdyb3dsTGlmZVwiXG4gICAgW3Bvc2l0aW9uXT1cImFzU2VydmljZS5ncm93bFBvc2l0aW9uXCIgKGNsaWNrZWQpPVwiYXNTZXJ2aWNlLmdyb3dsQ2FsbGJhY2soKVwiPjwvZXVpLWdyb3dsPlxuXG48ZXVpLWJsb2NrLWRvY3VtZW50IFtpc0Jsb2NrZWRdPVwiKGFzU2VydmljZS5zdGF0ZSQgfCBhc3luYykuaXNCbG9ja0RvY3VtZW50QWN0aXZlXCI+PC9ldWktYmxvY2stZG9jdW1lbnQ+XG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWFwcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9sYXlvdXQvZXVpLWFwcC9ldWktYXBwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xheW91dC9ldWktYXBwL2V1aS1hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFdBQVcsRUFHWCxLQUFLLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEdBS1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSTVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFhLGdCQUFnQixFQUFxQixNQUFNLFdBQVcsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRM0QsTUFBTSxPQUFPLGVBQWU7SUF3Q3hCLFlBQ1csU0FBNEIsRUFDM0IscUJBQTRDLEVBQzVDLEtBQXdCLEVBQ0UsY0FBeUI7UUFIcEQsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDM0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUNFLG1CQUFjLEdBQWQsY0FBYyxDQUFXO1FBMUN6QyxlQUFVLEdBQUcsU0FBUyxDQUFDO1FBRXBDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztR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QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBTUYsYUFBYTtzQkFEaEIsS0FBSztnQkFLRixzQkFBc0I7c0JBRHpCLEtBQUs7Z0JBS0Ysb0JBQW9CO3NCQUR2QixLQUFLO2dCQUtGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBTU4saUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFJMUQsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFLOUMsUUFBUTtzQkFGZixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7QUEyRzFELG9CQUFvQjtBQUVwQixNQUFNLE9BQU8sMEJBQTBCOztpSkFBMUIsMEJBQTBCO3FJQUExQiwwQkFBMEI7a0dBQTFCLDBCQUEwQjtrQkFEdEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBIb3N0QmluZGluZyxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIElucHV0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XG5cbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEV1aUNvbmZpZywgRVVJX0NPTkZJR19UT0tFTiwgVXhBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpQXBwU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vZXVpLWFwcC1zaWRlYmFyJztcbmltcG9ydCB7IEV1aUFwcFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2V1aS1hcHAtdG9vbGJhcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLWFwcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1hcHAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL19zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlBcHBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0IHtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjc3NDbGFzc2VzID0gJ2V1aS1hcHAnO1xuXG4gICAgQElucHV0KCkgYXBwU3ViVGl0bGUgPSAnJztcbiAgICBASW5wdXQoKSB0aGVtZUNsYXNzID0gJyc7XG4gICAgQElucHV0KCkgdXNlckluZm9zID0gJyc7XG4gICAgQElucHV0KCkgdXNlclN1YkluZm9zOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaW1wZXJzb25hdGVkVXNlckluZm9zOiBzdHJpbmc7XG5cbiAgICBhcHBTaWRlYmFyOiBFdWlBcHBTaWRlYmFyQ29tcG9uZW50O1xuICAgIGhhc05vUGFnZVdyYXBwZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2lkZWJhck9wZW4oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc1NpZGViYXJPcGVuOyB9XG4gICAgc2V0IGlzU2lkZWJhck9wZW4odmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc1NpZGViYXJPcGVuID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzU2lkZWJhck9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc1NpZGViYXJFeHBhbmRPbkhvdmVyKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNTaWRlYmFyRXhwYW5kT25Ib3ZlcjsgfVxuICAgIHNldCBpc1NpZGViYXJFeHBhbmRPbkhvdmVyKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNTaWRlYmFyRXhwYW5kT25Ib3ZlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc1NpZGViYXJFeHBhbmRPbkhvdmVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc1Nocmlua0hlYWRlckFjdGl2ZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzU2hyaW5rSGVhZGVyQWN0aXZlOyB9XG4gICAgc2V0IGlzU2hyaW5rSGVhZGVyQWN0aXZlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNTaHJpbmtIZWFkZXJBY3RpdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNTaHJpbmtIZWFkZXJBY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2lkZWJhckhpZGRlbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzU2lkZWJhckhpZGRlbjsgfVxuICAgIHNldCBpc1NpZGViYXJIaWRkZW4odmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc1NpZGViYXJIaWRkZW4gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNTaWRlYmFySGlkZGVuID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRXVpQXBwUGFnZVdyYXBwZXJEaXJlY3RpdmUpKVxuICAgIGN1c3RvbVBhZ2VXcmFwcGVyOiBFdWlBcHBQYWdlV3JhcHBlckRpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlBcHBUb29sYmFyQ29tcG9uZW50KSlcbiAgICBhcHBUb29sYmFyOiBFdWlBcHBUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aUFwcFNpZGViYXJDb21wb25lbnQpKVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGFzU2VydmljZTogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVVSV9DT05GSUdfVE9LRU4pIHByaXZhdGUgZXVpQ29uZmlnVG9rZW46IEV1aUNvbmZpZyxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzTm9QYWdlV3JhcHBlciA9ICFCb29sZWFuKHRoaXMuY3VzdG9tUGFnZVdyYXBwZXIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmFzU2VydmljZS5mZXRjaENzc1ZhcnMoKTtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2UuaW5pdENzc1ZhcnMoKTtcblxuICAgICAgICBjb25zdCBkZXZpY2VJbmZvID0gdGhpcy5kZXZpY2VEZXRlY3RvclNlcnZpY2UuZ2V0RGV2aWNlSW5mbygpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKGRldmljZUluZm8pO1xuXG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgd2luZG93SGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICAgICAgICB3aW5kb3dXaWR0aDogd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgICAgICBoYXNIZWFkZXI6IGZhbHNlLFxuICAgICAgICAgICAgaGFzU2lkZWJhcjogZmFsc2UsXG4gICAgICAgICAgICBkZXZpY2VJbmZvOiB7XG4gICAgICAgICAgICAgICAgaW5mbzogZGV2aWNlSW5mbyxcbiAgICAgICAgICAgICAgICBpc0Nocm9tZTogZGV2aWNlSW5mby5icm93c2VyID09PSAnQ2hyb21lJyxcbiAgICAgICAgICAgICAgICBpc0lFOiBkZXZpY2VJbmZvLmJyb3dzZXIgPT09ICdJRScsXG4gICAgICAgICAgICAgICAgaXNJRTExOiBkZXZpY2VJbmZvLmJyb3dzZXIgPT09ICdJRScgJiYgZGV2aWNlSW5mby5icm93c2VyX3ZlcnNpb24gPT09ICcxMS4wJyxcbiAgICAgICAgICAgICAgICBpc0ZGOiBkZXZpY2VJbmZvLmJyb3dzZXIgPT09ICdGaXJlZm94JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLmdldFN0YXRlKCd3cmFwcGVyQ2xhc3NlcycpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNzc0NsYXNzZXMgPSBbJ2V1aS1hcHAnLCBzdGF0ZV0uam9pbignICcpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RSZWYucmVhdHRhY2goKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2U/LnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvd0hlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICB3aW5kb3dXaWR0aDogd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmKGNoYW5nZXMuaXNTaWRlYmFySGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgaXNTaWRlYmFySGlkZGVuOiBjaGFuZ2VzLmlzU2lkZWJhckhpZGRlbi5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZihjaGFuZ2VzLmlzU2lkZWJhck9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICBpc1NpZGViYXJPcGVuOiBjaGFuZ2VzLmlzU2lkZWJhck9wZW4uY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoY2hhbmdlcy5pc1NpZGViYXJFeHBhbmRPbkhvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgaXNTaWRlYmFyRXhwYW5kT25Ib3ZlcjogY2hhbmdlcy5pc1NpZGViYXJFeHBhbmRPbkhvdmVyLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmKGNoYW5nZXMudXNlckluZm9zKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgdXNlckluZm9zOiBjaGFuZ2VzLnVzZXJJbmZvcy5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZihjaGFuZ2VzLnVzZXJTdWJJbmZvcykge1xuICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgICAgIHVzZXJTdWJJbmZvczogY2hhbmdlcy51c2VyU3ViSW5mb3MuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoY2hhbmdlcy5pbXBlcnNvbmF0ZWRVc2VySW5mb3MpIHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICBpbXBlcnNvbmF0ZWRVc2VySW5mb3M6IGNoYW5nZXMuaW1wZXJzb25hdGVkVXNlckluZm9zLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpLWFwcC1wYWdlLXdyYXBwZXInIH0pXG5leHBvcnQgY2xhc3MgRXVpQXBwUGFnZVdyYXBwZXJEaXJlY3RpdmUgeyB9XG5cbiIsIjxldWktZGltbWVyIFtpc0RpbW1lckFjdGl2ZV09XCIoYXNTZXJ2aWNlLnN0YXRlJCB8IGFzeW5jKS5pc0RpbW1lckFjdGl2ZVwiPjwvZXVpLWRpbW1lcj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWFwcC1zaWRlYmFyXCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhcHBTaWRlYmFyICYmIChhc1NlcnZpY2Uuc3RhdGUkIHwgYXN5bmMpLmhhc0hlYWRlciAmJiAoYXNTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiPlxuICAgIDxldWktYXBwLXNpZGViYXI+XG4gICAgICAgIDxldWktYXBwLXNpZGViYXItYm9keT5cbiAgICAgICAgICAgIDxldWktYXBwLXNpZGViYXItbWVudSBbaXRlbXNdPVwiKGFzU2VydmljZS5zdGF0ZSQgfCBhc3luYykubWVudUxpbmtzXCIgW2hhc0ljb25zXT1cInRydWVcIj48L2V1aS1hcHAtc2lkZWJhci1tZW51PlxuICAgICAgICA8L2V1aS1hcHAtc2lkZWJhci1ib2R5PlxuICAgIDwvZXVpLWFwcC1zaWRlYmFyPlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJldWktYXBwLW1haW5cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWktYXBwLXRvcC1tZXNzYWdlXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWFwcC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWFwcFRvb2xiYXIgJiYgKGFzU2VydmljZS5zdGF0ZSQgfCBhc3luYykuaGFzSGVhZGVyICYmIChhc1NlcnZpY2UuYnJlYWtwb2ludHMkIHwgYXN5bmMpLmlzTW9iaWxlOyBlbHNlIGVsc2VCbG9ja1Rvb2xiYXJcIj5cbiAgICAgICAgPGV1aS1hcHAtdG9vbGJhcj5cbiAgICAgICAgICAgIDxldWktdG9vbGJhcj48L2V1aS10b29sYmFyPlxuICAgICAgICA8L2V1aS1hcHAtdG9vbGJhcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrVG9vbGJhcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWFwcC10b29sYmFyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLWFwcC1tYWluLWNvbnRlbnRcIiByb2xlPVwibWFpblwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWktYXBwLXBhZ2Utd3JhcHBlclwiPjwvbmctY29udGVudD5cbiAgICAgICAgPCEtLSBUT0RPOiBjb25zaWRlciByZW1vdmluZyBjb2RlIGJlbG93IGluIHRoZSBmdXR1cmUgYnkgdHJhbnNmZXJyaW5nIHJlc3BvbnNpYmlsaXR5IG9mIHByb3ZpZGluZyA8cm91dGVyLW91dGxldD4gdG8gdGhlIGRldmVsb3BlciAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc05vUGFnZVdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWktYXBwLWZvb3RlclwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48ZXVpLWdyb3dsIFt2YWx1ZV09XCJhc1NlcnZpY2UuZ3Jvd2xNZXNzYWdlc1wiIFtzdGlja3ldPVwiYXNTZXJ2aWNlLmlzR3Jvd2xTdGlja3lcIiBbbGlmZV09XCJhc1NlcnZpY2UuZ3Jvd2xMaWZlXCJcbiAgICBbcG9zaXRpb25dPVwiYXNTZXJ2aWNlLmdyb3dsUG9zaXRpb25cIiAoY2xpY2tlZCk9XCJhc1NlcnZpY2UuZ3Jvd2xDYWxsYmFjaygpXCI+PC9ldWktZ3Jvd2w+XG5cbjxldWktYmxvY2stZG9jdW1lbnQgW2lzQmxvY2tlZF09XCIoYXNTZXJ2aWNlLnN0YXRlJCB8IGFzeW5jKS5pc0Jsb2NrRG9jdW1lbnRBY3RpdmVcIj48L2V1aS1ibG9jay1kb2N1bWVudD5cbiJdfQ==