@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1218-b → 1.5.1218-d

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 (34) hide show
  1. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +2 -2
  2. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +4 -3
  3. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +4 -3
  4. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +3 -3
  5. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +3 -3
  6. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +2 -2
  7. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +5 -3
  8. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +2 -1
  9. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +2 -2
  10. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +3 -3
  11. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +3 -3
  12. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +3 -3
  13. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +3 -3
  14. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +3 -3
  15. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +3 -3
  16. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +2 -2
  17. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +10 -7
  18. package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.component.mjs +564 -0
  19. package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.interface.mjs +2 -0
  20. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +5 -4
  21. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +3 -3
  22. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +2 -2
  23. package/esm2022/public-api.mjs +2 -1
  24. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +600 -39
  25. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  26. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +2 -1
  27. package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +2 -1
  28. package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +3 -1
  29. package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +8 -1
  30. package/lib/components/bmb-table-lite/bmb-table-lite.component.d.ts +97 -0
  31. package/lib/components/bmb-table-lite/bmb-table-lite.interface.d.ts +22 -0
  32. package/lib/components/bmb-tags/bmb-tags.component.d.ts +2 -1
  33. package/package.json +1 -1
  34. package/public-api.d.ts +1 -0
@@ -35,10 +35,13 @@ export class BmbSidebarComponent {
35
35
  }
36
36
  this.hasSubmenu = this.elements()?.some((element) => element?.some((el) => el.children));
37
37
  }
38
- getLink(link) {
39
- if (!!link)
40
- return link;
41
- return '';
38
+ checkForButton({ isMobile, hasChildren }) {
39
+ return isMobile && hasChildren;
40
+ }
41
+ getLink({ link, isMobile, hasChildren }) {
42
+ if (this.checkForButton({ isMobile, hasChildren }))
43
+ return '';
44
+ return link || '';
42
45
  }
43
46
  closeSidebar() {
44
47
  this.isOpen = false;
@@ -74,7 +77,7 @@ export class BmbSidebarComponent {
74
77
  }
75
78
  }
76
79
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbSidebarComponent, isStandalone: true, selector: "bmb-sidebar", inputs: { elements: { classPropertyName: "elements", publicName: "elements", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:focusin": "onFocusIn($event)", "window:focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "sideNav", first: true, predicate: ["sideNav"], descendants: true }], ngImport: i0, template: "<!-- Template for element -->\n<ng-template\n #elementTemplate\n let-element=\"element\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-isChild=\"isChild\"\n let-isMobile=\"isMobile\"\n>\n @if (!!element.icon) {\n <bmb-icon\n class=\"bmb_sidebar-icon\"\n [icon]=\"element.icon\"\n [alt]=\"element.title\"\n [size]=\"24\"\n />\n }\n <span\n [ngClass]=\"{\n 'bmb_sidebar-text': !isTitle,\n 'bmb_sidebar-header-text': isTitle\n }\"\n >{{ element!.title }}</span\n >\n @if (isFixed) {\n <bmb-action-icon\n class=\"bmb_sidebar-header-icon\"\n idElement=\"sidebar_close\"\n icon=\"close\"\n [iconSize]=\"24\"\n [isAccentColor]=\"false\"\n (buttonClick)=\"closeSidebar()\"\n />\n }\n</ng-template>\n\n<!-- Template for menu items -->\n<ng-template #itemsTemplate let-item=\"item\" let-isMobile=\"isMobile\">\n <bmb-check-external-link-button\n class=\"bmb_sidebar-link\"\n [idElement]=\"'element' + item.id!\"\n [link]=\"!isMobile ? getLink(item.link!) : ''\"\n [target]=\"!isMobile ? item.target! : ''\"\n (buttonClick)=\"toggleChildren(item)\"\n >\n <ng-container\n *ngTemplateOutlet=\"elementTemplate; context: { element: item, isMobile }\"\n />\n @if (!!item.children) {\n <bmb-icon\n class=\"bmb_sidebar-arrow\"\n [icon]=\"\n !isMobile && position() === 'right' ? 'chevron_left' : 'chevron_right'\n \"\n [size]=\"24\"\n />\n }\n </bmb-check-external-link-button>\n</ng-template>\n\n<!-- Template for navigation -->\n<ng-template #sidebarTemplate let-level=\"level\" let-isMobile=\"isMobile\">\n @for (group of elements().slice(0, 2); track $index) {\n <ul class=\"bmb_sidebar-list\">\n @for (element of group.slice(0, 5); track $index) {\n <li\n class=\"bmb_sidebar-item\"\n [ngClass]=\"{\n 'bmb_sidebar-item-left-space':\n position() === 'right' && hasSubmenu && !element.children?.length\n }\"\n (click)=\"checkToCloseSidebar(element)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: element, isMobile }\n \"\n />\n @if (!!element.children && level === 1) {\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: element,\n iconSize: 24,\n isFixed: true,\n level: 2,\n selectedElement,\n isMobile\n }\n \"\n />\n }\n </li>\n }\n </ul>\n }\n</ng-template>\n\n<ng-template\n #sidebarElementTemplate\n let-element=\"element\"\n let-iconSize=\"iconSize\"\n let-level=\"level\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-selectedElement=\"selectedElement\"\n let-isMobile=\"isMobile\"\n>\n @if (level == 1 && isMobile) {\n <bmb-action-icon\n class=\"bmb_sidebar-mobile-button\"\n idElement=\"sidebar_main\"\n icon=\"chevron_right\"\n [iconSize]=\"iconSize\"\n toggleIconActive=\"chevron_left\"\n [isAccentColor]=\"false\"\n [(isToggleActive)]=\"isOpen\"\n (buttonClick)=\"clearSelectElement()\"\n />\n }\n <section\n [tabIndex]=\"-1\"\n [ngClass]=\"{\n 'bmb_sidebar-children': level >= 2 && !!element.children,\n 'bmb_sidebar-children-open':\n level >= 2 && !!element.children && selectedElement === element,\n 'bmb_sidebar-open': isMobile && level == 1 && isOpen,\n bmb_sidebar: isMobile && level == 1,\n 'bmb_sidebar-mobile': isMobile && level == 1\n }\"\n >\n @if (isOpen) {\n <section\n [ngClass]=\"{\n 'bmb_sidebar-header': level == 1,\n 'bmb_sidebar-title': level >= 2\n }\"\n >\n @if (level >= 2 && !!selectedElement) {\n <bmb-action-icon\n class=\"bmb_sidebar-title-button\"\n [idElement]=\"element.id.toString()\"\n icon=\"chevron_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"toggleChildren(element)\"\n />\n }\n <!-- Header -->\n <ng-container\n *ngTemplateOutlet=\"\n elementTemplate;\n context: {\n element: {\n title: element.title,\n icon: element.icon!\n },\n isTitle,\n isFixed\n }\n \"\n />\n </section>\n\n @if (level == 1) {\n <!-- Menu -->\n <ng-container\n *ngTemplateOutlet=\"sidebarTemplate; context: { level, isMobile }\"\n />\n }\n }\n @if (level >= 2 && !!element.children) {\n <ul class=\"bmb_sidebar-list\">\n @for (child of element?.children?.slice(0, 6); track $index) {\n <li class=\"bmb_sidebar-item\" (click)=\"checkToCloseSidebar(child)\">\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: child, isMobile, isChild: true }\n \"\n />\n </li>\n }\n </ul>\n }\n </section>\n</ng-template>\n\n<!-- Web -->\n<nav\n #sideNav\n class=\"bmb_sidebar bmb_sidebar-desktop\"\n aria-label=\"Sidebar Navigation\"\n [ngClass]=\"{\n 'bmb-active': isActive,\n 'bmb_sidebar-desktop-right': position() === 'right'\n }\"\n (mouseleave)=\"clearSelectElement()\"\n>\n <div [tabIndex]=\"-1\" class=\"bmb_sidebar-content\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarTemplate;\n context: { level: 1, isMobile: false }\n \"\n />\n </div>\n</nav>\n\n<!-- Mobile -->\n<nav class=\"bmb_sidebar-mobile\" aria-label=\"Sidebar Navigation\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: {\n title: title()\n },\n iconSize: 32,\n isTitle: true,\n isFixed: true,\n level: 1,\n isMobile: true\n }\n \"\n />\n</nav>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}@keyframes bounceToRight{0%{width:5.5rem}50%{width:18.75rem}to{width:17.5rem}}@keyframes bounceChildren{0%{opacity:0;width:0}50%{opacity:80%;width:17.5rem}to{opacity:1;width:16.5rem}}@keyframes bounceChildrenMobile{0%{opacity:0;width:0}50%{opacity:80%;width:19.375rem}to{opacity:1;width:17.5rem}}@keyframes bounceRightMobile{0%{opacity:0;width:0}50%{opacity:80%;width:100%}to{opacity:1;width:100%}}@keyframes bounceFromRight{0%{transform:translate(100%)}50%{transform:translate(-5%)}to{transform:translate(0)}}.bmb_sidebar{background-color:rgb(var(--color-black-primary));border-radius:0 1.5rem 1.5rem 0;left:0;position:fixed;transition:width .3s ease;z-index:2}.bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-body-hide{overflow:hidden}.bmb_sidebar-mobile{display:flex;border-radius:0;position:fixed;left:.5rem;top:1rem;z-index:999}.bmb_sidebar-mobile-content{width:100%;background-color:rgb(var(--color-black-primary))}.bmb_sidebar-mobile-button{display:inline-flex;background-color:rgb(var(--color-black-primary));color:rgb(var(--color-white-primary))}@media (min-width: 1001px){.bmb_sidebar-mobile-button{display:none}}.bmb_sidebar-mobile.bmb_sidebar-open{display:block;animation:bounceRightMobile .6s ease-out forwards;height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden;padding:1.25rem;top:4rem;left:0;width:100%}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-header{border-bottom:.0625rem solid rgb(var(--color-charade-800));height:2.5rem;justify-content:space-between;padding:.5rem .5rem 1rem}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-mobile .bmb_sidebar-header{align-items:center;display:flex;height:4.5rem;justify-content:center;margin:0;padding:.5rem;width:100%}.bmb_sidebar-mobile .bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-mobile .bmb_sidebar-header-text{color:rgb(var(--color-white-primary));font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}@media (max-height: 630px){.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}}.bmb_sidebar-mobile .bmb_sidebar-children-open{animation:bounceFromRight .6s ease-out forwards;display:flex;height:100%;left:0;width:100%;opacity:1;z-index:1}.bmb_sidebar-desktop{cursor:auto;display:none;height:30rem;overflow:hidden;padding:1.5rem;top:50%;transform:translateY(-50%);width:5.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close),.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close){animation:bounceToRight .6s ease-out;animation-fill-mode:forwards;height:30rem;overflow:visible;width:17.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-desktop-right{right:0;left:auto;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right .bmb_sidebar-children{left:auto;right:100%;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{order:1}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space{padding-left:2.5rem}@media (min-width: 1001px){.bmb_sidebar-desktop{display:block}}.bmb_sidebar-desktop .bmb_sidebar-item{position:relative}.bmb_sidebar-desktop .bmb_sidebar-item:hover .bmb_sidebar-children{display:flex;width:16.5rem;opacity:1;animation:bounceChildren .5s ease-out forwards}.bmb_sidebar-desktop .bmb_sidebar-children:hover{display:flex;width:16.5rem;opacity:1}.bmb_sidebar-list{list-style-type:none;margin:0;padding:0;display:flex;flex-flow:column;gap:.5rem}.bmb_sidebar-list:nth-of-type(n+2){border-top:.0625rem solid rgb(var(--color-charade-800));margin-top:1.5rem;padding-top:1.5rem}.bmb_sidebar-list .bmb_sidebar-list{padding:1.5rem}.bmb_sidebar-item{align-items:center;display:flex;height:2.5rem;justify-content:flex-start;width:auto}.bmb_sidebar-item .bmb_check-external-link-button{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.bmb_sidebar-link{display:flex;align-items:center;height:100%;width:100%;border-radius:1.5rem;overflow:hidden;color:rgb(var(--color-white-primary))}.bmb_sidebar-link .bmb_check-external-link-button-element{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;transition:all .3s ease;width:100%;height:100%}.bmb_sidebar-link .bmb_check-external-link-button-element:hover,.bmb_sidebar-link .bmb_check-external-link-button-element:focus,.bmb_sidebar-link .bmb_check-external-link-button-element:focus-visible{background-color:rgb(var(--color-white-primary));color:rgb(var(--color-black-primary))}.bmb_sidebar-icon,.bmb_sidebar-arrow{display:inline-flex;padding:0 .5rem}.bmb_sidebar-text{flex:1;opacity:0;width:8.25rem;font-family:Poppins-Medium,sans-serif;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-children{border-radius:0 1.5rem 1.5rem 0;background-color:rgb(var(--color-black-primary));flex-flow:column;transition:opacity 1s ease-out;width:0;opacity:0;position:absolute;top:0;left:100%;overflow:hidden}.bmb_sidebar-title{align-items:center;border-bottom:.0625rem solid rgb(var(--color-charade-800));color:rgb(var(--color-white-primary));display:flex;justify-content:space-between;padding:1rem .5rem}.bmb_sidebar-title-button{display:inline-flex;color:rgb(var(--color-white-primary));padding:0}.bmb_sidebar-title-button .bmb_sidebar-icon{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbCheckExternalLinkButtonComponent, selector: "bmb-check-external-link-button", inputs: ["idElement", "link", "target", "disabled", "buttonName"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbSidebarComponent, isStandalone: true, selector: "bmb-sidebar", inputs: { elements: { classPropertyName: "elements", publicName: "elements", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:focusin": "onFocusIn($event)", "window:focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "sideNav", first: true, predicate: ["sideNav"], descendants: true }], ngImport: i0, template: "<!-- Template for element -->\n<ng-template\n #elementTemplate\n let-element=\"element\"\n let-isHeader=\"isHeader\"\n let-isFixed=\"isFixed\"\n let-isChild=\"isChild\"\n let-isMobile=\"isMobile\"\n let-hasChildren=\"hasChildren\"\n>\n @if (!isHeader && !!element.icon) {\n <bmb-icon\n class=\"bmb_sidebar-icon\"\n [icon]=\"element.icon\"\n [alt]=\"element.title\"\n [size]=\"24\"\n />\n }\n <span\n [ngClass]=\"{\n 'bmb_sidebar-text': !isHeader,\n 'bmb_sidebar-header-text': isHeader\n }\"\n >\n {{ element!.title }}\n </span>\n @if (isFixed) {\n <bmb-action-icon\n class=\"bmb_sidebar-header-icon\"\n idElement=\"sidebar_close\"\n icon=\"close\"\n [iconSize]=\"24\"\n [isAccentColor]=\"false\"\n (buttonClick)=\"closeSidebar()\"\n />\n }\n</ng-template>\n\n<!-- Template for menu items -->\n<ng-template #itemsTemplate let-item=\"item\" let-isMobile=\"isMobile\">\n <bmb-check-external-link-button\n class=\"bmb_sidebar-link\"\n [idElement]=\"'element' + item.id!\"\n [link]=\"\n getLink({ isMobile, hasChildren: !!item.children, link: item.link! })\n \"\n [target]=\"\n checkForButton({\n isMobile,\n hasChildren: !!item.children\n })\n ? item.target!\n : ''\n \"\n (buttonClick)=\"toggleChildren(item)\"\n >\n <ng-container\n *ngTemplateOutlet=\"elementTemplate; context: { element: item, isMobile }\"\n />\n @if (!!item.children) {\n <bmb-icon\n class=\"bmb_sidebar-arrow\"\n [icon]=\"\n !isMobile && position() === 'right' ? 'chevron_left' : 'chevron_right'\n \"\n [size]=\"24\"\n />\n }\n </bmb-check-external-link-button>\n</ng-template>\n\n<!-- Template for navigation -->\n<ng-template #sidebarTemplate let-level=\"level\" let-isMobile=\"isMobile\">\n @for (group of elements().slice(0, 2); track $index) {\n <ul class=\"bmb_sidebar-list\">\n @for (element of group.slice(0, 5); track $index) {\n <li\n class=\"bmb_sidebar-item\"\n [ngClass]=\"{\n 'bmb_sidebar-item-left-space':\n position() === 'right' && hasSubmenu && !element.children?.length\n }\"\n (click)=\"checkToCloseSidebar(element)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: element, isMobile }\n \"\n />\n @if (!!element.children && level === 1) {\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: element,\n iconSize: 24,\n isFixed: true,\n level: 2,\n selectedElement,\n isMobile\n }\n \"\n />\n }\n </li>\n }\n </ul>\n }\n</ng-template>\n\n<ng-template\n #sidebarElementTemplate\n let-element=\"element\"\n let-iconSize=\"iconSize\"\n let-level=\"level\"\n let-isHeader=\"isHeader\"\n let-isFixed=\"isFixed\"\n let-selectedElement=\"selectedElement\"\n let-isMobile=\"isMobile\"\n>\n @if (level == 1 && isMobile) {\n <bmb-action-icon\n class=\"bmb_sidebar-mobile-button\"\n idElement=\"sidebar_main\"\n icon=\"chevron_right\"\n [iconSize]=\"iconSize\"\n toggleIconActive=\"chevron_left\"\n [isAccentColor]=\"false\"\n [(isToggleActive)]=\"isOpen\"\n (buttonClick)=\"clearSelectElement()\"\n />\n }\n <section\n [tabIndex]=\"-1\"\n [ngClass]=\"{\n 'bmb_sidebar-children': level >= 2 && !!element.children,\n 'bmb_sidebar-children-open':\n level >= 2 && !!element.children && selectedElement === element,\n 'bmb_sidebar-open': isMobile && level == 1 && isOpen,\n bmb_sidebar: isMobile && level == 1,\n 'bmb_sidebar-mobile': isMobile && level == 1\n }\"\n >\n @if (isOpen) {\n <section\n [ngClass]=\"{\n 'bmb_sidebar-header': level == 1,\n 'bmb_sidebar-title': level >= 2\n }\"\n >\n @if (level >= 2 && !!selectedElement) {\n <bmb-action-icon\n class=\"bmb_sidebar-title-button\"\n [idElement]=\"element.id.toString()\"\n icon=\"chevron_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"toggleChildren(element)\"\n />\n }\n <!-- Header -->\n <ng-container\n *ngTemplateOutlet=\"\n elementTemplate;\n context: {\n element,\n isHeader: true,\n isFixed,\n hasChildren: !!element.children\n }\n \"\n />\n </section>\n\n @if (level == 1) {\n <!-- Menu -->\n <ng-container\n *ngTemplateOutlet=\"sidebarTemplate; context: { level, isMobile }\"\n />\n }\n }\n @if (level >= 2 && !!element.children) {\n <ul class=\"bmb_sidebar-list\">\n @for (child of element?.children?.slice(0, 6); track $index) {\n <li class=\"bmb_sidebar-item\" (click)=\"checkToCloseSidebar(child)\">\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: child, isMobile, isChild: true }\n \"\n />\n </li>\n }\n </ul>\n }\n </section>\n</ng-template>\n\n<!-- Web -->\n<nav\n #sideNav\n class=\"bmb_sidebar bmb_sidebar-desktop\"\n aria-label=\"Sidebar Navigation\"\n [ngClass]=\"{\n 'bmb-active': isActive,\n 'bmb_sidebar-desktop-right': position() === 'right'\n }\"\n (mouseleave)=\"clearSelectElement()\"\n>\n <div [tabIndex]=\"-1\" class=\"bmb_sidebar-content\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarTemplate;\n context: { level: 1, isMobile: false }\n \"\n />\n </div>\n</nav>\n\n<!-- Mobile -->\n<nav class=\"bmb_sidebar-mobile\" aria-label=\"Sidebar Navigation\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: {\n title: title()\n },\n iconSize: 32,\n isHeader: true,\n isFixed: true,\n level: 1,\n isMobile: true\n }\n \"\n />\n</nav>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}@keyframes bounceToRight{0%{width:5.5rem}50%{width:18.75rem}to{width:17.5rem}}@keyframes bounceChildren{0%{opacity:0;width:0}50%{opacity:80%;width:17.5rem}to{opacity:1;width:16.5rem}}@keyframes bounceChildrenMobile{0%{opacity:0;width:0}50%{opacity:80%;width:19.375rem}to{opacity:1;width:17.5rem}}@keyframes bounceRightMobile{0%{opacity:0;width:0}50%{opacity:80%;width:100%}to{opacity:1;width:100%}}@keyframes bounceFromRight{0%{transform:translate(100%)}50%{transform:translate(-5%)}to{transform:translate(0)}}.bmb_sidebar{background-color:rgb(var(--color-black-primary));border-radius:0 1.5rem 1.5rem 0;left:0;position:fixed;transition:width .3s ease;z-index:2}.bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-body-hide{overflow:hidden}.bmb_sidebar-mobile{display:flex;border-radius:0;position:fixed;left:.5rem;top:1rem;z-index:999}.bmb_sidebar-mobile-content{width:100%;background-color:rgb(var(--color-black-primary))}.bmb_sidebar-mobile-button{display:inline-flex;background-color:rgb(var(--color-black-primary));color:rgb(var(--color-white-primary))}@media (min-width: 1001px){.bmb_sidebar-mobile-button{display:none}}.bmb_sidebar-mobile.bmb_sidebar-open{display:block;animation:bounceRightMobile .6s ease-out forwards;height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden;padding:1.25rem;top:4rem;left:0;width:100%}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-header{border-bottom:.0625rem solid rgb(var(--color-charade-800));height:2.5rem;justify-content:space-between;padding:.5rem .5rem 1rem}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-mobile .bmb_sidebar-header{align-items:center;display:flex;height:4.5rem;justify-content:center;margin:0;padding:.5rem;width:100%}.bmb_sidebar-mobile .bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-mobile .bmb_sidebar-header-text{color:rgb(var(--color-white-primary));font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}@media (max-height: 630px){.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}}.bmb_sidebar-mobile .bmb_sidebar-children-open{animation:bounceFromRight .6s ease-out forwards;display:flex;height:100%;left:0;width:100%;opacity:1;z-index:1}.bmb_sidebar-desktop{cursor:auto;display:none;height:30rem;overflow:hidden;padding:1.5rem;top:50%;transform:translateY(-50%);width:5.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close),.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close){animation:bounceToRight .6s ease-out;animation-fill-mode:forwards;height:30rem;overflow:visible;width:17.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-desktop-right{right:0;left:auto;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right .bmb_sidebar-children{left:auto;right:100%;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{order:1}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space{padding-left:2.5rem}@media (min-width: 1001px){.bmb_sidebar-desktop{display:block}}.bmb_sidebar-desktop .bmb_sidebar-item{position:relative}.bmb_sidebar-desktop .bmb_sidebar-item:hover .bmb_sidebar-children{display:flex;width:16.5rem;opacity:1;animation:bounceChildren .5s ease-out forwards}.bmb_sidebar-desktop .bmb_sidebar-children:hover{display:flex;width:16.5rem;opacity:1}.bmb_sidebar-list{list-style-type:none;margin:0;padding:0;display:flex;flex-flow:column;gap:.5rem}.bmb_sidebar-list:nth-of-type(n+2){border-top:.0625rem solid rgb(var(--color-charade-800));margin-top:1.5rem;padding-top:1.5rem}.bmb_sidebar-list .bmb_sidebar-list{padding:1.5rem}.bmb_sidebar-item{align-items:center;display:flex;height:2.5rem;justify-content:flex-start;width:auto}.bmb_sidebar-item .bmb_check-external-link-button{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.bmb_sidebar-link{display:flex;align-items:center;height:100%;width:100%;border-radius:1.5rem;overflow:hidden;color:rgb(var(--color-white-primary))}.bmb_sidebar-link .bmb_check-external-link-button-element{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;transition:all .3s ease;width:100%;height:100%}.bmb_sidebar-link .bmb_check-external-link-button-element:hover,.bmb_sidebar-link .bmb_check-external-link-button-element:focus,.bmb_sidebar-link .bmb_check-external-link-button-element:focus-visible{background-color:rgb(var(--color-white-primary));color:rgb(var(--color-black-primary))}.bmb_sidebar-icon,.bmb_sidebar-arrow{display:inline-flex;padding:0 .5rem}.bmb_sidebar-text{flex:1;opacity:0;width:8.25rem;font-family:Poppins-Medium,sans-serif;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-children{border-radius:0 1.5rem 1.5rem 0;background-color:rgb(var(--color-black-primary));flex-flow:column;transition:opacity 1s ease-out;width:0;opacity:0;position:absolute;top:0;left:100%;overflow:hidden}.bmb_sidebar-title{align-items:center;border-bottom:.0625rem solid rgb(var(--color-charade-800));color:rgb(var(--color-white-primary));display:flex;justify-content:space-between;padding:1rem .5rem}.bmb_sidebar-title-button{display:inline-flex;color:rgb(var(--color-white-primary));padding:0}.bmb_sidebar-title-button .bmb_sidebar-icon{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbCheckExternalLinkButtonComponent, selector: "bmb-check-external-link-button", inputs: ["idElement", "link", "target", "disabled", "buttonName"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
81
  }
79
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbSidebarComponent, decorators: [{
80
83
  type: Component,
@@ -83,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
83
86
  BmbIconComponent,
84
87
  BmbCheckExternalLinkButtonComponent,
85
88
  BmbActionIconComponent,
86
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- Template for element -->\n<ng-template\n #elementTemplate\n let-element=\"element\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-isChild=\"isChild\"\n let-isMobile=\"isMobile\"\n>\n @if (!!element.icon) {\n <bmb-icon\n class=\"bmb_sidebar-icon\"\n [icon]=\"element.icon\"\n [alt]=\"element.title\"\n [size]=\"24\"\n />\n }\n <span\n [ngClass]=\"{\n 'bmb_sidebar-text': !isTitle,\n 'bmb_sidebar-header-text': isTitle\n }\"\n >{{ element!.title }}</span\n >\n @if (isFixed) {\n <bmb-action-icon\n class=\"bmb_sidebar-header-icon\"\n idElement=\"sidebar_close\"\n icon=\"close\"\n [iconSize]=\"24\"\n [isAccentColor]=\"false\"\n (buttonClick)=\"closeSidebar()\"\n />\n }\n</ng-template>\n\n<!-- Template for menu items -->\n<ng-template #itemsTemplate let-item=\"item\" let-isMobile=\"isMobile\">\n <bmb-check-external-link-button\n class=\"bmb_sidebar-link\"\n [idElement]=\"'element' + item.id!\"\n [link]=\"!isMobile ? getLink(item.link!) : ''\"\n [target]=\"!isMobile ? item.target! : ''\"\n (buttonClick)=\"toggleChildren(item)\"\n >\n <ng-container\n *ngTemplateOutlet=\"elementTemplate; context: { element: item, isMobile }\"\n />\n @if (!!item.children) {\n <bmb-icon\n class=\"bmb_sidebar-arrow\"\n [icon]=\"\n !isMobile && position() === 'right' ? 'chevron_left' : 'chevron_right'\n \"\n [size]=\"24\"\n />\n }\n </bmb-check-external-link-button>\n</ng-template>\n\n<!-- Template for navigation -->\n<ng-template #sidebarTemplate let-level=\"level\" let-isMobile=\"isMobile\">\n @for (group of elements().slice(0, 2); track $index) {\n <ul class=\"bmb_sidebar-list\">\n @for (element of group.slice(0, 5); track $index) {\n <li\n class=\"bmb_sidebar-item\"\n [ngClass]=\"{\n 'bmb_sidebar-item-left-space':\n position() === 'right' && hasSubmenu && !element.children?.length\n }\"\n (click)=\"checkToCloseSidebar(element)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: element, isMobile }\n \"\n />\n @if (!!element.children && level === 1) {\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: element,\n iconSize: 24,\n isFixed: true,\n level: 2,\n selectedElement,\n isMobile\n }\n \"\n />\n }\n </li>\n }\n </ul>\n }\n</ng-template>\n\n<ng-template\n #sidebarElementTemplate\n let-element=\"element\"\n let-iconSize=\"iconSize\"\n let-level=\"level\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-selectedElement=\"selectedElement\"\n let-isMobile=\"isMobile\"\n>\n @if (level == 1 && isMobile) {\n <bmb-action-icon\n class=\"bmb_sidebar-mobile-button\"\n idElement=\"sidebar_main\"\n icon=\"chevron_right\"\n [iconSize]=\"iconSize\"\n toggleIconActive=\"chevron_left\"\n [isAccentColor]=\"false\"\n [(isToggleActive)]=\"isOpen\"\n (buttonClick)=\"clearSelectElement()\"\n />\n }\n <section\n [tabIndex]=\"-1\"\n [ngClass]=\"{\n 'bmb_sidebar-children': level >= 2 && !!element.children,\n 'bmb_sidebar-children-open':\n level >= 2 && !!element.children && selectedElement === element,\n 'bmb_sidebar-open': isMobile && level == 1 && isOpen,\n bmb_sidebar: isMobile && level == 1,\n 'bmb_sidebar-mobile': isMobile && level == 1\n }\"\n >\n @if (isOpen) {\n <section\n [ngClass]=\"{\n 'bmb_sidebar-header': level == 1,\n 'bmb_sidebar-title': level >= 2\n }\"\n >\n @if (level >= 2 && !!selectedElement) {\n <bmb-action-icon\n class=\"bmb_sidebar-title-button\"\n [idElement]=\"element.id.toString()\"\n icon=\"chevron_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"toggleChildren(element)\"\n />\n }\n <!-- Header -->\n <ng-container\n *ngTemplateOutlet=\"\n elementTemplate;\n context: {\n element: {\n title: element.title,\n icon: element.icon!\n },\n isTitle,\n isFixed\n }\n \"\n />\n </section>\n\n @if (level == 1) {\n <!-- Menu -->\n <ng-container\n *ngTemplateOutlet=\"sidebarTemplate; context: { level, isMobile }\"\n />\n }\n }\n @if (level >= 2 && !!element.children) {\n <ul class=\"bmb_sidebar-list\">\n @for (child of element?.children?.slice(0, 6); track $index) {\n <li class=\"bmb_sidebar-item\" (click)=\"checkToCloseSidebar(child)\">\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: child, isMobile, isChild: true }\n \"\n />\n </li>\n }\n </ul>\n }\n </section>\n</ng-template>\n\n<!-- Web -->\n<nav\n #sideNav\n class=\"bmb_sidebar bmb_sidebar-desktop\"\n aria-label=\"Sidebar Navigation\"\n [ngClass]=\"{\n 'bmb-active': isActive,\n 'bmb_sidebar-desktop-right': position() === 'right'\n }\"\n (mouseleave)=\"clearSelectElement()\"\n>\n <div [tabIndex]=\"-1\" class=\"bmb_sidebar-content\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarTemplate;\n context: { level: 1, isMobile: false }\n \"\n />\n </div>\n</nav>\n\n<!-- Mobile -->\n<nav class=\"bmb_sidebar-mobile\" aria-label=\"Sidebar Navigation\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: {\n title: title()\n },\n iconSize: 32,\n isTitle: true,\n isFixed: true,\n level: 1,\n isMobile: true\n }\n \"\n />\n</nav>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}@keyframes bounceToRight{0%{width:5.5rem}50%{width:18.75rem}to{width:17.5rem}}@keyframes bounceChildren{0%{opacity:0;width:0}50%{opacity:80%;width:17.5rem}to{opacity:1;width:16.5rem}}@keyframes bounceChildrenMobile{0%{opacity:0;width:0}50%{opacity:80%;width:19.375rem}to{opacity:1;width:17.5rem}}@keyframes bounceRightMobile{0%{opacity:0;width:0}50%{opacity:80%;width:100%}to{opacity:1;width:100%}}@keyframes bounceFromRight{0%{transform:translate(100%)}50%{transform:translate(-5%)}to{transform:translate(0)}}.bmb_sidebar{background-color:rgb(var(--color-black-primary));border-radius:0 1.5rem 1.5rem 0;left:0;position:fixed;transition:width .3s ease;z-index:2}.bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-body-hide{overflow:hidden}.bmb_sidebar-mobile{display:flex;border-radius:0;position:fixed;left:.5rem;top:1rem;z-index:999}.bmb_sidebar-mobile-content{width:100%;background-color:rgb(var(--color-black-primary))}.bmb_sidebar-mobile-button{display:inline-flex;background-color:rgb(var(--color-black-primary));color:rgb(var(--color-white-primary))}@media (min-width: 1001px){.bmb_sidebar-mobile-button{display:none}}.bmb_sidebar-mobile.bmb_sidebar-open{display:block;animation:bounceRightMobile .6s ease-out forwards;height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden;padding:1.25rem;top:4rem;left:0;width:100%}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-header{border-bottom:.0625rem solid rgb(var(--color-charade-800));height:2.5rem;justify-content:space-between;padding:.5rem .5rem 1rem}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-mobile .bmb_sidebar-header{align-items:center;display:flex;height:4.5rem;justify-content:center;margin:0;padding:.5rem;width:100%}.bmb_sidebar-mobile .bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-mobile .bmb_sidebar-header-text{color:rgb(var(--color-white-primary));font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}@media (max-height: 630px){.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}}.bmb_sidebar-mobile .bmb_sidebar-children-open{animation:bounceFromRight .6s ease-out forwards;display:flex;height:100%;left:0;width:100%;opacity:1;z-index:1}.bmb_sidebar-desktop{cursor:auto;display:none;height:30rem;overflow:hidden;padding:1.5rem;top:50%;transform:translateY(-50%);width:5.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close),.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close){animation:bounceToRight .6s ease-out;animation-fill-mode:forwards;height:30rem;overflow:visible;width:17.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-desktop-right{right:0;left:auto;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right .bmb_sidebar-children{left:auto;right:100%;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{order:1}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space{padding-left:2.5rem}@media (min-width: 1001px){.bmb_sidebar-desktop{display:block}}.bmb_sidebar-desktop .bmb_sidebar-item{position:relative}.bmb_sidebar-desktop .bmb_sidebar-item:hover .bmb_sidebar-children{display:flex;width:16.5rem;opacity:1;animation:bounceChildren .5s ease-out forwards}.bmb_sidebar-desktop .bmb_sidebar-children:hover{display:flex;width:16.5rem;opacity:1}.bmb_sidebar-list{list-style-type:none;margin:0;padding:0;display:flex;flex-flow:column;gap:.5rem}.bmb_sidebar-list:nth-of-type(n+2){border-top:.0625rem solid rgb(var(--color-charade-800));margin-top:1.5rem;padding-top:1.5rem}.bmb_sidebar-list .bmb_sidebar-list{padding:1.5rem}.bmb_sidebar-item{align-items:center;display:flex;height:2.5rem;justify-content:flex-start;width:auto}.bmb_sidebar-item .bmb_check-external-link-button{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.bmb_sidebar-link{display:flex;align-items:center;height:100%;width:100%;border-radius:1.5rem;overflow:hidden;color:rgb(var(--color-white-primary))}.bmb_sidebar-link .bmb_check-external-link-button-element{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;transition:all .3s ease;width:100%;height:100%}.bmb_sidebar-link .bmb_check-external-link-button-element:hover,.bmb_sidebar-link .bmb_check-external-link-button-element:focus,.bmb_sidebar-link .bmb_check-external-link-button-element:focus-visible{background-color:rgb(var(--color-white-primary));color:rgb(var(--color-black-primary))}.bmb_sidebar-icon,.bmb_sidebar-arrow{display:inline-flex;padding:0 .5rem}.bmb_sidebar-text{flex:1;opacity:0;width:8.25rem;font-family:Poppins-Medium,sans-serif;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-children{border-radius:0 1.5rem 1.5rem 0;background-color:rgb(var(--color-black-primary));flex-flow:column;transition:opacity 1s ease-out;width:0;opacity:0;position:absolute;top:0;left:100%;overflow:hidden}.bmb_sidebar-title{align-items:center;border-bottom:.0625rem solid rgb(var(--color-charade-800));color:rgb(var(--color-white-primary));display:flex;justify-content:space-between;padding:1rem .5rem}.bmb_sidebar-title-button{display:inline-flex;color:rgb(var(--color-white-primary));padding:0}.bmb_sidebar-title-button .bmb_sidebar-icon{padding:0}\n"] }]
89
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- Template for element -->\n<ng-template\n #elementTemplate\n let-element=\"element\"\n let-isHeader=\"isHeader\"\n let-isFixed=\"isFixed\"\n let-isChild=\"isChild\"\n let-isMobile=\"isMobile\"\n let-hasChildren=\"hasChildren\"\n>\n @if (!isHeader && !!element.icon) {\n <bmb-icon\n class=\"bmb_sidebar-icon\"\n [icon]=\"element.icon\"\n [alt]=\"element.title\"\n [size]=\"24\"\n />\n }\n <span\n [ngClass]=\"{\n 'bmb_sidebar-text': !isHeader,\n 'bmb_sidebar-header-text': isHeader\n }\"\n >\n {{ element!.title }}\n </span>\n @if (isFixed) {\n <bmb-action-icon\n class=\"bmb_sidebar-header-icon\"\n idElement=\"sidebar_close\"\n icon=\"close\"\n [iconSize]=\"24\"\n [isAccentColor]=\"false\"\n (buttonClick)=\"closeSidebar()\"\n />\n }\n</ng-template>\n\n<!-- Template for menu items -->\n<ng-template #itemsTemplate let-item=\"item\" let-isMobile=\"isMobile\">\n <bmb-check-external-link-button\n class=\"bmb_sidebar-link\"\n [idElement]=\"'element' + item.id!\"\n [link]=\"\n getLink({ isMobile, hasChildren: !!item.children, link: item.link! })\n \"\n [target]=\"\n checkForButton({\n isMobile,\n hasChildren: !!item.children\n })\n ? item.target!\n : ''\n \"\n (buttonClick)=\"toggleChildren(item)\"\n >\n <ng-container\n *ngTemplateOutlet=\"elementTemplate; context: { element: item, isMobile }\"\n />\n @if (!!item.children) {\n <bmb-icon\n class=\"bmb_sidebar-arrow\"\n [icon]=\"\n !isMobile && position() === 'right' ? 'chevron_left' : 'chevron_right'\n \"\n [size]=\"24\"\n />\n }\n </bmb-check-external-link-button>\n</ng-template>\n\n<!-- Template for navigation -->\n<ng-template #sidebarTemplate let-level=\"level\" let-isMobile=\"isMobile\">\n @for (group of elements().slice(0, 2); track $index) {\n <ul class=\"bmb_sidebar-list\">\n @for (element of group.slice(0, 5); track $index) {\n <li\n class=\"bmb_sidebar-item\"\n [ngClass]=\"{\n 'bmb_sidebar-item-left-space':\n position() === 'right' && hasSubmenu && !element.children?.length\n }\"\n (click)=\"checkToCloseSidebar(element)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: element, isMobile }\n \"\n />\n @if (!!element.children && level === 1) {\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: element,\n iconSize: 24,\n isFixed: true,\n level: 2,\n selectedElement,\n isMobile\n }\n \"\n />\n }\n </li>\n }\n </ul>\n }\n</ng-template>\n\n<ng-template\n #sidebarElementTemplate\n let-element=\"element\"\n let-iconSize=\"iconSize\"\n let-level=\"level\"\n let-isHeader=\"isHeader\"\n let-isFixed=\"isFixed\"\n let-selectedElement=\"selectedElement\"\n let-isMobile=\"isMobile\"\n>\n @if (level == 1 && isMobile) {\n <bmb-action-icon\n class=\"bmb_sidebar-mobile-button\"\n idElement=\"sidebar_main\"\n icon=\"chevron_right\"\n [iconSize]=\"iconSize\"\n toggleIconActive=\"chevron_left\"\n [isAccentColor]=\"false\"\n [(isToggleActive)]=\"isOpen\"\n (buttonClick)=\"clearSelectElement()\"\n />\n }\n <section\n [tabIndex]=\"-1\"\n [ngClass]=\"{\n 'bmb_sidebar-children': level >= 2 && !!element.children,\n 'bmb_sidebar-children-open':\n level >= 2 && !!element.children && selectedElement === element,\n 'bmb_sidebar-open': isMobile && level == 1 && isOpen,\n bmb_sidebar: isMobile && level == 1,\n 'bmb_sidebar-mobile': isMobile && level == 1\n }\"\n >\n @if (isOpen) {\n <section\n [ngClass]=\"{\n 'bmb_sidebar-header': level == 1,\n 'bmb_sidebar-title': level >= 2\n }\"\n >\n @if (level >= 2 && !!selectedElement) {\n <bmb-action-icon\n class=\"bmb_sidebar-title-button\"\n [idElement]=\"element.id.toString()\"\n icon=\"chevron_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"toggleChildren(element)\"\n />\n }\n <!-- Header -->\n <ng-container\n *ngTemplateOutlet=\"\n elementTemplate;\n context: {\n element,\n isHeader: true,\n isFixed,\n hasChildren: !!element.children\n }\n \"\n />\n </section>\n\n @if (level == 1) {\n <!-- Menu -->\n <ng-container\n *ngTemplateOutlet=\"sidebarTemplate; context: { level, isMobile }\"\n />\n }\n }\n @if (level >= 2 && !!element.children) {\n <ul class=\"bmb_sidebar-list\">\n @for (child of element?.children?.slice(0, 6); track $index) {\n <li class=\"bmb_sidebar-item\" (click)=\"checkToCloseSidebar(child)\">\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: child, isMobile, isChild: true }\n \"\n />\n </li>\n }\n </ul>\n }\n </section>\n</ng-template>\n\n<!-- Web -->\n<nav\n #sideNav\n class=\"bmb_sidebar bmb_sidebar-desktop\"\n aria-label=\"Sidebar Navigation\"\n [ngClass]=\"{\n 'bmb-active': isActive,\n 'bmb_sidebar-desktop-right': position() === 'right'\n }\"\n (mouseleave)=\"clearSelectElement()\"\n>\n <div [tabIndex]=\"-1\" class=\"bmb_sidebar-content\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarTemplate;\n context: { level: 1, isMobile: false }\n \"\n />\n </div>\n</nav>\n\n<!-- Mobile -->\n<nav class=\"bmb_sidebar-mobile\" aria-label=\"Sidebar Navigation\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: {\n title: title()\n },\n iconSize: 32,\n isHeader: true,\n isFixed: true,\n level: 1,\n isMobile: true\n }\n \"\n />\n</nav>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}@keyframes bounceToRight{0%{width:5.5rem}50%{width:18.75rem}to{width:17.5rem}}@keyframes bounceChildren{0%{opacity:0;width:0}50%{opacity:80%;width:17.5rem}to{opacity:1;width:16.5rem}}@keyframes bounceChildrenMobile{0%{opacity:0;width:0}50%{opacity:80%;width:19.375rem}to{opacity:1;width:17.5rem}}@keyframes bounceRightMobile{0%{opacity:0;width:0}50%{opacity:80%;width:100%}to{opacity:1;width:100%}}@keyframes bounceFromRight{0%{transform:translate(100%)}50%{transform:translate(-5%)}to{transform:translate(0)}}.bmb_sidebar{background-color:rgb(var(--color-black-primary));border-radius:0 1.5rem 1.5rem 0;left:0;position:fixed;transition:width .3s ease;z-index:2}.bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-body-hide{overflow:hidden}.bmb_sidebar-mobile{display:flex;border-radius:0;position:fixed;left:.5rem;top:1rem;z-index:999}.bmb_sidebar-mobile-content{width:100%;background-color:rgb(var(--color-black-primary))}.bmb_sidebar-mobile-button{display:inline-flex;background-color:rgb(var(--color-black-primary));color:rgb(var(--color-white-primary))}@media (min-width: 1001px){.bmb_sidebar-mobile-button{display:none}}.bmb_sidebar-mobile.bmb_sidebar-open{display:block;animation:bounceRightMobile .6s ease-out forwards;height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden;padding:1.25rem;top:4rem;left:0;width:100%}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-header{border-bottom:.0625rem solid rgb(var(--color-charade-800));height:2.5rem;justify-content:space-between;padding:.5rem .5rem 1rem}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-mobile .bmb_sidebar-header{align-items:center;display:flex;height:4.5rem;justify-content:center;margin:0;padding:.5rem;width:100%}.bmb_sidebar-mobile .bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-mobile .bmb_sidebar-header-text{color:rgb(var(--color-white-primary));font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}@media (max-height: 630px){.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}}.bmb_sidebar-mobile .bmb_sidebar-children-open{animation:bounceFromRight .6s ease-out forwards;display:flex;height:100%;left:0;width:100%;opacity:1;z-index:1}.bmb_sidebar-desktop{cursor:auto;display:none;height:30rem;overflow:hidden;padding:1.5rem;top:50%;transform:translateY(-50%);width:5.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close),.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close){animation:bounceToRight .6s ease-out;animation-fill-mode:forwards;height:30rem;overflow:visible;width:17.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-desktop-right{right:0;left:auto;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right .bmb_sidebar-children{left:auto;right:100%;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{order:1}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space{padding-left:2.5rem}@media (min-width: 1001px){.bmb_sidebar-desktop{display:block}}.bmb_sidebar-desktop .bmb_sidebar-item{position:relative}.bmb_sidebar-desktop .bmb_sidebar-item:hover .bmb_sidebar-children{display:flex;width:16.5rem;opacity:1;animation:bounceChildren .5s ease-out forwards}.bmb_sidebar-desktop .bmb_sidebar-children:hover{display:flex;width:16.5rem;opacity:1}.bmb_sidebar-list{list-style-type:none;margin:0;padding:0;display:flex;flex-flow:column;gap:.5rem}.bmb_sidebar-list:nth-of-type(n+2){border-top:.0625rem solid rgb(var(--color-charade-800));margin-top:1.5rem;padding-top:1.5rem}.bmb_sidebar-list .bmb_sidebar-list{padding:1.5rem}.bmb_sidebar-item{align-items:center;display:flex;height:2.5rem;justify-content:flex-start;width:auto}.bmb_sidebar-item .bmb_check-external-link-button{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.bmb_sidebar-link{display:flex;align-items:center;height:100%;width:100%;border-radius:1.5rem;overflow:hidden;color:rgb(var(--color-white-primary))}.bmb_sidebar-link .bmb_check-external-link-button-element{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;transition:all .3s ease;width:100%;height:100%}.bmb_sidebar-link .bmb_check-external-link-button-element:hover,.bmb_sidebar-link .bmb_check-external-link-button-element:focus,.bmb_sidebar-link .bmb_check-external-link-button-element:focus-visible{background-color:rgb(var(--color-white-primary));color:rgb(var(--color-black-primary))}.bmb_sidebar-icon,.bmb_sidebar-arrow{display:inline-flex;padding:0 .5rem}.bmb_sidebar-text{flex:1;opacity:0;width:8.25rem;font-family:Poppins-Medium,sans-serif;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-children{border-radius:0 1.5rem 1.5rem 0;background-color:rgb(var(--color-black-primary));flex-flow:column;transition:opacity 1s ease-out;width:0;opacity:0;position:absolute;top:0;left:100%;overflow:hidden}.bmb_sidebar-title{align-items:center;border-bottom:.0625rem solid rgb(var(--color-charade-800));color:rgb(var(--color-white-primary));display:flex;justify-content:space-between;padding:1rem .5rem}.bmb_sidebar-title-button{display:inline-flex;color:rgb(var(--color-white-primary));padding:0}.bmb_sidebar-title-button .bmb_sidebar-icon{padding:0}\n"] }]
87
90
  }], propDecorators: { sideNav: [{
88
91
  type: ViewChild,
89
92
  args: ['sideNav']
@@ -94,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
94
97
  type: HostListener,
95
98
  args: ['window:focusout', ['$event']]
96
99
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1zaWRlYmFyL2JtYi1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItc2lkZWJhci9ibWItc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFnQnRGLE1BQU0sT0FBTyxtQkFBbUI7SUFkaEM7UUFlRSxhQUFRLEdBQUcsS0FBSyxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFTLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxLQUFLLENBQXNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYztRQUU3RCxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsb0JBQWUsR0FBMEIsSUFBSSxDQUFDO1FBQzlDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7S0FxRjlCO0lBaEZDLFNBQVM7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RyxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQzsrR0E5RlUsbUJBQW1CO21HQUFuQixtQkFBbUIsMHBCQy9CaEMsd2tNQW9PQSxnMFhEL01JLFlBQVksb1NBQ1osZ0JBQWdCLDhKQUNoQixtQ0FBbUMseU1BQ25DLHNCQUFzQjs7NEZBT2IsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG1DQUFtQzt3QkFDbkMsc0JBQXNCO3FCQUN2QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFjZixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBR3BCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNMUMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaWRlYmFyRWxlbWVudCB9IGZyb20gJy4vYm1iLXNpZGViYXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJtYkljb25Db21wb25lbnQgfSBmcm9tICcuLi9ibWItaWNvbi9ibWItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2hlY2tFeHRlcm5hbExpbmtCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9ibWItY2hlY2stZXh0ZXJuYWwtbGluay1idXR0b24vYm1iLWNoZWNrLWV4dGVybmFsLWxpbmstYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUG9zaXRpb25CdXR0b25NZW51IH0gZnJvbSAnLi4vYm1iLXRvcC1iYXIvdHlwZXMnO1xuaW1wb3J0IHsgQm1iQWN0aW9uSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1hY3Rpb24taWNvbi9ibWItYWN0aW9uLWljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgQm1iQ2hlY2tFeHRlcm5hbExpbmtCdXR0b25Db21wb25lbnQsXG4gICAgQm1iQWN0aW9uSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEJtYlNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBlbGVtZW50cyA9IGlucHV0PFNpZGViYXJFbGVtZW50W11bXT4oW10pO1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJ05hdmlnYXRpb24nKTtcbiAgcG9zaXRpb24gPSBpbnB1dDxJUG9zaXRpb25CdXR0b25NZW51PignbGVmdCcpOyAvL09ubHkgZm9yIHdlYlxuXG4gIGN1cnJlbnRVcmw6IHN0cmluZyA9ICcnO1xuICBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRFbGVtZW50OiBTaWRlYmFyRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBpc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBoYXNTdWJtZW51OiBib29sZWFuID0gZmFsc2U7XG4gIG1heENoaWxkcmVuTGV2ZWw6IG51bWJlciA9IDI7XG5cbiAgQFZpZXdDaGlsZCgnc2lkZU5hdicpIHNpZGVOYXYhOiBFbGVtZW50UmVmO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpmb2N1c2luJywgWyckZXZlbnQnXSlcbiAgb25Gb2N1c0luKCkge1xuICAgIHRoaXMuY2hlY2tJZkZvY3VzSW5zaWRlU2lkZWJhcigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmZvY3Vzb3V0JywgWyckZXZlbnQnXSlcbiAgb25Gb2N1c091dCgpIHtcbiAgICB0aGlzLmNoZWNrSWZGb2N1c0luc2lkZVNpZGViYXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVsZW1lbnRzKCk/Lmxlbmd0aCA+IDIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdUaGUgc2lkZWJhciBjb21wb25lbnQgb25seSBzdXBwb3J0cyB0d28gbGV2ZWxzIG9mIG5hdmlnYXRpb24nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbGVtZW50cygpWzBdPy5sZW5ndGggPiA1KSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnVGhlIHNpZGViYXIgY29tcG9uZW50IG9ubHkgc3VwcG9ydHMgYSBtYXhpbXVtIG9mIDUgZWxlbWVudHMgaW4gdGhlIGZpcnN0IGxldmVsIG9mIG5hdmlnYXRpb24nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbGVtZW50cygpWzFdICYmIHRoaXMuZWxlbWVudHMoKVsxXT8ubGVuZ3RoID4gMykge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ1RoZSBzaWRlYmFyIGNvbXBvbmVudCBvbmx5IHN1cHBvcnRzIGEgbWF4aW11bSBvZiAzIGVsZW1lbnRzIGluIHRoZSBzZWNvbmQgbGV2ZWwgb2YgbmF2aWdhdGlvbicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuaGFzU3VibWVudSA9IHRoaXMuZWxlbWVudHMoKT8uc29tZSgoZWxlbWVudCkgPT5cbiAgICAgIGVsZW1lbnQ/LnNvbWUoKGVsKSA9PiBlbC5jaGlsZHJlbiksXG4gICAgKTtcbiAgfVxuXG4gIGdldExpbmsobGluazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoISFsaW5rKSByZXR1cm4gbGluaztcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjbG9zZVNpZGViYXIoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFyU2VsZWN0RWxlbWVudCgpO1xuICB9XG5cbiAgY2xlYXJTZWxlY3RFbGVtZW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIHRvZ2dsZUNoaWxkcmVuKGVsZW1lbnQ6IFNpZGViYXJFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRFbGVtZW50ID09PSBlbGVtZW50KSB7XG4gICAgICB0aGlzLmNsZWFyU2VsZWN0RWxlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gZWxlbWVudDtcblxuICAgIGlmIChlbGVtZW50LmNoaWxkcmVuKSB7XG4gICAgICBlbGVtZW50LmlzT3BlbiA9ICFlbGVtZW50LmlzT3BlbjtcbiAgICB9XG4gIH1cblxuICBjaGVja0lmRm9jdXNJbnNpZGVTaWRlYmFyKCkge1xuICAgIGNvbnN0IHNpZGViYXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYm1iX3NpZGViYXItZGVza3RvcCcpO1xuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIHRoaXMuaXNBY3RpdmUgPVxuICAgICAgKHNpZGViYXIgJiYgYWN0aXZlRWxlbWVudCAmJiBzaWRlYmFyLmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpKSB8fCBmYWxzZTtcbiAgfVxuXG4gIGNoZWNrVG9DbG9zZVNpZGViYXIoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC5saW5rICYmICFldmVudC5jaGlsZHJlbikge1xuICAgICAgdGhpcy5jbG9zZVNpZGViYXIoKTtcbiAgICAgIHRoaXMuc2lkZU5hdi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2JtYl9zaWRlYmFyLWRlc2t0b3AtY2xvc2UnKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2lkZU5hdi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLWRlc2t0b3AtY2xvc2UnLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnNpZGVOYXYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdibWItYWN0aXZlJyk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBUZW1wbGF0ZSBmb3IgZWxlbWVudCAtLT5cbjxuZy10ZW1wbGF0ZVxuICAjZWxlbWVudFRlbXBsYXRlXG4gIGxldC1lbGVtZW50PVwiZWxlbWVudFwiXG4gIGxldC1pc1RpdGxlPVwiaXNUaXRsZVwiXG4gIGxldC1pc0ZpeGVkPVwiaXNGaXhlZFwiXG4gIGxldC1pc0NoaWxkPVwiaXNDaGlsZFwiXG4gIGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCJcbj5cbiAgQGlmICghIWVsZW1lbnQuaWNvbikge1xuICAgIDxibWItaWNvblxuICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci1pY29uXCJcbiAgICAgIFtpY29uXT1cImVsZW1lbnQuaWNvblwiXG4gICAgICBbYWx0XT1cImVsZW1lbnQudGl0bGVcIlxuICAgICAgW3NpemVdPVwiMjRcIlxuICAgIC8+XG4gIH1cbiAgPHNwYW5cbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnYm1iX3NpZGViYXItdGV4dCc6ICFpc1RpdGxlLFxuICAgICAgJ2JtYl9zaWRlYmFyLWhlYWRlci10ZXh0JzogaXNUaXRsZVxuICAgIH1cIlxuICAgID57eyBlbGVtZW50IS50aXRsZSB9fTwvc3BhblxuICA+XG4gIEBpZiAoaXNGaXhlZCkge1xuICAgIDxibWItYWN0aW9uLWljb25cbiAgICAgIGNsYXNzPVwiYm1iX3NpZGViYXItaGVhZGVyLWljb25cIlxuICAgICAgaWRFbGVtZW50PVwic2lkZWJhcl9jbG9zZVwiXG4gICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgW2ljb25TaXplXT1cIjI0XCJcbiAgICAgIFtpc0FjY2VudENvbG9yXT1cImZhbHNlXCJcbiAgICAgIChidXR0b25DbGljayk9XCJjbG9zZVNpZGViYXIoKVwiXG4gICAgLz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBmb3IgbWVudSBpdGVtcyAtLT5cbjxuZy10ZW1wbGF0ZSAjaXRlbXNUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXNNb2JpbGU9XCJpc01vYmlsZVwiPlxuICA8Ym1iLWNoZWNrLWV4dGVybmFsLWxpbmstYnV0dG9uXG4gICAgY2xhc3M9XCJibWJfc2lkZWJhci1saW5rXCJcbiAgICBbaWRFbGVtZW50XT1cIidlbGVtZW50JyArIGl0ZW0uaWQhXCJcbiAgICBbbGlua109XCIhaXNNb2JpbGUgPyBnZXRMaW5rKGl0ZW0ubGluayEpIDogJydcIlxuICAgIFt0YXJnZXRdPVwiIWlzTW9iaWxlID8gaXRlbS50YXJnZXQhIDogJydcIlxuICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVDaGlsZHJlbihpdGVtKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImVsZW1lbnRUZW1wbGF0ZTsgY29udGV4dDogeyBlbGVtZW50OiBpdGVtLCBpc01vYmlsZSB9XCJcbiAgICAvPlxuICAgIEBpZiAoISFpdGVtLmNoaWxkcmVuKSB7XG4gICAgICA8Ym1iLWljb25cbiAgICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci1hcnJvd1wiXG4gICAgICAgIFtpY29uXT1cIlxuICAgICAgICAgICFpc01vYmlsZSAmJiBwb3NpdGlvbigpID09PSAncmlnaHQnID8gJ2NoZXZyb25fbGVmdCcgOiAnY2hldnJvbl9yaWdodCdcbiAgICAgICAgXCJcbiAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgLz5cbiAgICB9XG4gIDwvYm1iLWNoZWNrLWV4dGVybmFsLWxpbmstYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBmb3IgbmF2aWdhdGlvbiAtLT5cbjxuZy10ZW1wbGF0ZSAjc2lkZWJhclRlbXBsYXRlIGxldC1sZXZlbD1cImxldmVsXCIgbGV0LWlzTW9iaWxlPVwiaXNNb2JpbGVcIj5cbiAgQGZvciAoZ3JvdXAgb2YgZWxlbWVudHMoKS5zbGljZSgwLCAyKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPHVsIGNsYXNzPVwiYm1iX3NpZGViYXItbGlzdFwiPlxuICAgICAgQGZvciAoZWxlbWVudCBvZiBncm91cC5zbGljZSgwLCA1KTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxsaVxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NpZGViYXItaXRlbVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2JtYl9zaWRlYmFyLWl0ZW0tbGVmdC1zcGFjZSc6XG4gICAgICAgICAgICAgIHBvc2l0aW9uKCkgPT09ICdyaWdodCcgJiYgaGFzU3VibWVudSAmJiAhZWxlbWVudC5jaGlsZHJlbj8ubGVuZ3RoXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNoZWNrVG9DbG9zZVNpZGViYXIoZWxlbWVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgaXRlbXNUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBlbGVtZW50LCBpc01vYmlsZSB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgQGlmICghIWVsZW1lbnQuY2hpbGRyZW4gJiYgbGV2ZWwgPT09IDEpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBzaWRlYmFyRWxlbWVudFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICBpY29uU2l6ZTogMjQsXG4gICAgICAgICAgICAgICAgICBpc0ZpeGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICBpc01vYmlsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjc2lkZWJhckVsZW1lbnRUZW1wbGF0ZVxuICBsZXQtZWxlbWVudD1cImVsZW1lbnRcIlxuICBsZXQtaWNvblNpemU9XCJpY29uU2l6ZVwiXG4gIGxldC1sZXZlbD1cImxldmVsXCJcbiAgbGV0LWlzVGl0bGU9XCJpc1RpdGxlXCJcbiAgbGV0LWlzRml4ZWQ9XCJpc0ZpeGVkXCJcbiAgbGV0LXNlbGVjdGVkRWxlbWVudD1cInNlbGVjdGVkRWxlbWVudFwiXG4gIGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCJcbj5cbiAgQGlmIChsZXZlbCA9PSAxICYmIGlzTW9iaWxlKSB7XG4gICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci1tb2JpbGUtYnV0dG9uXCJcbiAgICAgIGlkRWxlbWVudD1cInNpZGViYXJfbWFpblwiXG4gICAgICBpY29uPVwiY2hldnJvbl9yaWdodFwiXG4gICAgICBbaWNvblNpemVdPVwiaWNvblNpemVcIlxuICAgICAgdG9nZ2xlSWNvbkFjdGl2ZT1cImNoZXZyb25fbGVmdFwiXG4gICAgICBbaXNBY2NlbnRDb2xvcl09XCJmYWxzZVwiXG4gICAgICBbKGlzVG9nZ2xlQWN0aXZlKV09XCJpc09wZW5cIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cImNsZWFyU2VsZWN0RWxlbWVudCgpXCJcbiAgICAvPlxuICB9XG4gIDxzZWN0aW9uXG4gICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnYm1iX3NpZGViYXItY2hpbGRyZW4nOiBsZXZlbCA+PSAyICYmICEhZWxlbWVudC5jaGlsZHJlbixcbiAgICAgICdibWJfc2lkZWJhci1jaGlsZHJlbi1vcGVuJzpcbiAgICAgICAgbGV2ZWwgPj0gMiAmJiAhIWVsZW1lbnQuY2hpbGRyZW4gJiYgc2VsZWN0ZWRFbGVtZW50ID09PSBlbGVtZW50LFxuICAgICAgJ2JtYl9zaWRlYmFyLW9wZW4nOiBpc01vYmlsZSAmJiBsZXZlbCA9PSAxICYmIGlzT3BlbixcbiAgICAgIGJtYl9zaWRlYmFyOiBpc01vYmlsZSAmJiBsZXZlbCA9PSAxLFxuICAgICAgJ2JtYl9zaWRlYmFyLW1vYmlsZSc6IGlzTW9iaWxlICYmIGxldmVsID09IDFcbiAgICB9XCJcbiAgPlxuICAgIEBpZiAoaXNPcGVuKSB7XG4gICAgICA8c2VjdGlvblxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLWhlYWRlcic6IGxldmVsID09IDEsXG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLXRpdGxlJzogbGV2ZWwgPj0gMlxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChsZXZlbCA+PSAyICYmICEhc2VsZWN0ZWRFbGVtZW50KSB7XG4gICAgICAgICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci10aXRsZS1idXR0b25cIlxuICAgICAgICAgICAgW2lkRWxlbWVudF09XCJlbGVtZW50LmlkLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb25fbGVmdFwiXG4gICAgICAgICAgICBbaWNvblNpemVdPVwiMjRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUNoaWxkcmVuKGVsZW1lbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGVsZW1lbnRUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgZWxlbWVudDoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgICAgIGljb246IGVsZW1lbnQuaWNvbiFcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXNUaXRsZSxcbiAgICAgICAgICAgICAgaXNGaXhlZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgIC8+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIEBpZiAobGV2ZWwgPT0gMSkge1xuICAgICAgICA8IS0tIE1lbnUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNpZGViYXJUZW1wbGF0ZTsgY29udGV4dDogeyBsZXZlbCwgaXNNb2JpbGUgfVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAobGV2ZWwgPj0gMiAmJiAhIWVsZW1lbnQuY2hpbGRyZW4pIHtcbiAgICAgIDx1bCBjbGFzcz1cImJtYl9zaWRlYmFyLWxpc3RcIj5cbiAgICAgICAgQGZvciAoY2hpbGQgb2YgZWxlbWVudD8uY2hpbGRyZW4/LnNsaWNlKDAsIDYpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8bGkgY2xhc3M9XCJibWJfc2lkZWJhci1pdGVtXCIgKGNsaWNrKT1cImNoZWNrVG9DbG9zZVNpZGViYXIoY2hpbGQpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgaXRlbXNUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGNoaWxkLCBpc01vYmlsZSwgaXNDaGlsZDogdHJ1ZSB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgfVxuICA8L3NlY3Rpb24+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFdlYiAtLT5cbjxuYXZcbiAgI3NpZGVOYXZcbiAgY2xhc3M9XCJibWJfc2lkZWJhciBibWJfc2lkZWJhci1kZXNrdG9wXCJcbiAgYXJpYS1sYWJlbD1cIlNpZGViYXIgTmF2aWdhdGlvblwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnYm1iLWFjdGl2ZSc6IGlzQWN0aXZlLFxuICAgICdibWJfc2lkZWJhci1kZXNrdG9wLXJpZ2h0JzogcG9zaXRpb24oKSA9PT0gJ3JpZ2h0J1xuICB9XCJcbiAgKG1vdXNlbGVhdmUpPVwiY2xlYXJTZWxlY3RFbGVtZW50KClcIlxuPlxuICA8ZGl2IFt0YWJJbmRleF09XCItMVwiIGNsYXNzPVwiYm1iX3NpZGViYXItY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHNpZGViYXJUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDogeyBsZXZlbDogMSwgaXNNb2JpbGU6IGZhbHNlIH1cbiAgICAgIFwiXG4gICAgLz5cbiAgPC9kaXY+XG48L25hdj5cblxuPCEtLSBNb2JpbGUgLS0+XG48bmF2IGNsYXNzPVwiYm1iX3NpZGViYXItbW9iaWxlXCIgYXJpYS1sYWJlbD1cIlNpZGViYXIgTmF2aWdhdGlvblwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIHNpZGViYXJFbGVtZW50VGVtcGxhdGU7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIGVsZW1lbnQ6IHtcbiAgICAgICAgICB0aXRsZTogdGl0bGUoKVxuICAgICAgICB9LFxuICAgICAgICBpY29uU2l6ZTogMzIsXG4gICAgICAgIGlzVGl0bGU6IHRydWUsXG4gICAgICAgIGlzRml4ZWQ6IHRydWUsXG4gICAgICAgIGxldmVsOiAxLFxuICAgICAgICBpc01vYmlsZTogdHJ1ZVxuICAgICAgfVxuICAgIFwiXG4gIC8+XG48L25hdj5cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1zaWRlYmFyL2JtYi1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItc2lkZWJhci9ibWItc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFzQnRGLE1BQU0sT0FBTyxtQkFBbUI7SUFkaEM7UUFlRSxhQUFRLEdBQUcsS0FBSyxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFTLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxLQUFLLENBQXNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYztRQUU3RCxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsb0JBQWUsR0FBMEIsSUFBSSxDQUFDO1FBQzlDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7S0F5RjlCO0lBcEZDLFNBQVM7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LElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQ3pDLDJCQUEyQixDQUM1QixDQUFDO2dCQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7K0dBbEdVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDBwQkNyQ2hDLG12TUE2T0EsZzBYRGxOSSxZQUFZLG9TQUNaLGdCQUFnQiw4SkFDaEIsbUNBQW1DLHlNQUNuQyxzQkFBc0I7OzRGQU9iLG1CQUFtQjtrQkFkL0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixtQ0FBbUM7d0JBQ25DLHNCQUFzQjtxQkFDdkIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBY2YsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUdwQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTTFDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBIb3N0TGlzdGVuZXIsXG4gIGlucHV0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2lkZWJhckVsZW1lbnQgfSBmcm9tICcuL2JtYi1zaWRlYmFyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNoZWNrRXh0ZXJuYWxMaW5rQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWNoZWNrLWV4dGVybmFsLWxpbmstYnV0dG9uL2JtYi1jaGVjay1leHRlcm5hbC1saW5rLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVBvc2l0aW9uQnV0dG9uTWVudSB9IGZyb20gJy4uL2JtYi10b3AtYmFyL3R5cGVzJztcbmltcG9ydCB7IEJtYkFjdGlvbkljb25Db21wb25lbnQgfSBmcm9tICcuLi9ibWItYWN0aW9uLWljb24vYm1iLWFjdGlvbi1pY29uLmNvbXBvbmVudCc7XG5cbmludGVyZmFjZSBJQm1iSXNCdXR0b24ge1xuICBsaW5rPzogc3RyaW5nO1xuICBpc01vYmlsZTogYm9vbGVhbjtcbiAgaGFzQ2hpbGRyZW46IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1zaWRlYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCbWJJY29uQ29tcG9uZW50LFxuICAgIEJtYkNoZWNrRXh0ZXJuYWxMaW5rQnV0dG9uQ29tcG9uZW50LFxuICAgIEJtYkFjdGlvbkljb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItc2lkZWJhci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZWxlbWVudHMgPSBpbnB1dDxTaWRlYmFyRWxlbWVudFtdW10+KFtdKTtcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdOYXZpZ2F0aW9uJyk7XG4gIHBvc2l0aW9uID0gaW5wdXQ8SVBvc2l0aW9uQnV0dG9uTWVudT4oJ2xlZnQnKTsgLy9Pbmx5IGZvciB3ZWJcblxuICBjdXJyZW50VXJsOiBzdHJpbmcgPSAnJztcbiAgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkRWxlbWVudDogU2lkZWJhckVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGFzU3VibWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBtYXhDaGlsZHJlbkxldmVsOiBudW1iZXIgPSAyO1xuXG4gIEBWaWV3Q2hpbGQoJ3NpZGVOYXYnKSBzaWRlTmF2ITogRWxlbWVudFJlZjtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6Zm9jdXNpbicsIFsnJGV2ZW50J10pXG4gIG9uRm9jdXNJbigpIHtcbiAgICB0aGlzLmNoZWNrSWZGb2N1c0luc2lkZVNpZGViYXIoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIG9uRm9jdXNPdXQoKSB7XG4gICAgdGhpcy5jaGVja0lmRm9jdXNJbnNpZGVTaWRlYmFyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbGVtZW50cygpPy5sZW5ndGggPiAyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnVGhlIHNpZGViYXIgY29tcG9uZW50IG9ubHkgc3VwcG9ydHMgdHdvIGxldmVscyBvZiBuYXZpZ2F0aW9uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudHMoKVswXT8ubGVuZ3RoID4gNSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ1RoZSBzaWRlYmFyIGNvbXBvbmVudCBvbmx5IHN1cHBvcnRzIGEgbWF4aW11bSBvZiA1IGVsZW1lbnRzIGluIHRoZSBmaXJzdCBsZXZlbCBvZiBuYXZpZ2F0aW9uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudHMoKVsxXSAmJiB0aGlzLmVsZW1lbnRzKClbMV0/Lmxlbmd0aCA+IDMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdUaGUgc2lkZWJhciBjb21wb25lbnQgb25seSBzdXBwb3J0cyBhIG1heGltdW0gb2YgMyBlbGVtZW50cyBpbiB0aGUgc2Vjb25kIGxldmVsIG9mIG5hdmlnYXRpb24nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmhhc1N1Ym1lbnUgPSB0aGlzLmVsZW1lbnRzKCk/LnNvbWUoKGVsZW1lbnQpID0+XG4gICAgICBlbGVtZW50Py5zb21lKChlbCkgPT4gZWwuY2hpbGRyZW4pLFxuICAgICk7XG4gIH1cblxuICBjaGVja0ZvckJ1dHRvbih7IGlzTW9iaWxlLCBoYXNDaGlsZHJlbiB9OiBJQm1iSXNCdXR0b24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNNb2JpbGUgJiYgaGFzQ2hpbGRyZW47XG4gIH1cblxuICBnZXRMaW5rKHsgbGluaywgaXNNb2JpbGUsIGhhc0NoaWxkcmVuIH06IElCbWJJc0J1dHRvbik6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY2hlY2tGb3JCdXR0b24oeyBpc01vYmlsZSwgaGFzQ2hpbGRyZW4gfSkpIHJldHVybiAnJztcbiAgICByZXR1cm4gbGluayB8fCAnJztcbiAgfVxuXG4gIGNsb3NlU2lkZWJhcigpIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuY2xlYXJTZWxlY3RFbGVtZW50KCk7XG4gIH1cblxuICBjbGVhclNlbGVjdEVsZW1lbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSBudWxsO1xuICB9XG5cbiAgdG9nZ2xlQ2hpbGRyZW4oZWxlbWVudDogU2lkZWJhckVsZW1lbnQpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnQgPT09IGVsZW1lbnQpIHtcbiAgICAgIHRoaXMuY2xlYXJTZWxlY3RFbGVtZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSBlbGVtZW50O1xuXG4gICAgaWYgKGVsZW1lbnQuY2hpbGRyZW4pIHtcbiAgICAgIGVsZW1lbnQuaXNPcGVuID0gIWVsZW1lbnQuaXNPcGVuO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrSWZGb2N1c0luc2lkZVNpZGViYXIoKSB7XG4gICAgY29uc3Qgc2lkZWJhciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ibWJfc2lkZWJhci1kZXNrdG9wJyk7XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5pc0FjdGl2ZSA9XG4gICAgICAoc2lkZWJhciAmJiBhY3RpdmVFbGVtZW50ICYmIHNpZGViYXIuY29udGFpbnMoYWN0aXZlRWxlbWVudCkpIHx8IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tUb0Nsb3NlU2lkZWJhcihldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LmxpbmsgJiYgIWV2ZW50LmNoaWxkcmVuKSB7XG4gICAgICB0aGlzLmNsb3NlU2lkZWJhcigpO1xuICAgICAgdGhpcy5zaWRlTmF2Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYm1iX3NpZGViYXItZGVza3RvcC1jbG9zZScpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zaWRlTmF2Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAnYm1iX3NpZGViYXItZGVza3RvcC1jbG9zZScsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2lkZU5hdi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2JtYi1hY3RpdmUnKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIFRlbXBsYXRlIGZvciBlbGVtZW50IC0tPlxuPG5nLXRlbXBsYXRlXG4gICNlbGVtZW50VGVtcGxhdGVcbiAgbGV0LWVsZW1lbnQ9XCJlbGVtZW50XCJcbiAgbGV0LWlzSGVhZGVyPVwiaXNIZWFkZXJcIlxuICBsZXQtaXNGaXhlZD1cImlzRml4ZWRcIlxuICBsZXQtaXNDaGlsZD1cImlzQ2hpbGRcIlxuICBsZXQtaXNNb2JpbGU9XCJpc01vYmlsZVwiXG4gIGxldC1oYXNDaGlsZHJlbj1cImhhc0NoaWxkcmVuXCJcbj5cbiAgQGlmICghaXNIZWFkZXIgJiYgISFlbGVtZW50Lmljb24pIHtcbiAgICA8Ym1iLWljb25cbiAgICAgIGNsYXNzPVwiYm1iX3NpZGViYXItaWNvblwiXG4gICAgICBbaWNvbl09XCJlbGVtZW50Lmljb25cIlxuICAgICAgW2FsdF09XCJlbGVtZW50LnRpdGxlXCJcbiAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAvPlxuICB9XG4gIDxzcGFuXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2JtYl9zaWRlYmFyLXRleHQnOiAhaXNIZWFkZXIsXG4gICAgICAnYm1iX3NpZGViYXItaGVhZGVyLXRleHQnOiBpc0hlYWRlclxuICAgIH1cIlxuICA+XG4gICAge3sgZWxlbWVudCEudGl0bGUgfX1cbiAgPC9zcGFuPlxuICBAaWYgKGlzRml4ZWQpIHtcbiAgICA8Ym1iLWFjdGlvbi1pY29uXG4gICAgICBjbGFzcz1cImJtYl9zaWRlYmFyLWhlYWRlci1pY29uXCJcbiAgICAgIGlkRWxlbWVudD1cInNpZGViYXJfY2xvc2VcIlxuICAgICAgaWNvbj1cImNsb3NlXCJcbiAgICAgIFtpY29uU2l6ZV09XCIyNFwiXG4gICAgICBbaXNBY2NlbnRDb2xvcl09XCJmYWxzZVwiXG4gICAgICAoYnV0dG9uQ2xpY2spPVwiY2xvc2VTaWRlYmFyKClcIlxuICAgIC8+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gVGVtcGxhdGUgZm9yIG1lbnUgaXRlbXMgLS0+XG48bmctdGVtcGxhdGUgI2l0ZW1zVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWlzTW9iaWxlPVwiaXNNb2JpbGVcIj5cbiAgPGJtYi1jaGVjay1leHRlcm5hbC1saW5rLWJ1dHRvblxuICAgIGNsYXNzPVwiYm1iX3NpZGViYXItbGlua1wiXG4gICAgW2lkRWxlbWVudF09XCInZWxlbWVudCcgKyBpdGVtLmlkIVwiXG4gICAgW2xpbmtdPVwiXG4gICAgICBnZXRMaW5rKHsgaXNNb2JpbGUsIGhhc0NoaWxkcmVuOiAhIWl0ZW0uY2hpbGRyZW4sIGxpbms6IGl0ZW0ubGluayEgfSlcbiAgICBcIlxuICAgIFt0YXJnZXRdPVwiXG4gICAgICBjaGVja0ZvckJ1dHRvbih7XG4gICAgICAgIGlzTW9iaWxlLFxuICAgICAgICBoYXNDaGlsZHJlbjogISFpdGVtLmNoaWxkcmVuXG4gICAgICB9KVxuICAgICAgICA/IGl0ZW0udGFyZ2V0IVxuICAgICAgICA6ICcnXG4gICAgXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlQ2hpbGRyZW4oaXRlbSlcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbGVtZW50VGVtcGxhdGU7IGNvbnRleHQ6IHsgZWxlbWVudDogaXRlbSwgaXNNb2JpbGUgfVwiXG4gICAgLz5cbiAgICBAaWYgKCEhaXRlbS5jaGlsZHJlbikge1xuICAgICAgPGJtYi1pY29uXG4gICAgICAgIGNsYXNzPVwiYm1iX3NpZGViYXItYXJyb3dcIlxuICAgICAgICBbaWNvbl09XCJcbiAgICAgICAgICAhaXNNb2JpbGUgJiYgcG9zaXRpb24oKSA9PT0gJ3JpZ2h0JyA/ICdjaGV2cm9uX2xlZnQnIDogJ2NoZXZyb25fcmlnaHQnXG4gICAgICAgIFwiXG4gICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgIC8+XG4gICAgfVxuICA8L2JtYi1jaGVjay1leHRlcm5hbC1saW5rLWJ1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gVGVtcGxhdGUgZm9yIG5hdmlnYXRpb24gLS0+XG48bmctdGVtcGxhdGUgI3NpZGViYXJUZW1wbGF0ZSBsZXQtbGV2ZWw9XCJsZXZlbFwiIGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCI+XG4gIEBmb3IgKGdyb3VwIG9mIGVsZW1lbnRzKCkuc2xpY2UoMCwgMik7IHRyYWNrICRpbmRleCkge1xuICAgIDx1bCBjbGFzcz1cImJtYl9zaWRlYmFyLWxpc3RcIj5cbiAgICAgIEBmb3IgKGVsZW1lbnQgb2YgZ3JvdXAuc2xpY2UoMCwgNSk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8bGlcbiAgICAgICAgICBjbGFzcz1cImJtYl9zaWRlYmFyLWl0ZW1cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdibWJfc2lkZWJhci1pdGVtLWxlZnQtc3BhY2UnOlxuICAgICAgICAgICAgICBwb3NpdGlvbigpID09PSAncmlnaHQnICYmIGhhc1N1Ym1lbnUgJiYgIWVsZW1lbnQuY2hpbGRyZW4/Lmxlbmd0aFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCJjaGVja1RvQ2xvc2VTaWRlYmFyKGVsZW1lbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgIGl0ZW1zVGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHsgaXRlbTogZWxlbWVudCwgaXNNb2JpbGUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIEBpZiAoISFlbGVtZW50LmNoaWxkcmVuICYmIGxldmVsID09PSAxKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgc2lkZWJhckVsZW1lbnRUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICBlbGVtZW50OiBlbGVtZW50LFxuICAgICAgICAgICAgICAgICAgaWNvblNpemU6IDI0LFxuICAgICAgICAgICAgICAgICAgaXNGaXhlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgaXNNb2JpbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI3NpZGViYXJFbGVtZW50VGVtcGxhdGVcbiAgbGV0LWVsZW1lbnQ9XCJlbGVtZW50XCJcbiAgbGV0LWljb25TaXplPVwiaWNvblNpemVcIlxuICBsZXQtbGV2ZWw9XCJsZXZlbFwiXG4gIGxldC1pc0hlYWRlcj1cImlzSGVhZGVyXCJcbiAgbGV0LWlzRml4ZWQ9XCJpc0ZpeGVkXCJcbiAgbGV0LXNlbGVjdGVkRWxlbWVudD1cInNlbGVjdGVkRWxlbWVudFwiXG4gIGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCJcbj5cbiAgQGlmIChsZXZlbCA9PSAxICYmIGlzTW9iaWxlKSB7XG4gICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci1tb2JpbGUtYnV0dG9uXCJcbiAgICAgIGlkRWxlbWVudD1cInNpZGViYXJfbWFpblwiXG4gICAgICBpY29uPVwiY2hldnJvbl9yaWdodFwiXG4gICAgICBbaWNvblNpemVdPVwiaWNvblNpemVcIlxuICAgICAgdG9nZ2xlSWNvbkFjdGl2ZT1cImNoZXZyb25fbGVmdFwiXG4gICAgICBbaXNBY2NlbnRDb2xvcl09XCJmYWxzZVwiXG4gICAgICBbKGlzVG9nZ2xlQWN0aXZlKV09XCJpc09wZW5cIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cImNsZWFyU2VsZWN0RWxlbWVudCgpXCJcbiAgICAvPlxuICB9XG4gIDxzZWN0aW9uXG4gICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnYm1iX3NpZGViYXItY2hpbGRyZW4nOiBsZXZlbCA+PSAyICYmICEhZWxlbWVudC5jaGlsZHJlbixcbiAgICAgICdibWJfc2lkZWJhci1jaGlsZHJlbi1vcGVuJzpcbiAgICAgICAgbGV2ZWwgPj0gMiAmJiAhIWVsZW1lbnQuY2hpbGRyZW4gJiYgc2VsZWN0ZWRFbGVtZW50ID09PSBlbGVtZW50LFxuICAgICAgJ2JtYl9zaWRlYmFyLW9wZW4nOiBpc01vYmlsZSAmJiBsZXZlbCA9PSAxICYmIGlzT3BlbixcbiAgICAgIGJtYl9zaWRlYmFyOiBpc01vYmlsZSAmJiBsZXZlbCA9PSAxLFxuICAgICAgJ2JtYl9zaWRlYmFyLW1vYmlsZSc6IGlzTW9iaWxlICYmIGxldmVsID09IDFcbiAgICB9XCJcbiAgPlxuICAgIEBpZiAoaXNPcGVuKSB7XG4gICAgICA8c2VjdGlvblxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLWhlYWRlcic6IGxldmVsID09IDEsXG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLXRpdGxlJzogbGV2ZWwgPj0gMlxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChsZXZlbCA+PSAyICYmICEhc2VsZWN0ZWRFbGVtZW50KSB7XG4gICAgICAgICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci10aXRsZS1idXR0b25cIlxuICAgICAgICAgICAgW2lkRWxlbWVudF09XCJlbGVtZW50LmlkLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb25fbGVmdFwiXG4gICAgICAgICAgICBbaWNvblNpemVdPVwiMjRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUNoaWxkcmVuKGVsZW1lbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGVsZW1lbnRUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAgICAgaXNIZWFkZXI6IHRydWUsXG4gICAgICAgICAgICAgIGlzRml4ZWQsXG4gICAgICAgICAgICAgIGhhc0NoaWxkcmVuOiAhIWVsZW1lbnQuY2hpbGRyZW5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBcIlxuICAgICAgICAvPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICBAaWYgKGxldmVsID09IDEpIHtcbiAgICAgICAgPCEtLSBNZW51IC0tPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlYmFyVGVtcGxhdGU7IGNvbnRleHQ6IHsgbGV2ZWwsIGlzTW9iaWxlIH1cIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxldmVsID49IDIgJiYgISFlbGVtZW50LmNoaWxkcmVuKSB7XG4gICAgICA8dWwgY2xhc3M9XCJibWJfc2lkZWJhci1saXN0XCI+XG4gICAgICAgIEBmb3IgKGNoaWxkIG9mIGVsZW1lbnQ/LmNoaWxkcmVuPy5zbGljZSgwLCA2KTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwiYm1iX3NpZGViYXItaXRlbVwiIChjbGljayk9XCJjaGVja1RvQ2xvc2VTaWRlYmFyKGNoaWxkKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIGl0ZW1zVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBjaGlsZCwgaXNNb2JpbGUsIGlzQ2hpbGQ6IHRydWUgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIH1cbiAgPC9zZWN0aW9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBXZWIgLS0+XG48bmF2XG4gICNzaWRlTmF2XG4gIGNsYXNzPVwiYm1iX3NpZGViYXIgYm1iX3NpZGViYXItZGVza3RvcFwiXG4gIGFyaWEtbGFiZWw9XCJTaWRlYmFyIE5hdmlnYXRpb25cIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2JtYi1hY3RpdmUnOiBpc0FjdGl2ZSxcbiAgICAnYm1iX3NpZGViYXItZGVza3RvcC1yaWdodCc6IHBvc2l0aW9uKCkgPT09ICdyaWdodCdcbiAgfVwiXG4gIChtb3VzZWxlYXZlKT1cImNsZWFyU2VsZWN0RWxlbWVudCgpXCJcbj5cbiAgPGRpdiBbdGFiSW5kZXhdPVwiLTFcIiBjbGFzcz1cImJtYl9zaWRlYmFyLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBzaWRlYmFyVGVtcGxhdGU7XG4gICAgICAgIGNvbnRleHQ6IHsgbGV2ZWw6IDEsIGlzTW9iaWxlOiBmYWxzZSB9XG4gICAgICBcIlxuICAgIC8+XG4gIDwvZGl2PlxuPC9uYXY+XG5cbjwhLS0gTW9iaWxlIC0tPlxuPG5hdiBjbGFzcz1cImJtYl9zaWRlYmFyLW1vYmlsZVwiIGFyaWEtbGFiZWw9XCJTaWRlYmFyIE5hdmlnYXRpb25cIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBzaWRlYmFyRWxlbWVudFRlbXBsYXRlO1xuICAgICAgY29udGV4dDoge1xuICAgICAgICBlbGVtZW50OiB7XG4gICAgICAgICAgdGl0bGU6IHRpdGxlKClcbiAgICAgICAgfSxcbiAgICAgICAgaWNvblNpemU6IDMyLFxuICAgICAgICBpc0hlYWRlcjogdHJ1ZSxcbiAgICAgICAgaXNGaXhlZDogdHJ1ZSxcbiAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgIGlzTW9iaWxlOiB0cnVlXG4gICAgICB9XG4gICAgXCJcbiAgLz5cbjwvbmF2PlxuIl19