1import{r as s}from"./index-D1aKNduO.js";import{u as m}from"./useLevelBadgeData-DdbGaE3w.js";import{c as d}from"./levelProgress-CDNFyJrK.js";const x=["censusRecords","vitalRecords","notarialRecords","militaryRecords","landPropertyRecords","immigrationNaturalization","dnaAnalysis","churchParishRecords","newspapersObituaries","heraldryNobleLineages","africanAmericanGenealogy","jewishGenealogy","paleographyOldScript","lineageSocietyApplications","adoptionUnknownParentage"],h=r=>x.includes(r),v=["zeroToFive","fiveToTen","tenToTwenty","moreThanTwenty","preferNotToSay"],T=r=>{const{badges:t,levelBadgeRules:a,loading:i,error:c}=m(),e=s.useMemo(()=>d(r,a,t),[t,a,r]),l=s.useMemo(()=>{const n=e.expToNextLevel>0,o=n?e.currentExp+e.expToNextLevel:e.currentExp,u=n?Math.min(100,e.currentExp/Math.max(o,1)*100):100,p=n?Math.max(e.expToNextLevel,0):0,g=n?`${e.currentExp.toLocaleString()} / ${o.toLocaleString()} EXP`:`${e.currentExp.toLocaleString()} EXP`;return{displayLevel:e.level,currentLevelBadge:e.currentLevelBadge,nextLevelBadge:e.nextLevelBadge,hasNextLevel:n,expRemaining:p,currentExp:e.currentExp,progressPercentage:u,progressLabel:g}},[e]);return{loading:i,error:c,...l}};function f(r){if(typeof r=="number")return Number.isFinite(r)?r:null;if(typeof r!="string")return null;const t=Number(r.replace(/[,_]/g,"").trim());return Number.isFinite(t)?t:null}export{x as A,v as E,h as i,f as p,T as u};
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.