1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3428],{83428:function(e,t,a){a.r(t),a.d(t,{default:function(){return analytics_Plausible}}),a(34406);var build_module=function(e){let getConfig=()=>({hashMode:!1,trackLocalhost:!1,url:location.href,domain:location.hostname,referrer:document.referrer||null,deviceWidth:window.innerWidth,apiHost:"https://plausible.io",...e}),trackEvent=(e,t,a)=>{!function(e,t,a){let r=/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*:)*?:?0*1$/.test(location.hostname)||"file:"===location.protocol;if(!t.trackLocalhost&&r)return console.warn("[Plausible] Ignoring event because website is running locally");try{if("true"===window.localStorage.plausible_ignore)return console.warn('[Plausible] Ignoring event because "plausible_ignore" is set to "true" in localStorage')}catch(e){}let n={n:e,u:t.url,d:t.domain,r:t.referrer,w:t.deviceWidth,h:t.hashMode?1:0,p:a&&a.props?JSON.stringify(a.props):void 0},o=new XMLHttpRequest;o.open("POST",`${t.apiHost}/api/event`,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(JSON.stringify(n)),o.onreadystatechange=()=>{4===o.readyState&&a&&a.callback&&a.callback()}}(e,{...getConfig(),...a},t)},trackPageview=(e,t)=>{trackEvent("pageview",t,e)};return{trackEvent,trackPageview,enableAutoPageviews:()=>{let page=()=>trackPageview(),t=history.pushState;return t&&(history.pushState=function(e,a,r){t.apply(this,[e,a,r]),page()},addEventListener("popstate",page)),e&&e.hashMode&&addEventListener("hashchange",page),trackPageview(),function(){t&&(history.pushState=t,removeEventListener("popstate",page)),e&&e.hashMode&&removeEventListener("hashchange",page)}},enableAutoOutboundTracking:(e=document,t={subtree:!0,childList:!0,attributes:!0,attributeFilter:["href"]})=>{function trackClick(e){trackEvent("Outbound Link: Click",{props:{url:this.href}}),setTimeout(()=>{location.href=this.href},150),e.preventDefault()}let a=new Set;function addNode(e){e instanceof HTMLAnchorElement?e.host!==location.host&&(e.addEventListener("click",trackClick),a.add(e)):"querySelectorAll"in e&&e.querySelectorAll("a").forEach(addNode)}function removeNode(e){e instanceof HTMLAnchorElement?(e.removeEventListener("click",trackClick),a.delete(e)):"querySelectorAll"in e&&e.querySelectorAll("a").forEach(removeNode)}let r=new MutationObserver(e=>{e.forEach(e=>{"attributes"===e.type?(removeNode(e.target),addNode(e.target)):"childList"===e.type&&(e.addedNodes.forEach(addNode),e.removedNodes.forEach(removeNode))})});return e.querySelectorAll("a").forEach(addNode),r.observe(e,t),function(){a.forEach(e=>{e.removeEventListener("click",trackClick)}),a.clear(),r.disconnect()}}}},r=a(2784),n=a(5853),analytics_Plausible=function(e){let{domain:t,enableAutoOutboundTracking:a}=e;return(0,r.useEffect)(()=>{let e=build_module({domain:t,apiHost:n.PJ});e.trackPageview(),a&&e.enableAutoOutboundTracking()},[t,a]),null}}}]);
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.