1const e=[["vpn",/vpn|å éå¨|ç¿»å¢|梯å|\bproxy\b|shadowsocks|wireguard|openvpn|\bv2ray\b|\bv2box\b|shadowrocket|quantumult|outline\s*client|\bipvanish\b|\bwarp\b/i],["lgbtq",/\bgay\b|lesbian|\blgbt|queer|grindr|transgender|\bhornet\b|\bscruff\b/i],["religion",/\bbible\b|\bquran\b|\bqur'an\b|\bkoran\b|\bislam|\bmuslim|\bprayer\b|\bsalah\b|\bazan\b|\badhan\b|\bchurch\b|\bbuddh|\btorah\b|\bjewish\b|\bhadith\b|å£ç»|å¤å
°ç»|ä½ç»|礼æ|Ù
صØÙ|اÙÙØ±Ø¢Ù|اÙÙØ±Ø§Ù/i],["dating",/\bdating\b|\btinder\b|\bhookup\b|交å|ç¸äº²|\bsingles\b/i],["gambling",/\bcasino\b|betting|\bbookmaker\b|\bpoker\b|\bslots\b|ÑÑавк|\b1xbet\b|\bbet365\b/i],["security",/password|authenticat|\b2fa\b|encrypt|onion|\btor\s*browser\b|\bprivacy\b|\bsecure\s*(mail|chat|browser)|å¯ç 管ç|duckduckgo|\bbrave\b|\bfirefox\b|1\.1\.1\.1|\bdns\b/i]],o={Social:"social",Communication:"social","News & Magazines":"news"},r=["vpn","social","news","security","religion","lgbtq","dating","gambling"],t=new Set(r),c=b=>t.has(b),s=b=>"g_"+b.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_|_$/g,"");function l(b,a){if(b){for(const[n,i]of e)if(i.test(b))return n}return a?o[a]??s(a):"unknown"}const g=b=>`appcat_${b}`;export{r as E,g as a,l as c,c as i};
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.