Socket
Socket
Sign inDemoInstall

@fingerprintjs/fingerprintjs-pro

Package Overview
Dependencies
Maintainers
2
Versions
67
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fingerprintjs/fingerprintjs-pro - npm Package Compare versions

Comparing version 3.0.0-beta.2 to 3.0.0-beta.3

4

dist/fp.cjs.min.js
/**
* FingerprintJS Pro v3.0.0-beta.2 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.0-beta.3 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
*

@@ -8,2 +8,2 @@ * This software contains code from open-source projects:

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),e=require("@fingerprintjs/fingerprintjs");function n(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function i(e,i,r){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield Promise.race([n(i,[!0]),("function"==typeof e?e():e).then((t=>[!1,t]))]);return t[0]?null==r?void 0:r():t[1]}))}function r(e){return t.__awaiter(this,void 0,void 0,(function*(){let n;try{n=yield function(e,n){var{timeout:r}=n,o=t.__rest(n,["timeout"]);return t.__awaiter(this,void 0,void 0,(function*(){let t="undefined"==typeof AbortController?void 0:new AbortController;return i(fetch(e,Object.assign(Object.assign({},o),{signal:null==t?void 0:t.signal})),r,(()=>{throw null==t||t.abort(),new DOMException("The request timed out.","TimeoutError")}))}))}("https://api.sjpf.io",{timeout:e})}catch(o){switch(o.name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}}const r=yield n.text();if(200===n.status)return r;throw new Error(r.slice(0,255))}))}const o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=o.length;function a(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function u(e){var{endpoint:n,extendedResult:i,debug:r}=e,a=t.__rest(e,["endpoint","extendedResult","debug"]);return t.__awaiter(this,void 0,void 0,(function*(){const e=function(t){let e="";for(let n=0;n<t;n++)e+=o.charAt(Math.random()*s);return e}(20),u=function({components:t,token:e,visitorId:n,tag:i,ipResolution:r,extendedResult:o,linkedId:s,tls:a,tlsError:u,requestId:v}){const _=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),h="full"===r?2:1;return{rid:v,cv:"3.0.0-beta.2",c:e,url:location.href,d:_,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:c(i),i:h,cbd:o?1:void 0,lid:s,cr:document.referrer||void 0,j:a,je:null==u?void 0:u.message,k1:d(t.osCpu),k2:d(t.languages),k3:d(t.colorDepth),k4:d(t.deviceMemory),k5:d(t.screenResolution),k6:d(t.availableScreenResolution,void 0,[]),k7:d(t.hardwareConcurrency),k8:d(t.timezoneOffset),k9:d(t.timezone),k10:l(d(t.sessionStorage)),k11:l(d(t.localStorage)),k12:l(d(t.indexedDB)),k13:l(d(t.openDatabase)),k14:d(t.cpuClass),k15:d(t.platform),k16:d(t.plugins,[]),k17:f(t.canvas),k18:0,k19:d(t.touchSupport),k20:d(t.fonts,[]),k21:d(t.audio,-1),k22:l(d(t.pluginsSupport)),k23:d(t.productSub),k24:d(t.emptyEvalLength),k25:l(d(t.errorFF)),k26:l(d(t[0])),k27:d(t.vendor),k28:l(d(t.chrome)),k29:l(d(t[1])),k30:l(d(t[2])),k31:l(d(t[3],!1)),k32:l(d(t.cookiesEnabled,!1)),k33:l(d(t[4]))}}(Object.assign({extendedResult:i,requestId:e},a));return function(e,n,i,r){return t.__awaiter(this,void 0,void 0,(function*(){const o=yield e.text();let s;try{s=JSON.parse(o)}catch(a){}if(r&&console.log(`Visitor response status: ${e.status}\nVisitor response body:\n\`\`\`json\n${void 0===s?o:JSON.stringify(s,void 0,2)}\n\`\`\``),404===e.status||e.status>=500)throw new Error(e.statusText);if(void 0===s)throw new Error(o);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&"n/a"!==t.visitorId}(s))return function(e){const n=e,{botProbability:i}=n,r=t.__rest(n,["botProbability"]),o=Object.assign({},r);i&&(o.bot={probability:i});return o}(s);if(function(t){return t&&"object"==typeof t&&"n/a"===t.visitorId}(s)){if("Not available for crawl bots"===s.reason||"Not available when User-Agent is unspecified"===s.reason)return function(t,e,n){const i={requestId:e,visitorFound:!1,visitorId:""};if(!n)return i;const r=Object.assign(Object.assign({},i),{bot:{probability:1},incognito:!1,browserName:"n/a",browserVersion:"n/a",device:"n/a",ip:"n/a",ipLocation:{},os:"n/a",osVersion:"n/a"});"Not available for crawl bots"===t&&(r.bot.safe=!0);return r}(s.reason,n,i);throw new Error(s.reason)}throw new Error(o)}))}(yield function(e,n,i){return t.__awaiter(this,void 0,void 0,(function*(){i&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(n,void 0,2)}\n\`\`\``);const t=JSON.stringify(n);try{return yield fetch(e,{method:"POST",body:t,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(r){throw new Error("AbortError"===r.name?"Network request aborted":"Network connection error")}}))}(n,u,r),e,i,r)}))}function c(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function d(t,e,n){var i;return t.error?e:null!==(i=t.value)&&void 0!==i?i:n}function l(t){return!0===t?1:!1===t?0:t}function f({value:t}){if(t)return Object.assign(Object.assign({},t),{data:e.murmurX64Hash128(t.data)})}const v=window,_=document;const h=window;const p=navigator,w=window;const g=window,m=navigator;const b=[[function(){return e.isChromium()},function(){return t.__awaiter(this,void 0,void 0,(function*(){return function(){const t=p.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return t.__awaiter(this,void 0,void 0,(function*(){if("storage"in p&&"estimate"in p.storage){const{quota:t}=yield p.storage.estimate();return!!t&&t<function(){var t,e,n;const i=(null===(t=p.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=p.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),r=(null===(n=p.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return i||r?3221225472:1073741824}()}return!1}))}():new Promise((t=>{w.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(m.vendor)&&/Safari/.test(m.userAgent)},function(){return t.__awaiter(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,i,r]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:i,patch:r}}().major<13?function(){try{g.openDatabase(null,null,null,null)}catch(t){return!0}try{return g.localStorage.setItem("test","1"),g.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return t.__awaiter(this,void 0,void 0,(function*(){return e.isDesktopSafari()?function(){try{g.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return t.__awaiter(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),i(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return e.isGecko()},function(){return t.__awaiter(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=h.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return e.isIEOrOldEdge()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function k(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let i=0;for(let r=0;r<e.length;r++){if(t[n+r]!==e[r]){i=0;break}i++}if(i==e.length)return n}return-1}const y=window,E=document;const R={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=_;return"webdriver"in v||"_Selenium_IDE_Recorder"in v||"callSelenium"in v||"_selenium"in v||"__webdriver_script_fn"in _||"__driver_evaluate"in _||"__webdriver_evaluate"in _||"__selenium_evaluate"in _||"__fxdriver_evaluate"in _||"__driver_unwrapped"in _||"__webdriver_unwrapped"in _||"__selenium_unwrapped"in _||"__fxdriver_unwrapped"in _||"__webdriver_script_func"in _||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return t.__awaiter(this,void 0,void 0,(function*(){const e=function(){try{const t=localStorage.getItem("_inc");if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==e)return e;try{const e=yield function(){return t.__awaiter(this,void 0,void 0,(function*(){for(const[t,e]of b)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem("_inc",t?"1":"0")}catch(e){}}(e),e}catch(n){return!1}}))},4:function(){if(!e.isChromium())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in y)return!0;const t=E.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),i=n.length,r=new Uint8Array(i);for(let u=0;u<i;u++)r[u]=n.charCodeAt(u);const o=k(r,[73,68,65,84,24]);if(-1===o)return!1;const s=k(r,[73,69,78,68]);if(-1===o)return!1;const a=r.slice(o+5,s);return 1321!==a.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const O=document,S=location;function I(t){const e=t+"=";for(const n of O.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function x(t,e,n,i){const r=`${t}=${e}`,o="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),s=i?"domain="+i:"";O.cookie=[r,"path=/",o,s].join("; ")}function j(t,e){x(t,"",-1,e)}function P(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))break}while(n>=0)}const{localStorage:N}=window;function T(t="_vid"){return[I(t),C(t)]}function A(t,e="_vid"){!function(t,e,n){const i=S.hostname;P(i,(e=>{j(t,e),j(t,"."+e)})),P(i,(i=>(x(t,e,n,"."+i),I(t)!==e)))}(e,t,365),function(t,e){if(null==N?void 0:N.setItem)try{N.setItem(t,e)}catch(n){}}(e,t)}function C(t){var e;if(null==N?void 0:N.getItem)try{return null!==(e=N.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var F,q,G,M,D,W,U,L;class V{constructor(n,i,o,s,a){F.set(this,void 0),q.set(this,void 0),G.set(this,void 0),M.set(this,void 0),D.set(this,void 0),W.set(this,((e,n)=>t.__awaiter(this,void 0,void 0,(function*(){if(!n)return r(e).then((t=>({tls:t})),(t=>({tlsError:t})))})))),U.set(this,(()=>t.__awaiter(this,void 0,void 0,(function*(){const n=yield t.__classPrivateFieldGet(this,F).get(),i=yield e.getComponents(R,void 0,[]);return Object.assign(Object.assign({},n.components),i)})))),L.set(this,(e=>{const n={token:t.__classPrivateFieldGet(this,q),region:t.__classPrivateFieldGet(this,G),endpoint:t.__classPrivateFieldGet(this,M),storageKey:t.__classPrivateFieldGet(this,D)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.2\ninitOptions: ${JSON.stringify(n,void 0,2)}\ngetOptions: ${JSON.stringify(e,void 0,2)}\n\`\`\``)})),t.__classPrivateFieldSet(this,F,n),t.__classPrivateFieldSet(this,q,i),t.__classPrivateFieldSet(this,G,o),t.__classPrivateFieldSet(this,M,s),t.__classPrivateFieldSet(this,D,a)}get(e={}){const{timeout:n=1e4,tag:r,linkedId:o,disableTls:s,extendedResult:c,ipResolution:d,debug:l}=e;return l&&t.__classPrivateFieldGet(this,L).call(this,e),f="Client timeout",i((()=>t.__awaiter(this,void 0,void 0,(function*(){const[e,i]=yield Promise.all([t.__classPrivateFieldGet(this,W).call(this,n/2,s),t.__classPrivateFieldGet(this,U).call(this)]),f=yield u(Object.assign(Object.assign({token:t.__classPrivateFieldGet(this,q),endpoint:a(t.__classPrivateFieldGet(this,G),t.__classPrivateFieldGet(this,M))},e),{components:i,tag:r,visitorId:T(t.__classPrivateFieldGet(this,D)),linkedId:o,extendedResult:c,ipResolution:d,debug:l}));return A(f.visitorId,t.__classPrivateFieldGet(this,D)),f}))),n,(()=>{throw new Error(f)}));var f}}F=new WeakMap,q=new WeakMap,G=new WeakMap,M=new WeakMap,D=new WeakMap,W=new WeakMap,U=new WeakMap,L=new WeakMap;exports.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",exports.ERROR_CLIENT_TIMEOUT="Client timeout",exports.ERROR_GENERAL_SERVER_FAILURE="Request failed",exports.ERROR_NETWORK_ABORT="Network request aborted",exports.ERROR_NETWORK_CONNECTION="Network connection error",exports.ERROR_RATE_LIMIT="Too many requests, rate limit exceeded",exports.ERROR_SERVER_TIMEOUT="Request failed to process",exports.ERROR_TOKEN_INVALID="Token not found",exports.ERROR_TOKEN_MISSING="Token required",exports.load=function({token:n,region:i,endpoint:r,storageKey:o,delayFallback:s}){return t.__awaiter(this,void 0,void 0,(function*(){if(!n||"string"!=typeof n)throw new Error("Token required");const t=yield e.load({delayFallback:s});return new V(t,n,i,r,o)}))};
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),e=require("@fingerprintjs/fingerprintjs");function n(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function i(e,i,r){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield Promise.race([n(i,[!0]),("function"==typeof e?e():e).then((t=>[!1,t]))]);return t[0]?null==r?void 0:r():t[1]}))}function r(e){return t.__awaiter(this,void 0,void 0,(function*(){let n;try{n=yield function(e,n){var{timeout:r}=n,o=t.__rest(n,["timeout"]);return t.__awaiter(this,void 0,void 0,(function*(){let t="undefined"==typeof AbortController?void 0:new AbortController;return i(fetch(e,Object.assign(Object.assign({},o),{signal:null==t?void 0:t.signal})),r,(()=>{throw null==t||t.abort(),new DOMException("The request timed out.","TimeoutError")}))}))}("https://api.sjpf.io",{timeout:e})}catch(o){switch(o.name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}}const r=yield n.text();if(200===n.status)return r;throw new Error(r.slice(0,255))}))}const o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=o.length;function a(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function u(e){var{endpoint:n,extendedResult:i,debug:r}=e,a=t.__rest(e,["endpoint","extendedResult","debug"]);return t.__awaiter(this,void 0,void 0,(function*(){const e=function(t){let e="";for(let n=0;n<t;n++)e+=o.charAt(Math.random()*s);return e}(20),u=function({components:t,token:e,visitorId:n,tag:i,ipResolution:r,extendedResult:o,linkedId:s,tls:a,tlsError:u,requestId:v}){const _=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),h="full"===r?2:1;return{rid:v,cv:"3.0.0-beta.3",c:e,url:location.href,d:_,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:c(i),i:h,cbd:o?1:void 0,lid:s,cr:document.referrer||void 0,j:a,je:null==u?void 0:u.message,k1:d(t.osCpu),k2:d(t.languages),k3:d(t.colorDepth),k4:d(t.deviceMemory),k5:d(t.screenResolution),k6:d(t.availableScreenResolution,void 0,[]),k7:d(t.hardwareConcurrency),k8:d(t.timezoneOffset),k9:d(t.timezone),k10:l(d(t.sessionStorage)),k11:l(d(t.localStorage)),k12:l(d(t.indexedDB)),k13:l(d(t.openDatabase)),k14:d(t.cpuClass),k15:d(t.platform),k16:d(t.plugins,[]),k17:f(t.canvas),k18:0,k19:d(t.touchSupport),k20:d(t.fonts,[]),k21:d(t.audio,-1),k22:l(d(t.pluginsSupport)),k23:d(t.productSub),k24:d(t.emptyEvalLength),k25:l(d(t.errorFF)),k26:l(d(t[0])),k27:d(t.vendor),k28:l(d(t.chrome)),k29:l(d(t[1])),k30:l(d(t[2])),k31:l(d(t[3],!1)),k32:l(d(t.cookiesEnabled,!1)),k33:l(d(t[4]))}}(Object.assign({extendedResult:i,requestId:e},a));return function(e,n,i,r){return t.__awaiter(this,void 0,void 0,(function*(){const o=yield e.text();let s;try{s=JSON.parse(o)}catch(a){}if(r&&console.log(`Visitor response status: ${e.status}\nVisitor response body:\n\`\`\`json\n${void 0===s?o:JSON.stringify(s,void 0,2)}\n\`\`\``),404===e.status||e.status>=500)throw new Error(e.statusText);if(void 0===s)throw new Error(o);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&"n/a"!==t.visitorId}(s))return function(e){const n=e,{botProbability:i}=n,r=t.__rest(n,["botProbability"]),o=Object.assign({},r);i&&(o.bot={probability:i});return o}(s);if(function(t){return t&&"object"==typeof t&&"n/a"===t.visitorId}(s)){if("Not available for crawl bots"===s.reason||"Not available when User-Agent is unspecified"===s.reason)return function(t,e,n){const i={requestId:e,visitorFound:!1,visitorId:""};if(!n)return i;const r=Object.assign(Object.assign({},i),{bot:{probability:1},incognito:!1,browserName:"n/a",browserVersion:"n/a",device:"n/a",ip:"n/a",ipLocation:{},os:"n/a",osVersion:"n/a"});"Not available for crawl bots"===t&&(r.bot.safe=!0);return r}(s.reason,n,i);throw new Error(s.reason)}throw new Error(o)}))}(yield function(e,n,i){return t.__awaiter(this,void 0,void 0,(function*(){i&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(n,void 0,2)}\n\`\`\``);const t=JSON.stringify(n);try{return yield fetch(e,{method:"POST",body:t,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(r){throw new Error("AbortError"===r.name?"Network request aborted":"Network connection error")}}))}(n,u,r),e,i,r)}))}function c(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function d(t,e,n){var i;return t.error?e:null!==(i=t.value)&&void 0!==i?i:n}function l(t){return!0===t?1:!1===t?0:t}function f({value:t}){if(t)return Object.assign(Object.assign({},t),{data:e.murmurX64Hash128(t.data)})}const v=window,_=document;const h=window;const p=navigator,w=window;const g=window,m=navigator;const b=[[function(){return e.isChromium()},function(){return t.__awaiter(this,void 0,void 0,(function*(){return function(){const t=p.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return t.__awaiter(this,void 0,void 0,(function*(){if("storage"in p&&"estimate"in p.storage){const{quota:t}=yield p.storage.estimate();return!!t&&t<function(){var t,e,n;const i=(null===(t=p.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=p.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),r=(null===(n=p.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return i||r?3221225472:1073741824}()}return!1}))}():new Promise((t=>{w.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(m.vendor)&&/Safari/.test(m.userAgent)},function(){return t.__awaiter(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,i,r]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:i,patch:r}}().major<13?function(){try{g.openDatabase(null,null,null,null)}catch(t){return!0}try{return g.localStorage.setItem("test","1"),g.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return t.__awaiter(this,void 0,void 0,(function*(){return e.isDesktopSafari()?function(){try{g.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return t.__awaiter(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),i(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return e.isGecko()},function(){return t.__awaiter(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=h.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return e.isIEOrOldEdge()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function y(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let i=0;for(let r=0;r<e.length;r++){if(t[n+r]!==e[r]){i=0;break}i++}if(i==e.length)return n}return-1}const k=window,E=document;const R={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=_;return"webdriver"in v||"_Selenium_IDE_Recorder"in v||"callSelenium"in v||"_selenium"in v||"__webdriver_script_fn"in _||"__driver_evaluate"in _||"__webdriver_evaluate"in _||"__selenium_evaluate"in _||"__fxdriver_evaluate"in _||"__driver_unwrapped"in _||"__webdriver_unwrapped"in _||"__selenium_unwrapped"in _||"__fxdriver_unwrapped"in _||"__webdriver_script_func"in _||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return t.__awaiter(this,void 0,void 0,(function*(){const e=function(){try{const t=localStorage.getItem("_inc");if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==e)return e;try{const e=yield function(){return t.__awaiter(this,void 0,void 0,(function*(){for(const[t,e]of b)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem("_inc",t?"1":"0")}catch(e){}}(e),e}catch(n){return!1}}))},4:function(){if(!e.isChromium())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in k)return!0;const t=E.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),i=n.length,r=new Uint8Array(i);for(let u=0;u<i;u++)r[u]=n.charCodeAt(u);const o=y(r,[73,68,65,84,24]);if(-1===o)return!1;const s=y(r,[73,69,78,68]);if(-1===o)return!1;const a=r.slice(o+5,s);return 1321!==a.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const O=document,S=location;function I(t){const e=t+"=";for(const n of O.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function x(t,e,n,i){const r=`${t}=${e}`,o="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),s=i?"domain="+i:"";O.cookie=[r,"path=/",o,s].join("; ")}function j(t,e,n){const i=S.hostname;P(i,(e=>{!function(t,e){x(t,"",-1,e)}(t,e)}));P(i,(i=>(x(t,e,n,i),I(t)!==e)))&&x(t,e,n)}function P(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))return!1}while(n>=0);return!0}const{localStorage:N}=window;function T(t="_vid"){return[I(t),C(t)]}function A(t,e="_vid"){j(e,t,365),function(t,e){if(null==N?void 0:N.setItem)try{N.setItem(t,e)}catch(n){}}(e,t)}function C(t){var e;if(null==N?void 0:N.getItem)try{return null!==(e=N.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var F,q,G,M,D,W,U,L;class V{constructor(n,i,o,s,a){F.set(this,void 0),q.set(this,void 0),G.set(this,void 0),M.set(this,void 0),D.set(this,void 0),W.set(this,((e,n)=>t.__awaiter(this,void 0,void 0,(function*(){if(!n)return r(e).then((t=>({tls:t})),(t=>({tlsError:t})))})))),U.set(this,(()=>t.__awaiter(this,void 0,void 0,(function*(){const n=yield t.__classPrivateFieldGet(this,F).get(),i=yield e.getComponents(R,void 0,[]);return Object.assign(Object.assign({},n.components),i)})))),L.set(this,(e=>{const n={token:t.__classPrivateFieldGet(this,q),region:t.__classPrivateFieldGet(this,G),endpoint:t.__classPrivateFieldGet(this,M),storageKey:t.__classPrivateFieldGet(this,D)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.3\ninitOptions: ${JSON.stringify(n,void 0,2)}\ngetOptions: ${JSON.stringify(e,void 0,2)}\n\`\`\``)})),t.__classPrivateFieldSet(this,F,n),t.__classPrivateFieldSet(this,q,i),t.__classPrivateFieldSet(this,G,o),t.__classPrivateFieldSet(this,M,s),t.__classPrivateFieldSet(this,D,a)}get(e={}){const{timeout:n=1e4,tag:r,linkedId:o,disableTls:s,extendedResult:c,ipResolution:d,debug:l}=e;return l&&t.__classPrivateFieldGet(this,L).call(this,e),f="Client timeout",i((()=>t.__awaiter(this,void 0,void 0,(function*(){const[e,i]=yield Promise.all([t.__classPrivateFieldGet(this,W).call(this,n/2,s),t.__classPrivateFieldGet(this,U).call(this)]),f=yield u(Object.assign(Object.assign({token:t.__classPrivateFieldGet(this,q),endpoint:a(t.__classPrivateFieldGet(this,G),t.__classPrivateFieldGet(this,M))},e),{components:i,tag:r,visitorId:T(t.__classPrivateFieldGet(this,D)),linkedId:o,extendedResult:c,ipResolution:d,debug:l}));return A(f.visitorId,t.__classPrivateFieldGet(this,D)),f}))),n,(()=>{throw new Error(f)}));var f}}F=new WeakMap,q=new WeakMap,G=new WeakMap,M=new WeakMap,D=new WeakMap,W=new WeakMap,U=new WeakMap,L=new WeakMap;exports.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",exports.ERROR_CLIENT_TIMEOUT="Client timeout",exports.ERROR_GENERAL_SERVER_FAILURE="Request failed",exports.ERROR_NETWORK_ABORT="Network request aborted",exports.ERROR_NETWORK_CONNECTION="Network connection error",exports.ERROR_RATE_LIMIT="Too many requests, rate limit exceeded",exports.ERROR_SERVER_TIMEOUT="Request failed to process",exports.ERROR_TOKEN_INVALID="Token not found",exports.ERROR_TOKEN_MISSING="Token required",exports.load=function({token:n,region:i,endpoint:r,storageKey:o,delayFallback:s}){return t.__awaiter(this,void 0,void 0,(function*(){if(!n||"string"!=typeof n)throw new Error("Token required");const t=yield e.load({delayFallback:s});return new V(t,n,i,r,o)}))};
/**
* FingerprintJS Pro v3.0.0-beta.2 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.0-beta.3 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
*

@@ -4,0 +4,0 @@ * This software contains code from open-source projects:

/**
* FingerprintJS Pro v3.0.0-beta.2 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.0-beta.3 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
*

@@ -8,2 +8,2 @@ * This software contains code from open-source projects:

import{__awaiter as t,__rest as e,__classPrivateFieldGet as n,__classPrivateFieldSet as i}from"tslib";import{murmurX64Hash128 as r,isGecko as o,isChromium as s,isDesktopSafari as u,isIEOrOldEdge as c,getComponents as a,load as d}from"@fingerprintjs/fingerprintjs";function l(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function f(e,n,i){return t(this,void 0,void 0,(function*(){const t=yield Promise.race([l(n,[!0]),("function"==typeof e?e():e).then((t=>[!1,t]))]);return t[0]?null==i?void 0:i():t[1]}))}function v(n){return t(this,void 0,void 0,(function*(){let i;try{i=yield function(n,i){var{timeout:r}=i,o=e(i,["timeout"]);return t(this,void 0,void 0,(function*(){let t="undefined"==typeof AbortController?void 0:new AbortController;return f(fetch(n,Object.assign(Object.assign({},o),{signal:null==t?void 0:t.signal})),r,(()=>{throw null==t||t.abort(),new DOMException("The request timed out.","TimeoutError")}))}))}("https://api.sjpf.io",{timeout:n})}catch(o){switch(o.name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}}const r=yield i.text();if(200===i.status)return r;throw new Error(r.slice(0,255))}))}const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",p=h.length;const g="Client timeout",m="Network connection error",w="Network request aborted";function b(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function y(n){var{endpoint:i,extendedResult:r,debug:o}=n,s=e(n,["endpoint","extendedResult","debug"]);return t(this,void 0,void 0,(function*(){const n=function(t){let e="";for(let n=0;n<t;n++)e+=h.charAt(Math.random()*p);return e}(20),u=function({components:t,token:e,visitorId:n,tag:i,ipResolution:r,extendedResult:o,linkedId:s,tls:u,tlsError:c,requestId:a}){const d=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),l="full"===r?2:1;return{rid:a,cv:"3.0.0-beta.2",c:e,url:location.href,d:d,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:k(i),i:l,cbd:o?1:void 0,lid:s,cr:document.referrer||void 0,j:u,je:null==c?void 0:c.message,k1:_(t.osCpu),k2:_(t.languages),k3:_(t.colorDepth),k4:_(t.deviceMemory),k5:_(t.screenResolution),k6:_(t.availableScreenResolution,void 0,[]),k7:_(t.hardwareConcurrency),k8:_(t.timezoneOffset),k9:_(t.timezone),k10:O(_(t.sessionStorage)),k11:O(_(t.localStorage)),k12:O(_(t.indexedDB)),k13:O(_(t.openDatabase)),k14:_(t.cpuClass),k15:_(t.platform),k16:_(t.plugins,[]),k17:j(t.canvas),k18:0,k19:_(t.touchSupport),k20:_(t.fonts,[]),k21:_(t.audio,-1),k22:O(_(t.pluginsSupport)),k23:_(t.productSub),k24:_(t.emptyEvalLength),k25:O(_(t.errorFF)),k26:O(_(t[0])),k27:_(t.vendor),k28:O(_(t.chrome)),k29:O(_(t[1])),k30:O(_(t[2])),k31:O(_(t[3],!1)),k32:O(_(t.cookiesEnabled,!1)),k33:O(_(t[4]))}}(Object.assign({extendedResult:r,requestId:n},s));return function(n,i,r,o){return t(this,void 0,void 0,(function*(){const t=yield n.text();let s;try{s=JSON.parse(t)}catch(u){}if(o&&console.log(`Visitor response status: ${n.status}\nVisitor response body:\n\`\`\`json\n${void 0===s?t:JSON.stringify(s,void 0,2)}\n\`\`\``),404===n.status||n.status>=500)throw new Error(n.statusText);if(void 0===s)throw new Error(t);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&"n/a"!==t.visitorId}(s))return function(t){const n=t,{botProbability:i}=n,r=e(n,["botProbability"]),o=Object.assign({},r);i&&(o.bot={probability:i});return o}(s);if(function(t){return t&&"object"==typeof t&&"n/a"===t.visitorId}(s)){if("Not available for crawl bots"===s.reason||"Not available when User-Agent is unspecified"===s.reason)return function(t,e,n){const i={requestId:e,visitorFound:!1,visitorId:""};if(!n)return i;const r=Object.assign(Object.assign({},i),{bot:{probability:1},incognito:!1,browserName:"n/a",browserVersion:"n/a",device:"n/a",ip:"n/a",ipLocation:{},os:"n/a",osVersion:"n/a"});"Not available for crawl bots"===t&&(r.bot.safe=!0);return r}(s.reason,i,r);throw new Error(s.reason)}throw new Error(t)}))}(yield function(e,n,i){return t(this,void 0,void 0,(function*(){i&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(n,void 0,2)}\n\`\`\``);const t=JSON.stringify(n);try{return yield fetch(e,{method:"POST",body:t,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(r){throw new Error("AbortError"===r.name?"Network request aborted":"Network connection error")}}))}(i,u,o),n,r,o)}))}function k(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function _(t,e,n){var i;return t.error?e:null!==(i=t.value)&&void 0!==i?i:n}function O(t){return!0===t?1:!1===t?0:t}function j({value:t}){if(t)return Object.assign(Object.assign({},t),{data:r(t.data)})}const S=window,E=document;const x=window;const I=navigator,A=window;const C=window,N=navigator;const R=[[function(){return s()},function(){return t(this,void 0,void 0,(function*(){return function(){const t=I.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return t(this,void 0,void 0,(function*(){if("storage"in I&&"estimate"in I.storage){const{quota:t}=yield I.storage.estimate();return!!t&&t<function(){var t,e,n;const i=(null===(t=I.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=I.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),r=(null===(n=I.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return i||r?3221225472:1073741824}()}return!1}))}():new Promise((t=>{A.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(N.vendor)&&/Safari/.test(N.userAgent)},function(){return t(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,i,r]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:i,patch:r}}().major<13?function(){try{C.openDatabase(null,null,null,null)}catch(t){return!0}try{return C.localStorage.setItem("test","1"),C.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return t(this,void 0,void 0,(function*(){return u()?function(){try{C.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return t(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),f(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return o()},function(){return t(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=x.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return c()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function q(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let i=0;for(let r=0;r<e.length;r++){if(t[n+r]!==e[r]){i=0;break}i++}if(i==e.length)return n}return-1}const T=window,M=document;const D={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=E;return"webdriver"in S||"_Selenium_IDE_Recorder"in S||"callSelenium"in S||"_selenium"in S||"__webdriver_script_fn"in E||"__driver_evaluate"in E||"__webdriver_evaluate"in E||"__selenium_evaluate"in E||"__fxdriver_evaluate"in E||"__driver_unwrapped"in E||"__webdriver_unwrapped"in E||"__selenium_unwrapped"in E||"__fxdriver_unwrapped"in E||"__webdriver_script_func"in E||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return t(this,void 0,void 0,(function*(){const e=function(){try{const t=localStorage.getItem("_inc");if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==e)return e;try{const e=yield function(){return t(this,void 0,void 0,(function*(){for(const[t,e]of R)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem("_inc",t?"1":"0")}catch(e){}}(e),e}catch(n){return!1}}))},4:function(){if(!s())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in T)return!0;const t=M.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),i=n.length,r=new Uint8Array(i);for(let c=0;c<i;c++)r[c]=n.charCodeAt(c);const o=q(r,[73,68,65,84,24]);if(-1===o)return!1;const s=q(r,[73,69,78,68]);if(-1===o)return!1;const u=r.slice(o+5,s);return 1321!==u.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const P=document,W=location;function $(t){const e=t+"=";for(const n of P.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function U(t,e,n,i){const r=`${t}=${e}`,o="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),s=i?"domain="+i:"";P.cookie=[r,"path=/",o,s].join("; ")}function F(t,e){U(t,"",-1,e)}function J(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))break}while(n>=0)}const{localStorage:V}=window;function L(t="_vid"){return[$(t),z(t)]}function B(t,e="_vid"){!function(t,e,n){const i=W.hostname;J(i,(e=>{F(t,e),F(t,"."+e)})),J(i,(i=>(U(t,e,n,"."+i),$(t)!==e)))}(e,t,365),function(t,e){if(null==V?void 0:V.setItem)try{V.setItem(t,e)}catch(n){}}(e,t)}function z(t){var e;if(null==V?void 0:V.getItem)try{return null!==(e=V.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var G,K,H,Q,X,Y,Z,tt;class et{constructor(e,r,o,s,u){G.set(this,void 0),K.set(this,void 0),H.set(this,void 0),Q.set(this,void 0),X.set(this,void 0),Y.set(this,((e,n)=>t(this,void 0,void 0,(function*(){if(!n)return v(e).then((t=>({tls:t})),(t=>({tlsError:t})))})))),Z.set(this,(()=>t(this,void 0,void 0,(function*(){const t=yield n(this,G).get(),e=yield a(D,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),tt.set(this,(t=>{const e={token:n(this,K),region:n(this,H),endpoint:n(this,Q),storageKey:n(this,X)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.2\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),i(this,G,e),i(this,K,r),i(this,H,o),i(this,Q,s),i(this,X,u)}get(e={}){const{timeout:i=1e4,tag:r,linkedId:o,disableTls:s,extendedResult:u,ipResolution:c,debug:a}=e;return a&&n(this,tt).call(this,e),d="Client timeout",f((()=>t(this,void 0,void 0,(function*(){const[t,e]=yield Promise.all([n(this,Y).call(this,i/2,s),n(this,Z).call(this)]),d=yield y(Object.assign(Object.assign({token:n(this,K),endpoint:b(n(this,H),n(this,Q))},t),{components:e,tag:r,visitorId:L(n(this,X)),linkedId:o,extendedResult:u,ipResolution:c,debug:a}));return B(d.visitorId,n(this,X)),d}))),i,(()=>{throw new Error(d)}));var d}}function nt({token:e,region:n,endpoint:i,storageKey:r,delayFallback:o}){return t(this,void 0,void 0,(function*(){if(!e||"string"!=typeof e)throw new Error("Token required");const t=yield d({delayFallback:o});return new et(t,e,n,i,r)}))}G=new WeakMap,K=new WeakMap,H=new WeakMap,Q=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,tt=new WeakMap;const it="Token required",rt="Token not found",ot="Request cannot be parsed",st="Request failed",ut="Request failed to process",ct="Too many requests, rate limit exceeded";export{ot as ERROR_BAD_REQUEST_FORMAT,g as ERROR_CLIENT_TIMEOUT,st as ERROR_GENERAL_SERVER_FAILURE,w as ERROR_NETWORK_ABORT,m as ERROR_NETWORK_CONNECTION,ct as ERROR_RATE_LIMIT,ut as ERROR_SERVER_TIMEOUT,rt as ERROR_TOKEN_INVALID,it as ERROR_TOKEN_MISSING,nt as load};
import{__awaiter as t,__rest as e,__classPrivateFieldGet as n,__classPrivateFieldSet as r}from"tslib";import{murmurX64Hash128 as i,isGecko as o,isChromium as s,isDesktopSafari as u,isIEOrOldEdge as c,getComponents as a,load as d}from"@fingerprintjs/fingerprintjs";function l(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function f(e,n,r){return t(this,void 0,void 0,(function*(){const t=yield Promise.race([l(n,[!0]),("function"==typeof e?e():e).then((t=>[!1,t]))]);return t[0]?null==r?void 0:r():t[1]}))}function v(n){return t(this,void 0,void 0,(function*(){let r;try{r=yield function(n,r){var{timeout:i}=r,o=e(r,["timeout"]);return t(this,void 0,void 0,(function*(){let t="undefined"==typeof AbortController?void 0:new AbortController;return f(fetch(n,Object.assign(Object.assign({},o),{signal:null==t?void 0:t.signal})),i,(()=>{throw null==t||t.abort(),new DOMException("The request timed out.","TimeoutError")}))}))}("https://api.sjpf.io",{timeout:n})}catch(o){switch(o.name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}}const i=yield r.text();if(200===r.status)return i;throw new Error(i.slice(0,255))}))}const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",p=h.length;const g="Client timeout",m="Network connection error",w="Network request aborted";function b(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function y(n){var{endpoint:r,extendedResult:i,debug:o}=n,s=e(n,["endpoint","extendedResult","debug"]);return t(this,void 0,void 0,(function*(){const n=function(t){let e="";for(let n=0;n<t;n++)e+=h.charAt(Math.random()*p);return e}(20),u=function({components:t,token:e,visitorId:n,tag:r,ipResolution:i,extendedResult:o,linkedId:s,tls:u,tlsError:c,requestId:a}){const d=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),l="full"===i?2:1;return{rid:a,cv:"3.0.0-beta.3",c:e,url:location.href,d:d,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:k(r),i:l,cbd:o?1:void 0,lid:s,cr:document.referrer||void 0,j:u,je:null==c?void 0:c.message,k1:_(t.osCpu),k2:_(t.languages),k3:_(t.colorDepth),k4:_(t.deviceMemory),k5:_(t.screenResolution),k6:_(t.availableScreenResolution,void 0,[]),k7:_(t.hardwareConcurrency),k8:_(t.timezoneOffset),k9:_(t.timezone),k10:O(_(t.sessionStorage)),k11:O(_(t.localStorage)),k12:O(_(t.indexedDB)),k13:O(_(t.openDatabase)),k14:_(t.cpuClass),k15:_(t.platform),k16:_(t.plugins,[]),k17:j(t.canvas),k18:0,k19:_(t.touchSupport),k20:_(t.fonts,[]),k21:_(t.audio,-1),k22:O(_(t.pluginsSupport)),k23:_(t.productSub),k24:_(t.emptyEvalLength),k25:O(_(t.errorFF)),k26:O(_(t[0])),k27:_(t.vendor),k28:O(_(t.chrome)),k29:O(_(t[1])),k30:O(_(t[2])),k31:O(_(t[3],!1)),k32:O(_(t.cookiesEnabled,!1)),k33:O(_(t[4]))}}(Object.assign({extendedResult:i,requestId:n},s));return function(n,r,i,o){return t(this,void 0,void 0,(function*(){const t=yield n.text();let s;try{s=JSON.parse(t)}catch(u){}if(o&&console.log(`Visitor response status: ${n.status}\nVisitor response body:\n\`\`\`json\n${void 0===s?t:JSON.stringify(s,void 0,2)}\n\`\`\``),404===n.status||n.status>=500)throw new Error(n.statusText);if(void 0===s)throw new Error(t);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&"n/a"!==t.visitorId}(s))return function(t){const n=t,{botProbability:r}=n,i=e(n,["botProbability"]),o=Object.assign({},i);r&&(o.bot={probability:r});return o}(s);if(function(t){return t&&"object"==typeof t&&"n/a"===t.visitorId}(s)){if("Not available for crawl bots"===s.reason||"Not available when User-Agent is unspecified"===s.reason)return function(t,e,n){const r={requestId:e,visitorFound:!1,visitorId:""};if(!n)return r;const i=Object.assign(Object.assign({},r),{bot:{probability:1},incognito:!1,browserName:"n/a",browserVersion:"n/a",device:"n/a",ip:"n/a",ipLocation:{},os:"n/a",osVersion:"n/a"});"Not available for crawl bots"===t&&(i.bot.safe=!0);return i}(s.reason,r,i);throw new Error(s.reason)}throw new Error(t)}))}(yield function(e,n,r){return t(this,void 0,void 0,(function*(){r&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(n,void 0,2)}\n\`\`\``);const t=JSON.stringify(n);try{return yield fetch(e,{method:"POST",body:t,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(i){throw new Error("AbortError"===i.name?"Network request aborted":"Network connection error")}}))}(r,u,o),n,i,o)}))}function k(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function _(t,e,n){var r;return t.error?e:null!==(r=t.value)&&void 0!==r?r:n}function O(t){return!0===t?1:!1===t?0:t}function j({value:t}){if(t)return Object.assign(Object.assign({},t),{data:i(t.data)})}const S=window,E=document;const x=window;const I=navigator,A=window;const C=window,N=navigator;const R=[[function(){return s()},function(){return t(this,void 0,void 0,(function*(){return function(){const t=I.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return t(this,void 0,void 0,(function*(){if("storage"in I&&"estimate"in I.storage){const{quota:t}=yield I.storage.estimate();return!!t&&t<function(){var t,e,n;const r=(null===(t=I.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=I.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),i=(null===(n=I.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return r||i?3221225472:1073741824}()}return!1}))}():new Promise((t=>{A.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(N.vendor)&&/Safari/.test(N.userAgent)},function(){return t(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,r,i]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:r,patch:i}}().major<13?function(){try{C.openDatabase(null,null,null,null)}catch(t){return!0}try{return C.localStorage.setItem("test","1"),C.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return t(this,void 0,void 0,(function*(){return u()?function(){try{C.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return t(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),f(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return o()},function(){return t(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=x.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return c()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function q(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let r=0;for(let i=0;i<e.length;i++){if(t[n+i]!==e[i]){r=0;break}r++}if(r==e.length)return n}return-1}const T=window,M=document;const D={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=E;return"webdriver"in S||"_Selenium_IDE_Recorder"in S||"callSelenium"in S||"_selenium"in S||"__webdriver_script_fn"in E||"__driver_evaluate"in E||"__webdriver_evaluate"in E||"__selenium_evaluate"in E||"__fxdriver_evaluate"in E||"__driver_unwrapped"in E||"__webdriver_unwrapped"in E||"__selenium_unwrapped"in E||"__fxdriver_unwrapped"in E||"__webdriver_script_func"in E||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return t(this,void 0,void 0,(function*(){const e=function(){try{const t=localStorage.getItem("_inc");if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==e)return e;try{const e=yield function(){return t(this,void 0,void 0,(function*(){for(const[t,e]of R)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem("_inc",t?"1":"0")}catch(e){}}(e),e}catch(n){return!1}}))},4:function(){if(!s())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in T)return!0;const t=M.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),r=n.length,i=new Uint8Array(r);for(let c=0;c<r;c++)i[c]=n.charCodeAt(c);const o=q(i,[73,68,65,84,24]);if(-1===o)return!1;const s=q(i,[73,69,78,68]);if(-1===o)return!1;const u=i.slice(o+5,s);return 1321!==u.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const P=document,W=location;function $(t){const e=t+"=";for(const n of P.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function U(t,e,n,r){const i=`${t}=${e}`,o="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),s=r?"domain="+r:"";P.cookie=[i,"path=/",o,s].join("; ")}function F(t,e,n){const r=W.hostname;J(r,(e=>{!function(t,e){U(t,"",-1,e)}(t,e)}));J(r,(r=>(U(t,e,n,r),$(t)!==e)))&&U(t,e,n)}function J(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))return!1}while(n>=0);return!0}const{localStorage:V}=window;function L(t="_vid"){return[$(t),z(t)]}function B(t,e="_vid"){F(e,t,365),function(t,e){if(null==V?void 0:V.setItem)try{V.setItem(t,e)}catch(n){}}(e,t)}function z(t){var e;if(null==V?void 0:V.getItem)try{return null!==(e=V.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var G,K,H,Q,X,Y,Z,tt;class et{constructor(e,i,o,s,u){G.set(this,void 0),K.set(this,void 0),H.set(this,void 0),Q.set(this,void 0),X.set(this,void 0),Y.set(this,((e,n)=>t(this,void 0,void 0,(function*(){if(!n)return v(e).then((t=>({tls:t})),(t=>({tlsError:t})))})))),Z.set(this,(()=>t(this,void 0,void 0,(function*(){const t=yield n(this,G).get(),e=yield a(D,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),tt.set(this,(t=>{const e={token:n(this,K),region:n(this,H),endpoint:n(this,Q),storageKey:n(this,X)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.3\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,G,e),r(this,K,i),r(this,H,o),r(this,Q,s),r(this,X,u)}get(e={}){const{timeout:r=1e4,tag:i,linkedId:o,disableTls:s,extendedResult:u,ipResolution:c,debug:a}=e;return a&&n(this,tt).call(this,e),d="Client timeout",f((()=>t(this,void 0,void 0,(function*(){const[t,e]=yield Promise.all([n(this,Y).call(this,r/2,s),n(this,Z).call(this)]),d=yield y(Object.assign(Object.assign({token:n(this,K),endpoint:b(n(this,H),n(this,Q))},t),{components:e,tag:i,visitorId:L(n(this,X)),linkedId:o,extendedResult:u,ipResolution:c,debug:a}));return B(d.visitorId,n(this,X)),d}))),r,(()=>{throw new Error(d)}));var d}}function nt({token:e,region:n,endpoint:r,storageKey:i,delayFallback:o}){return t(this,void 0,void 0,(function*(){if(!e||"string"!=typeof e)throw new Error("Token required");const t=yield d({delayFallback:o});return new et(t,e,n,r,i)}))}G=new WeakMap,K=new WeakMap,H=new WeakMap,Q=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,tt=new WeakMap;const rt="Token required",it="Token not found",ot="Request cannot be parsed",st="Request failed",ut="Request failed to process",ct="Too many requests, rate limit exceeded";export{ot as ERROR_BAD_REQUEST_FORMAT,g as ERROR_CLIENT_TIMEOUT,st as ERROR_GENERAL_SERVER_FAILURE,w as ERROR_NETWORK_ABORT,m as ERROR_NETWORK_CONNECTION,ct as ERROR_RATE_LIMIT,ut as ERROR_SERVER_TIMEOUT,it as ERROR_TOKEN_INVALID,rt as ERROR_TOKEN_MISSING,nt as load};
/**
* FingerprintJS Pro v3.0.0-beta.2 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.0-beta.3 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
*

@@ -8,2 +8,2 @@ * This software contains code from open-source projects:

var FingerprintJS=function(t){"use strict";function e(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(n[o[r]]=t[o[r]])}return n}function n(t,e,n,o){return new(n||(n=Promise))((function(r,i){function a(t){try{c(o.next(t))}catch(e){i(e)}}function s(t){try{c(o.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}c((o=o.apply(t,e||[])).next())}))}function o(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function r(t,e,n){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,n),n}function i(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]+e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]+e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]+e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]+e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function a(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]*e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]*e[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=t[3]*e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]*e[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[2]*e[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[3]*e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]*e[3]+t[1]*e[2]+t[2]*e[1]+t[3]*e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function s(t,e){return 32===(e%=64)?[t[1],t[0]]:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e|t[0]>>>32-e]:(e-=32,[t[1]<<e|t[0]>>>32-e,t[0]<<e|t[1]>>>32-e])}function c(t,e){return 0===(e%=64)?t:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e]:[t[1]<<e-32,0]}function u(t,e){return[t[0]^e[0],t[1]^e[1]]}function l(t){return t=u(t,[0,t[0]>>>1]),t=u(t=a(t,[4283543511,3981806797]),[0,t[0]>>>1]),t=u(t=a(t,[3301882366,444984403]),[0,t[0]>>>1])}function d(t,e){e=e||0;for(var n=(t=t||"").length%16,o=t.length-n,r=[0,e],d=[0,e],f=[0,0],h=[0,0],v=[2277735313,289559509],g=[1291169091,658871167],p=0;p<o;p+=16)f=[255&t.charCodeAt(p+4)|(255&t.charCodeAt(p+5))<<8|(255&t.charCodeAt(p+6))<<16|(255&t.charCodeAt(p+7))<<24,255&t.charCodeAt(p)|(255&t.charCodeAt(p+1))<<8|(255&t.charCodeAt(p+2))<<16|(255&t.charCodeAt(p+3))<<24],h=[255&t.charCodeAt(p+12)|(255&t.charCodeAt(p+13))<<8|(255&t.charCodeAt(p+14))<<16|(255&t.charCodeAt(p+15))<<24,255&t.charCodeAt(p+8)|(255&t.charCodeAt(p+9))<<8|(255&t.charCodeAt(p+10))<<16|(255&t.charCodeAt(p+11))<<24],f=s(f=a(f,v),31),r=i(r=s(r=u(r,f=a(f,g)),27),d),r=i(a(r,[0,5]),[0,1390208809]),h=s(h=a(h,g),33),d=i(d=s(d=u(d,h=a(h,v)),31),r),d=i(a(d,[0,5]),[0,944331445]);switch(f=[0,0],h=[0,0],n){case 15:h=u(h,c([0,t.charCodeAt(p+14)],48));case 14:h=u(h,c([0,t.charCodeAt(p+13)],40));case 13:h=u(h,c([0,t.charCodeAt(p+12)],32));case 12:h=u(h,c([0,t.charCodeAt(p+11)],24));case 11:h=u(h,c([0,t.charCodeAt(p+10)],16));case 10:h=u(h,c([0,t.charCodeAt(p+9)],8));case 9:h=a(h=u(h,[0,t.charCodeAt(p+8)]),g),d=u(d,h=a(h=s(h,33),v));case 8:f=u(f,c([0,t.charCodeAt(p+7)],56));case 7:f=u(f,c([0,t.charCodeAt(p+6)],48));case 6:f=u(f,c([0,t.charCodeAt(p+5)],40));case 5:f=u(f,c([0,t.charCodeAt(p+4)],32));case 4:f=u(f,c([0,t.charCodeAt(p+3)],24));case 3:f=u(f,c([0,t.charCodeAt(p+2)],16));case 2:f=u(f,c([0,t.charCodeAt(p+1)],8));case 1:f=a(f=u(f,[0,t.charCodeAt(p)]),v),r=u(r,f=a(f=s(f,31),g))}return r=i(r=u(r,[0,t.length]),d=u(d,[0,t.length])),d=i(d,r),r=i(r=l(r),d=l(d)),d=i(d,r),("00000000"+(r[0]>>>0).toString(16)).slice(-8)+("00000000"+(r[1]>>>0).toString(16)).slice(-8)+("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)}function f(t){return"number"==typeof t?0|t:parseInt(t)}function h(t){return t.reduce(((t,e)=>t+(e?1:0)),0)}const v=navigator,g=window;const p=document,m=["monospace","sans-serif","serif"],w=["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"],y={fontStyle:"normal",fontWeight:"normal",letterSpacing:"normal",lineBreak:"auto",lineHeight:"normal",textTransform:"none",textAlign:"left",textDecoration:"none",textShadow:"none",whiteSpace:"normal",wordBreak:"normal",wordSpacing:"normal"};function b(t){return t.toDataURL()}const S=navigator,k=window;const O=navigator;const C=window;const A=window;const E=window;const R=window,T=navigator,I=document;function _(){return h(["msWriteProfilerMark"in R,"msLaunchUri"in T,"msSaveBlob"in T])>=2}function M(){return h(["userActivation"in T,"mediaSession"in T,0===T.vendor.indexOf("Google"),"BackgroundFetchManager"in R,"BatteryManager"in R,"webkitMediaStream"in R,"webkitSpeechGrammar"in R])>=5}const x=document;const P={osCpu:function(){return navigator.oscpu},languages:function(){const t=[],e=O.language||O.userLanguage||O.browserLanguage||O.systemLanguage;if(void 0!==e&&t.push([e]),Array.isArray(O.languages))t.push(O.languages);else if("string"==typeof O.languages){const e=O.languages;e&&t.push(e.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return navigator.deviceMemory},screenResolution:function(){const t=[f(C.screen.width),f(C.screen.height)];return t.sort().reverse(),t},availableScreenResolution:function(){if(A.screen.availWidth&&A.screen.availHeight){const t=[f(A.screen.availWidth),f(A.screen.availHeight)];return t.sort().reverse(),t}},hardwareConcurrency:function(){try{const t=f(navigator.hardwareConcurrency);return isNaN(t)?1:t}catch(t){return 1}},timezoneOffset:function(){return(new Date).getTimezoneOffset()},timezone:function(){var t;if(null===(t=E.Intl)||void 0===t?void 0:t.DateTimeFormat)return(new E.Intl.DateTimeFormat).resolvedOptions().timeZone},sessionStorage:function(){try{return!!window.sessionStorage}catch(t){return!0}},localStorage:function(){try{return!!window.localStorage}catch(t){return!0}},indexedDB:function(){if(!_())try{return!!window.indexedDB}catch(t){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){return navigator.platform},plugins:function(){if(!navigator.plugins)return;const t=[];for(const e of navigator.plugins){if(!e)continue;const n=[];for(const t of e)n.push({type:t.type,suffixes:t.suffixes});t.push({name:e.name,description:e.description,mimeTypes:n})}return t},canvas:function(){const[t,e]=function(){const t=document.createElement("canvas");return t.width=240,t.height=140,t.style.display="inline",[t,t.getContext("2d")]}();if(!function(t,e){return!(!e||!t.toDataURL)}(t,e))return{winding:!1,data:""};e.rect(0,0,10,10),e.rect(2,2,6,6);const n=!e.isPointInPath(5,5,"evenodd");e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(125,1,62,20),e.fillStyle="#069",e.font="11pt no-real-font-123";const o="Cwm fjordbank 😃 gly";return e.fillText(o,2,15),e.fillStyle="rgba(102, 204, 0, 0.2)",e.font="18pt Arial",e.fillText(o,4,45),e.globalCompositeOperation="multiply",e.fillStyle="rgb(255,0,255)",e.beginPath(),e.arc(50,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(0,255,255)",e.beginPath(),e.arc(100,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,255,0)",e.beginPath(),e.arc(75,100,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,0,255)",e.arc(75,75,75,0,2*Math.PI,!0),e.arc(75,75,25,0,2*Math.PI,!0),e.fill("evenodd"),{winding:n,data:b(t)}},touchSupport:function(){let t,e=0;void 0!==S.maxTouchPoints?e=f(S.maxTouchPoints):void 0!==S.msMaxTouchPoints&&(e=S.msMaxTouchPoints);try{document.createEvent("TouchEvent"),t=!0}catch(n){t=!1}return{maxTouchPoints:e,touchEvent:t,touchStart:"ontouchstart"in k}},fonts:function(){const t=p.body,e=p.createElement("div"),n=p.createElement("div"),o={},r={},i=()=>{const t=p.createElement("span");return Object.assign(t.style,y,{position:"absolute",left:"-9999px",fontSize:"48px"}),t.textContent="mmMwWLliI0O&1",t},a=(t,e)=>{const n=i();return n.style.fontFamily=`'${t}',${e}`,n},s=t=>m.some(((e,n)=>t[n].offsetWidth!==o[e]||t[n].offsetHeight!==r[e])),c=m.map((t=>{const n=i();return n.style.fontFamily=t,e.appendChild(n),n}));t.appendChild(e);for(let d=0,f=m.length;d<f;d++)o[m[d]]=c[d].offsetWidth,r[m[d]]=c[d].offsetHeight;const u=(()=>{const t={};for(const e of w)t[e]=m.map((t=>{const o=a(e,t);return n.appendChild(o),o}));return t})();t.appendChild(n);const l=[];for(let d=0,f=w.length;d<f;d++)s(u[w[d]])&&l.push(w[d]);return t.removeChild(n),t.removeChild(e),l},audio:function(){return n(this,void 0,void 0,(function*(){if(v.userAgent.match(/OS 11.+Version\/11.+Safari/))return-1;const t=g.OfflineAudioContext||g.webkitOfflineAudioContext;if(!t)return-2;const e=new t(1,44100,44100),n=e.createOscillator();n.type="triangle",n.frequency.setValueAtTime(1e4,e.currentTime);const o=e.createDynamicsCompressor();for(const[r,i]of[["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]])"function"==typeof o[r].setValueAtTime&&o[r].setValueAtTime(i,e.currentTime);return n.connect(o),o.connect(e.destination),n.start(0),e.startRendering(),new Promise((t=>{const r=setTimeout((()=>{e.oncomplete=()=>{},t(-3)}),1e3);e.oncomplete=e=>{let i;try{clearTimeout(r),i=e.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce(((t,e)=>t+Math.abs(e)),0),n.disconnect(),o.disconnect()}catch(a){return void t(-4)}t(i)}}))}))},pluginsSupport:function(){return void 0!==navigator.plugins},productSub:function(){return navigator.productSub},emptyEvalLength:function(){return eval.toString().length},errorFF:function(){try{throw"a"}catch(t){try{return t.toSource(),!0}catch(e){return!1}}},vendor:function(){return navigator.vendor},chrome:function(){return void 0!==window.chrome},cookiesEnabled:function(){try{x.cookie="cookietest=1";const t=-1!==x.cookie.indexOf("cookietest=");return x.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch(t){return!1}}};function j(t,e,o){return n(this,void 0,void 0,(function*(){let n=Date.now();const r={};for(const a of Object.keys(t)){if(function(t,e){for(let n=0,o=t.length;n<o;++n)if(t[n]===e)return!0;return!1}(o,a))continue;let s,c;try{s={value:yield t[a](e)}}catch(i){s={error:"message"in i?i:{message:i}}}c=Date.now(),r[a]=Object.assign(Object.assign({},s),{duration:c-n}),n=c}return r}))}function N(t){let e;return{components:t,get visitorId(){return void 0===e&&(e=d(function(t){let e="";for(const n of Object.keys(t)){const o=t[n],r=o.error?"error":JSON.stringify(o.value);e+=`${e?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return e}(this.components))),e},set visitorId(t){e=t}}}class D{get(t={}){return n(this,void 0,void 0,(function*(){const e=yield j(P,void 0,[]),n=N(e);return t.debug&&console.log(`Copy the text below to get the debug data:\n\n\`\`\`\nversion: 3.0.0-beta.2\ngetOptions: ${JSON.stringify(t,void 0,2)}\nvisitorId: ${n.visitorId}\ncomponents: ${function(t){return JSON.stringify(t,((t,e)=>{var n;return e instanceof Error?Object.assign(Object.assign({},e),{message:e.message,stack:null===(n=e.stack)||void 0===n?void 0:n.split("\n")}):e}),2)}(e)}\n\`\`\``),n}))}}function B({delayFallback:t=50}={}){return n(this,void 0,void 0,(function*(){var e;return yield(e=t,new Promise((t=>{window.requestIdleCallback?window.requestIdleCallback((()=>t())):setTimeout(t,e)}))),new D}))}const L=d;var F="3.0.0-beta.2";function U(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function W(t,e,o){return n(this,void 0,void 0,(function*(){const n=yield Promise.race([U(e,[!0]),("function"==typeof t?t():t).then((t=>[!1,t]))]);return n[0]?null==o?void 0:o():n[1]}))}const q="TimeoutError";function $(t){return n(this,void 0,void 0,(function*(){let o;try{o=yield function(t,o){var{timeout:r}=o,i=e(o,["timeout"]);return n(this,void 0,void 0,(function*(){let e="undefined"==typeof AbortController?void 0:new AbortController;return W(fetch(t,Object.assign(Object.assign({},i),{signal:null==e?void 0:e.signal})),r,(()=>{throw null==e||e.abort(),new DOMException("The request timed out.",q)}))}))}("https://api.sjpf.io",{timeout:t})}catch(i){switch(i.name){case"AbortError":throw new Error("Abort");case q:throw new Error("Timeout");default:throw new Error("Connection error")}}const r=yield o.text();if(200===o.status)return r;throw new Error(r.slice(0,255))}))}const V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",G=V.length;const J="Client timeout",H="Network connection error",z="Network request aborted",K="n/a";function Z(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function Q(t){var{endpoint:o,extendedResult:r,debug:i}=t,a=e(t,["endpoint","extendedResult","debug"]);return n(this,void 0,void 0,(function*(){const t=function(t){let e="";for(let n=0;n<t;n++)e+=V.charAt(Math.random()*G);return e}(20),s=function({components:t,token:e,visitorId:n,tag:o,ipResolution:r,extendedResult:i,linkedId:a,tls:s,tlsError:c,requestId:u}){const l=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),d="full"===r?2:1;return{rid:u,cv:F,c:e,url:location.href,d:l,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:X(o),i:d,cbd:i?1:void 0,lid:a,cr:document.referrer||void 0,j:s,je:null==c?void 0:c.message,k1:Y(t.osCpu),k2:Y(t.languages),k3:Y(t.colorDepth),k4:Y(t.deviceMemory),k5:Y(t.screenResolution),k6:Y(t.availableScreenResolution,void 0,[]),k7:Y(t.hardwareConcurrency),k8:Y(t.timezoneOffset),k9:Y(t.timezone),k10:tt(Y(t.sessionStorage)),k11:tt(Y(t.localStorage)),k12:tt(Y(t.indexedDB)),k13:tt(Y(t.openDatabase)),k14:Y(t.cpuClass),k15:Y(t.platform),k16:Y(t.plugins,[]),k17:et(t.canvas),k18:0,k19:Y(t.touchSupport),k20:Y(t.fonts,[]),k21:Y(t.audio,-1),k22:tt(Y(t.pluginsSupport)),k23:Y(t.productSub),k24:Y(t.emptyEvalLength),k25:tt(Y(t.errorFF)),k26:tt(Y(t[0])),k27:Y(t.vendor),k28:tt(Y(t.chrome)),k29:tt(Y(t[1])),k30:tt(Y(t[2])),k31:tt(Y(t[3],!1)),k32:tt(Y(t.cookiesEnabled,!1)),k33:tt(Y(t[4]))}}(Object.assign({extendedResult:r,requestId:t},a));return function(t,o,r,i){return n(this,void 0,void 0,(function*(){const n=yield t.text();let a;try{a=JSON.parse(n)}catch(s){}if(i&&console.log(`Visitor response status: ${t.status}\nVisitor response body:\n\`\`\`json\n${void 0===a?n:JSON.stringify(a,void 0,2)}\n\`\`\``),404===t.status||t.status>=500)throw new Error(t.statusText);if(void 0===a)throw new Error(n);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&t.visitorId!==K}(a))return function(t){const n=t,{botProbability:o}=n,r=e(n,["botProbability"]),i=Object.assign({},r);o&&(i.bot={probability:o});return i}(a);if(function(t){return t&&"object"==typeof t&&t.visitorId===K}(a)){if("Not available for crawl bots"===a.reason||"Not available when User-Agent is unspecified"===a.reason)return function(t,e,n){const o={requestId:e,visitorFound:!1,visitorId:""};if(!n)return o;const r=Object.assign(Object.assign({},o),{bot:{probability:1},incognito:!1,browserName:K,browserVersion:K,device:K,ip:K,ipLocation:{},os:K,osVersion:K});"Not available for crawl bots"===t&&(r.bot.safe=!0);return r}(a.reason,o,r);throw new Error(a.reason)}throw new Error(n)}))}(yield function(t,e,o){return n(this,void 0,void 0,(function*(){o&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(e,void 0,2)}\n\`\`\``);const n=JSON.stringify(e);try{return yield fetch(t,{method:"POST",body:n,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(r){throw new Error("AbortError"===r.name?z:H)}}))}(o,s,i),t,r,i)}))}function X(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function Y(t,e,n){var o;return t.error?e:null!==(o=t.value)&&void 0!==o?o:n}function tt(t){return!0===t?1:!1===t?0:t}function et({value:t}){if(t)return Object.assign(Object.assign({},t),{data:L(t.data)})}const nt=window,ot=document;const rt=window;const it=navigator,at=window;const st=window,ct=navigator;const ut="_inc",lt=[[function(){return M()},function(){return n(this,void 0,void 0,(function*(){return function(){const t=it.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return n(this,void 0,void 0,(function*(){if("storage"in it&&"estimate"in it.storage){const{quota:t}=yield it.storage.estimate();return!!t&&t<function(){var t,e,n;const o=(null===(t=it.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=it.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),r=(null===(n=it.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return o||r?3221225472:1073741824}()}return!1}))}():new Promise((t=>{at.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(ct.vendor)&&/Safari/.test(ct.userAgent)},function(){return n(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,o,r]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:o,patch:r}}().major<13?function(){try{st.openDatabase(null,null,null,null)}catch(t){return!0}try{return st.localStorage.setItem("test","1"),st.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return n(this,void 0,void 0,(function*(){return"safari"in R?function(){try{st.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return n(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),W(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return h(["buildID"in T,(null===(t=I.documentElement)||void 0===t?void 0:t.style)&&"MozAppearance"in I.documentElement.style,"MediaRecorderErrorEvent"in R,"mozInnerScreenX"in R,"CSSMozDocumentRule"in R,"CanvasCaptureMediaStream"in R])>=4;var t},function(){return n(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=rt.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return _()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function dt(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let o=0;for(let r=0;r<e.length;r++){if(t[n+r]!==e[r]){o=0;break}o++}if(o==e.length)return n}return-1}const ft=window,ht=document;const vt={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=ot;return"webdriver"in nt||"_Selenium_IDE_Recorder"in nt||"callSelenium"in nt||"_selenium"in nt||"__webdriver_script_fn"in ot||"__driver_evaluate"in ot||"__webdriver_evaluate"in ot||"__selenium_evaluate"in ot||"__fxdriver_evaluate"in ot||"__driver_unwrapped"in ot||"__webdriver_unwrapped"in ot||"__selenium_unwrapped"in ot||"__fxdriver_unwrapped"in ot||"__webdriver_script_func"in ot||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return n(this,void 0,void 0,(function*(){const t=function(){try{const t=localStorage.getItem(ut);if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==t)return t;try{const t=yield function(){return n(this,void 0,void 0,(function*(){for(const[t,e]of lt)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem(ut,t?"1":"0")}catch(e){}}(t),t}catch(e){return!1}}))},4:function(){if(!M())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in ft)return!0;const t=ht.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),o=n.length,r=new Uint8Array(o);for(let c=0;c<o;c++)r[c]=n.charCodeAt(c);const i=dt(r,[73,68,65,84,24]);if(-1===i)return!1;const a=dt(r,[73,69,78,68]);if(-1===i)return!1;const s=r.slice(i+5,a);return 1321!==s.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const gt=document,pt=location;function mt(t){const e=t+"=";for(const n of gt.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function wt(t,e,n,o){const r=`${t}=${e}`,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),a=o?"domain="+o:"";gt.cookie=[r,"path=/",i,a].join("; ")}function yt(t,e){wt(t,"",-1,e)}function bt(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))break}while(n>=0)}const{localStorage:St}=window;function kt(t="_vid"){return[mt(t),Ct(t)]}function Ot(t,e="_vid"){!function(t,e,n){const o=pt.hostname;bt(o,(e=>{yt(t,e),yt(t,"."+e)})),bt(o,(o=>(wt(t,e,n,"."+o),mt(t)!==e)))}(e,t,365),function(t,e){if(null==St?void 0:St.setItem)try{St.setItem(t,e)}catch(n){}}(e,t)}function Ct(t){var e;if(null==St?void 0:St.getItem)try{return null!==(e=St.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var At,Et,Rt,Tt,It,_t,Mt,xt;class Pt{constructor(t,e,i,a,s){At.set(this,void 0),Et.set(this,void 0),Rt.set(this,void 0),Tt.set(this,void 0),It.set(this,void 0),_t.set(this,((t,e)=>n(this,void 0,void 0,(function*(){if(!e)return $(t).then((t=>({tls:t})),(t=>({tlsError:t})))})))),Mt.set(this,(()=>n(this,void 0,void 0,(function*(){const t=yield o(this,At).get(),e=yield j(vt,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),xt.set(this,(t=>{const e={token:o(this,Et),region:o(this,Rt),endpoint:o(this,Tt),storageKey:o(this,It)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.2\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,At,t),r(this,Et,e),r(this,Rt,i),r(this,Tt,a),r(this,It,s)}get(t={}){const{timeout:e=1e4,tag:r,linkedId:i,disableTls:a,extendedResult:s,ipResolution:c,debug:u}=t;return u&&o(this,xt).call(this,t),l=J,W((()=>n(this,void 0,void 0,(function*(){const[t,n]=yield Promise.all([o(this,_t).call(this,e/2,a),o(this,Mt).call(this)]),l=yield Q(Object.assign(Object.assign({token:o(this,Et),endpoint:Z(o(this,Rt),o(this,Tt))},t),{components:n,tag:r,visitorId:kt(o(this,It)),linkedId:i,extendedResult:s,ipResolution:c,debug:u}));return Ot(l.visitorId,o(this,It)),l}))),e,(()=>{throw new Error(l)}));var l}}At=new WeakMap,Et=new WeakMap,Rt=new WeakMap,Tt=new WeakMap,It=new WeakMap,_t=new WeakMap,Mt=new WeakMap,xt=new WeakMap;return t.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",t.ERROR_CLIENT_TIMEOUT=J,t.ERROR_GENERAL_SERVER_FAILURE="Request failed",t.ERROR_NETWORK_ABORT=z,t.ERROR_NETWORK_CONNECTION=H,t.ERROR_RATE_LIMIT="Too many requests, rate limit exceeded",t.ERROR_SERVER_TIMEOUT="Request failed to process",t.ERROR_TOKEN_INVALID="Token not found",t.ERROR_TOKEN_MISSING="Token required",t.load=function({token:t,region:e,endpoint:o,storageKey:r,delayFallback:i}){return n(this,void 0,void 0,(function*(){if(!t||"string"!=typeof t)throw new Error("Token required");const n=yield B({delayFallback:i});return new Pt(n,t,e,o,r)}))},t}({});
var FingerprintJS=function(t){"use strict";function e(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(n[o[r]]=t[o[r]])}return n}function n(t,e,n,o){return new(n||(n=Promise))((function(r,i){function a(t){try{c(o.next(t))}catch(e){i(e)}}function s(t){try{c(o.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}c((o=o.apply(t,e||[])).next())}))}function o(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function r(t,e,n){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,n),n}function i(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]+e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]+e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]+e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]+e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function a(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]*e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]*e[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=t[3]*e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]*e[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[2]*e[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[3]*e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]*e[3]+t[1]*e[2]+t[2]*e[1]+t[3]*e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function s(t,e){return 32===(e%=64)?[t[1],t[0]]:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e|t[0]>>>32-e]:(e-=32,[t[1]<<e|t[0]>>>32-e,t[0]<<e|t[1]>>>32-e])}function c(t,e){return 0===(e%=64)?t:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e]:[t[1]<<e-32,0]}function u(t,e){return[t[0]^e[0],t[1]^e[1]]}function l(t){return t=u(t,[0,t[0]>>>1]),t=u(t=a(t,[4283543511,3981806797]),[0,t[0]>>>1]),t=u(t=a(t,[3301882366,444984403]),[0,t[0]>>>1])}function d(t,e){e=e||0;for(var n=(t=t||"").length%16,o=t.length-n,r=[0,e],d=[0,e],f=[0,0],h=[0,0],v=[2277735313,289559509],g=[1291169091,658871167],p=0;p<o;p+=16)f=[255&t.charCodeAt(p+4)|(255&t.charCodeAt(p+5))<<8|(255&t.charCodeAt(p+6))<<16|(255&t.charCodeAt(p+7))<<24,255&t.charCodeAt(p)|(255&t.charCodeAt(p+1))<<8|(255&t.charCodeAt(p+2))<<16|(255&t.charCodeAt(p+3))<<24],h=[255&t.charCodeAt(p+12)|(255&t.charCodeAt(p+13))<<8|(255&t.charCodeAt(p+14))<<16|(255&t.charCodeAt(p+15))<<24,255&t.charCodeAt(p+8)|(255&t.charCodeAt(p+9))<<8|(255&t.charCodeAt(p+10))<<16|(255&t.charCodeAt(p+11))<<24],f=s(f=a(f,v),31),r=i(r=s(r=u(r,f=a(f,g)),27),d),r=i(a(r,[0,5]),[0,1390208809]),h=s(h=a(h,g),33),d=i(d=s(d=u(d,h=a(h,v)),31),r),d=i(a(d,[0,5]),[0,944331445]);switch(f=[0,0],h=[0,0],n){case 15:h=u(h,c([0,t.charCodeAt(p+14)],48));case 14:h=u(h,c([0,t.charCodeAt(p+13)],40));case 13:h=u(h,c([0,t.charCodeAt(p+12)],32));case 12:h=u(h,c([0,t.charCodeAt(p+11)],24));case 11:h=u(h,c([0,t.charCodeAt(p+10)],16));case 10:h=u(h,c([0,t.charCodeAt(p+9)],8));case 9:h=a(h=u(h,[0,t.charCodeAt(p+8)]),g),d=u(d,h=a(h=s(h,33),v));case 8:f=u(f,c([0,t.charCodeAt(p+7)],56));case 7:f=u(f,c([0,t.charCodeAt(p+6)],48));case 6:f=u(f,c([0,t.charCodeAt(p+5)],40));case 5:f=u(f,c([0,t.charCodeAt(p+4)],32));case 4:f=u(f,c([0,t.charCodeAt(p+3)],24));case 3:f=u(f,c([0,t.charCodeAt(p+2)],16));case 2:f=u(f,c([0,t.charCodeAt(p+1)],8));case 1:f=a(f=u(f,[0,t.charCodeAt(p)]),v),r=u(r,f=a(f=s(f,31),g))}return r=i(r=u(r,[0,t.length]),d=u(d,[0,t.length])),d=i(d,r),r=i(r=l(r),d=l(d)),d=i(d,r),("00000000"+(r[0]>>>0).toString(16)).slice(-8)+("00000000"+(r[1]>>>0).toString(16)).slice(-8)+("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)}function f(t){return"number"==typeof t?0|t:parseInt(t)}function h(t){return t.reduce(((t,e)=>t+(e?1:0)),0)}const v=navigator,g=window;const p=document,m=["monospace","sans-serif","serif"],w=["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"],y={fontStyle:"normal",fontWeight:"normal",letterSpacing:"normal",lineBreak:"auto",lineHeight:"normal",textTransform:"none",textAlign:"left",textDecoration:"none",textShadow:"none",whiteSpace:"normal",wordBreak:"normal",wordSpacing:"normal"};function b(t){return t.toDataURL()}const S=navigator,k=window;const O=window,C=navigator,A=document;function E(){return h(["msWriteProfilerMark"in O,"msLaunchUri"in C,"msSaveBlob"in C])>=2}function R(){return h(["userActivation"in C,"mediaSession"in C,0===C.vendor.indexOf("Google"),"BackgroundFetchManager"in O,"BatteryManager"in O,"webkitMediaStream"in O,"webkitSpeechGrammar"in O])>=5}const T=navigator;const I=window;const M=window;const _=window;const x=document;const P={osCpu:function(){return navigator.oscpu},languages:function(){const t=[],e=T.language||T.userLanguage||T.browserLanguage||T.systemLanguage;if(void 0!==e&&t.push([e]),Array.isArray(T.languages))R()&&h([!("MediaSettingsRange"in O),!("PhotoCapabilities"in O),"RTCEncodedAudioFrame"in O,""+O.Intl=="[object Intl]"])>=2||t.push(T.languages);else if("string"==typeof T.languages){const e=T.languages;e&&t.push(e.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return navigator.deviceMemory},screenResolution:function(){const t=[f(I.screen.width),f(I.screen.height)];return t.sort().reverse(),t},availableScreenResolution:function(){if(M.screen.availWidth&&M.screen.availHeight){const t=[f(M.screen.availWidth),f(M.screen.availHeight)];return t.sort().reverse(),t}},hardwareConcurrency:function(){try{const t=f(navigator.hardwareConcurrency);return isNaN(t)?1:t}catch(t){return 1}},timezoneOffset:function(){return(new Date).getTimezoneOffset()},timezone:function(){var t;if(null===(t=_.Intl)||void 0===t?void 0:t.DateTimeFormat)return(new _.Intl.DateTimeFormat).resolvedOptions().timeZone},sessionStorage:function(){try{return!!window.sessionStorage}catch(t){return!0}},localStorage:function(){try{return!!window.localStorage}catch(t){return!0}},indexedDB:function(){if(!E())try{return!!window.indexedDB}catch(t){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){return navigator.platform},plugins:function(){if(!navigator.plugins)return;const t=[];for(let e=0;e<navigator.plugins.length;++e){const n=navigator.plugins[e];if(!n)continue;const o=[];for(const t of n)o.push({type:t.type,suffixes:t.suffixes});t.push({name:n.name,description:n.description,mimeTypes:o})}return t},canvas:function(){const[t,e]=function(){const t=document.createElement("canvas");return t.width=240,t.height=140,t.style.display="inline",[t,t.getContext("2d")]}();if(!function(t,e){return!(!e||!t.toDataURL)}(t,e))return{winding:!1,data:""};e.rect(0,0,10,10),e.rect(2,2,6,6);const n=!e.isPointInPath(5,5,"evenodd");e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(125,1,62,20),e.fillStyle="#069",e.font="11pt no-real-font-123";const o="Cwm fjordbank 😃 gly";return e.fillText(o,2,15),e.fillStyle="rgba(102, 204, 0, 0.2)",e.font="18pt Arial",e.fillText(o,4,45),e.globalCompositeOperation="multiply",e.fillStyle="rgb(255,0,255)",e.beginPath(),e.arc(50,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(0,255,255)",e.beginPath(),e.arc(100,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,255,0)",e.beginPath(),e.arc(75,100,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,0,255)",e.arc(75,75,75,0,2*Math.PI,!0),e.arc(75,75,25,0,2*Math.PI,!0),e.fill("evenodd"),{winding:n,data:b(t)}},touchSupport:function(){let t,e=0;void 0!==S.maxTouchPoints?e=f(S.maxTouchPoints):void 0!==S.msMaxTouchPoints&&(e=S.msMaxTouchPoints);try{document.createEvent("TouchEvent"),t=!0}catch(n){t=!1}return{maxTouchPoints:e,touchEvent:t,touchStart:"ontouchstart"in k}},fonts:function(){const t=p.body,e=p.createElement("div"),n=p.createElement("div"),o={},r={},i=()=>{const t=p.createElement("span");return Object.assign(t.style,y,{position:"absolute",left:"-9999px",fontSize:"48px"}),t.textContent="mmMwWLliI0O&1",t},a=(t,e)=>{const n=i();return n.style.fontFamily=`'${t}',${e}`,n},s=t=>m.some(((e,n)=>t[n].offsetWidth!==o[e]||t[n].offsetHeight!==r[e])),c=m.map((t=>{const n=i();return n.style.fontFamily=t,e.appendChild(n),n}));t.appendChild(e);for(let d=0,f=m.length;d<f;d++)o[m[d]]=c[d].offsetWidth,r[m[d]]=c[d].offsetHeight;const u=(()=>{const t={};for(const e of w)t[e]=m.map((t=>{const o=a(e,t);return n.appendChild(o),o}));return t})();t.appendChild(n);const l=[];for(let d=0,f=w.length;d<f;d++)s(u[w[d]])&&l.push(w[d]);return t.removeChild(n),t.removeChild(e),l},audio:function(){return n(this,void 0,void 0,(function*(){if(v.userAgent.match(/OS 11.+Version\/11.+Safari/))return-1;const t=g.OfflineAudioContext||g.webkitOfflineAudioContext;if(!t)return-2;const e=new t(1,44100,44100),n=e.createOscillator();n.type="triangle",n.frequency.setValueAtTime(1e4,e.currentTime);const o=e.createDynamicsCompressor();for(const[r,i]of[["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]])"function"==typeof o[r].setValueAtTime&&o[r].setValueAtTime(i,e.currentTime);return n.connect(o),o.connect(e.destination),n.start(0),e.startRendering(),new Promise((t=>{const r=setTimeout((()=>{e.oncomplete=()=>{},t(-3)}),1e3);e.oncomplete=e=>{let i;try{clearTimeout(r),i=e.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce(((t,e)=>t+Math.abs(e)),0),n.disconnect(),o.disconnect()}catch(a){return void t(-4)}t(i)}}))}))},pluginsSupport:function(){return void 0!==navigator.plugins},productSub:function(){return navigator.productSub},emptyEvalLength:function(){return eval.toString().length},errorFF:function(){try{throw"a"}catch(t){try{return t.toSource(),!0}catch(e){return!1}}},vendor:function(){return navigator.vendor},chrome:function(){return void 0!==window.chrome},cookiesEnabled:function(){try{x.cookie="cookietest=1";const t=-1!==x.cookie.indexOf("cookietest=");return x.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch(t){return!1}}};function j(t,e,o){return n(this,void 0,void 0,(function*(){let n=Date.now();const r={};for(const a of Object.keys(t)){if(function(t,e){for(let n=0,o=t.length;n<o;++n)if(t[n]===e)return!0;return!1}(o,a))continue;let s,c;try{s={value:yield t[a](e)}}catch(i){s=i&&"object"==typeof i&&"message"in i?{error:i}:{error:{message:i}}}c=Date.now(),r[a]=Object.assign(Object.assign({},s),{duration:c-n}),n=c}return r}))}function N(t){let e;return{components:t,get visitorId(){return void 0===e&&(e=d(function(t){let e="";for(const n of Object.keys(t)){const o=t[n],r=o.error?"error":JSON.stringify(o.value);e+=`${e?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return e}(this.components))),e},set visitorId(t){e=t}}}class D{get(t={}){return n(this,void 0,void 0,(function*(){const e=yield j(P,void 0,[]),n=N(e);return t.debug&&console.log(`Copy the text below to get the debug data:\n\n\`\`\`\nversion: 3.0.0-beta.3\ngetOptions: ${JSON.stringify(t,void 0,2)}\nvisitorId: ${n.visitorId}\ncomponents: ${function(t){return JSON.stringify(t,((t,e)=>{var n;return e instanceof Error?Object.assign(Object.assign({},e),{message:e.message,stack:null===(n=e.stack)||void 0===n?void 0:n.split("\n")}):e}),2)}(e)}\n\`\`\``),n}))}}function B({delayFallback:t=50}={}){return n(this,void 0,void 0,(function*(){var e;return yield(e=t,new Promise((t=>{window.requestIdleCallback?window.requestIdleCallback((()=>t())):setTimeout(t,e)}))),new D}))}const L=d;var F="3.0.0-beta.3";function U(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function W(t,e,o){return n(this,void 0,void 0,(function*(){const n=yield Promise.race([U(e,[!0]),("function"==typeof t?t():t).then((t=>[!1,t]))]);return n[0]?null==o?void 0:o():n[1]}))}const q="TimeoutError";function $(t){return n(this,void 0,void 0,(function*(){let o;try{o=yield function(t,o){var{timeout:r}=o,i=e(o,["timeout"]);return n(this,void 0,void 0,(function*(){let e="undefined"==typeof AbortController?void 0:new AbortController;return W(fetch(t,Object.assign(Object.assign({},i),{signal:null==e?void 0:e.signal})),r,(()=>{throw null==e||e.abort(),new DOMException("The request timed out.",q)}))}))}("https://api.sjpf.io",{timeout:t})}catch(i){switch(i.name){case"AbortError":throw new Error("Abort");case q:throw new Error("Timeout");default:throw new Error("Connection error")}}const r=yield o.text();if(200===o.status)return r;throw new Error(r.slice(0,255))}))}const V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",G=V.length;const J="Client timeout",H="Network connection error",z="Network request aborted",K="n/a";function Z(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function Q(t){var{endpoint:o,extendedResult:r,debug:i}=t,a=e(t,["endpoint","extendedResult","debug"]);return n(this,void 0,void 0,(function*(){const t=function(t){let e="";for(let n=0;n<t;n++)e+=V.charAt(Math.random()*G);return e}(20),s=function({components:t,token:e,visitorId:n,tag:o,ipResolution:r,extendedResult:i,linkedId:a,tls:s,tlsError:c,requestId:u}){const l=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),d="full"===r?2:1;return{rid:u,cv:F,c:e,url:location.href,d:l,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:X(o),i:d,cbd:i?1:void 0,lid:a,cr:document.referrer||void 0,j:s,je:null==c?void 0:c.message,k1:Y(t.osCpu),k2:Y(t.languages),k3:Y(t.colorDepth),k4:Y(t.deviceMemory),k5:Y(t.screenResolution),k6:Y(t.availableScreenResolution,void 0,[]),k7:Y(t.hardwareConcurrency),k8:Y(t.timezoneOffset),k9:Y(t.timezone),k10:tt(Y(t.sessionStorage)),k11:tt(Y(t.localStorage)),k12:tt(Y(t.indexedDB)),k13:tt(Y(t.openDatabase)),k14:Y(t.cpuClass),k15:Y(t.platform),k16:Y(t.plugins,[]),k17:et(t.canvas),k18:0,k19:Y(t.touchSupport),k20:Y(t.fonts,[]),k21:Y(t.audio,-1),k22:tt(Y(t.pluginsSupport)),k23:Y(t.productSub),k24:Y(t.emptyEvalLength),k25:tt(Y(t.errorFF)),k26:tt(Y(t[0])),k27:Y(t.vendor),k28:tt(Y(t.chrome)),k29:tt(Y(t[1])),k30:tt(Y(t[2])),k31:tt(Y(t[3],!1)),k32:tt(Y(t.cookiesEnabled,!1)),k33:tt(Y(t[4]))}}(Object.assign({extendedResult:r,requestId:t},a));return function(t,o,r,i){return n(this,void 0,void 0,(function*(){const n=yield t.text();let a;try{a=JSON.parse(n)}catch(s){}if(i&&console.log(`Visitor response status: ${t.status}\nVisitor response body:\n\`\`\`json\n${void 0===a?n:JSON.stringify(a,void 0,2)}\n\`\`\``),404===t.status||t.status>=500)throw new Error(t.statusText);if(void 0===a)throw new Error(n);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&t.visitorId!==K}(a))return function(t){const n=t,{botProbability:o}=n,r=e(n,["botProbability"]),i=Object.assign({},r);o&&(i.bot={probability:o});return i}(a);if(function(t){return t&&"object"==typeof t&&t.visitorId===K}(a)){if("Not available for crawl bots"===a.reason||"Not available when User-Agent is unspecified"===a.reason)return function(t,e,n){const o={requestId:e,visitorFound:!1,visitorId:""};if(!n)return o;const r=Object.assign(Object.assign({},o),{bot:{probability:1},incognito:!1,browserName:K,browserVersion:K,device:K,ip:K,ipLocation:{},os:K,osVersion:K});"Not available for crawl bots"===t&&(r.bot.safe=!0);return r}(a.reason,o,r);throw new Error(a.reason)}throw new Error(n)}))}(yield function(t,e,o){return n(this,void 0,void 0,(function*(){o&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(e,void 0,2)}\n\`\`\``);const n=JSON.stringify(e);try{return yield fetch(t,{method:"POST",body:n,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(r){throw new Error("AbortError"===r.name?z:H)}}))}(o,s,i),t,r,i)}))}function X(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function Y(t,e,n){var o;return t.error?e:null!==(o=t.value)&&void 0!==o?o:n}function tt(t){return!0===t?1:!1===t?0:t}function et({value:t}){if(t)return Object.assign(Object.assign({},t),{data:L(t.data)})}const nt=window,ot=document;const rt=window;const it=navigator,at=window;const st=window,ct=navigator;const ut="_inc",lt=[[function(){return R()},function(){return n(this,void 0,void 0,(function*(){return function(){const t=it.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return n(this,void 0,void 0,(function*(){if("storage"in it&&"estimate"in it.storage){const{quota:t}=yield it.storage.estimate();return!!t&&t<function(){var t,e,n;const o=(null===(t=it.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=it.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),r=(null===(n=it.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return o||r?3221225472:1073741824}()}return!1}))}():new Promise((t=>{at.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(ct.vendor)&&/Safari/.test(ct.userAgent)},function(){return n(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,o,r]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:o,patch:r}}().major<13?function(){try{st.openDatabase(null,null,null,null)}catch(t){return!0}try{return st.localStorage.setItem("test","1"),st.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return n(this,void 0,void 0,(function*(){return"safari"in O?function(){try{st.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return n(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),W(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return h(["buildID"in C,(null===(t=A.documentElement)||void 0===t?void 0:t.style)&&"MozAppearance"in A.documentElement.style,"MediaRecorderErrorEvent"in O,"mozInnerScreenX"in O,"CSSMozDocumentRule"in O,"CanvasCaptureMediaStream"in O])>=4;var t},function(){return n(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=rt.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return E()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function dt(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let o=0;for(let r=0;r<e.length;r++){if(t[n+r]!==e[r]){o=0;break}o++}if(o==e.length)return n}return-1}const ft=window,ht=document;const vt={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=ot;return"webdriver"in nt||"_Selenium_IDE_Recorder"in nt||"callSelenium"in nt||"_selenium"in nt||"__webdriver_script_fn"in ot||"__driver_evaluate"in ot||"__webdriver_evaluate"in ot||"__selenium_evaluate"in ot||"__fxdriver_evaluate"in ot||"__driver_unwrapped"in ot||"__webdriver_unwrapped"in ot||"__selenium_unwrapped"in ot||"__fxdriver_unwrapped"in ot||"__webdriver_script_func"in ot||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return n(this,void 0,void 0,(function*(){const t=function(){try{const t=localStorage.getItem(ut);if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==t)return t;try{const t=yield function(){return n(this,void 0,void 0,(function*(){for(const[t,e]of lt)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem(ut,t?"1":"0")}catch(e){}}(t),t}catch(e){return!1}}))},4:function(){if(!R())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in ft)return!0;const t=ht.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),o=n.length,r=new Uint8Array(o);for(let c=0;c<o;c++)r[c]=n.charCodeAt(c);const i=dt(r,[73,68,65,84,24]);if(-1===i)return!1;const a=dt(r,[73,69,78,68]);if(-1===i)return!1;const s=r.slice(i+5,a);return 1321!==s.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const gt=document,pt=location;function mt(t){const e=t+"=";for(const n of gt.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function wt(t,e,n,o){const r=`${t}=${e}`,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),a=o?"domain="+o:"";gt.cookie=[r,"path=/",i,a].join("; ")}function yt(t,e,n){const o=pt.hostname;bt(o,(e=>{!function(t,e){wt(t,"",-1,e)}(t,e)}));bt(o,(o=>(wt(t,e,n,o),mt(t)!==e)))&&wt(t,e,n)}function bt(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))return!1}while(n>=0);return!0}const{localStorage:St}=window;function kt(t="_vid"){return[mt(t),Ct(t)]}function Ot(t,e="_vid"){yt(e,t,365),function(t,e){if(null==St?void 0:St.setItem)try{St.setItem(t,e)}catch(n){}}(e,t)}function Ct(t){var e;if(null==St?void 0:St.getItem)try{return null!==(e=St.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var At,Et,Rt,Tt,It,Mt,_t,xt;class Pt{constructor(t,e,i,a,s){At.set(this,void 0),Et.set(this,void 0),Rt.set(this,void 0),Tt.set(this,void 0),It.set(this,void 0),Mt.set(this,((t,e)=>n(this,void 0,void 0,(function*(){if(!e)return $(t).then((t=>({tls:t})),(t=>({tlsError:t})))})))),_t.set(this,(()=>n(this,void 0,void 0,(function*(){const t=yield o(this,At).get(),e=yield j(vt,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),xt.set(this,(t=>{const e={token:o(this,Et),region:o(this,Rt),endpoint:o(this,Tt),storageKey:o(this,It)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.3\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,At,t),r(this,Et,e),r(this,Rt,i),r(this,Tt,a),r(this,It,s)}get(t={}){const{timeout:e=1e4,tag:r,linkedId:i,disableTls:a,extendedResult:s,ipResolution:c,debug:u}=t;return u&&o(this,xt).call(this,t),l=J,W((()=>n(this,void 0,void 0,(function*(){const[t,n]=yield Promise.all([o(this,Mt).call(this,e/2,a),o(this,_t).call(this)]),l=yield Q(Object.assign(Object.assign({token:o(this,Et),endpoint:Z(o(this,Rt),o(this,Tt))},t),{components:n,tag:r,visitorId:kt(o(this,It)),linkedId:i,extendedResult:s,ipResolution:c,debug:u}));return Ot(l.visitorId,o(this,It)),l}))),e,(()=>{throw new Error(l)}));var l}}At=new WeakMap,Et=new WeakMap,Rt=new WeakMap,Tt=new WeakMap,It=new WeakMap,Mt=new WeakMap,_t=new WeakMap,xt=new WeakMap;return t.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",t.ERROR_CLIENT_TIMEOUT=J,t.ERROR_GENERAL_SERVER_FAILURE="Request failed",t.ERROR_NETWORK_ABORT=z,t.ERROR_NETWORK_CONNECTION=H,t.ERROR_RATE_LIMIT="Too many requests, rate limit exceeded",t.ERROR_SERVER_TIMEOUT="Request failed to process",t.ERROR_TOKEN_INVALID="Token not found",t.ERROR_TOKEN_MISSING="Token required",t.load=function({token:t,region:e,endpoint:o,storageKey:r,delayFallback:i}){return n(this,void 0,void 0,(function*(){if(!t||"string"!=typeof t)throw new Error("Token required");const n=yield B({delayFallback:i});return new Pt(n,t,e,o,r)}))},t}({});
/**
* FingerprintJS Pro v3.0.0-beta.2 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.0-beta.3 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
*

@@ -8,2 +8,2 @@ * This software contains code from open-source projects:

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).FingerprintJS={})}(this,(function(t){"use strict";function e(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(n[o[r]]=t[o[r]])}return n}function n(t,e,n,o){return new(n||(n=Promise))((function(r,i){function a(t){try{c(o.next(t))}catch(e){i(e)}}function s(t){try{c(o.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}c((o=o.apply(t,e||[])).next())}))}function o(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function r(t,e,n){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,n),n}function i(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]+e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]+e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]+e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]+e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function a(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]*e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]*e[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=t[3]*e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]*e[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[2]*e[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[3]*e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]*e[3]+t[1]*e[2]+t[2]*e[1]+t[3]*e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function s(t,e){return 32===(e%=64)?[t[1],t[0]]:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e|t[0]>>>32-e]:(e-=32,[t[1]<<e|t[0]>>>32-e,t[0]<<e|t[1]>>>32-e])}function c(t,e){return 0===(e%=64)?t:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e]:[t[1]<<e-32,0]}function u(t,e){return[t[0]^e[0],t[1]^e[1]]}function l(t){return t=u(t,[0,t[0]>>>1]),t=u(t=a(t,[4283543511,3981806797]),[0,t[0]>>>1]),t=u(t=a(t,[3301882366,444984403]),[0,t[0]>>>1])}function d(t,e){e=e||0;for(var n=(t=t||"").length%16,o=t.length-n,r=[0,e],d=[0,e],f=[0,0],h=[0,0],v=[2277735313,289559509],g=[1291169091,658871167],p=0;p<o;p+=16)f=[255&t.charCodeAt(p+4)|(255&t.charCodeAt(p+5))<<8|(255&t.charCodeAt(p+6))<<16|(255&t.charCodeAt(p+7))<<24,255&t.charCodeAt(p)|(255&t.charCodeAt(p+1))<<8|(255&t.charCodeAt(p+2))<<16|(255&t.charCodeAt(p+3))<<24],h=[255&t.charCodeAt(p+12)|(255&t.charCodeAt(p+13))<<8|(255&t.charCodeAt(p+14))<<16|(255&t.charCodeAt(p+15))<<24,255&t.charCodeAt(p+8)|(255&t.charCodeAt(p+9))<<8|(255&t.charCodeAt(p+10))<<16|(255&t.charCodeAt(p+11))<<24],f=s(f=a(f,v),31),r=i(r=s(r=u(r,f=a(f,g)),27),d),r=i(a(r,[0,5]),[0,1390208809]),h=s(h=a(h,g),33),d=i(d=s(d=u(d,h=a(h,v)),31),r),d=i(a(d,[0,5]),[0,944331445]);switch(f=[0,0],h=[0,0],n){case 15:h=u(h,c([0,t.charCodeAt(p+14)],48));case 14:h=u(h,c([0,t.charCodeAt(p+13)],40));case 13:h=u(h,c([0,t.charCodeAt(p+12)],32));case 12:h=u(h,c([0,t.charCodeAt(p+11)],24));case 11:h=u(h,c([0,t.charCodeAt(p+10)],16));case 10:h=u(h,c([0,t.charCodeAt(p+9)],8));case 9:h=a(h=u(h,[0,t.charCodeAt(p+8)]),g),d=u(d,h=a(h=s(h,33),v));case 8:f=u(f,c([0,t.charCodeAt(p+7)],56));case 7:f=u(f,c([0,t.charCodeAt(p+6)],48));case 6:f=u(f,c([0,t.charCodeAt(p+5)],40));case 5:f=u(f,c([0,t.charCodeAt(p+4)],32));case 4:f=u(f,c([0,t.charCodeAt(p+3)],24));case 3:f=u(f,c([0,t.charCodeAt(p+2)],16));case 2:f=u(f,c([0,t.charCodeAt(p+1)],8));case 1:f=a(f=u(f,[0,t.charCodeAt(p)]),v),r=u(r,f=a(f=s(f,31),g))}return r=i(r=u(r,[0,t.length]),d=u(d,[0,t.length])),d=i(d,r),r=i(r=l(r),d=l(d)),d=i(d,r),("00000000"+(r[0]>>>0).toString(16)).slice(-8)+("00000000"+(r[1]>>>0).toString(16)).slice(-8)+("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)}function f(t){return"number"==typeof t?0|t:parseInt(t)}function h(t){return t.reduce(((t,e)=>t+(e?1:0)),0)}const v=navigator,g=window;const p=document,m=["monospace","sans-serif","serif"],w=["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"],y={fontStyle:"normal",fontWeight:"normal",letterSpacing:"normal",lineBreak:"auto",lineHeight:"normal",textTransform:"none",textAlign:"left",textDecoration:"none",textShadow:"none",whiteSpace:"normal",wordBreak:"normal",wordSpacing:"normal"};function b(t){return t.toDataURL()}const S=navigator,k=window;const O=navigator;const C=window;const A=window;const E=window;const R=window,T=navigator,I=document;function _(){return h(["msWriteProfilerMark"in R,"msLaunchUri"in T,"msSaveBlob"in T])>=2}function x(){return h(["userActivation"in T,"mediaSession"in T,0===T.vendor.indexOf("Google"),"BackgroundFetchManager"in R,"BatteryManager"in R,"webkitMediaStream"in R,"webkitSpeechGrammar"in R])>=5}const M=document;const P={osCpu:function(){return navigator.oscpu},languages:function(){const t=[],e=O.language||O.userLanguage||O.browserLanguage||O.systemLanguage;if(void 0!==e&&t.push([e]),Array.isArray(O.languages))t.push(O.languages);else if("string"==typeof O.languages){const e=O.languages;e&&t.push(e.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return navigator.deviceMemory},screenResolution:function(){const t=[f(C.screen.width),f(C.screen.height)];return t.sort().reverse(),t},availableScreenResolution:function(){if(A.screen.availWidth&&A.screen.availHeight){const t=[f(A.screen.availWidth),f(A.screen.availHeight)];return t.sort().reverse(),t}},hardwareConcurrency:function(){try{const t=f(navigator.hardwareConcurrency);return isNaN(t)?1:t}catch(t){return 1}},timezoneOffset:function(){return(new Date).getTimezoneOffset()},timezone:function(){var t;if(null===(t=E.Intl)||void 0===t?void 0:t.DateTimeFormat)return(new E.Intl.DateTimeFormat).resolvedOptions().timeZone},sessionStorage:function(){try{return!!window.sessionStorage}catch(t){return!0}},localStorage:function(){try{return!!window.localStorage}catch(t){return!0}},indexedDB:function(){if(!_())try{return!!window.indexedDB}catch(t){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){return navigator.platform},plugins:function(){if(!navigator.plugins)return;const t=[];for(const e of navigator.plugins){if(!e)continue;const n=[];for(const t of e)n.push({type:t.type,suffixes:t.suffixes});t.push({name:e.name,description:e.description,mimeTypes:n})}return t},canvas:function(){const[t,e]=function(){const t=document.createElement("canvas");return t.width=240,t.height=140,t.style.display="inline",[t,t.getContext("2d")]}();if(!function(t,e){return!(!e||!t.toDataURL)}(t,e))return{winding:!1,data:""};e.rect(0,0,10,10),e.rect(2,2,6,6);const n=!e.isPointInPath(5,5,"evenodd");e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(125,1,62,20),e.fillStyle="#069",e.font="11pt no-real-font-123";const o="Cwm fjordbank 😃 gly";return e.fillText(o,2,15),e.fillStyle="rgba(102, 204, 0, 0.2)",e.font="18pt Arial",e.fillText(o,4,45),e.globalCompositeOperation="multiply",e.fillStyle="rgb(255,0,255)",e.beginPath(),e.arc(50,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(0,255,255)",e.beginPath(),e.arc(100,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,255,0)",e.beginPath(),e.arc(75,100,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,0,255)",e.arc(75,75,75,0,2*Math.PI,!0),e.arc(75,75,25,0,2*Math.PI,!0),e.fill("evenodd"),{winding:n,data:b(t)}},touchSupport:function(){let t,e=0;void 0!==S.maxTouchPoints?e=f(S.maxTouchPoints):void 0!==S.msMaxTouchPoints&&(e=S.msMaxTouchPoints);try{document.createEvent("TouchEvent"),t=!0}catch(n){t=!1}return{maxTouchPoints:e,touchEvent:t,touchStart:"ontouchstart"in k}},fonts:function(){const t=p.body,e=p.createElement("div"),n=p.createElement("div"),o={},r={},i=()=>{const t=p.createElement("span");return Object.assign(t.style,y,{position:"absolute",left:"-9999px",fontSize:"48px"}),t.textContent="mmMwWLliI0O&1",t},a=(t,e)=>{const n=i();return n.style.fontFamily=`'${t}',${e}`,n},s=t=>m.some(((e,n)=>t[n].offsetWidth!==o[e]||t[n].offsetHeight!==r[e])),c=m.map((t=>{const n=i();return n.style.fontFamily=t,e.appendChild(n),n}));t.appendChild(e);for(let d=0,f=m.length;d<f;d++)o[m[d]]=c[d].offsetWidth,r[m[d]]=c[d].offsetHeight;const u=(()=>{const t={};for(const e of w)t[e]=m.map((t=>{const o=a(e,t);return n.appendChild(o),o}));return t})();t.appendChild(n);const l=[];for(let d=0,f=w.length;d<f;d++)s(u[w[d]])&&l.push(w[d]);return t.removeChild(n),t.removeChild(e),l},audio:function(){return n(this,void 0,void 0,(function*(){if(v.userAgent.match(/OS 11.+Version\/11.+Safari/))return-1;const t=g.OfflineAudioContext||g.webkitOfflineAudioContext;if(!t)return-2;const e=new t(1,44100,44100),n=e.createOscillator();n.type="triangle",n.frequency.setValueAtTime(1e4,e.currentTime);const o=e.createDynamicsCompressor();for(const[r,i]of[["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]])"function"==typeof o[r].setValueAtTime&&o[r].setValueAtTime(i,e.currentTime);return n.connect(o),o.connect(e.destination),n.start(0),e.startRendering(),new Promise((t=>{const r=setTimeout((()=>{e.oncomplete=()=>{},t(-3)}),1e3);e.oncomplete=e=>{let i;try{clearTimeout(r),i=e.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce(((t,e)=>t+Math.abs(e)),0),n.disconnect(),o.disconnect()}catch(a){return void t(-4)}t(i)}}))}))},pluginsSupport:function(){return void 0!==navigator.plugins},productSub:function(){return navigator.productSub},emptyEvalLength:function(){return eval.toString().length},errorFF:function(){try{throw"a"}catch(t){try{return t.toSource(),!0}catch(e){return!1}}},vendor:function(){return navigator.vendor},chrome:function(){return void 0!==window.chrome},cookiesEnabled:function(){try{M.cookie="cookietest=1";const t=-1!==M.cookie.indexOf("cookietest=");return M.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch(t){return!1}}};function j(t,e,o){return n(this,void 0,void 0,(function*(){let n=Date.now();const r={};for(const a of Object.keys(t)){if(function(t,e){for(let n=0,o=t.length;n<o;++n)if(t[n]===e)return!0;return!1}(o,a))continue;let s,c;try{s={value:yield t[a](e)}}catch(i){s={error:"message"in i?i:{message:i}}}c=Date.now(),r[a]=Object.assign(Object.assign({},s),{duration:c-n}),n=c}return r}))}function N(t){let e;return{components:t,get visitorId(){return void 0===e&&(e=d(function(t){let e="";for(const n of Object.keys(t)){const o=t[n],r=o.error?"error":JSON.stringify(o.value);e+=`${e?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return e}(this.components))),e},set visitorId(t){e=t}}}class D{get(t={}){return n(this,void 0,void 0,(function*(){const e=yield j(P,void 0,[]),n=N(e);return t.debug&&console.log(`Copy the text below to get the debug data:\n\n\`\`\`\nversion: 3.0.0-beta.2\ngetOptions: ${JSON.stringify(t,void 0,2)}\nvisitorId: ${n.visitorId}\ncomponents: ${function(t){return JSON.stringify(t,((t,e)=>{var n;return e instanceof Error?Object.assign(Object.assign({},e),{message:e.message,stack:null===(n=e.stack)||void 0===n?void 0:n.split("\n")}):e}),2)}(e)}\n\`\`\``),n}))}}function B({delayFallback:t=50}={}){return n(this,void 0,void 0,(function*(){var e;return yield(e=t,new Promise((t=>{window.requestIdleCallback?window.requestIdleCallback((()=>t())):setTimeout(t,e)}))),new D}))}const L=d;var F="3.0.0-beta.2";function U(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function W(t,e,o){return n(this,void 0,void 0,(function*(){const n=yield Promise.race([U(e,[!0]),("function"==typeof t?t():t).then((t=>[!1,t]))]);return n[0]?null==o?void 0:o():n[1]}))}const q="TimeoutError";function $(t){return n(this,void 0,void 0,(function*(){let o;try{o=yield function(t,o){var{timeout:r}=o,i=e(o,["timeout"]);return n(this,void 0,void 0,(function*(){let e="undefined"==typeof AbortController?void 0:new AbortController;return W(fetch(t,Object.assign(Object.assign({},i),{signal:null==e?void 0:e.signal})),r,(()=>{throw null==e||e.abort(),new DOMException("The request timed out.",q)}))}))}("https://api.sjpf.io",{timeout:t})}catch(i){switch(i.name){case"AbortError":throw new Error("Abort");case q:throw new Error("Timeout");default:throw new Error("Connection error")}}const r=yield o.text();if(200===o.status)return r;throw new Error(r.slice(0,255))}))}const V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",G=V.length;const J="Client timeout",H="Network connection error",z="Network request aborted",K="n/a";function Z(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function Q(t){var{endpoint:o,extendedResult:r,debug:i}=t,a=e(t,["endpoint","extendedResult","debug"]);return n(this,void 0,void 0,(function*(){const t=function(t){let e="";for(let n=0;n<t;n++)e+=V.charAt(Math.random()*G);return e}(20),s=function({components:t,token:e,visitorId:n,tag:o,ipResolution:r,extendedResult:i,linkedId:a,tls:s,tlsError:c,requestId:u}){const l=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),d="full"===r?2:1;return{rid:u,cv:F,c:e,url:location.href,d:l,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:X(o),i:d,cbd:i?1:void 0,lid:a,cr:document.referrer||void 0,j:s,je:null==c?void 0:c.message,k1:Y(t.osCpu),k2:Y(t.languages),k3:Y(t.colorDepth),k4:Y(t.deviceMemory),k5:Y(t.screenResolution),k6:Y(t.availableScreenResolution,void 0,[]),k7:Y(t.hardwareConcurrency),k8:Y(t.timezoneOffset),k9:Y(t.timezone),k10:tt(Y(t.sessionStorage)),k11:tt(Y(t.localStorage)),k12:tt(Y(t.indexedDB)),k13:tt(Y(t.openDatabase)),k14:Y(t.cpuClass),k15:Y(t.platform),k16:Y(t.plugins,[]),k17:et(t.canvas),k18:0,k19:Y(t.touchSupport),k20:Y(t.fonts,[]),k21:Y(t.audio,-1),k22:tt(Y(t.pluginsSupport)),k23:Y(t.productSub),k24:Y(t.emptyEvalLength),k25:tt(Y(t.errorFF)),k26:tt(Y(t[0])),k27:Y(t.vendor),k28:tt(Y(t.chrome)),k29:tt(Y(t[1])),k30:tt(Y(t[2])),k31:tt(Y(t[3],!1)),k32:tt(Y(t.cookiesEnabled,!1)),k33:tt(Y(t[4]))}}(Object.assign({extendedResult:r,requestId:t},a));return function(t,o,r,i){return n(this,void 0,void 0,(function*(){const n=yield t.text();let a;try{a=JSON.parse(n)}catch(s){}if(i&&console.log(`Visitor response status: ${t.status}\nVisitor response body:\n\`\`\`json\n${void 0===a?n:JSON.stringify(a,void 0,2)}\n\`\`\``),404===t.status||t.status>=500)throw new Error(t.statusText);if(void 0===a)throw new Error(n);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&t.visitorId!==K}(a))return function(t){const n=t,{botProbability:o}=n,r=e(n,["botProbability"]),i=Object.assign({},r);o&&(i.bot={probability:o});return i}(a);if(function(t){return t&&"object"==typeof t&&t.visitorId===K}(a)){if("Not available for crawl bots"===a.reason||"Not available when User-Agent is unspecified"===a.reason)return function(t,e,n){const o={requestId:e,visitorFound:!1,visitorId:""};if(!n)return o;const r=Object.assign(Object.assign({},o),{bot:{probability:1},incognito:!1,browserName:K,browserVersion:K,device:K,ip:K,ipLocation:{},os:K,osVersion:K});"Not available for crawl bots"===t&&(r.bot.safe=!0);return r}(a.reason,o,r);throw new Error(a.reason)}throw new Error(n)}))}(yield function(t,e,o){return n(this,void 0,void 0,(function*(){o&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(e,void 0,2)}\n\`\`\``);const n=JSON.stringify(e);try{return yield fetch(t,{method:"POST",body:n,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(r){throw new Error("AbortError"===r.name?z:H)}}))}(o,s,i),t,r,i)}))}function X(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function Y(t,e,n){var o;return t.error?e:null!==(o=t.value)&&void 0!==o?o:n}function tt(t){return!0===t?1:!1===t?0:t}function et({value:t}){if(t)return Object.assign(Object.assign({},t),{data:L(t.data)})}const nt=window,ot=document;const rt=window;const it=navigator,at=window;const st=window,ct=navigator;const ut="_inc",lt=[[function(){return x()},function(){return n(this,void 0,void 0,(function*(){return function(){const t=it.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return n(this,void 0,void 0,(function*(){if("storage"in it&&"estimate"in it.storage){const{quota:t}=yield it.storage.estimate();return!!t&&t<function(){var t,e,n;const o=(null===(t=it.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=it.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),r=(null===(n=it.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return o||r?3221225472:1073741824}()}return!1}))}():new Promise((t=>{at.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(ct.vendor)&&/Safari/.test(ct.userAgent)},function(){return n(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,o,r]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:o,patch:r}}().major<13?function(){try{st.openDatabase(null,null,null,null)}catch(t){return!0}try{return st.localStorage.setItem("test","1"),st.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return n(this,void 0,void 0,(function*(){return"safari"in R?function(){try{st.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return n(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),W(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return h(["buildID"in T,(null===(t=I.documentElement)||void 0===t?void 0:t.style)&&"MozAppearance"in I.documentElement.style,"MediaRecorderErrorEvent"in R,"mozInnerScreenX"in R,"CSSMozDocumentRule"in R,"CanvasCaptureMediaStream"in R])>=4;var t},function(){return n(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=rt.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return _()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function dt(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let o=0;for(let r=0;r<e.length;r++){if(t[n+r]!==e[r]){o=0;break}o++}if(o==e.length)return n}return-1}const ft=window,ht=document;const vt={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=ot;return"webdriver"in nt||"_Selenium_IDE_Recorder"in nt||"callSelenium"in nt||"_selenium"in nt||"__webdriver_script_fn"in ot||"__driver_evaluate"in ot||"__webdriver_evaluate"in ot||"__selenium_evaluate"in ot||"__fxdriver_evaluate"in ot||"__driver_unwrapped"in ot||"__webdriver_unwrapped"in ot||"__selenium_unwrapped"in ot||"__fxdriver_unwrapped"in ot||"__webdriver_script_func"in ot||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return n(this,void 0,void 0,(function*(){const t=function(){try{const t=localStorage.getItem(ut);if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==t)return t;try{const t=yield function(){return n(this,void 0,void 0,(function*(){for(const[t,e]of lt)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem(ut,t?"1":"0")}catch(e){}}(t),t}catch(e){return!1}}))},4:function(){if(!x())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in ft)return!0;const t=ht.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),o=n.length,r=new Uint8Array(o);for(let c=0;c<o;c++)r[c]=n.charCodeAt(c);const i=dt(r,[73,68,65,84,24]);if(-1===i)return!1;const a=dt(r,[73,69,78,68]);if(-1===i)return!1;const s=r.slice(i+5,a);return 1321!==s.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const gt=document,pt=location;function mt(t){const e=t+"=";for(const n of gt.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function wt(t,e,n,o){const r=`${t}=${e}`,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),a=o?"domain="+o:"";gt.cookie=[r,"path=/",i,a].join("; ")}function yt(t,e){wt(t,"",-1,e)}function bt(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))break}while(n>=0)}const{localStorage:St}=window;function kt(t="_vid"){return[mt(t),Ct(t)]}function Ot(t,e="_vid"){!function(t,e,n){const o=pt.hostname;bt(o,(e=>{yt(t,e),yt(t,"."+e)})),bt(o,(o=>(wt(t,e,n,"."+o),mt(t)!==e)))}(e,t,365),function(t,e){if(null==St?void 0:St.setItem)try{St.setItem(t,e)}catch(n){}}(e,t)}function Ct(t){var e;if(null==St?void 0:St.getItem)try{return null!==(e=St.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var At,Et,Rt,Tt,It,_t,xt,Mt;class Pt{constructor(t,e,i,a,s){At.set(this,void 0),Et.set(this,void 0),Rt.set(this,void 0),Tt.set(this,void 0),It.set(this,void 0),_t.set(this,((t,e)=>n(this,void 0,void 0,(function*(){if(!e)return $(t).then((t=>({tls:t})),(t=>({tlsError:t})))})))),xt.set(this,(()=>n(this,void 0,void 0,(function*(){const t=yield o(this,At).get(),e=yield j(vt,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),Mt.set(this,(t=>{const e={token:o(this,Et),region:o(this,Rt),endpoint:o(this,Tt),storageKey:o(this,It)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.2\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,At,t),r(this,Et,e),r(this,Rt,i),r(this,Tt,a),r(this,It,s)}get(t={}){const{timeout:e=1e4,tag:r,linkedId:i,disableTls:a,extendedResult:s,ipResolution:c,debug:u}=t;return u&&o(this,Mt).call(this,t),l=J,W((()=>n(this,void 0,void 0,(function*(){const[t,n]=yield Promise.all([o(this,_t).call(this,e/2,a),o(this,xt).call(this)]),l=yield Q(Object.assign(Object.assign({token:o(this,Et),endpoint:Z(o(this,Rt),o(this,Tt))},t),{components:n,tag:r,visitorId:kt(o(this,It)),linkedId:i,extendedResult:s,ipResolution:c,debug:u}));return Ot(l.visitorId,o(this,It)),l}))),e,(()=>{throw new Error(l)}));var l}}At=new WeakMap,Et=new WeakMap,Rt=new WeakMap,Tt=new WeakMap,It=new WeakMap,_t=new WeakMap,xt=new WeakMap,Mt=new WeakMap;t.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",t.ERROR_CLIENT_TIMEOUT=J,t.ERROR_GENERAL_SERVER_FAILURE="Request failed",t.ERROR_NETWORK_ABORT=z,t.ERROR_NETWORK_CONNECTION=H,t.ERROR_RATE_LIMIT="Too many requests, rate limit exceeded",t.ERROR_SERVER_TIMEOUT="Request failed to process",t.ERROR_TOKEN_INVALID="Token not found",t.ERROR_TOKEN_MISSING="Token required",t.load=function({token:t,region:e,endpoint:o,storageKey:r,delayFallback:i}){return n(this,void 0,void 0,(function*(){if(!t||"string"!=typeof t)throw new Error("Token required");const n=yield B({delayFallback:i});return new Pt(n,t,e,o,r)}))},Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).FingerprintJS={})}(this,(function(t){"use strict";function e(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(n[o[r]]=t[o[r]])}return n}function n(t,e,n,o){return new(n||(n=Promise))((function(r,i){function a(t){try{c(o.next(t))}catch(e){i(e)}}function s(t){try{c(o.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}c((o=o.apply(t,e||[])).next())}))}function o(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function r(t,e,n){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,n),n}function i(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]+e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]+e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]+e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]+e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function a(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]*e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]*e[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=t[3]*e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]*e[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[2]*e[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[3]*e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]*e[3]+t[1]*e[2]+t[2]*e[1]+t[3]*e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function s(t,e){return 32===(e%=64)?[t[1],t[0]]:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e|t[0]>>>32-e]:(e-=32,[t[1]<<e|t[0]>>>32-e,t[0]<<e|t[1]>>>32-e])}function c(t,e){return 0===(e%=64)?t:e<32?[t[0]<<e|t[1]>>>32-e,t[1]<<e]:[t[1]<<e-32,0]}function u(t,e){return[t[0]^e[0],t[1]^e[1]]}function l(t){return t=u(t,[0,t[0]>>>1]),t=u(t=a(t,[4283543511,3981806797]),[0,t[0]>>>1]),t=u(t=a(t,[3301882366,444984403]),[0,t[0]>>>1])}function d(t,e){e=e||0;for(var n=(t=t||"").length%16,o=t.length-n,r=[0,e],d=[0,e],f=[0,0],h=[0,0],v=[2277735313,289559509],g=[1291169091,658871167],p=0;p<o;p+=16)f=[255&t.charCodeAt(p+4)|(255&t.charCodeAt(p+5))<<8|(255&t.charCodeAt(p+6))<<16|(255&t.charCodeAt(p+7))<<24,255&t.charCodeAt(p)|(255&t.charCodeAt(p+1))<<8|(255&t.charCodeAt(p+2))<<16|(255&t.charCodeAt(p+3))<<24],h=[255&t.charCodeAt(p+12)|(255&t.charCodeAt(p+13))<<8|(255&t.charCodeAt(p+14))<<16|(255&t.charCodeAt(p+15))<<24,255&t.charCodeAt(p+8)|(255&t.charCodeAt(p+9))<<8|(255&t.charCodeAt(p+10))<<16|(255&t.charCodeAt(p+11))<<24],f=s(f=a(f,v),31),r=i(r=s(r=u(r,f=a(f,g)),27),d),r=i(a(r,[0,5]),[0,1390208809]),h=s(h=a(h,g),33),d=i(d=s(d=u(d,h=a(h,v)),31),r),d=i(a(d,[0,5]),[0,944331445]);switch(f=[0,0],h=[0,0],n){case 15:h=u(h,c([0,t.charCodeAt(p+14)],48));case 14:h=u(h,c([0,t.charCodeAt(p+13)],40));case 13:h=u(h,c([0,t.charCodeAt(p+12)],32));case 12:h=u(h,c([0,t.charCodeAt(p+11)],24));case 11:h=u(h,c([0,t.charCodeAt(p+10)],16));case 10:h=u(h,c([0,t.charCodeAt(p+9)],8));case 9:h=a(h=u(h,[0,t.charCodeAt(p+8)]),g),d=u(d,h=a(h=s(h,33),v));case 8:f=u(f,c([0,t.charCodeAt(p+7)],56));case 7:f=u(f,c([0,t.charCodeAt(p+6)],48));case 6:f=u(f,c([0,t.charCodeAt(p+5)],40));case 5:f=u(f,c([0,t.charCodeAt(p+4)],32));case 4:f=u(f,c([0,t.charCodeAt(p+3)],24));case 3:f=u(f,c([0,t.charCodeAt(p+2)],16));case 2:f=u(f,c([0,t.charCodeAt(p+1)],8));case 1:f=a(f=u(f,[0,t.charCodeAt(p)]),v),r=u(r,f=a(f=s(f,31),g))}return r=i(r=u(r,[0,t.length]),d=u(d,[0,t.length])),d=i(d,r),r=i(r=l(r),d=l(d)),d=i(d,r),("00000000"+(r[0]>>>0).toString(16)).slice(-8)+("00000000"+(r[1]>>>0).toString(16)).slice(-8)+("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)}function f(t){return"number"==typeof t?0|t:parseInt(t)}function h(t){return t.reduce(((t,e)=>t+(e?1:0)),0)}const v=navigator,g=window;const p=document,m=["monospace","sans-serif","serif"],w=["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"],y={fontStyle:"normal",fontWeight:"normal",letterSpacing:"normal",lineBreak:"auto",lineHeight:"normal",textTransform:"none",textAlign:"left",textDecoration:"none",textShadow:"none",whiteSpace:"normal",wordBreak:"normal",wordSpacing:"normal"};function b(t){return t.toDataURL()}const S=navigator,k=window;const O=window,C=navigator,A=document;function E(){return h(["msWriteProfilerMark"in O,"msLaunchUri"in C,"msSaveBlob"in C])>=2}function R(){return h(["userActivation"in C,"mediaSession"in C,0===C.vendor.indexOf("Google"),"BackgroundFetchManager"in O,"BatteryManager"in O,"webkitMediaStream"in O,"webkitSpeechGrammar"in O])>=5}const T=navigator;const I=window;const _=window;const x=window;const M=document;const P={osCpu:function(){return navigator.oscpu},languages:function(){const t=[],e=T.language||T.userLanguage||T.browserLanguage||T.systemLanguage;if(void 0!==e&&t.push([e]),Array.isArray(T.languages))R()&&h([!("MediaSettingsRange"in O),!("PhotoCapabilities"in O),"RTCEncodedAudioFrame"in O,""+O.Intl=="[object Intl]"])>=2||t.push(T.languages);else if("string"==typeof T.languages){const e=T.languages;e&&t.push(e.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return navigator.deviceMemory},screenResolution:function(){const t=[f(I.screen.width),f(I.screen.height)];return t.sort().reverse(),t},availableScreenResolution:function(){if(_.screen.availWidth&&_.screen.availHeight){const t=[f(_.screen.availWidth),f(_.screen.availHeight)];return t.sort().reverse(),t}},hardwareConcurrency:function(){try{const t=f(navigator.hardwareConcurrency);return isNaN(t)?1:t}catch(t){return 1}},timezoneOffset:function(){return(new Date).getTimezoneOffset()},timezone:function(){var t;if(null===(t=x.Intl)||void 0===t?void 0:t.DateTimeFormat)return(new x.Intl.DateTimeFormat).resolvedOptions().timeZone},sessionStorage:function(){try{return!!window.sessionStorage}catch(t){return!0}},localStorage:function(){try{return!!window.localStorage}catch(t){return!0}},indexedDB:function(){if(!E())try{return!!window.indexedDB}catch(t){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){return navigator.platform},plugins:function(){if(!navigator.plugins)return;const t=[];for(let e=0;e<navigator.plugins.length;++e){const n=navigator.plugins[e];if(!n)continue;const o=[];for(const t of n)o.push({type:t.type,suffixes:t.suffixes});t.push({name:n.name,description:n.description,mimeTypes:o})}return t},canvas:function(){const[t,e]=function(){const t=document.createElement("canvas");return t.width=240,t.height=140,t.style.display="inline",[t,t.getContext("2d")]}();if(!function(t,e){return!(!e||!t.toDataURL)}(t,e))return{winding:!1,data:""};e.rect(0,0,10,10),e.rect(2,2,6,6);const n=!e.isPointInPath(5,5,"evenodd");e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(125,1,62,20),e.fillStyle="#069",e.font="11pt no-real-font-123";const o="Cwm fjordbank 😃 gly";return e.fillText(o,2,15),e.fillStyle="rgba(102, 204, 0, 0.2)",e.font="18pt Arial",e.fillText(o,4,45),e.globalCompositeOperation="multiply",e.fillStyle="rgb(255,0,255)",e.beginPath(),e.arc(50,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(0,255,255)",e.beginPath(),e.arc(100,50,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,255,0)",e.beginPath(),e.arc(75,100,50,0,2*Math.PI,!0),e.closePath(),e.fill(),e.fillStyle="rgb(255,0,255)",e.arc(75,75,75,0,2*Math.PI,!0),e.arc(75,75,25,0,2*Math.PI,!0),e.fill("evenodd"),{winding:n,data:b(t)}},touchSupport:function(){let t,e=0;void 0!==S.maxTouchPoints?e=f(S.maxTouchPoints):void 0!==S.msMaxTouchPoints&&(e=S.msMaxTouchPoints);try{document.createEvent("TouchEvent"),t=!0}catch(n){t=!1}return{maxTouchPoints:e,touchEvent:t,touchStart:"ontouchstart"in k}},fonts:function(){const t=p.body,e=p.createElement("div"),n=p.createElement("div"),o={},r={},i=()=>{const t=p.createElement("span");return Object.assign(t.style,y,{position:"absolute",left:"-9999px",fontSize:"48px"}),t.textContent="mmMwWLliI0O&1",t},a=(t,e)=>{const n=i();return n.style.fontFamily=`'${t}',${e}`,n},s=t=>m.some(((e,n)=>t[n].offsetWidth!==o[e]||t[n].offsetHeight!==r[e])),c=m.map((t=>{const n=i();return n.style.fontFamily=t,e.appendChild(n),n}));t.appendChild(e);for(let d=0,f=m.length;d<f;d++)o[m[d]]=c[d].offsetWidth,r[m[d]]=c[d].offsetHeight;const u=(()=>{const t={};for(const e of w)t[e]=m.map((t=>{const o=a(e,t);return n.appendChild(o),o}));return t})();t.appendChild(n);const l=[];for(let d=0,f=w.length;d<f;d++)s(u[w[d]])&&l.push(w[d]);return t.removeChild(n),t.removeChild(e),l},audio:function(){return n(this,void 0,void 0,(function*(){if(v.userAgent.match(/OS 11.+Version\/11.+Safari/))return-1;const t=g.OfflineAudioContext||g.webkitOfflineAudioContext;if(!t)return-2;const e=new t(1,44100,44100),n=e.createOscillator();n.type="triangle",n.frequency.setValueAtTime(1e4,e.currentTime);const o=e.createDynamicsCompressor();for(const[r,i]of[["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]])"function"==typeof o[r].setValueAtTime&&o[r].setValueAtTime(i,e.currentTime);return n.connect(o),o.connect(e.destination),n.start(0),e.startRendering(),new Promise((t=>{const r=setTimeout((()=>{e.oncomplete=()=>{},t(-3)}),1e3);e.oncomplete=e=>{let i;try{clearTimeout(r),i=e.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce(((t,e)=>t+Math.abs(e)),0),n.disconnect(),o.disconnect()}catch(a){return void t(-4)}t(i)}}))}))},pluginsSupport:function(){return void 0!==navigator.plugins},productSub:function(){return navigator.productSub},emptyEvalLength:function(){return eval.toString().length},errorFF:function(){try{throw"a"}catch(t){try{return t.toSource(),!0}catch(e){return!1}}},vendor:function(){return navigator.vendor},chrome:function(){return void 0!==window.chrome},cookiesEnabled:function(){try{M.cookie="cookietest=1";const t=-1!==M.cookie.indexOf("cookietest=");return M.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch(t){return!1}}};function j(t,e,o){return n(this,void 0,void 0,(function*(){let n=Date.now();const r={};for(const a of Object.keys(t)){if(function(t,e){for(let n=0,o=t.length;n<o;++n)if(t[n]===e)return!0;return!1}(o,a))continue;let s,c;try{s={value:yield t[a](e)}}catch(i){s=i&&"object"==typeof i&&"message"in i?{error:i}:{error:{message:i}}}c=Date.now(),r[a]=Object.assign(Object.assign({},s),{duration:c-n}),n=c}return r}))}function N(t){let e;return{components:t,get visitorId(){return void 0===e&&(e=d(function(t){let e="";for(const n of Object.keys(t)){const o=t[n],r=o.error?"error":JSON.stringify(o.value);e+=`${e?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return e}(this.components))),e},set visitorId(t){e=t}}}class D{get(t={}){return n(this,void 0,void 0,(function*(){const e=yield j(P,void 0,[]),n=N(e);return t.debug&&console.log(`Copy the text below to get the debug data:\n\n\`\`\`\nversion: 3.0.0-beta.3\ngetOptions: ${JSON.stringify(t,void 0,2)}\nvisitorId: ${n.visitorId}\ncomponents: ${function(t){return JSON.stringify(t,((t,e)=>{var n;return e instanceof Error?Object.assign(Object.assign({},e),{message:e.message,stack:null===(n=e.stack)||void 0===n?void 0:n.split("\n")}):e}),2)}(e)}\n\`\`\``),n}))}}function B({delayFallback:t=50}={}){return n(this,void 0,void 0,(function*(){var e;return yield(e=t,new Promise((t=>{window.requestIdleCallback?window.requestIdleCallback((()=>t())):setTimeout(t,e)}))),new D}))}const L=d;var F="3.0.0-beta.3";function U(t,e){return new Promise((n=>setTimeout((()=>n(e)),t)))}function W(t,e,o){return n(this,void 0,void 0,(function*(){const n=yield Promise.race([U(e,[!0]),("function"==typeof t?t():t).then((t=>[!1,t]))]);return n[0]?null==o?void 0:o():n[1]}))}const q="TimeoutError";function $(t){return n(this,void 0,void 0,(function*(){let o;try{o=yield function(t,o){var{timeout:r}=o,i=e(o,["timeout"]);return n(this,void 0,void 0,(function*(){let e="undefined"==typeof AbortController?void 0:new AbortController;return W(fetch(t,Object.assign(Object.assign({},i),{signal:null==e?void 0:e.signal})),r,(()=>{throw null==e||e.abort(),new DOMException("The request timed out.",q)}))}))}("https://api.sjpf.io",{timeout:t})}catch(i){switch(i.name){case"AbortError":throw new Error("Abort");case q:throw new Error("Timeout");default:throw new Error("Connection error")}}const r=yield o.text();if(200===o.status)return r;throw new Error(r.slice(0,255))}))}const V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",G=V.length;const J="Client timeout",H="Network connection error",z="Network request aborted",K="n/a";function Z(t="us",e){if(e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;let n="api.fpjs.io";return"us"!==t&&(n=`${t}.${n}`),"https://"+n}function Q(t){var{endpoint:o,extendedResult:r,debug:i}=t,a=e(t,["endpoint","extendedResult","debug"]);return n(this,void 0,void 0,(function*(){const t=function(t){let e="";for(let n=0;n<t;n++)e+=V.charAt(Math.random()*G);return e}(20),s=function({components:t,token:e,visitorId:n,tag:o,ipResolution:r,extendedResult:i,linkedId:a,tls:s,tlsError:c,requestId:u}){const l=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),d="full"===r?2:1;return{rid:u,cv:F,c:e,url:location.href,d:l,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:X(o),i:d,cbd:i?1:void 0,lid:a,cr:document.referrer||void 0,j:s,je:null==c?void 0:c.message,k1:Y(t.osCpu),k2:Y(t.languages),k3:Y(t.colorDepth),k4:Y(t.deviceMemory),k5:Y(t.screenResolution),k6:Y(t.availableScreenResolution,void 0,[]),k7:Y(t.hardwareConcurrency),k8:Y(t.timezoneOffset),k9:Y(t.timezone),k10:tt(Y(t.sessionStorage)),k11:tt(Y(t.localStorage)),k12:tt(Y(t.indexedDB)),k13:tt(Y(t.openDatabase)),k14:Y(t.cpuClass),k15:Y(t.platform),k16:Y(t.plugins,[]),k17:et(t.canvas),k18:0,k19:Y(t.touchSupport),k20:Y(t.fonts,[]),k21:Y(t.audio,-1),k22:tt(Y(t.pluginsSupport)),k23:Y(t.productSub),k24:Y(t.emptyEvalLength),k25:tt(Y(t.errorFF)),k26:tt(Y(t[0])),k27:Y(t.vendor),k28:tt(Y(t.chrome)),k29:tt(Y(t[1])),k30:tt(Y(t[2])),k31:tt(Y(t[3],!1)),k32:tt(Y(t.cookiesEnabled,!1)),k33:tt(Y(t[4]))}}(Object.assign({extendedResult:r,requestId:t},a));return function(t,o,r,i){return n(this,void 0,void 0,(function*(){const n=yield t.text();let a;try{a=JSON.parse(n)}catch(s){}if(i&&console.log(`Visitor response status: ${t.status}\nVisitor response body:\n\`\`\`json\n${void 0===a?n:JSON.stringify(a,void 0,2)}\n\`\`\``),404===t.status||t.status>=500)throw new Error(t.statusText);if(void 0===a)throw new Error(n);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&t.visitorId!==K}(a))return function(t){const n=t,{botProbability:o}=n,r=e(n,["botProbability"]),i=Object.assign({},r);o&&(i.bot={probability:o});return i}(a);if(function(t){return t&&"object"==typeof t&&t.visitorId===K}(a)){if("Not available for crawl bots"===a.reason||"Not available when User-Agent is unspecified"===a.reason)return function(t,e,n){const o={requestId:e,visitorFound:!1,visitorId:""};if(!n)return o;const r=Object.assign(Object.assign({},o),{bot:{probability:1},incognito:!1,browserName:K,browserVersion:K,device:K,ip:K,ipLocation:{},os:K,osVersion:K});"Not available for crawl bots"===t&&(r.bot.safe=!0);return r}(a.reason,o,r);throw new Error(a.reason)}throw new Error(n)}))}(yield function(t,e,o){return n(this,void 0,void 0,(function*(){o&&console.log(`Visitor request:\n\`\`\`json\n${JSON.stringify(e,void 0,2)}\n\`\`\``);const n=JSON.stringify(e);try{return yield fetch(t,{method:"POST",body:n,headers:{"Content-Type":"text/plain"},credentials:"include"})}catch(r){throw new Error("AbortError"===r.name?z:H)}}))}(o,s,i),t,r,i)}))}function X(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function Y(t,e,n){var o;return t.error?e:null!==(o=t.value)&&void 0!==o?o:n}function tt(t){return!0===t?1:!1===t?0:t}function et({value:t}){if(t)return Object.assign(Object.assign({},t),{data:L(t.data)})}const nt=window,ot=document;const rt=window;const it=navigator,at=window;const st=window,ct=navigator;const ut="_inc",lt=[[function(){return R()},function(){return n(this,void 0,void 0,(function*(){return function(){const t=it.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?function(){return n(this,void 0,void 0,(function*(){if("storage"in it&&"estimate"in it.storage){const{quota:t}=yield it.storage.estimate();return!!t&&t<function(){var t,e,n;const o=(null===(t=it.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=it.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),r=(null===(n=it.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return o||r?3221225472:1073741824}()}return!1}))}():new Promise((t=>{at.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(ct.vendor)&&/Safari/.test(ct.userAgent)},function(){return n(this,void 0,void 0,(function*(){return function(){const t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");const e=t[1].split("."),[n,o,r]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:o,patch:r}}().major<13?function(){try{st.openDatabase(null,null,null,null)}catch(t){return!0}try{return st.localStorage.setItem("test","1"),st.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return n(this,void 0,void 0,(function*(){return"safari"in O?function(){try{st.safari.pushNotification.requestPermission("https://example.com","private",{},(()=>{}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((t=>String.fromCharCode(t))).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}():function(){return n(this,void 0,void 0,(function*(){const t=document.createElement("iframe");t.style.display="none";try{return document.body.appendChild(t),W(new Promise((e=>{t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(()=>e(!0))):e(!1)})),20,(()=>!1))}finally{t.remove()}}))}()}))}()}))}],[function(){return h(["buildID"in C,(null===(t=A.documentElement)||void 0===t?void 0:t.style)&&"MozAppearance"in A.documentElement.style,"MediaRecorderErrorEvent"in O,"mozInnerScreenX"in O,"CSSMozDocumentRule"in O,"CanvasCaptureMediaStream"in O])>=4;var t},function(){return n(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=rt.indexedDB.open("test");e.onerror=()=>t(!0),e.onsuccess=()=>t(!1)}catch(e){return t(!0)}}))}))}],[function(){return E()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function dt(t,e){if(0==e.length||e.length>t.length)return-1;for(let n=0;n<t.length;n++){let o=0;for(let r=0;r<e.length;r++){if(t[n+r]!==e[r]){o=0;break}o++}if(o==e.length)return n}return-1}const ft=window,ht=document;const vt={0:function(){return void 0!==navigator.webdriver},1:function(){return navigator.permissions.query({name:"notifications"}).then((function(t){return"denied"===Notification.permission&&"prompt"===t.state}))},2:function(){const{documentElement:t}=ot;return"webdriver"in nt||"_Selenium_IDE_Recorder"in nt||"callSelenium"in nt||"_selenium"in nt||"__webdriver_script_fn"in ot||"__driver_evaluate"in ot||"__webdriver_evaluate"in ot||"__selenium_evaluate"in ot||"__fxdriver_evaluate"in ot||"__driver_unwrapped"in ot||"__webdriver_unwrapped"in ot||"__selenium_unwrapped"in ot||"__fxdriver_unwrapped"in ot||"__webdriver_script_func"in ot||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},3:function(){return n(this,void 0,void 0,(function*(){const t=function(){try{const t=localStorage.getItem(ut);if(!t)return;return"1"===t}catch(t){return}}();if(void 0!==t)return t;try{const t=yield function(){return n(this,void 0,void 0,(function*(){for(const[t,e]of lt)if(t())return yield e();return!1}))}();return function(t){try{localStorage.setItem(ut,t?"1":"0")}catch(e){}}(t),t}catch(e){return!1}}))},4:function(){if(!R())return!1;try{if([66,114,97,118,101].map((t=>String.fromCharCode(t))).join("")in ft)return!0;const t=ht.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";const e=t.toDataURL();if(""===e)return!0;const n=window.atob(e.split(",")[1]),o=n.length,r=new Uint8Array(o);for(let c=0;c<o;c++)r[c]=n.charCodeAt(c);const i=dt(r,[73,68,65,84,24]);if(-1===i)return!1;const a=dt(r,[73,69,78,68]);if(-1===i)return!1;const s=r.slice(i+5,a);return 1321!==s.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const gt=document,pt=location;function mt(t){const e=t+"=";for(const n of gt.cookie.split(";")){let t=0;for(;" "===n[t]&&t<n.length;++t);if(n.indexOf(e)===t)return n.slice(t+e.length)}}function wt(t,e,n,o){const r=`${t}=${e}`,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),a=o?"domain="+o:"";gt.cookie=[r,"path=/",i,a].join("; ")}function yt(t,e,n){const o=pt.hostname;bt(o,(e=>{!function(t,e){wt(t,"",-1,e)}(t,e)}));bt(o,(o=>(wt(t,e,n,o),mt(t)!==e)))&&wt(t,e,n)}function bt(t,e){let n=t.length;do{if(n=n>0?t.lastIndexOf(".",n-1):-1,!1===e(t.slice(n+1)))return!1}while(n>=0);return!0}const{localStorage:St}=window;function kt(t="_vid"){return[mt(t),Ct(t)]}function Ot(t,e="_vid"){yt(e,t,365),function(t,e){if(null==St?void 0:St.setItem)try{St.setItem(t,e)}catch(n){}}(e,t)}function Ct(t){var e;if(null==St?void 0:St.getItem)try{return null!==(e=St.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var At,Et,Rt,Tt,It,_t,xt,Mt;class Pt{constructor(t,e,i,a,s){At.set(this,void 0),Et.set(this,void 0),Rt.set(this,void 0),Tt.set(this,void 0),It.set(this,void 0),_t.set(this,((t,e)=>n(this,void 0,void 0,(function*(){if(!e)return $(t).then((t=>({tls:t})),(t=>({tlsError:t})))})))),xt.set(this,(()=>n(this,void 0,void 0,(function*(){const t=yield o(this,At).get(),e=yield j(vt,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),Mt.set(this,(t=>{const e={token:o(this,Et),region:o(this,Rt),endpoint:o(this,Tt),storageKey:o(this,It)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0-beta.3\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,At,t),r(this,Et,e),r(this,Rt,i),r(this,Tt,a),r(this,It,s)}get(t={}){const{timeout:e=1e4,tag:r,linkedId:i,disableTls:a,extendedResult:s,ipResolution:c,debug:u}=t;return u&&o(this,Mt).call(this,t),l=J,W((()=>n(this,void 0,void 0,(function*(){const[t,n]=yield Promise.all([o(this,_t).call(this,e/2,a),o(this,xt).call(this)]),l=yield Q(Object.assign(Object.assign({token:o(this,Et),endpoint:Z(o(this,Rt),o(this,Tt))},t),{components:n,tag:r,visitorId:kt(o(this,It)),linkedId:i,extendedResult:s,ipResolution:c,debug:u}));return Ot(l.visitorId,o(this,It)),l}))),e,(()=>{throw new Error(l)}));var l}}At=new WeakMap,Et=new WeakMap,Rt=new WeakMap,Tt=new WeakMap,It=new WeakMap,_t=new WeakMap,xt=new WeakMap,Mt=new WeakMap;t.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",t.ERROR_CLIENT_TIMEOUT=J,t.ERROR_GENERAL_SERVER_FAILURE="Request failed",t.ERROR_NETWORK_ABORT=z,t.ERROR_NETWORK_CONNECTION=H,t.ERROR_RATE_LIMIT="Too many requests, rate limit exceeded",t.ERROR_SERVER_TIMEOUT="Request failed to process",t.ERROR_TOKEN_INVALID="Token not found",t.ERROR_TOKEN_MISSING="Token required",t.load=function({token:t,region:e,endpoint:o,storageKey:r,delayFallback:i}){return n(this,void 0,void 0,(function*(){if(!t||"string"!=typeof t)throw new Error("Token required");const n=yield B({delayFallback:i});return new Pt(n,t,e,o,r)}))},Object.defineProperty(t,"__esModule",{value:!0})}));
{
"name": "@fingerprintjs/fingerprintjs-pro",
"version": "3.0.0-beta.2",
"version": "3.0.0-beta.3",
"main": "dist/fp.cjs.min.js",

@@ -12,12 +12,33 @@ "module": "dist/fp.esm.min.js",

"scripts": {
"build": "rimraf dist && rollup -c"
"build": "rimraf dist && rollup -c",
"playground:start": "cd playground && webpack-dev-server --mode development",
"playground:build": "cd playground && webpack --mode production",
"test:local": "karma start tests/karma.local.config.js --single-run",
"test:browserstack": "karma start tests/karma.browserstack.config.js --single-run",
"open-dev:on": "git submodule update --init && yarn add link:subpackages/fingerprintjs && yarn --cwd subpackages/fingerprintjs install && yarn --cwd subpackages/fingerprintjs build",
"open-dev:off": "yarn add @fingerprintjs/fingerprintjs@beta --exact",
"open-dev:build:watch": "yarn --cwd subpackages/fingerprintjs build:watch"
},
"dependencies": {
"@fingerprintjs/fingerprintjs": "3.0.0-beta.2",
"@fingerprintjs/fingerprintjs": "3.0.0-beta.3",
"tslib": "^2.0.1"
},
"devDependencies": {
"@babel/plugin-transform-modules-commonjs": "^7.10.4",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^9.0.0",
"@rollup/plugin-typescript": "^6.0.0",
"@types/jasmine": "^3.5.14",
"clean-webpack-plugin": "^3.0.0",
"fetch-mock": "^9.10.7",
"html-webpack-plugin": "^4.5.0",
"karma": "^5.2.3",
"karma-browserstack-launcher": "^1.6.0",
"karma-chrome-launcher": "^3.1.0",
"karma-firefox-launcher": "^1.3.0",
"karma-jasmine": "^4.0.1",
"karma-spec-reporter": "^0.0.32",
"karma-summary-reporter": "^1.9.0",
"karma-typescript": "^5.2.0",
"karma-typescript-es6-transform": "^5.2.0",
"rimraf": "^3.0.2",

@@ -28,4 +49,9 @@ "rollup": "^2.28.2",

"rollup-plugin-terser": "^7.0.2",
"typescript": "^4.0.3"
"terser-webpack-plugin": "^4.2.2",
"ts-loader": "^8.0.4",
"typescript": "^4.0.3",
"webpack": "^4.44.2",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0"
}
}

@@ -9,2 +9,21 @@ # FingerprintJS Pro

### In browser
```html
<script>
function onFingerprintJSLoad(fp) {
fp.get().then(({ visitorId }) => console.log(visitorId));
}
</script>
<script
async src="https://cdn.jsdelivr.net/npm/@fingerprintjs/fingerprintjs-pro@3.0.0-beta.2/dist/fp.min.js"
onload="FingerprintJS.load({ token: 'your-pro-key' }).then(onFingerprintJSLoad)"
></script>
```
A simple way to start but not recommended because AdBlock and similar browser extensions often block this URL.
You should at least upload it to your server.
### Webpack/Rollup/Browserify
```bash

@@ -20,3 +39,10 @@ npm i @fingerprintjs/fingerprintjs-pro

const { visitorId } = await fpjs.get();
console.log(visitorId);
})();
```
## Browser support
```bash
npx browserslist "> 1% in us"
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc