1var o=class extends Error{};o.prototype.name="InvalidTokenError";function s(e){return decodeURIComponent(atob(e).replace(/(.)/g,(t,r)=>{let n=r.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}function d(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return s(t)}catch{return atob(t)}}function i(e,t){if(typeof e!="string")throw new o("Invalid token specified: must be a string");t||(t={});let r=t.header===!0?0:1,n=e.split(".")[r];if(typeof n!="string")throw new o(`Invalid token specified: missing part #${r+1}`);let c;try{c=d(n)}catch(a){throw new o(`Invalid token specified: invalid base64 for part #${r+1} (${a.message})`)}try{return JSON.parse(c)}catch(a){throw new o(`Invalid token specified: invalid json for part #${r+1} (${a.message})`)}}var u=e=>{if(e=e.split(" ")[1]||e,!e||e.split(".").length!==3)return!1;let t=i(e),r=Math.floor(Date.now()/1e3);return t.exp<r+60};function l(e){try{return i(e)}catch{return}}export{u as a,l as b};
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.