1(()=>{"use strict";const t={x:0,y:0,opacity:1,scale:1,rotate:0,transition:{type:"spring",stiffness:300,damping:35,mass:2,delay:0}},{GHOSTKIT:{events:e,instance:n},Motion:{animate:a,spring:r,inView:o}}=window,s=window.matchMedia("(prefers-reduced-motion: reduce)").matches;e.on(document,"init.blocks.gkt",(()=>{document.querySelectorAll("[data-gkt-effects]").forEach((function(i){if(s)return void i.removeAttribute("data-gkt-effects");const c=i.getAttribute("data-gkt-effects");let g;try{g=JSON.parse(c)}catch(t){g=!1}if(i.removeAttribute("data-gkt-effects"),!g)return;if(e.trigger(i,"prepare.effects.gkt",{data:g}),n.set(i,"effects",g),!g?.reveal)return;const l={...t,...g.reveal};e.trigger(i,"prepare.effects.reveal.gkt",{config:l});const f=o(i,(()=>{i.classList.remove("ghostkit-effects-reveal");const t={};"easing"===l?.transition?.type?(t.type="tween",t.duration=l.transition.duration,t.delay=l.transition.delay,t.ease=l.transition.easing):"spring"===l?.transition?.type&&(t.type=r,t.delay=l.transition.delay,t.stiffness=l.transition.stiffness,t.damping=l.transition.damping,t.mass=l.transition.mass);const n={};1!==l.opacity&&(n.opacity=[l.opacity,1]),0!==l.x&&(n.x=[l.x,0]),0!==l.y&&(n.y=[l.y,0]),1!==l.scale&&(n.scale=[l.scale,1]),0!==l.rotate&&(n.rotate=[l.rotate,0]);const o={config:l,keyframes:n,options:t,stopInView:f,leaveCallback:()=>{}};return e.trigger(i,"show.effects.reveal.gkt",o),o.stopInView(),a(i,n,t).then((()=>{e.trigger(i,"showed.effects.reveal.gkt",o)})),o.leaveCallback}));e.trigger(i,"prepared.effects.reveal.gkt",{config:l})}))})),e.on(document,"init.blocks.gkt",(()=>{document.querySelectorAll(".ghostkit-count-up:not(.ghostkit-count-up-ready)").forEach((t=>{if(t.classList.add("ghostkit-count-up-ready"),s)return;const n=t.classList.contains("ghostkit-progress-bar"),r=parseFloat(t.getAttribute("data-count-from"))||0,i=parseFloat(n?t.getAttribute("aria-valuenow"):t.textContent)||0;let c,g,l=0,f="";n||(f=t.textContent.replace(i,"${val}")),/\${val}/.test(f)||(f="${val}"),n?(c=t.closest(".ghostkit-progress").querySelector(".ghostkit-progress-bar-count"),c&&(g=c.querySelector(":scope > div > span:nth-child(2)"),c.style.width="0%",g.textContent="0"),t.style.width="0%"):(t.textContent=f.replace("${val}",r),l=Math.max((`${r}`.split(".")?.[1]||"").length,(`${i}`.split(".")?.[1]||"").length));const d={from:r,to:i,duration:1,easing:[.6,0,.3,1],cb(e){const a=(i-r)*e+r;n?g&&(g.textContent=Math.ceil(a)):t.textContent=f.replace("${val}",function(t,e=1){const n=10**e;return Math.round(t*n)/n}(a,l))}};e.trigger(t,"prepare.counter.gkt",{config:d});const u=o(t,(()=>{u(),e.trigger(t,"count.counter.gkt",{config:d}),n&&[t,c].forEach((t=>{t&&a(t,{width:`${i}%`},{duration:d.duration,ease:d.easing})})),a(0,1,{duration:d.duration,ease:d.easing,onUpdate:t=>{d.cb(t)}}).then((()=>{e.trigger(t,"counted.counter.gkt",{config:d})}))}),{margin:"-50px"})}))}))})();
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.