1!function(){function t(t){const e=t.querySelector("video");if(!e)return;const r=parseInt(t.getAttribute("data-scrub-start-pixels"))||0;new Promise(t=>{if(!isNaN(e.duration)&&e.duration>0)return t();e.addEventListener("loadedmetadata",t,{once:!0})}).then(()=>{if(!window.gsap||!window.ScrollTrigger)return;window.gsap.registerPlugin(window.ScrollTrigger);const n=()=>e.duration||1;let o=null,a=0;try{e.pause(),e.currentTime=0,e.preload="metadata",e.muted=!0}catch(t){}const i=()=>{Math.abs(e.currentTime-a)>.1&&(e.currentTime=a),o=null};window.ScrollTrigger.create({trigger:t,start:r>0?`top top+=${r}px`:"top top",end:"bottom top",scrub:1,onUpdate:t=>{const e=t.progress*n();!Number.isNaN(e)&&e>=0&&e<=n()&&(a=e,o||(o=requestAnimationFrame(i)))},onRefresh:()=>{try{e.currentTime=0,a=0}catch(t){}}})})}var e;e=()=>{document.querySelectorAll('[data-scrub-video="true"]').forEach(t)},"loading"!==document.readyState?e():document.addEventListener("DOMContentLoaded",e)}();
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.