1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{3022:(e,t,n)=>{"use strict";n.d(t,{C:()=>i});var r=n(41463);let i={twitterHandle:r.env.NEXT_PUBLIC_TWITTER_HANDLE||"@BuildOnErgo",twitterLink:"https://x.com/BuildOnErgo",telegramLink:"https://t.me/ergoplatform",discordLink:"https://discord.com/invite/ergo-platform-668903786361651200",siteUrl:r.env.NEXT_PUBLIC_SITE_URL||"https://www.ergoblockchain.org",beehiivApiKey:r.env.BEEHIIV_API_KEY||"",beehiivPublicationId:r.env.BEEHIIV_PUBLICATION_ID||"",googleAnalyticsId:r.env.NEXT_PUBLIC_GA_ID||"G-S4TR1WWM7Q"}},8032:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,51743,23)),Promise.resolve().then(n.bind(n,69486)),Promise.resolve().then(n.bind(n,13702))},13702:(e,t,n)=>{"use strict";n.d(t,{SEOMonitor:()=>i}),n(95155);var r=n(12115);function i({enabled:e=!1,debug:t=!1}){let[n,a]=(0,r.useState)(null),[o,l]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>{let e=performance.now(),n=document.title,r=document.querySelector('meta[name="description"]')?.getAttribute("content")||"",i=document.querySelectorAll("h1"),o=document.querySelectorAll("h2"),s=document.querySelectorAll("img"),d=Array.from(s).filter(e=>!e.alt||""===e.alt.trim()).length,c=document.querySelectorAll("a[href]"),u=Array.from(c).filter(e=>{let t=e.getAttribute("href");return t&&(t.startsWith("/")||t.includes(window.location.hostname))}).length,m=c.length-u,h=(document.body.textContent||"").split(/\s+/).filter(e=>e.length>0).length,g=!!document.querySelector('link[rel="canonical"]'),p=!!document.querySelector('meta[property^="og:"]'),f=!!document.querySelector('meta[name^="twitter:"]'),v=!!document.querySelector('script[type="application/ld+json"]'),y=performance.now(),T={pageTitle:n,metaDescription:r,h1Count:i.length,h2Count:o.length,imageCount:s.length,imagesWithoutAlt:d,internalLinks:u,externalLinks:m,wordCount:h,hasCanonical:g,hasOpenGraph:p,hasTwitterCard:f,hasStructuredData:v,loadTime:y-e};if(a(T),t){let e=0;n.length>=30&&n.length<=60&&(e+=10),r.length>=120&&r.length<=155&&(e+=10),1===i.length&&(e+=10),0===d&&(e+=10),g&&(e+=10),p&&(e+=10),f&&(e+=10),v&&(e+=10),u>=3&&(e+=10),h>=300&&(e+=10),l(e)}fetch("/api/analytics/seo-metrics",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...T,url:window.location.href,timestamp:Date.now()})}).catch(console.error)},1e3);return()=>clearTimeout(n)},[e,t]),null}},51743:()=>{},69486:(e,t,n)=>{"use strict";let r;n.d(t,{GoogleAnalytics:()=>V});var i=n(95155),a=n(3022),o=n(73321),l=n(65596),s=n(12115);let d=-1,c=e=>{addEventListener("pageshow",t=>{t.persisted&&(d=t.timeStamp,e(t))},!0)},u=(e,t,n,r)=>{let i,a;return o=>{let l;t.value>=0&&(o||r)&&((a=t.value-(i??0))||void 0===i)&&(i=t.value,t.delta=a,l=t.value,t.rating=l>n[1]?"poor":l>n[0]?"needs-improvement":"good",e(t))}},m=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},h=()=>{let e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},g=()=>{let e=h();return e?.activationStart??0},p=(e,t=-1)=>{let n=h(),r="navigate";return d>=0?r="back-forward-cache":n&&(document.prerendering||g()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(0x82f79cd8fff*Math.random())+1e12}`,navigationType:r}},f=new WeakMap;function v(e,t){return f.get(e)||f.set(e,new t),f.get(e)}class y{t;i=0;o=[];h(e){if(e.hadRecentInput)return;let t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}let T=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){let r=new PerformanceObserver(e=>{Promise.resolve().then(()=>{t(e.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},w=e=>{let t=!1;return()=>{t||(e(),t=!0)}},b=-1,_=new Set,P=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,S=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(let e of _)e();isFinite(b)||(b="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",S,!0))}},C=()=>
1{if(b<0){let e=g();b=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter(t=>"hidden"===t.name&&t.startTime>e)[0]?.startTime)??P(),addEventListener("visibilitychange",S,!0),addEventListener("prerenderingchange",S,!0),c(()=>{setTimeout(()=>{b=P()})})}return{get firstHiddenTime(){return b},onHidden(e){_.add(e)}}},E=e=>{document.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},I=[1800,3e3],L=(e,t={})=>{E(()=>{let n=C(),r,i=p("FCP"),a=T("paint",e=>{for(let t of e)"first-contentful-paint"===t.name&&(a.disconnect(),t.startTime<n.firstHiddenTime&&(i.value=Math.max(t.startTime-g(),0),i.entries.push(t),r(!0)))});a&&(r=u(e,i,I,t.reportAllChanges),c(n=>{r=u(e,i=p("FCP"),I,t.reportAllChanges),m(()=>{i.value=performance.now()-n.timeStamp,r(!0)})}))})},A=[.1,.25],k=0,N=1/0,M=0,x=e=>{for(let t of e)t.interactionId&&(N=Math.min(N,t.interactionId),k=(M=Math.max(M,t.interactionId))?(M-N)/7+1:0)},q=()=>r?k:performance.interactionCount??0,B=0;class O{u=[];l=new Map;m;p;v(){B=q(),this.u.length=0,this.l.clear()}L(){let e=Math.min(this.u.length-1,Math.floor((q()-B)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&"first-input"!==e.entryType)return;let t=this.u.at(-1),n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t.P-e.P),this.u.length>10)for(let e of this.u.splice(10))this.l.delete(e.id);this.p?.(n)}}}let j=e=>{let t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(addEventListener("visibilitychange",e=w(e),{once:!0,capture:!0}),t(()=>{e(),removeEventListener("visibilitychange",e,{capture:!0})}))},H=[200,500];class D{m;h(e){this.m?.(e)}}let F=[2500,4e3],W=[800,1800],R=e=>{document.prerendering?E(()=>R(e)):"complete"!==document.readyState?addEventListener("load",()=>R(e),!0):setTimeout(e)};function $({debug:e=!1}){return(0,s.useEffect)(()=>{let t=t=>{e&&console.log(`[Web Vitals] ${t.name}:`,t.value),window.gtag&&window.gtag("event",t.name,{event_category:"Web Vitals",event_label:t.id,value:Math.round("CLS"===t.name?1e3*t.value:t.value),non_interaction:!0,custom_map:{metric_id:"dimension1",metric_value:"metric1",metric_delta:"metric2"}}),fetch("/api/analytics/web-vitals",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t.name,value:t.value,id:t.id,delta:t.delta,rating:t.rating,navigationType:t.navigationType,url:window.location.href,timestamp:Date.now()})}).catch(console.error)};((e,t={})=>{let n=C();L(w(()=>{let r,i=p("CLS",0),a=v(t,y),o=e=>{for(let t of e)a.h(t);a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},l=T("layout-shift",o);l&&(r=u(e,i,A,t.reportAllChanges),n.onHidden(()=>{o(l.takeRecords()),r(!0)}),c(()=>{a.i=0,r=u(e,i=p("CLS",0),A,t.reportAllChanges),m(()=>r())}),setTimeout(r))}))})(t),L(t),((e,t={})=>{E(()=>{let n=C(),r,i=p("LCP"),a=v(t,D),o=e=>{for(let o of(t.reportAllChanges||(e=e.slice(-1)),e))a.h(o),o.startTime<n.firstHiddenTime&&(i.value=Math.max(o.startTime-g(),0),i.entries=[o],r())},l=T("largest-contentful-paint",o);if(l){r=u(e,i,F,t.reportAllChanges);let n=w(()=>{o(l.takeRecords()),l.disconnect(),r(!0)}),a=e=>{e.isTrusted&&(j(n),removeEventListener(e.type,a,{capture:!0}))};for(let e of["keydown","click","visibilitychange"])addEventListener(e,a,{capture:!0});c(n=>{r=u(e,i=p("LCP"),F,t.reportAllChanges),m(()=>{i.value=performance.now()-n.timeStamp,r(!0)})})}})})(t),((e,t={})=>{let n=p("TTFB"),r=u(e,n,W,t.reportAllChanges);R(()=>{let i=h();i&&(n.value=Math.max(i.responseStart-g(),0),n.entries=[i],r(!0),c(()=>{(r=u(e,n=p("TTFB",0),W,t.reportAllChanges))(!0)}))})})(t),((e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let n=C();E(()=>{"interactionCount"in performance||r||(r=T("event",x,{type:"event",buffered:!0,durationThreshold:0}));let i,a=p("INP"),o=v(t,O),l=e=>{j(()=>{for(let t of e)o.h(t);
1let t=o.L();t&&t.P!==a.value&&(a.value=t.P,a.entries=t.entries,i())})},s=T("event",l,{durationThreshold:t.durationThreshold??40});i=u(e,a,H,t.reportAllChanges),s&&(s.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{l(s.takeRecords()),i(!0)}),c(()=>{o.v(),i=u(e,a=p("INP"),H,t.reportAllChanges)}))})})(t),e&&(console.log("[Web Vitals] Thresholds:"),console.log("LCP: Good ⤠2.5s, Needs Improvement ⤠4.0s, Poor > 4.0s"),console.log("INP: Good ⤠200ms, Needs Improvement ⤠500ms, Poor > 500ms"),console.log("CLS: Good ⤠0.1, Needs Improvement ⤠0.25, Poor > 0.25"))},[e]),null}let G=a.C.googleAnalyticsId;function U(){let e=(0,o.usePathname)(),t=(0,o.useSearchParams)();return(0,s.useEffect)(()=>{var n;let r=t?.toString();n=r?`${e}?${r}`:e,G&&window.gtag&&window.gtag("config",G,{page_path:n})},[e,t]),null}function V(){return G?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.default,{src:`https://www.googletagmanager.com/gtag/js?id=${G}`,strategy:"afterInteractive"}),(0,i.jsx)(l.default,{id:"ga4-init",strategy:"afterInteractive",children:` 2 window.dataLayer = window.dataLayer || []; 3 function gtag(){dataLayer.push(arguments);} 4 gtag('js', new Date()); 5 gtag('config', '${G}', { 6 anonymize_ip: true, 7 page_path: window.location.pathname, 8 send_page_view: true, 9 custom_map: { 10 'custom_parameter_1': 'metric_id', 11 'custom_parameter_2': 'metric_value' 12 } 13 }); 14 `}),(0,i.jsx)(s.Suspense,{fallback:null,children:(0,i.jsx)(U,{})}),(0,i.jsx)($,{debug:!1})]}):null}}},e=>{e.O(0,[77438,50953,16689,49291,17573,14346,60795,10454,63669,35440,741,40404,57207,17591,26152,41668,26019,79041,77547,84986,27827,77275,5678,29138,35979,24289,68865,77358],()=>e(e.s=8032)),_N_E=e.O()}]);
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.