1/*function debounce, function throttle, function sea_get_browser, function page loader, function return is has not gsap*/ 2sea_now=Date.now||function(){return(new Date).getTime()};sea_debounce=function(n,u,t){var e,l,o,r,i,a=function(){var c=sea_now()-r;c<u&&c>=0?e=setTimeout(a,u-c):(e=null,t||(i=n.apply(o,l),e||(o=l=null)))};return function(){o=this,l=arguments,r=sea_now();var c=t&&!e;return e||(e=setTimeout(a,u)),c&&(i=n.apply(o,l),o=l=null),i}};function sea_throttle(n,l,t){var a,e,u,i,r=0;t||(t={});var o=function(){r=!1===t.leading?0:sea_now(),a=null,i=n.apply(e,u),a||(e=u=null)},c=function(){var c=sea_now();r||!1!==t.leading||(r=c);var f=l-(c-r);return e=this,u=arguments,f<=0||f>l?(a&&(clearTimeout(a),a=null),r=c,i=n.apply(e,u),a||(e=u=null)):a||!1===t.trailing||(a=setTimeout(o,f)),i};return c.cancel=function(){clearTimeout(a),r=0,a=e=u=null},c}function sea_get_browser(){var e,r=navigator.userAgent,a=r.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(a[1])?{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(r)||[])[1]||""}:"Chrome"===a[1]&&null!=(e=r.match(/\bOPR\/(\d+)/))?{name:"Opera",version:e[1]}:(a=a[2]?[a[1],a[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=r.match(/version\/(\d+)/i))&&a.splice(1,1,e[1]),{name:a[0],version:a[1]})} 3function sea_page_loader(el){var _url=el.attr('href'),pageLoader=jQuery('.page-loading');if(_url){if(el.attr('target')==='_blank'){return}else{setTimeout(function(){pageLoader.addClass('visible');},100);setTimeout(function(){window.location.href=_url;},400);return false;}}} 4function has_gsap() {if(!window.gsap) {alert('Please enable BM Content Builder plugin');return;}} 5function sea_cursor_follower(linkEle){ 6 has_gsap(); 7 const seaBody = jQuery('body'), 8 seaCursor = jQuery('.sea-cursor'); 9 if (!seaCursor.length) return; 10 const pos = { x: window.innerWidth / 2, y: window.innerHeight / 2 }, 11 mouse = { x: pos.x, y: pos.y }, 12 speed = 0.35, 13 dot = seaCursor.find('.sea-cursor-dot'), 14 text = seaCursor.find('.cursor-text-in'), 15 xSet = gsap.quickSetter(seaCursor, 'x', 'px'), 16 ySet = gsap.quickSetter(seaCursor, 'y', 'px'); 17 18 window.addEventListener("mousemove", e => { 19 mouse.x = e.x; 20 mouse.y = e.y; 21 seaCursor.css({'visibility': 'visible'}) 22 }); 23 24 linkEle.each(function () { 25 const link = jQuery(this); 26 link.on('mouseenter', e => { 27 if (!seaBody.hasClass('isHover')) seaBody.addClass('isHover'); 28 if (link.hasClass('grid-item-mask-link')) { 29 // dot.css({'opacity':'0'}) 30 dot.css({'transform':'scale(2)'}) 31 text.css({'transform':'translateY(0)'}) 32 link.css({'cursor':'none'}) 33 } else { 34 dot.css({'transform':'scale(1.35)'}) 35 } 36 }) 37 38 link.on('mouseleave', e => { 39 if (seaBody.hasClass('isHover')) seaBody.removeClass('isHover'); 40 dot.css({'opacity':'','transform':''}) 41 text.css({'transform':''}) 42 }) 43 44 link.on('mousedown', e => { 45 if (e.which && e.which === 1) dot.css({'transform':'scale(3)'}) 46 }) 47 link.on('mouseup', e => { 48 dot.css({'transform':''}) 49 }) 50 }) 51 52 gsap.ticker.add(() => { 53 const dt = 1.0 - Math.pow(1.0 - speed, gsap.ticker.deltaRatio()); 54 pos.x += (mouse.x - pos.x) * dt; 55 pos.y += (mouse.y - pos.y) * dt; 56 xSet(pos.x); 57 ySet(pos.y); 58 }); 59}
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.