@thumbmarkjs/thumbmarkjs 1.7.0-rc.3 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/thumbmark.cjs.js +1 -1
- package/dist/thumbmark.cjs.js.map +1 -1
- package/dist/thumbmark.esm.d.ts +7 -6
- package/dist/thumbmark.esm.js +1 -1
- package/dist/thumbmark.esm.js.map +1 -1
- package/dist/thumbmark.umd.js +1 -1
- package/dist/thumbmark.umd.js.map +1 -1
- package/package.json +2 -2
- package/src/factory.ts +1 -2
- package/src/functions/functions.test.ts +21 -1
- package/src/options.ts +6 -6
- package/src/utils/raceAll.test.ts +82 -0
- package/src/utils/raceAll.ts +7 -2
package/README.md
CHANGED
|
@@ -99,6 +99,7 @@ const tm = new ThumbmarkJS.Thumbmark({
|
|
|
99
99
|
| logging | boolean | true | Default is true. Some releases collect at most 0.01% logs to improve the library. This doesn't affect the user. |
|
|
100
100
|
| performance | boolean | false | Default is false. Setting to true includes millisecond performance of component resolving |
|
|
101
101
|
| stabilize | string[] | ['private', 'iframe'] | A preset exclusion list for different scenarios. Default is `['private', 'iframe']` which means thumbmark uses settings designed to stabilize for private browsing and iframes (i.e. thumbmark should be stable over those situations).
|
|
102
|
+
| metadata | varies | 'event-123' | Passes metadata to webhooks. Does not affect thumbmark. |
|
|
102
103
|
|
|
103
104
|
example usage:
|
|
104
105
|
|
package/dist/thumbmark.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=2592e5,t="thumbmark",n="https://api.thumbmarkjs.com",r={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,cache_lifetime_in_ms:0,performance:!1,experimental:!1,property_name_factory:e=>`${t}_${e}`};let o={...r};const i={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["system.applePayVersion","system.cookieEnabled"],browsers:["safari"]},{exclude:["permissions"]}],vpn:[{exclude:["ip"]}]},a="undefined"!=typeof window?window.OfflineAudioContext||window.webkitOfflineAudioContext:null;function s(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function c(e,t,n){let r=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let r=0;r<e.length;r++)n.push(e[r].data[t]);r.push(l(n))}const o=new Uint8ClampedArray(r);return new ImageData(o,t,n)}function l(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function u(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const d=new Uint32Array([597399067,2869860233,951274213,2716044179]);function m(e,t){return e<<t|e>>>32-t}function p(e,t=0){if(t=t?0|t:0,"string"==typeof e&&(e=function(e){if("undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e).buffer;const t=[];for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<55296||r>=57344?t.push(224|r>>12,128|r>>6&63,128|63&r):(n++,r=65536+((1023&r)<<10|1023&e.charCodeAt(n)),t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return new Uint8Array(t).buffer}(e)),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const n=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,r=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=r.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],d[0]),n[0]=m(n[0],15),n[0]=Math.imul(n[0],d[1]),t[0]=t[0]^n[0],t[0]=m(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],d[1]),n[1]=m(n[1],16),n[1]=Math.imul(n[1],d[2]),t[1]=t[1]^n[1],t[1]=m(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],d[2]),n[2]=m(n[2],17),n[2]=Math.imul(n[2],d[3]),t[2]=t[2]^n[2],t[2]=m(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],d[3]),n[3]=m(n[3],18),n[3]=Math.imul(n[3],d[0]),t[3]=t[3]^n[3],t[3]=m(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,n),function(e,t){const n=e.byteLength/16|0,r=e.byteLength%16,o=new Uint32Array(4),i=new Uint8Array(e,16*n,r);switch(r){case 15:o[3]=o[3]^i[14]<<16;case 14:o[3]=o[3]^i[13]<<8;case 13:o[3]=o[3]^i[12],o[3]=Math.imul(o[3],d[3]),o[3]=m(o[3],18),o[3]=Math.imul(o[3],d[0]),t[3]=t[3]^o[3];case 12:o[2]=o[2]^i[11]<<24;case 11:o[2]=o[2]^i[10]<<16;case 10:o[2]=o[2]^i[9]<<8;case 9:o[2]=o[2]^i[8],o[2]=Math.imul(o[2],d[2]),o[2]=m(o[2],17),o[2]=Math.imul(o[2],d[3]),t[2]=t[2]^o[2];case 8:o[1]=o[1]^i[7]<<24;case 7:o[1]=o[1]^i[6]<<16;case 6:o[1]=o[1]^i[5]<<8;case 5:o[1]=o[1]^i[4],o[1]=Math.imul(o[1],d[1]),o[1]=m(o[1],16),o[1]=Math.imul(o[1],d[2]),t[1]=t[1]^o[1];case 4:o[0]=o[0]^i[3]<<24;case 3:o[0]=o[0]^i[2]<<16;case 2:o[0]=o[0]^i[1]<<8;case 1:o[0]=o[0]^i[0],o[0]=Math.imul(o[0],d[0]),o[0]=m(o[0],15),o[0]=Math.imul(o[0],d[1]),t[0]=t[0]^o[0]}}(e,n),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=u(t[0]),t[1]=u(t[1]),t[2]=u(t[2]),t[3]=u(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,n);const r=new Uint8Array(n.buffer);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}const f=280;async function h(e){for(var t;!document.body;)await g(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const r=n.style;r.setProperty("position","fixed"),r.setProperty("display","block","important"),r.setProperty("visibility","visible"),r.setProperty("border","0"),r.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const o=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!o)throw new Error("Iframe document is not accessible");e({iframe:o}),setTimeout((()=>{document.body.removeChild(n)}),0)}function g(e,t){return new Promise((n=>setTimeout(n,e,t)))}const w=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],v=["monospace","sans-serif","serif"];function y(e,t){return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function S(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let r={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),o=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(r.vendorUnmasked=t),o&&(r.rendererUnmasked=o)}}return r}catch(e){}return"undefined"}function b(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const x=(e,t,n,r)=>{const o=(n-t)/r;let i=0;for(let n=0;n<r;n++){i+=e(t+(n+.5)*o)}return i*o};function E(e,t){const n={};return t.forEach((t=>{const r=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],r=1;return Object.keys(t).forEach((e=>{t[e]>r&&(n=e,r=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));r&&(n[t]=r)})),n}const M=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function P(){var e,t,n,r,o,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(r=s.groups)||void 0===r?void 0:r.version2);if(a||!(null===(o=s.groups)||void 0===o?void 0:o.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function A(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function C(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function _(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const I="SamsungBrowser"!==P().name?1:3;let T,k=null;function R(e){const t=[];return function e(n){if(n&&n.toJSON&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===n)return;if("number"==typeof n)return isFinite(n)?""+n:"null";if("object"!=typeof n)return JSON.stringify(n);let r,o;if(Array.isArray(n)){for(o="[",r=0;r<n.length;r++)r&&(o+=","),o+=e(n[r])||"null";return o+"]"}if(null===n)return"null";if(-1!==t.indexOf(n))throw new TypeError("Converting circular structure to JSON");const i=t.push(n)-1,a=Object.keys(n).sort();for(o="",r=0;r<a.length;r++){const t=a[r],i=e(n[t]);i&&(o&&(o+=","),o+=JSON.stringify(t)+":"+i)}return t.splice(i,1),"{"+o+"}"}(e)||""}const O=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],L=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function D(e,t){return`<math><mrow>${t}</mrow></math>`}function N(){let e="<mo>∏</mo>";return O.forEach(((t,n)=>{const r=2*n,o=L.slice(r,r+2);2===o.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${o[1]}</mi><mprescripts></mprescripts><mi>${o[0]}</mi><none/></mmultiscripts>`)})),D(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function B(){const e=[];return O.forEach(((t,n)=>{const r=2*n,o=L.slice(r,r+2);2===o.length&&e.push(D(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${o[1]}</mi><mprescripts></mprescripts><mi>${o[0]}</mi><none/></mmultiscripts>`))})),e}const $={audio:async function(){return a?async function(){return new Promise(((e,t)=>{try{const t=new a(1,5e3,44100),n=t.createBufferSource(),r=t.createOscillator();r.frequency.value=1e3;const o=t.createDynamicsCompressor();let i;o.threshold.value=-50,o.knee.value=40,o.ratio.value=12,o.attack.value=0,o.release.value=.2,r.connect(o),o.connect(t.destination),r.start(),t.oncomplete=r=>{i=r.renderedBuffer.getChannelData(0),e({sampleHash:s(i),maxChannels:t.destination.maxChannelCount,channelCountMode:n.channelCountMode})},t.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}():null},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return null;e.width=f,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const r="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(r,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(r,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const o=t.getImageData(0,0,e.width,e.height);return o}())).filter((e=>null!==e));0!==t.length?e({commonPixelsHash:p(c(t,f,20).data.toString()).toString()}):e(null)}))},fonts:async function(e){return new Promise((e=>{try{h((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d");if(!n)return void e(null);const r=v.map((e=>y(n,e)));let o={};w.forEach((e=>{const t=y(n,e);r.includes(t)||(o[e]=t)})),e(o)}))}catch(t){e(null)}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,r=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:S(),architecture:b(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:r.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:x(Math.asin,-1,1,97),cos:x(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:x(Math.sin,-Math.PI,Math.PI,97),tan:x(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){const t=(null==e?void 0:e.permissions_to_check)||M;return E(await Promise.all(Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)))),t)},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{if("undefined"==typeof matchMedia||"undefined"==typeof screen)return void e(null);const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:C()};A()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),r=Math.min(e,t).toString();return`${n}x${r}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=P();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:A(),applePayVersion:_(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(T=document.createElement("canvas"),T.width=200,T.height=100,k=T.getContext("webgl"));try{if(!k)throw new Error("WebGL not supported");const e=Array.from({length:I},(()=>function(){try{if(!k)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=k.createShader(k.VERTEX_SHADER),r=k.createShader(k.FRAGMENT_SHADER);if(!n||!r)throw new Error("Failed to create shaders");if(k.shaderSource(n,e),k.shaderSource(r,t),k.compileShader(n),!k.getShaderParameter(n,k.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+k.getShaderInfoLog(n));if(k.compileShader(r),!k.getShaderParameter(r,k.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+k.getShaderInfoLog(r));const o=k.createProgram();if(!o)throw new Error("Failed to create shader program");if(k.attachShader(o,n),k.attachShader(o,r),k.linkProgram(o),!k.getProgramParameter(o,k.LINK_STATUS))throw new Error("Shader program linking failed: "+k.getProgramInfoLog(o));k.useProgram(o);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(T.width/2),a[4*e+3]=Math.sin(t)*(T.height/2)}const c=k.createBuffer();k.bindBuffer(k.ARRAY_BUFFER,c),k.bufferData(k.ARRAY_BUFFER,a,k.STATIC_DRAW);const l=k.getAttribLocation(o,"position");k.enableVertexAttribArray(l),k.vertexAttribPointer(l,2,k.FLOAT,!1,0,0),k.viewport(0,0,T.width,T.height),k.clearColor(0,0,0,1),k.clear(k.COLOR_BUFFER_BIT),k.drawArrays(k.LINES,0,2*i);const u=new Uint8ClampedArray(T.width*T.height*4);k.readPixels(0,0,T.width,T.height,k.RGBA,k.UNSIGNED_BYTE,u);return new ImageData(u,T.width,T.height)}catch(e){return new ImageData(1,1)}finally{k&&(k.bindBuffer(k.ARRAY_BUFFER,null),k.useProgram(null),k.viewport(0,0,k.drawingBufferWidth,k.drawingBufferHeight),k.clearColor(0,0,0,0))}}()));return{commonPixelsHash:p(c(e,T.width,T.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}},webrtc:async function(e){return new Promise((t=>{try{const n=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!n)return void t({supported:!1,error:"WebRTC not supported"});const r=new n({iceCandidatePoolSize:1,iceServers:[]});r.createDataChannel("");(async()=>{try{const n={offerToReceiveAudio:!0,offerToReceiveVideo:!0},o=await r.createOffer(n);await r.setLocalDescription(o);const i=o.sdp||"",a=[...new Set((i.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),s=e=>{const t=i.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},c=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),r=[...i.matchAll(n)];if(!r.length)return null;const o={};return r.forEach((t=>{const[n,r,i]=t,a=i.split("/");"rtpmap"===r?(o.mimeType=`${e}/${a[0]}`,o.clockRate=+a[1],"audio"===e&&(o.channels=+a[2]||1)):"rtcp-fb"===r?(o.feedbackSupport=o.feedbackSupport||[],o.feedbackSupport.push(i)):"fmtp"===r&&(o.sdpFmtpLine=i)})),o})).filter(Boolean),l=c("audio",s("audio")),u=c("video",s("video")),d={audio:{count:l.length,hash:p(R(l))},video:{count:u.length,hash:p(R(u))},extensionsHash:p(R(a))},m=(null==e?void 0:e.timeout)||5e3,f=Math.floor(.9*m),h=await new Promise((e=>{const t=setTimeout((()=>{r.removeEventListener("icecandidate",n),r.close(),e({supported:!0,...d,timeout:!0})}),f),n=o=>{const i=o.candidate;i&&i.candidate&&(clearTimeout(t),r.removeEventListener("icecandidate",n),r.close(),e({supported:!0,...d,candidateType:i.type||""}))};r.addEventListener("icecandidate",n)}));t({details:h,hash:p(R(h))})}catch(e){r.close(),t({supported:!0,error:`WebRTC offer failed: ${e.message}`})}})()}catch(e){t({supported:!1,error:`WebRTC error: ${e.message}`})}}))},mathml:async function(){return new Promise((e=>{try{h((async({iframe:t})=>{try{if(!function(e){try{const t=e.createElement("math");t.innerHTML="<mrow><mi>x</mi></mrow>",t.style.position="absolute",t.style.visibility="hidden",e.body.appendChild(t);const n=t.getBoundingClientRect();return e.body.removeChild(t),n.width>0&&n.height>0}catch(e){return!1}}(t))return void e({supported:!1,error:"MathML not supported"});const n=[D("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),D("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),D("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),N(),...B()],r=[];let o="";n.forEach(((e,n)=>{const i=function(e,t){try{const n=t.createElement("math");n.innerHTML=e.replace(/<\/?math>/g,""),n.style.whiteSpace="nowrap",n.style.position="absolute",n.style.visibility="hidden",n.style.top="-9999px",t.body.appendChild(n);const r=n.getBoundingClientRect(),o=(t.defaultView||window).getComputedStyle(n),i={dimensions:{width:r.width,height:r.height},fontInfo:{fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontStyle:o.fontStyle,lineHeight:o.lineHeight,fontVariant:o.fontVariant||"normal",fontStretch:o.fontStretch||"normal",fontSizeAdjust:o.fontSizeAdjust||"none",textRendering:o.textRendering||"auto",fontFeatureSettings:o.fontFeatureSettings||"normal",fontVariantNumeric:o.fontVariantNumeric||"normal",fontKerning:o.fontKerning||"auto"}};return t.body.removeChild(n),i}catch(e){return{error:e.message}}}(e,t);r.push({width:i.dimensions.width,height:i.dimensions.height}),0===n&&i.fontInfo&&(o=p(R(i.fontInfo)))}));const i={fontStyleHash:o,dimensions:r};e({details:i,hash:p(R(i))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))},speech:async function(){return new Promise((e=>{try{if("undefined"==typeof window||!window.speechSynthesis||"function"!=typeof window.speechSynthesis.getVoices)return void e({supported:!1,error:"Speech Synthesis API not supported"});let t=!1,n=null;const r=r=>{if(!t){t=!0,n&&clearTimeout(n);try{const t=r.map((e=>{const t=e=>e.replace(/\\/g,"\\\\").replace(/,/g,"\\,");return[t(e.voiceURI||""),t(e.name||""),t(e.lang||""),e.localService?"1":"0",e.default?"1":"0"].join(",")}));t.sort();const n={voiceCount:r.length,voicesHash:p(R(t))};e({details:n,hash:p(R(n))})}catch(t){e({supported:!0,error:`Voice processing failed: ${t.message}`})}}},o=window.speechSynthesis.getVoices();if(o.length>0)return void r(o);n=setTimeout((()=>{const e=window.speechSynthesis.getVoices();r(e)}),800);const i=()=>{window.speechSynthesis.removeEventListener("voiceschanged",i);const e=window.speechSynthesis.getVoices();r(e)};window.speechSynthesis.addEventListener("voiceschanged",i)}catch(t){e({supported:!1,error:`Speech Synthesis error: ${t.message}`})}}))}},F={},V={},U={timeout:"true"},j=(e,t,n)=>{V[e]=t};function W(){return"1.7.0-rc.3"}function H(e,t){var n;let r=P();if("unknown"===r.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;r={name:e.name||"unknown",version:e.version||"unknown"}}}const o=r.name.toLowerCase(),a=r.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=i[e];if(t)for(const e of t){const t=!("browsers"in e),r=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,r=parseInt(n,10);return o===e&&s>=r}return o===e})));(t||r)&&c.push(...e.exclude)}}return function e(t,n=""){const r={};for(const[o,i]of Object.entries(t)){const t=n?`${n}.${o}`:o;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(r[o]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(r[o]=n)}}return r}(e)}const G="visitor_id";function z(e){return e.storage_property_name?e.storage_property_name:e.property_name_factory(G)}const J=`${t}_${G}`;function q(e,t){try{localStorage.setItem(z(t),e)}catch(e){}}const K="cache";function Y(e){try{const t=localStorage.getItem(e.property_name_factory(K)),n=JSON.parse(t);return n||{}}catch(e){}return{}}function X(t){return t.cache_lifetime_in_ms>e?Date.now()+e:Date.now()+t.cache_lifetime_in_ms}let Z=null,Q=null;const ee=(e,t)=>{if(e.cache_api_call){if(Q)return Promise.resolve(Q);const t=function(e){const t=Y(e);if(t&&t.apiResponse&&t.apiResponseExpiry&&Date.now()<=t.apiResponseExpiry)return t.apiResponse;return}(e);if(t)return Promise.resolve(t);if(Z)return Z}const r=`${e.api_endpoint||n}/thumbmark`,o=function(e){try{const t=z(e);let n=localStorage.getItem(t);return n||t===J||(n=localStorage.getItem(J),n&&q(n,e)),n}catch(e){return null}}(e),i={components:t,options:e,clientHash:p(R(t)),version:"1.7.0-rc.3"};if(o&&(i.visitorId=o),e.metadata){const t="function"==typeof e.metadata?e.metadata():e.metadata;if(t){("string"==typeof t?t.length:JSON.stringify(t).length)>1e3?console.error("ThumbmarkJS: Metadata exceeds 1000 characters. Skipping metadata."):i.metadata=t}}const a=fetch(r,{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((t=>(t.visitorId&&t.visitorId!==o&&q(t.visitorId,e),Q=t,function(e,t){if(!e.cache_api_call||!e.cache_lifetime_in_ms)return;!function(e,t){const n={...Y(e),...t};try{localStorage.setItem(e.property_name_factory(K),JSON.stringify(n))}catch(e){}}(e,{apiResponseExpiry:X(e),apiResponse:t})}(e,t),Z=null,t))).catch((e=>{if(console.error("Error fetching pro data",e),Z=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=e.timeout||5e3,c=new Promise((t=>{setTimeout((()=>{const n=Y(e);n&&n.apiResponse?t(n.apiResponse):t({info:{timed_out:!0},...o&&{visitorId:o}})}),s)}));return Z=Promise.race([a,c]),Z};async function te(e){var t;if("undefined"==typeof document||"undefined"==typeof window)return{thumbmark:"",components:{},info:{},version:"1.7.0-rc.3",error:"Browser environment required"};const o={...r,...e},i=o.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,a={...$,...V},{elapsed:s,resolvedComponents:c}=await ne(a,o);let l={},u={};if(i||o.experimental){const{elapsed:e,resolvedComponents:t}=await ne(F,o);l=t,u=e}const d=o.api_key?ee(o,c):null;let m=null;if(d)try{m=await d}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.7.0-rc.3",thumbmark:""};throw e}const f={...s,...u},h=o.performance?{elapsed:f}:{},g=H((null==m?void 0:m.components)||{},o),w={...c,...g},v=(null==m?void 0:m.info)||{uniqueness:{score:"api only"}},y=null!==(t=null==m?void 0:m.thumbmark)&&void 0!==t?t:p(R(w));i&&async function(e,t,r,o={}){var i;const a=`${n}/log`,s={thumbmark:e,components:t,experimental:o,version:"1.7.0-rc.3",options:r,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(y,w,o,l).catch((()=>{}));return{...(null==m?void 0:m.visitorId)&&{visitorId:m.visitorId},thumbmark:y,components:w,info:v,version:"1.7.0-rc.3",...h,...Object.keys(l).length>0&&o.experimental&&{experimental:l},...(null==m?void 0:m.requestId)&&{requestId:m.requestId},...(null==m?void 0:m.metadata)&&{metadata:m.metadata}}}async function ne(e,t){const n={...r,...t},o=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==n?void 0:n.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,r,o,i;return(null===(t=null==n?void 0:n.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(r=null==n?void 0:n.include)||void 0===r?void 0:r.some((t=>t.startsWith(e))):0===(null===(o=null==n?void 0:n.include)||void 0===o?void 0:o.length)||(null===(i=null==n?void 0:n.include)||void 0===i?void 0:i.includes(e))})),i=o.map((([e])=>e)),a=o.map((([e,n])=>n(t))),s=await function(e,t,n){return Promise.all(e.map((e=>{const r=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-r}))),(o=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),o)}))).then((e=>({value:e,elapsed:performance.now()-r})))]);var o,i})))}(a,(null==n?void 0:n.timeout)||5e3,U),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=H(l,n);return{elapsed:c,resolvedComponents:u}}exports.Thumbmark=class{constructor(e){this.options={...r,...e}}async get(e){return te({...this.options,...e})}getVersion(){return"1.7.0-rc.3"}includeComponent(e,t){j(e,t)}},exports.filterThumbmarkData=H,exports.getFingerprint=async function(e){try{const t=await te(o);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}},exports.getFingerprintData=async function(){return(await te(o)).components},exports.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:t}=await ne($,o);return{...t,elapsed:e}}catch(e){throw e}},exports.getThumbmark=te,exports.getVersion=W,exports.includeComponent=j,exports.setOption=function(e,t){o[e]=t},exports.stabilizationExclusionRules=i,exports.stableStringify=R;
|
|
1
|
+
"use strict";const e=2592e5,t="thumbmark",n="https://api.thumbmarkjs.com",o={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,cache_lifetime_in_ms:0,performance:!1,experimental:!1,property_name_factory:e=>`${t}_${e}`};let r={...o};const i={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["system.applePayVersion","system.cookieEnabled"],browsers:["safari"]},{exclude:["permissions"]}],vpn:[{exclude:["ip"]}]},a="undefined"!=typeof window?window.OfflineAudioContext||window.webkitOfflineAudioContext:null;function s(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function c(e,t,n){let o=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let o=0;o<e.length;o++)n.push(e[o].data[t]);o.push(l(n))}const r=new Uint8ClampedArray(o);return new ImageData(r,t,n)}function l(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function u(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const d=new Uint32Array([597399067,2869860233,951274213,2716044179]);function m(e,t){return e<<t|e>>>32-t}function p(e,t=0){if(t=t?0|t:0,"string"==typeof e&&(e=function(e){if("undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e).buffer;const t=[];for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t.push(o):o<2048?t.push(192|o>>6,128|63&o):o<55296||o>=57344?t.push(224|o>>12,128|o>>6&63,128|63&o):(n++,o=65536+((1023&o)<<10|1023&e.charCodeAt(n)),t.push(240|o>>18,128|o>>12&63,128|o>>6&63,128|63&o))}return new Uint8Array(t).buffer}(e)),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const n=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,o=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=o.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],d[0]),n[0]=m(n[0],15),n[0]=Math.imul(n[0],d[1]),t[0]=t[0]^n[0],t[0]=m(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],d[1]),n[1]=m(n[1],16),n[1]=Math.imul(n[1],d[2]),t[1]=t[1]^n[1],t[1]=m(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],d[2]),n[2]=m(n[2],17),n[2]=Math.imul(n[2],d[3]),t[2]=t[2]^n[2],t[2]=m(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],d[3]),n[3]=m(n[3],18),n[3]=Math.imul(n[3],d[0]),t[3]=t[3]^n[3],t[3]=m(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,n),function(e,t){const n=e.byteLength/16|0,o=e.byteLength%16,r=new Uint32Array(4),i=new Uint8Array(e,16*n,o);switch(o){case 15:r[3]=r[3]^i[14]<<16;case 14:r[3]=r[3]^i[13]<<8;case 13:r[3]=r[3]^i[12],r[3]=Math.imul(r[3],d[3]),r[3]=m(r[3],18),r[3]=Math.imul(r[3],d[0]),t[3]=t[3]^r[3];case 12:r[2]=r[2]^i[11]<<24;case 11:r[2]=r[2]^i[10]<<16;case 10:r[2]=r[2]^i[9]<<8;case 9:r[2]=r[2]^i[8],r[2]=Math.imul(r[2],d[2]),r[2]=m(r[2],17),r[2]=Math.imul(r[2],d[3]),t[2]=t[2]^r[2];case 8:r[1]=r[1]^i[7]<<24;case 7:r[1]=r[1]^i[6]<<16;case 6:r[1]=r[1]^i[5]<<8;case 5:r[1]=r[1]^i[4],r[1]=Math.imul(r[1],d[1]),r[1]=m(r[1],16),r[1]=Math.imul(r[1],d[2]),t[1]=t[1]^r[1];case 4:r[0]=r[0]^i[3]<<24;case 3:r[0]=r[0]^i[2]<<16;case 2:r[0]=r[0]^i[1]<<8;case 1:r[0]=r[0]^i[0],r[0]=Math.imul(r[0],d[0]),r[0]=m(r[0],15),r[0]=Math.imul(r[0],d[1]),t[0]=t[0]^r[0]}}(e,n),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=u(t[0]),t[1]=u(t[1]),t[2]=u(t[2]),t[3]=u(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,n);const o=new Uint8Array(n.buffer);return Array.from(o).map((e=>e.toString(16).padStart(2,"0"))).join("")}const f=280;async function h(e){for(var t;!document.body;)await g(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const o=n.style;o.setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const r=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!r)throw new Error("Iframe document is not accessible");e({iframe:r}),setTimeout((()=>{document.body.removeChild(n)}),0)}function g(e,t){return new Promise((n=>setTimeout(n,e,t)))}const w=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],v=["monospace","sans-serif","serif"];function y(e,t){return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function S(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let o={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),r=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(o.vendorUnmasked=t),r&&(o.rendererUnmasked=r)}}return o}catch(e){}return"undefined"}function b(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const x=(e,t,n,o)=>{const r=(n-t)/o;let i=0;for(let n=0;n<o;n++){i+=e(t+(n+.5)*r)}return i*r};function E(e,t){const n={};return t.forEach((t=>{const o=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],o=1;return Object.keys(t).forEach((e=>{t[e]>o&&(n=e,o=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));o&&(n[t]=o)})),n}const M=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function P(){var e,t,n,o,r,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(o=s.groups)||void 0===o?void 0:o.version2);if(a||!(null===(r=s.groups)||void 0===r?void 0:r.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function A(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function C(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function _(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const I="SamsungBrowser"!==P().name?1:3;let T,k=null;function R(e){const t=[];return function e(n){if(n&&n.toJSON&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===n)return;if("number"==typeof n)return isFinite(n)?""+n:"null";if("object"!=typeof n)return JSON.stringify(n);let o,r;if(Array.isArray(n)){for(r="[",o=0;o<n.length;o++)o&&(r+=","),r+=e(n[o])||"null";return r+"]"}if(null===n)return"null";if(-1!==t.indexOf(n))throw new TypeError("Converting circular structure to JSON");const i=t.push(n)-1,a=Object.keys(n).sort();for(r="",o=0;o<a.length;o++){const t=a[o],i=e(n[t]);i&&(r&&(r+=","),r+=JSON.stringify(t)+":"+i)}return t.splice(i,1),"{"+r+"}"}(e)||""}const O=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],L=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function D(e,t){return`<math><mrow>${t}</mrow></math>`}function N(){let e="<mo>∏</mo>";return O.forEach(((t,n)=>{const o=2*n,r=L.slice(o,o+2);2===r.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`)})),D(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function B(){const e=[];return O.forEach(((t,n)=>{const o=2*n,r=L.slice(o,o+2);2===r.length&&e.push(D(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`))})),e}const $={audio:async function(){return a?async function(){return new Promise(((e,t)=>{try{const t=new a(1,5e3,44100),n=t.createBufferSource(),o=t.createOscillator();o.frequency.value=1e3;const r=t.createDynamicsCompressor();let i;r.threshold.value=-50,r.knee.value=40,r.ratio.value=12,r.attack.value=0,r.release.value=.2,o.connect(r),r.connect(t.destination),o.start(),t.oncomplete=o=>{i=o.renderedBuffer.getChannelData(0),e({sampleHash:s(i),maxChannels:t.destination.maxChannelCount,channelCountMode:n.channelCountMode})},t.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}():null},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return null;e.width=f,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const o="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(o,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(o,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const r=t.getImageData(0,0,e.width,e.height);return r}())).filter((e=>null!==e));0!==t.length?e({commonPixelsHash:p(c(t,f,20).data.toString()).toString()}):e(null)}))},fonts:async function(e){return new Promise((e=>{try{h((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d");if(!n)return void e(null);const o=v.map((e=>y(n,e)));let r={};w.forEach((e=>{const t=y(n,e);o.includes(t)||(r[e]=t)})),e(r)}))}catch(t){e(null)}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,o=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:S(),architecture:b(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:o.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:x(Math.asin,-1,1,97),cos:x(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:x(Math.sin,-Math.PI,Math.PI,97),tan:x(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){const t=(null==e?void 0:e.permissions_to_check)||M;return E(await Promise.all(Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)))),t)},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{if("undefined"==typeof matchMedia||"undefined"==typeof screen)return void e(null);const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:C()};A()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),o=Math.min(e,t).toString();return`${n}x${o}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=P();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:A(),applePayVersion:_(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(T=document.createElement("canvas"),T.width=200,T.height=100,k=T.getContext("webgl"));try{if(!k)throw new Error("WebGL not supported");const e=Array.from({length:I},(()=>function(){try{if(!k)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=k.createShader(k.VERTEX_SHADER),o=k.createShader(k.FRAGMENT_SHADER);if(!n||!o)throw new Error("Failed to create shaders");if(k.shaderSource(n,e),k.shaderSource(o,t),k.compileShader(n),!k.getShaderParameter(n,k.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+k.getShaderInfoLog(n));if(k.compileShader(o),!k.getShaderParameter(o,k.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+k.getShaderInfoLog(o));const r=k.createProgram();if(!r)throw new Error("Failed to create shader program");if(k.attachShader(r,n),k.attachShader(r,o),k.linkProgram(r),!k.getProgramParameter(r,k.LINK_STATUS))throw new Error("Shader program linking failed: "+k.getProgramInfoLog(r));k.useProgram(r);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(T.width/2),a[4*e+3]=Math.sin(t)*(T.height/2)}const c=k.createBuffer();k.bindBuffer(k.ARRAY_BUFFER,c),k.bufferData(k.ARRAY_BUFFER,a,k.STATIC_DRAW);const l=k.getAttribLocation(r,"position");k.enableVertexAttribArray(l),k.vertexAttribPointer(l,2,k.FLOAT,!1,0,0),k.viewport(0,0,T.width,T.height),k.clearColor(0,0,0,1),k.clear(k.COLOR_BUFFER_BIT),k.drawArrays(k.LINES,0,2*i);const u=new Uint8ClampedArray(T.width*T.height*4);k.readPixels(0,0,T.width,T.height,k.RGBA,k.UNSIGNED_BYTE,u);return new ImageData(u,T.width,T.height)}catch(e){return new ImageData(1,1)}finally{k&&(k.bindBuffer(k.ARRAY_BUFFER,null),k.useProgram(null),k.viewport(0,0,k.drawingBufferWidth,k.drawingBufferHeight),k.clearColor(0,0,0,0))}}()));return{commonPixelsHash:p(c(e,T.width,T.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}},webrtc:async function(e){return new Promise((t=>{try{const n=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!n)return void t({supported:!1,error:"WebRTC not supported"});const o=new n({iceCandidatePoolSize:1,iceServers:[]});o.createDataChannel("");(async()=>{try{const n={offerToReceiveAudio:!0,offerToReceiveVideo:!0},r=await o.createOffer(n);await o.setLocalDescription(r);const i=r.sdp||"",a=[...new Set((i.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),s=e=>{const t=i.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},c=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),o=[...i.matchAll(n)];if(!o.length)return null;const r={};return o.forEach((t=>{const[n,o,i]=t,a=i.split("/");"rtpmap"===o?(r.mimeType=`${e}/${a[0]}`,r.clockRate=+a[1],"audio"===e&&(r.channels=+a[2]||1)):"rtcp-fb"===o?(r.feedbackSupport=r.feedbackSupport||[],r.feedbackSupport.push(i)):"fmtp"===o&&(r.sdpFmtpLine=i)})),r})).filter(Boolean),l=c("audio",s("audio")),u=c("video",s("video")),d={audio:{count:l.length,hash:p(R(l))},video:{count:u.length,hash:p(R(u))},extensionsHash:p(R(a))},m=(null==e?void 0:e.timeout)||5e3,f=Math.floor(.9*m),h=await new Promise((e=>{const t=setTimeout((()=>{o.removeEventListener("icecandidate",n),o.close(),e({supported:!0,...d,timeout:!0})}),f),n=r=>{const i=r.candidate;i&&i.candidate&&(clearTimeout(t),o.removeEventListener("icecandidate",n),o.close(),e({supported:!0,...d,candidateType:i.type||""}))};o.addEventListener("icecandidate",n)}));t({details:h,hash:p(R(h))})}catch(e){o.close(),t({supported:!0,error:`WebRTC offer failed: ${e.message}`})}})()}catch(e){t({supported:!1,error:`WebRTC error: ${e.message}`})}}))},speech:async function(){return new Promise((e=>{try{if("undefined"==typeof window||!window.speechSynthesis||"function"!=typeof window.speechSynthesis.getVoices)return void e({supported:!1,error:"Speech Synthesis API not supported"});let t=!1,n=null;const o=o=>{if(!t){t=!0,n&&clearTimeout(n);try{const t=o.map((e=>{const t=e=>e.replace(/\\/g,"\\\\").replace(/,/g,"\\,");return[t(e.voiceURI||""),t(e.name||""),t(e.lang||""),e.localService?"1":"0",e.default?"1":"0"].join(",")}));t.sort();const n={voiceCount:o.length,voicesHash:p(R(t))};e({details:n,hash:p(R(n))})}catch(t){e({supported:!0,error:`Voice processing failed: ${t.message}`})}}},r=window.speechSynthesis.getVoices();if(r.length>0)return void o(r);n=setTimeout((()=>{const e=window.speechSynthesis.getVoices();o(e)}),800);const i=()=>{window.speechSynthesis.removeEventListener("voiceschanged",i);const e=window.speechSynthesis.getVoices();o(e)};window.speechSynthesis.addEventListener("voiceschanged",i)}catch(t){e({supported:!1,error:`Speech Synthesis error: ${t.message}`})}}))}},F={mathml:async function(){return new Promise((e=>{try{h((async({iframe:t})=>{try{if(!function(e){try{const t=e.createElement("math");t.innerHTML="<mrow><mi>x</mi></mrow>",t.style.position="absolute",t.style.visibility="hidden",e.body.appendChild(t);const n=t.getBoundingClientRect();return e.body.removeChild(t),n.width>0&&n.height>0}catch(e){return!1}}(t))return void e({supported:!1,error:"MathML not supported"});const n=[D("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),D("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),D("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),N(),...B()],o=[];let r="";n.forEach(((e,n)=>{const i=function(e,t){try{const n=t.createElement("math");n.innerHTML=e.replace(/<\/?math>/g,""),n.style.whiteSpace="nowrap",n.style.position="absolute",n.style.visibility="hidden",n.style.top="-9999px",t.body.appendChild(n);const o=n.getBoundingClientRect(),r=(t.defaultView||window).getComputedStyle(n),i={dimensions:{width:o.width,height:o.height},fontInfo:{fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontStyle:r.fontStyle,lineHeight:r.lineHeight,fontVariant:r.fontVariant||"normal",fontStretch:r.fontStretch||"normal",fontSizeAdjust:r.fontSizeAdjust||"none",textRendering:r.textRendering||"auto",fontFeatureSettings:r.fontFeatureSettings||"normal",fontVariantNumeric:r.fontVariantNumeric||"normal",fontKerning:r.fontKerning||"auto"}};return t.body.removeChild(n),i}catch(e){return{error:e.message}}}(e,t);o.push({width:i.dimensions.width,height:i.dimensions.height}),0===n&&i.fontInfo&&(r=p(R(i.fontInfo)))}));const i={fontStyleHash:r,dimensions:o};e({details:i,hash:p(R(i))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}},V={},U={timeout:"true"},j=(e,t,n)=>{V[e]=t};function W(){return"1.7.1"}function H(e,t){var n;let o=P();if("unknown"===o.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;o={name:e.name||"unknown",version:e.version||"unknown"}}}const r=o.name.toLowerCase(),a=o.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=i[e];if(t)for(const e of t){const t=!("browsers"in e),o=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,o=parseInt(n,10);return r===e&&s>=o}return r===e})));(t||o)&&c.push(...e.exclude)}}return function e(t,n=""){const o={};for(const[r,i]of Object.entries(t)){const t=n?`${n}.${r}`:r;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(o[r]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(o[r]=n)}}return o}(e)}const G="visitor_id";function z(e){return e.storage_property_name?e.storage_property_name:e.property_name_factory(G)}const J=`${t}_${G}`;function q(e,t){try{localStorage.setItem(z(t),e)}catch(e){}}const K="cache";function Y(e){try{const t=localStorage.getItem(e.property_name_factory(K)),n=JSON.parse(t);return n||{}}catch(e){}return{}}function X(t){return t.cache_lifetime_in_ms>e?Date.now()+e:Date.now()+t.cache_lifetime_in_ms}let Z=null,Q=null;const ee=(e,t)=>{if(e.cache_api_call){if(Q)return Promise.resolve(Q);const t=function(e){const t=Y(e);if(t&&t.apiResponse&&t.apiResponseExpiry&&Date.now()<=t.apiResponseExpiry)return t.apiResponse;return}(e);if(t)return Promise.resolve(t);if(Z)return Z}const o=`${e.api_endpoint||n}/thumbmark`,r=function(e){try{const t=z(e);let n=localStorage.getItem(t);return n||t===J||(n=localStorage.getItem(J),n&&q(n,e)),n}catch(e){return null}}(e),i={components:t,options:e,clientHash:p(R(t)),version:"1.7.1"};if(r&&(i.visitorId=r),e.metadata){const t="function"==typeof e.metadata?e.metadata():e.metadata;if(t){("string"==typeof t?t.length:JSON.stringify(t).length)>1e3?console.error("ThumbmarkJS: Metadata exceeds 1000 characters. Skipping metadata."):i.metadata=t}}const a=fetch(o,{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((t=>(t.visitorId&&t.visitorId!==r&&q(t.visitorId,e),Q=t,function(e,t){if(!e.cache_api_call||!e.cache_lifetime_in_ms)return;!function(e,t){const n={...Y(e),...t};try{localStorage.setItem(e.property_name_factory(K),JSON.stringify(n))}catch(e){}}(e,{apiResponseExpiry:X(e),apiResponse:t})}(e,t),Z=null,t))).catch((e=>{if(console.error("Error fetching pro data",e),Z=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=e.timeout||5e3,c=new Promise((t=>{setTimeout((()=>{const n=Y(e);n&&n.apiResponse?t(n.apiResponse):t({info:{timed_out:!0},...r&&{visitorId:r}})}),s)}));return Z=Promise.race([a,c]),Z};async function te(e){var t;if("undefined"==typeof document||"undefined"==typeof window)return{thumbmark:"",components:{},info:{},version:"1.7.1",error:"Browser environment required"};const r={...o,...e},i=r.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,a={...$,...V},{elapsed:s,resolvedComponents:c}=await ne(a,r);let l={},u={};if(i||r.experimental){const{elapsed:e,resolvedComponents:t}=await ne(F,r);l=t,u=e}const d=r.api_key?ee(r,c):null;let m=null;if(d)try{m=await d}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.7.1",thumbmark:""};throw e}const f={...s,...u},h=r.performance?{elapsed:f}:{},g=H((null==m?void 0:m.components)||{},r),w={...c,...g},v=(null==m?void 0:m.info)||{uniqueness:{score:"api only"}},y=null!==(t=null==m?void 0:m.thumbmark)&&void 0!==t?t:p(R(w));i&&async function(e,t,o,r={}){var i;const a=`${n}/log`,s={thumbmark:e,components:t,experimental:r,version:"1.7.1",options:o,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(y,w,r,l).catch((()=>{}));return{...(null==m?void 0:m.visitorId)&&{visitorId:m.visitorId},thumbmark:y,components:w,info:v,version:"1.7.1",...h,...Object.keys(l).length>0&&r.experimental&&{experimental:l},...(null==m?void 0:m.requestId)&&{requestId:m.requestId},...(null==m?void 0:m.metadata)&&{metadata:m.metadata}}}async function ne(e,t){const n={...o,...t},r=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==n?void 0:n.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,o,r,i;return(null===(t=null==n?void 0:n.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(o=null==n?void 0:n.include)||void 0===o?void 0:o.some((t=>t.startsWith(e))):0===(null===(r=null==n?void 0:n.include)||void 0===r?void 0:r.length)||(null===(i=null==n?void 0:n.include)||void 0===i?void 0:i.includes(e))})),i=r.map((([e])=>e)),a=r.map((([e,n])=>n(t))),s=await function(e,t,n){return Promise.all(e.map((e=>{const o=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-o}))).catch((()=>({value:n,elapsed:performance.now()-o}))),(r=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),r)}))).then((e=>({value:e,elapsed:performance.now()-o})))]);var r,i})))}(a,(null==n?void 0:n.timeout)||5e3,U),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=H(l,n);return{elapsed:c,resolvedComponents:u}}exports.Thumbmark=class{constructor(e){this.options={...o,...e}}async get(e){return te({...this.options,...e})}getVersion(){return"1.7.1"}includeComponent(e,t){j(e,t)}},exports.filterThumbmarkData=H,exports.getFingerprint=async function(e){try{const t=await te(r);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}},exports.getFingerprintData=async function(){return(await te(r)).components},exports.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:t}=await ne($,r);return{...t,elapsed:e}}catch(e){throw e}},exports.getThumbmark=te,exports.getVersion=W,exports.includeComponent=j,exports.setOption=function(e,t){r[e]=t},exports.stabilizationExclusionRules=i,exports.stableStringify=R;
|
|
2
2
|
//# sourceMappingURL=thumbmark.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.cjs.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/utils/stableStringify.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/components/speech/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/utils/cache.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MAXIMUM_CACHE_LIFETIME","DEFAULT_STORAGE_PREFIX","DEFAULT_API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","cache_lifetime_in_ms","performance","experimental","property_name_factory","name","options","stabilizationExclusionRules","private","browsers","iframe","vpn","OfflineAudioContextClass","window","OfflineAudioContext","webkitOfflineAudioContext","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","utf8","charCode","charCodeAt","Uint8Array","encodeUtf8","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","async","ephemeralIFrame","callback","document","wait","createElement","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","_a","contentWindow","undefined","Error","setTimeout","removeChild","durationMs","resolveWith","Promise","resolve","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","gl","getContext","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","stableStringify","seen","stringify","node","toJSON","isFinite","JSON","out","isArray","indexOf","seenIndex","sort","splice","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","reject","audioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","all","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","audioCodecs","videoCodecs","compressedData","count","video","extensionsHash","totalTimeout","iceTimeout","floor","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","details","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","dimensionsArray","fontStyleHash","struct","measurement","mathElement","whiteSpace","top","computedStyle","defaultView","getComputedStyle","measurements","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","speech","speechSynthesis","getVoices","voicesResolved","timeoutHandle","processVoices","voices","voiceSignatures","voice","escapeValue","voiceURI","lang","localService","default","voiceCount","voicesHash","onVoicesChanged","tm_experimental_component_promises","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","DEFAULT_STORAGE_PROPERTY_NAME","getVisitorIdPropertyName","_options","storage_property_name","DEFAULT_VISITOR_ID_NAME","setVisitorId","visitorId","localStorage","setItem","CACHE_KEY","getCache","rawCache","getItem","jsonCache","parse","getApiResponseExpiry","Date","now","currentApiPromise","apiPromiseResult","getApiPromise","components","cached","cache","apiResponse","apiResponseExpiry","getCachedApiResponse","endpoint","api_endpoint","propertyName","getVisitorId","requestBody","clientHash","metadata","resolvedMetadata","fetchPromise","fetch","method","headers","api_key","Authorization","then","response","ok","json","values","newValues","setCache","setCachedApiResponse","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","thumbmark","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","experimentalElapsed","expElapsed","apiPromise","apiResult","allElapsed","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","requestId","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbmark.cjs.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/utils/stableStringify.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/components/speech/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/utils/cache.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MAXIMUM_CACHE_LIFETIME","DEFAULT_STORAGE_PREFIX","DEFAULT_API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","cache_lifetime_in_ms","performance","experimental","property_name_factory","name","options","stabilizationExclusionRules","private","browsers","iframe","vpn","OfflineAudioContextClass","window","OfflineAudioContext","webkitOfflineAudioContext","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","utf8","charCode","charCodeAt","Uint8Array","encodeUtf8","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","async","ephemeralIFrame","callback","document","wait","createElement","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","_a","contentWindow","undefined","Error","setTimeout","removeChild","durationMs","resolveWith","Promise","resolve","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","gl","getContext","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","stableStringify","seen","stringify","node","toJSON","isFinite","JSON","out","isArray","indexOf","seenIndex","sort","splice","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","reject","audioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","all","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","audioCodecs","videoCodecs","compressedData","count","video","extensionsHash","totalTimeout","iceTimeout","floor","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","details","message","processOffer","speech","speechSynthesis","getVoices","voicesResolved","timeoutHandle","processVoices","voices","voiceSignatures","voice","escapeValue","voiceURI","lang","localService","default","voiceCount","voicesHash","onVoicesChanged","tm_experimental_component_promises","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","dimensionsArray","fontStyleHash","struct","measurement","mathElement","whiteSpace","top","computedStyle","defaultView","getComputedStyle","measurements","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","DEFAULT_STORAGE_PROPERTY_NAME","getVisitorIdPropertyName","_options","storage_property_name","DEFAULT_VISITOR_ID_NAME","setVisitorId","visitorId","localStorage","setItem","CACHE_KEY","getCache","rawCache","getItem","jsonCache","parse","getApiResponseExpiry","Date","now","currentApiPromise","apiPromiseResult","getApiPromise","components","cached","cache","apiResponse","apiResponseExpiry","getCachedApiResponse","endpoint","api_endpoint","propertyName","getVisitorId","requestBody","clientHash","metadata","resolvedMetadata","fetchPromise","fetch","method","headers","api_key","Authorization","then","response","ok","json","values","newValues","setCache","setCachedApiResponse","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","thumbmark","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","experimentalElapsed","expElapsed","apiPromise","apiResult","allElapsed","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","requestId","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
package/dist/thumbmark.esm.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
type JSONValue = string | number | boolean | null | JSONValue[] | {
|
|
2
|
+
[key: string]: JSONValue;
|
|
3
|
+
};
|
|
1
4
|
interface OptionsAfterDefaults {
|
|
2
5
|
/**
|
|
3
6
|
* A function to customise localStorage names used by thumbmark
|
|
@@ -29,15 +32,13 @@ interface OptionsAfterDefaults {
|
|
|
29
32
|
experimental?: boolean;
|
|
30
33
|
/**
|
|
31
34
|
* Optional metadata to pass through to the API and webhooks.
|
|
32
|
-
* Can be a static
|
|
35
|
+
* Can be a static JSON object or a function that returns a JSON object (evaluated at request time).
|
|
33
36
|
* This field is excluded from fingerprint calculation.
|
|
34
|
-
* Maximum length: 1000 characters
|
|
35
|
-
* @example metadata: "event-123"
|
|
36
|
-
* @example metadata: () => generateEventId()
|
|
37
|
+
* Maximum length: 1000 characters when stringified.
|
|
37
38
|
* @example metadata: { userId: "123", eventType: "login" }
|
|
38
|
-
* @example metadata: () => ({ timestamp: Date.now() })
|
|
39
|
+
* @example metadata: () => ({ timestamp: Date.now(), sessionId: "abc" })
|
|
39
40
|
*/
|
|
40
|
-
metadata?:
|
|
41
|
+
metadata?: JSONValue | (() => JSONValue);
|
|
41
42
|
}
|
|
42
43
|
type optionsInterface = Partial<OptionsAfterDefaults>;
|
|
43
44
|
/**
|