1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[14036],{4036(t,e,i){i.r(e),i.d(e,{default:()=>o});var s=i(7220),r=i(4059);class n extends s.A{static #t=this.options={scrollDebounceTime:35,buttonSelector:".js-scroll-up-button",visiblePos:250,visibleCls:"is-visible",topElementId:"page-top"};init(){this._button=this.el.querySelector(this.options.buttonSelector),this._defaultPadding=window.getComputedStyle(this._button).getPropertyValue("bottom"),this._assignDebouncedOnScrollEvent(),this._addBodyPadding(),this._registerEvents()}_registerEvents(){this._button&&(this._toggleVisibility(),this._button.addEventListener("click",()=>{this._scrollToTop(),this.$emitter.publish("onClickButton")})),document.addEventListener("scroll",this._debouncedOnScroll,!1),new MutationObserver(this._addBodyPadding.bind(this)).observe(document.body,{attributes:!0,attributeFilter:["style"]})}_assignDebouncedOnScrollEvent(){this._debouncedOnScroll=r.A.debounce(this._toggleVisibility.bind(this),this.options.scrollDebounceTime)}_scrollToTop(){window.scrollTo({top:0,behavior:"smooth"}),this._focusFirstElement(),this.$emitter.publish("scrollToTop")}_focusFirstElement(){let t=document.getElementById(this.options.topElementId);window.focusHandler.setFocus(t,{preventScroll:!0})}_toggleVisibility(){window.scrollY>this.options.visiblePos?this._button.classList.add(this.options.visibleCls):this._button.classList.remove(this.options.visibleCls),this.$emitter.publish("toggleVisibility")}_addBodyPadding(){this._button.style.bottom=`calc(${this._defaultPadding} + ${document.body.style.paddingBottom||"0px"})`}}class o extends n{init(){super.init(),this.lastScrollPosition=window.scrollY}_toggleVisibility(){let t=window.scrollY-this.lastScrollPosition;window.scrollY<this.lastScrollPosition?t<-20&&super._toggleVisibility():t>20&&(this._button.classList.remove(this.options.visibleCls),this.$emitter.publish("toggleVisibility")),this.lastScrollPosition=window.scrollY}}},4059(t,e,i){i.d(e,{A:()=>s});class s{static debounce(t,e){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];s&&!i&&setTimeout(t.bind(t,...n),0),clearTimeout(i),i=setTimeout(t.bind(t,...n),e)}}}},4156(t){var e=function(t){var e;return!!t&&"object"==typeof t&&"[object RegExp]"!==(e=Object.prototype.toString.call(t))&&"[object Date]"!==e&&t.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function s(t,e){return!1!==e.clone&&e.isMergeableObject(t)?l(Array.isArray(t)?[]:{},t,e):t}function r(t,e,i){return t.concat(e).map(function(t){return s(t,i)})}function n(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function o(t,e){try{return e in t}catch(t){return!1}}function l(t,i,a){(a=a||{}).arrayMerge=a.arrayMerge||r,a.isMergeableObject=a.isMergeableObject||e,a.cloneUnlessOtherwiseSpecified=s;var c,u,h=Array.isArray(i);return h!==Array.isArray(t)?s(i,a):h?a.arrayMerge(t,i,a):(u={},(c=a).isMergeableObject(t)&&n(t).forEach(function(e){u[e]=s(t[e],c)}),n(i).forEach(function(e){(!o(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(o(t,e)&&c.isMergeableObject(i[e])?u[e]=(function(t,e){if(!e.customMerge)return l;var i=e.customMerge(t);return"function"==typeof i?i:l})(e,c)(t[e],i[e],c):u[e]=s(i[e],c))}),u)}l.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,i){return l(t,i,e)},{})},t.exports=l},4707(t,e,i){i.d(e,{A:()=>s});class s{static ucFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}static lcFirst(t){return t.charAt(0).toLowerCase()+t.slice(1)}static toDashCase(t){return t.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(t,e){let i=s.toUpperCamelCase(t,e);return s.lcFirst(i)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>s.ucFirst(t.toLowerCase())).join(""):s.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}},7220(t,e,i){i.d(e,{A:()=>l});var s=i(4156),r=i.n(s),n=i(4707),o=i(8308);class l{constructor(t,e={},i=!1){if(!(t instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${i}".`);return}this.el=t,this.$emitter=new o.A(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}
1_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=[this.constructor.options,this.options,t];return e.push(this._getConfigFromDataAttribute()),e.push(this._getOptionsFromDataAttribute()),r().all(e.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_getConfigFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=n.A.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-config`);return i?window.PluginConfigManager.get(this._pluginName,i):t}_getOptionsFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=n.A.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-options`);if(i)try{return JSON.parse(i)}catch(t){console.error(`The data attribute "data-${e}-options" could not be parsed to json: ${t.message}`)}return t}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(t){return t||(t=this.constructor.name),t}}},8308(t,e,i){i.d(e,{A:()=>s});class s{constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=new CustomEvent(t,{detail:e,cancelable:i});return this.el.dispatchEvent(s),s}subscribe(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=this,r=t.split("."),n=i.scope?e.bind(i.scope):e;if(i.once&&!0===i.once){let e=n;n=function(i){s.unsubscribe(t),e(i)}}return this.el.addEventListener(r[0],n),this.listeners.push({splitEventName:r,opts:i,cb:n}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,i)=>([...i.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):t.push(i),t),[]),!0}reset(){return this.listeners.forEach(t=>{this.el.removeEventListener(t.splitEventName[0],t.cb)}),this.listeners=[],!0}get el(){return this._el}set el(t){this._el=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}}}}]);
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.