1(function(){'use strict';if(!window.matchMedia||!window.matchMedia('(hover: none) and (pointer: coarse)').matches){return} 2var REARM_SCROLL=0.5;function wire(frame){var shield=frame.querySelector('[data-arv-live-shield]');if(!shield){return} 3var visible=!window.IntersectionObserver;var liftedAt=0;var page=document.createElement('button');page.type='button';page.className='arv-live__scroll';page.hidden=!0;page.textContent=shield.getAttribute('data-arv-scroll-label')||'Scroll page';frame.appendChild(page);function sync(){page.hidden=!shield.hidden||!visible} 4function arm(){shield.hidden=!1;sync()} 5function lift(){shield.hidden=!0;liftedAt=window.pageYOffset;sync()} 6shield.hidden=!1;shield.addEventListener('click',lift);page.addEventListener('click',arm);window.addEventListener('scroll',function(){if(shield.hidden&&Math.abs(window.pageYOffset-liftedAt)>window.innerHeight*REARM_SCROLL){arm()}},{passive:!0});if(!window.IntersectionObserver){return} 7var observer=new IntersectionObserver(function(entries){for(var i=0;i<entries.length;i++){visible=entries[i].isIntersecting;if(!visible){shield.hidden=!1}} 8sync()},{threshold:0});observer.observe(frame)} 9var frames=document.querySelectorAll('[data-arv-live-frame]');for(var i=0;i<frames.length;i++){wire(frames[i])}})()
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.