PageSourceSearch

https://balliq.app/assets/mysteryPlayer-CgPrIUKK.js

js balliq.app collected 2026-09-24 14:08:43 UTC 3,563 bytes, 6 lines download raw bytes

1import"./react-PZFeUDsy.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new t.Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="7d7d103f-b7cd-4f47-9369-647a8fd5aed8",t._sentryDebugIdIdentifier="sentry-dbid-7d7d103f-b7cd-4f47-9369-647a8fd5aed8")}catch{}})();const u={club:100,sharedClub:45,overlap:72,overlapFull:8,sharedClubMax:3,era:150,slot:100,position:50,nat:150,age:100},f=2026;function M([,t,e],[,n,r]){return t==null||n==null?0:Math.max(0,Math.min(e??f,r??f)-Math.max(t,n))}function b(t,e){const n=e?.p?.[t.id];return!n||!n.length?!0:n.some(([,,r])=>r==null)}function p(t,e,n){const r=n?.p?.[t.id],s=n?.p?.[e.id];if(!r||!s)return 0;const a=new Map;for(const o of s){const i=a.get(o[0]);(!i||(o[2]??f)-o[1]>(i[2]??f)-i[1])&&a.set(o[0],o)}const l=[];for(const o of r){const i=a.get(o[0]);if(!i)continue;const c=M(o,i);l.push(u.sharedClub+u.overlap*Math.min(c,u.overlapFull)/u.overlapFull)}return l.sort((o,i)=>i-o),l.slice(0,u.sharedClubMax).reduce((o,i)=>o+i,0)}function D(t,e,n=null){let r=0;t.club===e.club&&b(t,n)&&b(e,n)&&(r+=u.club),r+=p(t,e,n),t.slot&&t.slot===e.slot&&(r+=u.slot),t.position&&t.position===e.position&&(r+=u.position),t.nat&&t.nat===e.nat&&(r+=u.nat);{const l=Math.abs((t.born||0)-(e.born||0));t.born&&e.born&&(r+=u.era*(l<=10?1:Math.exp(-(l-10)/6)))}const s=365.25,a=t.dob&&e.dob?Math.abs(Date.parse(t.dob)-Date.parse(e.dob))/864e5:null;return a!==null&&Number.isFinite(a)?r+=u.age*Math.exp(-a/(6*s)):t.born&&e.born&&(r+=u.age*Math.exp(-Math.abs(t.born-e.born)/6)),r}function v(t,e,n=null){const r=t.map(a=>({id:a.id,name:a.name,s:D(a,e,n)}));r.sort((a,l)=>l.s-a.s||a.name.localeCompare(l.name));const s=new Map;return r.forEach((a,l)=>s.set(a.id,l+1)),s.set(e.id,1),s}function Y(t,e){return t===1?"win":t<=Math.max(10,Math.round(e*.01))?"hot":t<=Math.max(60,Math.round(e*.08))?"warm":"cold"}const h=20668,F=!0;function x(t=new Date){return Math.floor(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())/864e5)}function I(t=new Date){return x(t)-h+1}function _(t,e){const n=e-h;return n>=0&&n<t.length?t[n]:null}function d(t){return String(t||"").toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9 ]/g," ").replace(/\s+/g," ").trim()}function C(t,e){const n=d(e);if(!n)return null;const r=t.find(a=>d(a.name)===n);if(r)return r;const s=t.filter(a=>{const l=d(a.name).split(" ");for(let o=l.length-1;o>=0;o--)if(l.slice(o).join(" ")===n)return!0;return!1});return s.length===1?s[0]:null}const g=t=>`biq_mystery_${t}`;function y(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function E(t,e){try{localStorage.setItem(g(y(t)),JSON.stringify(e))}catch{}}function S(t){try{const e=localStorage.getItem(g(y(t)));return e?JSON.parse(e):null}catch{return null}}function N(t=new Date){let e=0;const n=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(let r=0;r<366;r++){const s=S(n);if(!s||!s.won||s.arc)break;e++,n.setDate(n.getDate()-1)}return e}function k({number:t,guesses:e=[],won:n,streak:r=0}={}){const s=`⚽ Ball IQ · Mystery Player${t>0?` #${t}`:""}`,a={win:"🟩",hot:"🟩",warm:"🟨",cold:"⬜"},l=[...e].sort((c,m)=>m.rank-c.rank).map(c=>a[c.band]||"⬜").join(""),o=n?`Solved in ${e.length} ${e.length===1?"guess":"guesses"}`:"Gave up",i=n&&r>1?`
2🔥 ${r}-day Mystery streak`:"";return`${s}
3${o}
4${l}${i}
5
6balliq.app/mystery`}export{F as M,_ as a,x as b,N as c,Y as d,C as e,k as f,S as l,I as m,d as n,v as r,E as s};

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.