(function(m,b,a){"undefined"!==typeof module&&module.exports?module.exports=a():"function"===typeof define&&define.amd?define(a):b[m]=a()})("TrafficStatistics",this,function(){var m=function(b){var a=Array.prototype.forEach;var c=Array.prototype.map;this.each=function(f,e,d){if(null!==f)if(a&&f.forEach===a)f.forEach(e,d);else if(f.length===+f.length)for(var g=0,l=f.length;g>>16)&65535)<<16)&4294967295;d=d<<15|d>>>17;d=461845907*(d&65535)+((461845907*(d>>>16)&65535)<<16)&4294967295;e^=d;e=e<<13|e>>>19;e=5*(e&65535)+((5*(e>>>16)&65535)<<16)&4294967295; e=(e&65535)+27492+(((e>>>16)+58964&65535)<<16)}d=0;switch(c){case 3:d^=(b.charCodeAt(a+2)&255)<<16;case 2:d^=(b.charCodeAt(a+1)&255)<<8;case 1:d^=b.charCodeAt(a)&255,d=3432918353*(d&65535)+((3432918353*(d>>>16)&65535)<<16)&4294967295,d=d<<15|d>>>17,e^=461845907*(d&65535)+((461845907*(d>>>16)&65535)<<16)&4294967295}e^=b.length;e^=e>>>16;e=2246822507*(e&65535)+((2246822507*(e>>>16)&65535)<<16)&4294967295;e^=e>>>13;e=3266489909*(e&65535)+((3266489909*(e>>>16)&65535)<<16)&4294967295;return(e^e>>>16)>>> 0},hasLocalStorage:function(){try{return!!window.localStorage}catch(b){return!0}},hasSessionStorage:function(){try{return!!window.sessionStorage}catch(b){return!0}},isCanvasSupported:function(){var b=document.createElement("canvas");return!(!b.getContext||!b.getContext("2d"))},isIE:function(){return"Microsoft Internet Explorer"===navigator.appName||"Netscape"===navigator.appName&&/Trident/.test(navigator.userAgent)?!0:!1},getPluginsString:function(){return this.isIE()&&this.ie_activex?this.getIEPluginsString(): this.getRegularPluginsString()},getRegularPluginsString:function(){return this.map(navigator.plugins,function(b){var a=this.map(b,function(c){return[c.type,c.suffixes].join("~")}).join(",");return[b.name,b.description,a].join("::")},this).join(";")},getIEPluginsString:function(){return window.ActiveXObject?this.map("ShockwaveFlash.ShockwaveFlash;AcroPDF.PDF;PDF.PdfCtrl;QuickTime.QuickTime;rmocx.RealPlayer G2 Control;rmocx.RealPlayer G2 Control.1;RealPlayer.RealPlayer(tm) ActiveX Control (32-bit);RealVideo.RealVideo(tm) ActiveX Control (32-bit);RealPlayer;SWCtl.SWCtl;WMPlayer.OCX;AgControl.AgControl;Skype.Detection".split(";"), function(b){try{return new ActiveXObject(b),b}catch(a){return null}}).join(";"):""},getScreenResolution:function(){return this.screen_orientation?screen.height>screen.width?[screen.height,screen.width]:[screen.width,screen.height]:[screen.height,screen.width]},getCanvasTrafficStatistics:function(){var b=document.createElement("canvas"),a=b.getContext("2d");a.textBaseline="top";a.font="14px 'Arial'";a.textBaseline="alphabetic";a.fillStyle="#f60";a.fillRect(125,1,62,20);a.fillStyle="#069";a.fillText("http://valve.github.io", 2,15);a.fillStyle="rgba(102, 204, 0, 0.7)";a.fillText("http://valve.github.io",4,17);return b.toDataURL()}};return m}); (function(m,b,a){"undefined"!==typeof module&&module.exports?module.exports=a():"function"===typeof define&&define.amd?define(a):b[m]=a()})("TrafficStatistics2",this,function(){Array.prototype.indexOf||(Array.prototype.indexOf=function(b,a){if(null==this)throw new TypeError("'this' is null or undefined");var c=Object(this),f=c.length>>>0;if(0===f)return-1;a=+a||0;Infinity===Math.abs(a)&&(a=0);if(a>=f)return-1;for(a=Math.max(0<=a?a:f-Math.abs(a),0);ascreen.width?[screen.height,screen.width]:[screen.width,screen.height]:[screen.width,screen.height];"undefined"!==typeof a&& b.push({key:"resolution",value:a});return b},availableScreenResolutionKey:function(b){return this.options.excludeAvailableScreenResolution?b:this.getAvailableScreenResolution(b)},getAvailableScreenResolution:function(b){var a;screen.availWidth&&screen.availHeight&&(a=this.options.detectScreenOrientation?screen.availHeight>screen.availWidth?[screen.availHeight,screen.availWidth]:[screen.availWidth,screen.availHeight]:[screen.availHeight,screen.availWidth]);"undefined"!==typeof a&&b.push({key:"available_resolution", value:a});return b},timezoneOffsetKey:function(b){this.options.excludeTimezoneOffset||b.push({key:"timezone_offset",value:(new Date).getTimezoneOffset()});return b},sessionStorageKey:function(b){!this.options.excludeSessionStorage&&this.hasSessionStorage()&&b.push({key:"session_storage",value:1});return b},localStorageKey:function(b){!this.options.excludeSessionStorage&&this.hasLocalStorage()&&b.push({key:"local_storage",value:1});return b},indexedDbKey:function(b){!this.options.excludeIndexedDB&& this.hasIndexedDB()&&b.push({key:"indexed_db",value:1});return b},addBehaviorKey:function(b){document.body&&!this.options.excludeAddBehavior&&document.body.addBehavior&&b.push({key:"add_behavior",value:1});return b},openDatabaseKey:function(b){!this.options.excludeOpenDatabase&&window.openDatabase&&b.push({key:"open_database",value:1});return b},cpuClassKey:function(b){this.options.excludeCpuClass||b.push({key:"cpu_class",value:this.getNavigatorCpuClass()});return b},platformKey:function(b){this.options.excludePlatform|| b.push({key:"navigator_platform",value:this.getNavigatorPlatform()});return b},doNotTrackKey:function(b){this.options.excludeDoNotTrack||b.push({key:"do_not_track",value:this.getDoNotTrack()});return b},canvasKey:function(b){!this.options.excludeCanvas&&this.isCanvasSupported()&&b.push({key:"canvas",value:this.getCanvasFp()});return b},webglKey:function(b){if(this.options.excludeWebGL)return"undefined"===typeof NODEBUG&&this.log("Skipping WebGL fingerprinting per excludeWebGL configuration option"), b;if(!this.isWebGlSupported())return"undefined"===typeof NODEBUG&&this.log("Skipping WebGL fingerprinting because it is not supported in this browser"),b;b.push({key:"webgl",value:this.getWebglFp()});return b},adBlockKey:function(b){this.options.excludeAdBlock||b.push({key:"adblock",value:this.getAdBlock()});return b},hasLiedLanguagesKey:function(b){this.options.excludeHasLiedLanguages||b.push({key:"has_lied_languages",value:this.getHasLiedLanguages()});return b},hasLiedResolutionKey:function(b){this.options.excludeHasLiedResolution|| b.push({key:"has_lied_resolution",value:this.getHasLiedResolution()});return b},hasLiedOsKey:function(b){this.options.excludeHasLiedOs||b.push({key:"has_lied_os",value:this.getHasLiedOs()});return b},hasLiedBrowserKey:function(b){this.options.excludeHasLiedBrowser||b.push({key:"has_lied_browser",value:this.getHasLiedBrowser()});return b},fontsKey:function(b,a){return this.options.excludeJsFonts?this.flashFontsKey(b,a):this.jsFontsKey(b,a)},flashFontsKey:function(b,a){if(this.options.excludeFlashFonts)return"undefined"=== typeof NODEBUG&&this.log("Skipping flash fonts detection per excludeFlashFonts configuration option"),a(b);if(!this.hasSwfObjectLoaded())return"undefined"===typeof NODEBUG&&this.log("Swfobject is not detected, Flash fonts enumeration is skipped"),a(b);if(!this.hasMinFlashInstalled())return"undefined"===typeof NODEBUG&&this.log("Flash is not installed, skipping Flash fonts enumeration"),a(b);if("undefined"===typeof this.options.swfPath)return"undefined"===typeof NODEBUG&&this.log("To use Flash fonts detection, you must pass a valid swfPath option, skipping Flash fonts enumeration"), a(b);this.loadSwfAndDetectFonts(function(c){b.push({key:"swf_fonts",value:c.join(";")});a(b)})},jsFontsKey:function(b,a){var c=this;return setTimeout(function(){var f=["monospace","sans-serif","serif"],e=document.getElementsByTagName("body")[0],d=document.createElement("span");d.style.position="absolute";d.style.left="-9999px";d.style.fontSize="72px";d.innerHTML="mmmmmmmmmmlli";for(var g={},l={},k=0,h=f.length;ke.name?1:f.name>>16,b[0]&65535,b[1]>>> 16,b[1]&65535];a=[a[0]>>>16,a[0]&65535,a[1]>>>16,a[1]&65535];var c=[0,0,0,0];c[3]+=b[3]+a[3];c[2]+=c[3]>>>16;c[3]&=65535;c[2]+=b[2]+a[2];c[1]+=c[2]>>>16;c[2]&=65535;c[1]+=b[1]+a[1];c[0]+=c[1]>>>16;c[1]&=65535;c[0]+=b[0]+a[0];c[0]&=65535;return[c[0]<<16|c[1],c[2]<<16|c[3]]},x64Multiply:function(b,a){b=[b[0]>>>16,b[0]&65535,b[1]>>>16,b[1]&65535];a=[a[0]>>>16,a[0]&65535,a[1]>>>16,a[1]&65535];var c=[0,0,0,0];c[3]+=b[3]*a[3];c[2]+=c[3]>>>16;c[3]&=65535;c[2]+=b[2]*a[3];c[1]+=c[2]>>>16;c[2]&=65535;c[2]+= b[3]*a[2];c[1]+=c[2]>>>16;c[2]&=65535;c[1]+=b[1]*a[3];c[0]+=c[1]>>>16;c[1]&=65535;c[1]+=b[2]*a[2];c[0]+=c[1]>>>16;c[1]&=65535;c[1]+=b[3]*a[1];c[0]+=c[1]>>>16;c[1]&=65535;c[0]+=b[0]*a[3]+b[1]*a[2]+b[2]*a[1]+b[3]*a[0];c[0]&=65535;return[c[0]<<16|c[1],c[2]<<16|c[3]]},x64Rotl:function(b,a){a%=64;if(32===a)return[b[1],b[0]];if(32>a)return[b[0]<>>32-a,b[1]<>>32-a];a-=32;return[b[1]<>>32-a,b[0]<>>32-a]},x64LeftShift:function(b,a){a%=64;return 0===a?b:32>a?[b[0]<>> 32-a,b[1]<>>1]);b=this.x64Multiply(b,[4283543511,3981806797]);b=this.x64Xor(b,[0,b[0]>>>1]);b=this.x64Multiply(b,[3301882366,444984403]);return b=this.x64Xor(b,[0,b[0]>>>1])},x64hash128:function(b,a){b=b||"";a=a||0;var c=b.length%16,f=b.length-c,e=[0,a];a=[0,a];for(var d,g,l=[2277735313,289559509],k=[1291169091,658871167],h=0;h>>0).toString(16)).slice(-8)+("00000000"+(e[1]>>>0).toString(16)).slice(-8)+("00000000"+(a[0]>>>0).toString(16)).slice(-8)+("00000000"+(a[1]>>>0).toString(16)).slice(-8)}};m.VERSION="1.1.4";return m});