1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[54899],{17212:(e,t,n)=>{n.d(t,{$J:()=>w,At:()=>h,DI:()=>i,F5:()=>m,FC:()=>b,IF:()=>c,Q$:()=>y,RH:()=>_,Sf:()=>f,Um:()=>u,Vj:()=>v,YP:()=>s,dJ:()=>o,ih:()=>g,ip:()=>a,jk:()=>p,lx:()=>C,oF:()=>N,ow:()=>I,vp:()=>d,y:()=>l,zK:()=>E});var r=n(37811);let o=Number.parseInt("15",10),a=Number.parseInt(r.env.NEXT_PUBLIC_PROMPT_RUNS_PER_CREDIT||"30",10),i=Number.parseInt("1",10),c=Number.parseInt("1",10),l=Number.parseInt("500",10),u=Number.parseInt("25000",10),s=Number.parseInt("30",10),d=Number.parseInt("15",10);Number.parseInt("29",10);let p=Number.parseInt("25",10),b=Number.parseInt("250",10),m=Number.parseInt("1",10),_=Number.parseInt("50",10),f=Number.parseInt("250",10),h=Number.parseInt("2500",10),g=Number.parseInt("10",10),v=Number.parseInt("10",10),w=Number.parseInt("50",10),y=Number.parseInt(r.env.NEXT_PUBLIC_CITATION_OUTLINE_CREDITS||"5",10),N=Number.parseInt(r.env.NEXT_PUBLIC_PLACEMENT_SCORE_CREDITS||"0",10);(()=>{var e;let t=null==(e=r.env.NEXT_PUBLIC_PLACEMENT_SCORING_MONTHLY_CAP)?void 0:e.trim();if(t)return Number.isFinite(Number.parseInt(t,10))})();let I=Number.parseInt("30",10),C=Number.parseInt("14",10);function E(e){return e<=0?0:Math.max(1,Math.ceil(e/_))}Number.parseInt(r.env.NEXT_PUBLIC_SUBSCRIPTION_GRANT_GRACE_DAYS||"3",10),Number.parseInt(r.env.NEXT_PUBLIC_FREE_CITATION_SCORING_PAGES_PER_MONTH||"5",10),Number.parseInt(r.env.NEXT_PUBLIC_BRAND_CITATION_SCORING_PAGES_PER_MONTH||"50",10),Number.parseInt(r.env.NEXT_PUBLIC_AGENCY_CORE_CITATION_SCORING_PAGES_PER_MONTH||"250",10)},75219:(e,t,n)=>{function r(){return"https://www.spyglasses.io"}n.d(t,{JT:()=>f,un:()=>y,_P:()=>N,tQ:()=>h,CZ:()=>w,SG:()=>g,Yb:()=>v,$_:()=>r,v8:()=>l,nE:()=>b,Sv:()=>d,RN:()=>_,F9:()=>m,z_:()=>p}),n(37811);var o=n(37811);let a=new Set(["localhost","127.0.0.1","::1","spyglasses-dev.ngrok.io"]);function i(e){let t=e.trim().toLowerCase();if(!t)return"";if(t.startsWith("[")){let e=t.indexOf("]");return -1===e?t.slice(1):t.slice(1,e)}let n=t.indexOf(":");return -1!==n&&-1===t.indexOf(":",n+1)?t.slice(0,n):t}function c(e){if(!(null==e?void 0:e.trim()))return null;let t=e.trim();try{let e=/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:"https://".concat(t);return i(new URL(e).hostname)||null}catch(e){return i(t)||null}}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.env;if(!e)return!0;let n=i(e);if(!n||a.has(n)||n.endsWith(".vercel.app"))return!0;let r=c(t.NEXT_PUBLIC_SITE_URL);if(r&&(r.startsWith("www.")?[r,r.slice(4)]:[r,"www.".concat(r)]).includes(n))return!0;let l=c(t.NEXT_PUBLIC_VERCEL_URL);if(l&&l===n)return!0;let u=t.NEXT_PUBLIC_CANONICAL_HOSTS;if(u)for(let e of u.split(",")){let t=c(e);if(t&&t===n)return!0}return!1}n(37811);var u=n(81603);async function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{let{authToken:n,internal:r=!0}=t,o=await fetch("/api/revalidate/bots",{method:"POST",headers:{"Content-Type":"application/json",...n?{Authorization:"Bearer ".concat(n)}:{}},body:JSON.stringify({tags:e,internal:r})});if(!o.ok){let e=await o.json();throw Error(e.error||"Failed to revalidate cache")}return await o.json()}catch(e){return u.v.error("Cache revalidation failed:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}}let d=e=>s(["bot-category","bot-subcategory","bot-type"],e),p=e=>s(["bot-type","patterns"],e),b=e=>s(["bot-category","bot-subcategory","bot-type","patterns"],e),m=e=>s(["bot-subcategory","bot-type","patterns"],e),_=e=>s(["bot-pattern","bot-type","patterns"],e);function f(e,t){if(!e||0===e.length)return void console.warn("No data to export");let n=Object.keys(e[0]),r=new Blob([[n.join(","),...e.map(e=>n.map(t=>{let n=e[t];return"string"==typeof n&&(n.includes(",")||n.includes('"'))?'"'.concat(n.replace(/"/g,'""'),'"'):n}).join(","))].join("\n")],{type:"text/csv;charset=utf-8;"}),o=document.createElement("a"),a=URL.createObjectURL(r);o.setAttribute("href",a),o.setAttribute("download","".concat(t,".csv")),o.style.visibility="hidden",document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)}function h(e,t,n){f(e.map(e=>({category:e.category||e.name,visits:e.count||e.value,percentage:e.percentage,...void 0!==e.blocked_count&&{blocked_count:e.blocked_count,allowed_count:e.allowed_count,blocked_percentage:e.blocked_percentage,allowed_percentage:e.allowed_percentage}})),t?"".concat(t,"-").concat(n,"-").concat(I(new Date)):"".concat(n,"-").concat(I(new Date)))}function g(e,t,n,r){f(e.map(e=>({location:e.name,visits:e.count,percentage:e.percentage,...e.country_code&&{country_code:e.country_code},...e.region&&{region:e.region},...e.city&&{city:e.city}})),t?"".concat(t,"-").concat(n,"-").concat(r,"-").concat(I(new Date)):"".concat(n,"-").concat(r,"-").concat(I(new Date)))}function v(e,t,n,r){let o;if(!e||0===e.length)return void console.warn("No data to export");let a=e[0];if(!("bot_visits"in a)&&Object.keys(a).some(e=>"time_bucket"!==e&&"date_label"!==e&&"full_date"!==e&&"number"==typeof a[e])){let t=["time_bucket","date_label","full_date"],n=Object.keys(a).filter(e=>!t.includes(e)&&"number"==typeof a[e]);o=e.map(e=>{let t={date:e.time_bucket||e.date_label};for(let r of n)t[r]=e[r]||0;return t})}else o=e.map(e=>({date:e.time_bucket||e.date_label,bot_visits:e.bot_visits||0,human_visits:e.human_visits||0,conversion_rate:e.conversion_rate||0}));let i=t?"".concat(t,"-").concat(n,"-").concat(I(new Date)):"".concat(n,"-").concat(I(new Date));r?function(e,t,n,r){if(!e||0===e.length)return console.warn("No data to export");let o=[];o.push("Export Date,".concat(new Date().toISOString())),r&&o.push("Property,".concat(r));let a=[];n.timeRange&&a.push("Time Range: ".concat(n.timeRange)),n.pagePath&&a.push("Page: ".concat(n.pagePath)),n.aiModel&&a.push("AI Model: ".concat(n.aiModel)),n.country&&a.push("Country: ".concat(n.country)),n.region&&a.push("Region: ".concat(n.region)),n.city&&a.push("City: ".concat(n.city)),a.length>0?o.push('Filters Applied,"'.concat(a.join("; "),'"')):o.push("Filters Applied,None"),o.push("");let i=Object.keys(e[0]),c=new Blob([[...o,i.join(","),...e.map(e=>i.map(t=>{let n=e[t];return"string"==typeof n&&(n.includes(",")||n.includes('"'))?'"'.concat(n.replace(/"/g,'""'),'"'):n}).join(","))].join("\n")],{type:"text/csv;charset=utf-8;"}),l=document.createElement("a"),u=URL.createObjectURL(c);l.setAttribute("href",u),l.setAttribute("download","".concat(t,".csv")),l.style.visibility="hidden",document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(u)}(o,i,r,t):f(o,i)}async function w(e,t,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"png";try{let a=await n.e(38316).then(n.bind(n,21705)),i=document.getElementById(e);if(!i)return void console.error("Element with id '".concat(e,"' not found"));(await a.default(i,{backgroundColor:"#ffffff",scale:2,useCORS:!0,allowTaint:!1,logging:!1,width:i.scrollWidth,height:i.scrollHeight})).toBlob(e=>{if(e){let n=URL.createObjectURL(e),a=document.createElement("a");a.href=n,a.download=t?"".concat(t,"-").concat(r,"-").concat(I(new Date),".").concat(o):"".concat(r,"-").concat(I(new Date),".").concat(o),a.style.visibility="hidden",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(n)}},"image/".concat(o),.95)}catch(e){console.error("Failed to export chart as image:",e)}}async function y(e,t){var r,o,a;let i=document.getElementById(e);if(!i)throw Error("Element with id '".concat(e,"' not found"));let c=null!=(a=null==t?void 0:t.textFallback)?a:"";if("undefined"!=typeof ClipboardItem&&"undefined"!=typeof navigator&&(null==(r=navigator.clipboard)?void 0:r.write)){let e=await n.e(38316).then(n.bind(n,21705)),t=await e.default(i,{backgroundColor:"#ffffff",scale:2,useCORS:!0,allowTaint:!1,logging:!1,width:i.scrollWidth,height:i.scrollHeight}),r=await new Promise(e=>t.toBlob(t=>e(t),"image/png",.95));if(r){let e={"image/png":r};
1return c&&(e["text/plain"]=new Blob([c],{type:"text/plain"})),await navigator.clipboard.write([new ClipboardItem(e)]),!0}}if(c&&(null==(o=navigator.clipboard)?void 0:o.writeText))return await navigator.clipboard.writeText(c),!1;throw Error("Clipboard image copy not supported in this browser")}async function N(e,t){var n,r;let o=null!=t?t:e.replace(/<[^>]+>/g,"");if("undefined"!=typeof ClipboardItem&&"undefined"!=typeof navigator&&(null==(n=navigator.clipboard)?void 0:n.write))return void await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([e],{type:"text/html"}),"text/plain":new Blob([o],{type:"text/plain"})})]);if(null==(r=navigator.clipboard)?void 0:r.writeText)return void await navigator.clipboard.writeText(o);throw Error("Clipboard not supported in this browser")}function I(e){return e.toISOString().split("T")[0]}},81603:(e,t,n)=>{n.d(t,{v:()=>a});var r=n(95908),o=n(37811);let a=(0,r.si)({level:"true"===o.env.SPYGLASSES_DEBUG||"1"===o.env.INNGEST_DEV?r.cm.debug:r.cm.warn,formatOptions:{date:!1}})},82964:(e,t,n)=>{n.d(t,{cn:()=>a});var r=n(81010),o=n(95986);function a(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.QP)((0,r.$)(t))}}}]);
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.