1import{a as e,o as t,s as n}from"./client-BEtK2P9H.js";function r(t){let n=t.headers.get(e);if(!n)return null;let r=n.trim().toLowerCase();return!r||!l(r)?null:{slug:r}}var i={resolveFromRequest(e){let t=r(e);if(t)return t;try{let t=new URL(e.url);return i.resolveFromLocation({pathname:t.pathname,host:t.host})}catch{return null}},resolveFromLocation({pathname:e}){let n=`${t}/`;if(!e.startsWith(n))return null;let r=e.slice(n.length).split(`/`)[0]?.toLowerCase();return!r||!l(r)?null:{slug:r}},buildPath(e,n=`/`){let r=n.startsWith(`/`)?n:`/${n}`;return`${t}/${e}${r===`/`?``:r}`}},a=new Set([`www`,`app`,`api`,`admin`,`auth`,`dashboard`,`id-preview`]),o={resolveFromRequest(e){let t=r(e);if(t)return t;try{let t=new URL(e.url);return o.resolveFromLocation({pathname:t.pathname,host:t.host})}catch{return null}},resolveFromLocation({host:e}){if(!e)return null;let t=(e.split(`:`)[0]?.toLowerCase()??``).split(`.`);if(t.length<3)return null;let n=t[0];return!n||a.has(n)||!l(n)?null:{slug:n}},buildPath(e,t=`/`){return t.startsWith(`/`)?t:`/${t}`}};function s(){let e=n();return e===`subdomain`?o:e===`custom`?c:i}var c={resolveFromRequest(e){return r(e)},resolveFromLocation(){return null},buildPath(e,t=`/`){return t.startsWith(`/`)?t:`/${t}`}};function l(e){return/^[a-z0-9][a-z0-9-]{1,38}[a-z0-9]$/.test(e)}export{l as n,s as 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.