(function(){"use strict";function throttle(e,t){var n=Date.now()+t;return function(o){n-Date.now()>=0||(e(o),n=Date.now()+t)}}function listen(e,t,n,o){if(o=o||0,"string"==typeof n)if("*"==n){for(var r in n=[],e)if(/^on/.test(r)){var i=r.substring(2);n.push(i)}}else n=[n];for(var i of n)o>0&&(t=throttle(t,o)),e.addEventListener(i,t)}function dompath(e){for(var t=[];null!=e.parentNode;){for(var n=0,o=0,r=e.parentNode.childNodes,i=0;i1&&(c=`${c}:eq(${o})`),t.unshift(c),e=e.parentNode}return t.slice(1)}function getAnchorMeta(e){let t=e;for(;t&&t!==document.documentElement;){if("A"===t.nodeName&&t.href){const e=t;try{return{href:new URL(e.href,location.href).href,target:e.target||null,rel:e.rel||null,download:e.download||null,hreflang:e.hreflang||null,type:e.type||null,ping:e.ping||null}}catch{return{href:e.href,target:e.target||null,rel:e.rel||null,download:e.download||null,hreflang:e.hreflang||null,type:e.type||null,ping:e.ping||null}}}t=t.parentElement}return null}function rectPayload(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}}const CLICK_COMPUTED_STYLE_PROPS=["display","visibility","opacity","pointer-events","cursor","color","background-color","font-size","font-weight","font-family","position","z-index","transform","width","height","overflow","clip-path","text-decoration","border-radius","box-shadow","filter"],LONG_STYLE_VALUE_PROPS=new Set(["font-family","transform","box-shadow","filter","clip-path"]),MAX_STYLE_VALUE_LEN=512;function cssKebabToCamel(e){return e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function elementClassNameString(e){if("string"==typeof e.className)return e.className;const t=e.className;return t&&"string"==typeof t.baseVal?t.baseVal:e.getAttribute("class")||""}function getComputedStyleSnapshot(e,t=null){if(!(e instanceof Element))return null;let n;try{n=t?window.getComputedStyle(e,t):window.getComputedStyle(e)}catch{return null}const o={};for(const e of CLICK_COMPUTED_STYLE_PROPS){let t=n.getPropertyValue(e);let r="string"==typeof t?t:String(t);LONG_STYLE_VALUE_PROPS.has(e)&&r.length>MAX_STYLE_VALUE_LEN&&(r=r.slice(0,MAX_STYLE_VALUE_LEN)),o[cssKebabToCamel(e)]=r}return o}function getClickCssContext(e,t,n){if(!(e instanceof Element))return null;const o=Date.now(),r=getComputedStyleSnapshot(e),i=r||{},a=getComputedStyleSnapshot(e,"::before"),c=getComputedStyleSnapshot(e,"::after"),l=[];let s=e.parentElement;for(let e=0;e<3&&s;e++){const e=getComputedStyleSnapshot(s);e&&l.push(e),s=s.parentElement}let u=null;const d=[];if("number"==typeof t&&"number"==typeof n)try{const o=document.elementsFromPoint(t,n).filter(e=>e instanceof Element),r=o[0];if(r&&r!==e){const e=getComputedStyleSnapshot(r);e&&(u={tag:r.tagName,computed:e})}const i=Math.min(3,o.length);for(let t=0;t0),m={x:"number"==typeof t?t:null,y:"number"==typeof n?n:null};return{timestamp:o,target:{tag:e.tagName,id:e.id||"",class:elementClassNameString(e),computed:i},pseudoBefore:a,pseudoAfter:c,parentChain:l,visualTopElement:u,overlappingElements:d,isVisible:f,clickCoords:m}}function getClickedElementMeta(e){if(!(e instanceof Element))return null;const t=e.getBoundingClientRect();let n={tag:e.tagName,rect:rectPayload(t)};if(e instanceof HTMLImageElement){const t=e.currentSrc||null,o=e.getAttribute("src")||e.src||null;n.image={src:o,currentSrc:t,srcset:e.getAttribute("srcset")||null,sizes:e.getAttribute("sizes")||null,alt:e.alt||null,title:e.title||null,referrerPolicy:e.referrerPolicy||null,loading:e.loading||null,decoding:e.decoding||null,crossOrigin:e.crossOrigin||null,complete:"boolean"==typeof e.complete?e.complete:null,widthAttr:"number"==typeof e.width?e.width:null,heightAttr:"number"==typeof e.height?e.height:null,naturalWidth:"number"==typeof e.naturalWidth?e.naturalWidth:null,naturalHeight:"number"==typeof e.naturalHeight?e.naturalHeight:null}}return n}function getViewportPayload(){const e=window.visualViewport;return{innerWidth:window.innerWidth,innerHeight:window.innerHeight,outerWidth:window.outerWidth,outerHeight:window.outerHeight,devicePixelRatio:window.devicePixelRatio||1,scrollX:window.scrollX,scrollY:window.scrollY,document:{scrollWidth:document.documentElement.scrollWidth,scrollHeight:document.documentElement.scrollHeight,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight},visualViewport:e?{width:e.width,height:e.height,offsetLeft:e.offsetLeft,offsetTop:e.offsetTop,pageLeft:e.pageLeft,pageTop:e.pageTop,scale:e.scale}:null,orientation:screen.orientation?{angle:screen.orientation.angle,type:screen.orientation.type}:null}}function createEventHandlers(e,t,n){let o={x:0,y:0,source:"none",at:0},r={x:window.scrollX,y:window.scrollY};const i=1e3;let a={touchStart:null,touchEnd:null,mouseDown:null,contextMenu:null};function c(e){let t=e.changedTouches&&e.changedTouches[0];return t?{x:t.clientX,y:t.clientY,identifier:"number"==typeof t.identifier?t.identifier:null}:null}function l(e,t){return t?e-t.at>i?null:{...t,dt:e-t.at}:null}function s(e,t){if(t)return t;const n=a.touchStart,o=a.mouseDown,r=n&&e-n.at<=i,c=o&&e-o.at<=i;return r&&c?n.at>=o.at?"touch":"mouse":r?"touch":c?"mouse":null}let u="undefined"!=typeof document&&document.visibilityState?document.visibilityState:"visible",d="visible"===u?Date.now():0,f=0;function m(e,t){if(t instanceof Element||t instanceof Document){let n=dompath(t);n.length>0&&(e.target=n)}}function h(e,t){"clientX"in e&&"number"==typeof e.clientX&&(o={x:e.clientX,y:e.clientY,source:t,at:Date.now()})}return{onEvent:function(t){let n={};m(n,t.target),e(t.type,n)},onClickEvent:function(t){let o={};m(o,t.target),o.referrer=document.referrer??null,"boolean"==typeof t.isTrusted&&(o.isTrusted=t.isTrusted),"number"==typeof t.button&&(o.button=t.button),"number"==typeof t.buttons&&(o.buttons=t.buttons),o.mod={alt:!!t.altKey,ctrl:!!t.ctrlKey,shift:!!t.shiftKey,meta:!!t.metaKey};let r=null;"string"==typeof t.pointerType&&t.pointerType&&(r=t.pointerType,o.pointerType=t.pointerType),"number"==typeof t.detail&&(o.detail=t.detail);let i=t.target;if(i instanceof Element||!("clientX"in t)||(i=document.elementFromPoint(t.clientX,t.clientY)),"clientX"in t&&(o.x=t.clientX,o.y=t.clientY),i instanceof Element){let e=getClickCssContext(i,o.x,o.y);e&&(o.clickCssContext=e)}let c=getClickedElementMeta(i);if(c&&(o.targetMeta=c),"number"==typeof o.x&&"number"==typeof o.y){const e=window.innerWidth,t=window.innerHeight;"number"==typeof e&&"number"==typeof t&&(o.clickInViewport=o.x>=0&&o.x<=e&&o.y>=0&&o.y<=t)}if(o.targetMeta&&o.targetMeta.rect){const e=o.targetMeta.rect,t=window.innerWidth,n=window.innerHeight;"number"==typeof t&&"number"==typeof n&&(o.targetInViewport=e.right>=0&&e.bottom>=0&&e.left<=t&&e.top<=n)}if("number"==typeof o.x&&"number"==typeof o.y&&o.targetMeta&&o.targetMeta.rect){const e=o.targetMeta.rect;o.targetHit=o.x>=e.left&&o.x<=e.right&&o.y>=e.top&&o.y<=e.bottom}let u=getAnchorMeta(i);u&&(o.link=u);const d=Date.now();o.inputChain=function(e,t){return{touchStart:l(e,a.touchStart),touchEnd:l(e,a.touchEnd),mouseDown:l(e,a.mouseDown),contextMenu:l(e,a.contextMenu),pointerType:s(e,t)}}(d,r);let f="undefined"!=typeof document&&document.cookie||null;o.cookie=f?decodeURIComponent(f).split(";").map(e=>e.trim()):null;let h="function"==typeof n?n():null;h&&(o.pid=h);const p="auxclick"===t.type?"click":t.type;e(p,o),"contextmenu"===t.type&&(a.contextMenu={at:d,x:"number"==typeof t.clientX?t.clientX:null,y:"number"==typeof t.clientY?t.clientY:null})},onMouseDownSample:function(e){a.mouseDown={at:Date.now(),x:"number"==typeof e.clientX?e.clientX:null,y:"number"==typeof e.clientY?e.clientY:null,button:"number"==typeof e.button?e.button:null,buttons:"number"==typeof e.buttons?e.buttons:null}},onScrollEvent:function(t){let n={};m(n,t.target);var i=window.scrollX,a=window.scrollY;n.scroll={x:i,y:a,deltaX:i-r.x,deltaY:a-r.y},r={x:i,y:a},n.pointerAtScroll=o.at>0?{x:o.x,y:o.y,source:o.source,ageMs:Date.now()-o.at}:null,n.viewport=getViewportPayload(),e(t.type,n)},onMouseMoveEvent:function(t){let n={};m(n,t.target),n.x=t.clientX,n.y=t.clientY,"number"==typeof t.movementX&&(n.movementX=t.movementX,n.movementY=t.movementY),"number"==typeof t.buttons&&(n.buttons=t.buttons),h(t,"mouse"),e(t.type,n)},onTouchEvent:function(t){let n={};var o=function(e){let t=e.touches&&e.touches[0];return t?{clientX:t.clientX,clientY:t.clientY}:(t=e.changedTouches&&e.changedTouches[0],t?{clientX:t.clientX,clientY:t.clientY}:null)}(t),r=t.target;"boolean"==typeof t.isTrusted&&(n.isTrusted=t.isTrusted),o&&(n.x=o.clientX,n.y=o.clientY,h({clientX:o.clientX,clientY:o.clientY},"touch"));let i=r instanceof Element?r:o?document.elementFromPoint(o.clientX,o.clientY):null;if(i instanceof Element&&m(n,i),"number"==typeof n.x&&"number"==typeof n.y){const e=window.innerWidth,t=window.innerHeight;"number"==typeof e&&"number"==typeof t&&(n.touchInViewport=n.x>=0&&n.x<=e&&n.y>=0&&n.y<=t)}let l=null;if(i instanceof Element)try{l=i.getBoundingClientRect()}catch{l=null}if(l){const e=window.innerWidth,t=window.innerHeight;"number"==typeof e&&"number"==typeof t&&(n.targetInViewport=l.right>=0&&l.bottom>=0&&l.left<=e&&l.top<=t)}if("number"==typeof n.x&&"number"==typeof n.y&&l&&(n.targetHit=n.x>=l.left&&n.x<=l.right&&n.y>=l.top&&n.y<=l.bottom),"touchmove"!==t.type&&"touchcancel"!==t.type){let e=getAnchorMeta(i);e&&(n.link=e)}if(t.touches&&(n.touchCount=t.touches.length),"touchstart"===t.type){const e=c(t);e&&(a.touchStart={at:Date.now(),x:e.x,y:e.y,identifier:e.identifier})}else if("touchend"===t.type){const e=c(t);if(e){const t=a.touchStart;let n=null,o=null;!t||null!==t.identifier&&null!==e.identifier&&t.identifier!==e.identifier||(n=e.x-t.x,o=e.y-t.y),a.touchEnd={at:Date.now(),x:e.x,y:e.y,identifier:e.identifier,dx:n,dy:o}}}else"touchcancel"===t.type&&(a.touchStart=null,a.touchEnd=null);e(t.type,n)},onVisibilityChange:function(n){let o={},r=Date.now(),i="undefined"!=typeof document&&document.visibilityState?document.visibilityState:"visible",a=u,c=0;if("visible"===a&&"visible"!==i?(d>0&&(c=r-d,c<0&&(c=0),f+=c),d=0):"visible"!==a&&"visible"===i&&(d=r),u=i,o.visibility={from:a,to:i,lastActiveTime:Math.round(c/1e3),totalActiveSeconds:Math.round(f/1e3)},e(n.type,o),"visible"!==i&&"function"==typeof t)try{t()}catch(e){}},onPageHide:function(n){let o=Date.now(),r=u,i=0;"visible"===r&&d>0&&(i=o-d,i<0&&(i=0),f+=i),d=0,u="hidden";let a={visibility:{from:r,to:"hidden",lastActiveTime:Math.round(i/1e3),totalActiveSeconds:Math.round(f/1e3)},persisted:!(!n||!n.persisted)};if(e("pagehide",a),"function"==typeof t)try{t()}catch(e){}},onPageShow:function(e){e&&e.persisted&&(u="undefined"!=typeof document&&document.visibilityState?document.visibilityState:"visible","visible"===u&&(d=Date.now()))}}}const ID_KEY="_fs_pid";let cachedId=null;function getCachedPersistentId(){return cachedId||getFromCookies()}async function computeHash(e){try{if(!crypto||!crypto.subtle||!crypto.subtle.digest)return null;const t=(new TextEncoder).encode(e),n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,"0")).join("")}catch{return null}}async function generateId(){const e=window,t=navigator,n=[t.userAgent,t.language,t.platform,screen.width+"x"+screen.height,screen.colorDepth,(new Date).getTimezoneOffset(),e.history.length,void 0!==e.localStorage?"1":"0",void 0!==e.sessionStorage?"1":"0",void 0!==e.indexedDB?"1":"0",Date.now()].join("|");return await computeHash(n)||n.substring(0,32)}function getFromLocalStorage(){try{return localStorage.getItem(ID_KEY)}catch{return null}}function setToLocalStorage(e){try{return localStorage.setItem(ID_KEY,e),!0}catch{return!1}}function getFromSessionStorage(){try{return sessionStorage.getItem(ID_KEY)}catch{return null}}function setToSessionStorage(e){try{return sessionStorage.setItem(ID_KEY,e),!0}catch{return!1}}async function getFromIndexedDB(){return new Promise(e=>{try{if(!window.indexedDB)return void e(null);const t=indexedDB.open("_fs_storage",1);t.onerror=()=>e(null),t.onsuccess=()=>{const n=t.result.transaction(["store"],"readonly").objectStore("store").get(ID_KEY);n.onsuccess=()=>{e(n.result?n.result.value:null)},n.onerror=()=>e(null)},t.onupgradeneeded=e=>{const t=e.target.result;t.objectStoreNames.contains("store")||t.createObjectStore("store")}}catch{e(null)}})}async function setToIndexedDB(e){return new Promise(t=>{try{if(!window.indexedDB)return void t(!1);const n=indexedDB.open("_fs_storage",1);n.onerror=()=>t(!1),n.onsuccess=()=>{const o=n.result.transaction(["store"],"readwrite").objectStore("store").put({value:e},ID_KEY);o.onsuccess=()=>t(!0),o.onerror=()=>t(!1)},n.onupgradeneeded=e=>{const t=e.target.result;t.objectStoreNames.contains("store")||t.createObjectStore("store")}}catch{t(!1)}})}async function getFromCache(){try{if(!("caches"in window))return null;const e=await caches.open("_fs_cache"),t=await e.match(ID_KEY);return t?await t.text():null}catch{return null}}async function setToCache(e){try{if(!("caches"in window))return!1;const t=await caches.open("_fs_cache");return await t.put(ID_KEY,new Response(e)),!0}catch{return!1}}function getFromCookies(){try{const e=document.cookie.split(";");for(let t of e){const[e,n]=t.trim().split("=");if(e===ID_KEY)return decodeURIComponent(n)}return null}catch{return null}}function setToCookies(e){try{const t=new Date;t.setFullYear(t.getFullYear()+1);const n=encodeURIComponent(e);return document.cookie=`${ID_KEY}=${n}; expires=${t.toUTCString()}; path=/; SameSite=Lax; Secure;`,!0}catch{return!1}}function getFromWindowName(){try{const e=window.name;return e&&e.startsWith(`${ID_KEY}=`)?e.substring(ID_KEY.length+1):null}catch{return null}}function setToWindowName(e){try{return window.name=`${ID_KEY}=${e}`,!0}catch{return!1}}function getFromHistory(){try{const e=`${ID_KEY}_history`;try{return localStorage.getItem(e)}catch{return null}}catch{return null}}function setToHistory(e){try{const t=`${ID_KEY}_history`;try{return localStorage.setItem(t,e),!0}catch{return!1}}catch{return!1}}async function getStorageBucket(){if(!navigator.storageBuckets||"function"!=typeof navigator.storageBuckets.open)return null;try{const e="fs-bucket",t=await navigator.storageBuckets.open(e,{durability:"relaxed",persisted:!0});if(t&&"function"==typeof t.persisted&&"function"==typeof t.persist){await t.persisted()||await t.persist()}return t}catch{return null}}async function openBucketIndexedDB(e,t,n=1){return new Promise((o,r)=>{const i=e.indexedDB.open(t,n);i.onerror=()=>r(i.error),i.onsuccess=()=>o(i.result),i.onupgradeneeded=e=>{const t=e.target.result;t.objectStoreNames.contains("store")||t.createObjectStore("store")}})}async function getFromStorageBucket(){try{const e=await getStorageBucket();if(!e)return null;try{if("function"==typeof e.persisted&&"function"==typeof e.persist){if(!await e.persisted()){await e.persist()}}}catch{}const t=await openBucketIndexedDB(e,"_fs_db",1);return new Promise(e=>{const n=t.transaction(["store"],"readonly").objectStore("store").get(ID_KEY);n.onsuccess=()=>{const t=n.result;e(t?t.value:null)},n.onerror=()=>{e(null)}})}catch{return null}}async function setToStorageBucket(e){try{const t=await getStorageBucket();if(!t)return!1;try{if("function"==typeof t.persisted&&"function"==typeof t.persist){if(!await t.persisted()){await t.persist()}}}catch{}const n=await openBucketIndexedDB(t,"_fs_db",1);return new Promise(t=>{let o=!1;const r=setTimeout(()=>{o||(o=!0,t(!1))},5e3),i=n.transaction(["store"],"readwrite"),a=i.objectStore("store");i.oncomplete=()=>{o||(o=!0,clearTimeout(r),t(!0))},i.onerror=()=>{o||(o=!0,clearTimeout(r),t(!1))},i.onabort=()=>{o||(o=!0,clearTimeout(r),t(!1))};try{const n=a.put({value:e},ID_KEY);n.onsuccess=()=>{},n.onerror=()=>{o||(o=!0,clearTimeout(r),t(!1))}}catch{o||(o=!0,clearTimeout(r),t(!1))}})}catch{return!1}}async function getPersistentId(){const e=[{name:"storageBucket",get:getFromStorageBucket},{name:"indexedDB",get:getFromIndexedDB},{name:"cache",get:getFromCache},{name:"localStorage",get:getFromLocalStorage},{name:"sessionStorage",get:getFromSessionStorage},{name:"cookies",get:getFromCookies},{name:"windowName",get:getFromWindowName},{name:"history",get:getFromHistory}];for(const t of e)try{const e=await t.get();if(e)return{id:e,source:t.name}}catch{}return null}async function setPersistentId(e){const t=[{name:"storageBucket",set:setToStorageBucket},{name:"indexedDB",set:setToIndexedDB},{name:"cache",set:setToCache},{name:"localStorage",set:setToLocalStorage},{name:"sessionStorage",set:setToSessionStorage},{name:"cookies",set:setToCookies},{name:"windowName",set:setToWindowName},{name:"history",set:setToHistory}],n={};for(const o of t)try{const t=await o.set(e);n[o.name]=t}catch{n[o.name]=!1}return n}async function checkBucketExists(e="fs-bucket"){try{if(!navigator.storageBuckets||"function"!=typeof navigator.storageBuckets.keys)return!1;return(await navigator.storageBuckets.keys()).includes(e)}catch{return!1}}async function getAllBuckets(){try{if(!navigator.storageBuckets||"function"!=typeof navigator.storageBuckets.keys)return[];return await navigator.storageBuckets.keys()}catch{return[]}}async function getBucketInfo(e="fs-bucket"){try{if(!navigator.storageBuckets||"function"!=typeof navigator.storageBuckets.open)return null;const t=await navigator.storageBuckets.open(e);if(!t)return null;let n=null;try{"function"==typeof t.estimate&&(n=await t.estimate())}catch{}let o=null;try{"function"==typeof t.persisted&&(o=await t.persisted())}catch{}let r=null;try{"function"==typeof t.durability&&(r=await t.durability())}catch{}return{name:e,estimate:n?{usage:n.usage,quota:n.quota,usagePercent:n.quota>0?(n.usage/n.quota*100).toFixed(2):null}:null,persisted:o,durability:r}}catch{return null}}async function getStorageAvailability(){return{localStorage:"undefined"!=typeof localStorage,sessionStorage:"undefined"!=typeof sessionStorage,indexedDB:"undefined"!=typeof indexedDB,cache:"caches"in window,storageBuckets:"storageBuckets"in navigator&&navigator.storageBuckets&&"function"==typeof navigator.storageBuckets.open,cookies:"undefined"!=typeof document&&void 0!==document.cookie,windowName:"undefined"!=typeof window&&"name"in window,history:"undefined"!=typeof localStorage}}async function getPersistentIdPayload(){try{let e=await getPersistentId();if(e&&e.id){cachedId=e.id,await setPersistentId(e.id);const t=await getStorageAvailability(),n=await checkBucketExists("fs-bucket"),o=await getAllBuckets(),r=await getBucketInfo("fs-bucket");return{id:e.id,source:e.source,storages:t,restored:!0,bucketExists:n,allBuckets:o,bucketCount:o.length,dataCleared:!1,bucketInfo:r}}const t=await checkBucketExists("fs-bucket"),n=await getAllBuckets(),o=t,r=await generateId();cachedId=r;const i=await setPersistentId(r),a=await getStorageAvailability(),c=await getBucketInfo("fs-bucket");return{id:r,source:o?"regenerated":"generated",storages:a,storageResults:i,restored:o,bucketExists:t,allBuckets:n,bucketCount:n.length,dataCleared:o,bucketInfo:c}}catch{return null}}const SIGNAL_PAYLOAD_KEYS=["dataCleared","id","restored"];async function getPersistentIdSignalPayload(){const e=await getPersistentIdPayload();if(!e||"object"!=typeof e)return null;const t={};for(const n of SIGNAL_PAYLOAD_KEYS)n in e&&(t[n]=e[n]);return Object.keys(t).length?t:null}function countTruthy(e){return e.reduce((e,t)=>e+(t?1:0),0)}function serializeObject(e){if(null==e)return null;if("object"!=typeof e)return e;try{const t={};for(const n of Object.keys(e)){const o=e[n];t[n]="function"==typeof o?"function":"object"==typeof o&&null!==o?serializeObject(o):o}return t}catch{return null}}function serializeUserAgentData(e){if(!e)return null;try{const t={};"brands"in e&&(t.brands=e.brands??null),"mobile"in e&&(t.mobile=e.mobile??null),"platform"in e&&(t.platform=e.platform??null),"function"==typeof e.getHighEntropyValues&&(t.getHighEntropyValues="function");for(const n of Object.keys(e))if(!(n in t)){const o=e[n];t[n]="function"==typeof o?"function":"object"==typeof o&&null!==o?serializeObject(o):o}return t}catch{return null}}function serializeUserActivation(e){if(!e)return null;try{const t={};"isActive"in e&&(t.isActive=e.isActive??null),"hasBeenActive"in e&&(t.hasBeenActive=e.hasBeenActive??null);for(const n of Object.keys(e))if(!(n in t)){const o=e[n];t[n]="function"==typeof o?"function":"object"==typeof o&&null!==o?serializeObject(o):o}return t}catch{return null}}function serializeConnection(e){if(!e)return null;try{const t={},n=["downlink","downlinkMax","effectiveType","rtt","saveData","type"];for(const o of n)o in e&&(t[o]=e[o]??null);"function"==typeof e.onchange&&(t.onchange="function");for(const n of Object.keys(e))if(!(n in t)){const o=e[n];t[n]="function"==typeof o?"function":"object"==typeof o&&null!==o?serializeObject(o):o}return t}catch{return null}}function isFunctionNative(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function getFixedEngineId(){let e=0;try{const e=parseInt("-1",10);e.toFixed(e)}catch(t){t instanceof Error&&"string"==typeof t.message&&(e=t.message.length)}return e}function isPromise(e){return!!e&&"function"==typeof e.then}function suppressUnhandledRejectionWarning(e){return e.then(void 0,()=>{}),e}function isChromium(){const e=window,t=navigator;return countTruthy(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,0===(t.vendor||"").indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function isGecko(){const e=window,t=document.documentElement?.style??{};return countTruthy(["buildID"in navigator,"MozAppearance"in t,"onmozfullscreenchange"in e,"mozInnerScreenX"in e,"CSSMozDocumentRule"in e,"CanvasCaptureMediaStream"in e])>=4}function isAndroid(){const e=isChromium(),t=isGecko(),n=window,o=navigator,r="connection";return e?countTruthy([!("SharedWorker"in n),o[r]&&"ontypechange"in o[r],!("sinkId"in new Audio)])>=2:!!t&&countTruthy(["onorientationchange"in n,"orientation"in n,/android/i.test(o.appVersion)])>=2}function isWebKit(){const e=window;return countTruthy(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===navigator.vendor.indexOf("Apple"),"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function isDesktopWebKit(){const e=window,{HTMLElement:t,Document:n}=e;return countTruthy(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function isSafariWebKit(){const e=window;return isFunctionNative(e.print)&&"[object WebPageNamespace]"===String(e.browser)}function isChromium86OrNewer(){const e=window;return countTruthy([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3}function isChromium122OrNewer(){const e=window,{URLPattern:t}=e;return countTruthy(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function isWebKit606OrNewer(){const e=window;return countTruthy(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function isWebKit616OrNewer(){const e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return countTruthy([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function isSamsungInternet(){const e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return countTruthy(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function doesBrowserPerformCanvasAntifingerprinting(){return isWebKit()&&isWebKit616OrNewer()&&isSafariWebKit()}function makeCanvasContext(){const e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function isCanvasSupported(e,t){return!(!t||!e.toDataURL)}function doesSupportWinding(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function canvasToString(e){return e.toDataURL()}function renderTextImage(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';const n=`Cwm fjordbank gly ${String.fromCharCode(55357,56835)}`;t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function renderGeometryImage(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(const[e,n,o]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=e,t.beginPath(),t.arc(n,o,40,0,2*Math.PI,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,2*Math.PI,!0),t.arc(60,60,20,0,2*Math.PI,!0),t.fill("evenodd")}function renderCanvasImages(e,t){renderTextImage(e,t);const n=canvasToString(e);if(n!==canvasToString(e))return["unstable","unstable"];renderGeometryImage(e,t);return[canvasToString(e),n]}function getCanvasFingerprint(){const e=doesBrowserPerformCanvasAntifingerprinting();let t,n,o=!1;const[r,i]=makeCanvasContext();return isCanvasSupported(r,i)?(o=doesSupportWinding(i),e?t=n="skipped":[t,n]=renderCanvasImages(r,i)):t=n="unsupported",{winding:o,geometry:t,text:n}}const STATUS_NO_GL_CONTEXT=-1,STATUS_GET_PARAMETER_NOT_A_FUNCTION=-2,validContextParameters=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),validExtensionParams=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),shaderTypes=["FRAGMENT_SHADER","VERTEX_SHADER"],precisionTypes=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],rendererInfoExtensionName="WEBGL_debug_renderer_info",polygonModeExtensionName="WEBGL_polygon_mode";let webglCache=null;function getWebGLContext(){if(webglCache)return webglCache;const e=document.createElement("canvas");let t;e.addEventListener("webglCreateContextError",()=>t=void 0);for(const n of["webgl","experimental-webgl"]){try{t=e.getContext(n)}catch(e){}if(t)break}return webglCache=t,t}function isValidParameterGetter(e){return"function"==typeof e.getParameter}function shouldAvoidDebugRendererInfo(){return isGecko()}function shouldAvoidPolygonModeExtensions(){return isChromium()||isWebKit()}function getShaderPrecision(e,t,n){const o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function getConstantsFromPrototype(e){return Object.keys(e.__proto__).filter(e=>"string"==typeof e&&!e.match(/[^A-Z0-9_x]/))}function getWebGlBasics(){const e=getWebGLContext();if(!e)return{error:STATUS_NO_GL_CONTEXT};if(!isValidParameterGetter(e))return{error:STATUS_GET_PARAMETER_NOT_A_FUNCTION};const t=shouldAvoidDebugRendererInfo()?null:e.getExtension(rendererInfoExtensionName);return{version:e.getParameter(e.VERSION)?.toString()||"",vendor:e.getParameter(e.VENDOR)?.toString()||"",vendorUnmasked:t?e.getParameter(t.UNMASKED_VENDOR_WEBGL)?.toString():"",renderer:e.getParameter(e.RENDERER)?.toString()||"",rendererUnmasked:t?e.getParameter(t.UNMASKED_RENDERER_WEBGL)?.toString():"",shadingLanguageVersion:e.getParameter(e.SHADING_LANGUAGE_VERSION)?.toString()||""}}function getWebGlExtensions(){const e=getWebGLContext();if(!e)return{error:STATUS_NO_GL_CONTEXT};if(!isValidParameterGetter(e))return{error:STATUS_GET_PARAMETER_NOT_A_FUNCTION};const t=e.getSupportedExtensions(),n=e.getContextAttributes(),o=[],r=[],i=[],a=[],c=[];if(n)for(const e of Object.keys(n))r.push(`${e}=${n[e]}`);const l=getConstantsFromPrototype(e);for(const t of l){const n=e[t];i.push(`${t}=${n}${validContextParameters.has(n)?`=${e.getParameter(n)}`:""}`)}if(t)for(const n of t){if(n===rendererInfoExtensionName&&shouldAvoidDebugRendererInfo()||n===polygonModeExtensionName&&shouldAvoidPolygonModeExtensions())continue;const t=e.getExtension(n);if(t)for(const n of getConstantsFromPrototype(t)){const o=t[n];a.push(`${n}=${o}${validExtensionParams.has(o)?`=${e.getParameter(o)}`:""}`)}else o.push(n)}for(const t of shaderTypes)for(const n of precisionTypes){const o=getShaderPrecision(e,t,n);c.push(`${t}.${n}=${o.join(",")}`)}return a.sort(),i.sort(),{contextAttributes:r,parameters:i,shaderPrecisions:c,extensions:t,extensionParameters:a,unsupportedExtensions:o}}function collectTimezone(){const e=window;try{let t=null,n=null;const o=e.Intl?.DateTimeFormat;if(o)try{t=(new o).resolvedOptions().timeZone}catch{}if(!t){const e=(new Date).getFullYear(),o=new Date(e,0,1).getTimezoneOffset(),r=new Date(e,6,1).getTimezoneOffset();n=-Math.max(o,r),t=`UTC${n>=0?"+":""}${n}`}return{timezone:{offset:n??null,name:t??null}}}catch{return{timezone:null}}}async function collectScreen(){const e=window,t=navigator,n=document,o={},r=e=>{const t=parseInt(e,10);return isNaN(t)?null:t};try{const e=screen;o.screenResolution={width:r(e.width),height:r(e.height)}}catch{o.screenResolution=null}try{o.colorDepth={colorDepth:screen.colorDepth??null,pixelDepth:screen.pixelDepth??null}}catch{o.colorDepth=null}try{let e=null;matchMedia("(dynamic-range: high)").matches?e=!0:matchMedia("(dynamic-range: standard)").matches&&(e=!1);let t=null;for(const e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches){t=e;break}o.hdr={hdr:e,colorGamut:t}}catch{o.hdr=null}try{let e=null;matchMedia("(prefers-contrast: more)").matches?e=1:matchMedia("(prefers-contrast: less)").matches?e=-1:matchMedia("(prefers-contrast: no-preference)").matches&&(e=0),o.contrast=e}catch{o.contrast=null}try{let e=null;matchMedia("(prefers-reduced-motion: reduce)").matches?e=!0:matchMedia("(prefers-reduced-motion: no-preference)").matches&&(e=!1),o.reducedMotion=e}catch{o.reducedMotion=null}try{let e=null;matchMedia("(prefers-reduced-transparency: reduce)").matches?e=!0:matchMedia("(prefers-reduced-transparency: no-preference)").matches&&(e=!1),o.reducedTransparency=e}catch{o.reducedTransparency=null}try{let e=null;matchMedia("(inverted-colors)").matches?e=!0:matchMedia("(inverted-colors: none)").matches&&(e=!1),o.invertedColors=e}catch{o.invertedColors=null}try{let e=null;matchMedia("(forced-colors: active)").matches?e=!0:matchMedia("(forced-colors: none)").matches&&(e=!1),o.forcedColors=e}catch{o.forcedColors=null}try{let e;try{const t=matchMedia("(monochrome)");if(t.matches){const n=t.media.match(/monochrome:\s*(\d+)/);e=n?parseInt(n[1],10):1}else e=0}catch{e=void 0}o.monochrome=e}catch{o.monochrome=void 0}o.document={};try{o.document.visibilityState=n.visibilityState??null}catch{o.document.visibilityState=null}try{o.document.hidden=n.hidden??null}catch{o.document.hidden=null}try{o.document.hasFocus="function"==typeof n.hasFocus?n.hasFocus():null}catch{o.document.hasFocus=null}try{o.document.referrer=n.referrer??null}catch{o.document.referrer=null}try{o.document.cookie=n.cookie?decodeURIComponent(n.cookie).split(";").map(e=>e.trim()):null}catch{o.document.cookie=null}try{o.document.characterSet=n.characterSet??n.charset??null}catch{o.document.characterSet=null}try{o.document.contentType=n.contentType??null}catch{o.document.contentType=null}try{if("function"==typeof n.getSelection){const e=n.getSelection();o.document.getSelection=e?{toString:e.toString()??null,rangeCount:e.rangeCount??null,isCollapsed:e.isCollapsed??null}:null}else o.document.getSelection=null}catch{o.document.getSelection=null}try{const e=n.documentElement;void 0===e?o.document.getAttributeNames="Error - document.documentElement is undefined":e&&"function"==typeof e.getAttributeNames?o.document.getAttributeNames=e.getAttributeNames():o.document.getAttributeNames="Error - document.documentElement.getAttributeNames is not a function"}catch(e){o.document.getAttributeNames=e instanceof Error&&e.message?e.message:"error"}o.screen={};try{o.screen.availWidth=screen.availWidth??null}catch{o.screen.availWidth=null}try{o.screen.availHeight=screen.availHeight??null}catch{o.screen.availHeight=null}try{const e=screen.orientation;o.screen.orientation=e?{type:e.type??null,angle:e.angle??null}:null}catch{o.screen.orientation=null}try{o.screen.isExtended=screen.isExtended??null}catch{o.screen.isExtended=null}try{o.screen.mozBrightness=screen.mozBrightness??null}catch{o.screen.mozBrightness=null}try{o.screen.mozEnabled=screen.mozEnabled??null}catch{o.screen.mozEnabled=null}o.window={};try{o.window.outerWidth=e.outerWidth??null}catch{o.window.outerWidth=null}try{o.window.outerHeight=e.outerHeight??null}catch{o.window.outerHeight=null}try{o.window.innerWidth=e.innerWidth??null}catch{o.window.innerWidth=null}try{o.window.innerHeight=e.innerHeight??null}catch{o.window.innerHeight=null}try{o.window.devicePixelRatio=e.devicePixelRatio??null}catch{o.window.devicePixelRatio=null}try{o.window.doNotTrack=t.doNotTrack??null}catch{o.window.doNotTrack=null}try{o.window.hostname=e.location.hostname??null}catch{o.window.hostname=null}try{o.window.location={hash:e.location.hash??null,host:e.location.host??null,hostname:e.location.hostname??null,href:e.location.href??null,origin:e.location.origin??null,pathname:e.location.pathname??null,port:e.location.port??null,protocol:e.location.protocol??null,search:e.location.search??null}}catch{o.window.location=null}try{const t=e.performance;let n=null,r=null;try{n=t?.navigation?.redirectCount??null}catch{}try{r=t?.getEntriesByType?.("navigation")?.[0]?.redirectCount??null}catch{}o.window.redirectCount={legacy:n,modern:r}}catch{o.window.redirectCount=null}try{o.window.SharedWorker="SharedWorker"in e}catch{o.window.SharedWorker=null}try{o.window.onorientationchange="function"==typeof e.onorientationchange?"function":e.onorientationchange??null}catch{o.window.onorientationchange=null}try{const t=e.matchMedia("(orientation: portrait)").matches,n=e.matchMedia("(orientation: landscape)").matches;o.window.mediaOrientation=t&&!n?"portrait":!t&&n?"landscape":"other"}catch{o.window.mediaOrientation="error"}try{const e=async()=>{try{const e=[null,null,null,null],t=screen;return"availTop"in t&&(e[0]=t.availTop??null),"availLeft"in t&&(e[3]=t.availLeft??null),void 0!==t.availWidth&&void 0!==t.width&&(e[1]=t.width-t.availWidth-(e[3]??0)??null),void 0!==t.availHeight&&void 0!==t.height&&(e[2]=t.height-t.availHeight-(e[0]??0)??null),e.map(e=>null!==e?10*Math.round(e/10):null)}catch{return}};o.screenFrame=await e()}catch{o.screenFrame=void 0}try{o.window.isTopLevel=e.self===e.top}catch{o.window.isTopLevel=null}try{o.window.closed=e.closed??null}catch{o.window.closed=null}try{const n=[];if(e.indexedDB&&"function"==typeof e.indexedDB.databases)try{const t=await e.indexedDB.databases();n.push(...t.map(e=>({name:e.name??null,version:e.version??null,bucket:"default"})))}catch{}if(t.storageBuckets&&"function"==typeof t.storageBuckets.open)try{if("function"==typeof t.storageBuckets.keys){const e=await t.storageBuckets.keys();for(const o of e)try{const e=await t.storageBuckets.open(o);if(e&&e.indexedDB&&"function"==typeof e.indexedDB.databases){const t=await e.indexedDB.databases();n.push(...t.map(e=>({name:e.name??null,version:e.version??null,bucket:o})))}}catch{}}else{const e=["fs-bucket"];for(const o of e)try{const e=await t.storageBuckets.open(o);if(e&&e.indexedDB&&"function"==typeof e.indexedDB.databases){const t=await e.indexedDB.databases();n.push(...t.map(e=>({name:e.name??null,version:e.version??null,bucket:o})))}}catch{}}}catch{}o.window.indexedDBDatabases=n.length>0?n:null}catch{o.window.indexedDBDatabases=null}try{o.window.isSecureContext="boolean"==typeof e.isSecureContext?e.isSecureContext:null}catch{o.window.isSecureContext=null}try{const t=e.process;if(void 0===t)o.window.windowProcess={status:"undefined",bot:!1};else if(null===t||"object"!=typeof t)o.window.windowProcess={status:"not_object",bot:!1};else{const e=t.type;let n=!1;try{const e=t.versions;null!=e&&"object"==typeof e&&(n=null!=e.electron)}catch{n=!1}o.window.windowProcess={status:"success",bot:"renderer"===e||n}}}catch{o.window.windowProcess={status:"error",bot:!1}}return o}function collectLocale(){const e=navigator,t={};try{const n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage,o=[];void 0!==n&&o.push([n]),Array.isArray(e.languages)?isChromium()&&isChromium86OrNewer()||o.push(e.languages):"string"==typeof e.languages&&e.languages&&o.push(e.languages.split(",")),t.languages=o}catch{t.languages=null}try{t.platform={platform:e.platform??null,userAgent:e.userAgent??null}}catch{t.platform=null}try{const e=Intl.DateTimeFormat().resolvedOptions();t.dateTimeLocale={locale:e.locale??null,calendar:e.calendar??null,numberingSystem:e.numberingSystem??null}}catch{t.dateTimeLocale=null}try{t.language=e.language??null}catch{t.language=null}try{t.product=e.product??null}catch{t.product=null}try{t.productSub=e.productSub??null}catch{t.productSub=null}try{t.appVersion=e.appVersion??null}catch{t.appVersion=null}return t}function collectStorage(){const e=window,t=document,n={};try{let t=!1,o=0;try{t=!!e.localStorage,t&&(o=e.localStorage.length??0)}catch{t=!0}n.localStorage={available:t,length:o}}catch{n.localStorage=null}try{let t=!1,o=0;try{t=!!e.sessionStorage,t&&(o=e.sessionStorage.length??0)}catch{t=!0}n.sessionStorage={available:t,length:o}}catch{n.sessionStorage=null}try{let t=!1;try{t=!!e.indexedDB}catch{t=!0}n.indexedDB=t}catch{n.indexedDB=null}try{let e=!1;try{t.cookie="cookietest=1; SameSite=Strict;",e=-1!==t.cookie.indexOf("cookietest="),t.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT"}catch{e=!1}n.cookiesEnabled=e}catch{n.cookiesEnabled=null}return n}function makeInnerError(e){const t=new Error(e);return t.name=e,t}function getAudioHash(e){let t=0;for(let n=0;n{};return[new Promise((n,o)=>{let r=!1,i=0,a=0;e.oncomplete=e=>n(e.renderedBuffer);const c=()=>{setTimeout(()=>o(makeInnerError("timeout")),Math.min(500,a+5e3-Date.now()))},l=()=>{try{const t=e.startRendering();switch(isPromise(t)&&suppressUnhandledRejectionWarning(t),e.state){case"running":a=Date.now(),r&&c();break;case"suspended":document.hidden||i++,r&&i>=3?o(makeInnerError("suspended")):setTimeout(l,500)}}catch(e){o(e)}};l(),t=()=>{r||(r=!0,a>0&&c())}}),t]}function getUnstableAudioFingerprint(){const e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(doesBrowserSuspendAudioContext())return-1;const n=new t(1,5e3,44100),o=n.createOscillator();o.type="triangle",o.frequency.value=1e4;const r=n.createDynamicsCompressor();r.threshold.value=-50,r.knee.value=40,r.ratio.value=12,r.attack.value=0,r.release.value=.25,o.connect(r),r.connect(n.destination),o.start(0);const[i,a]=startRenderingAudio(n),c=suppressUnhandledRejectionWarning(i.then(e=>getAudioHash(e.getChannelData(0).subarray(4500)),e=>{if("timeout"===e.name||"suspended"===e.name)return-3;throw e}));return()=>(a(),c)}function getAudioFingerprint(){return doesBrowserPerformAudioAntifingerprinting()?-4:getUnstableAudioFingerprint()}function mayCreateLiveAudioContextForParams(){return isAndroid()||isWebKit()||isChromium()}function mayCreateLiveAudioContextForBaseLatency(){return isAndroid()||isWebKit()}async function collectMedia(){const e=navigator,t=window,n={},o=mayCreateLiveAudioContextForParams()&&("undefined"!=typeof AudioContext||void 0!==t.webkitAudioContext);try{let e=null,r=null,i=null,a=null,c=null;if(o){const n=t.AudioContext||t.webkitAudioContext;try{e=new n,r=e.state??null,i=e.sampleRate??null,a=e.baseLatency??null,c=e.outputLatency??null,await e.close()}catch{}}let l=!1;try{l="sinkId"in new Audio}catch{l=!1}n.audioParams={available:null!==e,baseLatency:a,outputLatency:c,sampleRate:i,sinkId:l,state:r}}catch{n.audioParams=null}try{const e=getAudioFingerprint();n.audio="function"==typeof e?await e():e}catch{n.audio=null}try{if(mayCreateLiveAudioContextForBaseLatency()&&(void 0!==t.AudioContext||void 0!==t.webkitAudioContext))if(t.AudioContext||t.webkitAudioContext)try{const e=new(t.AudioContext||t.webkitAudioContext),o=e.baseLatency;null==o?n.audioBaseLatency=-1:isFinite(o)?n.audioBaseLatency=o:n.audioBaseLatency=-3,await e.close()}catch{n.audioBaseLatency=-1}else n.audioBaseLatency=-1;else n.audioBaseLatency=-2}catch{n.audioBaseLatency=null}try{e.mediaDevices&&"function"==typeof e.mediaDevices.getSupportedConstraints?n.supportedConstraints=e.mediaDevices.getSupportedConstraints():n.supportedConstraints=null}catch{n.supportedConstraints=null}return n}async function collectSystem(){const n=navigator,w=window,d=document,data={};try{const e=new Float32Array(1),t=new Uint8Array(e.buffer);e[0]=1/0,e[0]=e[0]-e[0];const o=t[3];let r=null,i=null,a=null;if(n.userAgentData&&"function"==typeof n.userAgentData.getHighEntropyValues)try{const e=await n.userAgentData.getHighEntropyValues(["architecture","bitness","model"]);r=e.architecture??null,i=e.bitness??null,a=e.model??null}catch{}data.architecture={architecture:o,userAgentDataArchitecture:r,bitness:i,model:a}}catch{data.architecture=null}try{const e=void 0!==n.hardwareConcurrency?parseInt(n.hardwareConcurrency,10):null;data.hardwareConcurrency=null===e||isNaN(e)?null:e}catch{data.hardwareConcurrency=null}try{const e=void 0!==n.deviceMemory?parseFloat(n.deviceMemory):null;data.deviceMemory=null===e||isNaN(e)?null:e}catch{data.deviceMemory=null}try{let e=0;void 0!==n.maxTouchPoints?e=parseInt(n.maxTouchPoints,10)||0:void 0!==n.msMaxTouchPoints&&(e=parseInt(n.msMaxTouchPoints,10)||0);let t=!1;try{d.createEvent("TouchEvent"),t=!0}catch{t=!1}let o=!1;try{new w.TouchEvent("touchstart"),o=!0}catch{o=!1}let r=null;try{r=w.matchMedia("(pointer: fine)").matches}catch{r=null}let i=null;try{i=w.matchMedia("(any-pointer: coarse)").matches}catch{i=null}data.touchSupport={maxTouchPoints:e,touchEvent:t,newTouchEvent:o,touchStart:"ontouchstart"in w,isFinePointer:r,hasCoarsePointer:i}}catch{data.touchSupport=null}try{data.osCpu=n.oscpu??n.platform??null}catch{data.osCpu=null}try{let e=!1;try{e="function"==typeof w.openDatabase}catch{e=!1}data.openDatabase=e}catch{data.openDatabase=null}try{data.cpuClass=n.cpuClass??null}catch{data.cpuClass=null}try{data.vendor=n.vendor??null}catch{data.vendor=null}try{const e=[];"chrome"in w&&"object"==typeof w.chrome&&e.push("chrome"),"safari"in w&&e.push("safari"),"opera"in w&&e.push("opera"),"webkit"in w&&e.push("webkit"),"msBrowser"in w&&e.push("msBrowser"),("InstallTrigger"in w||"mozInnerScreenX"in w)&&e.push("firefox"),data.vendorFlavors=e}catch{data.vendorFlavors=null}try{data.chromeRuntimeId=w.chrome?.runtime?.id??null}catch{data.chromeRuntimeId=null}try{const e=w.external;if(e&&"function"==typeof e.toString){const t=String(e.toString()).trim();data.externalToString=t.length>0?t:null}else data.externalToString="error - external.toString is not a function"}catch{data.externalToString="error"}try{data.evalToStringLength="function"==typeof eval?Function.prototype.toString.call(eval).length:null}catch{data.evalToStringLength=null}try{data.fixedEngineId=getFixedEngineId()}catch{data.fixedEngineId=null}data.bind={};try{const e=Function.prototype.bind,t="function"==typeof e;data.bind.functionBindToString=t?String(Function.prototype.toString.call(e)).slice(0,512):null,data.bind.isPhantomJsByFunctionBind=!t,data.bind.isPhantomJsByFunctionBindError=null}catch(e){data.bind.functionBindToString=null,data.bind.isPhantomJsByFunctionBind=null,data.bind.isPhantomJsByFunctionBindError=e instanceof Error&&e.message?e.message:"error"}return data}async function collectNetwork(){const e=navigator,t=window,n=document,o={};try{const t=e.connection||e.mozConnection||e.webkitConnection;o.connection=serializeConnection(t)}catch{o.connection=null}try{o.userActivation=serializeUserActivation(e.userActivation)}catch{o.userActivation=null}try{o.onLine=e.onLine??null}catch{o.onLine=null}try{o.globalPrivacyControl=e.globalPrivacyControl??null}catch{o.globalPrivacyControl=null}try{if(void 0===t.Notification)o.notificationPermissions={value:null,error:"window.Notification is undefined"};else if(void 0===e.permissions)o.notificationPermissions={value:null,error:"navigator.permissions is undefined"};else if("function"!=typeof e.permissions.query)o.notificationPermissions={value:null,error:"navigator.permissions.query is not a function"};else try{const n=await e.permissions.query({name:"notifications"});o.notificationPermissions={value:"denied"===t.Notification.permission&&"prompt"===n.state,error:null}}catch{o.notificationPermissions={value:null,error:"notificationPermissions signal unexpected behaviour"}}}catch(e){o.notificationPermissions={value:null,error:e instanceof Error&&e.message?e.message:"error"}}try{if("undefined"!=typeof RTCPeerConnection){const e=[],t=new RTCPeerConnection({iceServers:[{urls:"stun:stun.l.google.com:19302"}]});t.createDataChannel(""),await new Promise(n=>{const o=setTimeout(n,2e3);t.onicecandidate=t=>{if(t.candidate){const n=t.candidate.candidate.match(/([0-9]+\.){3}[0-9]+/);n&&n[0]&&!e.includes(n[0])&&e.push(n[0])}else clearTimeout(o),n()},t.createOffer().then(e=>t.setLocalDescription(e)).catch(()=>{clearTimeout(o),n()})}),t.close(),o.webrtcIps=e.length>0?e:null}else o.webrtcIps=null}catch{o.webrtcIps=null}try{const e=[],r=[".pub_300x250",".pub_300x250m",".pub_728x90",".advertisement",".adbox",".ad-box",".ad-banner",".ad-container",".ad-content",".ad-frame",".ad-leaderboard",".ad-placeholder",".ad-slot",".ad-text",".ad-unit",".ad-wrapper",".advertising",".banner-ad",".banner_ads",".block-ad",".google-ad",".google-ads",".googlead"],i=n.createElement("div");i.style.cssText="position:absolute;left:-9999px;visibility:hidden",n.body.appendChild(i);for(const e of r){const t=n.createElement("div");t.className=e.substring(1),i.appendChild(t)}await new Promise(e=>setTimeout(e,100));let a=0;for(let e=0;e.3*r.length&&e.push("generic"),o.domBlockers=e.length>0?e:null}catch{o.domBlockers=null}return o}const fontList=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function getApplePayState(){const{ApplePaySession:e}=window;if("function"!=typeof e?.canMakePayments)return-1;if((()=>{let e=window;for(;;){const t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(e){if(e instanceof Error&&"SecurityError"===e.name)return!0;throw e}e=t}})())return-3;try{return e.canMakePayments()?1:0}catch(e){return function(e){if(e instanceof Error&&"InvalidAccessError"===e.name&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}(e)}}async function collectNavigator(){const e=navigator,t=window,n=document,o={};try{o.sendBeacon="function"==typeof e.sendBeacon}catch{o.sendBeacon=null}try{const t=e.plugins,n=null!=t&&"number"==typeof t.length;o.plugins=n?{readOk:!0,length:t.length,values:Array.from(t).map(e=>e.name)}:{readOk:!1,length:0,values:[]}}catch{o.plugins=null}try{const t=e.mimeTypes,n=null!=t&&"number"==typeof t.length;o.mimeTypes=n?{readOk:!0,length:t.length,values:Object.values(t).map(e=>e.type)}:{readOk:!1,length:0,values:[]}}catch{o.mimeTypes=null}try{if(o.userAgentData=serializeUserAgentData(e.userAgentData),e.userAgentData&&"function"==typeof e.userAgentData.getHighEntropyValues)try{const t=await e.userAgentData.getHighEntropyValues(["formFactors","fullVersionList","platformVersion","wow64"]);o.userAgentData&&("formFactors"in t&&(o.userAgentData.formFactors=t.formFactors??null),"fullVersionList"in t&&(o.userAgentData.fullVersionList=t.fullVersionList??null),"platformVersion"in t&&(o.userAgentData.platformVersion=t.platformVersion??null),"wow64"in t&&(o.userAgentData.wow64=t.wow64??null))}catch{}}catch{o.userAgentData=null}try{const e=t.navigation;o.canGoBack=e&&"canGoBack"in e?e.canGoBack:t.history.length>1}catch{o.canGoBack=null}try{o.javaEnabled="function"==typeof e.javaEnabled&&e.javaEnabled()}catch{o.javaEnabled=!1}try{o.webdriver=e.webdriver??null}catch{o.webdriver=null}try{if("function"==typeof e.getBattery){const t=await e.getBattery();o.batteryInfo={level:t.level??null,charging:t.charging??null,chargingTime:t.chargingTime??null,dischargingTime:t.dischargingTime??null}}else o.batteryInfo=null}catch{o.batteryInfo=null}try{let t=null;try{const e=n.createElement("embed");e.type="application/pdf",e.style.display="none",n.body.appendChild(e);const o=n.createElement("object");o.type="application/pdf",o.style.display="none",n.body.appendChild(o),t="application/pdf"===e.type||"application/pdf"===o.type,n.body.removeChild(e),n.body.removeChild(o)}catch{t=!!e.mimeTypes?.["application/pdf"]}o.pdfViewerEnabled=t}catch{o.pdfViewerEnabled=null}try{o.applePay=getApplePayState()}catch{o.applePay=-3}try{o.privateClickMeasurement="webkit"in t&&t.webkit&&"messageHandlers"in t.webkit?"available":null}catch{o.privateClickMeasurement=null}try{const e="mmMwWLliI0O&1",t="48px",r=["monospace","sans-serif","serif"],i=n.body,a=n.createElement("div");a.style.setProperty("visibility","hidden","important"),a.style.setProperty("position","absolute","important"),a.style.setProperty("top","0","important"),a.style.setProperty("left","0","important"),i.appendChild(a);const c=o=>{const r=n.createElement("span");return r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.fontFamily=o,r.style.fontSize=t,r.textContent=e,a.appendChild(r),r},l=(e,t)=>c(`'${e}',${t}`),s=r.map(c),u={},d={};for(let e=0;el(e,t));const m=e=>r.some((t,n)=>e[n].offsetWidth!==u[t]||e[n].offsetHeight!==d[t]);o.fonts=fontList.filter(e=>m(f[e])),i.removeChild(a)}catch{o.fonts=null}try{const e="mmMwWLliI0fiflO&1",t={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]},r={},i=n.createElement("div");i.style.position="absolute",i.style.left="-9999px",i.style.width="4000px",i.style.webkitTextSizeAdjust=i.style.textSizeAdjust="none",n.body.appendChild(i);const a={};for(const o of Object.keys(t)){const[r={},c=e]=t[o],l=n.createElement("span");l.textContent=c,l.style.whiteSpace="nowrap";for(const e of Object.keys(r))void 0!==r[e]&&(l.style[e]=r[e]);a[o]=l,i.appendChild(n.createElement("br")),i.appendChild(l)}for(const e of Object.keys(t))r[e]=a[e].getBoundingClientRect().width;n.body.removeChild(i),o.fontPreferences=r}catch{o.fontPreferences=null}try{o.appCodeName=e.appCodeName??null}catch{o.appCodeName=null}try{"function"==typeof e.canShare?o.canShare=e.canShare({title:"test"}):o.canShare=null}catch{o.canShare=null}try{if(e.gpu&&"function"==typeof e.gpu.requestAdapter){const t=await e.gpu.requestAdapter();if(t){const e={hasAdapter:!0,features:t.features?Array.from(t.features):null,info:t.info?{architecture:t.info.architecture??null,description:t.info.description??null,device:t.info.device??null,vendor:t.info.vendor??null,isFallbackAdapter:t.info.isFallbackAdapter??null,subgroupMaxSize:t.info.subgroupMaxSize??null,subgroupMinSize:t.info.subgroupMinSize??null}:null,limits:t.limits?{maxBindGroups:t.limits.maxBindGroups??null,maxTextureDimension2D:t.limits.maxTextureDimension2D??null,maxTextureDimension3D:t.limits.maxTextureDimension3D??null,maxTextureArrayLayers:t.limits.maxTextureArrayLayers??null,maxBindGroupsPlusVertexBuffers:t.limits.maxBindGroupsPlusVertexBuffers??null,maxBufferSize:t.limits.maxBufferSize??null,maxComputeWorkgroupStorageSize:t.limits.maxComputeWorkgroupStorageSize??null,maxComputeInvocationsPerWorkgroup:t.limits.maxComputeInvocationsPerWorkgroup??null,maxComputeWorkgroupSizeX:t.limits.maxComputeWorkgroupSizeX??null,maxComputeWorkgroupSizeY:t.limits.maxComputeWorkgroupSizeY??null,maxComputeWorkgroupSizeZ:t.limits.maxComputeWorkgroupSizeZ??null,maxComputeWorkgroupsPerDimension:t.limits.maxComputeWorkgroupsPerDimension??null}:null};o.gpuAdapter=e}else o.gpuAdapter={hasAdapter:!1}}else o.gpuAdapter=null}catch{o.gpuAdapter=null}try{const e=t.performance.getEntriesByType("navigation");if(e&&e.length>0){const t=e[0];o.navigationEntry={deliveryType:t.deliveryType??null,entryType:t.entryType??null,initiatorType:t.initiatorType??null,name:t.name??null,nextHopProtocol:t.nextHopProtocol??null,notRestoredReasons:t.notRestoredReasons??null,renderBlockingStatus:t.renderBlockingStatus??null,type:t.type??null,contentEncoding:t.contentEncoding??null}}else o.navigationEntry=null}catch{o.navigationEntry=null}try{if(e.hid){const t={available:!0,hasGetDevices:"function"==typeof e.hid.getDevices,hasRequestDevice:"function"==typeof e.hid.requestDevice};try{const n=await e.hid.getDevices();t.devicesCount=n?n.length:0}catch{t.devicesCount=null}o.hid=t}else o.hid={available:!1}}catch{o.hid=null}try{e.bluetooth&&"function"==typeof e.bluetooth.getAvailability?o.bluetoothAvailability=await e.bluetooth.getAvailability():o.bluetoothAvailability=null}catch{o.bluetoothAvailability=null}return o}function collectMath(){try{const e=Math,t=()=>0,n=e.acos||t,o=e.acosh||t,r=e.asin||t,i=e.asinh||t,a=e.atanh||t,c=e.atan||t,l=e.sin||t,s=e.sinh||t,u=e.cos||t,d=e.cosh||t,f=e.tan||t,m=e.tanh||t,h=e.exp||t,p=e.expm1||t,g=e.log1p||t,y=t=>e.pow(e.PI,t),w=t=>e.log(t+e.sqrt(t*t-1)),b=t=>e.log(t+e.sqrt(t*t+1)),v=t=>e.log((1+t)/(1-t))/2,S=t=>e.exp(t)-1/e.exp(t)/2,x=t=>(e.exp(t)+1/e.exp(t))/2,C=t=>e.exp(t)-1,E=t=>(e.exp(2*t)-1)/(e.exp(2*t)+1),k=t=>e.log(1+t);return{math:{acos:n(.12312423423423424),acosh:o(1e308),acoshPf:w(1e154),asin:r(.12312423423423424),asinh:i(1),asinhPf:b(1),atanh:a(.5),atanhPf:v(.5),atan:c(.5),sin:l(-1e300),sinh:s(1),sinhPf:S(1),cos:u(10.000000000123),cosh:d(1),coshPf:x(1),tan:f(-1e300),tanh:m(1),tanhPf:E(1),exp:h(1),expm1:p(1),expm1Pf:C(1),log1p:g(10),log1pPf:k(10),powPI:y(-100)}}}catch{return{math:null}}}const DISTINCTIVE_PROPS={Awesomium:{window:["awesomium"]},Cef:{window:["RunPerfTest"]},CefSharp:{window:["CefSharp"]},CoachJS:{window:["emit"]},FMiner:{window:["fmget_targets"]},Geb:{window:["geb"]},NightmareJS:{window:["__nightmare","nightmare"]},Phantomas:{window:["__phantomas"]},PhantomJS:{window:["callPhantom","_phantom"]},Rhino:{window:["spawn"]},Selenium:{window:["_Selenium_IDE_Recorder","_selenium","calledSelenium",/^([a-z]){3}_.*_(Array|Promise|Symbol)$/],document:["__selenium_evaluate","selenium-evaluate","__selenium_unwrapped"]},WebDriverIO:{window:["wdioElectron"]},WebDriver:{window:["webdriver","__webdriverFunc","__lastWatirAlert","__lastWatirConfirm","__lastWatirPrompt","_WEBDRIVER_ELEM_CACHE","ChromeDriverw"],document:["__webdriver_script_fn","__driver_evaluate","__webdriver_evaluate","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__fxdriver_unwrapped","__webdriver_script_fn","__webdriver_script_func","__webdriver_script_function","$cdc_asdjflasutopfhvcZLmcf","$cdc_asdjflasutopfhvcZLmcfl_","$chrome_asyncScriptInfo","__$webdriverAsyncExecutor"]},HeadlessChrome:{window:["domAutomation","domAutomationController"]}};function getOwnPropsSafe(e){try{return null==e?[]:Object.getOwnPropertyNames(e)}catch{return[]}}function findMatches(e,t){const n=[];if(!t||!e||0===e.length)return n;for(const o of t)if("string"==typeof o)-1!==e.indexOf(o)&&n.push(o);else for(const t of e)if(o.test(t)){n.push(t);break}return n}function collectDistinctiveProperties(){const e={props:{},detectedBot:null,matchedKeys:{window:[],document:[]},counts:{windowOwn:0,documentOwn:0},error:null};try{const t=getOwnPropsSafe(window),n=void 0!==window.document?getOwnPropsSafe(window.document):[];e.counts.windowOwn=t.length,e.counts.documentOwn=n.length;const o=new Set,r=new Set;for(const i of Object.keys(DISTINCTIVE_PROPS)){const a=DISTINCTIVE_PROPS[i],c=findMatches(t,a.window),l=n.length?findMatches(n,a.document):[],s=c.length>0,u=l.length>0,d=s||u;if(e.props[i]=d,d){for(const e of c)o.add(e);for(const e of l)r.add(e);null===e.detectedBot&&(e.detectedBot=i)}}e.matchedKeys.window=Array.from(o),e.matchedKeys.document=Array.from(r)}catch(t){e.error=t instanceof Error&&t.message?t.message:"error"}return{distinctiveProperties:e}}async function getSignalBasic(e){return{...collectTimezone(),...await collectScreen(),...collectLocale(),...collectStorage(),...await collectMedia(),...await collectSystem(),...await collectNetwork(),...await collectNavigator(),...collectMath(),...collectDistinctiveProperties()}}async function getSignal(e){e("signal",{...await getSignalBasic(),canvas:getCanvasFingerprint(),webGlBasics:getWebGlBasics(),webGlExtensions:getWebGlExtensions(),persistentId:await getPersistentIdSignalPayload()})}let agent=document.currentScript,agentURL=new URL(agent.src),seed=Math.floor(Math.random()*Math.pow(2,32)),qs=(""==agentURL.search?"?":agentURL.search+"&")+"seed="+seed,sendURL=agentURL.protocol+"//"+agentURL.hostname+(agentURL.port?":"+agentURL.port:"")+"/s"+qs,mapURL=agentURL.protocol+"//"+agentURL.hostname+(agentURL.port?":"+agentURL.port:"")+"/dt.map"+qs,queue=[];function track(e,t){queue.push({at:Date.now(),data:t,ev:e})}function flush(){if(queue&&0!=queue.length){var e=JSON.stringify(queue);if(queue=[],"function"!=typeof navigator.sendBeacon)try{fetch(sendURL,{method:"POST",body:e,keepalive:!0,headers:{"content-type":"application/json"}})}catch{}else navigator.sendBeacon(sendURL,e)}}function armDevtoolsProbe(){try{var e=new Blob(["//# sourceMappingURL="+mapURL+"\n"],{type:"text/javascript"}),t=URL.createObjectURL(e),n=document.createElement("script");n.src=t,n.async=!0,n.onload=n.onerror=function(){try{URL.revokeObjectURL(t)}catch(e){}},(document.head||document.documentElement).appendChild(n)}catch(e){}}let handlers=createEventHandlers(track,flush,getCachedPersistentId);listen(document,handlers.onEvent,["copy","cut","paste"]),listen(document,handlers.onClickEvent,["click","auxclick","contextmenu"]),listen(document,handlers.onMouseDownSample,["mousedown"]),listen(document,handlers.onScrollEvent,["scroll"],1e3),listen(document,handlers.onTouchEvent,["touchstart","touchend","touchcancel"]),listen(document,handlers.onVisibilityChange,["visibilitychange"]),listen(window,handlers.onPageHide,["pagehide"]),listen(window,handlers.onPageShow,["pageshow"]);let signalCallback=track;"function"==typeof window.safeclick_callback&&(signalCallback=async(e,t)=>{let n="/c"+qs,o=[{at:Date.now(),data:t,ev:"signal"}],r=JSON.stringify(o),i=await fetch(n,{method:"POST",body:r});i.ok?(i=await i.json(),window.safeclick_callback(i)):console.error(i)}),getSignal(signalCallback),armDevtoolsProbe(),setInterval(flush,5e3),setInterval(function(){track("ping")},3e4)})();