{"version":3,"file":"Navigation.js","names":["MOBILE_BREAKPOINT","CONFIG","anchoreOffsetTop","Navigation","navigationRootElement","Error","$root","$","$header","closest","$searchBtn","find","$searchBtnWrapper","headerClientRect","undefined","mobileNav","deactivateFocusTrap","init","myArtemisDropdown","length","topLevelSubMenuIndicator","keyboardNavigation","MobileNavigation","create","initEvents","onWindowResize","closeFocusedSelectDropdown","scrollToAnchorPosition","on","e","document","trigger","window","_","throttle","bind","onScroll","leading","location","hash","replace","offset","scrollTo","top","links","filter","addClass","anchors","each","i","element","prepend","createElement","text","Number","toFixed","allAnchors","expandableAnchors","isOutsideFocusHandlerEnabled","outsideFocusHandler","contains","target","removeClass","setOutsideFocusHandler","enabled","off","which","currentTarget","parent","toggleClass","preventDefault","stopImmediatePropagation","openedItems","parentsUntil","openedItemsSet","Set","_i","has","getBoundingClientRect","navigationAnimationInProgress","width","pageYOffset","height","fixedMode","querySelector","style","setProperty","transform","a","setTimeout","requestAnimationFrame","$helper","$siteCover","self","toggle","open","wasOpen","hasClass","handleOutsideClickOrFocus","localStorage","showDropdownHelper","activateFocusTrap","getElementsByClassName","wrappingElement","key","type","hide","initDefault"],"sources":["components/Navigation.js"],"sourcesContent":["import $ from 'jquery';\r\nimport {MobileNavigation} from './MobileNavigation';\r\nimport activateFocusTrap from '../utils/focusTrap';\r\n\r\nconst MOBILE_BREAKPOINT = 992;\r\nconst CONFIG = {\r\n anchoreOffsetTop: 70\r\n};\r\n\r\n/**\r\n * Controls navigation functionality\r\n */\r\nexport class Navigation {\r\n\r\n /**\r\n *\r\n * @param {string|HTMLElement|jQuery} navigationRootElement\r\n */\r\n constructor(navigationRootElement) {\r\n\r\n if (!navigationRootElement) {\r\n throw new Error('Navigation root element must be specified');\r\n }\r\n\r\n /**\r\n *\r\n * @type {jQuery}\r\n */\r\n this.$root = $(navigationRootElement);\r\n\r\n /**\r\n *\r\n * @type {jQuery}\r\n */\r\n this.$header = this.$root.closest('.ar-header');\r\n\r\n /**\r\n *\r\n * @type {jQuery}\r\n */\r\n this.$searchBtn = this.$header.find('.ar-nav-search-btn');\r\n\r\n /**\r\n *\r\n * @type {jQuery}\r\n */\r\n this.$searchBtnWrapper = this.$header.find('.ar-nav-search-wrap');\r\n\r\n /**\r\n *\r\n * @type {ClientRect}\r\n */\r\n this.headerClientRect = undefined;\r\n\r\n /**\r\n * @type {MobileNavigation}\r\n */\r\n this.mobileNav = undefined;\r\n\r\n this.deactivateFocusTrap = undefined;\r\n\r\n this.init();\r\n }\r\n\r\n /**\r\n *\r\n */\r\n init() {\r\n this.myArtemisDropdown(); //TODO: This shouldn't be in this file!\r\n if(!this.$header.length) return;\r\n\r\n //Numbering is not longer desired.\r\n //this.topLevelLinkNumbering();\r\n this.topLevelSubMenuIndicator();\r\n this.keyboardNavigation();\r\n\r\n this.mobileNav = MobileNavigation.create();\r\n\r\n this.initEvents();\r\n\r\n this.onWindowResize();\r\n\r\n this.closeFocusedSelectDropdown();\r\n\r\n this.scrollToAnchorPosition();\r\n }\r\n\r\n closeFocusedSelectDropdown() {\r\n // close any opened native select to avoid hiding menu items under options of the select (native select bug on windows)\r\n this.$root.on(\"mouseenter\", function (e) {\r\n $(document).find('.ar-custom-select select:focus').trigger('blur');\r\n })\r\n }\r\n\r\n initEvents(){\r\n $(window)\r\n .on('resize', _.throttle(this.onWindowResize.bind(this), 150))\r\n .on('scroll', _.throttle(this.onScroll.bind(this), 50, {leading: true}));\r\n }\r\n\r\n /**\r\n *\r\n */\r\n\r\n scrollToAnchorPosition() {\r\n if(window.location.hash.length > 0 && window.location.hash !== \"#sessionrestored\" && $('[name='+window.location.hash.replace('#','')+']').offset()) {\r\n window.scrollTo(0, $('[name='+window.location.hash.replace('#','')+']').offset().top - CONFIG.anchoreOffsetTop);\r\n }\r\n }\r\n\r\n /**\r\n *\r\n */\r\n topLevelSubMenuIndicator() {\r\n var links = this.$root.find('> ul li').filter(':has(> ul)');\r\n\r\n links.addClass('has-children');\r\n }\r\n\r\n /**\r\n *\r\n */\r\n topLevelLinkNumbering() {\r\n var anchors = this.$root.find('> ul > li > a');\r\n\r\n anchors.each(function (i, element) {\r\n $(this).prepend($(document.createElement('span')).text(Number(i + 1).toFixed(1)).addClass('nav-count'));\r\n });\r\n }\r\n\r\n /**\r\n *\r\n */\r\n keyboardNavigation() {\r\n const allAnchors = this.$root.find('a');\r\n const expandableAnchors = this.$root.find('li.has-children > a');\r\n\r\n let isOutsideFocusHandlerEnabled = false;\r\n const outsideFocusHandler =(e) => {\r\n if (this.$root[0].contains(e.target)) return;\r\n this.$root.find('li.open').removeClass('open');\r\n setOutsideFocusHandler(false);\r\n };\r\n const setOutsideFocusHandler = (enabled) => {\r\n if (enabled === isOutsideFocusHandlerEnabled) return;\r\n\r\n isOutsideFocusHandlerEnabled = enabled;\r\n \r\n if (enabled) {\r\n $(document).on('click focusin', outsideFocusHandler);\r\n } else {\r\n $(document).off('click focusin', outsideFocusHandler);\r\n }\r\n };\r\n\r\n expandableAnchors.on('keydown', (e) => {\r\n if (e.which === 32) {\r\n $(e.currentTarget).parent('li').toggleClass('open');\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n setOutsideFocusHandler(this.$root.find('li.open').length !== 0);\r\n return false;\r\n }\r\n });\r\n\r\n // Close open submenus as the user tabs out of them\r\n allAnchors.on('focus', (e) => {\r\n const openedItems = $(e.currentTarget)\r\n .closest('li')\r\n .parentsUntil('.ar-header-primary-nav', 'li')\r\n .addClass('open');\r\n const openedItemsSet = new Set(openedItems);\r\n \r\n this.$root.find('li.open').filter((_i, element) => !openedItemsSet.has(element)).removeClass('open');\r\n setOutsideFocusHandler(true);\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {jQuery.Event} e\r\n */\r\n onWindowResize(e) {\r\n this.headerClientRect = this.$header[0].getBoundingClientRect();\r\n this.onScroll();\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param {jQuery.Event} e\r\n */\r\n onScroll(e) {\r\n if (this.navigationAnimationInProgress || this.headerClientRect.width < MOBILE_BREAKPOINT) {\r\n return;\r\n }\r\n\r\n if (window.pageYOffset > this.headerClientRect.height && !this.fixedMode) {\r\n this.navigationAnimationInProgress = true;\r\n\r\n this.fixedMode = true;\r\n this.$header.addClass('ar-fixed-menu');\r\n\r\n document.querySelector(':root').style.setProperty('--header-height', `${this.headerClientRect.height}px`);\r\n\r\n this.$header[0].style.transform = `translate3d(0,-${this.headerClientRect.height}px,0)`;\r\n this.$header[0].style['-webkit-transform'] = `translate3d(0,-${this.headerClientRect.height}px,0)`;\r\n\r\n var a = this.$header[0].getBoundingClientRect();\r\n\r\n this.$header.addClass('animate-on-transforms');\r\n\r\n //Play animation\r\n this.$header[0].style.transform = `translate3d(0,0,0)`;\r\n this.$header[0].style['-webkit-transform'] = `translate3d(0,0,0)`;\r\n\r\n setTimeout(()=> {\r\n this.$header.removeClass('animate-on-transforms');\r\n this.navigationAnimationInProgress = false;\r\n this.headerClientRect = this.$header[0].getBoundingClientRect();\r\n\r\n }, 200);\r\n }\r\n if (window.pageYOffset <= this.headerClientRect.height && this.fixedMode) {\r\n this.navigationAnimationInProgress = true;\r\n this.fixedMode = false;\r\n\r\n this.$header[0].style.top = '-' + this.headerClientRect.height + 'px';\r\n\r\n this.$header[0].style.transform = `translate3d(0,${this.headerClientRect.height}px,0)`;\r\n this.$header[0].style['-webkit-transform'] = `translate3d(0,${this.headerClientRect.height}px,0)`;\r\n\r\n this.headerClientRect = this.$header[0].getBoundingClientRect();\r\n\r\n\r\n requestAnimationFrame(() => {\r\n //Play animation\r\n this.$header.addClass('animate-on-transforms');\r\n this.$header[0].style.transform = `translate3d(0,0,0)`;\r\n this.$header[0].style['-webkit-transform'] = `translate3d(0,0,0)`;\r\n\r\n setTimeout(()=> {\r\n this.$header.removeClass('animate-on-transforms');\r\n this.$header[0].style.top = '0px';\r\n this.$header.removeClass('ar-fixed-menu');\r\n document.querySelector(':root').style.setProperty('--header-height', null);\r\n\r\n this.$header[0].style.transform = `translate3d(0,-${this.headerClientRect.height + 20}px,0)`;\r\n this.$header[0].style['-webkit-transform'] = `translate3d(0,-${this.headerClientRect.height + 20}px,0)`;\r\n\r\n this.headerClientRect = this.$header[0].getBoundingClientRect();\r\n\r\n requestAnimationFrame(() => {\r\n this.$header.addClass('animate-on-transforms');\r\n this.$header[0].style.transform = `translate3d(0,0,0)`;\r\n this.$header[0].style['-webkit-transform'] = `translate3d(0,0,0)`;\r\n\r\n setTimeout(()=> {\r\n this.$header.removeClass('animate-on-transforms');\r\n this.headerClientRect = this.$header[0].getBoundingClientRect();\r\n this.navigationAnimationInProgress = false;\r\n\r\n\r\n }, 205);\r\n });\r\n }, 205);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n *\r\n */\r\n myArtemisDropdown() {\r\n var $helper = $('.ar-myartemis-dropdown-helper');\r\n var $siteCover = $('.site-cover');\r\n var self = this;\r\n\r\n function toggle(open) {\r\n var wasOpen = $('body').hasClass('display-myartemis-dropdown');\r\n\r\n if (open === wasOpen) {\r\n return false;\r\n }\r\n\r\n $('body').toggleClass('display-myartemis-dropdown', !wasOpen);\r\n $('.ar-header-account-arrow__inner').toggleClass('arrrow-up', !wasOpen);\r\n\r\n if (wasOpen) {\r\n self.deactivateFocusTrap && self.deactivateFocusTrap();\r\n $(document).off('click focusin', handleOutsideClickOrFocus);\r\n } else {\r\n if (localStorage.showDropdownHelper === 'false') {\r\n self.deactivateFocusTrap = activateFocusTrap(document.getElementsByClassName('ar-myartemis-dropdown')[0])\r\n } else {\r\n self.deactivateFocusTrap = activateFocusTrap(document.getElementsByClassName('ar-myartemis-dropdown-helper')[0]);\r\n $('.ar-myartemis-dropdown-helper__cta').trigger('focus');\r\n }\r\n $(document).on('click focusin', handleOutsideClickOrFocus);\r\n }\r\n return true;\r\n }\r\n\r\n function handleOutsideClickOrFocus(e) {\r\n const wrappingElement = document.getElementsByClassName('ar-header-account-logged-in')[0];\r\n\r\n if (wrappingElement && !wrappingElement.contains(e.target)) {\r\n toggle(false);\r\n }\r\n }\r\n\r\n $('.ar-myartemis-dropdown').on('keydown', (e) => {\r\n if (e.key !== 'Escape') return true;\r\n return !toggle(false);\r\n });\r\n\r\n $('.ar-header-account-badge, .ar-myartemis-link--close').on('click keydown', function(e) {\r\n if (e.type === 'keydown' && e.key !== 'Enter') return true;\r\n toggle();\r\n return false;\r\n });\r\n\r\n $('.ar-myartemis-dropdown-helper__cta').on('click keypress', function(e) {\r\n if (e.type === 'keypress' && e.which !== 13) {\r\n return true;\r\n }\r\n localStorage.showDropdownHelper = 'false';\r\n self.deactivateFocusTrap && self.deactivateFocusTrap();\r\n $helper.hide();\r\n $siteCover.hide();\r\n self.deactivateFocusTrap = activateFocusTrap(document.getElementsByClassName('ar-myartemis-dropdown')[0])\r\n });\r\n\r\n if (localStorage.showDropdownHelper === 'false') {\r\n $helper.hide();\r\n $siteCover.hide();\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n/**\r\n * Static convenvience method\r\n */\r\nNavigation.initDefault = function () {\r\n return new Navigation('.ar-header-primary-nav');\r\n};"],"mappings":";;;;;;AAAA;AACA;AACA;AAAmD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEnD,IAAMA,iBAAiB,GAAG,GAAG;AAC7B,IAAMC,MAAM,GAAG;EACXC,gBAAgB,EAAE;AACtB,CAAC;;AAED;AACA;AACA;AAFA,IAGaC,UAAU;EAEnB;AACJ;AACA;AACA;EACI,oBAAYC,qBAAqB,EAAE;IAAA;IAE/B,IAAI,CAACA,qBAAqB,EAAE;MACxB,MAAM,IAAIC,KAAK,CAAC,2CAA2C,CAAC;IAChE;;IAEA;AACR;AACA;AACA;IACQ,IAAI,CAACC,KAAK,GAAG,IAAAC,kBAAC,EAACH,qBAAqB,CAAC;;IAErC;AACR;AACA;AACA;IACQ,IAAI,CAACI,OAAO,GAAG,IAAI,CAACF,KAAK,CAACG,OAAO,CAAC,YAAY,CAAC;;IAE/C;AACR;AACA;AACA;IACQ,IAAI,CAACC,UAAU,GAAG,IAAI,CAACF,OAAO,CAACG,IAAI,CAAC,oBAAoB,CAAC;;IAEzD;AACR;AACA;AACA;IACQ,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACJ,OAAO,CAACG,IAAI,CAAC,qBAAqB,CAAC;;IAEjE;AACR;AACA;AACA;IACQ,IAAI,CAACE,gBAAgB,GAAGC,SAAS;;IAEjC;AACR;AACA;IACQ,IAAI,CAACC,SAAS,GAAGD,SAAS;IAE1B,IAAI,CAACE,mBAAmB,GAAGF,SAAS;IAEpC,IAAI,CAACG,IAAI,EAAE;EACf;;EAEA;AACJ;AACA;EAFI;IAAA;IAAA,OAGA,gBAAO;MACH,IAAI,CAACC,iBAAiB,EAAE,CAAC,CAAC;MAC1B,IAAG,CAAC,IAAI,CAACV,OAAO,CAACW,MAAM,EAAE;;MAEzB;MACA;MACA,IAAI,CAACC,wBAAwB,EAAE;MAC/B,IAAI,CAACC,kBAAkB,EAAE;MAEzB,IAAI,CAACN,SAAS,GAAGO,kCAAgB,CAACC,MAAM,EAAE;MAE1C,IAAI,CAACC,UAAU,EAAE;MAEjB,IAAI,CAACC,cAAc,EAAE;MAErB,IAAI,CAACC,0BAA0B,EAAE;MAEjC,IAAI,CAACC,sBAAsB,EAAE;IACjC;EAAC;IAAA;IAAA,OAED,sCAA6B;MACzB;MACA,IAAI,CAACrB,KAAK,CAACsB,EAAE,CAAC,YAAY,EAAE,UAAUC,CAAC,EAAE;QACrC,IAAAtB,kBAAC,EAACuB,QAAQ,CAAC,CAACnB,IAAI,CAAC,gCAAgC,CAAC,CAACoB,OAAO,CAAC,MAAM,CAAC;MACtE,CAAC,CAAC;IACN;EAAC;IAAA;IAAA,OAED,sBAAY;MACR,IAAAxB,kBAAC,EAACyB,MAAM,CAAC,CACJJ,EAAE,CAAC,QAAQ,EAAEK,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACT,cAAc,CAACU,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAC7DP,EAAE,CAAC,QAAQ,EAAEK,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACE,QAAQ,CAACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE;QAACE,OAAO,EAAE;MAAI,CAAC,CAAC,CAAC;IAChF;;IAEA;AACJ;AACA;EAFI;IAAA;IAAA,OAIA,kCAAyB;MACrB,IAAGL,MAAM,CAACM,QAAQ,CAACC,IAAI,CAACpB,MAAM,GAAG,CAAC,IAAIa,MAAM,CAACM,QAAQ,CAACC,IAAI,KAAK,kBAAkB,IAAI,IAAAhC,kBAAC,EAAC,QAAQ,GAACyB,MAAM,CAACM,QAAQ,CAACC,IAAI,CAACC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,GAAC,GAAG,CAAC,CAACC,MAAM,EAAE,EAAE;QAChJT,MAAM,CAACU,QAAQ,CAAC,CAAC,EAAE,IAAAnC,kBAAC,EAAC,QAAQ,GAACyB,MAAM,CAACM,QAAQ,CAACC,IAAI,CAACC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,GAAC,GAAG,CAAC,CAACC,MAAM,EAAE,CAACE,GAAG,GAAG1C,MAAM,CAACC,gBAAgB,CAAC;MACnH;IACJ;;IAEA;AACJ;AACA;EAFI;IAAA;IAAA,OAGA,oCAA2B;MACvB,IAAI0C,KAAK,GAAG,IAAI,CAACtC,KAAK,CAACK,IAAI,CAAC,SAAS,CAAC,CAACkC,MAAM,CAAC,YAAY,CAAC;MAE3DD,KAAK,CAACE,QAAQ,CAAC,cAAc,CAAC;IAClC;;IAEA;AACJ;AACA;EAFI;IAAA;IAAA,OAGA,iCAAwB;MACpB,IAAIC,OAAO,GAAG,IAAI,CAACzC,KAAK,CAACK,IAAI,CAAC,eAAe,CAAC;MAE9CoC,OAAO,CAACC,IAAI,CAAC,UAAUC,CAAC,EAAEC,OAAO,EAAE;QAC/B,IAAA3C,kBAAC,EAAC,IAAI,CAAC,CAAC4C,OAAO,CAAC,IAAA5C,kBAAC,EAACuB,QAAQ,CAACsB,aAAa,CAAC,MAAM,CAAC,CAAC,CAACC,IAAI,CAACC,MAAM,CAACL,CAAC,GAAG,CAAC,CAAC,CAACM,OAAO,CAAC,CAAC,CAAC,CAAC,CAACT,QAAQ,CAAC,WAAW,CAAC,CAAC;MAC3G,CAAC,CAAC;IACN;;IAEA;AACJ;AACA;EAFI;IAAA;IAAA,OAGA,8BAAqB;MAAA;MACjB,IAAMU,UAAU,GAAG,IAAI,CAAClD,KAAK,CAACK,IAAI,CAAC,GAAG,CAAC;MACvC,IAAM8C,iBAAiB,GAAG,IAAI,CAACnD,KAAK,CAACK,IAAI,CAAC,qBAAqB,CAAC;MAEhE,IAAI+C,4BAA4B,GAAG,KAAK;MACxC,IAAMC,mBAAmB,GAAE,SAArBA,mBAAmB,CAAG9B,CAAC,EAAK;QAC9B,IAAI,KAAI,CAACvB,KAAK,CAAC,CAAC,CAAC,CAACsD,QAAQ,CAAC/B,CAAC,CAACgC,MAAM,CAAC,EAAE;QACtC,KAAI,CAACvD,KAAK,CAACK,IAAI,CAAC,SAAS,CAAC,CAACmD,WAAW,CAAC,MAAM,CAAC;QAC9CC,sBAAsB,CAAC,KAAK,CAAC;MACjC,CAAC;MACD,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAsB,CAAIC,OAAO,EAAK;QACxC,IAAIA,OAAO,KAAKN,4BAA4B,EAAE;QAE9CA,4BAA4B,GAAGM,OAAO;QAEtC,IAAIA,OAAO,EAAE;UACT,IAAAzD,kBAAC,EAACuB,QAAQ,CAAC,CAACF,EAAE,CAAC,eAAe,EAAE+B,mBAAmB,CAAC;QACxD,CAAC,MAAM;UACH,IAAApD,kBAAC,EAACuB,QAAQ,CAAC,CAACmC,GAAG,CAAC,eAAe,EAAEN,mBAAmB,CAAC;QACzD;MACJ,CAAC;MAEDF,iBAAiB,CAAC7B,EAAE,CAAC,SAAS,EAAE,UAACC,CAAC,EAAK;QACnC,IAAIA,CAAC,CAACqC,KAAK,KAAK,EAAE,EAAE;UAChB,IAAA3D,kBAAC,EAACsB,CAAC,CAACsC,aAAa,CAAC,CAACC,MAAM,CAAC,IAAI,CAAC,CAACC,WAAW,CAAC,MAAM,CAAC;UACnDxC,CAAC,CAACyC,cAAc,EAAE;UAClBzC,CAAC,CAAC0C,wBAAwB,EAAE;UAC5BR,sBAAsB,CAAC,KAAI,CAACzD,KAAK,CAACK,IAAI,CAAC,SAAS,CAAC,CAACQ,MAAM,KAAK,CAAC,CAAC;UAC/D,OAAO,KAAK;QAChB;MACJ,CAAC,CAAC;;MAEF;MACAqC,UAAU,CAAC5B,EAAE,CAAC,OAAO,EAAE,UAACC,CAAC,EAAK;QAC1B,IAAM2C,WAAW,GAAG,IAAAjE,kBAAC,EAACsB,CAAC,CAACsC,aAAa,CAAC,CACjC1D,OAAO,CAAC,IAAI,CAAC,CACbgE,YAAY,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAC5C3B,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAM4B,cAAc,GAAG,IAAIC,GAAG,CAACH,WAAW,CAAC;QAE3C,KAAI,CAAClE,KAAK,CAACK,IAAI,CAAC,SAAS,CAAC,CAACkC,MAAM,CAAC,UAAC+B,EAAE,EAAE1B,OAAO;UAAA,OAAK,CAACwB,cAAc,CAACG,GAAG,CAAC3B,OAAO,CAAC;QAAA,EAAC,CAACY,WAAW,CAAC,MAAM,CAAC;QACpGC,sBAAsB,CAAC,IAAI,CAAC;MAChC,CAAC,CAAC;IACN;;IAEA;AACJ;AACA;AACA;EAHI;IAAA;IAAA,OAIA,wBAAelC,CAAC,EAAE;MACd,IAAI,CAAChB,gBAAgB,GAAG,IAAI,CAACL,OAAO,CAAC,CAAC,CAAC,CAACsE,qBAAqB,EAAE;MAC/D,IAAI,CAAC1C,QAAQ,EAAE;IACnB;;IAGA;AACJ;AACA;AACA;EAHI;IAAA;IAAA,OAIA,kBAASP,CAAC,EAAE;MAAA;MACR,IAAI,IAAI,CAACkD,6BAA6B,IAAI,IAAI,CAAClE,gBAAgB,CAACmE,KAAK,GAAGhF,iBAAiB,EAAE;QACvF;MACJ;MAEA,IAAIgC,MAAM,CAACiD,WAAW,GAAG,IAAI,CAACpE,gBAAgB,CAACqE,MAAM,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;QACtE,IAAI,CAACJ,6BAA6B,GAAG,IAAI;QAEzC,IAAI,CAACI,SAAS,GAAG,IAAI;QACrB,IAAI,CAAC3E,OAAO,CAACsC,QAAQ,CAAC,eAAe,CAAC;QAEtChB,QAAQ,CAACsD,aAAa,CAAC,OAAO,CAAC,CAACC,KAAK,CAACC,WAAW,CAAC,iBAAiB,YAAK,IAAI,CAACzE,gBAAgB,CAACqE,MAAM,QAAK;QAEzG,IAAI,CAAC1E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAACE,SAAS,4BAAqB,IAAI,CAAC1E,gBAAgB,CAACqE,MAAM,UAAO;QACvF,IAAI,CAAC1E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC,mBAAmB,CAAC,4BAAqB,IAAI,CAACxE,gBAAgB,CAACqE,MAAM,UAAO;QAElG,IAAIM,CAAC,GAAG,IAAI,CAAChF,OAAO,CAAC,CAAC,CAAC,CAACsE,qBAAqB,EAAE;QAE/C,IAAI,CAACtE,OAAO,CAACsC,QAAQ,CAAC,uBAAuB,CAAC;;QAE9C;QACA,IAAI,CAACtC,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAACE,SAAS,uBAAuB;QACtD,IAAI,CAAC/E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC,mBAAmB,CAAC,uBAAuB;QAEjEI,UAAU,CAAC,YAAK;UACZ,MAAI,CAACjF,OAAO,CAACsD,WAAW,CAAC,uBAAuB,CAAC;UACjD,MAAI,CAACiB,6BAA6B,GAAG,KAAK;UAC1C,MAAI,CAAClE,gBAAgB,GAAG,MAAI,CAACL,OAAO,CAAC,CAAC,CAAC,CAACsE,qBAAqB,EAAE;QAEnE,CAAC,EAAE,GAAG,CAAC;MACX;MACA,IAAI9C,MAAM,CAACiD,WAAW,IAAI,IAAI,CAACpE,gBAAgB,CAACqE,MAAM,IAAI,IAAI,CAACC,SAAS,EAAE;QACtE,IAAI,CAACJ,6BAA6B,GAAG,IAAI;QACzC,IAAI,CAACI,SAAS,GAAG,KAAK;QAEtB,IAAI,CAAC3E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC1C,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC9B,gBAAgB,CAACqE,MAAM,GAAG,IAAI;QAErE,IAAI,CAAC1E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAACE,SAAS,2BAAoB,IAAI,CAAC1E,gBAAgB,CAACqE,MAAM,UAAO;QACtF,IAAI,CAAC1E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC,mBAAmB,CAAC,2BAAoB,IAAI,CAACxE,gBAAgB,CAACqE,MAAM,UAAO;QAEjG,IAAI,CAACrE,gBAAgB,GAAG,IAAI,CAACL,OAAO,CAAC,CAAC,CAAC,CAACsE,qBAAqB,EAAE;QAG/DY,qBAAqB,CAAC,YAAM;UACxB;UACA,MAAI,CAAClF,OAAO,CAACsC,QAAQ,CAAC,uBAAuB,CAAC;UAC9C,MAAI,CAACtC,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAACE,SAAS,uBAAuB;UACtD,MAAI,CAAC/E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC,mBAAmB,CAAC,uBAAuB;UAEjEI,UAAU,CAAC,YAAK;YACZ,MAAI,CAACjF,OAAO,CAACsD,WAAW,CAAC,uBAAuB,CAAC;YACjD,MAAI,CAACtD,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC1C,GAAG,GAAG,KAAK;YACjC,MAAI,CAACnC,OAAO,CAACsD,WAAW,CAAC,eAAe,CAAC;YACzChC,QAAQ,CAACsD,aAAa,CAAC,OAAO,CAAC,CAACC,KAAK,CAACC,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC;YAE1E,MAAI,CAAC9E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAACE,SAAS,4BAAqB,MAAI,CAAC1E,gBAAgB,CAACqE,MAAM,GAAG,EAAE,UAAO;YAC5F,MAAI,CAAC1E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC,mBAAmB,CAAC,4BAAqB,MAAI,CAACxE,gBAAgB,CAACqE,MAAM,GAAG,EAAE,UAAO;YAEvG,MAAI,CAACrE,gBAAgB,GAAG,MAAI,CAACL,OAAO,CAAC,CAAC,CAAC,CAACsE,qBAAqB,EAAE;YAE/DY,qBAAqB,CAAC,YAAM;cACxB,MAAI,CAAClF,OAAO,CAACsC,QAAQ,CAAC,uBAAuB,CAAC;cAC9C,MAAI,CAACtC,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAACE,SAAS,uBAAuB;cACtD,MAAI,CAAC/E,OAAO,CAAC,CAAC,CAAC,CAAC6E,KAAK,CAAC,mBAAmB,CAAC,uBAAuB;cAEjEI,UAAU,CAAC,YAAK;gBACZ,MAAI,CAACjF,OAAO,CAACsD,WAAW,CAAC,uBAAuB,CAAC;gBACjD,MAAI,CAACjD,gBAAgB,GAAG,MAAI,CAACL,OAAO,CAAC,CAAC,CAAC,CAACsE,qBAAqB,EAAE;gBAC/D,MAAI,CAACC,6BAA6B,GAAG,KAAK;cAG9C,CAAC,EAAE,GAAG,CAAC;YACX,CAAC,CAAC;UACN,CAAC,EAAE,GAAG,CAAC;QACX,CAAC,CAAC;MACN;IACJ;;IAEA;AACJ;AACA;EAFI;IAAA;IAAA,OAGA,6BAAoB;MAChB,IAAIY,OAAO,GAAG,IAAApF,kBAAC,EAAC,+BAA+B,CAAC;MAChD,IAAIqF,UAAU,GAAG,IAAArF,kBAAC,EAAC,aAAa,CAAC;MACjC,IAAIsF,IAAI,GAAG,IAAI;MAEf,SAASC,MAAM,CAACC,IAAI,EAAE;QAClB,IAAIC,OAAO,GAAG,IAAAzF,kBAAC,EAAC,MAAM,CAAC,CAAC0F,QAAQ,CAAC,4BAA4B,CAAC;QAE9D,IAAIF,IAAI,KAAKC,OAAO,EAAE;UAClB,OAAO,KAAK;QAChB;QAEA,IAAAzF,kBAAC,EAAC,MAAM,CAAC,CAAC8D,WAAW,CAAC,4BAA4B,EAAE,CAAC2B,OAAO,CAAC;QAC7D,IAAAzF,kBAAC,EAAC,iCAAiC,CAAC,CAAC8D,WAAW,CAAC,WAAW,EAAE,CAAC2B,OAAO,CAAC;QAEvE,IAAIA,OAAO,EAAE;UACTH,IAAI,CAAC7E,mBAAmB,IAAI6E,IAAI,CAAC7E,mBAAmB,EAAE;UACtD,IAAAT,kBAAC,EAACuB,QAAQ,CAAC,CAACmC,GAAG,CAAC,eAAe,EAAEiC,yBAAyB,CAAC;QAC/D,CAAC,MAAM;UACH,IAAIC,YAAY,CAACC,kBAAkB,KAAK,OAAO,EAAE;YAC7CP,IAAI,CAAC7E,mBAAmB,GAAG,IAAAqF,qBAAiB,EAACvE,QAAQ,CAACwE,sBAAsB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;UAC7G,CAAC,MAAM;YACHT,IAAI,CAAC7E,mBAAmB,GAAG,IAAAqF,qBAAiB,EAACvE,QAAQ,CAACwE,sBAAsB,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;YAChH,IAAA/F,kBAAC,EAAC,oCAAoC,CAAC,CAACwB,OAAO,CAAC,OAAO,CAAC;UAC5D;UACA,IAAAxB,kBAAC,EAACuB,QAAQ,CAAC,CAACF,EAAE,CAAC,eAAe,EAAEsE,yBAAyB,CAAC;QAC9D;QACA,OAAO,IAAI;MACf;MAEA,SAASA,yBAAyB,CAACrE,CAAC,EAAE;QAClC,IAAM0E,eAAe,GAAGzE,QAAQ,CAACwE,sBAAsB,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAEzF,IAAIC,eAAe,IAAI,CAACA,eAAe,CAAC3C,QAAQ,CAAC/B,CAAC,CAACgC,MAAM,CAAC,EAAE;UACxDiC,MAAM,CAAC,KAAK,CAAC;QACjB;MACJ;MAEA,IAAAvF,kBAAC,EAAC,wBAAwB,CAAC,CAACqB,EAAE,CAAC,SAAS,EAAE,UAACC,CAAC,EAAK;QAC7C,IAAIA,CAAC,CAAC2E,GAAG,KAAK,QAAQ,EAAE,OAAO,IAAI;QACnC,OAAO,CAACV,MAAM,CAAC,KAAK,CAAC;MACzB,CAAC,CAAC;MAEF,IAAAvF,kBAAC,EAAC,qDAAqD,CAAC,CAACqB,EAAE,CAAC,eAAe,EAAE,UAASC,CAAC,EAAE;QACrF,IAAIA,CAAC,CAAC4E,IAAI,KAAK,SAAS,IAAI5E,CAAC,CAAC2E,GAAG,KAAK,OAAO,EAAE,OAAO,IAAI;QAC1DV,MAAM,EAAE;QACR,OAAO,KAAK;MAChB,CAAC,CAAC;MAEF,IAAAvF,kBAAC,EAAC,oCAAoC,CAAC,CAACqB,EAAE,CAAC,gBAAgB,EAAE,UAASC,CAAC,EAAE;QACrE,IAAIA,CAAC,CAAC4E,IAAI,KAAK,UAAU,IAAI5E,CAAC,CAACqC,KAAK,KAAK,EAAE,EAAE;UACzC,OAAO,IAAI;QACf;QACAiC,YAAY,CAACC,kBAAkB,GAAG,OAAO;QACzCP,IAAI,CAAC7E,mBAAmB,IAAI6E,IAAI,CAAC7E,mBAAmB,EAAE;QACtD2E,OAAO,CAACe,IAAI,EAAE;QACdd,UAAU,CAACc,IAAI,EAAE;QACjBb,IAAI,CAAC7E,mBAAmB,GAAG,IAAAqF,qBAAiB,EAACvE,QAAQ,CAACwE,sBAAsB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7G,CAAC,CAAC;MAEF,IAAIH,YAAY,CAACC,kBAAkB,KAAK,OAAO,EAAE;QAC7CT,OAAO,CAACe,IAAI,EAAE;QACdd,UAAU,CAACc,IAAI,EAAE;MACrB;IACJ;EAAC;EAAA;AAAA;AAKL;AACA;AACA;AAFA;AAGAvG,UAAU,CAACwG,WAAW,GAAG,YAAY;EACjC,OAAO,IAAIxG,UAAU,CAAC,wBAAwB,CAAC;AACnD,CAAC"}