@fingerprintjs/fingerprintjs
Advanced tools
Comparing version 3.1.0-dev.3 to 3.1.0-dev.4
107
dist/fp.d.ts
/** | ||
* FingerprintJS v3.1.0-dev.3 - Copyright (c) FingerprintJS, Inc, 2021 (https://fingerprintjs.com) | ||
* FingerprintJS v3.1.0-dev.4 - Copyright (c) FingerprintJS, Inc, 2021 (https://fingerprintjs.com) | ||
* Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. | ||
@@ -11,5 +11,9 @@ * | ||
/** | ||
* A deep description: https://fingerprintjs.com/blog/audio-fingerprinting/ | ||
* Inspired by and based on https://github.com/cozylife/audio-fingerprint | ||
*/ | ||
declare function getAudioFingerprint(): Promise<number>; | ||
declare function getFonts(): string[]; | ||
declare function getFontsIframe(): Promise<string[]>; | ||
@@ -87,8 +91,2 @@ interface PluginMimeTypeData { | ||
declare function getProductSub(): string | undefined; | ||
declare function getEmptyEvalLength(): number; | ||
declare function getErrorFF(): boolean; | ||
declare function getVendor(): string; | ||
@@ -111,3 +109,81 @@ | ||
interface Options { | ||
debug?: boolean; | ||
} | ||
/** | ||
* The returned array order means nothing (it's always sorted alphabetically). | ||
* | ||
* Notice that the source is slightly unstable. | ||
* Safari provides a 2-taps way to disable all content blockers on a page temporarily. | ||
* Also content blockers can be disabled permanently for a domain, but it requires 4 taps. | ||
* So empty array shouldn't be treated as "no blockers", it should be treated as "no signal". | ||
* If you are a website owner, don't make your visitors want to disable content blockers. | ||
*/ | ||
declare function getDomBlockers({ debug }?: Options): Promise<string[] | undefined>; | ||
declare type ColorGamut = 'srgb' | 'p3' | 'rec2020'; | ||
/** | ||
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/color-gamut | ||
*/ | ||
declare function getColorGamut(): ColorGamut | undefined; | ||
/** | ||
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/inverted-colors | ||
*/ | ||
declare function areColorsInverted(): boolean | undefined; | ||
/** | ||
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors | ||
*/ | ||
declare function areColorsForced(): boolean | undefined; | ||
/** | ||
* If the display is monochrome (e.g. black&white), the value will be ā„0 and will mean the number of bits per pixel. | ||
* If the display is not monochrome, the returned value will be 0. | ||
* If the browser doesn't support this feature, the returned value will be undefined. | ||
* | ||
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/monochrome | ||
*/ | ||
declare function getMonochromeDepth(): number | undefined; | ||
declare const enum ContrastPreference { | ||
Less = -1, | ||
None = 0, | ||
More = 1, | ||
ForcedColors = 10 | ||
} | ||
/** | ||
* @see https://www.w3.org/TR/mediaqueries-5/#prefers-contrast | ||
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast | ||
*/ | ||
declare function getContrastPreference(): ContrastPreference | undefined; | ||
/** | ||
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion | ||
*/ | ||
declare function isMotionReduced(): boolean | undefined; | ||
/** | ||
* @see https://www.w3.org/TR/mediaqueries-5/#dynamic-range | ||
*/ | ||
declare function isHDR(): boolean | undefined; | ||
/** | ||
* @see https://gitlab.torproject.org/legacy/trac/-/issues/13018 | ||
* @see https://bugzilla.mozilla.org/show_bug.cgi?id=531915 | ||
*/ | ||
declare function getMathFingerprint(): Record<string, number>; | ||
/** | ||
* The result is a dictionary of the width of the text samples. | ||
* Heights aren't included because they give no extra entropy and are unstable. | ||
* | ||
* The result is very stable in IE 11, Edge 18 and Safari 14. | ||
* The result changes when the OS pixel density changes in Chromium 87. The real pixel density is required to solve, | ||
* but seems like it's impossible: https://stackoverflow.com/q/1713771/1118709. | ||
* The "min" value changes when the OS pixel density changes in Firefox 84. | ||
*/ | ||
declare function getFontPreferences(): Promise<Record<string, number>>; | ||
/** | ||
* The list of entropy sources used to make visitor identifiers. | ||
@@ -119,2 +195,5 @@ * | ||
declare const sources: { | ||
fonts: typeof getFontsIframe; | ||
domBlockers: typeof getDomBlockers; | ||
fontPreferences: typeof getFontPreferences; | ||
audio: typeof getAudioFingerprint; | ||
@@ -138,9 +217,13 @@ screenFrame: typeof getRoundedScreenFrame; | ||
touchSupport: typeof getTouchSupport; | ||
fonts: typeof getFonts; | ||
productSub: typeof getProductSub; | ||
emptyEvalLength: typeof getEmptyEvalLength; | ||
errorFF: typeof getErrorFF; | ||
vendor: typeof getVendor; | ||
vendorFlavors: typeof getVendorFlavors; | ||
cookiesEnabled: typeof areCookiesEnabled; | ||
colorGamut: typeof getColorGamut; | ||
invertedColors: typeof areColorsInverted; | ||
forcedColors: typeof areColorsForced; | ||
monochrome: typeof getMonochromeDepth; | ||
contrast: typeof getContrastPreference; | ||
reducedMotion: typeof isMotionReduced; | ||
hdr: typeof isHDR; | ||
math: typeof getMathFingerprint; | ||
}; | ||
@@ -147,0 +230,0 @@ /** |
/** | ||
* FingerprintJS v3.1.0-dev.3 - Copyright (c) FingerprintJS, Inc, 2021 (https://fingerprintjs.com) | ||
* FingerprintJS v3.1.0-dev.4 - Copyright (c) FingerprintJS, Inc, 2021 (https://fingerprintjs.com) | ||
* Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. | ||
@@ -9,2 +9,2 @@ * | ||
var FingerprintJS=function(e){"use strict";function n(e,n){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],n=[n[0]>>>16,65535&n[0],n[1]>>>16,65535&n[1]];var t=[0,0,0,0];return t[3]+=e[3]+n[3],t[2]+=t[3]>>>16,t[3]&=65535,t[2]+=e[2]+n[2],t[1]+=t[2]>>>16,t[2]&=65535,t[1]+=e[1]+n[1],t[0]+=t[1]>>>16,t[1]&=65535,t[0]+=e[0]+n[0],t[0]&=65535,[t[0]<<16|t[1],t[2]<<16|t[3]]}function t(e,n){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],n=[n[0]>>>16,65535&n[0],n[1]>>>16,65535&n[1]];var t=[0,0,0,0];return t[3]+=e[3]*n[3],t[2]+=t[3]>>>16,t[3]&=65535,t[2]+=e[2]*n[3],t[1]+=t[2]>>>16,t[2]&=65535,t[2]+=e[3]*n[2],t[1]+=t[2]>>>16,t[2]&=65535,t[1]+=e[1]*n[3],t[0]+=t[1]>>>16,t[1]&=65535,t[1]+=e[2]*n[2],t[0]+=t[1]>>>16,t[1]&=65535,t[1]+=e[3]*n[1],t[0]+=t[1]>>>16,t[1]&=65535,t[0]+=e[0]*n[3]+e[1]*n[2]+e[2]*n[1]+e[3]*n[0],t[0]&=65535,[t[0]<<16|t[1],t[2]<<16|t[3]]}function r(e,n){return 32===(n%=64)?[e[1],e[0]]:n<32?[e[0]<<n|e[1]>>>32-n,e[1]<<n|e[0]>>>32-n]:(n-=32,[e[1]<<n|e[0]>>>32-n,e[0]<<n|e[1]>>>32-n])}function o(e,n){return 0===(n%=64)?e:n<32?[e[0]<<n|e[1]>>>32-n,e[1]<<n]:[e[1]<<n-32,0]}function i(e,n){return[e[0]^n[0],e[1]^n[1]]}function a(e){return e=i(e,[0,e[0]>>>1]),e=i(e=t(e,[4283543511,3981806797]),[0,e[0]>>>1]),e=i(e=t(e,[3301882366,444984403]),[0,e[0]>>>1])}function u(e,u){u=u||0;var c,s=(e=e||"").length%16,l=e.length-s,f=[0,u],d=[0,u],h=[0,0],v=[0,0],g=[2277735313,289559509],m=[1291169091,658871167];for(c=0;c<l;c+=16)h=[255&e.charCodeAt(c+4)|(255&e.charCodeAt(c+5))<<8|(255&e.charCodeAt(c+6))<<16|(255&e.charCodeAt(c+7))<<24,255&e.charCodeAt(c)|(255&e.charCodeAt(c+1))<<8|(255&e.charCodeAt(c+2))<<16|(255&e.charCodeAt(c+3))<<24],v=[255&e.charCodeAt(c+12)|(255&e.charCodeAt(c+13))<<8|(255&e.charCodeAt(c+14))<<16|(255&e.charCodeAt(c+15))<<24,255&e.charCodeAt(c+8)|(255&e.charCodeAt(c+9))<<8|(255&e.charCodeAt(c+10))<<16|(255&e.charCodeAt(c+11))<<24],h=r(h=t(h,g),31),f=n(f=r(f=i(f,h=t(h,m)),27),d),f=n(t(f,[0,5]),[0,1390208809]),v=r(v=t(v,m),33),d=n(d=r(d=i(d,v=t(v,g)),31),f),d=n(t(d,[0,5]),[0,944331445]);switch(h=[0,0],v=[0,0],s){case 15:v=i(v,o([0,e.charCodeAt(c+14)],48));case 14:v=i(v,o([0,e.charCodeAt(c+13)],40));case 13:v=i(v,o([0,e.charCodeAt(c+12)],32));case 12:v=i(v,o([0,e.charCodeAt(c+11)],24));case 11:v=i(v,o([0,e.charCodeAt(c+10)],16));case 10:v=i(v,o([0,e.charCodeAt(c+9)],8));case 9:v=t(v=i(v,[0,e.charCodeAt(c+8)]),m),d=i(d,v=t(v=r(v,33),g));case 8:h=i(h,o([0,e.charCodeAt(c+7)],56));case 7:h=i(h,o([0,e.charCodeAt(c+6)],48));case 6:h=i(h,o([0,e.charCodeAt(c+5)],40));case 5:h=i(h,o([0,e.charCodeAt(c+4)],32));case 4:h=i(h,o([0,e.charCodeAt(c+3)],24));case 3:h=i(h,o([0,e.charCodeAt(c+2)],16));case 2:h=i(h,o([0,e.charCodeAt(c+1)],8));case 1:h=t(h=i(h,[0,e.charCodeAt(c)]),g),f=i(f,h=t(h=r(h,31),m))}return f=n(f=i(f,[0,e.length]),d=i(d,[0,e.length])),d=n(d,f),f=n(f=a(f),d=a(d)),d=n(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)}var c=function(){return(c=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function s(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{c(r.next(e))}catch(n){i(n)}}function u(e){try{c(r.throw(e))}catch(n){i(n)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,u)}c((r=r.apply(e,n||[])).next())}))}function l(e,n){var t,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(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=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=n.call(e,a)}catch(u){i=[6,u],r=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function f(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),o=0;for(n=0;n<t;n++)for(var i=arguments[n],a=0,u=i.length;a<u;a++,o++)r[o]=i[a];return r}function d(e){return parseInt(e)}function h(e){return parseFloat(e)}function v(e,n){return"number"==typeof e&&isNaN(e)?n:e}function g(e){return e.reduce((function(e,n){return e+(n?1:0)}),0)}function m(){var e=window,n=navigator;return g(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in n,"msPointerEnabled"in n])>=4}function p(){var e=window,n=navigator;return g(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in n,"msSaveBlob"in n])>=3&&!m()}function w(){var e=window,n=navigator;return g(["webkitPersistentStorage"in n,"webkitTemporaryStorage"in n,0===n.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function y(){var e=window,n=navigator;return g(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===n.vendor.indexOf("Apple"),"getStorageUpdates"in n,"WebKitMediaKeys"in e])>=4}function b(){var e=window;return g(["safari"in e,!("DeviceMotionEvent"in e),!("ongestureend"in e),!("standalone"in navigator)])>=3}function S(){var e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function C(e){return new Promise((function(n,t){e.oncomplete=function(e){return n(e.renderedBuffer)};var r=3,o=function(){switch(e.startRendering(),e.state){case"running":setTimeout((function(){return t(M("timeout"))}),1e3);break;case"suspended":document.hidden||r--,r>0?setTimeout(o,500):t(M("suspended"))}};o()}))}function A(e){for(var n=0,t=0;t<e.length;++t)n+=Math.abs(e[t]);return n}function M(e){var n=new Error(e);return n.name=e,n}var T=["monospace","sans-serif","serif"],x=["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"],k={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"};function P(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function E(e,n){e.width=240,e.height=60,n.textBaseline="alphabetic",n.fillStyle="#f60",n.fillRect(100,1,62,20),n.fillStyle="#069",n.font='11pt "Times New Roman"';var t="Cwm fjordbank gly "+String.fromCharCode(55357,56835);return n.fillText(t,2,15),n.fillStyle="rgba(102, 204, 0, 0.2)",n.font="18pt Arial",n.fillText(t,4,45),F(e)}function D(e,n){e.width=122,e.height=110,n.globalCompositeOperation="multiply";for(var t=0,r=[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]];t<r.length;t++){var o=r[t],i=o[0],a=o[1],u=o[2];n.fillStyle=i,n.beginPath(),n.arc(a,u,40,0,2*Math.PI,!0),n.closePath(),n.fill()}return n.fillStyle="#f9c",n.arc(60,60,60,0,2*Math.PI,!0),n.arc(60,60,20,0,2*Math.PI,!0),n.fill("evenodd"),F(e)}function F(e){return e.toDataURL()}var O,I;function R(){return s(this,void 0,void 0,(function(){var e;return l(this,(function(n){switch(n.label){case 0:return B(e=L())?O?[2,f(O)]:S()?[4,(t=document,(t.exitFullscreen||t.msExitFullscreen||t.mozCancelFullScreen||t.webkitExitFullscreen).call(t))]:[3,2]:[3,2];case 1:n.sent(),e=L(),n.label=2;case 2:return B(e)||(O=e),[2,e]}var t}))}))}function L(){var e=screen;return[v(h(e.availTop),null),v(h(e.width)-h(e.availWidth)-v(h(e.availLeft),0),null),v(h(e.height)-h(e.availHeight)-v(h(e.availTop),0),null),v(h(e.availLeft),null)]}function B(e){for(var n=0;n<4;++n)if(e[n])return!1;return!0}var G={audio:function(){return s(this,void 0,void 0,(function(){var e,n,t,r,o,i,a,u;return l(this,(function(c){switch(c.label){case 0:if(e=window,!(n=e.OfflineAudioContext||e.webkitOfflineAudioContext))return[2,-2];if(y()&&!b()&&!function(){var e=window;return g(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}())return[2,-1];t=4500,5e3,r=new n(1,5e3,44100),(o=r.createOscillator()).type="triangle",o.frequency.value=1e4,(i=r.createDynamicsCompressor()).threshold.value=-50,i.knee.value=40,i.ratio.value=12,i.attack.value=0,i.release.value=.25,o.connect(i),i.connect(r.destination),o.start(0),c.label=1;case 1:return c.trys.push([1,3,,4]),[4,C(r)];case 2:return a=c.sent(),[3,4];case 3:if("timeout"===(u=c.sent()).name||"suspended"===u.name)return[2,-3];throw u;case 4:return[2,A(a.getChannelData(0).subarray(t))]}}))}))},screenFrame:function(){return s(this,void 0,void 0,(function(){var e,n;return l(this,(function(t){switch(t.label){case 0:return e=function(e){return null===e?null:function(e,n){if(void 0===n&&(n=1),Math.abs(n)>=1)return Math.round(e/n)*n;var t=1/n;return Math.round(e*t)/t}(e,10)},[4,R()];case 1:return n=t.sent(),[2,[e(n[0]),e(n[1]),e(n[2]),e(n[3])]]}}))}))},osCpu:function(){return navigator.oscpu},languages:function(){var e,n=navigator,t=[],r=n.language||n.userLanguage||n.browserLanguage||n.systemLanguage;if(void 0!==r&&t.push([r]),Array.isArray(n.languages))w()&&g([!("MediaSettingsRange"in(e=window)),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3||t.push(n.languages);else if("string"==typeof n.languages){var o=n.languages;o&&t.push(o.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return v(h(navigator.deviceMemory),void 0)},screenResolution:function(){var e=screen,n=[d(e.width),d(e.height)];return n.sort().reverse(),n},hardwareConcurrency:function(){return v(d(navigator.hardwareConcurrency),void 0)},timezone:function(){var e,n=null===(e=window.Intl)||void 0===e?void 0:e.DateTimeFormat;if(n){var t=(new n).resolvedOptions().timeZone;if(t)return t}var r,o=(r=(new Date).getFullYear(),-Math.max(h(new Date(r,0,1).getTimezoneOffset()),h(new Date(r,6,1).getTimezoneOffset())));return"UTC"+(o>=0?"+":"")+Math.abs(o)},sessionStorage:function(){try{return!!window.sessionStorage}catch(e){return!0}},localStorage:function(){try{return!!window.localStorage}catch(e){return!0}},indexedDB:function(){if(!m()&&!p())try{return!!window.indexedDB}catch(e){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){var e=navigator.platform;return"MacIntel"===e&&y()&&!b()?function(){if("iPad"===navigator.platform)return!0;var e=screen,n=e.width/e.height;return g(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,n>2/3&&n<1.5])>=2}()?"iPad":"iPhone":e},plugins:function(){var e=navigator.plugins;if(e){for(var n=[],t=0;t<e.length;++t){var r=e[t];if(r){for(var o=[],i=0;i<r.length;++i){var a=r[i];o.push({type:a.type,suffixes:a.suffixes})}n.push({name:r.name,description:r.description,mimeTypes:o})}}return n}},canvas:function(){var e=function(){var e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}(),n=e[0],t=e[1];return function(e,n){return!(!n||!e.toDataURL)}(n,t)?{winding:P(t),geometry:D(n,t),text:E(n,t)}:{winding:!1,geometry:"",text:""}},touchSupport:function(){var e,n=navigator,t=0;void 0!==n.maxTouchPoints?t=d(n.maxTouchPoints):void 0!==n.msMaxTouchPoints&&(t=n.msMaxTouchPoints);try{document.createEvent("TouchEvent"),e=!0}catch(r){e=!1}return{maxTouchPoints:t,touchEvent:e,touchStart:"ontouchstart"in window}},fonts:function(){var e=document,n=e.body,t=e.createElement("div"),r=e.createElement("div"),o={},i={},a=function(){var n=e.createElement("span");n.textContent="mmMwWLliI0O&1";for(var t=0,r=Object.keys(k);t<r.length;t++){var o=r[t];n.style[o]=k[o]}return n},u=function(e){return T.some((function(n,t){return e[t].offsetWidth!==o[n]||e[t].offsetHeight!==i[n]}))},c=T.map((function(e){var n=a();return n.style.fontFamily=e,t.appendChild(n),n}));n.appendChild(t);for(var s=0,l=T.length;s<l;s++)o[T[s]]=c[s].offsetWidth,i[T[s]]=c[s].offsetHeight;var f=function(){for(var e={},n=function(n){e[n]=T.map((function(e){var t=function(e,n){var t=a();return t.style.fontFamily="'"+e+"',"+n,t}(n,e);return r.appendChild(t),t}))},t=0,o=x;t<o.length;t++){n(o[t])}return e}();n.appendChild(r);for(var d=[],h=0,v=x.length;h<v;h++)u(f[x[h]])&&d.push(x[h]);return n.removeChild(r),n.removeChild(t),d},productSub:function(){return navigator.productSub},emptyEvalLength:function(){return eval.toString().length},errorFF:function(){try{throw"a"}catch(e){try{return e.toSource(),!0}catch(n){return!1}}},vendor:function(){return navigator.vendor||""},vendorFlavors:function(){for(var e=[],n=0,t=["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"];n<t.length;n++){var r=t[n],o=window[r];o&&"object"==typeof o&&e.push(r)}return e.sort()},cookiesEnabled:function(){var e=document;try{e.cookie="cookietest=1; SameSite=Strict;";var n=-1!==e.cookie.indexOf("cookietest=");return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",n}catch(t){return!1}}};function U(e,n,t){return s(this,void 0,void 0,(function(){var r,o,i,a,u,f,d;return l(this,(function(h){switch(h.label){case 0:r=[],o={},16,i=Date.now(),a=function(a){var u;return l(this,(function(f){switch(f.label){case 0:return function(e,n){for(var t=0,r=e.length;t<r;++t)if(e[t]===n)return!0;return!1}(t,a)?[2,"continue"]:(o[a]=void 0,r.push(function(e,n){return s(this,void 0,void 0,(function(){var t,r,o,i;return l(this,(function(a){switch(a.label){case 0:r=Date.now(),a.label=1;case 1:return a.trys.push([1,3,,4]),i={},[4,e(n)];case 2:return i.value=a.sent(),t=i,[3,4];case 3:return o=a.sent(),t={error:(u=o,u&&"object"==typeof u&&"message"in u?u:{message:u})},[3,4];case 4:return[2,c(c({},t),{duration:Date.now()-r})]}var u}))}))}(e[a],n).then((function(e){o[a]=e}))),(u=Date.now())>=i+16?(i=u,[4,new Promise((function(e){return setTimeout(e)}))]):[3,2]);case 1:return f.sent(),[3,4];case 2:return[4,void 0];case 3:f.sent(),f.label=4;case 4:return[2]}}))},u=0,f=Object.keys(e),h.label=1;case 1:return u<f.length?(d=f[u],[5,a(d)]):[3,4];case 2:h.sent(),h.label=3;case 3:return u++,[3,1];case 4:return[4,Promise.all(r)];case 5:return h.sent(),[2,o]}}))}))}function _(e){return JSON.stringify(e,(function(e,n){return n instanceof Error?c({name:(t=n).name,message:t.message,stack:null===(r=t.stack)||void 0===r?void 0:r.split("\n")},t):n;var t,r}),2)}function H(e){return u(function(e){for(var n="",t=0,r=Object.keys(e).sort();t<r.length;t++){var o=r[t],i=e[o],a=i.error?"error":JSON.stringify(i.value);n+=(n?"|":"")+o.replace(/([:|\\])/g,"\\$1")+":"+a}return n}(e))}var W=function(){function e(){!function(){if(void 0===I){var e=function(){var n=L();B(n)?I=setTimeout(e,2500):(O=n,I=void 0)};e()}}()}return e.prototype.get=function(e){return void 0===e&&(e={}),s(this,void 0,void 0,(function(){var n,t;return l(this,(function(r){switch(r.label){case 0:return[4,U(G,void 0,[])];case 1:return n=r.sent(),t=function(e){var n;return{components:e,get visitorId(){return void 0===n&&(n=H(this.components)),n},set visitorId(e){n=e}}}(n),e.debug&&console.log("Copy the text below to get the debug data:\n\n```\nversion: 3.1.0-dev.3\nuserAgent: "+navigator.userAgent+"\ngetOptions: "+JSON.stringify(e,void 0,2)+"\nvisitorId: "+t.visitorId+"\ncomponents: "+_(n)+"\n```"),[2,t]}}))}))},e}();function j(e){var n=(void 0===e?{}:e).delayFallback,t=void 0===n?50:n;return s(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,(n=t,r=2*t,void 0===r&&(r=1/0),new Promise((function(e){var t=window.requestIdleCallback;t?t((function(){return e()}),{timeout:r}):setTimeout(e,Math.min(n,r))})))];case 1:return e.sent(),[2,new W]}var n,r}))}))}var N={load:j,hashComponents:H,componentsToDebugString:_},z=u;return e.componentsToDebugString=_,e.default=N,e.getComponents=U,e.getFullscreenElement=S,e.getScreenFrame=R,e.hashComponents=H,e.isChromium=w,e.isDesktopSafari=b,e.isEdgeHTML=p,e.isGecko=function(){var e,n,t=window;return g(["buildID"in navigator,"MozAppearance"in(null!==(n=null===(e=document.documentElement)||void 0===e?void 0:e.style)&&void 0!==n?n:{}),"MediaRecorderErrorEvent"in t,"mozInnerScreenX"in t,"CSSMozDocumentRule"in t,"CanvasCaptureMediaStream"in t])>=4},e.isTrident=m,e.isWebKit=y,e.load=j,e.murmurX64Hash128=z,e}({}); | ||
var FingerprintJS=function(e){"use strict";function t(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 n(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 r(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 a(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 o(e,t){return[e[0]^t[0],e[1]^t[1]]}function i(e){return e=o(e,[0,e[0]>>>1]),e=o(e=n(e,[4283543511,3981806797]),[0,e[0]>>>1]),e=o(e=n(e,[3301882366,444984403]),[0,e[0]>>>1])}function c(e,c){c=c||0;var s,u=(e=e||"").length%16,l=e.length-u,d=[0,c],f=[0,c],h=[0,0],p=[0,0],v=[2277735313,289559509],m=[1291169091,658871167];for(s=0;s<l;s+=16)h=[255&e.charCodeAt(s+4)|(255&e.charCodeAt(s+5))<<8|(255&e.charCodeAt(s+6))<<16|(255&e.charCodeAt(s+7))<<24,255&e.charCodeAt(s)|(255&e.charCodeAt(s+1))<<8|(255&e.charCodeAt(s+2))<<16|(255&e.charCodeAt(s+3))<<24],p=[255&e.charCodeAt(s+12)|(255&e.charCodeAt(s+13))<<8|(255&e.charCodeAt(s+14))<<16|(255&e.charCodeAt(s+15))<<24,255&e.charCodeAt(s+8)|(255&e.charCodeAt(s+9))<<8|(255&e.charCodeAt(s+10))<<16|(255&e.charCodeAt(s+11))<<24],h=r(h=n(h,v),31),d=t(d=r(d=o(d,h=n(h,m)),27),f),d=t(n(d,[0,5]),[0,1390208809]),p=r(p=n(p,m),33),f=t(f=r(f=o(f,p=n(p,v)),31),d),f=t(n(f,[0,5]),[0,944331445]);switch(h=[0,0],p=[0,0],u){case 15:p=o(p,a([0,e.charCodeAt(s+14)],48));case 14:p=o(p,a([0,e.charCodeAt(s+13)],40));case 13:p=o(p,a([0,e.charCodeAt(s+12)],32));case 12:p=o(p,a([0,e.charCodeAt(s+11)],24));case 11:p=o(p,a([0,e.charCodeAt(s+10)],16));case 10:p=o(p,a([0,e.charCodeAt(s+9)],8));case 9:p=n(p=o(p,[0,e.charCodeAt(s+8)]),m),f=o(f,p=n(p=r(p,33),v));case 8:h=o(h,a([0,e.charCodeAt(s+7)],56));case 7:h=o(h,a([0,e.charCodeAt(s+6)],48));case 6:h=o(h,a([0,e.charCodeAt(s+5)],40));case 5:h=o(h,a([0,e.charCodeAt(s+4)],32));case 4:h=o(h,a([0,e.charCodeAt(s+3)],24));case 3:h=o(h,a([0,e.charCodeAt(s+2)],16));case 2:h=o(h,a([0,e.charCodeAt(s+1)],8));case 1:h=n(h=o(h,[0,e.charCodeAt(s)]),v),d=o(d,h=n(h=r(h,31),m))}return d=t(d=o(d,[0,e.length]),f=o(f,[0,e.length])),f=t(f,d),d=t(d=i(d),f=i(f)),f=t(f,d),("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)+("00000000"+(f[0]>>>0).toString(16)).slice(-8)+("00000000"+(f[1]>>>0).toString(16)).slice(-8)}var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function u(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{s(r.next(e))}catch(t){o(t)}}function c(e){try{s(r.throw(e))}catch(t){o(t)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,c)}s((r=r.apply(e,t||[])).next())}))}function l(e,t){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(a=2&o[0]?r.return:o[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,o[1])).done)return a;switch(r=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,r=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){i.label=o[1];break}if(6===o[0]&&i.label<a[1]){i.label=a[1],a=o;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(o);break}a[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(c){o=[6,c],r=0}finally{n=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,c])}}}function d(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),a=0;for(t=0;t<n;t++)for(var o=arguments[t],i=0,c=o.length;i<c;i++,a++)r[a]=o[i];return r}function f(e,t){return new Promise((function(n){return setTimeout(n,e,t)}))}function h(e,t){void 0===t&&(t=1/0);var n=window.requestIdleCallback;return n?new Promise((function(e){return n((function(){return e()}),{timeout:t})})):f(Math.min(e,t))}function p(e){return parseInt(e)}function v(e){return parseFloat(e)}function m(e,t){return"number"==typeof e&&isNaN(e)?t:e}function g(e){return e.reduce((function(e,t){return e+(t?1:0)}),0)}function b(){var e=window,t=navigator;return g(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function w(){var e=window,t=navigator;return g(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!b()}function y(){var e=window,t=navigator;return g(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,0===t.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function k(){var e=window,t=navigator;return g(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===t.vendor.indexOf("Apple"),"getStorageUpdates"in t,"WebKitMediaKeys"in e])>=4}function C(){var e=window;return g(["safari"in e,!("DeviceMotionEvent"in e),!("ongestureend"in e),!("standalone"in navigator)])>=3}function x(){var e,t,n=window;return g(["buildID"in navigator,"MozAppearance"in(null!==(t=null===(e=document.documentElement)||void 0===e?void 0:e.style)&&void 0!==t?t:{}),"MediaRecorderErrorEvent"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function S(){var e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function A(e){return new Promise((function(t,n){e.oncomplete=function(e){return t(e.renderedBuffer)};var r=3,a=function(){switch(e.startRendering(),e.state){case"running":setTimeout((function(){return n(M("timeout"))}),1e3);break;case"suspended":document.hidden||r--,r>0?setTimeout(a,500):n(M("suspended"))}};a()}))}function _(e){for(var t=0,n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function M(e){var t=new Error(e);return t.name=e,t}function P(e,t,n){var r,a;return void 0===n&&(n=50),u(this,void 0,void 0,(function(){var o,i;return l(this,(function(c){switch(c.label){case 0:o=document,c.label=1;case 1:return o.body?[3,3]:[4,f(n)];case 2:return c.sent(),[3,1];case 3:i=o.createElement("iframe"),c.label=4;case 4:return c.trys.push([4,,10,11]),[4,new Promise((function(e,n){i.onload=e,i.onerror=n;var r=i.style;r.setProperty("display","block","important"),r.position="absolute",r.top="0",r.left="0",r.visibility="hidden",t&&"srcdoc"in i?i.srcdoc=t:i.src="about:blank",o.body.appendChild(i)}))];case 5:c.sent(),c.label=6;case 6:return(null===(r=i.contentWindow)||void 0===r?void 0:r.document.body)?[3,8]:[4,f(n)];case 7:return c.sent(),[3,6];case 8:return[4,e(i,i.contentWindow)];case 9:return[2,c.sent()];case 10:return null===(a=i.parentNode)||void 0===a||a.removeChild(i),[7];case 11:return[2]}}))}))}function T(e){for(var t=function(e){for(var t,n,r="Unexpected syntax '"+e+"'",a=/^\s*([a-z-]*)(.*)$/i.exec(e),o=a[1]||void 0,i={},c=/([.:#][\w-]+|\[.+?\])/gi,s=function(e,t){i[e]=i[e]||[],i[e].push(t)};;){var u=c.exec(a[2]);if(!u)break;var l=u[0];switch(l[0]){case".":s("class",l.slice(1));break;case"#":s("id",l.slice(1));break;case"[":var d=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(l);if(!d)throw new Error(r);s(d[1],null!==(n=null!==(t=d[4])&&void 0!==t?t:d[5])&&void 0!==n?n:"");break;default:throw new Error(r)}}return[o,i]}(e),n=t[0],r=t[1],a=document.createElement(null!=n?n:"div"),o=0,i=Object.keys(r);o<i.length;o++){var c=i[o];a.setAttribute(c,r[c].join(" "))}return a}var E=["monospace","sans-serif","serif"],I=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function L(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function B(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';var n="Cwm fjordbank gly "+String.fromCharCode(55357,56835);return t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45),O(e)}function F(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(var n=0,r=[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]];n<r.length;n++){var a=r[n],o=a[0],i=a[1],c=a[2];t.fillStyle=o,t.beginPath(),t.arc(i,c,40,0,2*Math.PI,!0),t.closePath(),t.fill()}return t.fillStyle="#f9c",t.arc(60,60,60,0,2*Math.PI,!0),t.arc(60,60,20,0,2*Math.PI,!0),t.fill("evenodd"),O(e)}function O(e){return e.toDataURL()}var z,D;function R(){return u(this,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return j(e=G())?z?[2,d(z)]:S()?[4,(n=document,(n.exitFullscreen||n.msExitFullscreen||n.mozCancelFullScreen||n.webkitExitFullscreen).call(n))]:[3,2]:[3,2];case 1:t.sent(),e=G(),t.label=2;case 2:return j(e)||(z=e),[2,e]}var n}))}))}function G(){var e=screen;return[m(v(e.availTop),null),m(v(e.width)-v(e.availWidth)-m(v(e.availLeft),0),null),m(v(e.height)-v(e.availHeight)-m(v(e.availTop),0),null),m(v(e.availLeft),null)]}function j(e){for(var t=0;t<4;++t)if(e[t])return!1;return!0}var U={abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'a[title="7naga poker" i]','img[title="ALIENBOLA" i]'],abpvn:["#quangcaomb",".i-said-no-thing-can-stop-me-warning.dark",".quangcao",'[href^="https://r88.vn/"]','[href^="https://zbet.vn/"]'],adBlockFinland:[".mainostila",".sponsorit",".ylamainos",'a[href*="/clickthrgh.asp?"]','a[href^="https://app.readpeak.com/ads"]'],adBlockPersian:[".widget_arvins_ad_randomizer",'a[href^="https://iqoption.com/lp/mobile-partner/?aff="]','a[href*="fastclick.net/ad/"]','TABLE[width="140px"]',".facebook_shows_ad_cale"],adBlockWarningRemoval:["#adblock_message",".adblockInfo",".deadblocker-header-bar",".no-ad-reminder","#AdBlockDialog"],adGuardAnnoyances:['amp-embed[type="zen"]',".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil"],adGuardBase:[".ad-disclaimer-container","#content_ad_container","#ad_wp_base","#adxtop","#bannerfloat22"],adGuardChinese:['a[href*=".123ch.cn"]','a[href*=".acuxrecv.cn"]','a[href*=".bayiyy.com/download."]','a[href*=".quankan.tv"]',"#j-new-ad"],adGuardFrench:["#div_banniere_pub","#sp-entete-pour-la-pub",'a[href*="fducks.com/"]','a[href^="http://promo.vador.com/"]','a[href^="https://syndication.exdynsrv.com/"]'],adGuardGerman:[".banneritemwerbung_head_1",".boxstartwerbung",".werbung3",'a[href^="http://www.firstload.de/index.php?set_lang=de&log="]','a[href^="http://www.sendung-now.de/tick/click.php?id="]'],adGuardJapanese:[".ad-text-blockA01","._popIn_infinite_video","[class^=blogroll_wrapper]",'a[href^="http://ad2.trafficgate.net/"]','a[href^="http://www.rssad.jp/"]'],adGuardMobile:["amp-auto-ads","#mgid_iframe",".amp_ad","amp-sticky-ad",".plugin-blogroll"],adGuardRussian:['a[href^="https://ya-distrib.ru/r/"]','a[href*=".twkv.ru"]','div[data-adv-type="dfp"]',".b-journalpromo-container",'div[id^="AdFox_banner_"]'],adGuardSocial:['a[href^="//www.stumbleupon.com/submit?url="]','a[href^="//telegram.me/share/url?"]',"#___plusone_0","#inlineShare",".popup-social"],adGuardSpanishPortuguese:[".esp_publicidad","#Publicidade","#publiEspecial","#queTooltip",'[href^="http://ads.glispa.com/"]'],adGuardTrackingProtection:['amp-embed[type="taboola"]',"#qoo-counter",'a[href^="http://click.hotlog.ru/"]','a[href^="http://hitcounter.ru/top/stat.php"]','a[href^="http://top.mail.ru/jump"]'],adGuardTurkish:["#backkapat","#reklam",'a[href^="http://adserv.ontek.com.tr/"]','a[href^="http://izlenzi.com/campaign/"]','a[href^="http://www.installads.net/"]'],bulgarian:["#adbody","#newAd","#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:['[lazy-ad="leftthin_banner"]',".smart_ads_bom_title",".slide-advert_float",".six-ads-wrapper",".showcaseAd"],easyListChina:["#fuo_top_float",".kf_qycn_com_cckf_welcomebox",'a[href*=".caohang.com.cn/"]','a[href*=".yuanmengbi.com/"]','.layui-row[style="border-radius:10px;background-color:#ff0000;padding:15px;margin:15px;"]'],easyListCookie:["#cookieBgOverlay","#alerte-cookies","#cookieLY","#dlgCookies",".Section-Cookie"],easyListCzechSlovak:["#onlajny-stickers","#reklamni-box",".reklama-megaboard",".sklik",'[id^="sklikReklama"]'],easyListDutch:["#advertentie","#vipAdmarktBannerBlock",".adstekst",'a[href^="http://adserver.webads.nl/adclick/"]','a[href^="http://www.site-id.nl/servlet/___?"]'],easyListGermany:[".werb_textlink","#ad-qm-sidebar-oben",".adguru-content-html",".nfy-sebo-ad",".textlinkwerbung"],easyListItaly:[".box_adv_annunci",".sb-box-pubbliredazionale",'a[href^="http://affiliazioniads.snai.it/"]','a[href^="https://adserver.html.it/"]','a[href^="https://affiliazioniads.snai.it/"]'],easyListLithuania:[".reklamos_tarpas",'a[href="http://igrovoi-klub.org/fair-land"]','a[href="http://www.moteris.lt/didieji-grozio-pokyciai/"]','img[alt="Dedikuoti.lt serveriai"]','img[alt="Hostingas Serveriai.lt"]'],estonian:[".flex--align-items-center.flex--justify-content-center.flex.section-branding__digipakett-contents",'A[href*="http://pay4results24.eu"]'],fanboyAnnoyances:["#feedback-tab","#ruby-back-top",".feedburnerFeedBlock",".widget-feedburner-counter",'[title="Subscribe to our blog"]'],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag",'div[style*="box-shadow: rgb(136, 136, 136) 0px 0px 12px; color: "]','div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:[".td-tags-and-social-wrapper-box",".twitterContainer",".youtube-social",'a[title^="Like us on Facebook"]','img[alt^="Share on Digg"]'],frellwitSwedish:['a[href*="casinopro.se"][target="_blank"]','a[href*="doktor-se.onelink.me"]',"article.category-samarbete",'img[alt="Leovegas"]',"ul.adsmodern"],greekAdBlock:['A[href*="adman.otenet.gr/click?"]','A[href*="http://axiabanners.exodus.gr/"]','A[href*="http://interactive.forthnet.gr/click?"]',"DIV.agores300","TABLE.advright"],hungarian:['A[href*="ad.eval.hu"]','A[href*="ad.netmedia.hu"]','A[href*="daserver.ultraweb.hu"]',"#cemp_doboz",".optimonk-iframe-container"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container",".cookie-msg-info-container","#cookies-policy-sticky"],icelandicAbp:['A[href^="/framework/resources/forms/ads.aspx"]'],latvian:['a[href="http://www.salidzini.lv/"][style="display: block; width: 120px; height: 40px; overflow: hidden; position: relative;"]','a[href="http://www.salidzini.lv/"][style="display: block; width: 88px; height: 31px; overflow: hidden; position: relative;"]'],listKr:['a[href*="//kingtoon.slnk.kr"]','a[href*="//playdsb.com/kr"]','a[href*="//simba-kor.com"]','div[data-widget_id="ml6EJ074"]',"ins.daum_ddn_area"],listeAr:[".geminiLB1Ad",".right-and-left-sponsers",'a[href*=".aflam.info"]','a[href*="booraq.org"]','a[href*="dubizzle.com/ar/?utm_source="]'],listeFr:['a[href^="http://look.djfiln.com/"]',"#adcontainer_recherche",'a[href*="weborama.fr/fcgi-bin/"]','a[href^="https://secure.securitetotale.fr/"]','div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",'[href^="https://aff.sendhub.pl/"]','a[href^="http://advmanager.techfun.pl/redirect/"]','a[href^="http://www.trizer.pl/?utm_source"]',"div#skapiec_ad"],ro:['a[href^="//afftrk.altex.ro/Counter/Click"','a[href^="/magazin/"','a[href^="https://blackfridaysales.ro/trk/shop/"','a[href^="https://event.2performant.com/events/click"','a[href^="https://l.profitshare.ro/"]'],ruAd:['a[href*="//febrare.ru/"]','a[href*="//utimg.ru/"]','a[href*="://chikidiki.ru"]',"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]","#ads-google-middle_rectangle-group",".ads300s",".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",".ctpl-fullbanner",".j-share-bar-left",".yt.btn-link.btn-md.btn"]},q=Object.keys(U);function N(e){var t;return u(this,void 0,void 0,(function(){var n,r,a,o,i,c,s,u,d,h;return l(this,(function(l){switch(l.label){case 0:for(n=document,r=n.createElement("div"),a=[],o={},W(r),i=0,c=e;i<c.length;i++)s=c[i],u=T(s),W(d=n.createElement("div")),d.appendChild(u),r.appendChild(d),a.push(u);l.label=1;case 1:return n.body?[3,3]:[4,f(100)];case 2:return l.sent(),[3,1];case 3:n.body.appendChild(r);try{for(h=0;h<e.length;++h)a[h].offsetParent||(o[e[h]]=!0)}finally{null===(t=r.parentNode)||void 0===t||t.removeChild(r)}return[2,o]}}))}))}function W(e){e.style.setProperty("display","block","important")}function H(e){return matchMedia("(inverted-colors: "+e+")").matches}function J(e){return matchMedia("(forced-colors: "+e+")").matches}function V(e){return matchMedia("(prefers-contrast: "+e+")").matches}function K(e){return matchMedia("(prefers-reduced-motion: "+e+")").matches}function $(e){return matchMedia("(dynamic-range: "+e+")").matches}var Y=Math,X=function(){return 0},Z=Y.acos||X,Q=Y.acosh||X,ee=Y.asin||X,te=Y.asinh||X,ne=Y.atanh||X,re=Y.atan||X,ae=Y.sin||X,oe=Y.sinh||X,ie=Y.cos||X,ce=Y.cosh||X,se=Y.tan||X,ue=Y.tanh||X,le=Y.exp||X,de=Y.expm1||X,fe=Y.log1p||X,he=function(e){return Y.pow(Y.PI,e)},pe=function(e){return Y.log(e+Y.sqrt(e*e+1))},ve=function(e){return Y.log((1+e)/(1-e))/2},me=function(e){return Y.exp(e)-1/Y.exp(e)/2},ge=function(e){return(Y.exp(e)+1/Y.exp(e))/2},be=function(e){return Y.exp(e)-1},we=function(e){return(Y.exp(2*e)-1)/(Y.exp(2*e)+1)},ye=function(e){return Y.log(1+e)};var ke={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function Ce(e,t){return void 0===t&&(t=4e3),P((function(n,r){var a=r.document,o=a.body;o.style.width=t+"px",y()?o.style.zoom=""+1/r.devicePixelRatio:k()&&(o.style.zoom="reset");var i=a.createElement("div");return i.textContent=d(Array(t/20<<0)).map((function(){return"word"})).join(" "),o.appendChild(i),e(a,o)}),'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var xe={fonts:function(){return P((function(e,t){var n=t.document,r=n.body;r.style.fontSize="48px";var a=n.createElement("div"),o={},i={},c=function(e){var t=n.createElement("span"),r=t.style;return r.position="absolute",r.top="0",r.left="0",r.fontFamily=e,t.textContent="mmMwWLliI0O&1",a.appendChild(t),t},s=E.map(c),u=function(){for(var e={},t=function(t){e[t]=E.map((function(e){return function(e,t){return c("'"+e+"',"+t)}(t,e)}))},n=0,r=I;n<r.length;n++){t(r[n])}return e}();r.appendChild(a);for(var l=0;l<E.length;l++)o[E[l]]=s[l].offsetWidth,i[E[l]]=s[l].offsetHeight;return I.filter((function(e){return t=u[e],E.some((function(e,n){return t[n].offsetWidth!==o[e]||t[n].offsetHeight!==i[e]}));var t}))}))},domBlockers:function(e){var t=(void 0===e?{}:e).debug;return u(this,void 0,void 0,(function(){var e,n,r;return l(this,(function(a){switch(a.label){case 0:return k()||function(){var e=y(),t=x();if(!e&&!t)return!1;var n=window;return g(["onorientationchange"in n,"orientation"in n,e&&"SharedWorker"in n,t&&/android/i.test(navigator.appVersion)])>=2}()?[4,N((r=[]).concat.apply(r,q.map((function(e){return U[e]}))))]:[2,void 0];case 1:return e=a.sent(),t&&function(e){for(var t="DOM blockers debug:\n```",n=0,r=q;n<r.length;n++){var a=r[n];t+="\n"+a+":";for(var o=0,i=U[a];o<i.length;o++){var c=i[o];t+="\n "+c+" "+(e[c]?"š«":"ā”ļø")}}console.log(t+"\n```")}(e),(n=q.filter((function(t){var n=U[t];return g(n.map((function(t){return e[t]})))>.5*n.length}))).sort(),[2,n]}}))}))},fontPreferences:function(){return u(this,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return e={},[4,Ce((function(t,n){for(var r={},a=0,o=Object.keys(ke);a<o.length;a++){var i=o[a],c=ke[i],s=c[0],u=void 0===s?{}:s,l=c[1],d=void 0===l?"mmMwWLliI0fiflO&1":l,f=t.createElement("span");f.textContent=d,f.style.whiteSpace="nowrap";for(var h=0,p=Object.keys(u);h<p.length;h++){var v=p[h],m=u[v];void 0!==m&&(f.style[v]=m)}r[i]=f,n.appendChild(t.createElement("br")),n.appendChild(f)}for(var g=0,b=Object.keys(ke);g<b.length;g++){i=b[g];e[i]=r[i].getBoundingClientRect().width}}))];case 1:return t.sent(),[2,e]}}))}))},audio:function(){return u(this,void 0,void 0,(function(){var e,t,n,r,a,o,i,c;return l(this,(function(s){switch(s.label){case 0:if(e=window,!(t=e.OfflineAudioContext||e.webkitOfflineAudioContext))return[2,-2];if(k()&&!C()&&!function(){var e=window;return g(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}())return[2,-1];n=4500,5e3,r=new t(1,5e3,44100),(a=r.createOscillator()).type="triangle",a.frequency.value=1e4,(o=r.createDynamicsCompressor()).threshold.value=-50,o.knee.value=40,o.ratio.value=12,o.attack.value=0,o.release.value=.25,a.connect(o),o.connect(r.destination),a.start(0),s.label=1;case 1:return s.trys.push([1,3,,4]),[4,A(r)];case 2:return i=s.sent(),[3,4];case 3:if("timeout"===(c=s.sent()).name||"suspended"===c.name)return[2,-3];throw c;case 4:return[2,_(i.getChannelData(0).subarray(n))]}}))}))},screenFrame:function(){return u(this,void 0,void 0,(function(){var e,t;return l(this,(function(n){switch(n.label){case 0:return e=function(e){return null===e?null:function(e,t){if(void 0===t&&(t=1),Math.abs(t)>=1)return Math.round(e/t)*t;var n=1/t;return Math.round(e*n)/n}(e,10)},[4,R()];case 1:return t=n.sent(),[2,[e(t[0]),e(t[1]),e(t[2]),e(t[3])]]}}))}))},osCpu:function(){return navigator.oscpu},languages:function(){var e,t=navigator,n=[],r=t.language||t.userLanguage||t.browserLanguage||t.systemLanguage;if(void 0!==r&&n.push([r]),Array.isArray(t.languages))y()&&g([!("MediaSettingsRange"in(e=window)),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3||n.push(t.languages);else if("string"==typeof t.languages){var a=t.languages;a&&n.push(a.split(","))}return n},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return m(v(navigator.deviceMemory),void 0)},screenResolution:function(){var e=screen,t=[p(e.width),p(e.height)];return t.sort().reverse(),t},hardwareConcurrency:function(){return m(p(navigator.hardwareConcurrency),void 0)},timezone:function(){var e,t=null===(e=window.Intl)||void 0===e?void 0:e.DateTimeFormat;if(t){var n=(new t).resolvedOptions().timeZone;if(n)return n}var r,a=(r=(new Date).getFullYear(),-Math.max(v(new Date(r,0,1).getTimezoneOffset()),v(new Date(r,6,1).getTimezoneOffset())));return"UTC"+(a>=0?"+":"")+Math.abs(a)},sessionStorage:function(){try{return!!window.sessionStorage}catch(e){return!0}},localStorage:function(){try{return!!window.localStorage}catch(e){return!0}},indexedDB:function(){if(!b()&&!w())try{return!!window.indexedDB}catch(e){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){var e=navigator.platform;return"MacIntel"===e&&k()&&!C()?function(){if("iPad"===navigator.platform)return!0;var e=screen,t=e.width/e.height;return g(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>2/3&&t<1.5])>=2}()?"iPad":"iPhone":e},plugins:function(){var e=navigator.plugins;if(e){for(var t=[],n=0;n<e.length;++n){var r=e[n];if(r){for(var a=[],o=0;o<r.length;++o){var i=r[o];a.push({type:i.type,suffixes:i.suffixes})}t.push({name:r.name,description:r.description,mimeTypes:a})}}return t}},canvas:function(){var e=function(){var e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}(),t=e[0],n=e[1];return function(e,t){return!(!t||!e.toDataURL)}(t,n)?{winding:L(n),geometry:F(t,n),text:B(t,n)}:{winding:!1,geometry:"",text:""}},touchSupport:function(){var e,t=navigator,n=0;void 0!==t.maxTouchPoints?n=p(t.maxTouchPoints):void 0!==t.msMaxTouchPoints&&(n=t.msMaxTouchPoints);try{document.createEvent("TouchEvent"),e=!0}catch(r){e=!1}return{maxTouchPoints:n,touchEvent:e,touchStart:"ontouchstart"in window}},vendor:function(){return navigator.vendor||""},vendorFlavors:function(){for(var e=[],t=0,n=["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"];t<n.length;t++){var r=n[t],a=window[r];a&&"object"==typeof a&&e.push(r)}return e.sort()},cookiesEnabled:function(){var e=document;try{e.cookie="cookietest=1; SameSite=Strict;";var t=-1!==e.cookie.indexOf("cookietest=");return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch(n){return!1}},colorGamut:function(){for(var e=0,t=["rec2020","p3","srgb"];e<t.length;e++){var n=t[e];if(matchMedia("(color-gamut: "+n+")").matches)return n}},invertedColors:function(){return!!H("inverted")||!H("none")&&void 0},forcedColors:function(){return!!J("active")||!J("none")&&void 0},monochrome:function(){if(matchMedia("(min-monochrome: 0)").matches){for(var e=0;e<=100;++e)if(matchMedia("(max-monochrome: "+e+")").matches)return e;throw new Error("Too high value")}},contrast:function(){return V("no-preference")?0:V("high")||V("more")?1:V("low")||V("less")?-1:V("forced")?10:void 0},reducedMotion:function(){return!!K("reduce")||!K("no-preference")&&void 0},hdr:function(){return!!$("high")||!$("standard")&&void 0},math:function(){return{acos:Z(.12312423423423424),acosh:Q(1e308),acoshPf:(e=1e154,Y.log(e+Y.sqrt(e*e-1))),asin:ee(.12312423423423424),asinh:te(1),asinhPf:pe(1),atanh:ne(.5),atanhPf:ve(.5),atan:re(.5),sin:ae(-1e300),sinh:oe(1),sinhPf:me(1),cos:ie(10.000000000123),cosh:ce(1),coshPf:ge(1),tan:se(-1e300),tanh:ue(1),tanhPf:we(1),exp:le(1),expm1:de(1),expm1Pf:be(1),log1p:fe(10),log1pPf:ye(10),powPI:he(-100)};var e}};function Se(e,t,n){return u(this,void 0,void 0,(function(){var r,a,o,i,c,d,f;return l(this,(function(h){switch(h.label){case 0:r=[],a={},16,o=Date.now(),i=function(i){var c;return l(this,(function(d){switch(d.label){case 0:return function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return!0;return!1}(n,i)?[2,"continue"]:(a[i]=void 0,r.push(function(e,t){return u(this,void 0,void 0,(function(){var n,r,a,o;return l(this,(function(i){switch(i.label){case 0:r=Date.now(),i.label=1;case 1:return i.trys.push([1,3,,4]),o={},[4,e(t)];case 2:return o.value=i.sent(),n=o,[3,4];case 3:return a=i.sent(),n={error:(c=a,c&&"object"==typeof c&&"message"in c?c:{message:c})},[3,4];case 4:return[2,s(s({},n),{duration:Date.now()-r})]}var c}))}))}(e[i],t).then((function(e){a[i]=e}))),(c=Date.now())>=o+16?(o=c,[4,new Promise((function(e){return setTimeout(e)}))]):[3,2]);case 1:return d.sent(),[3,4];case 2:return[4,void 0];case 3:d.sent(),d.label=4;case 4:return[2]}}))},c=0,d=Object.keys(e),h.label=1;case 1:return c<d.length?(f=d[c],[5,i(f)]):[3,4];case 2:h.sent(),h.label=3;case 3:return c++,[3,1];case 4:return[4,Promise.all(r)];case 5:return h.sent(),[2,a]}}))}))}function Ae(e){return Se(xe,e,[])}function _e(e){return JSON.stringify(e,(function(e,t){return t instanceof Error?s({name:(n=t).name,message:n.message,stack:null===(r=n.stack)||void 0===r?void 0:r.split("\n")},n):t;var n,r}),2)}function Me(e){return c(function(e){for(var t="",n=0,r=Object.keys(e).sort();n<r.length;n++){var a=r[n],o=e[a],i=o.error?"error":JSON.stringify(o.value);t+=(t?"|":"")+a.replace(/([:|\\])/g,"\\$1")+":"+i}return t}(e))}var Pe=function(){function e(){!function(){if(void 0===D){var e=function(){var t=G();j(t)?D=setTimeout(e,2500):(z=t,D=void 0)};e()}}()}return e.prototype.get=function(e){return void 0===e&&(e={}),u(this,void 0,void 0,(function(){var t,n;return l(this,(function(r){switch(r.label){case 0:return[4,Ae(e)];case 1:return t=r.sent(),n=function(e){var t;return{components:e,get visitorId(){return void 0===t&&(t=Me(this.components)),t},set visitorId(e){t=e}}}(t),e.debug&&console.log("Copy the text below to get the debug data:\n\n```\nversion: 3.1.0-dev.4\nuserAgent: "+navigator.userAgent+"\ngetOptions: "+JSON.stringify(e,void 0,2)+"\nvisitorId: "+n.visitorId+"\ncomponents: "+_e(t)+"\n```"),[2,n]}}))}))},e}();function Te(e){var t=(void 0===e?{}:e).delayFallback,n=void 0===t?50:t;return u(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,h(n,2*n)];case 1:return e.sent(),[2,new Pe]}}))}))}var Ee={load:Te,hashComponents:Me,componentsToDebugString:_e},Ie=c;return e.componentsToDebugString=_e,e.default=Ee,e.getComponents=Se,e.getFullscreenElement=S,e.getScreenFrame=R,e.hashComponents=Me,e.isChromium=y,e.isDesktopSafari=C,e.isEdgeHTML=w,e.isGecko=x,e.isTrident=b,e.isWebKit=k,e.load=Te,e.murmurX64Hash128=Ie,e}({}); |
/** | ||
* FingerprintJS v3.1.0-dev.3 - Copyright (c) FingerprintJS, Inc, 2021 (https://fingerprintjs.com) | ||
* FingerprintJS v3.1.0-dev.4 - Copyright (c) FingerprintJS, Inc, 2021 (https://fingerprintjs.com) | ||
* Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. | ||
@@ -9,2 +9,2 @@ * | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).FingerprintJS={})}(this,(function(e){"use strict";function n(e,n){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],n=[n[0]>>>16,65535&n[0],n[1]>>>16,65535&n[1]];var t=[0,0,0,0];return t[3]+=e[3]+n[3],t[2]+=t[3]>>>16,t[3]&=65535,t[2]+=e[2]+n[2],t[1]+=t[2]>>>16,t[2]&=65535,t[1]+=e[1]+n[1],t[0]+=t[1]>>>16,t[1]&=65535,t[0]+=e[0]+n[0],t[0]&=65535,[t[0]<<16|t[1],t[2]<<16|t[3]]}function t(e,n){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],n=[n[0]>>>16,65535&n[0],n[1]>>>16,65535&n[1]];var t=[0,0,0,0];return t[3]+=e[3]*n[3],t[2]+=t[3]>>>16,t[3]&=65535,t[2]+=e[2]*n[3],t[1]+=t[2]>>>16,t[2]&=65535,t[2]+=e[3]*n[2],t[1]+=t[2]>>>16,t[2]&=65535,t[1]+=e[1]*n[3],t[0]+=t[1]>>>16,t[1]&=65535,t[1]+=e[2]*n[2],t[0]+=t[1]>>>16,t[1]&=65535,t[1]+=e[3]*n[1],t[0]+=t[1]>>>16,t[1]&=65535,t[0]+=e[0]*n[3]+e[1]*n[2]+e[2]*n[1]+e[3]*n[0],t[0]&=65535,[t[0]<<16|t[1],t[2]<<16|t[3]]}function r(e,n){return 32===(n%=64)?[e[1],e[0]]:n<32?[e[0]<<n|e[1]>>>32-n,e[1]<<n|e[0]>>>32-n]:(n-=32,[e[1]<<n|e[0]>>>32-n,e[0]<<n|e[1]>>>32-n])}function o(e,n){return 0===(n%=64)?e:n<32?[e[0]<<n|e[1]>>>32-n,e[1]<<n]:[e[1]<<n-32,0]}function i(e,n){return[e[0]^n[0],e[1]^n[1]]}function a(e){return e=i(e,[0,e[0]>>>1]),e=i(e=t(e,[4283543511,3981806797]),[0,e[0]>>>1]),e=i(e=t(e,[3301882366,444984403]),[0,e[0]>>>1])}function u(e,u){u=u||0;var c,s=(e=e||"").length%16,l=e.length-s,f=[0,u],d=[0,u],h=[0,0],v=[0,0],g=[2277735313,289559509],m=[1291169091,658871167];for(c=0;c<l;c+=16)h=[255&e.charCodeAt(c+4)|(255&e.charCodeAt(c+5))<<8|(255&e.charCodeAt(c+6))<<16|(255&e.charCodeAt(c+7))<<24,255&e.charCodeAt(c)|(255&e.charCodeAt(c+1))<<8|(255&e.charCodeAt(c+2))<<16|(255&e.charCodeAt(c+3))<<24],v=[255&e.charCodeAt(c+12)|(255&e.charCodeAt(c+13))<<8|(255&e.charCodeAt(c+14))<<16|(255&e.charCodeAt(c+15))<<24,255&e.charCodeAt(c+8)|(255&e.charCodeAt(c+9))<<8|(255&e.charCodeAt(c+10))<<16|(255&e.charCodeAt(c+11))<<24],h=r(h=t(h,g),31),f=n(f=r(f=i(f,h=t(h,m)),27),d),f=n(t(f,[0,5]),[0,1390208809]),v=r(v=t(v,m),33),d=n(d=r(d=i(d,v=t(v,g)),31),f),d=n(t(d,[0,5]),[0,944331445]);switch(h=[0,0],v=[0,0],s){case 15:v=i(v,o([0,e.charCodeAt(c+14)],48));case 14:v=i(v,o([0,e.charCodeAt(c+13)],40));case 13:v=i(v,o([0,e.charCodeAt(c+12)],32));case 12:v=i(v,o([0,e.charCodeAt(c+11)],24));case 11:v=i(v,o([0,e.charCodeAt(c+10)],16));case 10:v=i(v,o([0,e.charCodeAt(c+9)],8));case 9:v=t(v=i(v,[0,e.charCodeAt(c+8)]),m),d=i(d,v=t(v=r(v,33),g));case 8:h=i(h,o([0,e.charCodeAt(c+7)],56));case 7:h=i(h,o([0,e.charCodeAt(c+6)],48));case 6:h=i(h,o([0,e.charCodeAt(c+5)],40));case 5:h=i(h,o([0,e.charCodeAt(c+4)],32));case 4:h=i(h,o([0,e.charCodeAt(c+3)],24));case 3:h=i(h,o([0,e.charCodeAt(c+2)],16));case 2:h=i(h,o([0,e.charCodeAt(c+1)],8));case 1:h=t(h=i(h,[0,e.charCodeAt(c)]),g),f=i(f,h=t(h=r(h,31),m))}return f=n(f=i(f,[0,e.length]),d=i(d,[0,e.length])),d=n(d,f),f=n(f=a(f),d=a(d)),d=n(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)}var c=function(){return(c=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function s(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{c(r.next(e))}catch(n){i(n)}}function u(e){try{c(r.throw(e))}catch(n){i(n)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,u)}c((r=r.apply(e,n||[])).next())}))}function l(e,n){var t,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(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=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=n.call(e,a)}catch(u){i=[6,u],r=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function f(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),o=0;for(n=0;n<t;n++)for(var i=arguments[n],a=0,u=i.length;a<u;a++,o++)r[o]=i[a];return r}function d(e){return parseInt(e)}function h(e){return parseFloat(e)}function v(e,n){return"number"==typeof e&&isNaN(e)?n:e}function g(e){return e.reduce((function(e,n){return e+(n?1:0)}),0)}function m(){var e=window,n=navigator;return g(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in n,"msPointerEnabled"in n])>=4}function p(){var e=window,n=navigator;return g(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in n,"msSaveBlob"in n])>=3&&!m()}function w(){var e=window,n=navigator;return g(["webkitPersistentStorage"in n,"webkitTemporaryStorage"in n,0===n.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function y(){var e=window,n=navigator;return g(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===n.vendor.indexOf("Apple"),"getStorageUpdates"in n,"WebKitMediaKeys"in e])>=4}function b(){var e=window;return g(["safari"in e,!("DeviceMotionEvent"in e),!("ongestureend"in e),!("standalone"in navigator)])>=3}function S(){var e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function C(e){return new Promise((function(n,t){e.oncomplete=function(e){return n(e.renderedBuffer)};var r=3,o=function(){switch(e.startRendering(),e.state){case"running":setTimeout((function(){return t(M("timeout"))}),1e3);break;case"suspended":document.hidden||r--,r>0?setTimeout(o,500):t(M("suspended"))}};o()}))}function A(e){for(var n=0,t=0;t<e.length;++t)n+=Math.abs(e[t]);return n}function M(e){var n=new Error(e);return n.name=e,n}var T=["monospace","sans-serif","serif"],x=["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"],k={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"};function P(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function E(e,n){e.width=240,e.height=60,n.textBaseline="alphabetic",n.fillStyle="#f60",n.fillRect(100,1,62,20),n.fillStyle="#069",n.font='11pt "Times New Roman"';var t="Cwm fjordbank gly "+String.fromCharCode(55357,56835);return n.fillText(t,2,15),n.fillStyle="rgba(102, 204, 0, 0.2)",n.font="18pt Arial",n.fillText(t,4,45),D(e)}function O(e,n){e.width=122,e.height=110,n.globalCompositeOperation="multiply";for(var t=0,r=[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]];t<r.length;t++){var o=r[t],i=o[0],a=o[1],u=o[2];n.fillStyle=i,n.beginPath(),n.arc(a,u,40,0,2*Math.PI,!0),n.closePath(),n.fill()}return n.fillStyle="#f9c",n.arc(60,60,60,0,2*Math.PI,!0),n.arc(60,60,20,0,2*Math.PI,!0),n.fill("evenodd"),D(e)}function D(e){return e.toDataURL()}var F,I;function R(){return s(this,void 0,void 0,(function(){var e;return l(this,(function(n){switch(n.label){case 0:return B(e=L())?F?[2,f(F)]:S()?[4,(t=document,(t.exitFullscreen||t.msExitFullscreen||t.mozCancelFullScreen||t.webkitExitFullscreen).call(t))]:[3,2]:[3,2];case 1:n.sent(),e=L(),n.label=2;case 2:return B(e)||(F=e),[2,e]}var t}))}))}function L(){var e=screen;return[v(h(e.availTop),null),v(h(e.width)-h(e.availWidth)-v(h(e.availLeft),0),null),v(h(e.height)-h(e.availHeight)-v(h(e.availTop),0),null),v(h(e.availLeft),null)]}function B(e){for(var n=0;n<4;++n)if(e[n])return!1;return!0}var _={audio:function(){return s(this,void 0,void 0,(function(){var e,n,t,r,o,i,a,u;return l(this,(function(c){switch(c.label){case 0:if(e=window,!(n=e.OfflineAudioContext||e.webkitOfflineAudioContext))return[2,-2];if(y()&&!b()&&!function(){var e=window;return g(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}())return[2,-1];t=4500,5e3,r=new n(1,5e3,44100),(o=r.createOscillator()).type="triangle",o.frequency.value=1e4,(i=r.createDynamicsCompressor()).threshold.value=-50,i.knee.value=40,i.ratio.value=12,i.attack.value=0,i.release.value=.25,o.connect(i),i.connect(r.destination),o.start(0),c.label=1;case 1:return c.trys.push([1,3,,4]),[4,C(r)];case 2:return a=c.sent(),[3,4];case 3:if("timeout"===(u=c.sent()).name||"suspended"===u.name)return[2,-3];throw u;case 4:return[2,A(a.getChannelData(0).subarray(t))]}}))}))},screenFrame:function(){return s(this,void 0,void 0,(function(){var e,n;return l(this,(function(t){switch(t.label){case 0:return e=function(e){return null===e?null:function(e,n){if(void 0===n&&(n=1),Math.abs(n)>=1)return Math.round(e/n)*n;var t=1/n;return Math.round(e*t)/t}(e,10)},[4,R()];case 1:return n=t.sent(),[2,[e(n[0]),e(n[1]),e(n[2]),e(n[3])]]}}))}))},osCpu:function(){return navigator.oscpu},languages:function(){var e,n=navigator,t=[],r=n.language||n.userLanguage||n.browserLanguage||n.systemLanguage;if(void 0!==r&&t.push([r]),Array.isArray(n.languages))w()&&g([!("MediaSettingsRange"in(e=window)),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3||t.push(n.languages);else if("string"==typeof n.languages){var o=n.languages;o&&t.push(o.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return v(h(navigator.deviceMemory),void 0)},screenResolution:function(){var e=screen,n=[d(e.width),d(e.height)];return n.sort().reverse(),n},hardwareConcurrency:function(){return v(d(navigator.hardwareConcurrency),void 0)},timezone:function(){var e,n=null===(e=window.Intl)||void 0===e?void 0:e.DateTimeFormat;if(n){var t=(new n).resolvedOptions().timeZone;if(t)return t}var r,o=(r=(new Date).getFullYear(),-Math.max(h(new Date(r,0,1).getTimezoneOffset()),h(new Date(r,6,1).getTimezoneOffset())));return"UTC"+(o>=0?"+":"")+Math.abs(o)},sessionStorage:function(){try{return!!window.sessionStorage}catch(e){return!0}},localStorage:function(){try{return!!window.localStorage}catch(e){return!0}},indexedDB:function(){if(!m()&&!p())try{return!!window.indexedDB}catch(e){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){var e=navigator.platform;return"MacIntel"===e&&y()&&!b()?function(){if("iPad"===navigator.platform)return!0;var e=screen,n=e.width/e.height;return g(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,n>2/3&&n<1.5])>=2}()?"iPad":"iPhone":e},plugins:function(){var e=navigator.plugins;if(e){for(var n=[],t=0;t<e.length;++t){var r=e[t];if(r){for(var o=[],i=0;i<r.length;++i){var a=r[i];o.push({type:a.type,suffixes:a.suffixes})}n.push({name:r.name,description:r.description,mimeTypes:o})}}return n}},canvas:function(){var e=function(){var e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}(),n=e[0],t=e[1];return function(e,n){return!(!n||!e.toDataURL)}(n,t)?{winding:P(t),geometry:O(n,t),text:E(n,t)}:{winding:!1,geometry:"",text:""}},touchSupport:function(){var e,n=navigator,t=0;void 0!==n.maxTouchPoints?t=d(n.maxTouchPoints):void 0!==n.msMaxTouchPoints&&(t=n.msMaxTouchPoints);try{document.createEvent("TouchEvent"),e=!0}catch(r){e=!1}return{maxTouchPoints:t,touchEvent:e,touchStart:"ontouchstart"in window}},fonts:function(){var e=document,n=e.body,t=e.createElement("div"),r=e.createElement("div"),o={},i={},a=function(){var n=e.createElement("span");n.textContent="mmMwWLliI0O&1";for(var t=0,r=Object.keys(k);t<r.length;t++){var o=r[t];n.style[o]=k[o]}return n},u=function(e){return T.some((function(n,t){return e[t].offsetWidth!==o[n]||e[t].offsetHeight!==i[n]}))},c=T.map((function(e){var n=a();return n.style.fontFamily=e,t.appendChild(n),n}));n.appendChild(t);for(var s=0,l=T.length;s<l;s++)o[T[s]]=c[s].offsetWidth,i[T[s]]=c[s].offsetHeight;var f=function(){for(var e={},n=function(n){e[n]=T.map((function(e){var t=function(e,n){var t=a();return t.style.fontFamily="'"+e+"',"+n,t}(n,e);return r.appendChild(t),t}))},t=0,o=x;t<o.length;t++){n(o[t])}return e}();n.appendChild(r);for(var d=[],h=0,v=x.length;h<v;h++)u(f[x[h]])&&d.push(x[h]);return n.removeChild(r),n.removeChild(t),d},productSub:function(){return navigator.productSub},emptyEvalLength:function(){return eval.toString().length},errorFF:function(){try{throw"a"}catch(e){try{return e.toSource(),!0}catch(n){return!1}}},vendor:function(){return navigator.vendor||""},vendorFlavors:function(){for(var e=[],n=0,t=["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"];n<t.length;n++){var r=t[n],o=window[r];o&&"object"==typeof o&&e.push(r)}return e.sort()},cookiesEnabled:function(){var e=document;try{e.cookie="cookietest=1; SameSite=Strict;";var n=-1!==e.cookie.indexOf("cookietest=");return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",n}catch(t){return!1}}};function G(e,n,t){return s(this,void 0,void 0,(function(){var r,o,i,a,u,f,d;return l(this,(function(h){switch(h.label){case 0:r=[],o={},16,i=Date.now(),a=function(a){var u;return l(this,(function(f){switch(f.label){case 0:return function(e,n){for(var t=0,r=e.length;t<r;++t)if(e[t]===n)return!0;return!1}(t,a)?[2,"continue"]:(o[a]=void 0,r.push(function(e,n){return s(this,void 0,void 0,(function(){var t,r,o,i;return l(this,(function(a){switch(a.label){case 0:r=Date.now(),a.label=1;case 1:return a.trys.push([1,3,,4]),i={},[4,e(n)];case 2:return i.value=a.sent(),t=i,[3,4];case 3:return o=a.sent(),t={error:(u=o,u&&"object"==typeof u&&"message"in u?u:{message:u})},[3,4];case 4:return[2,c(c({},t),{duration:Date.now()-r})]}var u}))}))}(e[a],n).then((function(e){o[a]=e}))),(u=Date.now())>=i+16?(i=u,[4,new Promise((function(e){return setTimeout(e)}))]):[3,2]);case 1:return f.sent(),[3,4];case 2:return[4,void 0];case 3:f.sent(),f.label=4;case 4:return[2]}}))},u=0,f=Object.keys(e),h.label=1;case 1:return u<f.length?(d=f[u],[5,a(d)]):[3,4];case 2:h.sent(),h.label=3;case 3:return u++,[3,1];case 4:return[4,Promise.all(r)];case 5:return h.sent(),[2,o]}}))}))}function U(e){return JSON.stringify(e,(function(e,n){return n instanceof Error?c({name:(t=n).name,message:t.message,stack:null===(r=t.stack)||void 0===r?void 0:r.split("\n")},t):n;var t,r}),2)}function j(e){return u(function(e){for(var n="",t=0,r=Object.keys(e).sort();t<r.length;t++){var o=r[t],i=e[o],a=i.error?"error":JSON.stringify(i.value);n+=(n?"|":"")+o.replace(/([:|\\])/g,"\\$1")+":"+a}return n}(e))}var H=function(){function e(){!function(){if(void 0===I){var e=function(){var n=L();B(n)?I=setTimeout(e,2500):(F=n,I=void 0)};e()}}()}return e.prototype.get=function(e){return void 0===e&&(e={}),s(this,void 0,void 0,(function(){var n,t;return l(this,(function(r){switch(r.label){case 0:return[4,G(_,void 0,[])];case 1:return n=r.sent(),t=function(e){var n;return{components:e,get visitorId(){return void 0===n&&(n=j(this.components)),n},set visitorId(e){n=e}}}(n),e.debug&&console.log("Copy the text below to get the debug data:\n\n```\nversion: 3.1.0-dev.3\nuserAgent: "+navigator.userAgent+"\ngetOptions: "+JSON.stringify(e,void 0,2)+"\nvisitorId: "+t.visitorId+"\ncomponents: "+U(n)+"\n```"),[2,t]}}))}))},e}();function W(e){var n=(void 0===e?{}:e).delayFallback,t=void 0===n?50:n;return s(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,(n=t,r=2*t,void 0===r&&(r=1/0),new Promise((function(e){var t=window.requestIdleCallback;t?t((function(){return e()}),{timeout:r}):setTimeout(e,Math.min(n,r))})))];case 1:return e.sent(),[2,new H]}var n,r}))}))}var N={load:W,hashComponents:j,componentsToDebugString:U},z=u;e.componentsToDebugString=U,e.default=N,e.getComponents=G,e.getFullscreenElement=S,e.getScreenFrame=R,e.hashComponents=j,e.isChromium=w,e.isDesktopSafari=b,e.isEdgeHTML=p,e.isGecko=function(){var e,n,t=window;return g(["buildID"in navigator,"MozAppearance"in(null!==(n=null===(e=document.documentElement)||void 0===e?void 0:e.style)&&void 0!==n?n:{}),"MediaRecorderErrorEvent"in t,"mozInnerScreenX"in t,"CSSMozDocumentRule"in t,"CanvasCaptureMediaStream"in t])>=4},e.isTrident=m,e.isWebKit=y,e.load=W,e.murmurX64Hash128=z,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";function t(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 n(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 r(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 a(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 o(e,t){return[e[0]^t[0],e[1]^t[1]]}function i(e){return e=o(e,[0,e[0]>>>1]),e=o(e=n(e,[4283543511,3981806797]),[0,e[0]>>>1]),e=o(e=n(e,[3301882366,444984403]),[0,e[0]>>>1])}function c(e,c){c=c||0;var s,u=(e=e||"").length%16,l=e.length-u,d=[0,c],f=[0,c],h=[0,0],p=[0,0],v=[2277735313,289559509],m=[1291169091,658871167];for(s=0;s<l;s+=16)h=[255&e.charCodeAt(s+4)|(255&e.charCodeAt(s+5))<<8|(255&e.charCodeAt(s+6))<<16|(255&e.charCodeAt(s+7))<<24,255&e.charCodeAt(s)|(255&e.charCodeAt(s+1))<<8|(255&e.charCodeAt(s+2))<<16|(255&e.charCodeAt(s+3))<<24],p=[255&e.charCodeAt(s+12)|(255&e.charCodeAt(s+13))<<8|(255&e.charCodeAt(s+14))<<16|(255&e.charCodeAt(s+15))<<24,255&e.charCodeAt(s+8)|(255&e.charCodeAt(s+9))<<8|(255&e.charCodeAt(s+10))<<16|(255&e.charCodeAt(s+11))<<24],h=r(h=n(h,v),31),d=t(d=r(d=o(d,h=n(h,m)),27),f),d=t(n(d,[0,5]),[0,1390208809]),p=r(p=n(p,m),33),f=t(f=r(f=o(f,p=n(p,v)),31),d),f=t(n(f,[0,5]),[0,944331445]);switch(h=[0,0],p=[0,0],u){case 15:p=o(p,a([0,e.charCodeAt(s+14)],48));case 14:p=o(p,a([0,e.charCodeAt(s+13)],40));case 13:p=o(p,a([0,e.charCodeAt(s+12)],32));case 12:p=o(p,a([0,e.charCodeAt(s+11)],24));case 11:p=o(p,a([0,e.charCodeAt(s+10)],16));case 10:p=o(p,a([0,e.charCodeAt(s+9)],8));case 9:p=n(p=o(p,[0,e.charCodeAt(s+8)]),m),f=o(f,p=n(p=r(p,33),v));case 8:h=o(h,a([0,e.charCodeAt(s+7)],56));case 7:h=o(h,a([0,e.charCodeAt(s+6)],48));case 6:h=o(h,a([0,e.charCodeAt(s+5)],40));case 5:h=o(h,a([0,e.charCodeAt(s+4)],32));case 4:h=o(h,a([0,e.charCodeAt(s+3)],24));case 3:h=o(h,a([0,e.charCodeAt(s+2)],16));case 2:h=o(h,a([0,e.charCodeAt(s+1)],8));case 1:h=n(h=o(h,[0,e.charCodeAt(s)]),v),d=o(d,h=n(h=r(h,31),m))}return d=t(d=o(d,[0,e.length]),f=o(f,[0,e.length])),f=t(f,d),d=t(d=i(d),f=i(f)),f=t(f,d),("00000000"+(d[0]>>>0).toString(16)).slice(-8)+("00000000"+(d[1]>>>0).toString(16)).slice(-8)+("00000000"+(f[0]>>>0).toString(16)).slice(-8)+("00000000"+(f[1]>>>0).toString(16)).slice(-8)}var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function u(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{s(r.next(e))}catch(t){o(t)}}function c(e){try{s(r.throw(e))}catch(t){o(t)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,c)}s((r=r.apply(e,t||[])).next())}))}function l(e,t){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(a=2&o[0]?r.return:o[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,o[1])).done)return a;switch(r=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,r=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){i.label=o[1];break}if(6===o[0]&&i.label<a[1]){i.label=a[1],a=o;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(o);break}a[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(c){o=[6,c],r=0}finally{n=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,c])}}}function d(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),a=0;for(t=0;t<n;t++)for(var o=arguments[t],i=0,c=o.length;i<c;i++,a++)r[a]=o[i];return r}function f(e,t){return new Promise((function(n){return setTimeout(n,e,t)}))}function h(e,t){void 0===t&&(t=1/0);var n=window.requestIdleCallback;return n?new Promise((function(e){return n((function(){return e()}),{timeout:t})})):f(Math.min(e,t))}function p(e){return parseInt(e)}function v(e){return parseFloat(e)}function m(e,t){return"number"==typeof e&&isNaN(e)?t:e}function g(e){return e.reduce((function(e,t){return e+(t?1:0)}),0)}function b(){var e=window,t=navigator;return g(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function w(){var e=window,t=navigator;return g(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!b()}function y(){var e=window,t=navigator;return g(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,0===t.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function k(){var e=window,t=navigator;return g(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===t.vendor.indexOf("Apple"),"getStorageUpdates"in t,"WebKitMediaKeys"in e])>=4}function x(){var e=window;return g(["safari"in e,!("DeviceMotionEvent"in e),!("ongestureend"in e),!("standalone"in navigator)])>=3}function C(){var e,t,n=window;return g(["buildID"in navigator,"MozAppearance"in(null!==(t=null===(e=document.documentElement)||void 0===e?void 0:e.style)&&void 0!==t?t:{}),"MediaRecorderErrorEvent"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function S(){var e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function A(e){return new Promise((function(t,n){e.oncomplete=function(e){return t(e.renderedBuffer)};var r=3,a=function(){switch(e.startRendering(),e.state){case"running":setTimeout((function(){return n(M("timeout"))}),1e3);break;case"suspended":document.hidden||r--,r>0?setTimeout(a,500):n(M("suspended"))}};a()}))}function _(e){for(var t=0,n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function M(e){var t=new Error(e);return t.name=e,t}function P(e,t,n){var r,a;return void 0===n&&(n=50),u(this,void 0,void 0,(function(){var o,i;return l(this,(function(c){switch(c.label){case 0:o=document,c.label=1;case 1:return o.body?[3,3]:[4,f(n)];case 2:return c.sent(),[3,1];case 3:i=o.createElement("iframe"),c.label=4;case 4:return c.trys.push([4,,10,11]),[4,new Promise((function(e,n){i.onload=e,i.onerror=n;var r=i.style;r.setProperty("display","block","important"),r.position="absolute",r.top="0",r.left="0",r.visibility="hidden",t&&"srcdoc"in i?i.srcdoc=t:i.src="about:blank",o.body.appendChild(i)}))];case 5:c.sent(),c.label=6;case 6:return(null===(r=i.contentWindow)||void 0===r?void 0:r.document.body)?[3,8]:[4,f(n)];case 7:return c.sent(),[3,6];case 8:return[4,e(i,i.contentWindow)];case 9:return[2,c.sent()];case 10:return null===(a=i.parentNode)||void 0===a||a.removeChild(i),[7];case 11:return[2]}}))}))}function T(e){for(var t=function(e){for(var t,n,r="Unexpected syntax '"+e+"'",a=/^\s*([a-z-]*)(.*)$/i.exec(e),o=a[1]||void 0,i={},c=/([.:#][\w-]+|\[.+?\])/gi,s=function(e,t){i[e]=i[e]||[],i[e].push(t)};;){var u=c.exec(a[2]);if(!u)break;var l=u[0];switch(l[0]){case".":s("class",l.slice(1));break;case"#":s("id",l.slice(1));break;case"[":var d=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(l);if(!d)throw new Error(r);s(d[1],null!==(n=null!==(t=d[4])&&void 0!==t?t:d[5])&&void 0!==n?n:"");break;default:throw new Error(r)}}return[o,i]}(e),n=t[0],r=t[1],a=document.createElement(null!=n?n:"div"),o=0,i=Object.keys(r);o<i.length;o++){var c=i[o];a.setAttribute(c,r[c].join(" "))}return a}var E=["monospace","sans-serif","serif"],I=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function L(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function O(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';var n="Cwm fjordbank gly "+String.fromCharCode(55357,56835);return t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45),F(e)}function B(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(var n=0,r=[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]];n<r.length;n++){var a=r[n],o=a[0],i=a[1],c=a[2];t.fillStyle=o,t.beginPath(),t.arc(i,c,40,0,2*Math.PI,!0),t.closePath(),t.fill()}return t.fillStyle="#f9c",t.arc(60,60,60,0,2*Math.PI,!0),t.arc(60,60,20,0,2*Math.PI,!0),t.fill("evenodd"),F(e)}function F(e){return e.toDataURL()}var z,D;function R(){return u(this,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return j(e=G())?z?[2,d(z)]:S()?[4,(n=document,(n.exitFullscreen||n.msExitFullscreen||n.mozCancelFullScreen||n.webkitExitFullscreen).call(n))]:[3,2]:[3,2];case 1:t.sent(),e=G(),t.label=2;case 2:return j(e)||(z=e),[2,e]}var n}))}))}function G(){var e=screen;return[m(v(e.availTop),null),m(v(e.width)-v(e.availWidth)-m(v(e.availLeft),0),null),m(v(e.height)-v(e.availHeight)-m(v(e.availTop),0),null),m(v(e.availLeft),null)]}function j(e){for(var t=0;t<4;++t)if(e[t])return!1;return!0}var U={abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'a[title="7naga poker" i]','img[title="ALIENBOLA" i]'],abpvn:["#quangcaomb",".i-said-no-thing-can-stop-me-warning.dark",".quangcao",'[href^="https://r88.vn/"]','[href^="https://zbet.vn/"]'],adBlockFinland:[".mainostila",".sponsorit",".ylamainos",'a[href*="/clickthrgh.asp?"]','a[href^="https://app.readpeak.com/ads"]'],adBlockPersian:[".widget_arvins_ad_randomizer",'a[href^="https://iqoption.com/lp/mobile-partner/?aff="]','a[href*="fastclick.net/ad/"]','TABLE[width="140px"]',".facebook_shows_ad_cale"],adBlockWarningRemoval:["#adblock_message",".adblockInfo",".deadblocker-header-bar",".no-ad-reminder","#AdBlockDialog"],adGuardAnnoyances:['amp-embed[type="zen"]',".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil"],adGuardBase:[".ad-disclaimer-container","#content_ad_container","#ad_wp_base","#adxtop","#bannerfloat22"],adGuardChinese:['a[href*=".123ch.cn"]','a[href*=".acuxrecv.cn"]','a[href*=".bayiyy.com/download."]','a[href*=".quankan.tv"]',"#j-new-ad"],adGuardFrench:["#div_banniere_pub","#sp-entete-pour-la-pub",'a[href*="fducks.com/"]','a[href^="http://promo.vador.com/"]','a[href^="https://syndication.exdynsrv.com/"]'],adGuardGerman:[".banneritemwerbung_head_1",".boxstartwerbung",".werbung3",'a[href^="http://www.firstload.de/index.php?set_lang=de&log="]','a[href^="http://www.sendung-now.de/tick/click.php?id="]'],adGuardJapanese:[".ad-text-blockA01","._popIn_infinite_video","[class^=blogroll_wrapper]",'a[href^="http://ad2.trafficgate.net/"]','a[href^="http://www.rssad.jp/"]'],adGuardMobile:["amp-auto-ads","#mgid_iframe",".amp_ad","amp-sticky-ad",".plugin-blogroll"],adGuardRussian:['a[href^="https://ya-distrib.ru/r/"]','a[href*=".twkv.ru"]','div[data-adv-type="dfp"]',".b-journalpromo-container",'div[id^="AdFox_banner_"]'],adGuardSocial:['a[href^="//www.stumbleupon.com/submit?url="]','a[href^="//telegram.me/share/url?"]',"#___plusone_0","#inlineShare",".popup-social"],adGuardSpanishPortuguese:[".esp_publicidad","#Publicidade","#publiEspecial","#queTooltip",'[href^="http://ads.glispa.com/"]'],adGuardTrackingProtection:['amp-embed[type="taboola"]',"#qoo-counter",'a[href^="http://click.hotlog.ru/"]','a[href^="http://hitcounter.ru/top/stat.php"]','a[href^="http://top.mail.ru/jump"]'],adGuardTurkish:["#backkapat","#reklam",'a[href^="http://adserv.ontek.com.tr/"]','a[href^="http://izlenzi.com/campaign/"]','a[href^="http://www.installads.net/"]'],bulgarian:["#adbody","#newAd","#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:['[lazy-ad="leftthin_banner"]',".smart_ads_bom_title",".slide-advert_float",".six-ads-wrapper",".showcaseAd"],easyListChina:["#fuo_top_float",".kf_qycn_com_cckf_welcomebox",'a[href*=".caohang.com.cn/"]','a[href*=".yuanmengbi.com/"]','.layui-row[style="border-radius:10px;background-color:#ff0000;padding:15px;margin:15px;"]'],easyListCookie:["#cookieBgOverlay","#alerte-cookies","#cookieLY","#dlgCookies",".Section-Cookie"],easyListCzechSlovak:["#onlajny-stickers","#reklamni-box",".reklama-megaboard",".sklik",'[id^="sklikReklama"]'],easyListDutch:["#advertentie","#vipAdmarktBannerBlock",".adstekst",'a[href^="http://adserver.webads.nl/adclick/"]','a[href^="http://www.site-id.nl/servlet/___?"]'],easyListGermany:[".werb_textlink","#ad-qm-sidebar-oben",".adguru-content-html",".nfy-sebo-ad",".textlinkwerbung"],easyListItaly:[".box_adv_annunci",".sb-box-pubbliredazionale",'a[href^="http://affiliazioniads.snai.it/"]','a[href^="https://adserver.html.it/"]','a[href^="https://affiliazioniads.snai.it/"]'],easyListLithuania:[".reklamos_tarpas",'a[href="http://igrovoi-klub.org/fair-land"]','a[href="http://www.moteris.lt/didieji-grozio-pokyciai/"]','img[alt="Dedikuoti.lt serveriai"]','img[alt="Hostingas Serveriai.lt"]'],estonian:[".flex--align-items-center.flex--justify-content-center.flex.section-branding__digipakett-contents",'A[href*="http://pay4results24.eu"]'],fanboyAnnoyances:["#feedback-tab","#ruby-back-top",".feedburnerFeedBlock",".widget-feedburner-counter",'[title="Subscribe to our blog"]'],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag",'div[style*="box-shadow: rgb(136, 136, 136) 0px 0px 12px; color: "]','div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:[".td-tags-and-social-wrapper-box",".twitterContainer",".youtube-social",'a[title^="Like us on Facebook"]','img[alt^="Share on Digg"]'],frellwitSwedish:['a[href*="casinopro.se"][target="_blank"]','a[href*="doktor-se.onelink.me"]',"article.category-samarbete",'img[alt="Leovegas"]',"ul.adsmodern"],greekAdBlock:['A[href*="adman.otenet.gr/click?"]','A[href*="http://axiabanners.exodus.gr/"]','A[href*="http://interactive.forthnet.gr/click?"]',"DIV.agores300","TABLE.advright"],hungarian:['A[href*="ad.eval.hu"]','A[href*="ad.netmedia.hu"]','A[href*="daserver.ultraweb.hu"]',"#cemp_doboz",".optimonk-iframe-container"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container",".cookie-msg-info-container","#cookies-policy-sticky"],icelandicAbp:['A[href^="/framework/resources/forms/ads.aspx"]'],latvian:['a[href="http://www.salidzini.lv/"][style="display: block; width: 120px; height: 40px; overflow: hidden; position: relative;"]','a[href="http://www.salidzini.lv/"][style="display: block; width: 88px; height: 31px; overflow: hidden; position: relative;"]'],listKr:['a[href*="//kingtoon.slnk.kr"]','a[href*="//playdsb.com/kr"]','a[href*="//simba-kor.com"]','div[data-widget_id="ml6EJ074"]',"ins.daum_ddn_area"],listeAr:[".geminiLB1Ad",".right-and-left-sponsers",'a[href*=".aflam.info"]','a[href*="booraq.org"]','a[href*="dubizzle.com/ar/?utm_source="]'],listeFr:['a[href^="http://look.djfiln.com/"]',"#adcontainer_recherche",'a[href*="weborama.fr/fcgi-bin/"]','a[href^="https://secure.securitetotale.fr/"]','div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",'[href^="https://aff.sendhub.pl/"]','a[href^="http://advmanager.techfun.pl/redirect/"]','a[href^="http://www.trizer.pl/?utm_source"]',"div#skapiec_ad"],ro:['a[href^="//afftrk.altex.ro/Counter/Click"','a[href^="/magazin/"','a[href^="https://blackfridaysales.ro/trk/shop/"','a[href^="https://event.2performant.com/events/click"','a[href^="https://l.profitshare.ro/"]'],ruAd:['a[href*="//febrare.ru/"]','a[href*="//utimg.ru/"]','a[href*="://chikidiki.ru"]',"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]","#ads-google-middle_rectangle-group",".ads300s",".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",".ctpl-fullbanner",".j-share-bar-left",".yt.btn-link.btn-md.btn"]},q=Object.keys(U);function N(e){var t;return u(this,void 0,void 0,(function(){var n,r,a,o,i,c,s,u,d,h;return l(this,(function(l){switch(l.label){case 0:for(n=document,r=n.createElement("div"),a=[],o={},W(r),i=0,c=e;i<c.length;i++)s=c[i],u=T(s),W(d=n.createElement("div")),d.appendChild(u),r.appendChild(d),a.push(u);l.label=1;case 1:return n.body?[3,3]:[4,f(100)];case 2:return l.sent(),[3,1];case 3:n.body.appendChild(r);try{for(h=0;h<e.length;++h)a[h].offsetParent||(o[e[h]]=!0)}finally{null===(t=r.parentNode)||void 0===t||t.removeChild(r)}return[2,o]}}))}))}function W(e){e.style.setProperty("display","block","important")}function H(e){return matchMedia("(inverted-colors: "+e+")").matches}function J(e){return matchMedia("(forced-colors: "+e+")").matches}function V(e){return matchMedia("(prefers-contrast: "+e+")").matches}function K(e){return matchMedia("(prefers-reduced-motion: "+e+")").matches}function $(e){return matchMedia("(dynamic-range: "+e+")").matches}var Y=Math,X=function(){return 0},Z=Y.acos||X,Q=Y.acosh||X,ee=Y.asin||X,te=Y.asinh||X,ne=Y.atanh||X,re=Y.atan||X,ae=Y.sin||X,oe=Y.sinh||X,ie=Y.cos||X,ce=Y.cosh||X,se=Y.tan||X,ue=Y.tanh||X,le=Y.exp||X,de=Y.expm1||X,fe=Y.log1p||X,he=function(e){return Y.pow(Y.PI,e)},pe=function(e){return Y.log(e+Y.sqrt(e*e+1))},ve=function(e){return Y.log((1+e)/(1-e))/2},me=function(e){return Y.exp(e)-1/Y.exp(e)/2},ge=function(e){return(Y.exp(e)+1/Y.exp(e))/2},be=function(e){return Y.exp(e)-1},we=function(e){return(Y.exp(2*e)-1)/(Y.exp(2*e)+1)},ye=function(e){return Y.log(1+e)};var ke={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function xe(e,t){return void 0===t&&(t=4e3),P((function(n,r){var a=r.document,o=a.body;o.style.width=t+"px",y()?o.style.zoom=""+1/r.devicePixelRatio:k()&&(o.style.zoom="reset");var i=a.createElement("div");return i.textContent=d(Array(t/20<<0)).map((function(){return"word"})).join(" "),o.appendChild(i),e(a,o)}),'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var Ce={fonts:function(){return P((function(e,t){var n=t.document,r=n.body;r.style.fontSize="48px";var a=n.createElement("div"),o={},i={},c=function(e){var t=n.createElement("span"),r=t.style;return r.position="absolute",r.top="0",r.left="0",r.fontFamily=e,t.textContent="mmMwWLliI0O&1",a.appendChild(t),t},s=E.map(c),u=function(){for(var e={},t=function(t){e[t]=E.map((function(e){return function(e,t){return c("'"+e+"',"+t)}(t,e)}))},n=0,r=I;n<r.length;n++){t(r[n])}return e}();r.appendChild(a);for(var l=0;l<E.length;l++)o[E[l]]=s[l].offsetWidth,i[E[l]]=s[l].offsetHeight;return I.filter((function(e){return t=u[e],E.some((function(e,n){return t[n].offsetWidth!==o[e]||t[n].offsetHeight!==i[e]}));var t}))}))},domBlockers:function(e){var t=(void 0===e?{}:e).debug;return u(this,void 0,void 0,(function(){var e,n,r;return l(this,(function(a){switch(a.label){case 0:return k()||function(){var e=y(),t=C();if(!e&&!t)return!1;var n=window;return g(["onorientationchange"in n,"orientation"in n,e&&"SharedWorker"in n,t&&/android/i.test(navigator.appVersion)])>=2}()?[4,N((r=[]).concat.apply(r,q.map((function(e){return U[e]}))))]:[2,void 0];case 1:return e=a.sent(),t&&function(e){for(var t="DOM blockers debug:\n```",n=0,r=q;n<r.length;n++){var a=r[n];t+="\n"+a+":";for(var o=0,i=U[a];o<i.length;o++){var c=i[o];t+="\n "+c+" "+(e[c]?"š«":"ā”ļø")}}console.log(t+"\n```")}(e),(n=q.filter((function(t){var n=U[t];return g(n.map((function(t){return e[t]})))>.5*n.length}))).sort(),[2,n]}}))}))},fontPreferences:function(){return u(this,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return e={},[4,xe((function(t,n){for(var r={},a=0,o=Object.keys(ke);a<o.length;a++){var i=o[a],c=ke[i],s=c[0],u=void 0===s?{}:s,l=c[1],d=void 0===l?"mmMwWLliI0fiflO&1":l,f=t.createElement("span");f.textContent=d,f.style.whiteSpace="nowrap";for(var h=0,p=Object.keys(u);h<p.length;h++){var v=p[h],m=u[v];void 0!==m&&(f.style[v]=m)}r[i]=f,n.appendChild(t.createElement("br")),n.appendChild(f)}for(var g=0,b=Object.keys(ke);g<b.length;g++){i=b[g];e[i]=r[i].getBoundingClientRect().width}}))];case 1:return t.sent(),[2,e]}}))}))},audio:function(){return u(this,void 0,void 0,(function(){var e,t,n,r,a,o,i,c;return l(this,(function(s){switch(s.label){case 0:if(e=window,!(t=e.OfflineAudioContext||e.webkitOfflineAudioContext))return[2,-2];if(k()&&!x()&&!function(){var e=window;return g(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}())return[2,-1];n=4500,5e3,r=new t(1,5e3,44100),(a=r.createOscillator()).type="triangle",a.frequency.value=1e4,(o=r.createDynamicsCompressor()).threshold.value=-50,o.knee.value=40,o.ratio.value=12,o.attack.value=0,o.release.value=.25,a.connect(o),o.connect(r.destination),a.start(0),s.label=1;case 1:return s.trys.push([1,3,,4]),[4,A(r)];case 2:return i=s.sent(),[3,4];case 3:if("timeout"===(c=s.sent()).name||"suspended"===c.name)return[2,-3];throw c;case 4:return[2,_(i.getChannelData(0).subarray(n))]}}))}))},screenFrame:function(){return u(this,void 0,void 0,(function(){var e,t;return l(this,(function(n){switch(n.label){case 0:return e=function(e){return null===e?null:function(e,t){if(void 0===t&&(t=1),Math.abs(t)>=1)return Math.round(e/t)*t;var n=1/t;return Math.round(e*n)/n}(e,10)},[4,R()];case 1:return t=n.sent(),[2,[e(t[0]),e(t[1]),e(t[2]),e(t[3])]]}}))}))},osCpu:function(){return navigator.oscpu},languages:function(){var e,t=navigator,n=[],r=t.language||t.userLanguage||t.browserLanguage||t.systemLanguage;if(void 0!==r&&n.push([r]),Array.isArray(t.languages))y()&&g([!("MediaSettingsRange"in(e=window)),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3||n.push(t.languages);else if("string"==typeof t.languages){var a=t.languages;a&&n.push(a.split(","))}return n},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return m(v(navigator.deviceMemory),void 0)},screenResolution:function(){var e=screen,t=[p(e.width),p(e.height)];return t.sort().reverse(),t},hardwareConcurrency:function(){return m(p(navigator.hardwareConcurrency),void 0)},timezone:function(){var e,t=null===(e=window.Intl)||void 0===e?void 0:e.DateTimeFormat;if(t){var n=(new t).resolvedOptions().timeZone;if(n)return n}var r,a=(r=(new Date).getFullYear(),-Math.max(v(new Date(r,0,1).getTimezoneOffset()),v(new Date(r,6,1).getTimezoneOffset())));return"UTC"+(a>=0?"+":"")+Math.abs(a)},sessionStorage:function(){try{return!!window.sessionStorage}catch(e){return!0}},localStorage:function(){try{return!!window.localStorage}catch(e){return!0}},indexedDB:function(){if(!b()&&!w())try{return!!window.indexedDB}catch(e){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){var e=navigator.platform;return"MacIntel"===e&&k()&&!x()?function(){if("iPad"===navigator.platform)return!0;var e=screen,t=e.width/e.height;return g(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>2/3&&t<1.5])>=2}()?"iPad":"iPhone":e},plugins:function(){var e=navigator.plugins;if(e){for(var t=[],n=0;n<e.length;++n){var r=e[n];if(r){for(var a=[],o=0;o<r.length;++o){var i=r[o];a.push({type:i.type,suffixes:i.suffixes})}t.push({name:r.name,description:r.description,mimeTypes:a})}}return t}},canvas:function(){var e=function(){var e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}(),t=e[0],n=e[1];return function(e,t){return!(!t||!e.toDataURL)}(t,n)?{winding:L(n),geometry:B(t,n),text:O(t,n)}:{winding:!1,geometry:"",text:""}},touchSupport:function(){var e,t=navigator,n=0;void 0!==t.maxTouchPoints?n=p(t.maxTouchPoints):void 0!==t.msMaxTouchPoints&&(n=t.msMaxTouchPoints);try{document.createEvent("TouchEvent"),e=!0}catch(r){e=!1}return{maxTouchPoints:n,touchEvent:e,touchStart:"ontouchstart"in window}},vendor:function(){return navigator.vendor||""},vendorFlavors:function(){for(var e=[],t=0,n=["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"];t<n.length;t++){var r=n[t],a=window[r];a&&"object"==typeof a&&e.push(r)}return e.sort()},cookiesEnabled:function(){var e=document;try{e.cookie="cookietest=1; SameSite=Strict;";var t=-1!==e.cookie.indexOf("cookietest=");return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch(n){return!1}},colorGamut:function(){for(var e=0,t=["rec2020","p3","srgb"];e<t.length;e++){var n=t[e];if(matchMedia("(color-gamut: "+n+")").matches)return n}},invertedColors:function(){return!!H("inverted")||!H("none")&&void 0},forcedColors:function(){return!!J("active")||!J("none")&&void 0},monochrome:function(){if(matchMedia("(min-monochrome: 0)").matches){for(var e=0;e<=100;++e)if(matchMedia("(max-monochrome: "+e+")").matches)return e;throw new Error("Too high value")}},contrast:function(){return V("no-preference")?0:V("high")||V("more")?1:V("low")||V("less")?-1:V("forced")?10:void 0},reducedMotion:function(){return!!K("reduce")||!K("no-preference")&&void 0},hdr:function(){return!!$("high")||!$("standard")&&void 0},math:function(){return{acos:Z(.12312423423423424),acosh:Q(1e308),acoshPf:(e=1e154,Y.log(e+Y.sqrt(e*e-1))),asin:ee(.12312423423423424),asinh:te(1),asinhPf:pe(1),atanh:ne(.5),atanhPf:ve(.5),atan:re(.5),sin:ae(-1e300),sinh:oe(1),sinhPf:me(1),cos:ie(10.000000000123),cosh:ce(1),coshPf:ge(1),tan:se(-1e300),tanh:ue(1),tanhPf:we(1),exp:le(1),expm1:de(1),expm1Pf:be(1),log1p:fe(10),log1pPf:ye(10),powPI:he(-100)};var e}};function Se(e,t,n){return u(this,void 0,void 0,(function(){var r,a,o,i,c,d,f;return l(this,(function(h){switch(h.label){case 0:r=[],a={},16,o=Date.now(),i=function(i){var c;return l(this,(function(d){switch(d.label){case 0:return function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return!0;return!1}(n,i)?[2,"continue"]:(a[i]=void 0,r.push(function(e,t){return u(this,void 0,void 0,(function(){var n,r,a,o;return l(this,(function(i){switch(i.label){case 0:r=Date.now(),i.label=1;case 1:return i.trys.push([1,3,,4]),o={},[4,e(t)];case 2:return o.value=i.sent(),n=o,[3,4];case 3:return a=i.sent(),n={error:(c=a,c&&"object"==typeof c&&"message"in c?c:{message:c})},[3,4];case 4:return[2,s(s({},n),{duration:Date.now()-r})]}var c}))}))}(e[i],t).then((function(e){a[i]=e}))),(c=Date.now())>=o+16?(o=c,[4,new Promise((function(e){return setTimeout(e)}))]):[3,2]);case 1:return d.sent(),[3,4];case 2:return[4,void 0];case 3:d.sent(),d.label=4;case 4:return[2]}}))},c=0,d=Object.keys(e),h.label=1;case 1:return c<d.length?(f=d[c],[5,i(f)]):[3,4];case 2:h.sent(),h.label=3;case 3:return c++,[3,1];case 4:return[4,Promise.all(r)];case 5:return h.sent(),[2,a]}}))}))}function Ae(e){return Se(Ce,e,[])}function _e(e){return JSON.stringify(e,(function(e,t){return t instanceof Error?s({name:(n=t).name,message:n.message,stack:null===(r=n.stack)||void 0===r?void 0:r.split("\n")},n):t;var n,r}),2)}function Me(e){return c(function(e){for(var t="",n=0,r=Object.keys(e).sort();n<r.length;n++){var a=r[n],o=e[a],i=o.error?"error":JSON.stringify(o.value);t+=(t?"|":"")+a.replace(/([:|\\])/g,"\\$1")+":"+i}return t}(e))}var Pe=function(){function e(){!function(){if(void 0===D){var e=function(){var t=G();j(t)?D=setTimeout(e,2500):(z=t,D=void 0)};e()}}()}return e.prototype.get=function(e){return void 0===e&&(e={}),u(this,void 0,void 0,(function(){var t,n;return l(this,(function(r){switch(r.label){case 0:return[4,Ae(e)];case 1:return t=r.sent(),n=function(e){var t;return{components:e,get visitorId(){return void 0===t&&(t=Me(this.components)),t},set visitorId(e){t=e}}}(t),e.debug&&console.log("Copy the text below to get the debug data:\n\n```\nversion: 3.1.0-dev.4\nuserAgent: "+navigator.userAgent+"\ngetOptions: "+JSON.stringify(e,void 0,2)+"\nvisitorId: "+n.visitorId+"\ncomponents: "+_e(t)+"\n```"),[2,n]}}))}))},e}();function Te(e){var t=(void 0===e?{}:e).delayFallback,n=void 0===t?50:t;return u(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,h(n,2*n)];case 1:return e.sent(),[2,new Pe]}}))}))}var Ee={load:Te,hashComponents:Me,componentsToDebugString:_e},Ie=c;e.componentsToDebugString=_e,e.default=Ee,e.getComponents=Se,e.getFullscreenElement=S,e.getScreenFrame=R,e.hashComponents=Me,e.isChromium=y,e.isDesktopSafari=x,e.isEdgeHTML=w,e.isGecko=C,e.isTrident=b,e.isWebKit=k,e.load=Te,e.murmurX64Hash128=Ie,Object.defineProperty(e,"__esModule",{value:!0})})); |
{ | ||
"name": "@fingerprintjs/fingerprintjs", | ||
"description": "Browser fingerprinting library with the highest accuracy and stability", | ||
"version": "3.1.0-dev.3", | ||
"version": "3.1.0-dev.4", | ||
"keywords": [ | ||
@@ -80,2 +80,3 @@ "fraud", | ||
"ts-loader": "^8.0.7", | ||
"ts-node": "^9.1.1", | ||
"typescript": "^4.0.3", | ||
@@ -82,0 +83,0 @@ "ua-parser-js": "^0.7.22", |
156
readme.md
@@ -21,6 +21,6 @@ <p align="center"> | ||
Makes a website visitor identifier from a browser fingerprint. | ||
Unlike cookies and local storage, fingerprint stays the same in incognito/private mode and even when browser data is purged. | ||
[Demo](https://fingerprintjs.github.io/fingerprintjs/). | ||
FingerprintJS is a browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them. Unlike cookies and local storage, a fingerprint stays the same in incognito/private mode and even when browser data is purged. | ||
[View Our Demo](https://fingerprintjs.github.io/fingerprintjs/). | ||
## Quick start | ||
@@ -33,8 +33,8 @@ | ||
function initFingerprintJS() { | ||
// We recommend to call `load` at application startup. | ||
const fpPromise = FingerprintJS.load() | ||
// Initialize an agent at application startup. | ||
const fpPromise = FingerprintJS.load(); | ||
// Get a visitor identifier when you need it. | ||
// Get the visitor identifier when you need it. | ||
fpPromise | ||
.then(fp => fp.get) | ||
.then(fp => fp.get()) | ||
.then(result => { | ||
@@ -66,6 +66,6 @@ // This is the visitor identifier: | ||
(async () => { | ||
// We recommend to call `load` at application startup. | ||
// Initialize an agent at application startup. | ||
const fpPromise = FingerprintJS.load(); | ||
// Get a visitor identifier when you need it. | ||
// Get the visitor identifier when you need it. | ||
const fp = await fpPromise | ||
@@ -82,4 +82,9 @@ const result = await fp.get(); | ||
## Upgrade to [Pro version](https://fingerprintjs.com) to get 99.5% identification accuracy | ||
## Upgrade to [Pro version](https://pro.fingerprintjs.com/github/) to get 99.5% identification accuracy | ||
FingerprintJS Pro is a professional visitor identification service that processes all information server-side and transmits it securely to your servers using server-to-server APIs. Pro combines browser fingerprinting with vast amounts of auxiliary data (IP addresses, time of visit patterns, URL changes and more) to be able to reliably deduplicate different users that have identical devices, resulting in 99.5% identification accuracy. | ||
See our [full product comparison](https://pro.fingerprintjs.com/github/) for more information on the differences between open source and Pro. | ||
<p align="center"> | ||
@@ -148,79 +153,88 @@ <a href="https://fingerprintjs.com"> | ||
- Global variable | ||
```html | ||
<script> | ||
function initFingerprintJS() { | ||
// Start loading FingerprintJS here | ||
} | ||
</script> | ||
<script | ||
async | ||
src="//cdn.jsdelivr.net/npm/@fingerprintjs/fingerprintjs@3/dist/fp.min.js" | ||
onload="initFingerprintJS()" | ||
></script> | ||
``` | ||
- UMD | ||
```js | ||
require( | ||
['//cdn.jsdelivr.net/npm/@fingerprintjs/fingerprintjs@3/dist/fp.umd.min.js'], | ||
(FingerprintJS) => { | ||
// Start loading FingerprintJS here | ||
} | ||
); | ||
``` | ||
- ECMAScript module | ||
```bash | ||
# Install the package first: | ||
npm i @fingerprintjs/fingerprintjs | ||
# or | ||
yarn add @fingerprintjs/fingerprintjs | ||
``` | ||
#### Global variable | ||
```js | ||
import FingerprintJS from '@fingerprintjs/fingerprintjs'; | ||
```html | ||
<script> | ||
function initFingerprintJS() { | ||
// Start loading FingerprintJS here | ||
``` | ||
- CommonJS | ||
```bash | ||
# Install the package first: | ||
npm i @fingerprintjs/fingerprintjs | ||
# or | ||
yarn add @fingerprintjs/fingerprintjs | ||
``` | ||
} | ||
</script> | ||
<script | ||
async | ||
src="//cdn.jsdelivr.net/npm/@fingerprintjs/fingerprintjs@3/dist/fp.min.js" | ||
onload="initFingerprintJS()" | ||
></script> | ||
``` | ||
```js | ||
const FingerprintJS = require('@fingerprintjs/fingerprintjs'); | ||
#### UMD | ||
```js | ||
require( | ||
['//cdn.jsdelivr.net/npm/@fingerprintjs/fingerprintjs@3/dist/fp.umd.min.js'], | ||
(FingerprintJS) => { | ||
// Start loading FingerprintJS here | ||
``` | ||
} | ||
); | ||
``` | ||
#### ECMAScript module | ||
```bash | ||
# Install the package first: | ||
npm i @fingerprintjs/fingerprintjs | ||
# or | ||
yarn add @fingerprintjs/fingerprintjs | ||
``` | ||
```js | ||
import FingerprintJS from '@fingerprintjs/fingerprintjs'; | ||
// Start loading FingerprintJS here | ||
``` | ||
#### CommonJS | ||
```bash | ||
# Install the package first: | ||
npm i @fingerprintjs/fingerprintjs | ||
# or | ||
yarn add @fingerprintjs/fingerprintjs | ||
``` | ||
```js | ||
const FingerprintJS = require('@fingerprintjs/fingerprintjs'); | ||
// Start loading FingerprintJS here | ||
``` | ||
### API | ||
- `FingerprintJS.load({ delayFallback?: number }): Promise<Agent>` | ||
#### `FingerprintJS.load({ delayFallback?: number }): Promise<Agent>` | ||
Builds an instance of Agent and waits a delay required for a proper operation. | ||
We recommend calling it as soon as possible. | ||
`delayFallback` is an optional parameter that sets duration (milliseconds) of the fallback for browsers that don't support [requestIdleCallback](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback); | ||
it has a good default value which we don't recommend to change. | ||
Builds an instance of Agent and waits a delay required for a proper operation. | ||
We recommend calling it as soon as possible. | ||
`delayFallback` is an optional parameter that sets duration (milliseconds) of the fallback for browsers that don't support [requestIdleCallback](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback); | ||
it has a good default value which we don't recommend to change. | ||
- `agent.get({ debug?: boolean }): Promise<{ visitorId: string, components: {/* ... */} }>` | ||
#### `agent.get({ debug?: boolean }): Promise<{ visitorId: string, components: object }>` | ||
Gets the visitor identifier. | ||
We recommend calling it later, when you really need the identifier, to increase the chance of getting an accurate identifier. | ||
`debug: true` prints debug messages to the console. | ||
`visitorId` is the visitor identifier. | ||
`components` is a dictionary of components that have formed the identifier; | ||
each value is an object like `{ value: any, duration: number }` in case of success | ||
and `{ error: object, duration: number }` in case of an unexpected error during getting the component. | ||
Gets the visitor identifier. | ||
We recommend calling it later, when you really need the identifier, to increase the chance of getting an accurate identifier. | ||
`debug: true` prints debug messages to the console. | ||
`visitorId` is the visitor identifier. | ||
`components` is a dictionary of components that have formed the identifier; | ||
each value is an object like `{ value: any, duration: number }` in case of success | ||
and `{ error: object, duration: number }` in case of an unexpected error during getting the component. | ||
- `FingerprintJS.hashComponents(components: object): string` | ||
See the [extending guide](docs/extending.md) to learn how to remove and add entropy components. | ||
Converts a dictionary of components (described above) into a short hash string a.k.a. a visitor identifier. | ||
Designed for extending the library with your own components. | ||
#### `FingerprintJS.hashComponents(components: object): string` | ||
- `FingerprintJS.componentsToDebugString(components: object): string` | ||
Converts a dictionary of components (described above) into a short hash string a.k.a. a visitor identifier. | ||
Designed for [extending the library](docs/extending.md) with your own components. | ||
Converts a dictionary of components (described above) into human-friendly format. | ||
#### `FingerprintJS.componentsToDebugString(components: object): string` | ||
Converts a dictionary of components (described above) into human-friendly format. | ||
## Migrating from v2 | ||
@@ -227,0 +241,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
480343
9892
260
0
36