1NWS.initNamespace("NWS.Display.DOMObserver",function(){var _={params:null,defaultObserverOptions:{root:document.body,rootMargin:"0px",threshold:.1},lastTimeout:null,mutationObserver:null,intersectionObservers:[],initParams:function(params){_.params=params||{};_.params.observerOptions=_.params.observerOptions||_.defaultObserverOptions},checkForIntersecting:function(intersectionObserver,entries,elementIntersectingCallback,elementStopsIntersectingCallback,elementsActivatedCallback,removeObserverOnIntersect,removeObserverOnStopIntersect){var elementActivated=!1;entries.forEach(function(entry){entry.isIntersecting?(elementActivated=!0,typeof elementIntersectingCallback=="function"&&elementIntersectingCallback(entry),removeObserverOnIntersect&&intersectionObserver.unobserve(entry.target)):(typeof elementStopsIntersectingCallback=="function"&&elementStopsIntersectingCallback(entry),removeObserverOnStopIntersect&&intersectionObserver.unobserve(entry.target))});elementActivated&&typeof elementsActivatedCallback=="function"&&elementsActivatedCallback()}};return{init:function(params){_.initParams(params);typeof params.callback=="function"&¶ms.callback()},WaitForAddedNodes:function(params){if(_.initParams(params),typeof _.params.nodesExist!="function"||typeof _.params.init!="function"){console.error("NWS.Display.DOMObserver.WaitForAddedNodes requires nodesExist function returning boolean and an init function to be run once nodes exist.");return}var navData=window.performance.getEntriesByType("navigation");if(navData.length>0&&navData[0].loadEventEnd>0&&_.params.nodesExist()){_.params.init();return}_.mutationObserver=new MutationObserver(function(){_.lastTimeout&&clearTimeout(_.lastTimeout);_.lastTimeout=setTimeout(function(){_.params.nodesExist()&&(_.mutationObserver.disconnect(),_.params.init())},_.params.checkDelayMS||10)},_.params.observerOptions);_.mutationObserver.observe(_.params.rootNode||document,{subtree:!!params.observeSubtree,childList:!!params.observeSubtree||!!params.observeChildren,attributes:!!params.observeAttributes},_.params.observerOptions)},AddIntersectionObserver:function(observedElementSelector,elementIntersectingCallback,elementStopsIntersectingCallback,elementsActivatedCallback,options,removeObserverOnIntersect,removeObserverOnStopIntersect){if(_.params=_.params||{},_.params.observerOptions=options||_.params.observerOptions||_.params.defaultObserverOptions,typeof IntersectionObserver=="undefined"){console.warn("Intersection observer functionality not available. Executing callbacks.");document.querySelectorAll(observedElementSelector).forEach(function(el){elementActivatedCallback(el)});elementsActivatedCallback();return}var observer=_.intersectionObservers.filter(_observer=>_observer.observedElementSelector==observedElementSelector)[0];observer||(observer={observedElementSelector:observedElementSelector,intersectionObserver:new IntersectionObserver(function(entries){_.checkForIntersecting(this,entries,elementIntersectingCallback,elementStopsIntersectingCallback,elementsActivatedCallback,removeObserverOnIntersect,removeObserverOnStopIntersect)},_.params.observerOptions)},_.intersectionObservers.push(observer));document.querySelectorAll(observedElementSelector).forEach(function(el){observer.intersectionObserver.observe(el)})},Closest:function(el,selector){if(!el)return null;var closest=el.querySelector(selector);return closest?closest:NWS.Display.DOMObserver.Closest(el.parentNode,selector)}}})
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.