Socket
Socket
Sign inDemoInstall

@fingerprintjs/fingerprintjs-pro

Package Overview
Dependencies
2
Maintainers
2
Versions
59
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.0 to 3.0.1

4

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

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

/** N. Virginia, USA */
'us' |
'us'
/** Frankfurt, Germany */
'eu';
| 'eu';
declare type IPResolution =
/** Resolution on a city level */
'city' |
'city'
/**

@@ -23,3 +23,3 @@ * Resolution on a city level + ISP info using a live query to MaxMind service.

*/
'full';
| 'full';
/**

@@ -59,3 +59,2 @@ * Options for FingerprintJS agent loading

* @default 10000
* @see https://docs.fingerprintjs.com/pro/js-agent#client-timeout
*/

@@ -89,3 +88,3 @@ timeout?: number;

* @default 'city'
* @see https://docs.fingerprintjs.com/pro/geolocation
* @see https://dev.fingerprintjs.com/docs/geolocation
*/

@@ -328,6 +327,6 @@ ipResolution?: TIP;

*/
declare type DeriveGetResult<TExtended extends boolean, TIP extends IPResolution> = ((false extends TExtended ? GetResult : never) | (true extends TExtended ? {
declare type DeriveGetResult<TExtended extends boolean, TIP extends IPResolution> = (false extends TExtended ? GetResult : never) | (true extends TExtended ? {
city: ExtendedGetResult;
full: FullIpExtendedGetResult;
}[TIP] : never));
}[TIP] : never);
/**

@@ -346,3 +345,3 @@ * Agent object that can get visitor identifier

*/
declare function load({ token, region, endpoint, storageKey, delayFallback }: Readonly<LoadOptions>): Promise<Agent>;
declare function load({ token, region, endpoint, storageKey, delayFallback, }: Readonly<LoadOptions>): Promise<Agent>;

@@ -361,21 +360,16 @@ declare const ERROR_CLIENT_TIMEOUT = "Client timeout";

declare const _default: {
load: typeof load;
ERROR_CLIENT_TIMEOUT: string;
ERROR_NETWORK_CONNECTION: string;
ERROR_NETWORK_ABORT: string;
ERROR_TOKEN_MISSING: NotAvailableVisitorIdReason;
ERROR_TOKEN_INVALID: NotAvailableVisitorIdReason;
ERROR_TOKEN_EXPIRED: NotAvailableVisitorIdReason;
ERROR_BAD_REQUEST_FORMAT: NotAvailableVisitorIdReason;
ERROR_GENERAL_SERVER_FAILURE: NotAvailableVisitorIdReason;
ERROR_SERVER_TIMEOUT: NotAvailableVisitorIdReason;
ERROR_RATE_LIMIT: NotAvailableVisitorIdReason;
readonly load: typeof load;
readonly ERROR_CLIENT_TIMEOUT: "Client timeout";
readonly ERROR_NETWORK_CONNECTION: "Network connection error";
readonly ERROR_NETWORK_ABORT: "Network request aborted";
readonly ERROR_TOKEN_MISSING: NotAvailableVisitorIdReason.TokenMissing;
readonly ERROR_TOKEN_INVALID: NotAvailableVisitorIdReason.TokenInvalid;
readonly ERROR_TOKEN_EXPIRED: NotAvailableVisitorIdReason.TokenExpired;
readonly ERROR_BAD_REQUEST_FORMAT: NotAvailableVisitorIdReason.BadRequestFormat;
readonly ERROR_GENERAL_SERVER_FAILURE: NotAvailableVisitorIdReason.GeneralServerFailure;
readonly ERROR_SERVER_TIMEOUT: NotAvailableVisitorIdReason.ServerTimeout;
readonly ERROR_RATE_LIMIT: NotAvailableVisitorIdReason.RateLimit;
};
/**
* This is a workaround for a bug of rollup-plugin-dts. Without this export, the NotAvailableVisitorIdReason type
* won't get into the .d.ts file and therefore the file will be incorrect.
*/
declare type __workaround = NotAvailableVisitorIdReason & never;
export default _default;
export { Agent, BotInformation, ERROR_BAD_REQUEST_FORMAT, ERROR_CLIENT_TIMEOUT, ERROR_GENERAL_SERVER_FAILURE, ERROR_NETWORK_ABORT, ERROR_NETWORK_CONNECTION, ERROR_RATE_LIMIT, ERROR_SERVER_TIMEOUT, ERROR_TOKEN_EXPIRED, ERROR_TOKEN_INVALID, ERROR_TOKEN_MISSING, ExtendedGetResult, FullIpExtendedGetResult, FullIpLocation, GetOptions, GetResult, IPResolution, IpLocation, LoadOptions, Region, __workaround, load };
export { Agent, BotInformation, ERROR_BAD_REQUEST_FORMAT, ERROR_CLIENT_TIMEOUT, ERROR_GENERAL_SERVER_FAILURE, ERROR_NETWORK_ABORT, ERROR_NETWORK_CONNECTION, ERROR_RATE_LIMIT, ERROR_SERVER_TIMEOUT, ERROR_TOKEN_EXPIRED, ERROR_TOKEN_INVALID, ERROR_TOKEN_MISSING, ExtendedGetResult, FullIpExtendedGetResult, FullIpLocation, GetOptions, GetResult, IPResolution, IpLocation, LoadOptions, Region, load };
/**
* FingerprintJS Pro v3.0.0 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.1 - 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 r}from"tslib";import{murmurX64Hash128 as o,isGecko as i,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:o}=r,i=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({},i),{signal:null==t?void 0:t.signal})),o,(()=>{throw null==t||t.abort(),new DOMException("The request timed out.","TimeoutError")}))}))}("https://api.sjpf.io",{timeout:n})}catch(i){switch(i.name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}}const o=yield r.text();if(200===r.status)return o;throw new Error(o.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 k(n){var{endpoint:r,extendedResult:o,debug:i}=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:o,extendedResult:i,linkedId:s,tls:u,tlsError:c,requestId:a}){const d=Object.keys(t).reduce(((e,n)=>e+t[n].duration),0),l="full"===o?2:1;return{rid:a,cv:"3.0.0",c:e,url:location.href,d:d,vid:n[0]||n[1]||void 0,ls:n[1]?1:void 0,t:y(r),i:l,cbd:i?1:void 0,lid:s,cr:document.referrer||void 0,j:u,je:null==c?void 0:c.message,k1:R(t.osCpu),k2:R(t.languages),k3:R(t.colorDepth),k4:R(t.deviceMemory),k5:R(t.screenResolution),k6:R(t.availableScreenResolution,void 0,[]),k7:R(t.hardwareConcurrency),k8:R(t.timezoneOffset),k9:R(t.timezone),k10:_(R(t.sessionStorage)),k11:_(R(t.localStorage)),k12:_(R(t.indexedDB)),k13:_(R(t.openDatabase)),k14:R(t.cpuClass),k15:R(t.platform),k16:R(t.plugins,[]),k17:E(t.canvas),k18:0,k19:R(t.touchSupport),k20:R(t.fonts,[]),k21:R(t.audio,-1),k22:_(R(t.pluginsSupport)),k23:R(t.productSub),k24:R(t.emptyEvalLength),k25:_(R(t.errorFF)),k26:_(R(t[0])),k27:R(t.vendor),k28:_(R(t.chrome)),k29:_(R(t[1])),k30:_(R(t[2])),k31:_(R(t[3],!1)),k32:_(R(t.cookiesEnabled,!1)),k33:_(R(t[4]))}}(Object.assign({extendedResult:o,requestId:n},s));return function(n,r,o,i){return t(this,void 0,void 0,(function*(){const t=yield n.text();let s;try{s=JSON.parse(t)}catch(u){}if(i&&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,o=e(n,["botProbability"]),i=Object.assign({},o);r&&(i.bot={probability:r});return i}(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 o=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&&(o.bot.safe=!0);return o}(s.reason,r,o);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(o){throw new Error("AbortError"===o.name?"Network request aborted":"Network connection error")}}))}(r,u,i),n,o,i)}))}function y(t){return t&&"object"==typeof t?t:null!=t?{tag:t}:void 0}function R(t,e,n){var r;return t.error?e:null!==(r=t.value)&&void 0!==r?r:n}function _(t){return!0===t?1:!1===t?0:t}function E({value:t}){if(t)return Object.assign(Object.assign({},t),{data:o(t.data)})}const O=window,I=document;const T=window;const S=navigator,N=window;const x=window,j=navigator;const A=[[function(){return s()},function(){return t(this,void 0,void 0,(function*(){return function(){const t=S.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 S&&"estimate"in S.storage){const{quota:t}=yield S.storage.estimate();return!!t&&t<function(){var t,e,n;const r=(null===(t=S.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=S.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),o=(null===(n=S.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return r||o?3221225472:1073741824}()}return!1}))}():new Promise((t=>{N.webkitRequestFileSystem(0,1,(()=>t(!1)),(()=>t(!0)))}))}))}],[function(){return/Apple/.test(j.vendor)&&/Safari/.test(j.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,o]=e.map((t=>isNaN(parseInt(t))?0:parseInt(t)));return{major:n,minor:r,patch:o}}().major<13?function(){try{x.openDatabase(null,null,null,null)}catch(t){return!0}try{return x.localStorage.setItem("test","1"),x.localStorage.removeItem("test"),!1}catch(t){return!0}}():function(){return t(this,void 0,void 0,(function*(){return u()?function(){try{x.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 i()},function(){return t(this,void 0,void 0,(function*(){return new Promise((t=>{try{const e=T.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 C(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 o=0;o<e.length;o++){if(t[n+o]!==e[o]){r=0;break}r++}if(r==e.length)return n}return-1}const q=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}=I;return"webdriver"in O||"_Selenium_IDE_Recorder"in O||"callSelenium"in O||"_selenium"in O||"__webdriver_script_fn"in I||"__driver_evaluate"in I||"__webdriver_evaluate"in I||"__selenium_evaluate"in I||"__fxdriver_evaluate"in I||"__driver_unwrapped"in I||"__webdriver_unwrapped"in I||"__selenium_unwrapped"in I||"__fxdriver_unwrapped"in I||"__webdriver_script_func"in I||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 A)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 q)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,o=new Uint8Array(r);for(let c=0;c<r;c++)o[c]=n.charCodeAt(c);const i=C(o,[73,68,65,84,24]);if(-1===i)return!1;const s=C(o,[73,69,78,68]);if(-1===i)return!1;const u=o.slice(i+5,s);return 1321!==u.reduce(((t,e)=>t+e),0)}catch(t){return!1}}};const P=document,W=location;function U(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 L(t,e,n,r){const o=`${t}=${e}`,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),s=r?"domain="+r:"";P.cookie=[o,"path=/",i,s].join("; ")}function V(t,e,n){const r=W.hostname;F(r,(e=>{!function(t,e){L(t,"",-1,e)}(t,e)}));F(r,(r=>(L(t,e,n,r),U(t)!==e)))&&L(t,e,n)}function F(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:$}=window;function K(t="_vid"){return[U(t),B(t)]}function J(t,e="_vid"){V(e,t,365),function(t,e){if(null==$?void 0:$.setItem)try{$.setItem(t,e)}catch(n){}}(e,t)}function B(t){var e;if(null==$?void 0:$.getItem)try{return null!==(e=$.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var G,z,Q,X,H,Y,Z,tt;class et{constructor(e,o,i,s,u){G.set(this,void 0),z.set(this,void 0),Q.set(this,void 0),X.set(this,void 0),H.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,z),region:n(this,Q),endpoint:n(this,X),storageKey:n(this,H)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,G,e),r(this,z,o),r(this,Q,i),r(this,X,s),r(this,H,u)}get(e={}){const{timeout:r=1e4,tag:o,linkedId:i,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 k(Object.assign(Object.assign({token:n(this,z),endpoint:b(n(this,Q),n(this,X))},t),{components:e,tag:o,visitorId:K(n(this,H)),linkedId:i,extendedResult:u,ipResolution:c,debug:a}));return J(d.visitorId,n(this,H)),d}))),r,(()=>{throw new Error(d)}));var d}}function nt({token:e,region:n,endpoint:r,storageKey:o,delayFallback:i}){return t(this,void 0,void 0,(function*(){if(!e||"string"!=typeof e)throw new Error("Token required");const t=yield d({delayFallback:i});return new et(t,e,n,r,o)}))}G=new WeakMap,z=new WeakMap,Q=new WeakMap,X=new WeakMap,H=new WeakMap,Y=new WeakMap,Z=new WeakMap,tt=new WeakMap;const rt="Token required",ot="Token not found",it="Token expired",st="Request cannot be parsed",ut="Request failed",ct="Request failed to process",at="Too many requests, rate limit exceeded";var dt={load:nt,ERROR_CLIENT_TIMEOUT:"Client timeout",ERROR_NETWORK_CONNECTION:"Network connection error",ERROR_NETWORK_ABORT:"Network request aborted",ERROR_TOKEN_MISSING:"Token required",ERROR_TOKEN_INVALID:"Token not found",ERROR_TOKEN_EXPIRED:"Token expired",ERROR_BAD_REQUEST_FORMAT:"Request cannot be parsed",ERROR_GENERAL_SERVER_FAILURE:"Request failed",ERROR_SERVER_TIMEOUT:"Request failed to process",ERROR_RATE_LIMIT:"Too many requests, rate limit exceeded"};export default dt;export{st as ERROR_BAD_REQUEST_FORMAT,g as ERROR_CLIENT_TIMEOUT,ut as ERROR_GENERAL_SERVER_FAILURE,w as ERROR_NETWORK_ABORT,m as ERROR_NETWORK_CONNECTION,at as ERROR_RATE_LIMIT,ct as ERROR_SERVER_TIMEOUT,it as ERROR_TOKEN_EXPIRED,ot as ERROR_TOKEN_INVALID,rt as ERROR_TOKEN_MISSING,nt as load};
import{__awaiter as t,__generator as e,__rest as n,__assign as r}from"tslib";import{murmurX64Hash128 as o,isGecko as i,isChromium as u,isWebKit as a,isDesktopSafari as s,isTrident as c,isEdgeHTML as d,getComponents as l,load as f}from"@fingerprintjs/fingerprintjs";function v(t,e){return new Promise((function(n){return setTimeout((function(){return n(e)}),t)}))}function h(n,r,o){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,Promise.race([v(r,[!0]),("function"==typeof n?n():n).then((function(t){return[!1,t]}))])];case 1:return(t=e.sent())[0]?[2,null==o?void 0:o()]:[2,t[1]]}}))}))}function p(t){var e=t.url,n=t.method,r=void 0===n?"get":n,o=t.body,i=t.headers,u=t.withCredentials,a=void 0!==u&&u,s=t.timeout;return new Promise((function(t,n){var u=new XMLHttpRequest;for(var c in u.open(r,e,!0),u.withCredentials=a,u.timeout=void 0===s?0:Math.max(s,1),i)u.setRequestHeader(c,i[c]);u.onload=function(){return t(function(t){return{text:t.responseText,status:t.status,statusText:t.statusText}}(u))},u.ontimeout=function(){return n(m("TimeoutError","The request timed out"))},u.onabort=function(){return n(m("AbortError","The request is aborted"))},u.onerror=function(){return n(m("TypeError","Connection error"))},u.send(o)}))}function m(t,e){var n=new Error(e);return n.name=t,n}function w(n){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,p({url:"https://api.sjpf.io",timeout:n})];case 1:return t=e.sent(),[3,3];case 2:switch(e.sent().name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}case 3:if(200===t.status)return[2,t.text];throw new Error(t.text.slice(0,255))}}))}))}var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",b=g.length;var k="Client timeout",R="Network connection error",E="Network request aborted";function _(t,e){if(void 0===t&&(t="us"),e)return/^(https?:)?\/\//i.test(e)?e:"https://"+e;var n="api.fpjs.io";return"us"!==t&&(n=t+"."+n),"https://"+n}function y(i){var u=i.endpoint,a=i.extendedResult,s=i.debug,c=n(i,["endpoint","extendedResult","debug"]);return t(this,void 0,void 0,(function(){var t,n;return e(this,(function(e){switch(e.label){case 0:return t=function(t){for(var e="",n=0;n<t;n++)e+=g.charAt(Math.random()*b);return e}(20),n=function(t){var e,n=t.components,i=t.token,u=t.visitorId,a=t.tag,s=t.ipResolution,c=t.extendedResult,d=t.linkedId,l=t.tls,f=t.tlsError,v=t.requestId,h=Object.keys(n).reduce((function(t,e){return t+n[e].duration}),0),p="full"===s?2:1;return(e={}).rid=v,e.cv="3.0.1",e.c=i,e.url=location.href,e.d=h,e.vid=u[0]||u[1]||void 0,e.ls=u[1]?1:void 0,e.t=function(t){if(t&&"object"==typeof t)return t;if(null==t)return;return{tag:t}}(a),e.i=p,e.cbd=c?1:void 0,e.lid=d,e.cr=document.referrer||void 0,e.j=l,e.je=null==f?void 0:f.message,e.k1=x(n.osCpu),e.k2=x(n.languages),e.k3=x(n.colorDepth),e.k4=x(n.deviceMemory),e.k5=x(n.screenResolution),e.k6=x(n.availableScreenResolution,void 0,[]),e.k7=x(n.hardwareConcurrency),e.k8=x(n.timezoneOffset),e.k9=x(n.timezone),e.k10=T(x(n.sessionStorage)),e.k11=T(x(n.localStorage)),e.k12=T(x(n.indexedDB)),e.k13=T(x(n.openDatabase)),e.k14=x(n.cpuClass),e.k15=x(n.platform),e.k16=x(n.plugins,[]),e.k17=function(t){var e=t.value;if(!e)return;return r(r({},e),{data:o(e.data)})}(n.canvas),e.k18=0,e.k19=x(n.touchSupport),e.k20=x(n.fonts,[]),e.k21=x(n.audio,-1),e.k22=T(x(n.pluginsSupport)),e.k23=x(n.productSub),e.k24=x(n.emptyEvalLength),e.k25=T(x(n.errorFF)),e.k26=T(x(n[0])),e.k27=x(n.vendor),e.k28=T(x(n.chrome)),e.k29=T(x(n[1])),e.k30=T(x(n[2])),e.k31=T(x(n[3],!1)),e.k32=T(x(n.cookiesEnabled,!1)),e.k33=T(x(n[4])),e}(r({extendedResult:a,requestId:t},c)),[4,O(u,n,s)];case 1:return[2,S(e.sent(),t,a,s)]}}))}))}function O(n,r,o){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:o&&console.log("Visitor request:\n```json\n"+JSON.stringify(r,void 0,2)+"\n```"),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,p({url:n,method:"post",body:JSON.stringify(r),headers:{"Content-Type":"text/plain"},withCredentials:!0})];case 2:return[2,e.sent()];case 3:throw t=e.sent(),new Error("AbortError"===t.name?"Network request aborted":"Network connection error");case 4:return[2]}}))}))}function S(n,r,o,i){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){try{t=JSON.parse(n.text)}catch(u){}if(i&&console.log("Visitor response status: "+n.status+"\nVisitor response body:\n```json\n"+(void 0===t?n.text:JSON.stringify(t,void 0,2))+"\n```"),404===n.status||n.status>=500)throw new Error(n.statusText);if(void 0===t)throw new Error(n.text);if(function(t){return t&&"object"==typeof t&&"string"==typeof t.visitorId&&"n/a"!==t.visitorId}(t))return[2,I(t)];if(function(t){return t&&"object"==typeof t&&"n/a"===t.visitorId}(t)){if("Not available for crawl bots"===t.reason||"Not available when User-Agent is unspecified"===t.reason)return[2,N(t.reason,r,o)];throw new Error(t.reason)}throw new Error(n.text)}))}))}function x(t,e,n){return t.error?e:void 0===t.value?n:t.value}function T(t){return!0===t?1:!1===t?0:t}function I(t){var e=t,o=e.botProbability,i=n(e,["botProbability"]),u=r({},i);return o&&(u.bot={probability:o}),u}function N(t,e,n){var o={requestId:e,visitorFound:!1,visitorId:""};if(!n)return o;var i=r(r({},o),{bot:{probability:1},incognito:!1,browserName:"n/a",browserVersion:"n/a",device:"n/a",ip:"n/a",ipLocation:{},os:"n/a",osVersion:"n/a"});return"Not available for crawl bots"===t&&(i.bot.safe=!0),i}var q=window,C=document;var A=window;var j=navigator,D=window;function P(){var t,e,n,r=(null===(t=j.userAgent)||void 0===t?void 0:t.indexOf("Mac OS"))>0&&-1===(null===(e=j.userAgent)||void 0===e?void 0:e.indexOf("iPhone")),o=(null===(n=j.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return r||o?3221225472:1073741824}function U(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return"storage"in j&&"estimate"in j.storage?[4,j.storage.estimate()]:[3,2];case 1:return[2,!!(t=e.sent().quota)&&t<P()];case 2:return[2,!1]}}))}))}var L=window;function M(){return t(this,void 0,void 0,(function(){return e(this,(function(t){return s()?[2,V()]:[2,F()]}))}))}function V(){try{L.safari.pushNotification.requestPermission("https://example.com","private",{},(function(){}))}catch(e){return t=e,!new RegExp([103,101,115,116,117,114,101].map((function(t){return String.fromCharCode(t)})).join("")).test(t)}var t;throw new Error("Unexpected lack of error")}function F(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){(t=document.createElement("iframe")).style.display="none";try{return document.body.appendChild(t),[2,h(new Promise((function(e){t.contentWindow?t.contentWindow.applicationCache.addEventListener("error",(function(){return e(!0)})):e(!1)})),20,(function(){return!1}))]}finally{t.remove()}return[2]}))}))}function J(){try{L.openDatabase(null,null,null,null)}catch(t){return!0}try{return L.localStorage.setItem("test","1"),L.localStorage.removeItem("test"),!1}catch(t){return!0}}var K=[[function(){return u()},function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){return function(){var t=j.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!t)throw"UserAgent is not Google Chrome";return parseInt(t[2],10)}()>=76?[2,U()]:[2,new Promise((function(t){D.webkitRequestFileSystem(0,1,(function(){return t(!1)}),(function(){return t(!0)}))}))]}))}))}],[function(){return a()},function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){return function(){var t=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!t)throw new Error("UserAgent is not Safari");var e=t[1].split(".").map((function(t){return isNaN(parseInt(t))?0:parseInt(t)})),n=e[0],r=e[1],o=e[2];return{major:n,minor:r,patch:o}}().major<13?[2,J()]:[2,M()]}))}))}],[function(){return i()},function(){return new Promise((function(t){try{var e=A.indexedDB.open("test");e.onerror=function(){return t(!0)},e.onsuccess=function(){return t(!1)}}catch(n){return t(!0)}}))}],[function(){return c()||d()},function(){try{if(!window.indexedDB)return!0}catch(t){return!0}return!1}]];function B(){return t(this,void 0,void 0,(function(){var t,n,r,o,i;return e(this,(function(e){switch(e.label){case 0:t=0,n=K,e.label=1;case 1:return t<n.length?(r=n[t],o=r[0],i=r[1],o()?[4,i()]:[3,3]):[3,4];case 2:return[2,e.sent()];case 3:return t++,[3,1];case 4:return[2,!1]}}))}))}function G(t,e){if(0==e.length||e.length>t.length)return-1;for(var n=0;n<t.length;n++){for(var r=0,o=0;o<e.length;o++){if(t[n+o]!==e[o]){r=0;break}r++}if(r==e.length)return n}return-1}var W,z=window,H=document;var X=((W={})[0]=function(){return void 0!==navigator.webdriver},W[1]=function(){return t(this,void 0,void 0,(function(){var t,n;return e(this,(function(e){switch(e.label){case 0:return(t=navigator.permissions)?[4,t.query({name:"notifications"})]:[2,void 0];case 1:return n=e.sent(),"undefined"==typeof Notification?[2,void 0]:[2,"denied"===Notification.permission&&"prompt"===n.state]}}))}))},W[2]=function(){var t=C.documentElement;return"webdriver"in q||"_Selenium_IDE_Recorder"in q||"callSelenium"in q||"_selenium"in q||"__webdriver_script_fn"in C||"__driver_evaluate"in C||"__webdriver_evaluate"in C||"__selenium_evaluate"in C||"__fxdriver_evaluate"in C||"__driver_unwrapped"in C||"__webdriver_unwrapped"in C||"__selenium_unwrapped"in C||"__fxdriver_unwrapped"in C||"__webdriver_script_func"in C||null!==t.getAttribute("selenium")||null!==t.getAttribute("webdriver")||null!==t.getAttribute("driver")},W[3]=function(){return t(this,void 0,void 0,(function(){var t,n;return e(this,(function(e){switch(e.label){case 0:if(void 0!==(t=function(){try{var t=localStorage.getItem("_inc");if(!t)return;return"1"===t}catch(e){return}}()))return[2,t];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,B()];case 2:return function(t){try{localStorage.setItem("_inc",t?"1":"0")}catch(e){}}(n=e.sent()),[2,n];case 3:return e.sent(),[2,!1];case 4:return[2]}}))}))},W[4]=function(){if(!u())return!1;try{if([66,114,97,118,101].map((function(t){return String.fromCharCode(t)})).join("")in z)return!0;var t=H.createElement("canvas");t.width=4,t.height=4,t.style.display="inline";var e=t.toDataURL();if(""===e)return!0;for(var n=window.atob(e.split(",")[1]),r=n.length,o=new Uint8Array(r),i=0;i<r;i++)o[i]=n.charCodeAt(i);var a=G(o,[73,68,65,84,24]);if(-1===a)return!1;var s=G(o,[73,69,78,68]);return-1!==a&&1321!==o.slice(a+5,s).reduce((function(t,e){return t+e}),0)}catch(c){return!1}},W);function Q(){return l(X,void 0,[])}var Y=document,Z=location;function $(t){for(var e=t+"=",n=0,r=Y.cookie.split(";");n<r.length;n++){for(var o=r[n],i=0;" "===o[i]&&i<o.length;)++i;if(o.indexOf(e)===i)return o.slice(i+e.length)}}function tt(t,e,n,r){var o=t+"="+e,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),u=r?"domain="+r:"";Y.cookie=[o,"path=/",i,u].join("; ")}function et(t,e,n){var r=Z.hostname;nt(r,(function(e){!function(t,e){tt(t,"",-1,e)}(t,e)})),nt(r,(function(r){return tt(t,e,n,r),$(t)!==e}))&&tt(t,e,n)}function nt(t,e){var 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}function rt(t){return void 0===t&&(t="_vid"),[$(t),it(t)]}function ot(t,e){void 0===e&&(e="_vid"),et(e,t,365),function(t,e){var n;try{null===(n=null===localStorage||void 0===localStorage?void 0:localStorage.setItem)||void 0===n||n.call(localStorage,t,e)}catch(r){}}(e,t)}function it(t){var e,n;try{return null!==(n=null===(e=null===localStorage||void 0===localStorage?void 0:localStorage.getItem)||void 0===e?void 0:e.call(localStorage,t))&&void 0!==n?n:void 0}catch(r){}}function ut(n,o,i,u,a){var s=this;var c=function(n,r){return t(s,void 0,void 0,(function(){return e(this,(function(t){return r?[2,void 0]:[2,w(n).then((function(t){return{tls:t}}),(function(t){return{tlsError:t}}))]}))}))},d=function(){return t(s,void 0,void 0,(function(){var t,o;return e(this,(function(e){switch(e.label){case 0:return[4,n.get()];case 1:return t=e.sent(),[4,Q()];case 2:return o=e.sent(),[2,r(r({},t.components),o)]}}))}))},l=function(t){var e={token:o,region:i,endpoint:u,storageKey:a};console.log("Getting the visitor identifier:\n```\nversion: 3.0.1\ninitOptions: "+JSON.stringify(e,void 0,2)+"\ngetOptions: "+JSON.stringify(t,void 0,2)+"\n```")},f=function(t){for(var e={},n=0,o=Object.keys(t);n<o.length;n++){var i=o[n];t[i].error&&(e[i]=t[i].error)}Object.keys(e).length&&console.warn("Visitor data source errors:\n```\n"+JSON.stringify(e,(function(t,e){var n;return e instanceof Error?r(r({},e),{message:e.message,stack:null===(n=e.stack)||void 0===n?void 0:n.split("\n")}):e}),2)+"\n```")};return{get:function(n){var s=this;void 0===n&&(n={});var v,p=n.timeout,m=void 0===p?1e4:p,w=n.tag,g=n.linkedId,b=n.disableTls,k=n.extendedResult,R=n.ipResolution,E=n.debug;return E&&l(n),v="Client timeout",h((function(){return t(s,void 0,void 0,(function(){var t,n,s,l;return e(this,(function(e){switch(e.label){case 0:return[4,Promise.all([c(m/2,b),d()])];case 1:return t=e.sent(),n=t[0],s=t[1],E&&f(s),[4,y(r(r({token:o,endpoint:_(i,u)},n),{components:s,tag:w,visitorId:rt(a),linkedId:g,extendedResult:k,ipResolution:R,debug:E}))];case 2:return ot((l=e.sent()).visitorId,a),[2,l]}}))}))}),m,(function(){throw new Error(v)}))}}}function at(n){var r=n.token,o=n.region,i=n.endpoint,u=n.storageKey,a=n.delayFallback;return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:if(!r||"string"!=typeof r)throw new Error("Token required");return[4,f({delayFallback:a})];case 1:return[2,ut(t.sent(),r,o,i,u)]}}))}))}var st="Token required",ct="Token not found",dt="Token expired",lt="Request cannot be parsed",ft="Request failed",vt="Request failed to process",ht="Too many requests, rate limit exceeded",pt={load:at,ERROR_CLIENT_TIMEOUT:"Client timeout",ERROR_NETWORK_CONNECTION:"Network connection error",ERROR_NETWORK_ABORT:"Network request aborted",ERROR_TOKEN_MISSING:"Token required",ERROR_TOKEN_INVALID:"Token not found",ERROR_TOKEN_EXPIRED:"Token expired",ERROR_BAD_REQUEST_FORMAT:"Request cannot be parsed",ERROR_GENERAL_SERVER_FAILURE:"Request failed",ERROR_SERVER_TIMEOUT:"Request failed to process",ERROR_RATE_LIMIT:"Too many requests, rate limit exceeded"};export default pt;export{lt as ERROR_BAD_REQUEST_FORMAT,k as ERROR_CLIENT_TIMEOUT,ft as ERROR_GENERAL_SERVER_FAILURE,E as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,ht as ERROR_RATE_LIMIT,vt as ERROR_SERVER_TIMEOUT,dt as ERROR_TOKEN_EXPIRED,ct as ERROR_TOKEN_INVALID,st as ERROR_TOKEN_MISSING,at as load};
/**
* FingerprintJS Pro v3.0.0 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.1 - 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 R=navigator,E=window;const O=window,S=navigator,k=document;function A(){return h(["msWriteProfilerMark"in O,"msLaunchUri"in S,"msSaveBlob"in S])>=2}function C(){return h(["userActivation"in S,"mediaSession"in S,0===S.vendor.indexOf("Google"),"BackgroundFetchManager"in O,"BatteryManager"in O,"webkitMediaStream"in O,"webkitSpeechGrammar"in O])>=5}const T=navigator;const _=window;const I=window;const M=window;const x=document;const N={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))C()&&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(_.screen.width),f(_.screen.height)];return t.sort().reverse(),t},availableScreenResolution:function(){if(I.screen.availWidth&&I.screen.availHeight){const t=[f(I.screen.availWidth),f(I.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=M.Intl)||void 0===t?void 0:t.DateTimeFormat)return(new M.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(!A())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!==R.maxTouchPoints?e=f(R.maxTouchPoints):void 0!==R.msMaxTouchPoints&&(e=R.msMaxTouchPoints);try{document.createEvent("TouchEvent"),t=!0}catch(n){t=!1}return{maxTouchPoints:e,touchEvent:t,touchStart:"ontouchstart"in E}},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 P(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 j(t){return 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}(t))}class D{get(t={}){return n(this,void 0,void 0,(function*(){const e=yield P(N,void 0,[]),n=function(t){let e;return{components:t,get visitorId(){return void 0===e&&(e=j(this.components)),e},set visitorId(t){e=t}}}(e);return t.debug&&console.log(`Copy the text below to get the debug data:\n\n\`\`\`\nversion: 3.0.0\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 L({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 B=d;var F="3.0.0";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 V(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 G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",$=G.length;const J="Client timeout",K="Network connection error",H="Network request aborted",z="n/a";function X(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+=G.charAt(Math.random()*$);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:Z(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!==z}(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===z}(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:z,browserVersion:z,device:z,ip:z,ipLocation:{},os:z,osVersion:z});"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?H:K)}}))}(o,s,i),t,r,i)}))}function Z(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:B(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 C()},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 S,(null===(t=k.documentElement)||void 0===t?void 0:t.style)&&"MozAppearance"in k.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 A()},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(!C())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:Rt}=window;function Et(t="_vid"){return[mt(t),St(t)]}function Ot(t,e="_vid"){yt(e,t,365),function(t,e){if(null==Rt?void 0:Rt.setItem)try{Rt.setItem(t,e)}catch(n){}}(e,t)}function St(t){var e;if(null==Rt?void 0:Rt.getItem)try{return null!==(e=Rt.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var kt,At,Ct,Tt,_t,It,Mt,xt;class Nt{constructor(t,e,i,a,s){kt.set(this,void 0),At.set(this,void 0),Ct.set(this,void 0),Tt.set(this,void 0),_t.set(this,void 0),It.set(this,((t,e)=>n(this,void 0,void 0,(function*(){if(!e)return V(t).then((t=>({tls:t})),(t=>({tlsError:t})))})))),Mt.set(this,(()=>n(this,void 0,void 0,(function*(){const t=yield o(this,kt).get(),e=yield P(vt,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),xt.set(this,(t=>{const e={token:o(this,At),region:o(this,Ct),endpoint:o(this,Tt),storageKey:o(this,_t)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,kt,t),r(this,At,e),r(this,Ct,i),r(this,Tt,a),r(this,_t,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,It).call(this,e/2,a),o(this,Mt).call(this)]),l=yield Q(Object.assign(Object.assign({token:o(this,At),endpoint:X(o(this,Ct),o(this,Tt))},t),{components:n,tag:r,visitorId:Et(o(this,_t)),linkedId:i,extendedResult:s,ipResolution:c,debug:u}));return Ot(l.visitorId,o(this,_t)),l}))),e,(()=>{throw new Error(l)}));var l}}function Pt({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 L({delayFallback:i});return new Nt(n,t,e,o,r)}))}kt=new WeakMap,At=new WeakMap,Ct=new WeakMap,Tt=new WeakMap,_t=new WeakMap,It=new WeakMap,Mt=new WeakMap,xt=new WeakMap;const jt="Token required",Dt="Token not found",Lt="Token expired",Bt="Request cannot be parsed",Ft="Request failed",Ut="Request failed to process",Wt="Too many requests, rate limit exceeded";var qt={load:Pt,ERROR_CLIENT_TIMEOUT:J,ERROR_NETWORK_CONNECTION:K,ERROR_NETWORK_ABORT:H,ERROR_TOKEN_MISSING:jt,ERROR_TOKEN_INVALID:Dt,ERROR_TOKEN_EXPIRED:Lt,ERROR_BAD_REQUEST_FORMAT:Bt,ERROR_GENERAL_SERVER_FAILURE:Ft,ERROR_SERVER_TIMEOUT:Ut,ERROR_RATE_LIMIT:Wt};return t.ERROR_BAD_REQUEST_FORMAT=Bt,t.ERROR_CLIENT_TIMEOUT=J,t.ERROR_GENERAL_SERVER_FAILURE=Ft,t.ERROR_NETWORK_ABORT=H,t.ERROR_NETWORK_CONNECTION=K,t.ERROR_RATE_LIMIT=Wt,t.ERROR_SERVER_TIMEOUT=Ut,t.ERROR_TOKEN_EXPIRED=Lt,t.ERROR_TOKEN_INVALID=Dt,t.ERROR_TOKEN_MISSING=jt,t.default=qt,t.load=Pt,t}({});
var FingerprintJS=function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function n(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function r(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{c(r.next(e))}catch(t){i(t)}}function u(e){try{c(r.throw(e))}catch(t){i(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,u)}c((r=r.apply(e,t||[])).next())}))}function o(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(u){i=[6,u],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function i(e,t){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]];var n=[0,0,0,0];return n[3]+=e[3]+t[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=e[2]+t[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=e[1]+t[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=e[0]+t[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function a(e,t){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]];var n=[0,0,0,0];return n[3]+=e[3]*t[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=e[2]*t[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=e[3]*t[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=e[1]*t[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=e[2]*t[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=e[3]*t[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=e[0]*t[3]+e[1]*t[2]+e[2]*t[1]+e[3]*t[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function u(e,t){return 32===(t%=64)?[e[1],e[0]]:t<32?[e[0]<<t|e[1]>>>32-t,e[1]<<t|e[0]>>>32-t]:(t-=32,[e[1]<<t|e[0]>>>32-t,e[0]<<t|e[1]>>>32-t])}function c(e,t){return 0===(t%=64)?e:t<32?[e[0]<<t|e[1]>>>32-t,e[1]<<t]:[e[1]<<t-32,0]}function s(e,t){return[e[0]^t[0],e[1]^t[1]]}function l(e){return e=s(e,[0,e[0]>>>1]),e=s(e=a(e,[4283543511,3981806797]),[0,e[0]>>>1]),e=s(e=a(e,[3301882366,444984403]),[0,e[0]>>>1])}function f(e,t){t=t||0;var n,r=(e=e||"").length%16,o=e.length-r,f=[0,t],d=[0,t],v=[0,0],h=[0,0],p=[2277735313,289559509],g=[1291169091,658871167];for(n=0;n<o;n+=16)v=[255&e.charCodeAt(n+4)|(255&e.charCodeAt(n+5))<<8|(255&e.charCodeAt(n+6))<<16|(255&e.charCodeAt(n+7))<<24,255&e.charCodeAt(n)|(255&e.charCodeAt(n+1))<<8|(255&e.charCodeAt(n+2))<<16|(255&e.charCodeAt(n+3))<<24],h=[255&e.charCodeAt(n+12)|(255&e.charCodeAt(n+13))<<8|(255&e.charCodeAt(n+14))<<16|(255&e.charCodeAt(n+15))<<24,255&e.charCodeAt(n+8)|(255&e.charCodeAt(n+9))<<8|(255&e.charCodeAt(n+10))<<16|(255&e.charCodeAt(n+11))<<24],v=u(v=a(v,p),31),f=i(f=u(f=s(f,v=a(v,g)),27),d),f=i(a(f,[0,5]),[0,1390208809]),h=u(h=a(h,g),33),d=i(d=u(d=s(d,h=a(h,p)),31),f),d=i(a(d,[0,5]),[0,944331445]);switch(v=[0,0],h=[0,0],r){case 15:h=s(h,c([0,e.charCodeAt(n+14)],48));case 14:h=s(h,c([0,e.charCodeAt(n+13)],40));case 13:h=s(h,c([0,e.charCodeAt(n+12)],32));case 12:h=s(h,c([0,e.charCodeAt(n+11)],24));case 11:h=s(h,c([0,e.charCodeAt(n+10)],16));case 10:h=s(h,c([0,e.charCodeAt(n+9)],8));case 9:h=a(h=s(h,[0,e.charCodeAt(n+8)]),g),d=s(d,h=a(h=u(h,33),p));case 8:v=s(v,c([0,e.charCodeAt(n+7)],56));case 7:v=s(v,c([0,e.charCodeAt(n+6)],48));case 6:v=s(v,c([0,e.charCodeAt(n+5)],40));case 5:v=s(v,c([0,e.charCodeAt(n+4)],32));case 4:v=s(v,c([0,e.charCodeAt(n+3)],24));case 3:v=s(v,c([0,e.charCodeAt(n+2)],16));case 2:v=s(v,c([0,e.charCodeAt(n+1)],8));case 1:v=a(v=s(v,[0,e.charCodeAt(n)]),p),f=s(f,v=a(v=u(v,31),g))}return f=i(f=s(f,[0,e.length]),d=s(d,[0,e.length])),d=i(d,f),f=i(f=l(f),d=l(d)),d=i(d,f),("00000000"+(f[0]>>>0).toString(16)).slice(-8)+("00000000"+(f[1]>>>0).toString(16)).slice(-8)+("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)}function d(e){return"number"==typeof e?0|e:parseInt(e)}function v(e){return"number"==typeof e?e:parseFloat(e)}function h(e){return e.reduce((function(e,t){return e+(t?1:0)}),0)}var p=navigator,g=window;function m(e){return e&&"function"==typeof e.setValueAtTime}var w=document,b=["monospace","sans-serif","serif"],y=["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"],R={fontStyle:"normal",fontWeight:"normal",letterSpacing:"normal",lineBreak:"auto",lineHeight:"normal",textTransform:"none",textAlign:"left",textDecoration:"none",textShadow:"none",whiteSpace:"normal",wordBreak:"normal",wordSpacing:"normal",position:"absolute",left:"-9999px",fontSize:"48px"};var S=window,E=navigator,O=document;function k(){return h(["MSCSSMatrix"in S,"msSetImmediate"in S,"msIndexedDB"in S,"msMaxTouchPoints"in E,"msPointerEnabled"in E])>=4}function C(){return h(["msWriteProfilerMark"in S,"MSStream"in S,"msLaunchUri"in E,"msSaveBlob"in E])>=3&&!k()}function T(){return h(["webkitPersistentStorage"in E,"webkitTemporaryStorage"in E,0===E.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in S,"BatteryManager"in S,"webkitMediaStream"in S,"webkitSpeechGrammar"in S])>=5}function A(e){return e.toDataURL()}var _=navigator,I=window;var x=navigator;var M=window;var N=window;var P=window;var D=document;var L={osCpu:function(){return navigator.oscpu},languages:function(){var e=[],t=x.language||x.userLanguage||x.browserLanguage||x.systemLanguage;if(void 0!==t&&e.push([t]),Array.isArray(x.languages))T()&&h([!("MediaSettingsRange"in S),"RTCEncodedAudioFrame"in S,""+S.Intl=="[object Intl]",""+S.Reflect=="[object Reflect]"])>=3||e.push(x.languages);else if("string"==typeof x.languages){var n=x.languages;n&&e.push(n.split(","))}return e},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return navigator.deviceMemory},screenResolution:function(){var e=[d(M.screen.width),d(M.screen.height)];return e.sort().reverse(),e},availableScreenResolution:function(){if(N.screen.availWidth&&N.screen.availHeight){var e=[d(N.screen.availWidth),d(N.screen.availHeight)];return e.sort().reverse(),e}},hardwareConcurrency:function(){try{var e=d(navigator.hardwareConcurrency);return isNaN(e)?1:e}catch(t){return 1}},timezoneOffset:function(){var e=(new Date).getFullYear();return Math.max(v(new Date(e,0,1).getTimezoneOffset()),v(new Date(e,6,1).getTimezoneOffset()))},timezone:function(){var e;if(null===(e=P.Intl)||void 0===e?void 0:e.DateTimeFormat)return(new P.Intl.DateTimeFormat).resolvedOptions().timeZone},sessionStorage:function(){try{return!!window.sessionStorage}catch(e){return!0}},localStorage:function(){try{return!!window.localStorage}catch(e){return!0}},indexedDB:function(){if(!k()&&!C())try{return!!window.indexedDB}catch(e){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){return navigator.platform},plugins:function(){if(k())return[];if(navigator.plugins){for(var e=[],t=0;t<navigator.plugins.length;++t){var n=navigator.plugins[t];if(n){for(var r=[],o=0;o<n.length;++o){var i=n[o];r.push({type:i.type,suffixes:i.suffixes})}e.push({name:n.name,description:n.description,mimeTypes:r})}}return e}},canvas:function(){var e=function(){var e=document.createElement("canvas");return e.width=240,e.height=140,e.style.display="inline",[e,e.getContext("2d")]}(),t=e[0],n=e[1];if(!function(e,t){return!(!t||!e.toDataURL)}(t,n))return{winding:!1,data:""};n.rect(0,0,10,10),n.rect(2,2,6,6);var r=!n.isPointInPath(5,5,"evenodd");n.textBaseline="alphabetic",n.fillStyle="#f60",n.fillRect(125,1,62,20),n.fillStyle="#069",n.font="11pt no-real-font-123";var o="Cwm fjordbank 😃 gly";return n.fillText(o,2,15),n.fillStyle="rgba(102, 204, 0, 0.2)",n.font="18pt Arial",n.fillText(o,4,45),n.globalCompositeOperation="multiply",n.fillStyle="rgb(255,0,255)",n.beginPath(),n.arc(50,50,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(0,255,255)",n.beginPath(),n.arc(100,50,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(255,255,0)",n.beginPath(),n.arc(75,100,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(255,0,255)",n.arc(75,75,75,0,2*Math.PI,!0),n.arc(75,75,25,0,2*Math.PI,!0),n.fill("evenodd"),{winding:r,data:A(t)}},touchSupport:function(){var e,t=0;void 0!==_.maxTouchPoints?t=d(_.maxTouchPoints):void 0!==_.msMaxTouchPoints&&(t=_.msMaxTouchPoints);try{document.createEvent("TouchEvent"),e=!0}catch(n){e=!1}return{maxTouchPoints:t,touchEvent:e,touchStart:"ontouchstart"in I}},fonts:function(){var e=w.body,t=w.createElement("div"),n=w.createElement("div"),r={},o={},i=function(){var e=w.createElement("span");e.textContent="mmMwWLliI0O&1";for(var t=0,n=Object.keys(R);t<n.length;t++){var r=n[t];e.style[r]=R[r]}return e},a=function(e){return b.some((function(t,n){return e[n].offsetWidth!==r[t]||e[n].offsetHeight!==o[t]}))},u=b.map((function(e){var n=i();return n.style.fontFamily=e,t.appendChild(n),n}));e.appendChild(t);for(var c=0,s=b.length;c<s;c++)r[b[c]]=u[c].offsetWidth,o[b[c]]=u[c].offsetHeight;var l=function(){for(var e={},t=function(t){e[t]=b.map((function(e){var r=function(e,t){var n=i();return n.style.fontFamily="'"+e+"',"+t,n}(t,e);return n.appendChild(r),r}))},r=0,o=y;r<o.length;r++){t(o[r])}return e}();e.appendChild(n);for(var f=[],d=0,v=y.length;d<v;d++)a(l[y[d]])&&f.push(y[d]);return e.removeChild(n),e.removeChild(t),f},audio:function(){return r(this,void 0,void 0,(function(){var e,t,n,r,i,a,u,c,s,l;return o(this,(function(o){if(p.userAgent.match(/OS 11.+Version\/11.+Safari/))return[2,-1];if(!(e=g.OfflineAudioContext||g.webkitOfflineAudioContext))return[2,-2];for(t=new e(1,44100,44100),(n=t.createOscillator()).type="triangle",n.frequency.setValueAtTime(1e4,t.currentTime),r=t.createDynamicsCompressor(),i=0,a=[["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]];i<a.length;i++)c=(u=a[i])[0],s=u[1],m(l=r[c])&&l.setValueAtTime(s,t.currentTime);return n.connect(r),r.connect(t.destination),n.start(0),t.startRendering(),[2,new Promise((function(e){var o=setTimeout((function(){t.oncomplete=null,e(-3)}),1e3);t.oncomplete=function(t){var i;try{clearTimeout(o),i=t.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce((function(e,t){return e+Math.abs(t)}),0),n.disconnect(),r.disconnect()}catch(a){return void e(-4)}e(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(e){try{return e.toSource(),!0}catch(t){return!1}}},vendor:function(){return navigator.vendor},chrome:function(){return void 0!==window.chrome},cookiesEnabled:function(){try{D.cookie="cookietest=1";var e=-1!==D.cookie.indexOf("cookietest=");return D.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",e}catch(t){return!1}}};function j(e,n,i){return r(this,void 0,void 0,(function(){var r,a,u,c,s,l,f,d,v;return o(this,(function(o){switch(o.label){case 0:r=Date.now(),a={},u=0,c=Object.keys(e),o.label=1;case 1:if(!(u<c.length))return[3,7];if(s=c[u],function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return!0;return!1}(i,s))return[3,6];l=void 0,o.label=2;case 2:return o.trys.push([2,4,,5]),v={},[4,e[s](n)];case 3:return v.value=o.sent(),l=v,[3,5];case 4:return f=o.sent(),l=f&&"object"==typeof f&&"message"in f?{error:f}:{error:{message:f}},[3,5];case 5:d=Date.now(),a[s]=t(t({},l),{duration:d-r}),r=d,o.label=6;case 6:return u++,[3,1];case 7:return[2,a]}}))}))}function B(e){return f(function(e){for(var t="",n=0,r=Object.keys(e);n<r.length;n++){var o=r[n],i=e[o],a=i.error?"error":JSON.stringify(i.value);t+=(t?"|":"")+o.replace(/([:|\\])/g,"\\$1")+":"+a}return t}(e))}var F=function(){function e(){}return e.prototype.get=function(e){return void 0===e&&(e={}),r(this,void 0,void 0,(function(){var n,r;return o(this,(function(o){switch(o.label){case 0:return[4,j(L,void 0,[])];case 1:return n=o.sent(),r=function(e){var t;return{components:e,get visitorId(){return void 0===t&&(t=B(this.components)),t},set visitorId(e){t=e}}}(n),e.debug&&console.log("Copy the text below to get the debug data:\n\n```\nversion: 3.0.1\ngetOptions: "+JSON.stringify(e,void 0,2)+"\nvisitorId: "+r.visitorId+"\ncomponents: "+function(e){return JSON.stringify(e,(function(e,n){var r;return n instanceof Error?t(t({},n),{message:n.message,stack:null===(r=n.stack)||void 0===r?void 0:r.split("\n")}):n}),2)}(n)+"\n```"),[2,r]}}))}))},e}();function U(e){var t=(void 0===e?{}:e).delayFallback,n=void 0===t?50:t;return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:return[4,(t=n,new Promise((function(e){window.requestIdleCallback?window.requestIdleCallback((function(){return e()})):setTimeout(e,t)})))];case 1:return e.sent(),[2,new F]}var t}))}))}var q=f,V="3.0.1";function G(e,t){return new Promise((function(n){return setTimeout((function(){return n(t)}),e)}))}function W(e,t,n){return r(this,void 0,void 0,(function(){var r;return o(this,(function(o){switch(o.label){case 0:return[4,Promise.race([G(t,[!0]),("function"==typeof e?e():e).then((function(e){return[!1,e]}))])];case 1:return(r=o.sent())[0]?[2,null==n?void 0:n()]:[2,r[1]]}}))}))}function K(e){var t=e.url,n=e.method,r=void 0===n?"get":n,o=e.body,i=e.headers,a=e.withCredentials,u=void 0!==a&&a,c=e.timeout;return new Promise((function(e,n){var a=new XMLHttpRequest;for(var s in a.open(r,t,!0),a.withCredentials=u,a.timeout=void 0===c?0:Math.max(c,1),i)a.setRequestHeader(s,i[s]);a.onload=function(){return e(function(e){return{text:e.responseText,status:e.status,statusText:e.statusText}}(a))},a.ontimeout=function(){return n(H("TimeoutError","The request timed out"))},a.onabort=function(){return n(H("AbortError","The request is aborted"))},a.onerror=function(){return n(H("TypeError","Connection error"))},a.send(o)}))}function H(e,t){var n=new Error(t);return n.name=e,n}function J(e){return r(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,K({url:"https://api.sjpf.io",timeout:e})];case 1:return t=n.sent(),[3,3];case 2:switch(n.sent().name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}case 3:if(200===t.status)return[2,t.text];throw new Error(t.text.slice(0,255))}}))}))}var z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",X=z.length;var Q="Client timeout",Y="Network connection error",Z="Network request aborted",$="n/a";function ee(e,t){if(void 0===e&&(e="us"),t)return/^(https?:)?\/\//i.test(t)?t:"https://"+t;var n="api.fpjs.io";return"us"!==e&&(n=e+"."+n),"https://"+n}function te(e){var i=e.endpoint,a=e.extendedResult,u=e.debug,c=n(e,["endpoint","extendedResult","debug"]);return r(this,void 0,void 0,(function(){var e,n;return o(this,(function(r){switch(r.label){case 0:return e=function(e){for(var t="",n=0;n<e;n++)t+=z.charAt(Math.random()*X);return t}(20),n=function(e){var n,r=e.components,o=e.token,i=e.visitorId,a=e.tag,u=e.ipResolution,c=e.extendedResult,s=e.linkedId,l=e.tls,f=e.tlsError,d=e.requestId,v=Object.keys(r).reduce((function(e,t){return e+r[t].duration}),0),h="full"===u?2:1;return(n={}).rid=d,n.cv=V,n.c=o,n.url=location.href,n.d=v,n.vid=i[0]||i[1]||void 0,n.ls=i[1]?1:void 0,n.t=function(e){if(e&&"object"==typeof e)return e;if(null==e)return;return{tag:e}}(a),n.i=h,n.cbd=c?1:void 0,n.lid=s,n.cr=document.referrer||void 0,n.j=l,n.je=null==f?void 0:f.message,n.k1=oe(r.osCpu),n.k2=oe(r.languages),n.k3=oe(r.colorDepth),n.k4=oe(r.deviceMemory),n.k5=oe(r.screenResolution),n.k6=oe(r.availableScreenResolution,void 0,[]),n.k7=oe(r.hardwareConcurrency),n.k8=oe(r.timezoneOffset),n.k9=oe(r.timezone),n.k10=ie(oe(r.sessionStorage)),n.k11=ie(oe(r.localStorage)),n.k12=ie(oe(r.indexedDB)),n.k13=ie(oe(r.openDatabase)),n.k14=oe(r.cpuClass),n.k15=oe(r.platform),n.k16=oe(r.plugins,[]),n.k17=function(e){var n=e.value;if(!n)return;return t(t({},n),{data:q(n.data)})}(r.canvas),n.k18=0,n.k19=oe(r.touchSupport),n.k20=oe(r.fonts,[]),n.k21=oe(r.audio,-1),n.k22=ie(oe(r.pluginsSupport)),n.k23=oe(r.productSub),n.k24=oe(r.emptyEvalLength),n.k25=ie(oe(r.errorFF)),n.k26=ie(oe(r[0])),n.k27=oe(r.vendor),n.k28=ie(oe(r.chrome)),n.k29=ie(oe(r[1])),n.k30=ie(oe(r[2])),n.k31=ie(oe(r[3],!1)),n.k32=ie(oe(r.cookiesEnabled,!1)),n.k33=ie(oe(r[4])),n}(t({extendedResult:a,requestId:e},c)),[4,ne(i,n,u)];case 1:return[2,re(r.sent(),e,a,u)]}}))}))}function ne(e,t,n){return r(this,void 0,void 0,(function(){var r;return o(this,(function(o){switch(o.label){case 0:n&&console.log("Visitor request:\n```json\n"+JSON.stringify(t,void 0,2)+"\n```"),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,K({url:e,method:"post",body:JSON.stringify(t),headers:{"Content-Type":"text/plain"},withCredentials:!0})];case 2:return[2,o.sent()];case 3:throw r=o.sent(),new Error("AbortError"===r.name?Z:Y);case 4:return[2]}}))}))}function re(e,t,n,i){return r(this,void 0,void 0,(function(){var r;return o(this,(function(o){try{r=JSON.parse(e.text)}catch(a){}if(i&&console.log("Visitor response status: "+e.status+"\nVisitor response body:\n```json\n"+(void 0===r?e.text:JSON.stringify(r,void 0,2))+"\n```"),404===e.status||e.status>=500)throw new Error(e.statusText);if(void 0===r)throw new Error(e.text);if(function(e){return e&&"object"==typeof e&&"string"==typeof e.visitorId&&e.visitorId!==$}(r))return[2,ae(r)];if(function(e){return e&&"object"==typeof e&&e.visitorId===$}(r)){if("Not available for crawl bots"===r.reason||"Not available when User-Agent is unspecified"===r.reason)return[2,ue(r.reason,t,n)];throw new Error(r.reason)}throw new Error(e.text)}))}))}function oe(e,t,n){return e.error?t:void 0===e.value?n:e.value}function ie(e){return!0===e?1:!1===e?0:e}function ae(e){var r=e,o=r.botProbability,i=n(r,["botProbability"]),a=t({},i);return o&&(a.bot={probability:o}),a}function ue(e,n,r){var o={requestId:n,visitorFound:!1,visitorId:""};if(!r)return o;var i=t(t({},o),{bot:{probability:1},incognito:!1,browserName:$,browserVersion:$,device:$,ip:$,ipLocation:{},os:$,osVersion:$});return"Not available for crawl bots"===e&&(i.bot.safe=!0),i}var ce=window,se=document;var le=window;var fe=navigator,de=window;function ve(){var e,t,n,r=(null===(e=fe.userAgent)||void 0===e?void 0:e.indexOf("Mac OS"))>0&&-1===(null===(t=fe.userAgent)||void 0===t?void 0:t.indexOf("iPhone")),o=(null===(n=fe.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return r||o?3221225472:1073741824}function he(){return r(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return"storage"in fe&&"estimate"in fe.storage?[4,fe.storage.estimate()]:[3,2];case 1:return[2,!!(e=t.sent().quota)&&e<ve()];case 2:return[2,!1]}}))}))}var pe=window;function ge(){return r(this,void 0,void 0,(function(){return o(this,(function(e){return"safari"in S?[2,me()]:[2,we()]}))}))}function me(){try{pe.safari.pushNotification.requestPermission("https://example.com","private",{},(function(){}))}catch(t){return e=t,!new RegExp([103,101,115,116,117,114,101].map((function(e){return String.fromCharCode(e)})).join("")).test(e)}var e;throw new Error("Unexpected lack of error")}function we(){return r(this,void 0,void 0,(function(){var e;return o(this,(function(t){(e=document.createElement("iframe")).style.display="none";try{return document.body.appendChild(e),[2,W(new Promise((function(t){e.contentWindow?e.contentWindow.applicationCache.addEventListener("error",(function(){return t(!0)})):t(!1)})),20,(function(){return!1}))]}finally{e.remove()}return[2]}))}))}function be(){try{pe.openDatabase(null,null,null,null)}catch(e){return!0}try{return pe.localStorage.setItem("test","1"),pe.localStorage.removeItem("test"),!1}catch(e){return!0}}var ye="_inc",Re=[[function(){return T()},function(){return r(this,void 0,void 0,(function(){return o(this,(function(e){return function(){var e=fe.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!e)throw"UserAgent is not Google Chrome";return parseInt(e[2],10)}()>=76?[2,he()]:[2,new Promise((function(e){de.webkitRequestFileSystem(0,1,(function(){return e(!1)}),(function(){return e(!0)}))}))]}))}))}],[function(){return h(["ApplePayError"in S,"CSSPrimitiveValue"in S,"Counter"in S,0===E.vendor.indexOf("Apple"),"getStorageUpdates"in E,"WebKitMediaKeys"in S])>=4},function(){return r(this,void 0,void 0,(function(){return o(this,(function(e){return function(){var e=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!e)throw new Error("UserAgent is not Safari");var t=e[1].split(".").map((function(e){return isNaN(parseInt(e))?0:parseInt(e)})),n=t[0],r=t[1],o=t[2];return{major:n,minor:r,patch:o}}().major<13?[2,be()]:[2,ge()]}))}))}],[function(){return function(){var e;return h(["buildID"in E,(null===(e=O.documentElement)||void 0===e?void 0:e.style)&&"MozAppearance"in O.documentElement.style,"MediaRecorderErrorEvent"in S,"mozInnerScreenX"in S,"CSSMozDocumentRule"in S,"CanvasCaptureMediaStream"in S])>=4}()},function(){return new Promise((function(e){try{var t=le.indexedDB.open("test");t.onerror=function(){return e(!0)},t.onsuccess=function(){return e(!1)}}catch(n){return e(!0)}}))}],[function(){return k()||C()},function(){try{if(!window.indexedDB)return!0}catch(e){return!0}return!1}]];function Se(){return r(this,void 0,void 0,(function(){var e,t,n,r,i;return o(this,(function(o){switch(o.label){case 0:e=0,t=Re,o.label=1;case 1:return e<t.length?(n=t[e],r=n[0],i=n[1],r()?[4,i()]:[3,3]):[3,4];case 2:return[2,o.sent()];case 3:return e++,[3,1];case 4:return[2,!1]}}))}))}function Ee(e,t){if(0==t.length||t.length>e.length)return-1;for(var n=0;n<e.length;n++){for(var r=0,o=0;o<t.length;o++){if(e[n+o]!==t[o]){r=0;break}r++}if(r==t.length)return n}return-1}var Oe,ke=window,Ce=document;var Te=((Oe={})[0]=function(){return void 0!==navigator.webdriver},Oe[1]=function(){return r(this,void 0,void 0,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:return(e=navigator.permissions)?[4,e.query({name:"notifications"})]:[2,void 0];case 1:return t=n.sent(),"undefined"==typeof Notification?[2,void 0]:[2,"denied"===Notification.permission&&"prompt"===t.state]}}))}))},Oe[2]=function(){var e=se.documentElement;return"webdriver"in ce||"_Selenium_IDE_Recorder"in ce||"callSelenium"in ce||"_selenium"in ce||"__webdriver_script_fn"in se||"__driver_evaluate"in se||"__webdriver_evaluate"in se||"__selenium_evaluate"in se||"__fxdriver_evaluate"in se||"__driver_unwrapped"in se||"__webdriver_unwrapped"in se||"__selenium_unwrapped"in se||"__fxdriver_unwrapped"in se||"__webdriver_script_func"in se||null!==e.getAttribute("selenium")||null!==e.getAttribute("webdriver")||null!==e.getAttribute("driver")},Oe[3]=function(){return r(this,void 0,void 0,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:if(void 0!==(e=function(){try{var e=localStorage.getItem(ye);if(!e)return;return"1"===e}catch(t){return}}()))return[2,e];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,Se()];case 2:return function(e){try{localStorage.setItem(ye,e?"1":"0")}catch(t){}}(t=n.sent()),[2,t];case 3:return n.sent(),[2,!1];case 4:return[2]}}))}))},Oe[4]=function(){if(!T())return!1;try{if([66,114,97,118,101].map((function(e){return String.fromCharCode(e)})).join("")in ke)return!0;var e=Ce.createElement("canvas");e.width=4,e.height=4,e.style.display="inline";var t=e.toDataURL();if(""===t)return!0;for(var n=window.atob(t.split(",")[1]),r=n.length,o=new Uint8Array(r),i=0;i<r;i++)o[i]=n.charCodeAt(i);var a=Ee(o,[73,68,65,84,24]);if(-1===a)return!1;var u=Ee(o,[73,69,78,68]);return-1!==a&&1321!==o.slice(a+5,u).reduce((function(e,t){return e+t}),0)}catch(c){return!1}},Oe);function Ae(){return j(Te,void 0,[])}var _e=document,Ie=location;function xe(e){for(var t=e+"=",n=0,r=_e.cookie.split(";");n<r.length;n++){for(var o=r[n],i=0;" "===o[i]&&i<o.length;)++i;if(o.indexOf(t)===i)return o.slice(i+t.length)}}function Me(e,t,n,r){var o=e+"="+t,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),a=r?"domain="+r:"";_e.cookie=[o,"path=/",i,a].join("; ")}function Ne(e,t,n){var r=Ie.hostname;Pe(r,(function(t){!function(e,t){Me(e,"",-1,t)}(e,t)})),Pe(r,(function(r){return Me(e,t,n,r),xe(e)!==t}))&&Me(e,t,n)}function Pe(e,t){var n=e.length;do{if(n=n>0?e.lastIndexOf(".",n-1):-1,!1===t(e.slice(n+1)))return!1}while(n>=0);return!0}var De="_vid";function Le(e){return void 0===e&&(e=De),[xe(e),Be(e)]}function je(e,t){void 0===t&&(t=De),Ne(t,e,365),function(e,t){var n;try{null===(n=null===localStorage||void 0===localStorage?void 0:localStorage.setItem)||void 0===n||n.call(localStorage,e,t)}catch(r){}}(t,e)}function Be(e){var t,n;try{return null!==(n=null===(t=null===localStorage||void 0===localStorage?void 0:localStorage.getItem)||void 0===t?void 0:t.call(localStorage,e))&&void 0!==n?n:void 0}catch(r){}}function Fe(e,n,i,a,u){var c=this;var s=function(e,t){return r(c,void 0,void 0,(function(){return o(this,(function(n){return t?[2,void 0]:[2,J(e).then((function(e){return{tls:e}}),(function(e){return{tlsError:e}}))]}))}))},l=function(){return r(c,void 0,void 0,(function(){var n,r;return o(this,(function(o){switch(o.label){case 0:return[4,e.get()];case 1:return n=o.sent(),[4,Ae()];case 2:return r=o.sent(),[2,t(t({},n.components),r)]}}))}))},f=function(e){var t={token:n,region:i,endpoint:a,storageKey:u};console.log("Getting the visitor identifier:\n```\nversion: 3.0.1\ninitOptions: "+JSON.stringify(t,void 0,2)+"\ngetOptions: "+JSON.stringify(e,void 0,2)+"\n```")},d=function(e){for(var n={},r=0,o=Object.keys(e);r<o.length;r++){var i=o[r];e[i].error&&(n[i]=e[i].error)}Object.keys(n).length&&console.warn("Visitor data source errors:\n```\n"+JSON.stringify(n,(function(e,n){var r;return n instanceof Error?t(t({},n),{message:n.message,stack:null===(r=n.stack)||void 0===r?void 0:r.split("\n")}):n}),2)+"\n```")};return{get:function(e){var c=this;void 0===e&&(e={});var v,h=e.timeout,p=void 0===h?1e4:h,g=e.tag,m=e.linkedId,w=e.disableTls,b=e.extendedResult,y=e.ipResolution,R=e.debug;return R&&f(e),v=Q,W((function(){return r(c,void 0,void 0,(function(){var e,r,c,f;return o(this,(function(o){switch(o.label){case 0:return[4,Promise.all([s(p/2,w),l()])];case 1:return e=o.sent(),r=e[0],c=e[1],R&&d(c),[4,te(t(t({token:n,endpoint:ee(i,a)},r),{components:c,tag:g,visitorId:Le(u),linkedId:m,extendedResult:b,ipResolution:y,debug:R}))];case 2:return je((f=o.sent()).visitorId,u),[2,f]}}))}))}),p,(function(){throw new Error(v)}))}}}function Ue(e){var t=e.token,n=e.region,i=e.endpoint,a=e.storageKey,u=e.delayFallback;return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:if(!t||"string"!=typeof t)throw new Error("Token required");return[4,U({delayFallback:u})];case 1:return[2,Fe(e.sent(),t,n,i,a)]}}))}))}var qe="Token required",Ve="Token not found",Ge="Token expired",We="Request cannot be parsed",Ke="Request failed",He="Request failed to process",Je="Too many requests, rate limit exceeded",ze={load:Ue,ERROR_CLIENT_TIMEOUT:Q,ERROR_NETWORK_CONNECTION:Y,ERROR_NETWORK_ABORT:Z,ERROR_TOKEN_MISSING:qe,ERROR_TOKEN_INVALID:Ve,ERROR_TOKEN_EXPIRED:Ge,ERROR_BAD_REQUEST_FORMAT:We,ERROR_GENERAL_SERVER_FAILURE:Ke,ERROR_SERVER_TIMEOUT:He,ERROR_RATE_LIMIT:Je};return e.ERROR_BAD_REQUEST_FORMAT=We,e.ERROR_CLIENT_TIMEOUT=Q,e.ERROR_GENERAL_SERVER_FAILURE=Ke,e.ERROR_NETWORK_ABORT=Z,e.ERROR_NETWORK_CONNECTION=Y,e.ERROR_RATE_LIMIT=Je,e.ERROR_SERVER_TIMEOUT=He,e.ERROR_TOKEN_EXPIRED=Ge,e.ERROR_TOKEN_INVALID=Ve,e.ERROR_TOKEN_MISSING=qe,e.default=ze,e.load=Ue,e}({});
/**
* FingerprintJS Pro v3.0.0 - Copyright (c) FingerprintJS, Inc, 2020 (https://fingerprintjs.com)
* FingerprintJS Pro v3.0.1 - 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 R=navigator,E=window;const O=window,S=navigator,k=document;function A(){return h(["msWriteProfilerMark"in O,"msLaunchUri"in S,"msSaveBlob"in S])>=2}function C(){return h(["userActivation"in S,"mediaSession"in S,0===S.vendor.indexOf("Google"),"BackgroundFetchManager"in O,"BatteryManager"in O,"webkitMediaStream"in O,"webkitSpeechGrammar"in O])>=5}const T=navigator;const _=window;const I=window;const M=window;const x=document;const N={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))C()&&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(_.screen.width),f(_.screen.height)];return t.sort().reverse(),t},availableScreenResolution:function(){if(I.screen.availWidth&&I.screen.availHeight){const t=[f(I.screen.availWidth),f(I.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=M.Intl)||void 0===t?void 0:t.DateTimeFormat)return(new M.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(!A())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!==R.maxTouchPoints?e=f(R.maxTouchPoints):void 0!==R.msMaxTouchPoints&&(e=R.msMaxTouchPoints);try{document.createEvent("TouchEvent"),t=!0}catch(n){t=!1}return{maxTouchPoints:e,touchEvent:t,touchStart:"ontouchstart"in E}},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 P(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 j(t){return 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}(t))}class D{get(t={}){return n(this,void 0,void 0,(function*(){const e=yield P(N,void 0,[]),n=function(t){let e;return{components:t,get visitorId(){return void 0===e&&(e=j(this.components)),e},set visitorId(t){e=t}}}(e);return t.debug&&console.log(`Copy the text below to get the debug data:\n\n\`\`\`\nversion: 3.0.0\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 L({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 B=d;var F="3.0.0";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 V(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 G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",$=G.length;const J="Client timeout",K="Network connection error",H="Network request aborted",z="n/a";function X(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+=G.charAt(Math.random()*$);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:Z(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!==z}(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===z}(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:z,browserVersion:z,device:z,ip:z,ipLocation:{},os:z,osVersion:z});"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?H:K)}}))}(o,s,i),t,r,i)}))}function Z(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:B(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 C()},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 S,(null===(t=k.documentElement)||void 0===t?void 0:t.style)&&"MozAppearance"in k.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 A()},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(!C())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:Rt}=window;function Et(t="_vid"){return[mt(t),St(t)]}function Ot(t,e="_vid"){yt(e,t,365),function(t,e){if(null==Rt?void 0:Rt.setItem)try{Rt.setItem(t,e)}catch(n){}}(e,t)}function St(t){var e;if(null==Rt?void 0:Rt.getItem)try{return null!==(e=Rt.getItem(t))&&void 0!==e?e:void 0}catch(n){}}var kt,At,Ct,Tt,_t,It,Mt,xt;class Nt{constructor(t,e,i,a,s){kt.set(this,void 0),At.set(this,void 0),Ct.set(this,void 0),Tt.set(this,void 0),_t.set(this,void 0),It.set(this,((t,e)=>n(this,void 0,void 0,(function*(){if(!e)return V(t).then((t=>({tls:t})),(t=>({tlsError:t})))})))),Mt.set(this,(()=>n(this,void 0,void 0,(function*(){const t=yield o(this,kt).get(),e=yield P(vt,void 0,[]);return Object.assign(Object.assign({},t.components),e)})))),xt.set(this,(t=>{const e={token:o(this,At),region:o(this,Ct),endpoint:o(this,Tt),storageKey:o(this,_t)};console.log(`Getting the visitor identifier:\n\`\`\`\nversion: 3.0.0\ninitOptions: ${JSON.stringify(e,void 0,2)}\ngetOptions: ${JSON.stringify(t,void 0,2)}\n\`\`\``)})),r(this,kt,t),r(this,At,e),r(this,Ct,i),r(this,Tt,a),r(this,_t,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,It).call(this,e/2,a),o(this,Mt).call(this)]),l=yield Q(Object.assign(Object.assign({token:o(this,At),endpoint:X(o(this,Ct),o(this,Tt))},t),{components:n,tag:r,visitorId:Et(o(this,_t)),linkedId:i,extendedResult:s,ipResolution:c,debug:u}));return Ot(l.visitorId,o(this,_t)),l}))),e,(()=>{throw new Error(l)}));var l}}function Pt({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 L({delayFallback:i});return new Nt(n,t,e,o,r)}))}kt=new WeakMap,At=new WeakMap,Ct=new WeakMap,Tt=new WeakMap,_t=new WeakMap,It=new WeakMap,Mt=new WeakMap,xt=new WeakMap;const jt="Token required",Dt="Token not found",Lt="Token expired",Bt="Request cannot be parsed",Ft="Request failed",Ut="Request failed to process",Wt="Too many requests, rate limit exceeded";var qt={load:Pt,ERROR_CLIENT_TIMEOUT:J,ERROR_NETWORK_CONNECTION:K,ERROR_NETWORK_ABORT:H,ERROR_TOKEN_MISSING:jt,ERROR_TOKEN_INVALID:Dt,ERROR_TOKEN_EXPIRED:Lt,ERROR_BAD_REQUEST_FORMAT:Bt,ERROR_GENERAL_SERVER_FAILURE:Ft,ERROR_SERVER_TIMEOUT:Ut,ERROR_RATE_LIMIT:Wt};t.ERROR_BAD_REQUEST_FORMAT=Bt,t.ERROR_CLIENT_TIMEOUT=J,t.ERROR_GENERAL_SERVER_FAILURE=Ft,t.ERROR_NETWORK_ABORT=H,t.ERROR_NETWORK_CONNECTION=K,t.ERROR_RATE_LIMIT=Wt,t.ERROR_SERVER_TIMEOUT=Ut,t.ERROR_TOKEN_EXPIRED=Lt,t.ERROR_TOKEN_INVALID=Dt,t.ERROR_TOKEN_MISSING=jt,t.default=qt,t.load=Pt,Object.defineProperty(t,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).FingerprintJS={})}(this,(function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function n(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function r(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{c(r.next(e))}catch(t){i(t)}}function u(e){try{c(r.throw(e))}catch(t){i(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,u)}c((r=r.apply(e,t||[])).next())}))}function o(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(u){i=[6,u],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function i(e,t){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]];var n=[0,0,0,0];return n[3]+=e[3]+t[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=e[2]+t[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=e[1]+t[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=e[0]+t[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function a(e,t){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]];var n=[0,0,0,0];return n[3]+=e[3]*t[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=e[2]*t[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=e[3]*t[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=e[1]*t[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=e[2]*t[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=e[3]*t[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=e[0]*t[3]+e[1]*t[2]+e[2]*t[1]+e[3]*t[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function u(e,t){return 32===(t%=64)?[e[1],e[0]]:t<32?[e[0]<<t|e[1]>>>32-t,e[1]<<t|e[0]>>>32-t]:(t-=32,[e[1]<<t|e[0]>>>32-t,e[0]<<t|e[1]>>>32-t])}function c(e,t){return 0===(t%=64)?e:t<32?[e[0]<<t|e[1]>>>32-t,e[1]<<t]:[e[1]<<t-32,0]}function s(e,t){return[e[0]^t[0],e[1]^t[1]]}function l(e){return e=s(e,[0,e[0]>>>1]),e=s(e=a(e,[4283543511,3981806797]),[0,e[0]>>>1]),e=s(e=a(e,[3301882366,444984403]),[0,e[0]>>>1])}function f(e,t){t=t||0;var n,r=(e=e||"").length%16,o=e.length-r,f=[0,t],d=[0,t],v=[0,0],h=[0,0],p=[2277735313,289559509],g=[1291169091,658871167];for(n=0;n<o;n+=16)v=[255&e.charCodeAt(n+4)|(255&e.charCodeAt(n+5))<<8|(255&e.charCodeAt(n+6))<<16|(255&e.charCodeAt(n+7))<<24,255&e.charCodeAt(n)|(255&e.charCodeAt(n+1))<<8|(255&e.charCodeAt(n+2))<<16|(255&e.charCodeAt(n+3))<<24],h=[255&e.charCodeAt(n+12)|(255&e.charCodeAt(n+13))<<8|(255&e.charCodeAt(n+14))<<16|(255&e.charCodeAt(n+15))<<24,255&e.charCodeAt(n+8)|(255&e.charCodeAt(n+9))<<8|(255&e.charCodeAt(n+10))<<16|(255&e.charCodeAt(n+11))<<24],v=u(v=a(v,p),31),f=i(f=u(f=s(f,v=a(v,g)),27),d),f=i(a(f,[0,5]),[0,1390208809]),h=u(h=a(h,g),33),d=i(d=u(d=s(d,h=a(h,p)),31),f),d=i(a(d,[0,5]),[0,944331445]);switch(v=[0,0],h=[0,0],r){case 15:h=s(h,c([0,e.charCodeAt(n+14)],48));case 14:h=s(h,c([0,e.charCodeAt(n+13)],40));case 13:h=s(h,c([0,e.charCodeAt(n+12)],32));case 12:h=s(h,c([0,e.charCodeAt(n+11)],24));case 11:h=s(h,c([0,e.charCodeAt(n+10)],16));case 10:h=s(h,c([0,e.charCodeAt(n+9)],8));case 9:h=a(h=s(h,[0,e.charCodeAt(n+8)]),g),d=s(d,h=a(h=u(h,33),p));case 8:v=s(v,c([0,e.charCodeAt(n+7)],56));case 7:v=s(v,c([0,e.charCodeAt(n+6)],48));case 6:v=s(v,c([0,e.charCodeAt(n+5)],40));case 5:v=s(v,c([0,e.charCodeAt(n+4)],32));case 4:v=s(v,c([0,e.charCodeAt(n+3)],24));case 3:v=s(v,c([0,e.charCodeAt(n+2)],16));case 2:v=s(v,c([0,e.charCodeAt(n+1)],8));case 1:v=a(v=s(v,[0,e.charCodeAt(n)]),p),f=s(f,v=a(v=u(v,31),g))}return f=i(f=s(f,[0,e.length]),d=s(d,[0,e.length])),d=i(d,f),f=i(f=l(f),d=l(d)),d=i(d,f),("00000000"+(f[0]>>>0).toString(16)).slice(-8)+("00000000"+(f[1]>>>0).toString(16)).slice(-8)+("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)}function d(e){return"number"==typeof e?0|e:parseInt(e)}function v(e){return"number"==typeof e?e:parseFloat(e)}function h(e){return e.reduce((function(e,t){return e+(t?1:0)}),0)}var p=navigator,g=window;function m(e){return e&&"function"==typeof e.setValueAtTime}var w=document,b=["monospace","sans-serif","serif"],y=["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"],R={fontStyle:"normal",fontWeight:"normal",letterSpacing:"normal",lineBreak:"auto",lineHeight:"normal",textTransform:"none",textAlign:"left",textDecoration:"none",textShadow:"none",whiteSpace:"normal",wordBreak:"normal",wordSpacing:"normal",position:"absolute",left:"-9999px",fontSize:"48px"};var S=window,E=navigator,O=document;function k(){return h(["MSCSSMatrix"in S,"msSetImmediate"in S,"msIndexedDB"in S,"msMaxTouchPoints"in E,"msPointerEnabled"in E])>=4}function C(){return h(["msWriteProfilerMark"in S,"MSStream"in S,"msLaunchUri"in E,"msSaveBlob"in E])>=3&&!k()}function T(){return h(["webkitPersistentStorage"in E,"webkitTemporaryStorage"in E,0===E.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in S,"BatteryManager"in S,"webkitMediaStream"in S,"webkitSpeechGrammar"in S])>=5}function A(e){return e.toDataURL()}var _=navigator,I=window;var x=navigator;var M=window;var P=window;var N=window;var D=document;var L={osCpu:function(){return navigator.oscpu},languages:function(){var e=[],t=x.language||x.userLanguage||x.browserLanguage||x.systemLanguage;if(void 0!==t&&e.push([t]),Array.isArray(x.languages))T()&&h([!("MediaSettingsRange"in S),"RTCEncodedAudioFrame"in S,""+S.Intl=="[object Intl]",""+S.Reflect=="[object Reflect]"])>=3||e.push(x.languages);else if("string"==typeof x.languages){var n=x.languages;n&&e.push(n.split(","))}return e},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return navigator.deviceMemory},screenResolution:function(){var e=[d(M.screen.width),d(M.screen.height)];return e.sort().reverse(),e},availableScreenResolution:function(){if(P.screen.availWidth&&P.screen.availHeight){var e=[d(P.screen.availWidth),d(P.screen.availHeight)];return e.sort().reverse(),e}},hardwareConcurrency:function(){try{var e=d(navigator.hardwareConcurrency);return isNaN(e)?1:e}catch(t){return 1}},timezoneOffset:function(){var e=(new Date).getFullYear();return Math.max(v(new Date(e,0,1).getTimezoneOffset()),v(new Date(e,6,1).getTimezoneOffset()))},timezone:function(){var e;if(null===(e=N.Intl)||void 0===e?void 0:e.DateTimeFormat)return(new N.Intl.DateTimeFormat).resolvedOptions().timeZone},sessionStorage:function(){try{return!!window.sessionStorage}catch(e){return!0}},localStorage:function(){try{return!!window.localStorage}catch(e){return!0}},indexedDB:function(){if(!k()&&!C())try{return!!window.indexedDB}catch(e){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){return navigator.platform},plugins:function(){if(k())return[];if(navigator.plugins){for(var e=[],t=0;t<navigator.plugins.length;++t){var n=navigator.plugins[t];if(n){for(var r=[],o=0;o<n.length;++o){var i=n[o];r.push({type:i.type,suffixes:i.suffixes})}e.push({name:n.name,description:n.description,mimeTypes:r})}}return e}},canvas:function(){var e=function(){var e=document.createElement("canvas");return e.width=240,e.height=140,e.style.display="inline",[e,e.getContext("2d")]}(),t=e[0],n=e[1];if(!function(e,t){return!(!t||!e.toDataURL)}(t,n))return{winding:!1,data:""};n.rect(0,0,10,10),n.rect(2,2,6,6);var r=!n.isPointInPath(5,5,"evenodd");n.textBaseline="alphabetic",n.fillStyle="#f60",n.fillRect(125,1,62,20),n.fillStyle="#069",n.font="11pt no-real-font-123";var o="Cwm fjordbank 😃 gly";return n.fillText(o,2,15),n.fillStyle="rgba(102, 204, 0, 0.2)",n.font="18pt Arial",n.fillText(o,4,45),n.globalCompositeOperation="multiply",n.fillStyle="rgb(255,0,255)",n.beginPath(),n.arc(50,50,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(0,255,255)",n.beginPath(),n.arc(100,50,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(255,255,0)",n.beginPath(),n.arc(75,100,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(255,0,255)",n.arc(75,75,75,0,2*Math.PI,!0),n.arc(75,75,25,0,2*Math.PI,!0),n.fill("evenodd"),{winding:r,data:A(t)}},touchSupport:function(){var e,t=0;void 0!==_.maxTouchPoints?t=d(_.maxTouchPoints):void 0!==_.msMaxTouchPoints&&(t=_.msMaxTouchPoints);try{document.createEvent("TouchEvent"),e=!0}catch(n){e=!1}return{maxTouchPoints:t,touchEvent:e,touchStart:"ontouchstart"in I}},fonts:function(){var e=w.body,t=w.createElement("div"),n=w.createElement("div"),r={},o={},i=function(){var e=w.createElement("span");e.textContent="mmMwWLliI0O&1";for(var t=0,n=Object.keys(R);t<n.length;t++){var r=n[t];e.style[r]=R[r]}return e},a=function(e){return b.some((function(t,n){return e[n].offsetWidth!==r[t]||e[n].offsetHeight!==o[t]}))},u=b.map((function(e){var n=i();return n.style.fontFamily=e,t.appendChild(n),n}));e.appendChild(t);for(var c=0,s=b.length;c<s;c++)r[b[c]]=u[c].offsetWidth,o[b[c]]=u[c].offsetHeight;var l=function(){for(var e={},t=function(t){e[t]=b.map((function(e){var r=function(e,t){var n=i();return n.style.fontFamily="'"+e+"',"+t,n}(t,e);return n.appendChild(r),r}))},r=0,o=y;r<o.length;r++){t(o[r])}return e}();e.appendChild(n);for(var f=[],d=0,v=y.length;d<v;d++)a(l[y[d]])&&f.push(y[d]);return e.removeChild(n),e.removeChild(t),f},audio:function(){return r(this,void 0,void 0,(function(){var e,t,n,r,i,a,u,c,s,l;return o(this,(function(o){if(p.userAgent.match(/OS 11.+Version\/11.+Safari/))return[2,-1];if(!(e=g.OfflineAudioContext||g.webkitOfflineAudioContext))return[2,-2];for(t=new e(1,44100,44100),(n=t.createOscillator()).type="triangle",n.frequency.setValueAtTime(1e4,t.currentTime),r=t.createDynamicsCompressor(),i=0,a=[["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]];i<a.length;i++)c=(u=a[i])[0],s=u[1],m(l=r[c])&&l.setValueAtTime(s,t.currentTime);return n.connect(r),r.connect(t.destination),n.start(0),t.startRendering(),[2,new Promise((function(e){var o=setTimeout((function(){t.oncomplete=null,e(-3)}),1e3);t.oncomplete=function(t){var i;try{clearTimeout(o),i=t.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce((function(e,t){return e+Math.abs(t)}),0),n.disconnect(),r.disconnect()}catch(a){return void e(-4)}e(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(e){try{return e.toSource(),!0}catch(t){return!1}}},vendor:function(){return navigator.vendor},chrome:function(){return void 0!==window.chrome},cookiesEnabled:function(){try{D.cookie="cookietest=1";var e=-1!==D.cookie.indexOf("cookietest=");return D.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",e}catch(t){return!1}}};function j(e,n,i){return r(this,void 0,void 0,(function(){var r,a,u,c,s,l,f,d,v;return o(this,(function(o){switch(o.label){case 0:r=Date.now(),a={},u=0,c=Object.keys(e),o.label=1;case 1:if(!(u<c.length))return[3,7];if(s=c[u],function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return!0;return!1}(i,s))return[3,6];l=void 0,o.label=2;case 2:return o.trys.push([2,4,,5]),v={},[4,e[s](n)];case 3:return v.value=o.sent(),l=v,[3,5];case 4:return f=o.sent(),l=f&&"object"==typeof f&&"message"in f?{error:f}:{error:{message:f}},[3,5];case 5:d=Date.now(),a[s]=t(t({},l),{duration:d-r}),r=d,o.label=6;case 6:return u++,[3,1];case 7:return[2,a]}}))}))}function B(e){return f(function(e){for(var t="",n=0,r=Object.keys(e);n<r.length;n++){var o=r[n],i=e[o],a=i.error?"error":JSON.stringify(i.value);t+=(t?"|":"")+o.replace(/([:|\\])/g,"\\$1")+":"+a}return t}(e))}var F=function(){function e(){}return e.prototype.get=function(e){return void 0===e&&(e={}),r(this,void 0,void 0,(function(){var n,r;return o(this,(function(o){switch(o.label){case 0:return[4,j(L,void 0,[])];case 1:return n=o.sent(),r=function(e){var t;return{components:e,get visitorId(){return void 0===t&&(t=B(this.components)),t},set visitorId(e){t=e}}}(n),e.debug&&console.log("Copy the text below to get the debug data:\n\n```\nversion: 3.0.1\ngetOptions: "+JSON.stringify(e,void 0,2)+"\nvisitorId: "+r.visitorId+"\ncomponents: "+function(e){return JSON.stringify(e,(function(e,n){var r;return n instanceof Error?t(t({},n),{message:n.message,stack:null===(r=n.stack)||void 0===r?void 0:r.split("\n")}):n}),2)}(n)+"\n```"),[2,r]}}))}))},e}();function U(e){var t=(void 0===e?{}:e).delayFallback,n=void 0===t?50:t;return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:return[4,(t=n,new Promise((function(e){window.requestIdleCallback?window.requestIdleCallback((function(){return e()})):setTimeout(e,t)})))];case 1:return e.sent(),[2,new F]}var t}))}))}var q=f,V="3.0.1";function G(e,t){return new Promise((function(n){return setTimeout((function(){return n(t)}),e)}))}function W(e,t,n){return r(this,void 0,void 0,(function(){var r;return o(this,(function(o){switch(o.label){case 0:return[4,Promise.race([G(t,[!0]),("function"==typeof e?e():e).then((function(e){return[!1,e]}))])];case 1:return(r=o.sent())[0]?[2,null==n?void 0:n()]:[2,r[1]]}}))}))}function K(e){var t=e.url,n=e.method,r=void 0===n?"get":n,o=e.body,i=e.headers,a=e.withCredentials,u=void 0!==a&&a,c=e.timeout;return new Promise((function(e,n){var a=new XMLHttpRequest;for(var s in a.open(r,t,!0),a.withCredentials=u,a.timeout=void 0===c?0:Math.max(c,1),i)a.setRequestHeader(s,i[s]);a.onload=function(){return e(function(e){return{text:e.responseText,status:e.status,statusText:e.statusText}}(a))},a.ontimeout=function(){return n(H("TimeoutError","The request timed out"))},a.onabort=function(){return n(H("AbortError","The request is aborted"))},a.onerror=function(){return n(H("TypeError","Connection error"))},a.send(o)}))}function H(e,t){var n=new Error(t);return n.name=e,n}function J(e){return r(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,K({url:"https://api.sjpf.io",timeout:e})];case 1:return t=n.sent(),[3,3];case 2:switch(n.sent().name){case"AbortError":throw new Error("Abort");case"TimeoutError":throw new Error("Timeout");default:throw new Error("Connection error")}case 3:if(200===t.status)return[2,t.text];throw new Error(t.text.slice(0,255))}}))}))}var z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",X=z.length;var Q="Client timeout",Y="Network connection error",Z="Network request aborted",$="n/a";function ee(e,t){if(void 0===e&&(e="us"),t)return/^(https?:)?\/\//i.test(t)?t:"https://"+t;var n="api.fpjs.io";return"us"!==e&&(n=e+"."+n),"https://"+n}function te(e){var i=e.endpoint,a=e.extendedResult,u=e.debug,c=n(e,["endpoint","extendedResult","debug"]);return r(this,void 0,void 0,(function(){var e,n;return o(this,(function(r){switch(r.label){case 0:return e=function(e){for(var t="",n=0;n<e;n++)t+=z.charAt(Math.random()*X);return t}(20),n=function(e){var n,r=e.components,o=e.token,i=e.visitorId,a=e.tag,u=e.ipResolution,c=e.extendedResult,s=e.linkedId,l=e.tls,f=e.tlsError,d=e.requestId,v=Object.keys(r).reduce((function(e,t){return e+r[t].duration}),0),h="full"===u?2:1;return(n={}).rid=d,n.cv=V,n.c=o,n.url=location.href,n.d=v,n.vid=i[0]||i[1]||void 0,n.ls=i[1]?1:void 0,n.t=function(e){if(e&&"object"==typeof e)return e;if(null==e)return;return{tag:e}}(a),n.i=h,n.cbd=c?1:void 0,n.lid=s,n.cr=document.referrer||void 0,n.j=l,n.je=null==f?void 0:f.message,n.k1=oe(r.osCpu),n.k2=oe(r.languages),n.k3=oe(r.colorDepth),n.k4=oe(r.deviceMemory),n.k5=oe(r.screenResolution),n.k6=oe(r.availableScreenResolution,void 0,[]),n.k7=oe(r.hardwareConcurrency),n.k8=oe(r.timezoneOffset),n.k9=oe(r.timezone),n.k10=ie(oe(r.sessionStorage)),n.k11=ie(oe(r.localStorage)),n.k12=ie(oe(r.indexedDB)),n.k13=ie(oe(r.openDatabase)),n.k14=oe(r.cpuClass),n.k15=oe(r.platform),n.k16=oe(r.plugins,[]),n.k17=function(e){var n=e.value;if(!n)return;return t(t({},n),{data:q(n.data)})}(r.canvas),n.k18=0,n.k19=oe(r.touchSupport),n.k20=oe(r.fonts,[]),n.k21=oe(r.audio,-1),n.k22=ie(oe(r.pluginsSupport)),n.k23=oe(r.productSub),n.k24=oe(r.emptyEvalLength),n.k25=ie(oe(r.errorFF)),n.k26=ie(oe(r[0])),n.k27=oe(r.vendor),n.k28=ie(oe(r.chrome)),n.k29=ie(oe(r[1])),n.k30=ie(oe(r[2])),n.k31=ie(oe(r[3],!1)),n.k32=ie(oe(r.cookiesEnabled,!1)),n.k33=ie(oe(r[4])),n}(t({extendedResult:a,requestId:e},c)),[4,ne(i,n,u)];case 1:return[2,re(r.sent(),e,a,u)]}}))}))}function ne(e,t,n){return r(this,void 0,void 0,(function(){var r;return o(this,(function(o){switch(o.label){case 0:n&&console.log("Visitor request:\n```json\n"+JSON.stringify(t,void 0,2)+"\n```"),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,K({url:e,method:"post",body:JSON.stringify(t),headers:{"Content-Type":"text/plain"},withCredentials:!0})];case 2:return[2,o.sent()];case 3:throw r=o.sent(),new Error("AbortError"===r.name?Z:Y);case 4:return[2]}}))}))}function re(e,t,n,i){return r(this,void 0,void 0,(function(){var r;return o(this,(function(o){try{r=JSON.parse(e.text)}catch(a){}if(i&&console.log("Visitor response status: "+e.status+"\nVisitor response body:\n```json\n"+(void 0===r?e.text:JSON.stringify(r,void 0,2))+"\n```"),404===e.status||e.status>=500)throw new Error(e.statusText);if(void 0===r)throw new Error(e.text);if(function(e){return e&&"object"==typeof e&&"string"==typeof e.visitorId&&e.visitorId!==$}(r))return[2,ae(r)];if(function(e){return e&&"object"==typeof e&&e.visitorId===$}(r)){if("Not available for crawl bots"===r.reason||"Not available when User-Agent is unspecified"===r.reason)return[2,ue(r.reason,t,n)];throw new Error(r.reason)}throw new Error(e.text)}))}))}function oe(e,t,n){return e.error?t:void 0===e.value?n:e.value}function ie(e){return!0===e?1:!1===e?0:e}function ae(e){var r=e,o=r.botProbability,i=n(r,["botProbability"]),a=t({},i);return o&&(a.bot={probability:o}),a}function ue(e,n,r){var o={requestId:n,visitorFound:!1,visitorId:""};if(!r)return o;var i=t(t({},o),{bot:{probability:1},incognito:!1,browserName:$,browserVersion:$,device:$,ip:$,ipLocation:{},os:$,osVersion:$});return"Not available for crawl bots"===e&&(i.bot.safe=!0),i}var ce=window,se=document;var le=window;var fe=navigator,de=window;function ve(){var e,t,n,r=(null===(e=fe.userAgent)||void 0===e?void 0:e.indexOf("Mac OS"))>0&&-1===(null===(t=fe.userAgent)||void 0===t?void 0:t.indexOf("iPhone")),o=(null===(n=fe.userAgent)||void 0===n?void 0:n.indexOf("CrOS"))>0;return r||o?3221225472:1073741824}function he(){return r(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return"storage"in fe&&"estimate"in fe.storage?[4,fe.storage.estimate()]:[3,2];case 1:return[2,!!(e=t.sent().quota)&&e<ve()];case 2:return[2,!1]}}))}))}var pe=window;function ge(){return r(this,void 0,void 0,(function(){return o(this,(function(e){return"safari"in S?[2,me()]:[2,we()]}))}))}function me(){try{pe.safari.pushNotification.requestPermission("https://example.com","private",{},(function(){}))}catch(t){return e=t,!new RegExp([103,101,115,116,117,114,101].map((function(e){return String.fromCharCode(e)})).join("")).test(e)}var e;throw new Error("Unexpected lack of error")}function we(){return r(this,void 0,void 0,(function(){var e;return o(this,(function(t){(e=document.createElement("iframe")).style.display="none";try{return document.body.appendChild(e),[2,W(new Promise((function(t){e.contentWindow?e.contentWindow.applicationCache.addEventListener("error",(function(){return t(!0)})):t(!1)})),20,(function(){return!1}))]}finally{e.remove()}return[2]}))}))}function be(){try{pe.openDatabase(null,null,null,null)}catch(e){return!0}try{return pe.localStorage.setItem("test","1"),pe.localStorage.removeItem("test"),!1}catch(e){return!0}}var ye="_inc",Re=[[function(){return T()},function(){return r(this,void 0,void 0,(function(){return o(this,(function(e){return function(){var e=fe.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(!e)throw"UserAgent is not Google Chrome";return parseInt(e[2],10)}()>=76?[2,he()]:[2,new Promise((function(e){de.webkitRequestFileSystem(0,1,(function(){return e(!1)}),(function(){return e(!0)}))}))]}))}))}],[function(){return h(["ApplePayError"in S,"CSSPrimitiveValue"in S,"Counter"in S,0===E.vendor.indexOf("Apple"),"getStorageUpdates"in E,"WebKitMediaKeys"in S])>=4},function(){return r(this,void 0,void 0,(function(){return o(this,(function(e){return function(){var e=navigator.userAgent.match(/Version\/([0-9._]+).*Safari/);if(!e)throw new Error("UserAgent is not Safari");var t=e[1].split(".").map((function(e){return isNaN(parseInt(e))?0:parseInt(e)})),n=t[0],r=t[1],o=t[2];return{major:n,minor:r,patch:o}}().major<13?[2,be()]:[2,ge()]}))}))}],[function(){return function(){var e;return h(["buildID"in E,(null===(e=O.documentElement)||void 0===e?void 0:e.style)&&"MozAppearance"in O.documentElement.style,"MediaRecorderErrorEvent"in S,"mozInnerScreenX"in S,"CSSMozDocumentRule"in S,"CanvasCaptureMediaStream"in S])>=4}()},function(){return new Promise((function(e){try{var t=le.indexedDB.open("test");t.onerror=function(){return e(!0)},t.onsuccess=function(){return e(!1)}}catch(n){return e(!0)}}))}],[function(){return k()||C()},function(){try{if(!window.indexedDB)return!0}catch(e){return!0}return!1}]];function Se(){return r(this,void 0,void 0,(function(){var e,t,n,r,i;return o(this,(function(o){switch(o.label){case 0:e=0,t=Re,o.label=1;case 1:return e<t.length?(n=t[e],r=n[0],i=n[1],r()?[4,i()]:[3,3]):[3,4];case 2:return[2,o.sent()];case 3:return e++,[3,1];case 4:return[2,!1]}}))}))}function Ee(e,t){if(0==t.length||t.length>e.length)return-1;for(var n=0;n<e.length;n++){for(var r=0,o=0;o<t.length;o++){if(e[n+o]!==t[o]){r=0;break}r++}if(r==t.length)return n}return-1}var Oe,ke=window,Ce=document;var Te=((Oe={})[0]=function(){return void 0!==navigator.webdriver},Oe[1]=function(){return r(this,void 0,void 0,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:return(e=navigator.permissions)?[4,e.query({name:"notifications"})]:[2,void 0];case 1:return t=n.sent(),"undefined"==typeof Notification?[2,void 0]:[2,"denied"===Notification.permission&&"prompt"===t.state]}}))}))},Oe[2]=function(){var e=se.documentElement;return"webdriver"in ce||"_Selenium_IDE_Recorder"in ce||"callSelenium"in ce||"_selenium"in ce||"__webdriver_script_fn"in se||"__driver_evaluate"in se||"__webdriver_evaluate"in se||"__selenium_evaluate"in se||"__fxdriver_evaluate"in se||"__driver_unwrapped"in se||"__webdriver_unwrapped"in se||"__selenium_unwrapped"in se||"__fxdriver_unwrapped"in se||"__webdriver_script_func"in se||null!==e.getAttribute("selenium")||null!==e.getAttribute("webdriver")||null!==e.getAttribute("driver")},Oe[3]=function(){return r(this,void 0,void 0,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:if(void 0!==(e=function(){try{var e=localStorage.getItem(ye);if(!e)return;return"1"===e}catch(t){return}}()))return[2,e];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,Se()];case 2:return function(e){try{localStorage.setItem(ye,e?"1":"0")}catch(t){}}(t=n.sent()),[2,t];case 3:return n.sent(),[2,!1];case 4:return[2]}}))}))},Oe[4]=function(){if(!T())return!1;try{if([66,114,97,118,101].map((function(e){return String.fromCharCode(e)})).join("")in ke)return!0;var e=Ce.createElement("canvas");e.width=4,e.height=4,e.style.display="inline";var t=e.toDataURL();if(""===t)return!0;for(var n=window.atob(t.split(",")[1]),r=n.length,o=new Uint8Array(r),i=0;i<r;i++)o[i]=n.charCodeAt(i);var a=Ee(o,[73,68,65,84,24]);if(-1===a)return!1;var u=Ee(o,[73,69,78,68]);return-1!==a&&1321!==o.slice(a+5,u).reduce((function(e,t){return e+t}),0)}catch(c){return!1}},Oe);function Ae(){return j(Te,void 0,[])}var _e=document,Ie=location;function xe(e){for(var t=e+"=",n=0,r=_e.cookie.split(";");n<r.length;n++){for(var o=r[n],i=0;" "===o[i]&&i<o.length;)++i;if(o.indexOf(t)===i)return o.slice(i+t.length)}}function Me(e,t,n,r){var o=e+"="+t,i="expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString(),a=r?"domain="+r:"";_e.cookie=[o,"path=/",i,a].join("; ")}function Pe(e,t,n){var r=Ie.hostname;Ne(r,(function(t){!function(e,t){Me(e,"",-1,t)}(e,t)})),Ne(r,(function(r){return Me(e,t,n,r),xe(e)!==t}))&&Me(e,t,n)}function Ne(e,t){var n=e.length;do{if(n=n>0?e.lastIndexOf(".",n-1):-1,!1===t(e.slice(n+1)))return!1}while(n>=0);return!0}var De="_vid";function Le(e){return void 0===e&&(e=De),[xe(e),Be(e)]}function je(e,t){void 0===t&&(t=De),Pe(t,e,365),function(e,t){var n;try{null===(n=null===localStorage||void 0===localStorage?void 0:localStorage.setItem)||void 0===n||n.call(localStorage,e,t)}catch(r){}}(t,e)}function Be(e){var t,n;try{return null!==(n=null===(t=null===localStorage||void 0===localStorage?void 0:localStorage.getItem)||void 0===t?void 0:t.call(localStorage,e))&&void 0!==n?n:void 0}catch(r){}}function Fe(e,n,i,a,u){var c=this;var s=function(e,t){return r(c,void 0,void 0,(function(){return o(this,(function(n){return t?[2,void 0]:[2,J(e).then((function(e){return{tls:e}}),(function(e){return{tlsError:e}}))]}))}))},l=function(){return r(c,void 0,void 0,(function(){var n,r;return o(this,(function(o){switch(o.label){case 0:return[4,e.get()];case 1:return n=o.sent(),[4,Ae()];case 2:return r=o.sent(),[2,t(t({},n.components),r)]}}))}))},f=function(e){var t={token:n,region:i,endpoint:a,storageKey:u};console.log("Getting the visitor identifier:\n```\nversion: 3.0.1\ninitOptions: "+JSON.stringify(t,void 0,2)+"\ngetOptions: "+JSON.stringify(e,void 0,2)+"\n```")},d=function(e){for(var n={},r=0,o=Object.keys(e);r<o.length;r++){var i=o[r];e[i].error&&(n[i]=e[i].error)}Object.keys(n).length&&console.warn("Visitor data source errors:\n```\n"+JSON.stringify(n,(function(e,n){var r;return n instanceof Error?t(t({},n),{message:n.message,stack:null===(r=n.stack)||void 0===r?void 0:r.split("\n")}):n}),2)+"\n```")};return{get:function(e){var c=this;void 0===e&&(e={});var v,h=e.timeout,p=void 0===h?1e4:h,g=e.tag,m=e.linkedId,w=e.disableTls,b=e.extendedResult,y=e.ipResolution,R=e.debug;return R&&f(e),v=Q,W((function(){return r(c,void 0,void 0,(function(){var e,r,c,f;return o(this,(function(o){switch(o.label){case 0:return[4,Promise.all([s(p/2,w),l()])];case 1:return e=o.sent(),r=e[0],c=e[1],R&&d(c),[4,te(t(t({token:n,endpoint:ee(i,a)},r),{components:c,tag:g,visitorId:Le(u),linkedId:m,extendedResult:b,ipResolution:y,debug:R}))];case 2:return je((f=o.sent()).visitorId,u),[2,f]}}))}))}),p,(function(){throw new Error(v)}))}}}function Ue(e){var t=e.token,n=e.region,i=e.endpoint,a=e.storageKey,u=e.delayFallback;return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:if(!t||"string"!=typeof t)throw new Error("Token required");return[4,U({delayFallback:u})];case 1:return[2,Fe(e.sent(),t,n,i,a)]}}))}))}var qe="Token required",Ve="Token not found",Ge="Token expired",We="Request cannot be parsed",Ke="Request failed",He="Request failed to process",Je="Too many requests, rate limit exceeded",ze={load:Ue,ERROR_CLIENT_TIMEOUT:Q,ERROR_NETWORK_CONNECTION:Y,ERROR_NETWORK_ABORT:Z,ERROR_TOKEN_MISSING:qe,ERROR_TOKEN_INVALID:Ve,ERROR_TOKEN_EXPIRED:Ge,ERROR_BAD_REQUEST_FORMAT:We,ERROR_GENERAL_SERVER_FAILURE:Ke,ERROR_SERVER_TIMEOUT:He,ERROR_RATE_LIMIT:Je};e.ERROR_BAD_REQUEST_FORMAT=We,e.ERROR_CLIENT_TIMEOUT=Q,e.ERROR_GENERAL_SERVER_FAILURE=Ke,e.ERROR_NETWORK_ABORT=Z,e.ERROR_NETWORK_CONNECTION=Y,e.ERROR_RATE_LIMIT=Je,e.ERROR_SERVER_TIMEOUT=He,e.ERROR_TOKEN_EXPIRED=Ge,e.ERROR_TOKEN_INVALID=Ve,e.ERROR_TOKEN_MISSING=qe,e.default=ze,e.load=Ue,Object.defineProperty(e,"__esModule",{value:!0})}));
{
"name": "@fingerprintjs/fingerprintjs-pro",
"description": "FingerprintJS Pro client agent",
"version": "3.0.0",
"version": "3.0.1",
"keywords": [

@@ -9,3 +9,5 @@ "browser",

"identification",
"fraud detection"
"fraud detection",
"browser fingerprint",
"device fingerprint"
],

@@ -27,4 +29,7 @@ "homepage": "https://fingerprintjs.com",

"playground:build": "cd playground && webpack --mode production",
"lint": "eslint --ext .js,.ts --ignore-path .gitignore --max-warnings 0 .",
"lint:fix": "yarn lint --fix",
"test:local": "karma start tests/karma.local.config.js --single-run",
"test:browserstack": "karma start tests/karma.browserstack.config.js --single-run",
"test:dts": "tsc --noEmit dist/fp.d.ts",
"open-dev:on": "git submodule update --init && yarn add link:subpackages/fingerprintjs && yarn --cwd subpackages/fingerprintjs install && yarn --cwd subpackages/fingerprintjs build",

@@ -35,7 +40,6 @@ "open-dev:off": "yarn add @fingerprintjs/fingerprintjs --exact",

"dependencies": {
"@fingerprintjs/fingerprintjs": "3.0.0",
"@fingerprintjs/fingerprintjs": "3.0.1",
"tslib": "^2.0.1"
},
"devDependencies": {
"@babel/plugin-transform-modules-commonjs": "^7.10.4",
"@rollup/plugin-json": "^4.1.0",

@@ -45,5 +49,11 @@ "@rollup/plugin-node-resolve": "^9.0.0",

"@types/jasmine": "^3.5.14",
"@types/jasmine-ajax": "^3.3.1",
"@typescript-eslint/eslint-plugin": "^4.5.0",
"@typescript-eslint/parser": "^4.5.0",
"clean-webpack-plugin": "^3.0.0",
"fetch-mock": "^9.10.7",
"eslint": "^7.11.0",
"eslint-config-prettier": "^6.13.0",
"eslint-plugin-prettier": "^3.1.4",
"html-webpack-plugin": "^4.5.0",
"jasmine-ajax": "^4.0.0",
"karma": "^5.2.3",

@@ -57,3 +67,4 @@ "karma-browserstack-launcher": "^1.6.0",

"karma-typescript": "^5.2.0",
"karma-typescript-es6-transform": "^5.2.0",
"prettier": "^2.1.2",
"promise-polyfill": "^8.2.0",
"rimraf": "^3.0.2",

@@ -60,0 +71,0 @@ "rollup": "^2.28.2",

<p align="center">
<br>
<a href="https://fingerprintjs.com">

@@ -24,8 +25,11 @@ <img src="https://raw.githubusercontent.com/fingerprintjs/fingerprintjs/b8b0af76a204aba9e270132be5f53d492f2232f3/resources/logo.svg" alt="FingerprintJS" width="300px" />

<script>
function onFingerprintJSLoad(fpAgent) {
// The FingerprintJS agent is ready. Get a visitor identifier when you'd like to.
fpAgent.get().then(result => {
// This is the visitor identifier:
const visitorId = result.visitorId;
console.log(visitorId);
function initFingerprintJS() {
FingerprintJS.load({ token: 'your-pro-key' }).then(fp => {
// The FingerprintJS agent is ready.
// Get a visitor identifier when you'd like to.
fp.get().then(result => {
// This is the visitor identifier:
const visitorId = result.visitorId;
console.log(visitorId);
});
});

@@ -35,4 +39,5 @@ }

<script
async src="https://cdn.jsdelivr.net/npm/@fingerprintjs/fingerprintjs-pro@3/dist/fp.min.js"
onload="FingerprintJS.load({ token: 'your-pro-key' }).then(onFingerprintJSLoad)"
async
src="//cdn.jsdelivr.net/npm/@fingerprintjs/fingerprintjs-pro@3/dist/fp.min.js"
onload="initFingerprintJS()"
></script>

@@ -57,6 +62,7 @@ ```

// We recommend to call `load` at application startup.
const fpAgent = await FingerprintJS.load({ token: 'your-pro-key' });
const fp = await FingerprintJS.load({ token: 'your-pro-key' });
// The FingerprintJS agent is ready. Get a visitor identifier when you'd like to.
const result = await fpAgent.get();
// The FingerprintJS agent is ready.
// Get a visitor identifier when you'd like to.
const result = await fp.get();

@@ -73,2 +79,4 @@ // This is the visitor identifier:

⬆️ [How to migrate from FingerprintJS Pro version 2](https://dev.fingerprintjs.com/v3/docs/migrating-from-previous-versions#from-fingerprintjs-pro-version-2)
📕 [FingerprintJS Pro documentation](https://dev.fingerprintjs.com)
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc