1/*! For license information please see 854.c7d2363d106f143a817b.js.LICENSE.txt */ 2"use strict";(globalThis.webpackChunkloop_web=globalThis.webpackChunkloop_web||[]).push([[854],{8418(t,e,i){i.d(e,{Mc:()=>d,R9:()=>r,YB:()=>u,fs:()=>h,ss:()=>c});const s=window.matchMedia("(prefers-reduced-motion: reduce)");let a=!1,o=null,n=!1;try{var l=Object.defineProperty({},"passive",{get:function(){n=!0}});window.addEventListener("testPassive",null,l),window.removeEventListener("testPassive",null,l)}catch(t){}const h={supportsPassive:n,reducedMotionPref:s.matches,desktopSideHeaderLayout:null!=document.querySelector("body.site-layout.side-header-layout"),fx:[],fxAdd:(t,e,i=null)=>{let s=!1;if(h.fx.forEach(e=>{e.type==t&&(s=!0)}),!s){h.fx.push({type:t,enabled:e,callback:i,controller:document.createElement("div")});let s=h.fx.length-1,a=h.fx[s];a.controller.setAttribute("class","form-check form-switch");let o=document.createElement("input");o.setAttribute("id",`site-settings--fx--${s}`),o.setAttribute("class","form-check-input"),o.setAttribute("type","checkbox"),o.setAttribute("role","switch"),e&&o.setAttribute("checked",!0),o.addEventListener("click",()=>{h.fxToggle(a.type,o.checked)}),a.controller.appendChild(o);let n=document.createElement("label");n.setAttribute("for",`site-settings--fx--${s}`),n.setAttribute("class","form-check-label"),n.innerHTML=a.type,a.controller.appendChild(n)}i&&i(e),a||(()=>{if(null!=document.body.querySelector("#top-utility-bar")){let t=document.body.querySelector("#top-utility-bar--icon-links ul");if(null!=t){let e=document.createElement("li");e.classList.add("list-inline-item"),e.innerHTML='<button class="btn btn-link p-0" data-bs-toggle="modal" data-bs-target="#site-settings"><i class="fa-solid fa-cog" aria-hidden="true" title="Site settings"></i><span class="sr-only">Site settings</span></button>',t.appendChild(e)}else{let t=document.body.querySelector("#top-utility-bar--content"),e=document.createElement("div");e.setAttribute("id","top-utility-bar--icon-links"),e.innerHTML='<ul class="list-inline m-0"><li class="list-inline-item"><button class="btn btn-link p-0" data-bs-toggle="modal" data-bs-target="#site-settings"><i class="fa-solid fa-cog" aria-hidden="true" title="Site settings"></i><span class="sr-only">Site settings</span></button></li></ul>',t.appendChild(e)}}else{let t=document.body.querySelector("#main-header--content");if(null!=t){let e=document.createElement("button");e.setAttribute("id","main-header--content--site-settings-btn"),e.setAttribute("class","btn btn-link"),e.setAttribute("data-bs-toggle","modal"),e.setAttribute("data-bs-target","#site-settings"),e.innerHTML='<i class="fa-solid fa-cog" aria-hidden="true" title="Site settings"></i><span class="side-menu-layout--label">Site settings</span>',t.appendChild(e)}}let t=document.body.querySelector("#main-footer--mid-section--links ul");if(null!=t){let e=document.createElement("li");e.innerHTML='<a href="#site-settings" data-bs-toggle="modal" data-bs-target="#site-settings">Site settings</a>',t.appendChild(e)}a=!0})(),(()=>{if(!o){let t=document.createElement("div");t.setAttribute("id","site-settings"),t.setAttribute("class","modal fade"),t.setAttribute("data-bs-backdrop","static"),t.setAttribute("data-bs-keyboard","false"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-hidden","true"),t.innerHTML='<div class="modal-dialog"><div class="modal-content theme--default"><div class="modal-header"><h1 class="modal-title h5 m-0">Site Settings</h1><button type="button" class="btn btn-link p-0" data-bs-dismiss="modal" aria-label="Close"><i class="fa-regular fa-times" aria-hidden="true" title="Close"></i></button></div><div class="modal-body"></div></div>',document.body.appendChild(t),o=document.body.querySelector("#site-settings .modal-body")}h.fx.length>0&&(o.innerHTML="<p>Manage the visual effects on this site:</p>",h.fx.forEach(t=>{o.appendChild(t.controller)}))})()},fxToggle:(t,e)=>{h.fx.forEach(i=>{i.type==t&&(i.enabled=e,i.callback&&i.callback(e))})}},r={vw:0,vh:0,setVw:t=>{r.vw=t},setVh:t=>{r.vh=t}},c={active:!1,setActive:t=>{c.active=t}},d={mobileActive:!1,setMobileActive:t=>{d.mobileActive=t},desktopActive:!1,setDesktopActive:t=>{d.desktopActive=t}},u={active:!1,setActive:t=>{u.active=t}}},854(t,e,i){i.r(e);var s=i(8418),a=i(403),o=i(8987);let n=null;
2class l{opacities=[0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,6,10,10,14,8,8,2,2,0,2,0,0,0,0,0,2,0,0,34,54,82,104,112,68,46,30,22,8,18,10,2,0,0,0,0,0,0,2,90,126,114,90,156,132,104,82,68,74,46,40,0,2,0,0,0,0,2,86,124,132,128,134,230,224,228,112,116,94,66,36,24,20,0,0,0,0,78,100,126,152,174,214,210,224,256,208,138,128,58,36,42,30,0,0,0,14,84,104,170,182,206,252,306,256,248,164,114,104,104,48,2,0,0,0,4,34,82,134,168,200,244,272,318,254,156,138,120,100,94,50,14,2,0,0,0,68,66,132,164,226,276,298,336,350,164,284,266,140,124,82,50,12,0,0,0,36,78,110,226,222,274,282,278,282,256,204,260,180,192,130,74,0,0,0,4,30,54,142,208,258,258,316,280,308,292,300,262,184,200,134,52,6,0,0,0,0,92,146,208,248,290,270,244,214,240,244,202,196,192,70,76,14,4,0,0,0,100,116,182,248,254,278,236,242,354,312,176,180,176,56,86,6,0,0,0,0,60,124,136,182,166,234,178,278,278,198,210,154,64,2,2,0,0,0,0,0,32,42,16,90,202,250,236,174,220,172,128,78,0,0,0,0,0,0,0,0,0,2,56,158,158,234,244,176,168,108,92,22,0,0,0,0,0,0,0,0,0,2,0,12,110,122,136,142,60,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,46,50,40,24,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,24,18,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,4,0,0,0,0,0,0,0,0];opacityGlobalFactor=1;smokeSpriteSize=20;particles=[];running=!1;smokeParticleImage=null;lastframe=null;preDrawCallback=()=>{};context=null;polyfillAnimFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;constructor(t,e,i){this.context=t,this.smokeParticleImage=this.makeSmokeSprite(e),this.lastframe=performance.now(),this.travel=i}frame=t=>{if(this.running){var e=t-this.lastframe;this.lastframe=t,this.updateAndDrawParticles(e),this.polyfillAnimFrame.call(window,this.frame)}};floatInRange(t,e){return t+Math.random()*(e-t)}makeSmokeSprite(t=[24,46.8,48.2]){for(var e=document.createElement("canvas"),i=e.getContext("2d"),s=i.createImageData(this.smokeSpriteSize,this.smokeSpriteSize),a=s.data,o=0;o<a.length;o+=4)a[o]=t[0],a[o+1]=t[1],a[o+2]=t[2],a[o+3]=this.opacities[o/4]*this.opacityGlobalFactor;return e.width=this.smokeSpriteSize,e.height=this.smokeSpriteSize,i.putImageData(s,0,0),e}createParticle(t,e,i){i=i||{};var s={x:t,y:e,vx:this.floatInRange(i.minVx||-.08,i.maxVx||.08),startvy:this.floatInRange(i.minVy||-.4,i.maxVy||.1),scale:this.floatInRange(i.minScale||0,i.maxScale||.5),lifetime:this.floatInRange(i.minLifetime||2e3,i.maxLifetime||8e3),age:0};return s.finalScale=this.floatInRange(i.minScale||25+s.scale,i.maxScale||30+s.scale),s.vy=s.startvy,s}updateParticle(t,e){t.x+=t.vx*e,t.y+=t.vy*e;var i=Math.sqrt(t.age/t.lifetime);t.vy=(1.8*this.travel-i)*t.startvy,t.age+=e,t.scale=i*t.finalScale}drawParticle(t,e){this.context.globalAlpha=(1-Math.abs(1-2*t.age/t.lifetime))/8;var i=t.scale*this.smokeSpriteSize/2,s=t.x-i,a=s+3*i,o=t.y-i,n=o+2*i;this.context.drawImage(e,s,o,a-s,n-o)}addParticles(t,e,i,s){if((i=i||10)<1)return Math.random()<=i&&this.particles.push(this.createParticle(t,e,s));for(var a=0;a<i;a++)this.particles.push(this.createParticle(t,e,s))}updateAndDrawParticles(t){var e=this.context.canvas;this.context.clearRect(0,0,e.width,e.height);for(var i=this.particles,s=0,a=0;a<i.length;a++){var o=i[a];this.updateParticle(o,t),o.age<o.lifetime&&(i[s++]=o)}i.length=s,this.preDrawCallback(t,i);for(var n=0;n<i.length;n++)this.drawParticle(i[n],this.smokeParticleImage)}setPreDrawCallback(t){this.preDrawCallback=t}step(t){t=t||16,this.updateAndDrawParticles(t)}start(){this.running=!0,this.lastframe=performance.now(),this.polyfillAnimFrame.call(window,this.frame)}stop(){this.running=!1}addSmoke=this.addParticles}class h{constructor(t){this.el=t,this.canvas=t,this.context=this.canvas.getContext("2d"),this.canvas.width=this.el.offsetWidth,this.canvas.height=this.el.offsetHeight,this.smokeRGB=[127,127,127],this.smokeIntensity=.5,this.smokeTravel=.5,this.smokeGap=this.canvas.width/Math.ceil(this.canvas.width/200);let e=document.body.dataset.smokeRgb;void 0!==e&&(this.smokeRGB=[parseInt(e.split(",")[0]),parseInt(e.split(",")[1]),parseInt(e.split(",")[2])]);let i=document.body.dataset.smokeIntensity;void 0!==i&&(this.smokeIntensity=parseFloat(i));let o=document.body.dataset.smokeTravel;void 0!==o&&(this.smokeTravel=parseFloat(o)),this.smokeTimeout=2e3-1750*this.smokeIntensity,this.smoke=new l(this.context,this.smokeRGB,this.smokeTravel),this.smoke.start(),this.smoke.step(200),this.addSmoke(this.smoke);let n=null;window.addEventListener("resize",()=>{clearTimeout(n),n=setTimeout(()=>{this.canvas.width=this.el.offsetWidth,this.canvas.height=this.el.offsetHeight,this.smokeGap=this.canvas.width/Math.ceil(this.canvas.width/300)},150)}),this.fadeDelayTimeout=null;let h=document.body.dataset.fxFadeDelay;void 0!==h&&(this.fadeDelayTimeout=setTimeout(()=>{this.canvas.classList.add("fade-out"),this.canvas.onanimationend=t=>{t.target==this.canvas&&document.body.removeChild(this.canvas)}},Math.max(1e3,1e3*parseFloat(h)))),this.fadeOnScroll=!1,void 0!==document.body.dataset.fxFadeScroll&&(this.fadeOnScroll=!0,(0,a.ck)(({scroll:t})=>{this.fadeOnScroll&&t.top>s.R9.vh/2&&(this.canvas.classList.add("fade-out"),this.canvas.onanimationend=t=>{t.target==this.canvas&&document.body.removeChild(this.canvas)},this.fadeOnScroll=!1)}))}addSmoke(){if(!document.hidden){this.smoke.addSmoke(0,this.canvas.height,3);for(let t=this.smokeGap;t<=this.canvas.width;t+=this.smokeGap)this.smoke.addSmoke(t,this.canvas.height,3)}setTimeout(()=>{this.addSmoke()},this.smokeTimeout)}}if(!s.fs.reducedMotionPref){let t="site-settings--fx-disable--smoke",e=!0,i=!1;const a=e=>{if(e&&!i){i=!0;let e=document.createElement("canvas");e.setAttribute("id","smoke-overlay"),e.setAttribute("aria-hidden","true"),document.body.appendChild(e),n=new h(document.querySelector("#smoke-overlay")),o.A.remove(t)}else if(!e&&i){i=!1;let e=document.querySelector("#smoke-overlay");e&&document.body.removeChild(e),n=null,o.A.set(t,"value",{expires:7})}};o.A.get(t)&&(e=!1),s.fs.fxAdd("Smoke",e,a)}},403(t,e,i){i.d(e,{ZB:()=>h,ck:()=>l});const s="undefined"==typeof window;function a(t,e){let i=0;return function(...s){const a=(new Date).getTime();if(!(a-i<t))return i=a,e(...s)}}function o(t){return Math.floor(t.reduce((t,e)=>t+e,0)/t.length)}const n=new class{constructor(){s||(this.lastX=0,this.lastY=0,this.lastWidth=window.innerWidth,this.lastHeight=window.innerHeight,this.lastMouseX=0,this.lastMouseY=0,this.lastWindowX=window.screenX,this.lastWindowY=window.screenY,this.lastAlpha=0,this.lastBeta=0,this.lastGamma=0,this.currAlpha=0,this.currBeta=0,this.currGamma=0,this.scrollHeight=document.body.scrollHeight,this.scrollChange=!1,this.sizeChange=!1,this.mouseChange=!1,this.positionChange=!1,this.orientationChange=!1,this.devicePixelRatioChange=!1,this.currX=0,this.currY=0,this.currWidth=window.innerWidth,this.currHeight=window.innerHeight,this.currMouseX=0,this.currMouseY=0,this.currWindowX=0,this.currDevicePixelRatio=this.lastDevicePixelRatio=Math.max(window.devicePixelRatio||1,1),this.mouseXVelocity=[],this.mouseYVelocity=[],this.lastMouseXVelocity=0,this.lastMouseYVelocity=0,this.windowXVelocity=[],this.windowYVelocity=[],this.lastWindowXVelocity=0,this.lastWindowYVelocity=0,this.updating=!1,this.callbacks=[],this.update=this.update.bind(this),this.handleResize=this.handleResize.bind(this),this.handleMouse=this.handleMouse.bind(this),this.handleOrientation=this.handleOrientation.bind(this),this.recalibrateOrientation=this.recalibrateOrientation.bind(this),this.formatData=this.formatData.bind(this),this.watch=this.watch.bind(this),this.unwatch=this.unwatch.bind(this),this.handleResize=a(110,this.handleResize),this.handleMouse=a(75,this.handleMouse),window.addEventListener("resize",this.handleResize),window.addEventListener("mousemove",this.handleMouse),window.addEventListener("deviceorientation",this.handleOrientation),requestAnimationFrame(this.update))}handleResize(t){this.currWidth=window.innerWidth,this.currHeight=window.innerHeight}handleMouse(t){this.currMouseX=t.clientX,this.currMouseY=t.clientY}handleOrientation(t){this.initialAlpha||(this.initialAlpha=t.alpha),this.initialBeta||(this.initialBeta=t.beta),this.initialGamma||(this.initialGamma=t.gamma),this.currAlpha=t.alpha,this.currBeta=t.beta,this.currGamma=t.gamma}recalibrateOrientation(){const t={prev:{alpha:this.initialAlpha,beta:this.initialBeta,gamma:this.initialGamma}};return this.initialAlpha=this.lastAlpha,this.initialBeta=this.lastBeta,this.initialGamma=this.lastGamma,t.current={alpha:this.initialAlpha,beta:this.initialBeta,gamma:this.initialGamma},t}formatData(){return{scroll:{changed:this.scrollChange,left:Math.floor(this.lastX),right:Math.floor(this.lastX+this.lastWidth),top:Math.floor(this.lastY),bottom:Math.floor(this.lastY+this.lastHeight),velocity:{x:Math.floor(this.scrollXVelocity)||0,y:Math.floor(this.scrollYVelocity)||0}},size:{changed:this.sizeChange,x:Math.floor(this.lastWidth),y:Math.floor(this.lastHeight),docY:Math.floor(this.scrollHeight)},mouse:{changed:this.mouseChange,x:Math.floor(this.lastMouseX),y:Math.floor(this.lastMouseY),velocity:{x:Math.floor(this.lastMouseXVelocity)||0,y:Math.floor(this.lastMouseYVelocity)||0}},position:{changed:this.positionChange,left:Math.floor(this.lastWindowX),right:Math.floor(this.lastWindowX+this.lastWidth),top:Math.floor(this.lastWindowY),bottom:Math.floor(this.lastWindowY+this.lastHeight),velocity:{x:Math.floor(this.lastWindowXVelocity)||0,y:Math.floor(this.lastWindowYVelocity)||0}},orientation:{changed:this.orientationChange,alpha:Math.floor(this.lastAlpha-this.initialAlpha)||0,beta:Math.floor(this.lastBeta-this.initialBeta)||0,gamma:Math.floor(this.lastGamma-this.initialGamma)||0},devicePixelRatio:{changed:this.devicePixelRatioChange,ratio:this.currDevicePixelRatio}}}update(){const{currWidth:t,currHeight:e,currMouseX:i,currMouseY:s,currAlpha:a,currBeta:n,currGamma:l,currDevicePixelRatio:h}=this;if(this.updating)return!1;this.scrollChange=this.sizeChange=this.mouseChange=this.positionChange=this.orientationChange=this.devicePixelRatioChange=!1,this.windowXVelocity.length>5&&this.windowXVelocity.shift(),this.windowXVelocity.push(window.screenX-this.lastWindowX),o(this.windowXVelocity)!=this.lastWindowXVelocity&&(this.lastWindowXVelocity=o(this.windowXVelocity),this.positionChange=!0),window.screenX!=this.lastWindowX&&(this.positionChange=!0,this.lastWindowX=window.screenX),this.windowYVelocity.length>5&&this.windowYVelocity.shift(),this.windowYVelocity.push(window.screenY-this.lastWindowY),o(this.windowYVelocity)!=this.lastWindowYVelocity&&(this.lastWindowYVelocity=o(this.windowYVelocity),this.positionChange=!0),window.screenY!=this.lastWindowY&&(this.positionChange=!0,this.lastWindowY=window.screenY),window.pageXOffset==this.lastX&&0!=this.scrollXVelocity&&(this.scrollXVelocity=0,this.scrollChange=!0),window.pageYOffset==this.lastY&&0!=this.scrollYVelocity&&(this.scrollYVelocity=0,this.scrollChange=!0),window.pageXOffset!=this.lastX&&(this.scrollChange=!0,this.scrollXVelocity=Math.floor(window.pageXOffset-this.lastX),this.lastX=window.pageXOffset),window.pageYOffset!=this.lastY&&(this.scrollChange=!0,this.scrollYVelocity=Math.floor(window.pageYOffset-this.lastY),this.lastY=window.pageYOffset),t!=this.lastWidth&&(this.lastWidth=t,this.scrollHeight=document.body.scrollHeight,this.sizeChange=!0),e!=this.lastHeight&&(this.lastHeight=e,this.sizeChange=!0),this.mouseXVelocity.length>5&&this.mouseXVelocity.shift(),this.mouseXVelocity.push(i-this.lastMouseX),o(this.mouseXVelocity)!=this.lastMouseXVelocity&&(this.lastMouseXVelocity=o(this.mouseXVelocity),this.mouseChange=!0),i!=this.lastMouseX&&(this.lastMouseX=i,this.mouseChange=!0),this.mouseYVelocity.length>5&&this.mouseYVelocity.shift(),this.mouseYVelocity.push(s-this.lastMouseY),o(this.mouseYVelocity)!=this.lastMouseYVelocity&&(this.lastMouseYVelocity=o(this.mouseYVelocity),this.mouseChange=!0),s==this.lastMouseY&&0==o(this.mouseYVelocity)||
2(this.lastMouseY=s,this.mouseChange=!0),a!=this.lastAlpha&&(this.lastAlpha=a,this.orientationChange=!0),n!=this.lastBeta&&(this.lastBeta=n,this.orientationChange=!0),l!=this.lastGamma&&(this.lastGamma=l,this.orientationChange=!0),(this.positionChange||this.sizeChange)&&(this.currDevicePixelRatio=Math.max(window.devicePixelRatio||1,1),this.currDevicePixelRatio!==this.lastDevicePixelRatio&&(this.devicePixelRatioChange=!0,this.lastDevicePixelRatio=this.currDevicePixelRatio)),(this.scrollChange||this.sizeChange||this.mouseChange||this.positionChange||this.orientationChange||this.devicePixelRatioChange)&&this.callbacks.forEach(t=>t(this.formatData())),this.updating=!1,requestAnimationFrame(this.update)}watch(t,e=!0){if("function"!=typeof t)throw new Error("Value passed to Watch is not a function");if(!s){if(e){const e=this.formatData();e.scroll.changed=!0,e.mouse.changed=!0,e.size.changed=!0,e.position.changed=!0,e.orientation.changed=!0,e.devicePixelRatio.changed=!0,t(e)}this.callbacks.push(t)}}unwatch(t){if("function"!=typeof t)throw new Error("The value passed to unwatch is not a function");s||(this.callbacks=this.callbacks.filter(e=>e!==t))}};s||(window.__TORNIS={watchViewport:n.watch,unwatchViewport:n.unwatch,getViewportState:n.formatData,recalibrateOrientation:n.recalibrateOrientation});const l=n.watch,h=n.unwatch;n.formatData,n.recalibrateOrientation},8987(t,e,i){function s(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var s in i)"__proto__"!==s&&(t[s]=i[s])}return t}i.d(e,{A:()=>a});var a=function t(e,i){function a(t,a,o){if("undefined"!=typeof document){"number"==typeof(o=s({},i,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var n="";for(var l in o)o[l]&&(n+="; "+l,!0!==o[l]&&(n+="="+o[l].split(";")[0]));return document.cookie=t+"="+e.write(a,t)+n}}return Object.create({set:a,get:function(t){if("undefined"!=typeof document&&(!arguments.length||t)){for(var i=document.cookie?document.cookie.split("; "):[],s={},a=0;a<i.length;a++){var o=i[a].split("="),n=o.slice(1).join("=");try{var l=decodeURIComponent(o[0]);if(l in s||(s[l]=e.read(n,l)),t===l)break}catch(t){}}return t?s[t]:s}},remove:function(t,e){a(t,"",s({},e,{expires:-1}))},withAttributes:function(e){return t(this.converter,s({},this.attributes,e))},withConverter:function(e){return t(s({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(e)}})}({read:function(t){return'"'===t[0]&&(t=t.slice(1,-1)),t.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(t){return encodeURIComponent(t).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})}}]);
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.