!function(e,t,i){"use strict";"undefined"!=typeofmodule&&module.exports?module.exports=i():"function"==typeofdefine&&define.amd?define(i):t[e]=i()}("Fingerprint2",this,function(){"use strict";Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){vari;if(null==this)thrownewTypeError("'this' is null or undefined");vara=Object(this),r=a.length>>>0;if(0===r)return-1;varn=+t||0;if(Math.abs(n)===1/0&&(n=0),n>=r)return-1;for(i=Math.max(n>=0?n:r-Math.abs(n),0);r>i;){if(iina&&a[i]===e)returni;i++}return-1});vare=function(e){vart={swfContainerId:"fingerprintjs2",swfPath:"flash/compiled/FontList.swf",detectScreenOrientation:!0,sortPluginsFor:[/palemoon/i],userDefinedFonts:[]};this.options=this.extend(e,t),this.nativeForEach=Array.prototype.forEach,this.nativeMap=Array.prototype.map};returne.prototype={extend:function(e,t){if(null==e)returnt;for(variine)null!=e[i]&&t[i]!==e[i]&&(t[i]=e[i]);returnt},log:function(e){window.console&&console.log(e)},get:function(e){vart=[];t=this.userAgentKey(t),t=this.languageKey(t),t=this.colorDepthKey(t),t=this.pixelRatioKey(t),t=this.screenResolutionKey(t),t=this.availableScreenResolutionKey(t),t=this.timezoneOffsetKey(t),t=this.sessionStorageKey(t),t=this.localStorageKey(t),t=this.indexedDbKey(t),t=this.addBehaviorKey(t),t=this.openDatabaseKey(t),t=this.cpuClassKey(t),t=this.platformKey(t),t=this.doNotTrackKey(t),t=this.pluginsKey(t),t=this.canvasKey(t),t=this.webglKey(t),t=this.adBlockKey(t),t=this.hasLiedLanguagesKey(t),t=this.hasLiedResolutionKey(t),t=this.hasLiedOsKey(t),t=this.hasLiedBrowserKey(t),t=this.touchSupportKey(t);vari=this;this.fontsKey(t,function(t){vara=[];i.each(t,function(e){vart=e.value;"undefined"!=typeofe.value.join&&(t=e.value.join(";")),a.push(t)});varr=i.x64hash128(a.join("~~~"),31);returne(r,t)})},userAgentKey:function(e){returnthis.options.excludeUserAgent||e.push({key:"user_agent",value:this.getUserAgent()}),e},getUserAgent:function(){returnnavigator.userAgent},languageKey:function(e){returnthis.options.excludeLanguage||e.push({key:"language",value:navigator.language||navigator.userLanguage||navigator.browserLanguage||navigator.systemLanguage||""}),e},colorDepthKey:function(e){returnthis.options.excludeColorDepth||e.push({key:"color_depth",value:screen.colorDepth}),e},pixelRatioKey:function(e){returnthis.options.excludePixelRatio||e.push({key:"pixel_ratio",value:this.getPixelRatio()}),e},getPixelRatio:function(){returnwindow.devicePixelRatio||""},screenResolutionKey:function(e){returnthis.options.excludeScreenResolution?e:this.getScreenResolution(e)},getScreenResolution:function(e){vart;returnt=this.options.detectScreenOrientation&&screen.height>screen.width?[screen.height,screen.width]:[screen.width,screen.height],"undefined"!=typeoft&&e.push({key:"resolution",value:t}),e},availableScreenResolutionKey:function(e){returnthis.options.excludeAvailableScreenResolution?e:this.getAvailableScreenResolution(e)},getAvailableScreenResolution:function(e){vart;returnscreen.availWidth&&screen.availHeight&&(t=this.options.detectScreenOrientation?screen.availHeight>screen.availWidth?[screen.availHeight,screen.availWidth]:[screen.availWidth,screen.availHeight]:[screen.availHeight,screen.availWidth]),"undefined"!=typeoft&&e.push({key:"available_resolution",value:t}),e},timezoneOffsetKey:function(e){returnthis.options.excludeTimezoneOffset||e.push({key:"timezone_offset",value:(newDate).getTimezoneOffset()}),e},sessionStorageKey:function(e){return!this.options.excludeSessionStorage&&this.hasSessionStorage()&&e.push({key:"session_storage",value:1}),e},localStorageKey:function(e){return!this.options.excludeSessionStorage&&this.hasLocalStorage()&&e.push({key:"local_storage",value:1}),e},indexedDbKey:function(e){return!this.options.excludeIndexedDB&&this.hasIndexedDB()&&e.push({key:"indexed_db",value:1}),e},addBehaviorKey:function(e){returndocument.body&&!this.options.excludeAddBehavior&&document.body.addBehavior&&e.push({key:"add_behavior",value:1}),e},openDatabaseKey:function(e){return!this.options.excludeOpenDatabase&&window.openDatabase