Socket
Socket
Sign inDemoInstall

@fingerprintjs/fingerprintjs-pro

Package Overview
Dependencies
1
Maintainers
2
Versions
61
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.7.1 to 3.8.0

4

dist/fp.cjs.min.js
/**
* FingerprintJS Pro v3.7.1 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
* FingerprintJS Pro v3.8.0 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
*

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib");function t(e){for(var t="",r=0;r<e.length;++r)if(r>0){var R=e[r].toLowerCase();R!==e[r]?t+=" "+R:t+=e[r]}else t+=e[r].toUpperCase();return t}var r=t("WrongRegion"),R=t("SubscriptionNotActive"),o=t("UnsupportedVersion"),n=t("InstallationMethodRestricted"),i=t("HostnameRestricted");function E(e,t,r){return void 0===r&&(r=0),t(r).catch((function(R){if(r>=e.maxRetries||!e.shouldRetry(R))throw R;var o,n,i,_,s=(o=e.baseDelay,n=e.maxDelay,i=e.baseDelay*Math.pow(2,r),Math.max(o,Math.min(n,i)));return(_=s,new Promise((function(e){return setTimeout(e,_)}))).then((function(){return E(e,t,r+1)}))}))}var _="Failed to load the JS script of the agent",s="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js";function a(t){var r,R,o=t.scriptUrlPattern,n=t.token,i=t.apiKey,a=void 0===i?n:i,O=e.__rest(t,["scriptUrlPattern","token","apiKey"]),u=(r=t,R="scriptUrlPattern",Object.prototype.hasOwnProperty.call(r,R)?o:void 0),I=[];return Promise.resolve().then((function(){if(!a||"string"!=typeof a)throw new Error("API key required");return E({maxRetries:5,baseDelay:100,maxDelay:3e3,shouldRetry:function(e){return!(e instanceof Error&&"Blocked by CSP"===e.message)}},(function(){var e,t=new Date,r=function(){return I.push({startedAt:t,finishedAt:new Date})},R=function(e,t,r,R){var o,n=document,i="securitypolicyviolation",E=function(t){var r=new URL(e,location.href),R=t.blockedURI;R!==r.href&&R!==r.protocol.slice(0,-1)&&R!==r.origin||(o=t,_())};n.addEventListener(i,E);var _=function(){return n.removeEventListener(i,E)};return null==R||R.then(_,_),Promise.resolve().then(t).then((function(e){return _(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(_(),o)return r(o);throw e}))}))}(e=function(e,t){void 0===t&&(t=s);var r=encodeURIComponent;return t.replace(/<[^<>]+>/g,(function(t){return"<version>"===t?"3":"<apiKey>"===t?r(e):"<loaderVersion>"===t?r("3.7.1"):t}))}(a,u),(function(){return function(e){return new Promise((function(t,r){var R=document.createElement("script"),o=function(){var e;return null===(e=R.parentNode)||void 0===e?void 0:e.removeChild(R)},n=document.head||document.getElementsByTagName("head")[0];R.onload=function(){o(),t()},R.onerror=function(){o(),r(new Error(_))},R.async=!0,R.src=e,n.appendChild(R)}))}(e)}),(function(){throw new Error("Blocked by CSP")}));return R.then(r,r),R}))})).then((function(){var t=window,r="__fpjs_p_l_b",R=t[r];if(function(e,t){var r,R=null===(r=Object.getOwnPropertyDescriptor)||void 0===r?void 0:r.call(Object,e,t);(null==R?void 0:R.configurable)?delete e[t]:R&&!R.writable||(e[t]=void 0)}(t,r),"function"!=typeof(null==R?void 0:R.load))throw new Error(_);return R.load(e.__assign(e.__assign({},O),{ldi:{attempts:I}}))}))}var O={load:a,ERROR_SCRIPT_LOAD_FAIL:_,ERROR_API_KEY_EXPIRED:"API key expired",ERROR_API_KEY_INVALID:"API key not found",ERROR_API_KEY_MISSING:"API key required",ERROR_BAD_REQUEST_FORMAT:"Request cannot be parsed",ERROR_BAD_RESPONSE_FORMAT:"Response cannot be parsed",ERROR_CLIENT_TIMEOUT:"Client timeout",ERROR_CSP_BLOCK:"Blocked by CSP",ERROR_FORBIDDEN_ENDPOINT:i,ERROR_FORBIDDEN_HEADER:"Not available with restricted header",ERROR_FORBIDDEN_ORIGIN:"Not available for this origin",ERROR_GENERAL_SERVER_FAILURE:"Request failed",ERROR_INSTALLATION_METHOD_RESTRICTED:n,ERROR_NETWORK_ABORT:"Network request aborted",ERROR_NETWORK_CONNECTION:"Network connection error",ERROR_RATE_LIMIT:"Too many requests, rate limit exceeded",ERROR_SERVER_TIMEOUT:"Request failed to process",ERROR_SUBSCRIPTION_NOT_ACTIVE:R,ERROR_TOKEN_EXPIRED:"API key expired",ERROR_TOKEN_INVALID:"API key not found",ERROR_TOKEN_MISSING:"API key required",ERROR_UNSUPPORTED_VERSION:o,ERROR_WRONG_REGION:r};exports.ERROR_API_KEY_EXPIRED="API key expired",exports.ERROR_API_KEY_INVALID="API key not found",exports.ERROR_API_KEY_MISSING="API key required",exports.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",exports.ERROR_BAD_RESPONSE_FORMAT="Response cannot be parsed",exports.ERROR_CLIENT_TIMEOUT="Client timeout",exports.ERROR_CSP_BLOCK="Blocked by CSP",exports.ERROR_FORBIDDEN_ENDPOINT=i,exports.ERROR_FORBIDDEN_HEADER="Not available with restricted header",exports.ERROR_FORBIDDEN_ORIGIN="Not available for this origin",exports.ERROR_GENERAL_SERVER_FAILURE="Request failed",exports.ERROR_INSTALLATION_METHOD_RESTRICTED=n,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_SCRIPT_LOAD_FAIL=_,exports.ERROR_SERVER_TIMEOUT="Request failed to process",exports.ERROR_SUBSCRIPTION_NOT_ACTIVE=R,exports.ERROR_TOKEN_EXPIRED="API key expired",exports.ERROR_TOKEN_INVALID="API key not found",exports.ERROR_TOKEN_MISSING="API key required",exports.ERROR_UNSUPPORTED_VERSION=o,exports.ERROR_WRONG_REGION=r,exports.default=O,exports.load=a;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib");function t(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function r(e){for(var t="",r=0;r<e.length;++r)if(r>0){var n=e[r].toLowerCase();n!==e[r]?t+=" "+n:t+=e[r]}else t+=e[r].toUpperCase();return t}var n={default:"endpoint"},o={default:"tlsEndpoint"},R=r("WrongRegion"),i=r("SubscriptionNotActive"),E=r("UnsupportedVersion"),u=r("InstallationMethodRestricted"),s=r("HostnameRestricted");function a(t,r){var n=[];return function(t,r){var n=5,o=(a=t,_=e.__spreadArrays(a),{current:function(){return _[0]},postpone:function(){var e=_.shift();void 0!==e&&_.push(e)},exclude:function(){_.shift()}}),R=(E=100,u=3e3,s=0,function(){return Math.random()*Math.min(u,E*Math.pow(2,s++))}),i=o.current();var E,u,s;var a,_;if(void 0===i)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var c=function(e,t){return r(e).catch((function(e){if(t+1>=n)throw e;!function(e){if(!(e instanceof Error))return!1;var t=e.message;return"Blocked by CSP"===t||"9319"===t}(e)?o.postpone():o.exclude();var r,i=o.current();if(void 0===i)throw e;return(r=R(),new Promise((function(e){return setTimeout(e,r)}))).then((function(){return c(i,t+1)}))}))};return c(i,0)}(t,(function(e){var t=new Date,o=function(){return n.push({url:e,startedAt:t,finishedAt:new Date})},R=r(e);return R.then(o,o),R})).then((function(e){return[e,{attempts:n}]}))}var _="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",c=_,O="Failed to load the JS script of the agent";function d(r){var n;r.scriptUrlPattern;var o=r.token,R=r.apiKey,i=void 0===R?o:R,E=e.__rest(r,["scriptUrlPattern","token","apiKey"]),u=null!==(n=t(r,"scriptUrlPattern"))&&void 0!==n?n:_;return Promise.resolve().then((function(){if(!i||"string"!=typeof i)throw new Error("API key required");return a(function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var r=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?r(t):"<loaderVersion>"===e?r("3.8.0"):e}))}(String(e),t)}))}(u,i),p).catch(I)})).then((function(t){var r=t[0],n=t[1];return r.load(e.__assign(e.__assign({},E),{ldi:n}))}))}function p(e){return function(e,t,r,n){var o,R=document,i="securitypolicyviolation",E=function(t){var r=new URL(e,location.href),n=t.blockedURI;n!==r.href&&n!==r.protocol.slice(0,-1)&&n!==r.origin||(o=t,u())};R.addEventListener(i,E);var u=function(){return R.removeEventListener(i,E)};return null==n||n.then(u,u),Promise.resolve().then(t).then((function(e){return u(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(u(),o)return r(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,r){var n=document.createElement("script"),o=function(){var e;return null===(e=n.parentNode)||void 0===e?void 0:e.removeChild(n)},R=document.head||document.getElementsByTagName("head")[0];n.onload=function(){o(),t()},n.onerror=function(){o(),r(new Error(O))},n.async=!0,n.src=e,R.appendChild(n)}))}(e)}),(function(){throw new Error("Blocked by CSP")})).then(l)}function l(){var e=window,t="__fpjs_p_l_b",r=e[t];if(function(e,t){var r,n=null===(r=Object.getOwnPropertyDescriptor)||void 0===r?void 0:r.call(Object,e,t);(null==n?void 0:n.configurable)?delete e[t]:n&&!n.writable||(e[t]=void 0)}(e,t),"function"!=typeof(null==r?void 0:r.load))throw new Error("9319");return r}function I(e){throw e instanceof Error&&"9319"===e.message?new Error(O):e}var f={load:d,defaultScriptUrlPattern:c,ERROR_SCRIPT_LOAD_FAIL:O,ERROR_API_KEY_EXPIRED:"API key expired",ERROR_API_KEY_INVALID:"API key not found",ERROR_API_KEY_MISSING:"API key required",ERROR_BAD_REQUEST_FORMAT:"Request cannot be parsed",ERROR_BAD_RESPONSE_FORMAT:"Response cannot be parsed",ERROR_CLIENT_TIMEOUT:"Client timeout",ERROR_CSP_BLOCK:"Blocked by CSP",ERROR_FORBIDDEN_ENDPOINT:s,ERROR_FORBIDDEN_HEADER:"Not available with restricted header",ERROR_FORBIDDEN_ORIGIN:"Not available for this origin",ERROR_GENERAL_SERVER_FAILURE:"Request failed",ERROR_INSTALLATION_METHOD_RESTRICTED:u,ERROR_NETWORK_ABORT:"Network request aborted",ERROR_NETWORK_CONNECTION:"Network connection error",ERROR_RATE_LIMIT:"Too many requests, rate limit exceeded",ERROR_SERVER_TIMEOUT:"Request failed to process",ERROR_SUBSCRIPTION_NOT_ACTIVE:i,ERROR_TOKEN_EXPIRED:"API key expired",ERROR_TOKEN_INVALID:"API key not found",ERROR_TOKEN_MISSING:"API key required",ERROR_UNSUPPORTED_VERSION:E,ERROR_WRONG_REGION:R,defaultEndpoint:n,defaultTlsEndpoint:o};exports.ERROR_API_KEY_EXPIRED="API key expired",exports.ERROR_API_KEY_INVALID="API key not found",exports.ERROR_API_KEY_MISSING="API key required",exports.ERROR_BAD_REQUEST_FORMAT="Request cannot be parsed",exports.ERROR_BAD_RESPONSE_FORMAT="Response cannot be parsed",exports.ERROR_CLIENT_TIMEOUT="Client timeout",exports.ERROR_CSP_BLOCK="Blocked by CSP",exports.ERROR_FORBIDDEN_ENDPOINT=s,exports.ERROR_FORBIDDEN_HEADER="Not available with restricted header",exports.ERROR_FORBIDDEN_ORIGIN="Not available for this origin",exports.ERROR_GENERAL_SERVER_FAILURE="Request failed",exports.ERROR_INSTALLATION_METHOD_RESTRICTED=u,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_SCRIPT_LOAD_FAIL=O,exports.ERROR_SERVER_TIMEOUT="Request failed to process",exports.ERROR_SUBSCRIPTION_NOT_ACTIVE=i,exports.ERROR_TOKEN_EXPIRED="API key expired",exports.ERROR_TOKEN_INVALID="API key not found",exports.ERROR_TOKEN_MISSING="API key required",exports.ERROR_UNSUPPORTED_VERSION=E,exports.ERROR_WRONG_REGION=R,exports.default=f,exports.defaultEndpoint=n,exports.defaultScriptUrlPattern=c,exports.defaultTlsEndpoint=o,exports.load=d;
/**
* FingerprintJS Pro v3.7.1 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
* FingerprintJS Pro v3.8.0 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
*

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

| 'botd';
/**
* Represents the default API endpoint for getting visitor data. Can be used as a part of the `endpoint` list.
*
* The value of this constant is a placeholder, it may change after any update.
*/
declare const defaultEndpoint: {
default: "endpoint";
};
/**
* API endpoint for getting visitor data
*/
declare type Endpoint = string | typeof defaultEndpoint | readonly (string | typeof defaultEndpoint)[];
/**
* Represents the default API endpoint for TLS requests. Can be used as a part of the `tlsEndpoint` list.
*
* The value of this constant is a placeholder, it may change after any update.
*/
declare const defaultTlsEndpoint: {
default: "tlsEndpoint";
};
/**
* API endpoint for TLS requests
*/
declare type TlsEndpoint = string | typeof defaultTlsEndpoint | readonly (string | typeof defaultTlsEndpoint)[];
declare type ApiKeyOptions = {

@@ -281,12 +305,20 @@ /** Public API key */

* Your custom API endpoint for getting visitor data.
* If multiple endpoints are given, the agent will try them one by one until it finds a working one.
* If an empty array is given, the agent will throw an error.
* @example
* 'https://fp.example.com'
* @example
* ['https://fp.example.com', FingerprintJS.defaultEndpoint]
*/
endpoint?: string;
endpoint?: Endpoint;
/**
* Your custom TLS endpoint.
* If multiple endpoints are given, the agent will try them one by one until it finds a working one.
* If an empty array is given, the TLS request will be skipped.
* @example
* 'https://tls.fp.example.com'
* @example
* ['https://tls.fp.example.com', FingerprintJS.defaultTlsEndpoint]
*/
tlsEndpoint?: string;
tlsEndpoint?: TlsEndpoint;
/**

@@ -413,12 +445,24 @@ * Disables the extra TLS request

/**
* Represents the default pattern of the JS agent script URL. Can be used as a part of the `scriptUrlPattern` list.
*
* The value of this constant is a placeholder. Both the value and its type may change after any update.
*/
declare const defaultScriptUrlPattern: string;
/**
* A JS agent script URL pattern.
*
* The following substrings are replaced:
* - <version> — the major version of JS agent;
* - <apiKey> — the public key set via the `apiKey` option;
* - <loaderVersion> — the version of this package;
*/
declare type ScriptUrlPattern = string | typeof defaultScriptUrlPattern | readonly (string | typeof defaultScriptUrlPattern)[];
declare type LoadOptions = LoaderLoadOptions & {
/**
* The pattern of the JS agent script URL.
*
* The following substrings are replaced:
* - <version> — the major version of JS agent;
* - <apiKey> — the public key set via the `apiKey` option;
* - <loaderVersion> — the version of this package;
* If multiple endpoints are given, the agent will try them one by one until it finds a working one.
* If an empty array is given, the agent will throw an error.
*/
scriptUrlPattern?: string;
scriptUrlPattern?: ScriptUrlPattern;
};

@@ -430,2 +474,3 @@ declare const ERROR_SCRIPT_LOAD_FAIL = "Failed to load the JS script of the agent";

load: typeof load;
defaultScriptUrlPattern: string;
ERROR_SCRIPT_LOAD_FAIL: string;

@@ -454,4 +499,10 @@ ERROR_API_KEY_EXPIRED: string;

ERROR_WRONG_REGION: string;
defaultEndpoint: {
default: "endpoint";
};
defaultTlsEndpoint: {
default: "tlsEndpoint";
};
};
export { PublicAgent as Agent, Confidence, ERROR_API_KEY_EXPIRED, ERROR_API_KEY_INVALID, ERROR_API_KEY_MISSING, ERROR_BAD_REQUEST_FORMAT, ERROR_BAD_RESPONSE_FORMAT, ERROR_CLIENT_TIMEOUT, ERROR_CSP_BLOCK, ERROR_FORBIDDEN_ENDPOINT, ERROR_FORBIDDEN_HEADER, ERROR_FORBIDDEN_ORIGIN, ERROR_GENERAL_SERVER_FAILURE, ERROR_INSTALLATION_METHOD_RESTRICTED, ERROR_NETWORK_ABORT, ERROR_NETWORK_CONNECTION, ERROR_RATE_LIMIT, ERROR_SCRIPT_LOAD_FAIL, ERROR_SERVER_TIMEOUT, ERROR_SUBSCRIPTION_NOT_ACTIVE, ERROR_TOKEN_EXPIRED, ERROR_TOKEN_INVALID, ERROR_TOKEN_MISSING, ERROR_UNSUPPORTED_VERSION, ERROR_WRONG_REGION, ExtendedGetResult, FullIpExtendedGetResult, FullIpLocation, PublicGetOptions as GetOptions, GetResult, IPResolution, IpLocation, LoadOptions, Product, Region, ZeroTrust, _default as default, load };
export { PublicAgent as Agent, Confidence, ERROR_API_KEY_EXPIRED, ERROR_API_KEY_INVALID, ERROR_API_KEY_MISSING, ERROR_BAD_REQUEST_FORMAT, ERROR_BAD_RESPONSE_FORMAT, ERROR_CLIENT_TIMEOUT, ERROR_CSP_BLOCK, ERROR_FORBIDDEN_ENDPOINT, ERROR_FORBIDDEN_HEADER, ERROR_FORBIDDEN_ORIGIN, ERROR_GENERAL_SERVER_FAILURE, ERROR_INSTALLATION_METHOD_RESTRICTED, ERROR_NETWORK_ABORT, ERROR_NETWORK_CONNECTION, ERROR_RATE_LIMIT, ERROR_SCRIPT_LOAD_FAIL, ERROR_SERVER_TIMEOUT, ERROR_SUBSCRIPTION_NOT_ACTIVE, ERROR_TOKEN_EXPIRED, ERROR_TOKEN_INVALID, ERROR_TOKEN_MISSING, ERROR_UNSUPPORTED_VERSION, ERROR_WRONG_REGION, Endpoint, ExtendedGetResult, FullIpExtendedGetResult, FullIpLocation, PublicGetOptions as GetOptions, GetResult, IPResolution, IpLocation, LoadOptions, Product, Region, ScriptUrlPattern, TlsEndpoint, ZeroTrust, _default as default, defaultEndpoint, defaultScriptUrlPattern, defaultTlsEndpoint, load };
/**
* FingerprintJS Pro v3.7.1 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
* FingerprintJS Pro v3.8.0 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
*

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

import{__rest as e,__assign as t}from"tslib";function r(e){for(var t="",r=0;r<e.length;++r)if(r>0){var n=e[r].toLowerCase();n!==e[r]?t+=" "+n:t+=e[r]}else t+=e[r].toUpperCase();return t}var n="Client timeout",o="Network connection error",i="Network request aborted",R="Response cannot be parsed",a="Blocked by CSP",u=/*#__PURE__*/r("WrongRegion"),s=/*#__PURE__*/r("SubscriptionNotActive"),c=/*#__PURE__*/r("UnsupportedVersion"),d=/*#__PURE__*/r("InstallationMethodRestricted"),l=/*#__PURE__*/r("HostnameRestricted"),E="API key required",_="API key not found",f="API key expired",O="Request cannot be parsed",I="Request failed",p="Request failed to process",v="Too many requests, rate limit exceeded",N="Not available for this origin",h="Not available with restricted header",y="API key required",P="API key not found",m="API key expired";function A(e,t,r){return void 0===r&&(r=0),t(r).catch((function(n){if(r>=e.maxRetries||!e.shouldRetry(n))throw n;var o,i,R,a,u=(o=e.baseDelay,i=e.maxDelay,R=e.baseDelay*Math.pow(2,r),Math.max(o,Math.min(i,R)));return(a=u,new Promise((function(e){return setTimeout(e,a)}))).then((function(){return A(e,t,r+1)}))}))}var T="Failed to load the JS script of the agent",w="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js";function b(r){var n,o,i=r.scriptUrlPattern,R=r.token,a=r.apiKey,u=void 0===a?R:a,s=e(r,["scriptUrlPattern","token","apiKey"]),c=(n=r,o="scriptUrlPattern",Object.prototype.hasOwnProperty.call(n,o)?i:void 0),d=[];return Promise.resolve().then((function(){if(!u||"string"!=typeof u)throw new Error("API key required");return A({maxRetries:5,baseDelay:100,maxDelay:3e3,shouldRetry:function(e){return!(e instanceof Error&&"Blocked by CSP"===e.message)}},(function(){var e,t=new Date,r=function(){return d.push({startedAt:t,finishedAt:new Date})},n=function(e,t,r,n){var o,i=document,R="securitypolicyviolation",a=function(t){var r=new URL(e,location.href),n=t.blockedURI;n!==r.href&&n!==r.protocol.slice(0,-1)&&n!==r.origin||(o=t,u())};i.addEventListener(R,a);var u=function(){return i.removeEventListener(R,a)};return null==n||n.then(u,u),Promise.resolve().then(t).then((function(e){return u(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(u(),o)return r(o);throw e}))}))}(e=function(e,t){void 0===t&&(t=w);var r=encodeURIComponent;return t.replace(/<[^<>]+>/g,(function(t){return"<version>"===t?"3":"<apiKey>"===t?r(e):"<loaderVersion>"===t?r("3.7.1"):t}))}(u,c),(function(){return function(e){return new Promise((function(t,r){var n=document.createElement("script"),o=function(){var e;return null===(e=n.parentNode)||void 0===e?void 0:e.removeChild(n)},i=document.head||document.getElementsByTagName("head")[0];n.onload=function(){o(),t()},n.onerror=function(){o(),r(new Error(T))},n.async=!0,n.src=e,i.appendChild(n)}))}(e)}),(function(){throw new Error("Blocked by CSP")}));return n.then(r,r),n}))})).then((function(){var e=window,r="__fpjs_p_l_b",n=e[r];if(function(e,t){var r,n=null===(r=Object.getOwnPropertyDescriptor)||void 0===r?void 0:r.call(Object,e,t);(null==n?void 0:n.configurable)?delete e[t]:n&&!n.writable||(e[t]=void 0)}(e,r),"function"!=typeof(null==n?void 0:n.load))throw new Error(T);return n.load(t(t({},s),{ldi:{attempts:d}}))}))}var D={load:b,ERROR_SCRIPT_LOAD_FAIL:T,ERROR_API_KEY_EXPIRED:"API key expired",ERROR_API_KEY_INVALID:"API key not found",ERROR_API_KEY_MISSING:"API key required",ERROR_BAD_REQUEST_FORMAT:"Request cannot be parsed",ERROR_BAD_RESPONSE_FORMAT:"Response cannot be parsed",ERROR_CLIENT_TIMEOUT:"Client timeout",ERROR_CSP_BLOCK:"Blocked by CSP",ERROR_FORBIDDEN_ENDPOINT:l,ERROR_FORBIDDEN_HEADER:"Not available with restricted header",ERROR_FORBIDDEN_ORIGIN:"Not available for this origin",ERROR_GENERAL_SERVER_FAILURE:"Request failed",ERROR_INSTALLATION_METHOD_RESTRICTED:d,ERROR_NETWORK_ABORT:"Network request aborted",ERROR_NETWORK_CONNECTION:"Network connection error",ERROR_RATE_LIMIT:"Too many requests, rate limit exceeded",ERROR_SERVER_TIMEOUT:"Request failed to process",ERROR_SUBSCRIPTION_NOT_ACTIVE:s,ERROR_TOKEN_EXPIRED:"API key expired",ERROR_TOKEN_INVALID:"API key not found",ERROR_TOKEN_MISSING:"API key required",ERROR_UNSUPPORTED_VERSION:c,ERROR_WRONG_REGION:u};export{f as ERROR_API_KEY_EXPIRED,_ as ERROR_API_KEY_INVALID,E as ERROR_API_KEY_MISSING,O as ERROR_BAD_REQUEST_FORMAT,R as ERROR_BAD_RESPONSE_FORMAT,n as ERROR_CLIENT_TIMEOUT,a as ERROR_CSP_BLOCK,l as ERROR_FORBIDDEN_ENDPOINT,h as ERROR_FORBIDDEN_HEADER,N as ERROR_FORBIDDEN_ORIGIN,I as ERROR_GENERAL_SERVER_FAILURE,d as ERROR_INSTALLATION_METHOD_RESTRICTED,i as ERROR_NETWORK_ABORT,o as ERROR_NETWORK_CONNECTION,v as ERROR_RATE_LIMIT,T as ERROR_SCRIPT_LOAD_FAIL,p as ERROR_SERVER_TIMEOUT,s as ERROR_SUBSCRIPTION_NOT_ACTIVE,m as ERROR_TOKEN_EXPIRED,P as ERROR_TOKEN_INVALID,y as ERROR_TOKEN_MISSING,c as ERROR_UNSUPPORTED_VERSION,u as ERROR_WRONG_REGION,D as default,b as load};
import{__spreadArrays as e,__rest as t,__assign as r}from"tslib";function n(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function o(e){for(var t="",r=0;r<e.length;++r)if(r>0){var n=e[r].toLowerCase();n!==e[r]?t+=" "+n:t+=e[r]}else t+=e[r].toUpperCase();return t}var i={default:"endpoint"},u={default:"tlsEndpoint"},a="Client timeout",R="Network connection error",c="Network request aborted",d="Response cannot be parsed",s="Blocked by CSP",l=/*#__PURE__*/o("WrongRegion"),f=/*#__PURE__*/o("SubscriptionNotActive"),E=/*#__PURE__*/o("UnsupportedVersion"),p=/*#__PURE__*/o("InstallationMethodRestricted"),_=/*#__PURE__*/o("HostnameRestricted"),O="API key required",v="API key not found",I="API key expired",h="Request cannot be parsed",P="Request failed",N="Request failed to process",A="Too many requests, rate limit exceeded",y="Not available for this origin",T="Not available with restricted header",m="API key required",w="API key not found",S="API key expired";function k(t,r){var n=[];return function(t,r){var n=5,o=(d=t,s=e(d),{current:function(){return s[0]},postpone:function(){var e=s.shift();void 0!==e&&s.push(e)},exclude:function(){s.shift()}}),i=(a=100,R=3e3,c=0,function(){return Math.random()*Math.min(R,a*Math.pow(2,c++))}),u=o.current();var a,R,c;var d,s;if(void 0===u)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var l=function(e,t){return r(e).catch((function(e){if(t+1>=n)throw e;!function(e){if(!(e instanceof Error))return!1;var t=e.message;return"Blocked by CSP"===t||"9319"===t}(e)?o.postpone():o.exclude();var r,u=o.current();if(void 0===u)throw e;return(r=i(),new Promise((function(e){return setTimeout(e,r)}))).then((function(){return l(u,t+1)}))}))};return l(u,0)}(t,(function(e){var t=new Date,o=function(){return n.push({url:e,startedAt:t,finishedAt:new Date})},i=r(e);return i.then(o,o),i})).then((function(e){return[e,{attempts:n}]}))}var b="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",D=b,C="Failed to load the JS script of the agent";function U(e){var o;e.scriptUrlPattern;var i=e.token,u=e.apiKey,a=void 0===u?i:u,R=t(e,["scriptUrlPattern","token","apiKey"]),c=null!==(o=n(e,"scriptUrlPattern"))&&void 0!==o?o:b;return Promise.resolve().then((function(){if(!a||"string"!=typeof a)throw new Error("API key required");return k(function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var r=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?r(t):"<loaderVersion>"===e?r("3.8.0"):e}))}(String(e),t)}))}(c,a),g).catch(q)})).then((function(e){var t=e[0],n=e[1];return t.load(r(r({},R),{ldi:n}))}))}function g(e){return function(e,t,r,n){var o,i=document,u="securitypolicyviolation",a=function(t){var r=new URL(e,location.href),n=t.blockedURI;n!==r.href&&n!==r.protocol.slice(0,-1)&&n!==r.origin||(o=t,R())};i.addEventListener(u,a);var R=function(){return i.removeEventListener(u,a)};return null==n||n.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(R(),o)return r(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,r){var n=document.createElement("script"),o=function(){var e;return null===(e=n.parentNode)||void 0===e?void 0:e.removeChild(n)},i=document.head||document.getElementsByTagName("head")[0];n.onload=function(){o(),t()},n.onerror=function(){o(),r(new Error(C))},n.async=!0,n.src=e,i.appendChild(n)}))}(e)}),(function(){throw new Error("Blocked by CSP")})).then(L)}function L(){var e=window,t="__fpjs_p_l_b",r=e[t];if(function(e,t){var r,n=null===(r=Object.getOwnPropertyDescriptor)||void 0===r?void 0:r.call(Object,e,t);(null==n?void 0:n.configurable)?delete e[t]:n&&!n.writable||(e[t]=void 0)}(e,t),"function"!=typeof(null==r?void 0:r.load))throw new Error("9319");return r}function q(e){throw e instanceof Error&&"9319"===e.message?new Error(C):e}var B={load:U,defaultScriptUrlPattern:D,ERROR_SCRIPT_LOAD_FAIL:C,ERROR_API_KEY_EXPIRED:"API key expired",ERROR_API_KEY_INVALID:"API key not found",ERROR_API_KEY_MISSING:"API key required",ERROR_BAD_REQUEST_FORMAT:"Request cannot be parsed",ERROR_BAD_RESPONSE_FORMAT:"Response cannot be parsed",ERROR_CLIENT_TIMEOUT:"Client timeout",ERROR_CSP_BLOCK:"Blocked by CSP",ERROR_FORBIDDEN_ENDPOINT:_,ERROR_FORBIDDEN_HEADER:"Not available with restricted header",ERROR_FORBIDDEN_ORIGIN:"Not available for this origin",ERROR_GENERAL_SERVER_FAILURE:"Request failed",ERROR_INSTALLATION_METHOD_RESTRICTED:p,ERROR_NETWORK_ABORT:"Network request aborted",ERROR_NETWORK_CONNECTION:"Network connection error",ERROR_RATE_LIMIT:"Too many requests, rate limit exceeded",ERROR_SERVER_TIMEOUT:"Request failed to process",ERROR_SUBSCRIPTION_NOT_ACTIVE:f,ERROR_TOKEN_EXPIRED:"API key expired",ERROR_TOKEN_INVALID:"API key not found",ERROR_TOKEN_MISSING:"API key required",ERROR_UNSUPPORTED_VERSION:E,ERROR_WRONG_REGION:l,defaultEndpoint:i,defaultTlsEndpoint:u};export{I as ERROR_API_KEY_EXPIRED,v as ERROR_API_KEY_INVALID,O as ERROR_API_KEY_MISSING,h as ERROR_BAD_REQUEST_FORMAT,d as ERROR_BAD_RESPONSE_FORMAT,a as ERROR_CLIENT_TIMEOUT,s as ERROR_CSP_BLOCK,_ as ERROR_FORBIDDEN_ENDPOINT,T as ERROR_FORBIDDEN_HEADER,y as ERROR_FORBIDDEN_ORIGIN,P as ERROR_GENERAL_SERVER_FAILURE,p as ERROR_INSTALLATION_METHOD_RESTRICTED,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,A as ERROR_RATE_LIMIT,C as ERROR_SCRIPT_LOAD_FAIL,N as ERROR_SERVER_TIMEOUT,f as ERROR_SUBSCRIPTION_NOT_ACTIVE,S as ERROR_TOKEN_EXPIRED,w as ERROR_TOKEN_INVALID,m as ERROR_TOKEN_MISSING,E as ERROR_UNSUPPORTED_VERSION,l as ERROR_WRONG_REGION,B as default,i as defaultEndpoint,D as defaultScriptUrlPattern,u as defaultTlsEndpoint,U as load};
/**
* FingerprintJS Pro v3.7.1 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
* FingerprintJS Pro v3.8.0 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
*

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

var FingerprintJS=function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,R=1,r=arguments.length;R<r;R++)for(var n in t=arguments[R])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function R(e){for(var t="",R=0;R<e.length;++R)if(R>0){var r=e[R].toLowerCase();r!==e[R]?t+=" "+r:t+=e[R]}else t+=e[R].toUpperCase();return t}var r="Client timeout",n="Network connection error",o="Network request aborted",E="Response cannot be parsed",i="Blocked by CSP",O=R("WrongRegion"),_=R("SubscriptionNotActive"),a=R("UnsupportedVersion"),u=R("InstallationMethodRestricted"),c=R("HostnameRestricted"),l="API key required",s="API key not found",I="API key expired",d="Request cannot be parsed",N="Request failed",f="Request failed to process",T="Too many requests, rate limit exceeded",p="Not available for this origin",v="Not available with restricted header",A=l,D=s,P=I,h="3.7.1";function S(e,t,R){return void 0===R&&(R=0),t(R).catch((function(r){if(R>=e.maxRetries||!e.shouldRetry(r))throw r;var n,o,E,i,O=(n=e.baseDelay,o=e.maxDelay,E=e.baseDelay*Math.pow(2,R),Math.max(n,Math.min(o,E)));return(i=O,new Promise((function(e){return setTimeout(e,i)}))).then((function(){return S(e,t,R+1)}))}))}var y="Failed to load the JS script of the agent",m="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js";function w(e){var R,r,n=e.scriptUrlPattern,o=e.token,E=e.apiKey,O=void 0===E?o:E,_=function(e,t){var R={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(R[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(R[r[n]]=e[r[n]])}return R}(e,["scriptUrlPattern","token","apiKey"]),a=(R=e,r="scriptUrlPattern",Object.prototype.hasOwnProperty.call(R,r)?n:void 0),u=[];return Promise.resolve().then((function(){if(!O||"string"!=typeof O)throw new Error(l);return S({maxRetries:5,baseDelay:100,maxDelay:3e3,shouldRetry:function(e){return!(e instanceof Error&&e.message===i)}},(function(){var e,t=new Date,R=function(){return u.push({startedAt:t,finishedAt:new Date})},r=function(e,t,R,r){var n,o=document,E="securitypolicyviolation",i=function(t){var R=new URL(e,location.href),r=t.blockedURI;r!==R.href&&r!==R.protocol.slice(0,-1)&&r!==R.origin||(n=t,O())};o.addEventListener(E,i);var O=function(){return o.removeEventListener(E,i)};return null==r||r.then(O,O),Promise.resolve().then(t).then((function(e){return O(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(O(),n)return R(n);throw e}))}))}(e=function(e,t){void 0===t&&(t=m);var R=encodeURIComponent;return t.replace(/<[^<>]+>/g,(function(t){return"<version>"===t?"3":"<apiKey>"===t?R(e):"<loaderVersion>"===t?R(h):t}))}(O,a),(function(){return function(e){return new Promise((function(t,R){var r=document.createElement("script"),n=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},o=document.head||document.getElementsByTagName("head")[0];r.onload=function(){n(),t()},r.onerror=function(){n(),R(new Error(y))},r.async=!0,r.src=e,o.appendChild(r)}))}(e)}),(function(){throw new Error(i)}));return r.then(R,R),r}))})).then((function(){var e=window,R="__fpjs_p_l_b",r=e[R];if(function(e,t){var R,r=null===(R=Object.getOwnPropertyDescriptor)||void 0===R?void 0:R.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,R),"function"!=typeof(null==r?void 0:r.load))throw new Error(y);return r.load(t(t({},_),{ldi:{attempts:u}}))}))}var b={load:w,ERROR_SCRIPT_LOAD_FAIL:y,ERROR_API_KEY_EXPIRED:I,ERROR_API_KEY_INVALID:s,ERROR_API_KEY_MISSING:l,ERROR_BAD_REQUEST_FORMAT:d,ERROR_BAD_RESPONSE_FORMAT:E,ERROR_CLIENT_TIMEOUT:r,ERROR_CSP_BLOCK:i,ERROR_FORBIDDEN_ENDPOINT:c,ERROR_FORBIDDEN_HEADER:v,ERROR_FORBIDDEN_ORIGIN:p,ERROR_GENERAL_SERVER_FAILURE:N,ERROR_INSTALLATION_METHOD_RESTRICTED:u,ERROR_NETWORK_ABORT:o,ERROR_NETWORK_CONNECTION:n,ERROR_RATE_LIMIT:T,ERROR_SERVER_TIMEOUT:f,ERROR_SUBSCRIPTION_NOT_ACTIVE:_,ERROR_TOKEN_EXPIRED:P,ERROR_TOKEN_INVALID:D,ERROR_TOKEN_MISSING:A,ERROR_UNSUPPORTED_VERSION:a,ERROR_WRONG_REGION:O};return e.ERROR_API_KEY_EXPIRED=I,e.ERROR_API_KEY_INVALID=s,e.ERROR_API_KEY_MISSING=l,e.ERROR_BAD_REQUEST_FORMAT=d,e.ERROR_BAD_RESPONSE_FORMAT=E,e.ERROR_CLIENT_TIMEOUT=r,e.ERROR_CSP_BLOCK=i,e.ERROR_FORBIDDEN_ENDPOINT=c,e.ERROR_FORBIDDEN_HEADER=v,e.ERROR_FORBIDDEN_ORIGIN=p,e.ERROR_GENERAL_SERVER_FAILURE=N,e.ERROR_INSTALLATION_METHOD_RESTRICTED=u,e.ERROR_NETWORK_ABORT=o,e.ERROR_NETWORK_CONNECTION=n,e.ERROR_RATE_LIMIT=T,e.ERROR_SCRIPT_LOAD_FAIL=y,e.ERROR_SERVER_TIMEOUT=f,e.ERROR_SUBSCRIPTION_NOT_ACTIVE=_,e.ERROR_TOKEN_EXPIRED=P,e.ERROR_TOKEN_INVALID=D,e.ERROR_TOKEN_MISSING=A,e.ERROR_UNSUPPORTED_VERSION=a,e.ERROR_WRONG_REGION=O,e.default=b,e.load=w,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
var FingerprintJS=function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function n(e){var t=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var R=arguments[t],i=0,E=R.length;i<E;i++,o++)n[o]=R[i];return n}(e);return{current:function(){return t[0]},postpone:function(){var e=t.shift();void 0!==e&&t.push(e)},exclude:function(){t.shift()}}}function o(e){for(var t="",r=0;r<e.length;++r)if(r>0){var n=e[r].toLowerCase();n!==e[r]?t+=" "+n:t+=e[r]}else t+=e[r].toUpperCase();return t}var R={default:"endpoint"},i={default:"tlsEndpoint"},E="Client timeout",u="Network connection error",a="Network request aborted",O="Response cannot be parsed",_="Blocked by CSP",c=o("WrongRegion"),f=o("SubscriptionNotActive"),l=o("UnsupportedVersion"),s=o("InstallationMethodRestricted"),d=o("HostnameRestricted"),I="API key required",p="API key not found",N="API key expired",T="Request cannot be parsed",v="Request failed",h="Request failed to process",A="Too many requests, rate limit exceeded",P="Not available for this origin",S="Not available with restricted header",D=I,y=p,m=N,w="3.8.0",L="9319";function C(e,t){var r=[];return function(e,t){var r=5,o=n(e),R=(E=100,u=3e3,a=0,function(){return Math.random()*Math.min(u,E*Math.pow(2,a++))}),i=o.current();var E,u,a;if(void 0===i)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var O=function(e,n){return t(e).catch((function(e){if(n+1>=r)throw e;!function(e){if(!(e instanceof Error))return!1;var t=e.message;return t===_||t===L}(e)?o.postpone():o.exclude();var t,i=o.current();if(void 0===i)throw e;return(t=R(),new Promise((function(e){return setTimeout(e,t)}))).then((function(){return O(i,n+1)}))}))};return O(i,0)}(e,(function(e){var n=new Date,o=function(){return r.push({url:e,startedAt:n,finishedAt:new Date})},R=t(e);return R.then(o,o),R})).then((function(e){return[e,{attempts:r}]}))}var U="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",b=U,g="Failed to load the JS script of the agent";function K(e){var n;e.scriptUrlPattern;var o=e.token,R=e.apiKey,i=void 0===R?o:R,E=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}(e,["scriptUrlPattern","token","apiKey"]),u=null!==(n=r(e,"scriptUrlPattern"))&&void 0!==n?n:U;return Promise.resolve().then((function(){if(!i||"string"!=typeof i)throw new Error(I);return C(function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var r=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?r(t):"<loaderVersion>"===e?r(w):e}))}(String(e),t)}))}(u,i),M).catch(F)})).then((function(e){var r=e[0],n=e[1];return r.load(t(t({},E),{ldi:n}))}))}function M(e){return function(e,t,r,n){var o,R=document,i="securitypolicyviolation",E=function(t){var r=new URL(e,location.href),n=t.blockedURI;n!==r.href&&n!==r.protocol.slice(0,-1)&&n!==r.origin||(o=t,u())};R.addEventListener(i,E);var u=function(){return R.removeEventListener(i,E)};return null==n||n.then(u,u),Promise.resolve().then(t).then((function(e){return u(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(u(),o)return r(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,r){var n=document.createElement("script"),o=function(){var e;return null===(e=n.parentNode)||void 0===e?void 0:e.removeChild(n)},R=document.head||document.getElementsByTagName("head")[0];n.onload=function(){o(),t()},n.onerror=function(){o(),r(new Error(g))},n.async=!0,n.src=e,R.appendChild(n)}))}(e)}),(function(){throw new Error(_)})).then(B)}function B(){var e=window,t="__fpjs_p_l_b",r=e[t];if(function(e,t){var r,n=null===(r=Object.getOwnPropertyDescriptor)||void 0===r?void 0:r.call(Object,e,t);(null==n?void 0:n.configurable)?delete e[t]:n&&!n.writable||(e[t]=void 0)}(e,t),"function"!=typeof(null==r?void 0:r.load))throw new Error(L);return r}function F(e){throw e instanceof Error&&e.message===L?new Error(g):e}var V={load:K,defaultScriptUrlPattern:b,ERROR_SCRIPT_LOAD_FAIL:g,ERROR_API_KEY_EXPIRED:N,ERROR_API_KEY_INVALID:p,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:T,ERROR_BAD_RESPONSE_FORMAT:O,ERROR_CLIENT_TIMEOUT:E,ERROR_CSP_BLOCK:_,ERROR_FORBIDDEN_ENDPOINT:d,ERROR_FORBIDDEN_HEADER:S,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:v,ERROR_INSTALLATION_METHOD_RESTRICTED:s,ERROR_NETWORK_ABORT:a,ERROR_NETWORK_CONNECTION:u,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:h,ERROR_SUBSCRIPTION_NOT_ACTIVE:f,ERROR_TOKEN_EXPIRED:m,ERROR_TOKEN_INVALID:y,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:l,ERROR_WRONG_REGION:c,defaultEndpoint:R,defaultTlsEndpoint:i};return e.ERROR_API_KEY_EXPIRED=N,e.ERROR_API_KEY_INVALID=p,e.ERROR_API_KEY_MISSING=I,e.ERROR_BAD_REQUEST_FORMAT=T,e.ERROR_BAD_RESPONSE_FORMAT=O,e.ERROR_CLIENT_TIMEOUT=E,e.ERROR_CSP_BLOCK=_,e.ERROR_FORBIDDEN_ENDPOINT=d,e.ERROR_FORBIDDEN_HEADER=S,e.ERROR_FORBIDDEN_ORIGIN=P,e.ERROR_GENERAL_SERVER_FAILURE=v,e.ERROR_INSTALLATION_METHOD_RESTRICTED=s,e.ERROR_NETWORK_ABORT=a,e.ERROR_NETWORK_CONNECTION=u,e.ERROR_RATE_LIMIT=A,e.ERROR_SCRIPT_LOAD_FAIL=g,e.ERROR_SERVER_TIMEOUT=h,e.ERROR_SUBSCRIPTION_NOT_ACTIVE=f,e.ERROR_TOKEN_EXPIRED=m,e.ERROR_TOKEN_INVALID=y,e.ERROR_TOKEN_MISSING=D,e.ERROR_UNSUPPORTED_VERSION=l,e.ERROR_WRONG_REGION=c,e.default=V,e.defaultEndpoint=R,e.defaultScriptUrlPattern=b,e.defaultTlsEndpoint=i,e.load=K,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
/**
* FingerprintJS Pro v3.7.1 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
* FingerprintJS Pro v3.8.0 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)
*

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

!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,R=1,n=arguments.length;R<n;R++)for(var r in t=arguments[R])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function R(e){for(var t="",R=0;R<e.length;++R)if(R>0){var n=e[R].toLowerCase();n!==e[R]?t+=" "+n:t+=e[R]}else t+=e[R].toUpperCase();return t}var n="Client timeout",r="Network connection error",o="Network request aborted",i="Response cannot be parsed",E="Blocked by CSP",O=R("WrongRegion"),_=R("SubscriptionNotActive"),a=R("UnsupportedVersion"),u=R("InstallationMethodRestricted"),c=R("HostnameRestricted"),l="API key required",s="API key not found",I="API key expired",f="Request cannot be parsed",d="Request failed",p="Request failed to process",N="Too many requests, rate limit exceeded",T="Not available for this origin",v="Not available with restricted header",h=l,A=s,D=I,P="3.7.1";function y(e,t,R){return void 0===R&&(R=0),t(R).catch((function(n){if(R>=e.maxRetries||!e.shouldRetry(n))throw n;var r,o,i,E,O=(r=e.baseDelay,o=e.maxDelay,i=e.baseDelay*Math.pow(2,R),Math.max(r,Math.min(o,i)));return(E=O,new Promise((function(e){return setTimeout(e,E)}))).then((function(){return y(e,t,R+1)}))}))}var S="Failed to load the JS script of the agent",m="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js";function b(e){var R,n,r=e.scriptUrlPattern,o=e.token,i=e.apiKey,O=void 0===i?o:i,_=function(e,t){var R={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(R[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(R[n[r]]=e[n[r]])}return R}(e,["scriptUrlPattern","token","apiKey"]),a=(R=e,n="scriptUrlPattern",Object.prototype.hasOwnProperty.call(R,n)?r:void 0),u=[];return Promise.resolve().then((function(){if(!O||"string"!=typeof O)throw new Error(l);return y({maxRetries:5,baseDelay:100,maxDelay:3e3,shouldRetry:function(e){return!(e instanceof Error&&e.message===E)}},(function(){var e,t=new Date,R=function(){return u.push({startedAt:t,finishedAt:new Date})},n=function(e,t,R,n){var r,o=document,i="securitypolicyviolation",E=function(t){var R=new URL(e,location.href),n=t.blockedURI;n!==R.href&&n!==R.protocol.slice(0,-1)&&n!==R.origin||(r=t,O())};o.addEventListener(i,E);var O=function(){return o.removeEventListener(i,E)};return null==n||n.then(O,O),Promise.resolve().then(t).then((function(e){return O(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(O(),r)return R(r);throw e}))}))}(e=function(e,t){void 0===t&&(t=m);var R=encodeURIComponent;return t.replace(/<[^<>]+>/g,(function(t){return"<version>"===t?"3":"<apiKey>"===t?R(e):"<loaderVersion>"===t?R(P):t}))}(O,a),(function(){return function(e){return new Promise((function(t,R){var n=document.createElement("script"),r=function(){var e;return null===(e=n.parentNode)||void 0===e?void 0:e.removeChild(n)},o=document.head||document.getElementsByTagName("head")[0];n.onload=function(){r(),t()},n.onerror=function(){r(),R(new Error(S))},n.async=!0,n.src=e,o.appendChild(n)}))}(e)}),(function(){throw new Error(E)}));return n.then(R,R),n}))})).then((function(){var e=window,R="__fpjs_p_l_b",n=e[R];if(function(e,t){var R,n=null===(R=Object.getOwnPropertyDescriptor)||void 0===R?void 0:R.call(Object,e,t);(null==n?void 0:n.configurable)?delete e[t]:n&&!n.writable||(e[t]=void 0)}(e,R),"function"!=typeof(null==n?void 0:n.load))throw new Error(S);return n.load(t(t({},_),{ldi:{attempts:u}}))}))}var w={load:b,ERROR_SCRIPT_LOAD_FAIL:S,ERROR_API_KEY_EXPIRED:I,ERROR_API_KEY_INVALID:s,ERROR_API_KEY_MISSING:l,ERROR_BAD_REQUEST_FORMAT:f,ERROR_BAD_RESPONSE_FORMAT:i,ERROR_CLIENT_TIMEOUT:n,ERROR_CSP_BLOCK:E,ERROR_FORBIDDEN_ENDPOINT:c,ERROR_FORBIDDEN_HEADER:v,ERROR_FORBIDDEN_ORIGIN:T,ERROR_GENERAL_SERVER_FAILURE:d,ERROR_INSTALLATION_METHOD_RESTRICTED:u,ERROR_NETWORK_ABORT:o,ERROR_NETWORK_CONNECTION:r,ERROR_RATE_LIMIT:N,ERROR_SERVER_TIMEOUT:p,ERROR_SUBSCRIPTION_NOT_ACTIVE:_,ERROR_TOKEN_EXPIRED:D,ERROR_TOKEN_INVALID:A,ERROR_TOKEN_MISSING:h,ERROR_UNSUPPORTED_VERSION:a,ERROR_WRONG_REGION:O};e.ERROR_API_KEY_EXPIRED=I,e.ERROR_API_KEY_INVALID=s,e.ERROR_API_KEY_MISSING=l,e.ERROR_BAD_REQUEST_FORMAT=f,e.ERROR_BAD_RESPONSE_FORMAT=i,e.ERROR_CLIENT_TIMEOUT=n,e.ERROR_CSP_BLOCK=E,e.ERROR_FORBIDDEN_ENDPOINT=c,e.ERROR_FORBIDDEN_HEADER=v,e.ERROR_FORBIDDEN_ORIGIN=T,e.ERROR_GENERAL_SERVER_FAILURE=d,e.ERROR_INSTALLATION_METHOD_RESTRICTED=u,e.ERROR_NETWORK_ABORT=o,e.ERROR_NETWORK_CONNECTION=r,e.ERROR_RATE_LIMIT=N,e.ERROR_SCRIPT_LOAD_FAIL=S,e.ERROR_SERVER_TIMEOUT=p,e.ERROR_SUBSCRIPTION_NOT_ACTIVE=_,e.ERROR_TOKEN_EXPIRED=D,e.ERROR_TOKEN_INVALID=A,e.ERROR_TOKEN_MISSING=h,e.ERROR_UNSUPPORTED_VERSION=a,e.ERROR_WRONG_REGION=O,e.default=w,e.load=b,Object.defineProperty(e,"__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){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function r(e){var t=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var R=arguments[t],i=0,E=R.length;i<E;i++,o++)r[o]=R[i];return r}(e);return{current:function(){return t[0]},postpone:function(){var e=t.shift();void 0!==e&&t.push(e)},exclude:function(){t.shift()}}}function o(e){for(var t="",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=" "+r:t+=e[n]}else t+=e[n].toUpperCase();return t}var R={default:"endpoint"},i={default:"tlsEndpoint"},E="Client timeout",u="Network connection error",a="Network request aborted",O="Response cannot be parsed",c="Blocked by CSP",_=o("WrongRegion"),f=o("SubscriptionNotActive"),l=o("UnsupportedVersion"),s=o("InstallationMethodRestricted"),d=o("HostnameRestricted"),p="API key required",I="API key not found",T="API key expired",N="Request cannot be parsed",v="Request failed",h="Request failed to process",A="Too many requests, rate limit exceeded",P="Not available for this origin",S="Not available with restricted header",y=p,D=I,m=T,w="3.8.0",b="9319";function L(e,t){var n=[];return function(e,t){var n=5,o=r(e),R=(E=100,u=3e3,a=0,function(){return Math.random()*Math.min(u,E*Math.pow(2,a++))}),i=o.current();var E,u,a;if(void 0===i)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var O=function(e,r){return t(e).catch((function(e){if(r+1>=n)throw e;!function(e){if(!(e instanceof Error))return!1;var t=e.message;return t===c||t===b}(e)?o.postpone():o.exclude();var t,i=o.current();if(void 0===i)throw e;return(t=R(),new Promise((function(e){return setTimeout(e,t)}))).then((function(){return O(i,r+1)}))}))};return O(i,0)}(e,(function(e){var r=new Date,o=function(){return n.push({url:e,startedAt:r,finishedAt:new Date})},R=t(e);return R.then(o,o),R})).then((function(e){return[e,{attempts:n}]}))}var g="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",C=g,U="Failed to load the JS script of the agent";function K(e){var r;e.scriptUrlPattern;var o=e.token,R=e.apiKey,i=void 0===R?o:R,E=function(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}(e,["scriptUrlPattern","token","apiKey"]),u=null!==(r=n(e,"scriptUrlPattern"))&&void 0!==r?r:g;return Promise.resolve().then((function(){if(!i||"string"!=typeof i)throw new Error(p);return L(function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?n(t):"<loaderVersion>"===e?n(w):e}))}(String(e),t)}))}(u,i),M).catch(F)})).then((function(e){var n=e[0],r=e[1];return n.load(t(t({},E),{ldi:r}))}))}function M(e){return function(e,t,n,r){var o,R=document,i="securitypolicyviolation",E=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,u())};R.addEventListener(i,E);var u=function(){return R.removeEventListener(i,E)};return null==r||r.then(u,u),Promise.resolve().then(t).then((function(e){return u(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(u(),o)return n(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){var r=document.createElement("script"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},R=document.head||document.getElementsByTagName("head")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(U))},r.async=!0,r.src=e,R.appendChild(r)}))}(e)}),(function(){throw new Error(c)})).then(B)}function B(){var e=window,t="__fpjs_p_l_b",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),"function"!=typeof(null==n?void 0:n.load))throw new Error(b);return n}function F(e){throw e instanceof Error&&e.message===b?new Error(U):e}var V={load:K,defaultScriptUrlPattern:C,ERROR_SCRIPT_LOAD_FAIL:U,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:I,ERROR_API_KEY_MISSING:p,ERROR_BAD_REQUEST_FORMAT:N,ERROR_BAD_RESPONSE_FORMAT:O,ERROR_CLIENT_TIMEOUT:E,ERROR_CSP_BLOCK:c,ERROR_FORBIDDEN_ENDPOINT:d,ERROR_FORBIDDEN_HEADER:S,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:v,ERROR_INSTALLATION_METHOD_RESTRICTED:s,ERROR_NETWORK_ABORT:a,ERROR_NETWORK_CONNECTION:u,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:h,ERROR_SUBSCRIPTION_NOT_ACTIVE:f,ERROR_TOKEN_EXPIRED:m,ERROR_TOKEN_INVALID:D,ERROR_TOKEN_MISSING:y,ERROR_UNSUPPORTED_VERSION:l,ERROR_WRONG_REGION:_,defaultEndpoint:R,defaultTlsEndpoint:i};e.ERROR_API_KEY_EXPIRED=T,e.ERROR_API_KEY_INVALID=I,e.ERROR_API_KEY_MISSING=p,e.ERROR_BAD_REQUEST_FORMAT=N,e.ERROR_BAD_RESPONSE_FORMAT=O,e.ERROR_CLIENT_TIMEOUT=E,e.ERROR_CSP_BLOCK=c,e.ERROR_FORBIDDEN_ENDPOINT=d,e.ERROR_FORBIDDEN_HEADER=S,e.ERROR_FORBIDDEN_ORIGIN=P,e.ERROR_GENERAL_SERVER_FAILURE=v,e.ERROR_INSTALLATION_METHOD_RESTRICTED=s,e.ERROR_NETWORK_ABORT=a,e.ERROR_NETWORK_CONNECTION=u,e.ERROR_RATE_LIMIT=A,e.ERROR_SCRIPT_LOAD_FAIL=U,e.ERROR_SERVER_TIMEOUT=h,e.ERROR_SUBSCRIPTION_NOT_ACTIVE=f,e.ERROR_TOKEN_EXPIRED=m,e.ERROR_TOKEN_INVALID=D,e.ERROR_TOKEN_MISSING=y,e.ERROR_UNSUPPORTED_VERSION=l,e.ERROR_WRONG_REGION=_,e.default=V,e.defaultEndpoint=R,e.defaultScriptUrlPattern=C,e.defaultTlsEndpoint=i,e.load=K,Object.defineProperty(e,"__esModule",{value:!0})}));
{
"name": "@fingerprintjs/fingerprintjs-pro",
"description": "FingerprintJS Pro client agent",
"version": "3.7.1",
"version": "3.8.0",
"keywords": [

@@ -6,0 +6,0 @@ "browser",

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