"use strict";class FMTranslate{static ATTR="data-fm-translate";static _initialized=!1;static init(){const t=document.querySelectorAll(`[${FMTranslate.ATTR}]`);if(this._initialized)return;if(0===t.length)return;const e=document.head,i=document.createElement("script");i.src="//translate.google.com/translate_a/element.js?cb=FMPageTranslate",i.setAttribute("defer",""),e.appendChild(i);const s=document.createElement("style");s.textContent=".skiptranslate {display: none !important;}body {top: 0 !important}",e.appendChild(s),t.forEach((t=>new FMTranslate(t))),this._initialized=!0}constructor(t){t instanceof HTMLElement&&(this.element=t,this.data=this.element.getAttribute(FMTranslate.ATTR),this.run())}run(){"FORM"===this.element.tagName?this.element.addEventListener("submit",(t=>{t.preventDefault();const e=new FormData(this.element).get(this.data),i=this.element.querySelector("datalist"),s=Array.from(i.options).find((t=>t.value===e));if(s){const t=s.getAttribute("data-mn-value");FMTranslate.setCookie(t),window.location.reload()}})):"SELECT"===this.element.tagName?this.element.addEventListener("change",(t=>{t.preventDefault();const e=this.element.value;FMTranslate.setCookie(e),window.location.reload()})):this.element.addEventListener("click",(t=>{t.preventDefault(),this.data&&(FMTranslate.setCookie(this.data),window.location.reload())}))}static pageTranslate(){const t=document.documentElement.lang.slice(0,2);this.getLanguage(t)===t&&this.clearCookie(),new google.translate.TranslateElement({pageLanguage:t})}static getLanguage(t){const e=document.cookie.match("(^|;) ?googtrans=([^;]*)(;|$)"),i=e&&e[2]?e[2].split("/")[2]:null;return void 0!==i&&"null"!==i?i:t}static clearCookie(){const t="googtrans";document.cookie=`${t}=null`,document.cookie=`${t}=null; domain=${document.domain}`}static setCookie(t){const e="googtrans";document.cookie=`${e}=/auto/${t}`,document.cookie=`${e}=/auto/${t}; domain=${document.domain}`}}function FMPageTranslate(){FMTranslate.pageTranslate()}class FMInteraction{static ATTR="data-fm-interaction";static TYPES=Object.freeze(["print","bookmark","nav","scroll","copy","share","dialog","function","targetEvent","media","track"]);static _initialized=!1;static initialize(){this._initialized||(document.querySelectorAll(`[${FMInteraction.ATTR}]`).forEach((t=>new FMInteraction(t))),this._initialized=!0)}constructor(t,e={}){t instanceof HTMLElement&&(this.element=t,this.config=Object.assign({},e,this.#t()),this._isObjEmpty(this.config)||(this.config?.remove&&this.element.removeAttribute(FMInteraction.ATTR),this.init()))}init(){const t=this.#e();null!==t&&this.element.addEventListener("click",(e=>{t.forEach((t=>{"function"==typeof this[t]&&this[t](e)}))}))}#e(){return this.config&&"object"==typeof this.config?Array.from(new Set(Object.keys(this.config).map((t=>t.replace(/_\d+$/,""))).filter((t=>FMInteraction.TYPES.includes(t))))):[]}print(t){t.preventDefault(),window.print()}bookmark(t){t.preventDefault();let e="To bookmark this page, press";e=this.config?.mess||e,alert(e+" "+(-1!==navigator.userAgent.toLowerCase().indexOf("mac")?"Cmd":"Ctrl")+" + D")}nav(){const t=this._getValue("nav");if(null!==t&&("back"===t&&history.back(),"forward"===t&&history.forward(),"reload"===t&&window.location.reload(),this._isObject(t))){const e=t.url||"",i=t.target||"_blank";window.open(e,i)}}scroll(t){t.preventDefault();const e=this._getValue("scroll");if(null!==e&&(this._isString(e)&&("top"===e&&window.scrollTo({top:0,behavior:"smooth"}),"bottom"===e&&window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})),this._isObject(e))){const t=e?.sel||null;let i=e?.offset||10;i=parseInt(i,10);const s=document.querySelector(t);if(!s)return;const n=s.getBoundingClientRect().top+window.scrollY-i;window.scrollTo({top:n,behavior:"smooth"})}}copy(t){t.preventDefault();const e=this._getValue("copy");if(null!==e){if(this._isString(e)&&"url"===e){let t="URL successfully copied!";t=this.config?.mess||t,navigator.clipboard.writeText(window.location.href).then((()=>{alert(t)}))}if(this._isString(e)&&"text"===e){let t="Text successfully copied!";t=this.config?.mess||t;const e=window.getSelection().toString();e&&navigator.clipboard.writeText(e).then((()=>{alert(t)}))}if(this._isObject(e)){const t=e.sel||"",i=document.querySelector(t);if(i){let t="Text copied:";t=this.config?.mess||t,navigator.clipboard.writeText(i.innerText||i.value).then((()=>{alert(t+" "+i.innerText||i.value)}))}}}}share(t){t.preventDefault();const e=this._getValue("share");let i;i=this._isArray(e)?e:[e];let s=this.config?.text||null;const n=this._shareServices(s);i.forEach((t=>{const e=n[t];if(void 0!==e)if(this._isMobile())window.open(e,"_blank");else{const t=`menubar=no,toolbar=no,location=no,scrollbars=no,status=no,resizable=yes,width=996,height=550,top=${(screen.height-550)/2},left=${(screen.width-996)/2}`;window.open(e,"_blank",t)}}))}_shareServices(t){let e=encodeURIComponent(document.location.href);if(null!==t){const t=window.getSelection().toString();t&&(e=t)}const i=encodeURIComponent(document.title);return{blogger:`https://www.blogger.com/blog-this.g?u=${e}&n=${i}`,buffer:`https://buffer.com/add?text=${i}&url=${e}`,diaspora:`https://share.diasporafoundation.org/?title=${i}&url=${e}`,digg:`http://digg.com/submit?url=${e}`,douban:`http://www.douban.com/recommend/?url=${e}&title=${i}`,draugiem:`https://www.draugiem.lv/say/ext/add.php?title=${i}&url=${e}`,dribbble:`https://dribbble.com/shots/new?title=${i}&url=${e}`,email:`mailto:?subject=${i}&body=${e}`,evernote:`http://www.evernote.com/clip.action?url=${e}&title=${i}`,facebook:`https://www.facebook.com/sharer.php?u=${e}`,flickr:`https://www.flickr.com/share?title=${i}&url=${e}`,flipboard:`https://share.flipboard.com/bookmarklet/popout?v=2&title=${i}&url=${e}`,flipgrid:`https://flipgrid.com/share?url=${e}`,"hacker-news":`https://news.ycombinator.com/submitlink?u=${e}&t=${i}`,hootsuite:`https://hootsuite.com/hootlet/load?address=${e}&title=${i}`,instapaper:`http://www.instapaper.com/edit?url=${e}&title=${i}`,line:`https://lineit.line.me/share/ui?url=${e}`,linkedin:`https://www.linkedin.com/shareArticle?mini=true&url=${e}&title=${i}`,livejournal:`http://www.livejournal.com/update.bml?subject=${i}&event=${e}`,meetup:`https://www.meetup.com/share?url=${e}&title=${i}`,mixi:`http://mixi.jp/share.pl?u=${e}&k=${i}`,myspace:`https://myspace.com/post?u=${e}&t=${i}`,note:`http://note.com.intent/tweet?url=${e}&text=${i}`,pinterest:`http://pinterest.com/pin/create/button/?url=${e}`,pocket:`https://getpocket.com/edit?url=${e}`,qzone:`http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${e}`,reddit:`http://www.reddit.com/submit?url=${e}&title=${i}`,renren:`http://widget.renren.com/dialog/share?resourceUrl=${e}&srcUrl=${e}&title=${i}`,skype:`https://web.skype.com/share?url=${e}`,slack:`https://slack.com/share?text=${i}&url=${e}`,snapchat:`https://www.snapchat.com/add/${e}`,stumbleupon:`http://www.stumbleupon.com/submit?url=${e}&title=${i}`,telegram:`https://telegram.me/share/url?url=${e}&text=${i}`,threema:`threema://compose?text=${i}&id=${e}`,tumblr:`https://www.tumblr.com/widgets/share/tool?canonicalUrl=${e}&title=${i}`,trello:"https://trello.com/add-card?name=${title}&desc=${url}",twitter:`https://twitter.com/intent/tweet?url=${e}&text=${i}`,viber:`viber://forward?text=${e}`,wechat:`weixin://dl/chat?${e}`,weibo:`http://service.weibo.com/share/share.php?url=${e}&title=${i}`,whatsapp:`whatsapp://send?text=${i}%20%0A${e}`,yammer:`https://www.yammer.com/messages/new?login=true&status=${i}%20${e}`,xing:`https://www.xing.com/spi/shares/new?url=${e}`,vk:`https://vk.com/share.php?url=${e}`,odnoklassniki:`https://ok.ru/dk?st.cmd=addShare&st._surl=${e}`}}dialog(t){t.preventDefault();const e=this._getValue("dialog");if(null===e)return;const i=document.getElementById(e);i&&(this.config?.open?i.showModal():i.close())}function(t){t.preventDefault();const e=this._getValue("function");let i;i=this._isArray(e)?e:[e],i.forEach((t=>{window[t]()}))}targetEvent(){const t=this._getValue("targetEvent");let e;e=this._isArray(t)?t:[t],e.forEach((t=>{const e=new CustomEvent(t);window.dispatchEvent(e)}))}media(t){t.preventDefault();const e=this._getValue("media");if(!this._isObject(e))return;const i=e.type||"",s=e.sel||"",n=e.rate||1,o=document.querySelector(s);if(o&&("VIDEO"===o.tagName||"AUDIO"===o.tagName))switch(i){case"play":o.play();break;case"pause":o.pause();break;case"muted":o.muted=!o.muted;break;case"loop":o.loop=!o.loop;break;case"reset":o.currentTime=0;break;case"rate":o.playbackRate=parseFloat(n);break;case"volumeUp":this._setVolume(o,o.volume+.1);break;case"volumeDown":this._setVolume(o,o.volume-.1)}}_setVolume(t,e){t.volume=Math.min(1,Math.max(0,e))}track(){const t=this._getValue("track");if(!this._isObject(t))return;const e=t.event||"Float-Menu",i=t.category||"Float-Menu",s=t.action||"click",n=t.label||"",o=t.value?parseInt(t.value,10):void 0;window.gtag&&gtag("event",s,{event_category:i,event_label:n,value:o}),window.dataLayer&&window.dataLayer.push({event:e,eventCategory:i,eventAction:s,eventLabel:n,eventValue:o})}#t(){const t=this.element.getAttribute(FMInteraction.ATTR);return this.#i(t).reduce(((t,e)=>{const[i,s]=this._splitConfigString(e);return i&&(t[this.#s(i)]=s?.startsWith("{")&&s.endsWith("}")?this.#n(s):this.#s(s)),t}),{})}_splitConfigString(t){const e=[];let i="",s=0,n=0;for(let o=0;o<t.length;o++){const a=t[o];"("===a&&n++,")"===a&&n--,"{"===a&&s++,"}"===a&&s--,":"===a&&0===s&&0===n?(e.push(i.trim()),i=""):i+=a}return i.trim()&&e.push(i.trim()),e}#i(t){const e=[];let i="",s=0,n=0;for(let o=0;o<t.length;o++){const a=t[o];" "===a&&0===s&&0===n?i.trim()&&(e.push(i.trim()),i=""):("{"===a&&s++,"}"===a&&s--,"("===a&&n++,")"===a&&n--,i+=a)}return i.trim()&&e.push(i.trim()),e}#n(t){return t.slice(1,-1).trim().split(/\s+(?![^{}]*\}|[^()]*\))/).reduce(((t,e)=>{const[i,s]=e.split(/:(.+)/);return t[this.#s(i)]=s?.startsWith("{")&&s.endsWith("}")?this.#n(s):this.#s(s),t}),{})}#s(t){if(!t)return!0;const e=t.split("|");return e.length>1?e.map((t=>this.#o(t.trim()))):this.#o(t.trim())}#o(t){if(!t)return!0;switch((t=t.trim()).startsWith("(")&&t.endsWith(")")&&(t=t.slice(1,-1).trim()),t){case"true":return!0;case"false":return!1;default:return isNaN(t)?t:parseFloat(t)}}_getValue(t){if(this.config.hasOwnProperty(t))return this.config[t];const e=Object.keys(this.config).filter((e=>e.startsWith(`${t}_`)));return e.length>0?e.map((t=>this.config[t])):null}_isString(t){return"string"==typeof t}_isArray(t){return Array.isArray(t)}_isObject(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)}_isObjEmpty(t){return t&&"object"==typeof t&&0===Object.keys(t).length}_isMobile(){return/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<=768||"ontouchstart"in window||navigator.maxTouchPoints>0}_isEmptyArray(t){return Array.isArray(t)&&0===t.length}}class FloatMenu{static ATTR="data-float-menu";static initialize(){window.floatMenus={},document.querySelectorAll(`[${FloatMenu.ATTR}]`).forEach((t=>{const e=new FloatMenu(t),i=t.className.match(/float-menu-(\d+)/);if(i&&i[1]){const t=i[1];window.floatMenus[t]=e}}))}constructor(t,e={}){if(!(t instanceof HTMLElement))return;if(this.element=t,this.config=Object.assign({},{position:["left","center"]},this.#t(),e),null===this.config)return;if(this.items=t.querySelectorAll(".fm-item"),this.links=t.querySelectorAll(".fm-link"),this.labels=t.querySelectorAll(".fm-label"),0===this.items.length)return;this.itemWidth=this.items[0].offsetWidth+15,this.config?.remove&&this.element.removeAttribute(FloatMenu.ATTR),this.init()}init(){this.screen(),window.addEventListener("resize",this.screen.bind(this)),this.mobileStyle(),window.addEventListener("resize",this.mobileStyle.bind(this)),this.labelDisabele(),this.mobileClick(),this.position(),this.appearance(),this.setLinkProperties(),this.setSubMenu(),this.extraText(),this.visibleMenu(),this.closePopup(),this.hideHoldItem(),FMInteraction.initialize(),FMTranslate.init()}appearance(){this.config?.appearance&&(this.config?.appearance?.shape&&this.element.classList.add(this.config?.appearance?.shape),this.config?.appearance?.sideSpace&&this.element.classList.add("-side-space"),this.config?.appearance?.buttonSpace&&this.element.classList.add("-button-space"),this.config?.appearance?.labelConnected&&this.element.classList.add("-label-connect"),this.config?.appearance?.subSpace&&this.element.classList.add("-sub-space"))}labelDisabele(){if(!this.config?.label?.off)return!1;this.links.forEach((t=>{t.classList.add("-label-hidden")}))}screen(){if(!this.config?.screen)return;const{small:t,large:e}=this.config.screen,i=window.innerWidth,s=()=>{this.element.classList.add("fm-hidden")},n=()=>{this.element.classList.remove("fm-hidden")};void 0!==t&&i<=t||void 0!==e&&i>=e?s():(void 0===t||void 0===e||i>t&&i<e)&&n()}closePopup(){const t=this.element.querySelectorAll(".fm-window");0!==t.length&&t.forEach((t=>{const e=t.querySelector(".fm-close");e&&e.addEventListener("click",(()=>{t.close()})),t.addEventListener("click",(function({currentTarget:t,target:e}){const i=t;e===i&&i.close()}))}))}hideHoldItem(){this.element.addEventListener("mouseover",(()=>{this.links.forEach((t=>{t.classList.contains("fm-hovering-hide")&&t.classList.remove("-active")}))})),this.element.addEventListener("mouseout",(()=>{this.links.forEach((t=>{t.classList.contains("fm-hovering-hide")&&t.classList.add("-active")}))}))}extraText(){const t=this.element.querySelectorAll(".fm-extra-text");0!==t.length&&t.forEach((t=>{const e=parseFloat(this.config?.label?.space)||0;t.style.setProperty("--text_margin",e);const i=t.closest(".fm-item"),s=i.querySelector(".fm-link");i.addEventListener("mouseenter",(()=>{s.classList.toggle("-active")})),i.addEventListener("mouseleave",(()=>{s.classList.remove("-active")}))}))}visibleMenu(){if((!this.config.visible||this.config.visible.every((t=>"show"===t||"0"===t)))&&(!this.config.time||this.config.time.every((t=>"show"===t||"0"===t))))return void this.element.classList.add("fm-ready");let t=!1;const e=()=>{t||(this.element.classList.add("fm-ready"),t=!0)},i=()=>{t&&(this.element.classList.remove("fm-ready"),t=!1)};if(this.config.time){const t=this.config.time||["show","0"],[s,n]=t,o=Number(n);"show"===s&&o>0&&setTimeout(e,1e3*o),"hide"===s&&o>0&&(e(),setTimeout(i,1e3*o))}if(this.config.visible){const t=this.config.visible||["show","0"],[s,n]=t,o=Number(n);"hide"===s&&e(),window.addEventListener("scroll",(()=>{const t=window.scrollY||document.documentElement.scrollTop;"show"===s&&(t>=o?e():i()),"hide"===s&&(t>o?i():e())}))}}mobileStyle(){if(!this.config?.mobile)return;const t=window.innerWidth,e=parseInt(this.config?.mobile[0])||0,i=parseInt(this.config?.mobile[1])||24,s=parseInt(this.config?.mobile[2])||15,n=parseInt(this.config?.mobile[3])||0,o=parseInt(this.config?.mobile[4])||12;t<e&&(this.element.style.setProperty("--fm-icon-size",i),this.element.style.setProperty("--fm-label-size",s),this.element.style.setProperty("--fm-icon-text",o),0!==n&&this.element.style.setProperty("--fm-icon-box",n))}mobileClick(){this._isMobile()&&this.config?.mobileRules&&(this.links.forEach((t=>{t.addEventListener("click",(e=>{t.classList.contains("-active")||(e.preventDefault(),e.stopImmediatePropagation(),this.links.forEach((t=>{t.classList.remove("-active")})),t.classList.add("-active"),clearTimeout(undefined),setTimeout((()=>{t.classList.remove("-active"),t.blur()}),3e3))}))})),document.addEventListener("click",(t=>{this.element.contains(t.target)||this.links.forEach((t=>{const e=t.closest(".fm-item");t.classList.remove("-active"),e.classList.remove("-active")}))})))}position(){let t=this.config?.position[0]||"left",e=this.config?.position[1]||"center";this.element.classList.add(`-${t}`),this.element.classList.add(`-${e}`);const i=this.element.getBoundingClientRect();let s=0,n=0;if(this.config?.offset&&(s=parseInt(this.config?.offset[0]),n=parseInt(this.config?.offset[1])),0!==s&&this.element.style.setProperty("--fm-offset",`${s}px`),"top"===e){let t=i.top+n;this.element.style.top=`${t}px`}else if("center"===e){let t=i.top+n;t-=this.element.offsetHeight/2,this.element.style.top=`${t}px`}else if("bottom"===e){let t=-1*n;this.element.style.bottom=`${t}px`}}setLinkProperties(){const t=parseFloat(this.config?.label?.space)||0,e=this.config?.label?.effect||"none";this.links.forEach((i=>{let s=i.querySelector(".fm-label").offsetWidth+t;const n=i.offsetWidth;i.classList.contains("fm-hold-open")&&(s=s-n+12),i.style.setProperty("--_width",s),i.classList.add(`-${e}`)}))}setSubMenu(){if(!this.config?.sub)return;const t=this.element.querySelectorAll(".fm-has-sub");if(0===t.length)return;const e=this.config?.sub?.position||"under",i=this.config?.sub?.effect||"none",s=this.config?.sub?.open||"click";let n=null;t.forEach((t=>{t.classList.add(`fm-sub-${e}`),t.classList.add(`-sub-${i}`);const o=[];let a=t.previousElementSibling;for(;a;)a.classList.contains("fm-item")&&o.push(a),a=a.previousElementSibling;this.setSubProperties(t,i,e);const r=t.querySelector(".fm-link");"click"===s||this._isMobile()?(r.addEventListener("click",(t=>{t.preventDefault()})),t.addEventListener("click",(i=>{i.stopPropagation(),n&&n!==t&&this.closeSubMenu(n,e),n&&n.contains(i.target)&&(i.target.matches(".fm-sub")||i.target.closest(".fm-link"))&&r&&!r.contains(i.target)||(t.classList.toggle("-active"),n=t.classList.contains("-active")?t:null,"circular"===e&&(r.classList.toggle("-label-hidden"),o.length>0&&o.forEach((t=>{t.classList.toggle("-hidden")}))))}))):(t.addEventListener("mouseenter",(()=>{const i=t.querySelector(".fm-link");t.classList.add("-active"),i.classList.contains("-active")||i.classList.add("-active"),"circular"===e&&(i.classList.toggle("-label-hidden"),o.length>0&&o.forEach((t=>{t.classList.toggle("-hidden")})))})),t.addEventListener("mouseleave",(()=>{this.closeSubMenu(t,e)})))})),document.addEventListener("click",(t=>{n&&!n.contains(t.target)&&(this.closeSubMenu(n,e),n=null)}))}closeSubMenu(t,e){const i=t.querySelector(".fm-link");if(t.classList.remove("-active"),i.classList.contains("fm-hold-open")?i.classList.add("-active"):i.classList.remove("-active"),"circular"===e){i.classList.toggle("-label-hidden");const t=this.element.querySelectorAll(".fm-item.-hidden");t.length>0&&t.forEach((t=>{t.classList.remove("-hidden")}))}}setSubProperties(t,e,i){const s=t.querySelector(".fm-sub"),n=s.offsetHeight;"circular"!==i&&t.style.setProperty("--_offset",n);const o=s.querySelectorAll(".fm-item"),a=parseInt(this.config?.sub?.speed)||0,r=o.length,l=a/r;let c=o[0].offsetWidth;"linear-fade"===e&&o.length>0&&o.forEach(((t,e)=>{const i=e*l,s=(r-1-e)*l;t.style.setProperty("--_delay",`${i}`),t.style.setProperty("--_close_delay",`${s}`)})),"linear-slide"===e&&o.length>0&&o.forEach(((t,e)=>{const i=(e+1)*c*-1;t.style.setProperty("--_top",`${i}px`)})),"circular"===i&&this.subMenuCircular(s,o,t)}subMenuCircular(t,e,i){const s=this.itemWidth,n=this.calculateAngleIncrement(e.length);let o=this.calculateOptimalRadius(s,n);const a=1.5*s;o<a&&(o=a),i.style.setProperty("--_offset",o),i.style.setProperty("--_box",o),this.setMenuProperties(e,n,o,t,s)}setMenuProperties(t,e,i,s,n){const o=i+2;s.classList.contains("-active")?s.style.setProperty("margin-bottom",`${o}px`):s.style.setProperty("margin-bottom","unset");const a=(parseInt(this.config?.sub?.speed)||0)/t.length;t.forEach(((n,o)=>{const r=t.length-1-o,l=this.determineAngleForMenu(s,e,o,r);this.styleMenuItem(n,s,i,l,o,a)}))}determineAngleForMenu(t,e,i,s){const n=this.config?.position[0]||"left";return"left"===n?e*i-Math.PI/2:"right"===n?e*s+Math.PI/2:void 0}styleMenuItem(t,e,i,s,n,o){const a=n*o,r=i*Math.cos(s),l=i*Math.sin(s);t.style.setProperty("--x",`${r}px`),t.style.setProperty("--y",`${l}px`),t.style.setProperty("--_delay",`${a}`)}calculateAngleIncrement(t){return Math.PI/(t-1)}calculateOptimalRadius(t,e){return t/2/Math.sin(e/2)}#t(){const t=this.element.getAttribute(`${FloatMenu.ATTR}`);if(!t||""===t.trim())return{};try{return JSON.parse(t)}catch(t){return{}}}_isMobile(){return/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<=768||"ontouchstart"in window||navigator.maxTouchPoints>0}_isObjEmpty(t){return t&&"object"==typeof t&&0===Object.keys(t).length}_showConfig(){console.log(this.config)}}document.addEventListener("DOMContentLoaded",(function(){FloatMenu.initialize()}));