1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3715,3923],{13923:(t,n,e)=>{e.r(n),e.d(n,{confirmAdmin:()=>l,getAdminIpOk:()=>a});let c=null;function a(){if(!c){let t=fetch("/api/admin/ip-check",{cache:"no-store"}).then(t=>t.ok?t.json():null).then(t=>t?.ok===!0).catch(()=>(c===t&&(c=null),!1));c=t}return c}let i=null;function l(){if(!i){let t=fetch("/api/admin/ip-check",{cache:"no-store"}).then(async t=>{let n=200===t.status,e=!1;if(n)try{e=(await t.json())?.ok===!0}catch{}return{admin:n,ipOk:e}}).catch(()=>(i===t&&(i=null),{admin:!1,ipOk:!1}));i=t}return i}},53715:(t,n,e)=>{e.r(n),e.d(n,{startGaEngagement:()=>a});var c=e(13923);function a(t){let n,e=!0,a=()=>{e=!1,n&&window.clearInterval(n)},i=()=>{("u"<typeof document||"visible"===document.visibilityState)&&fetch("/api/admin/ga/engagement",{cache:"no-store"}).then(t=>403===t.status?(a(),null):t.ok?t.json():null).then(n=>{e&&n&&"object"==typeof n&&t(n)}).catch(()=>{})};return(0,c.confirmAdmin)().then(t=>{e&&t.admin&&(i(),n=window.setInterval(i,6e5))}),a}}}]);
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.