1"use strict";(self.webpackChunkmain=self.webpackChunkmain||[]).push([[674],{90674:function(e,t,i){i.d(t,{headerManager:function(){return d}});var a=i(26678),n=i.n(a),s=i(59828),o=i(23840);const l=1079,d=new class{constructor(){this.state={menuData:{},smallHeaderClassName:"b_header--small",initMobile:!1,initDesktop:!1,component:{mainMenu:()=>{},mobileMenu:()=>{}},header:{}},this.menuData=this.injectMenuJson(),this.initialize()}async initialize(){n().component("MainMenu",(e=>this.state.component.mainMenu=e)),n().component("MobileMenu",(e=>this.state.component.mobileMenu=e));const e=this;this.state.header=new(n())({el:"#bJS_header",data:()=>({menu:{},headerSmall:!1,headerDisabled:!1,oldScrollPos:0,smallHeaderOffset:100,disableScrollHandling:!1,timeoutScroll:()=>{},timeoutResize:()=>{},showToggleMobileMenu:!1,mobileSearchOpen:!1,mobileMenuOpen:!1,mobileMenuTrigger:null,mobileLanguageMenuOpen:!1,searchInputSetFocus:window.innerWidth>=1024,cachedWindowWidth:0,user:s.A,hasDesktopMenu:this.state.initDesktop}),created(){this.handleResize(),window.addEventListener("resize",this.handleResize),window.addEventListener("scroll",this.handleScroll),this.$on("mobile-menu-ready",(()=>this.$data.showToggleMobileMenu=!0)),this.$on("disableHeaderScrolling",(()=>this.$data.disableScrollHandling=!0)),this.$on("mobile-menu-changed",(e=>{this.$data.mobileMenuOpen=e,!e&&this.$data.mobileMenuTrigger&&this.$data.mobileMenuTrigger.focus()})),this.$on("language-menu-dropdown-open",(e=>{this.$data.mobileLanguageMenuOpen=e,e&&(this.$data.mobileSearchOpen=!1,this.$refs.mobileMenu.closeMenu())})),this.$on("enableHeaderScrolling",(()=>{window.setTimeout((()=>{this.$data.disableScrollHandling=!1}),300)}))},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll),window.removeEventListener("resize",this.handleResize)},methods:{handleResize(){window.clearTimeout(this.timeoutResize),this.timeoutResize=window.setTimeout((()=>{this.$data.cachedWindowWidth!==window.innerWidth&&(this.$data.cachedWindowWidth=window.innerWidth,this.$data.headerSmall=window.innerWidth<l,!e.state.initMobile&&window.innerWidth<l&&(e.state.initMobile=!0,e.initMobileMenu()),!e.state.initDesktop&&window.innerWidth>=l&&(e.state.initDesktop=!0,e.initDesktopMenu()),this.$data.mobileSearchOpen=!1)}),150)},handleScroll(){this.$data.disableScrollHandling?this.$data.oldScrollPos=0:(window.clearTimeout(this.$data.timeoutScroll),this.$data.timeoutScroll=window.setTimeout((()=>{this.$data.headerSmall=this.$data.oldScrollPos<=window.pageYOffset&&this.$data.smallHeaderOffset<=window.pageYOffset,this.$data.oldScrollPos=window.pageYOffset}),150))},toggleMobileMenu(e){this.$data.mobileMenuTrigger=e.currentTarget,this.$data.mobileSearchOpen=!1,this.$data.mobileLanguageMenuOpen=!1,this.$refs.mobileMenu.toggleMenu()},toggleMobileSearch(){this.$refs.mobileMenu.closeMenu(),this.$data.mobileLanguageMenuOpen=!1,this.$data.mobileSearchOpen=!this.$data.mobileSearchOpen}}}),this.state.header.$data.menu=await this.injectMenuJson()}async initDesktopMenu(){const[e]=await Promise.all([Promise.all([i.e(7451),i.e(2500)]).then(i.bind(i,32500))]);this.state.component.mainMenu(e.default),this.state.header.$data.hasDesktopMenu=!0}async initMobileMenu(){const e=await Promise.all([i.e(7451),i.e(6917)]).then(i.bind(i,36917));this.state.component.mobileMenu(e.default)}async injectMenuJson(){try{const e=await this.getData(),t=o.D.getJsonData("rootLine");if(t.length>0&&e.hasOwnProperty(t[0])){let i={...e[t[0]],isActive:!0,isCurrent:1===t.length};t.length>1&&(i=this.setMenuActiveAndCurrentState(i,t.splice(1),t[t.length-1])),e[t[0]]=i}return e}catch(e){console.error(e)}}async getData(){try{const e=await fetch(o.D.getJsonData("menu"));return await e.json()}catch(e){throw e}}setMenuActiveAndCurrentState(e={},t,i){return t.length>0&&e.subPages.length>0&&Object.keys(e.subPages[t[0]]).length>0&&(e.subPages[t[0]]={...e.subPages[t[0]],isActive:!0,isCurrent:e.subPages[t[0]].uid===i},this.setMenuActiveAndCurrentState(e.subPages[t[0]],t.splice(1),i)),e}disable(){this.state.header.$data.headerDisabled=!0}enable(){this.state.header.$data.headerDisabled=!1}disableToggleByScrolling(){this.state.header.$data.disableScrollHandling=!0}enableToggleByScrolling(){this.state.header.$data.disableScrollHandling=!1}async getApplicationMenuData(){const e=await this.menuData,t=o.D.getPageId("applications");
1return t in e?e[t]:Promise.reject()}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.