!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ObsessedLabs=t()}(this,(function(){"use strict";const e=()=>{const e=new Map,t=new WeakMap;return{cache:e,refs:t,init:()=>{console.log("[OL] Initializing...");const n=performance.now();return e.clear(),{timestamp:n,id:crypto.randomUUID()}}}};class t{constructor(e){this.config=e,this.state={ready:!1,connections:0}}async connect(){return this.state.ready=!0,this.state.connections++,Promise.resolve(this)}disconnect(){this.state.connections=Math.max(0,this.state.connections-1)}}const n=async(e,t)=>{const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify(t.payload)});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()};function r(e,t){return Object.keys(t).forEach((n=>{e[n]=t[n]})),e}const o={debounce:(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n=0;return(...r)=>{const o=Date.now();o-n>=t&&(n=o,e.apply(this,r))}}};var i=Object.freeze({__proto__:null,createStore:e,Connection:t,request:n,merge:r,utils:o});const s=window.matchMedia("(prefers-color-scheme:dark)"),a=document.documentElement,c=e=>{a.classList.toggle("dark",e.matches)};s.addEventListener("change",c);const l={primary:"#000",secondary:"#fff",accent:"#0a0a0a"},u=e=>Object.entries(e).map((([e,t])=>`--${e}:${t}`)).join(";");function d(e){return e.split("").reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)|0),0)}const f=new Proxy({},{get:(e,t)=>(...e)=>console.log(`[OL:${String(t)}]`,...e)});class p{#e=new Set;#t=null;constructor(){this.#t=requestAnimationFrame(this.#n.bind(this))}#n(e){this.#e.forEach((t=>t(e))),this.#t=requestAnimationFrame(this.#n.bind(this))}subscribe(e){return this.#e.add(e),()=>this.#e.delete(e)}destroy(){this.#t&&cancelAnimationFrame(this.#t)}}const h=(e,t)=>{const n=document.createElement("style");return n.textContent=`:root{${u(t)}}`,e.appendChild(n),{update:e=>{n.textContent=`:root{${u(e)}}`},remove:()=>n.remove()}};async function m(e){const t=[];for await(const n of e)t.push(n);return t}const g=e=>new Promise((t=>setTimeout(t,e))),v=()=>`ol_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,y={encode:e=>btoa(encodeURIComponent(e)),decode:e=>decodeURIComponent(atob(e))},b=Object.assign({},i,{theme:{colors:l,apply:h},loop:p,hash:d,log:f,delay:g,uid:v,base64:y,collect:m});return"undefined"!=typeof window&&(window.OL=b),b}));
(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();.ol-c{--g:linear-gradient(90deg,#000 25%,transparent 25%,transparent 75%,#000 75%);--s:4px;background:var(--g),var(--g);background-size:var(--s) var(--s)}.ol-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ol-animate{animation:ol-fade .3s ease-out}@keyframes ol-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ol-animate{animation:none}}(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=class{#state=new Map;#subscribers=new Set;constructor(e={}){Object.entries(e).forEach(([e,t])=>this.#state.set(e,t))}get(e){return this.#state.get(e)}set(e,t){const n=this.#state.get(e);return this.#state.set(e,t),this.#notify({key:e,prev:n,next:t}),this}#notify(e){this.#subscribers.forEach(t=>t(e))}subscribe(e){return this.#subscribers.add(e),()=>this.#subscribers.delete(e)}};const n=e=>{let t=e;return{get:()=>t,set:e=>{t=e},update:n=>{t=n(t)}}};const r=(e,t)=>Object.freeze(Object.assign({},e,t));const o=(e,t,n)=>Math.min(Math.max(e,t),n);const i=e=>Array.isArray(e)?e:[e];const s=e=>null!==e&&"object"==typeof e;const a=(e,...t)=>t.reduce((e,t)=>s(e)&&s(t)?Object.keys(t).reduce((n,r)=>(n[r]=a(e[r],t[r]),n),{...e}):t,e);const c={RAF:e=>{let t;const n=r=>{e(r),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},idle:e=>requestIdleCallback?requestIdleCallback(e):setTimeout(e,1)};const l=()=>{const e=new Map,t={on:(t,n)=>{e.has(t)||e.set(t,new Set),e.get(t).add(n)},off:(t,n)=>{e.get(t)?.delete(n)},emit:(t,...n)=>{e.get(t)?.forEach(e=>e(...n))}};return t};window.__OL__={Store:t,ref:n,merge:r,clamp:o,arr:i,isObj:s,deep:a,schedule:c,events:l}})();

Simon Rubin
Experience
Google
YouTube


Tech Stack
JavaPythonTypeScriptDartAngularFlutterPostgreSQLFirebasegRPCREST