1var frontend_effects__premium_only;(()=>{"use strict";var t={};function e(t){"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",t):t())}(t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})})(t);const n={opacity:1,scale:1,brightness:1};window.stackableAnimations=(()=>{const t=["perspective","scaleX","scaleY","scale","skewX","skewY","skew","rotateX","rotateY","rotate"],e=["blur","hue-rotate","brightness"],s=["translateX","translateY","translateZ"],i=["perspective","border-radius","blur","translateX","translateY","translateZ"],o=["hue-rotate","rotate","rotateX","rotateY","skew","skewX","skewY"];function a(t,e){if(Array.isArray(t))return t;const n=Object.keys(t).map((t=>parseInt(t))).sort(((t,e)=>t>e?1:-1));let s=n[n.length-1];for(let t=0;t<n.length;t++){const i=n[t];if(e<i){s=i;break}}return t[s]}function r(t,e,n){let s=0;if(t.forEach((t=>{t<n&&s++})),s<=0)return e[0];if(s>=t.length)return e[t.length-1];const i=s-1;let o=function(t,e,n){return(n-t)/(e-t)}(t[i],t[s],n);var a;o=(a=o)<.5?4*a*a*a:(a-1)*(2*a-2)*(2*a-2)+1;const r=function(t,e,n){return t*(1-n)+e*n}(e[i],e[s],o);return r}function l(t,{height:e,y:n}){if("number"==typeof t)return t;const s=window.innerHeight,i=n+function(){const t=void 0!==window.pageXOffset,e="CSS1Compat"===(document.compatMode||"");return t?window.pageYOffset:e?document.documentElement.scrollTop:document.body.scrollTop}(),o=i+e;return Function(`return ${t.replace(/elInY/g,i-s).replace(/elOutY/g,o).replace(/elCenterY/g,i+e/2-s/2)}`)()}class c{getValueFn;name="";lastValue=0;frameStep=1;constructor(t,e,n={}){this.name=t,this.getValueFn=e,Object.keys(n).forEach((t=>{this[t]=n[t]})),this.lastValue=this.getValueFn(0)}getValue=t=>{let e=this.lastValue;return t%this.frameStep==0&&(e=this.getValueFn(t)),this.lastValue=e,this.lastValue}}class d{domElement;transformsData;laxInstance;constructor(t,e,n){this.laxInstance=t,this.domElement=e,this.transformsData=n,this.calculateTransforms()}update=(t,e)=>{const{transforms:n}=this,s={};for(const a in n){const l=n[a],c=t[a];for(const t in l){const[n,a,d={}]=l[t],{modValue:m,frameStep:h=1,cssFn:u,cssUnit:f=""}=d;if(e%h==0){const e=r(n,a,m?c%m:c),l="px"==(f||i.includes(t)?"px":o.includes(t)?"deg":"")?0:3,d=e.toFixed(l);s[t]=u?u(d,this.domElement):d+f}}}this.applyStyles(s)};calculateTransforms=()=>{this.transforms={};const t=this.laxInstance.windowWidth;for(const e in this.transformsData){const n=this.transformsData[e],s={};for(const e in n){const[i=[-1e9,1e9],o=[-1e9,1e9],r={}]=n[e],c=this.domElement.getBoundingClientRect(),d=a(i,t).map((t=>l(t,c))),m=a(o,t).map((t=>l(t,c)));s[e]=[d,m,r]}this.transforms[e]=s}};applyStyles=n=>{const a=function(n){const a={transform:"",filter:"",perspective:""},r={translateX:1e-4,translateY:1e-4,translateZ:1e-4};return Object.keys(n).forEach((l=>{const c=n[l],d=i.includes(l)?"px":o.includes(l)?"deg":"";"perspective"===l?a.perspective+=`${l}(${c}${d}) `:s.includes(l)?r[l]=c:t.includes(l)?a.transform+=`${l}(${c}${d}) `:e.includes(l)?a.filter+=`${l}(${c}${d}) `:a[l]=`${c}${d} `})),a.transform=`${a.perspective} translate3d(${r.translateX}px, ${r.translateY}px, ${r.translateZ}px) ${a.transform}`,a}(n);Object.keys(a).forEach((t=>{this.domElement.style.setProperty(t,a[t])}))}}return new class{drivers=[];elements=[];frame=0;windowWidth=0;windowHeight=0;presets=n;scrollTimeout=null;init=()=>{this.findAndAddElements(),this.onWindowScroll(),window.requestAnimationFrame(this.onAnimationFrame),this.windowWidth=document.body.clientWidth,this.windowHeight=document.body.clientHeight,window.onresize=this.onWindowResize,document&&!document._StackableHasAnimations&&(document.addEventListener("scroll",this.onWindowScroll),document._StackableHasAnimations=!0)};onWindowScroll=()=>{this.elements.forEach((({domElement:t})=>{t.classList.contains("stk-animate-smooth")||t.style.setProperty("transition-duration","0s")})),clearTimeout(this.scrollTimeout),this.scrollTimeout=setTimeout((()=>
1{this.elements.forEach((({domElement:t})=>{t.style.removeProperty("transition-duration")}))}),61)};onWindowResize=()=>{(document.body.clientWidth!==this.windowWidth||document.body.clientHeight!==this.windowHeight)&&(this.windowWidth=document.body.clientWidth,this.windowHeight=document.body.clientHeight,this.elements.forEach((t=>t.calculateTransforms())))};onAnimationFrame=()=>{const t={};this.drivers.forEach((e=>{t[e.name]=e.getValue(this.frame)})),this.elements.forEach((e=>{e.update(t,this.frame)})),this.frame++,window.requestAnimationFrame(this.onAnimationFrame)};addDriver=(t,e,n={})=>{this.drivers.push(new c(t,e,n))};findAndAddElements=()=>{this.elements=[],document.querySelectorAll(".stk-animate").forEach(this.addElement)};addElement=t=>{const e={};t.getAttributeNames().sort().forEach((n=>{if(n.startsWith("data-stk-anim-")){const[,s,i]=n.match(/^data-stk-anim-(.*)-(\w+)$/),o=s.match(/^(translate|skew|rotate)\w$/)?s.replace(/[a-z]\b/g,(t=>t.toUpperCase())):s,a=parseFloat(t.getAttribute(n));let r=this.presets[s]||0;"perspective"===s&&(r=a),"in"===i?e[o]=[["elInY","elCenterY"],[a,r]]:void 0===e[o]?e[o]=[["elCenterY","elOutY"],[r,a]]:(e[o][0].push("elOutY"),e[o][1].push(a))}}));const n={scrollY:e};this.elements.push(new d(this,t,n))};removeElement=t=>{this.elements=this.elements.filter((e=>e.domElement!==t))}}})(),e((()=>{window.stackableAnimations.addDriver("scrollY",(()=>window.scrollY)),window.stackableAnimations.init()}));const s="stk-entrance-done",i="stk-entered",o="stk-will-enter";window.stackableEntrance=new class{callback=t=>{t.forEach((t=>{if(t.isIntersecting){const e=t.target;e.ontransitionend=()=>{e.classList.add(s),e.ontransitionend=null},e.classList.add(i)}}))};init=()=>{const t=document.querySelectorAll(".stk-entrance");"IntersectionObserver"in window?(this.io&&this.io.disconnect(),this.io=new IntersectionObserver(this.callback,{threshold:.25}),t.forEach((t=>{t.classList.add(o),this.io.observe(t)}))):t.forEach((t=>{t.classList.add(o),t.classList.add(s),t.classList.add(i)}))}},e(window.stackableEntrance.init),frontend_effects__premium_only=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.