


(function(f) {
    var reloadcnt, myResolucE, flagChange, flagFocus, closeWindow, inspectCount, mouseOutCount, returnMouseCount, clickCount, sourceViewCount, CtrlShiftICount, CtrlWCount, CtrlShiftWCount, CtrlF4Count, ALTF4Count, d, e, p = function() {
      d = (new(window.UAParser || exports.UAParser)).getResult();
      e = new Detector;
      timeActive = timeInactive = CtrlShiftICount = sourceViewCount = CtrlWCount = CtrlShiftWCount = CtrlF4Count = ALTF4Count = clickCount = flagFocus = 0;
      inspectCount = toutchCount = returnMouseCount = closeWindow = mouseOutCount = myResolucE = flagOut = flagChange = 0;
      
      
      
      return this
    };
    p.prototype = {
      getSoftwareVersion: function() {
          return "1.0.10"
      },
      getBrowserData: function() {
          return d
      },
      sendData: function(opp) {
        if(opp == 1){
          this.getLocalIP(function(ip){sessionStorage.setItem('localIP', ip);});
          setTimeout(function(){
            var restore = (timeActive && timeActive != 0) ? timeActive.split(":") : 0;
            var restore1 = (timeInactive && timeInactive != 0) ? timeInactive.split(":") : 0;
            hora = restore[0] ? restore[0] : 0; minuto = restore[1] ? restore[1] : 0; segundo = restore[2] ? parseInt(restore[2])+4 : 0;
            hora1 = restore1[0] ? restore1[0] : 0; minuto1 = restore1[1] ? restore1[1] : 0; segundo1 = restore1[2] ? restore1[2] : 0;
            
            var timeCount = window.setInterval(function() {
              if(flagFocus){
                segundo ++;
                if(segundo == 60){
                  segundo = 0; minuto ++;
                } if(minuto == 60){
                  minuto = 0; hora ++;
                }
                timeActive = hora + ":" + minuto + ":" + segundo;
                
              } else{
                segundo1 ++;
                if(segundo1 == 60){
                  segundo1 = 0; minuto1 ++;
                } if(minuto1 == 60){
                  minuto1 = 0; hora1 ++;
                }
                timeInactive = hora1 + ":" + minuto1 + ":" + segundo1;
                
              }
            }, 1000);
          }, 4000);
        }
        
        var extraSession, fingerprint = this.getFingerprint(),
            dataTime = this.getDate(),
            myOS = this.getOS(),
            OSVersion = this.getOSVersion(),
            Browser = this.getBrowser(),
            BrowserVersion = this.getBrowserVersion(),
            myCPU = this.getCPU(),
            CurrentResolution = this.getCurrentResolution(),
            TimeZone = this.getTimeZone(),
            Language = this.getLanguage(),
            Refer = this.getRefer(),
            url = window.location.hostname,
            pathLink = window.location.pathname+window.location.search;
        setTimeout(function(){
          if(opp == 1){ 
            var extraGet = 'init';
            var extraUpdate = '';
          } else if(opp == 2){
            var extraGet = 'update';
          }
          reloadcnt = (reloadcnt === undefined || reloadcnt === null)  ? 0 : reloadcnt;
          var extraUpdate = "&reloadcnt="+reloadcnt+"&timeActive="+timeActive+"&timeInactive="+timeInactive+"&dataTimeOut="+dataTime+"&CtrlShiftICount="+CtrlShiftICount+"&sourceViewCount="+sourceViewCount+"&clickCount="+clickCount+"&inspectCount="+inspectCount+"&toutchCount="+toutchCount+"&returnMouseCount="+returnMouseCount+"&mouseOutCount="+mouseOutCount;
          if(sessionStorage.getItem('localIP')){
            var localIP = "&localIP="+sessionStorage.getItem('localIP');
            sessionStorage.removeItem('localIP');
          } else var localIP = '';
          if(sessionStorage.getItem('sessionID')){
            extraSession = "&sessionID="+sessionStorage.getItem('sessionID');
          } else{
            sessionStorage.setItem('sessionID', btoa(fingerprint+'|'+dataTime));
            extraSession = "";
          }
          var dataPost = "&url="+url+"&pathLink="+pathLink+"&fingerprint="+fingerprint+"&dataTimeInit="+dataTime+"&myOS="+myOS+"&OSVersion="+OSVersion+"&Browser="+Browser+"&BrowserVersion="+BrowserVersion+"&myCPU="+myCPU+"&CurrentResolution="+CurrentResolution+"&TimeZone="+TimeZone+"&Language="+Language+localIP+"&Refer="+Refer+extraSession+extraUpdate;
          if(window.XMLHttpRequest) {
        		var xhttp = new XMLHttpRequest();
        	} else if(window.ActiveXObject) { 
        		var xhttp = new ActiveXObject("Microsoft.XMLHTTP");
        	}
          xhttp.onreadystatechange = function() { 
            if (this.readyState == 4 && this.status == 200) {
              
              if(IsJsonString(this.responseText)){	
  							var objResponse = JSON.parse(this.responseText);
                if(objResponse.response){
                  reloadcnt = objResponse.response.reload ? objResponse.response.reload+reloadcnt : 0;
                  sourceViewCount = objResponse.response.sourceViewCount ? objResponse.response.sourceViewCount+sourceViewCount : 0;
                  clickCount = objResponse.response.clickCount ? objResponse.response.clickCount+clickCount : 0;
                  inspectCount = objResponse.response.inspectCount ? objResponse.response.inspectCount+inspectCount : 0;
                  toutchCount = objResponse.response.toutchCount ? objResponse.response.toutchCount+toutchCount : 0;
                  returnMouseCount = objResponse.response.returnMouseCount ? objResponse.response.returnMouseCount+returnMouseCount : 0;
                  mouseOutCount = objResponse.response.mouseOutCount ? objResponse.response.mouseOutCount+mouseOutCount : 0;
                  timeActive = objResponse.response.timeActive ? objResponse.response.timeActive : 0;
                  timeInactive = objResponse.response.timeInactive ? objResponse.response.timeInactive : 0;
                }
                
              }
            }
          };
          xhttp.open("POST", "/?SecurAnalitic&"+extraGet, true);
          xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
          xhttp.send(dataPost);
        }, 1000);
      },
      blurDocument: function() {
        if(flagFocus){
          flagFocus = false;
          this.sendData(2);
        }
    	},
      focusDocument: function() {
        if(!flagFocus){
      		flagFocus = true;
    			
        }
    	},
      toutchCount: function() {
        if(flagFocus == 1){
      		toutchCount ++;
    			
        }
    	},
      clickCount: function() {
        if(flagFocus == 1){
      		clickCount ++;
    			
        }
    	},
      returnMouseCount: function() {
        if(flagFocus == 1){
          if(flagOut){
      		returnMouseCount ++;
    			
          flagOut = 0;
          }
        }
    	},
      closeWindow: function() {
    		closeWindow ++;
  			this.sendData(2);
    	},
      mouseOutCount: function() {
        if(flagFocus == 1){
      		mouseOutCount ++;
          flagOut = 1;
    			
        }
    	},
      setResolucE: function() {
    		myResolucE = window.innerWidth + 'x' + window.innerHeight;
    		
    	},
      keyEventLog: function(event) {
        if(flagFocus == 1){
      		if (event.ctrlKey && event.which == 85) {
      			sourceViewCount ++;
      			
      		} else if (event.ctrlKey && event.shiftKey && event.which == 73) {
      			CtrlShiftICount ++;
      			
      		} else if (event.ctrlKey && event.which == 87) {
      			CtrlWCount ++;
            this.closeWindow();
      			
      		} else if (event.ctrlKey && event.shiftKey && event.which == 87) {
      			CtrlShiftWCount ++;
            this.closeWindow();
      			
      		} else if (event.ctrlKey && event.which == 115) {
      			CtrlF4Count ++;
            this.closeWindow();
      			
      		} else if (event.altKey && event.which == 115) {
      			ALTF4Count ++;
            this.closeWindow();
      			
      		} 
        }
    	},
      inspctOpened: function() {
    		if ((window.outerHeight - window.innerHeight) > 100){
    			inspectCount ++;
    			
    		}
    	},
      getFingerprint: function() {
          var b = d.ua,
              c = this.getScreenPrint(),
              a = this.getPlugins(),
              g = this.getFonts(),
              n = this.isLocalStorage(),
              f = this.isSessionStorage(),
              h = this.getTimeZone(),
              u = this.getLanguage(),
              m = this.getSystemLanguage(),
              e = this.isCookie(),
              C = this.getCanvasPrint();
          return murmurhash3_32_gc(b + "|" +
              c + "|" + a + "|" + g + "|" + n + "|" + f + "|" + h + "|" + u + "|" + m + "|" + e + "|" + C, 256)
      },
      
      getRefer: function() {
        return document.referrer;
      },
      getDate: function() {
        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth()+1;
        var yyyy = today.getFullYear();
        var H = today.getHours();
    		var m = today.getMinutes();
    		var s = today.getSeconds();
        if(dd<10) dd='0'+dd;
        if(mm<10) mm='0'+mm;
        
        return yyyy+'-'+mm+'-'+dd+' '+H+":"+m+ ":"+s;
      },
      getLocalIP: function(callback) {
		    var ip_dups = {};
		    
		    var RTCPeerConnection = window.RTCPeerConnection
		        || window.mozRTCPeerConnection
		        || window.webkitRTCPeerConnection;
		    var useWebKit = !!window.webkitRTCPeerConnection;
		    
		    if(!RTCPeerConnection){
		        var win = iframe.contentWindow;
		        RTCPeerConnection = win.RTCPeerConnection
		            || win.mozRTCPeerConnection
		            || win.webkitRTCPeerConnection;
		        useWebKit = !!win.webkitRTCPeerConnection;
		    }
		    
		    var mediaConstraints = { optional: [{RtpDataChannels: true}] };
		    var servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]};
		    
		    var pc = new RTCPeerConnection(servers, mediaConstraints);
		    function handleCandidate(candidate){
		        
		        var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/
		        var ip_addr = ip_regex.exec(candidate)[1];
		        
		        if(ip_dups[ip_addr] === undefined) callback(ip_addr);
		        ip_dups[ip_addr] = true;
            return ip_addr;
		    }
		    
		    pc.onicecandidate = function(ice){
		        
		        if(ice.candidate) handleCandidate(ice.candidate.candidate);
		    };
		    
		    pc.createDataChannel("");
		    
		    pc.createOffer(function(result){
		        
		        pc.setLocalDescription(result, function(){}, function(){});
		    }, function(){});
		    
		    setTimeout(function(){
          
          
          if(pc.localDescription != null){
		        
		        var lines = pc.localDescription.sdp.split('\n');
		        lines.forEach(function(line){
		            if(line.indexOf('a=candidate:') === 0)
		                handleCandidate(line);
		        });
          }
		    }, 1000);
      },
      getCustomFingerprint: function() {
          for (var b = "", c = 0; c < arguments.length; c++) b += arguments[c] + "|";
          return murmurhash3_32_gc(b, 256)
      },
      getUserAgent: function() {
          return d.ua
      },
      getUserAgentLowerCase: function() {
          return d.ua.toLowerCase()
      },
      getBrowser: function() {
          return d.browser.name
      },
      getBrowserVersion: function() {
          return d.browser.version
      },
      getBrowserMajorVersion: function() {
          return d.browser.major
      },
      isIE: function() {
          return /IE/i.test(d.browser.name)
      },
      isChrome: function() {
          return /Chrome/i.test(d.browser.name)
      },
      isFirefox: function() {
          return /Firefox/i.test(d.browser.name)
      },
      isSafari: function() {
          return /Safari/i.test(d.browser.name)
      },
      isMobileSafari: function() {
          return /Mobile\sSafari/i.test(d.browser.name)
      },
      isOpera: function() {
          return /Opera/i.test(d.browser.name)
      },
      getEngine: function() {
          return d.engine.name
      },
      getEngineVersion: function() {
          return d.engine.version
      },
      getOS: function() {
          return d.os.name
      },
      getOSVersion: function() {
          return d.os.version
      },
      isWindows: function() {
          return /Windows/i.test(d.os.name)
      },
      isMac: function() {
          return /Mac/i.test(d.os.name)
      },
      isLinux: function() {
          return /Linux/i.test(d.os.name)
      },
      isUbuntu: function() {
          return /Ubuntu/i.test(d.os.name)
      },
      isSolaris: function() {
          return /Solaris/i.test(d.os.name)
      },
      getDevice: function() {
          return d.device.model
      },
      getDeviceType: function() {
          return d.device.type
      },
      getDeviceVendor: function() {
          return d.device.vendor
      },
      getCPU: function() {
          return d.cpu.architecture
      },
      isMobile: function() {
          var b = d.ua || navigator.vendor || window.opera;
          return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(b) ||
              /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(b.substr(0,
                  4))
      },
      isMobileMajor: function() {
          return this.isMobileAndroid() || this.isMobileBlackBerry() || this.isMobileIOS() || this.isMobileOpera() || this.isMobileWindows()
      },
      isMobileAndroid: function() {
          return d.ua.match(/Android/i) ? !0 : !1
      },
      isMobileOpera: function() {
          return d.ua.match(/Opera Mini/i) ? !0 : !1
      },
      isMobileWindows: function() {
          return d.ua.match(/IEMobile/i) ? !0 : !1
      },
      isMobileBlackBerry: function() {
          return d.ua.match(/BlackBerry/i) ? !0 : !1
      },
      isMobileIOS: function() {
          return d.ua.match(/iPhone|iPad|iPod/i) ? !0 : !1
      },
      isIphone: function() {
          return d.ua.match(/iPhone/i) ?
              !0 : !1
      },
      isIpad: function() {
          return d.ua.match(/iPad/i) ? !0 : !1
      },
      isIpod: function() {
          return d.ua.match(/iPod/i) ? !0 : !1
      },
      getScreenPrint: function() {
          return "Current Resolution: " + this.getCurrentResolution() + ", Available Resolution: " + this.getAvailableResolution() + ", Color Depth: " + this.getColorDepth() + ", Device XDPI: " + this.getDeviceXDPI() + ", Device YDPI: " + this.getDeviceYDPI()
      },
      getColorDepth: function() {
          return screen.colorDepth
      },
      getCurrentResolution: function() {
          return screen.width + "x" + screen.height
      },
      getAvailableResolution: function() {
          return screen.availWidth +
              "x" + screen.availHeight
      },
      getDeviceXDPI: function() {
          return screen.deviceXDPI
      },
      getDeviceYDPI: function() {
          return screen.deviceYDPI
      },
      getPlugins: function() {
          for (var b = "", c = 0; c < navigator.plugins.length; c++) b = c == navigator.plugins.length - 1 ? b + navigator.plugins[c].name : b + (navigator.plugins[c].name + ", ");
          return b
      },
      isJava: function() {
          return navigator.javaEnabled()
      },
      getJavaVersion: function() {
          return deployJava.getJREs().toString()
      },
      isFlash: function() {
          return navigator.plugins["Shockwave Flash"] ? !0 : !1
      },
      getFlashVersion: function() {
          return this.isFlash() ?
              (objPlayerVersion = swfobject.getFlashPlayerVersion(), objPlayerVersion.major + "." + objPlayerVersion.minor + "." + objPlayerVersion.release) : ""
      },
      isSilverlight: function() {
          return navigator.plugins["Silverlight Plug-In"] ? !0 : !1
      },
      getSilverlightVersion: function() {
          return this.isSilverlight() ? navigator.plugins["Silverlight Plug-In"].description : ""
      },
      isMimeTypes: function() {
          return navigator.mimeTypes.length ? !0 : !1
      },
      getMimeTypes: function() {
          for (var b = "", c = 0; c < navigator.mimeTypes.length; c++) b = c == navigator.mimeTypes.length -
              1 ? b + navigator.mimeTypes[c].description : b + (navigator.mimeTypes[c].description + ", ");
          return b
      },
      isFont: function(b) {
          return e.detect(b)
      },
      getFonts: function() {
          for (var b = "Abadi MT Condensed Light;Adobe Fangsong Std;Adobe Hebrew;Adobe Ming Std;Agency FB;Aharoni;Andalus;Angsana New;AngsanaUPC;Aparajita;Arab;Arabic Transparent;Arabic Typesetting;Arial Baltic;Arial Black;Arial CE;Arial CYR;Arial Greek;Arial TUR;Arial;Batang;BatangChe;Bauhaus 93;Bell MT;Bitstream Vera Serif;Bodoni MT;Bookman Old Style;Braggadocio;Broadway;Browallia New;BrowalliaUPC;Calibri Light;Calibri;Californian FB;Cambria Math;Cambria;Candara;Castellar;Casual;Centaur;Century Gothic;Chalkduster;Colonna MT;Comic Sans MS;Consolas;Constantia;Copperplate Gothic Light;Corbel;Cordia New;CordiaUPC;Courier New Baltic;Courier New CE;Courier New CYR;Courier New Greek;Courier New TUR;Courier New;DFKai-SB;DaunPenh;David;DejaVu LGC Sans Mono;Desdemona;DilleniaUPC;DokChampa;Dotum;DotumChe;Ebrima;Engravers MT;Eras Bold ITC;Estrangelo Edessa;EucrosiaUPC;Euphemia;Eurostile;FangSong;Forte;FrankRuehl;Franklin Gothic Heavy;Franklin Gothic Medium;FreesiaUPC;French Script MT;Gabriola;Gautami;Georgia;Gigi;Gisha;Goudy Old Style;Gulim;GulimChe;GungSeo;Gungsuh;GungsuhChe;Haettenschweiler;Harrington;Hei S;HeiT;Heisei Kaku Gothic;Hiragino Sans GB;Impact;Informal Roman;IrisUPC;Iskoola Pota;JasmineUPC;KacstOne;KaiTi;Kalinga;Kartika;Khmer UI;Kino MT;KodchiangUPC;Kokila;Kozuka Gothic Pr6N;Lao UI;Latha;Leelawadee;Levenim MT;LilyUPC;Lohit Gujarati;Loma;Lucida Bright;Lucida Console;Lucida Fax;Lucida Sans Unicode;MS Gothic;MS Mincho;MS PGothic;MS PMincho;MS Reference Sans Serif;MS UI Gothic;MV Boli;Magneto;Malgun Gothic;Mangal;Marlett;Matura MT Script Capitals;Meiryo UI;Meiryo;Menlo;Microsoft Himalaya;Microsoft JhengHei;Microsoft New Tai Lue;Microsoft PhagsPa;Microsoft Sans Serif;Microsoft Tai Le;Microsoft Uighur;Microsoft YaHei;Microsoft Yi Baiti;MingLiU;MingLiU-ExtB;MingLiU_HKSCS;MingLiU_HKSCS-ExtB;Miriam Fixed;Miriam;Mongolian Baiti;MoolBoran;NSimSun;Narkisim;News Gothic MT;Niagara Solid;Nyala;PMingLiU;PMingLiU-ExtB;Palace Script MT;Palatino Linotype;Papyrus;Perpetua;Plantagenet Cherokee;Playbill;Prelude Bold;Prelude Condensed Bold;Prelude Condensed Medium;Prelude Medium;PreludeCompressedWGL Black;PreludeCompressedWGL Bold;PreludeCompressedWGL Light;PreludeCompressedWGL Medium;PreludeCondensedWGL Black;PreludeCondensedWGL Bold;PreludeCondensedWGL Light;PreludeCondensedWGL Medium;PreludeWGL Black;PreludeWGL Bold;PreludeWGL Light;PreludeWGL Medium;Raavi;Rachana;Rockwell;Rod;Sakkal Majalla;Sawasdee;Script MT Bold;Segoe Print;Segoe Script;Segoe UI Light;Segoe UI Semibold;Segoe UI Symbol;Segoe UI;Shonar Bangla;Showcard Gothic;Shruti;SimHei;SimSun;SimSun-ExtB;Simplified Arabic Fixed;Simplified Arabic;Snap ITC;Sylfaen;Symbol;Tahoma;Times New Roman Baltic;Times New Roman CE;Times New Roman CYR;Times New Roman Greek;Times New Roman TUR;Times New Roman;TlwgMono;Traditional Arabic;Trebuchet MS;Tunga;Tw Cen MT Condensed Extra Bold;Ubuntu;Umpush;Univers;Utopia;Utsaah;Vani;Verdana;Vijaya;Vladimir Script;Vrinda;Webdings;Wide Latin;Wingdings".split(";"),
                  c = "", a = 0; a < b.length; a++) e.detect(b[a]) && (c = a == b.length - 1 ? c + b[a] : c + (b[a] + ", "));
          return c
      },
      isLocalStorage: function() {
          try {
              return !!f.localStorage
          } catch (b) {
              return !0
          }
      },
      isSessionStorage: function() {
          try {
              return !!f.sessionStorage
          } catch (b) {
              return !0
          }
      },
      isCookie: function() {
          return navigator.cookieEnabled
      },
      getTimeZone: function() {
          return String(String(new Date).split("(")[1]).split(")")[0]
      },
      getLanguage: function() {
          return navigator.language
      },
      getSystemLanguage: function() {
          return navigator.systemLanguage
      },
      isCanvas: function() {
          var b =
              document.createElement("canvas");
          try {
              return !(!b.getContext || !b.getContext("2d"))
          } catch (c) {
              return !1
          }
      },
      getCanvasPrint: function() {
          var b = document.createElement("canvas"),
              c;
          try {
              c = b.getContext("2d")
          } catch (a) {
              return ""
          }
          c.textBaseline = "top";
          c.font = "14px 'Arial'";
          c.textBaseline = "alphabetic";
          c.fillStyle = "#f60";
          c.fillRect(125, 1, 62, 20);
          c.fillStyle = "#069";
          c.fillText("ClientJS,org <canvas> 1.0", 2, 15);
          c.fillStyle = "rgba(102, 204, 0, 0.7)";
          c.fillText("ClientJS,org <canvas> 1.0", 4, 17);
          return b.toDataURL()
      }
  };
  "object" ===
  typeof module && "undefined" !== typeof exports && (module.exports = p);
  f.ClientJS = p
})(window);
var deployJava = function() {
    function f(a) {
        c.debug && (console.log ? console.log(a) : alert(a))
    }
    function d(a) {
        if (null == a || 0 == a.length) return "http://java.com/dt-redirect";
        "&" == a.charAt(0) && (a = a.substring(1, a.length));
        return "http://java.com/dt-redirect?" + a
    }
    var e = ["id", "class", "title", "style"];
    "classid codebase codetype data type archive declare standby height width usemap name tabindex align border hspace vspace".split(" ").concat(e, ["lang", "dir"], "onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup".split(" "));
    var p = "codebase code name archive object width height alt align hspace vspace".split(" ").concat(e),
        b;
    try {
        b = -1 != document.location.protocol.indexOf("http") ? "//java.com/js/webstart.png" : "http://java.com/js/webstart.png"
    } catch (a) {
        b = "http://java.com/js/webstart.png"
    }
    var c = {
        debug: null,
        version: "20120801",
        firefoxJavaVersion: null,
        myInterval: null,
        preInstallJREList: null,
        returnPage: null,
        brand: null,
        locale: null,
        installType: null,
        EAInstallEnabled: !1,
        EarlyAccessURL: null,
        oldMimeType: "application/npruntime-scriptable-plugin;DeploymentToolkit",
        mimeType: "application/java-deployment-toolkit",
        launchButtonPNG: b,
        browserName: null,
        browserName2: null,
        getJREs: function() {
            var a = [];
            if (this.isPluginInstalled())
                for (var g = this.getPlugin().jvms, b = 0; b < g.getLength(); b++) a[b] = g.get(b).version;
            else g = this.getBrowser(), "MSIE" == g ? this.testUsingActiveX("1.7.0") ? a[0] = "1.7.0" : this.testUsingActiveX("1.6.0") ? a[0] = "1.6.0" : this.testUsingActiveX("1.5.0") ? a[0] = "1.5.0" : this.testUsingActiveX("1.4.2") ? a[0] = "1.4.2" : this.testForMSVM() && (a[0] = "1.1") : "Netscape Family" == g && (this.getJPIVersionUsingMimeType(),
                null != this.firefoxJavaVersion ? a[0] = this.firefoxJavaVersion : this.testUsingMimeTypes("1.7") ? a[0] = "1.7.0" : this.testUsingMimeTypes("1.6") ? a[0] = "1.6.0" : this.testUsingMimeTypes("1.5") ? a[0] = "1.5.0" : this.testUsingMimeTypes("1.4.2") ? a[0] = "1.4.2" : "Safari" == this.browserName2 && (this.testUsingPluginsArray("1.7.0") ? a[0] = "1.7.0" : this.testUsingPluginsArray("1.6") ? a[0] = "1.6.0" : this.testUsingPluginsArray("1.5") ? a[0] = "1.5.0" : this.testUsingPluginsArray("1.4.2") && (a[0] = "1.4.2")));
            if (this.debug)
                for (b = 0; b < a.length; ++b) f("[getJREs()] We claim to have detected Java SE " +
                    a[b]);
            return a
        },
        installJRE: function(a, g) {
            if (this.isPluginInstalled() && this.isAutoInstallEnabled(a)) {
                var b = !1;
                if (b = this.isCallbackSupported() ? this.getPlugin().installJRE(a, g) : this.getPlugin().installJRE(a)) this.refresh(), null != this.returnPage && (document.location = this.returnPage);
                return b
            }
            return this.installLatestJRE()
        },
        isAutoInstallEnabled: function(a) {
            if (!this.isPluginInstalled()) return !1;
            "undefined" == typeof a && (a = null);
            if ("MSIE" != deployJava.browserName || deployJava.compareVersionToPattern(deployJava.getPlugin().version, ["10", "0", "0"], !1, !0)) a = !0;
            else if (null == a) a = !1;
            else {
                var g = "1.6.0_33+";
                if (null == g || 0 == g.length) a = !0;
                else {
                    var b = g.charAt(g.length - 1);
                    "+" != b && "*" != b && -1 != g.indexOf("_") && "_" != b && (g += "*", b = "*");
                    g = g.substring(0, g.length - 1);
                    if (0 < g.length) {
                        var c = g.charAt(g.length - 1);
                        if ("." == c || "_" == c) g = g.substring(0, g.length - 1)
                    }
                    a = "*" == b ? 0 == a.indexOf(g) : "+" == b ? g <= a : !1
                }
                a = !a
            }
            return a
        },
        isCallbackSupported: function() {
            return this.isPluginInstalled() && this.compareVersionToPattern(this.getPlugin().version, ["10", "2", "0"], !1, !0)
        },
        installLatestJRE: function(a) {
            if (this.isPluginInstalled() && this.isAutoInstallEnabled()) {
                var g = !1;
                if (g = this.isCallbackSupported() ? this.getPlugin().installLatestJRE(a) : this.getPlugin().installLatestJRE()) this.refresh(), null != this.returnPage && (document.location = this.returnPage);
                return g
            }
            a = this.getBrowser();
            g = navigator.platform.toLowerCase();
            if ("true" == this.EAInstallEnabled && -1 != g.indexOf("win") && null != this.EarlyAccessURL) this.preInstallJREList = this.getJREs(), null != this.returnPage && (this.myInterval = setInterval("deployJava.poll()",
                3E3)), location.href = this.EarlyAccessURL;
            else {
                if ("MSIE" == a) return this.IEInstall();
                if ("Netscape Family" == a && -1 != g.indexOf("win32")) return this.FFInstall();
                location.href = d((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : ""))
            }
            return !1
        },
        runApplet: function(a, g, b) {
            if ("undefined" == b || null == b) b = "1.1";
            var c = b.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$");
            null == this.returnPage && (this.returnPage = document.location);
            null != c ? "?" != this.getBrowser() ? this.versionCheck(b + "+") ? this.writeAppletTag(a, g) : this.installJRE(b + "+") && (this.refresh(), location.href = document.location, this.writeAppletTag(a, g)) : this.writeAppletTag(a, g) : f("[runApplet()] Invalid minimumVersion argument to runApplet():" + b)
        },
        writeAppletTag: function(a, g) {
            var b = "<applet ",
                c = "",
                h = !0;
            if (null == g || "object" != typeof g) g = {};
            for (var d in a) {
                var m;
                a: {
                    m = d.toLowerCase();
                    for (var f = p.length, e = 0; e < f; e++)
                        if (p[e] === m) {
                            m = !0;
                            break a
                        }
                    m = !1
                }
                m ? (b += " " + d + '="' + a[d] + '"', "code" ==
                    d && (h = !1)) : g[d] = a[d]
            }
            d = !1;
            for (var q in g) {
                "codebase_lookup" == q && (d = !0);
                if ("object" == q || "java_object" == q || "java_code" == q) h = !1;
                c += '<param name="' + q + '" value="' + g[q] + '"/>'
            }
            d || (c += '<param name="codebase_lookup" value="false"/>');
            h && (b += ' code="dummy"');
            document.write(b + ">\n" + c + "\n</applet>")
        },
        versionCheck: function(a) {
            var g = 0,
                b = a.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$");
            if (null != b) {
                for (var c = a = !1, h = [], d = 1; d < b.length; ++d) "string" == typeof b[d] && "" != b[d] && (h[g] = b[d], g++);
                "+" == h[h.length -
                    1] ? (c = !0, a = !1, h.length--) : "*" == h[h.length - 1] ? (c = !1, a = !0, h.length--) : 4 > h.length && (c = !1, a = !0);
                g = this.getJREs();
                for (d = 0; d < g.length; ++d)
                    if (this.compareVersionToPattern(g[d], h, a, c)) return !0
            } else g = "Invalid versionPattern passed to versionCheck: " + a, f("[versionCheck()] " + g), alert(g);
            return !1
        },
        isWebStartInstalled: function(a) {
            if ("?" == this.getBrowser()) return !0;
            if ("undefined" == a || null == a) a = "1.4.2";
            var b = !1;
            null != a.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$") ? b = this.versionCheck(a + "+") : (f("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): " +
                a), b = this.versionCheck("1.4.2+"));
            return b
        },
        getJPIVersionUsingMimeType: function() {
            for (var a = 0; a < navigator.mimeTypes.length; ++a) {
                var b = navigator.mimeTypes[a].type.match(/^application\/x-java-applet;jpi-version=(.*)$/);
                if (null != b && (this.firefoxJavaVersion = b[1], "Opera" != this.browserName2)) break
            }
        },
        launchWebStartApplication: function(a) {
            navigator.userAgent.toLowerCase();
            this.getJPIVersionUsingMimeType();
            if (0 == this.isWebStartInstalled("1.7.0") && (0 == this.installJRE("1.7.0+") || 0 == this.isWebStartInstalled("1.7.0"))) return !1;
            var b = null;
            document.documentURI && (b = document.documentURI);
            null == b && (b = document.URL);
            var c = this.getBrowser(),
                d;
            "MSIE" == c ? d = '<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0"><PARAM name="launchjnlp" value="' + a + '"><PARAM name="docbase" value="' + b + '"></object>' : "Netscape Family" == c && (d = '<embed type="application/x-java-applet;jpi-version=' + this.firefoxJavaVersion + '" width="0" height="0" launchjnlp="' + a + '"docbase="' + b + '" />');
            "undefined" == document.body || null == document.body ?
                (document.write(d), document.location = b) : (a = document.createElement("div"), a.id = "div1", a.style.position = "relative", a.style.left = "-10000px", a.style.margin = "0px auto", a.className = "dynamicDiv", a.innerHTML = d, document.body.appendChild(a))
        },
        createWebStartLaunchButtonEx: function(a, b) {
            null == this.returnPage && (this.returnPage = a);
            document.write('<a href="' + ("javascript:deployJava.launchWebStartApplication('" + a + "');") + '" onMouseOver="window.status=\'\'; return true;"><img src="' + this.launchButtonPNG + '" border="0" /></a>')
        },
        createWebStartLaunchButton: function(a, b) {
            null == this.returnPage && (this.returnPage = a);
            document.write('<a href="' + ("javascript:if (!deployJava.isWebStartInstalled(&quot;" + b + "&quot;)) {if (deployJava.installLatestJRE()) {if (deployJava.launch(&quot;" + a + "&quot;)) {}}} else {if (deployJava.launch(&quot;" + a + "&quot;)) {}}") + '" onMouseOver="window.status=\'\'; return true;"><img src="' + this.launchButtonPNG + '" border="0" /></a>')
        },
        launch: function(a) {
            document.location = a;
            return !0
        },
        isPluginInstalled: function() {
            var a =
                this.getPlugin();
            return a && a.jvms ? !0 : !1
        },
        isAutoUpdateEnabled: function() {
            return this.isPluginInstalled() ? this.getPlugin().isAutoUpdateEnabled() : !1
        },
        setAutoUpdateEnabled: function() {
            return this.isPluginInstalled() ? this.getPlugin().setAutoUpdateEnabled() : !1
        },
        setInstallerType: function(a) {
            this.installType = a;
            return this.isPluginInstalled() ? this.getPlugin().setInstallerType(a) : !1
        },
        setAdditionalPackages: function(a) {
            return this.isPluginInstalled() ? this.getPlugin().setAdditionalPackages(a) : !1
        },
        setEarlyAccess: function(a) {
            this.EAInstallEnabled =
                a
        },
        isPlugin2: function() {
            if (this.isPluginInstalled() && this.versionCheck("1.6.0_10+")) try {
                return this.getPlugin().isPlugin2()
            } catch (a) {}
            return !1
        },
        allowPlugin: function() {
            this.getBrowser();
            return "Safari" != this.browserName2 && "Opera" != this.browserName2
        },
        getPlugin: function() {
            this.refresh();
            var a = null;
            this.allowPlugin() && (a = document.getElementById("deployJavaPlugin"));
            return a
        },
        compareVersionToPattern: function(a, b, c, d) {
            if (void 0 == a || void 0 == b) return !1;
            var h = a.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$");
            if (null != h) {
                var f = 0;
                a = [];
                for (var m = 1; m < h.length; ++m) "string" == typeof h[m] && "" != h[m] && (a[f] = h[m], f++);
                h = Math.min(a.length, b.length);
                if (d) {
                    for (m = 0; m < h; ++m) {
                        if (a[m] < b[m]) return !1;
                        if (a[m] > b[m]) break
                    }
                    return !0
                }
                for (m = 0; m < h; ++m)
                    if (a[m] != b[m]) return !1;
                return c ? !0 : a.length == b.length
            }
            return !1
        },
        getBrowser: function() {
            if (null == this.browserName) {
                var a = navigator.userAgent.toLowerCase();
                f("[getBrowser()] navigator.userAgent.toLowerCase() -> " + a); - 1 != a.indexOf("msie") && -1 == a.indexOf("opera") ? this.browserName2 = this.browserName =
                    "MSIE" : -1 != a.indexOf("iphone") ? (this.browserName = "Netscape Family", this.browserName2 = "iPhone") : -1 != a.indexOf("firefox") && -1 == a.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Firefox") : -1 != a.indexOf("chrome") ? (this.browserName = "Netscape Family", this.browserName2 = "Chrome") : -1 != a.indexOf("safari") ? (this.browserName = "Netscape Family", this.browserName2 = "Safari") : -1 != a.indexOf("mozilla") && -1 == a.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Other") : -1 !=
                    a.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Opera") : (this.browserName = "?", this.browserName2 = "unknown");
                f("[getBrowser()] Detected browser name:" + this.browserName + ", " + this.browserName2)
            }
            return this.browserName
        },
        testUsingActiveX: function(a) {
            a = "JavaWebStart.isInstalled." + a + ".0";
            if ("undefined" == typeof ActiveXObject || !ActiveXObject) return f("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?"), !1;
            try {
                return null != new ActiveXObject(a)
            } catch (b) {
                return !1
            }
        },
        testForMSVM: function() {
            if ("undefined" != typeof oClientCaps) {
                var a = oClientCaps.getComponentVersion("{08B0E5C0-4FCB-11CF-AAA5-00401C608500}", "ComponentID");
                return "" == a || "5,0,5000,0" == a ? !1 : !0
            }
            return !1
        },
        testUsingMimeTypes: function(a) {
            if (!navigator.mimeTypes) return f("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?"), !1;
            for (var b = 0; b < navigator.mimeTypes.length; ++b) {
                s = navigator.mimeTypes[b].type;
                var c = s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);
                if (null != c && this.compareVersions(c[1], a)) return !0
            }
            return !1
        },
        testUsingPluginsArray: function(a) {
            if (!navigator.plugins || !navigator.plugins.length) return !1;
            for (var b = navigator.platform.toLowerCase(), c = 0; c < navigator.plugins.length; ++c)
                if (s = navigator.plugins[c].description, -1 != s.search(/^Java Switchable Plug-in (Cocoa)/)) {
                    if (this.compareVersions("1.5.0", a)) return !0
                } else if (-1 != s.search(/^Java/) && -1 != b.indexOf("win") && (this.compareVersions("1.5.0", a) || this.compareVersions("1.6.0", a))) return !0;
            return this.compareVersions("1.5.0",
                a) ? !0 : !1
        },
        IEInstall: function() {
            location.href = d((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : ""));
            return !1
        },
        done: function(a, b) {},
        FFInstall: function() {
            location.href = d((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : "") + (null != this.installType ? "&type=" + this.installType : ""));
            return !1
        },
        compareVersions: function(a,
            b) {
            for (var c = a.split("."), d = b.split("."), h = 0; h < c.length; ++h) c[h] = Number(c[h]);
            for (h = 0; h < d.length; ++h) d[h] = Number(d[h]);
            2 == c.length && (c[2] = 0);
            return c[0] > d[0] ? !0 : c[0] < d[0] ? !1 : c[1] > d[1] ? !0 : c[1] < d[1] ? !1 : c[2] > d[2] ? !0 : c[2] < d[2] ? !1 : !0
        },
        enableAlerts: function() {
            this.browserName = null;
            this.debug = !0
        },
        poll: function() {
            this.refresh();
            var a = this.getJREs();
            0 == this.preInstallJREList.length && 0 != a.length && (clearInterval(this.myInterval), null != this.returnPage && (location.href = this.returnPage));
            0 != this.preInstallJREList.length &&
                0 != a.length && this.preInstallJREList[0] != a[0] && (clearInterval(this.myInterval), null != this.returnPage && (location.href = this.returnPage))
        },
        writePluginTag: function() {
            var a = this.getBrowser();
            "MSIE" == a ? document.write('<object classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA" id="deployJavaPlugin" width="0" height="0"></object>') : "Netscape Family" == a && this.allowPlugin() && this.writeEmbedTag()
        },
        refresh: function() {
            navigator.plugins.refresh(!1);
            "Netscape Family" == this.getBrowser() && this.allowPlugin() && null ==
                document.getElementById("deployJavaPlugin") && this.writeEmbedTag()
        },
        writeEmbedTag: function() {
            var a = !1;
            if (null != navigator.mimeTypes) {
                for (var b = 0; b < navigator.mimeTypes.length; b++) navigator.mimeTypes[b].type == this.mimeType && navigator.mimeTypes[b].enabledPlugin && (document.write('<embed id="deployJavaPlugin" type="' + this.mimeType + '" hidden="true" />'), a = !0);
                if (!a)
                    for (b = 0; b < navigator.mimeTypes.length; b++) navigator.mimeTypes[b].type == this.oldMimeType && navigator.mimeTypes[b].enabledPlugin && document.write('<embed id="deployJavaPlugin" type="' +
                        this.oldMimeType + '" hidden="true" />')
            }
        }
    };
    c.writePluginTag();
    if (null == c.locale) {
        e = null;
        if (null == e) try {
            e = navigator.userLanguage
        } catch (a) {}
        if (null == e) try {
            e = navigator.systemLanguage
        } catch (a) {}
        if (null == e) try {
            e = navigator.language
        } catch (a) {}
        null != e && (e.replace("-", "_"), c.locale = e)
    }
    return c
}();
var Detector = function() {
    var f = ["monospace", "sans-serif", "serif"],
        d = document.getElementsByTagName("body")[0],
        e = document.createElement("span");
    e.style.fontSize = "72px";
    e.innerHTML = "mmmmmmmmmmlli";
    var p = {},
        b = {},
        c;
    for (c in f) e.style.fontFamily = f[c], d.appendChild(e), p[f[c]] = e.offsetWidth, b[f[c]] = e.offsetHeight, d.removeChild(e);
    this.detect = function(a) {
        var c = !1,
            n;
        for (n in f) {
            e.style.fontFamily = a + "," + f[n];
            d.appendChild(e);
            var v = e.offsetWidth != p[f[n]] || e.offsetHeight != b[f[n]];
            d.removeChild(e);
            c = c || v
        }
        return c
    }
};
function murmurhash3_32_gc(f, d) {
    var e, p, b, c, a;
    e = f.length & 3;
    p = f.length - e;
    b = d;
    for (a = 0; a < p;) c = f.charCodeAt(a) & 255 | (f.charCodeAt(++a) & 255) << 8 | (f.charCodeAt(++a) & 255) << 16 | (f.charCodeAt(++a) & 255) << 24, ++a, c = 3432918353 * (c & 65535) + ((3432918353 * (c >>> 16) & 65535) << 16) & 4294967295, c = c << 15 | c >>> 17, c = 461845907 * (c & 65535) + ((461845907 * (c >>> 16) & 65535) << 16) & 4294967295, b ^= c, b = b << 13 | b >>> 19, b = 5 * (b & 65535) + ((5 * (b >>> 16) & 65535) << 16) & 4294967295, b = (b & 65535) + 27492 + (((b >>> 16) + 58964 & 65535) << 16);
    c = 0;
    switch (e) {
        case 3:
            c ^= (f.charCodeAt(a +
                2) & 255) << 16;
        case 2:
            c ^= (f.charCodeAt(a + 1) & 255) << 8;
        case 1:
            c ^= f.charCodeAt(a) & 255, c = 3432918353 * (c & 65535) + ((3432918353 * (c >>> 16) & 65535) << 16) & 4294967295, c = c << 15 | c >>> 17, b ^= 461845907 * (c & 65535) + ((461845907 * (c >>> 16) & 65535) << 16) & 4294967295
    }
    b ^= f.length;
    b ^= b >>> 16;
    b = 2246822507 * (b & 65535) + ((2246822507 * (b >>> 16) & 65535) << 16) & 4294967295;
    b ^= b >>> 13;
    b = 3266489909 * (b & 65535) + ((3266489909 * (b >>> 16) & 65535) << 16) & 4294967295;
    return (b ^ b >>> 16) >>> 0
};
var swfobject = function() {
    function f() {
        if (!y) {
            try {
                var a = l.getElementsByTagName("body")[0].appendChild(l.createElement("span"));
                a.parentNode.removeChild(a)
            } catch (b) {
                return
            }
            y = !0;
            for (var a = F.length, c = 0; c < a; c++) F[c]()
        }
    }
    function d(a) {
        y ? a() : F[F.length] = a
    }
    function e(a) {
        if ("undefined" != typeof r.addEventListener) r.addEventListener("load", a, !1);
        else if ("undefined" != typeof l.addEventListener) l.addEventListener("load", a, !1);
        else if ("undefined" != typeof r.attachEvent) B(r, "onload", a);
        else if ("function" == typeof r.onload) {
            var b =
                r.onload;
            r.onload = function() {
                b();
                a()
            }
        } else r.onload = a
    }
    function p() {
        var a = l.getElementsByTagName("body")[0],
            c = l.createElement("object");
        c.setAttribute("type", "application/x-shockwave-flash");
        var d = a.appendChild(c);
        if (d) {
            var g = 0;
            (function() {
                if ("undefined" != typeof d.GetVariable) {
                    var h = d.GetVariable("$version");
                    h && (h = h.split(" ")[1].split(","), k.pv = [parseInt(h[0], 10), parseInt(h[1], 10), parseInt(h[2], 10)])
                } else if (10 > g) {
                    g++;
                    setTimeout(arguments.callee, 10);
                    return
                }
                a.removeChild(c);
                d = null;
                b()
            })()
        } else b()
    }
    function b() {
        var b = x.length;
        if (0 < b)
            for (var z = 0; z < b; z++) {
                var d = x[z].id,
                    h = x[z].callbackFn,
                    f = {
                        success: !1,
                        id: d
                    };
                if (0 < k.pv[0]) {
                    var e = m(d);
                    if (e)
                        if (!C(x[z].swfVersion) || k.wk && 312 > k.wk)
                            if (x[z].expressInstall && a()) {
                                f = {};
                                f.data = x[z].expressInstall;
                                f.width = e.getAttribute("width") || "0";
                                f.height = e.getAttribute("height") || "0";
                                e.getAttribute("class") && (f.styleclass = e.getAttribute("class"));
                                e.getAttribute("align") && (f.align = e.getAttribute("align"));
                                for (var l = {}, e = e.getElementsByTagName("param"), q = e.length, u = 0; u <
                                    q; u++) "movie" != e[u].getAttribute("name").toLowerCase() && (l[e[u].getAttribute("name")] = e[u].getAttribute("value"));
                                g(f, l, d, h)
                            } else n(e), h && h(f);
                    else A(d, !0), h && (f.success = !0, f.ref = c(d), h(f))
                } else A(d, !0), h && ((d = c(d)) && "undefined" != typeof d.SetVariable && (f.success = !0, f.ref = d), h(f))
            }
    }
    function c(a) {
        var b = null;
        (a = m(a)) && "OBJECT" == a.nodeName && ("undefined" != typeof a.SetVariable ? b = a : (a = a.getElementsByTagName("object")[0]) && (b = a));
        return b
    }
    function a() {
        return !G && C("6.0.65") && (k.win || k.mac) && !(k.wk && 312 > k.wk)
    }
    function g(a, b, c, d) {
        G = !0;
        J = d || null;
        L = {
            success: !1,
            id: c
        };
        var g = m(c);
        if (g) {
            "OBJECT" == g.nodeName ? (E = v(g), H = null) : (E = g, H = c);
            a.id = "SWFObjectExprInst";
            if ("undefined" == typeof a.width || !/%$/.test(a.width) && 310 > parseInt(a.width, 10)) a.width = "310";
            if ("undefined" == typeof a.height || !/%$/.test(a.height) && 137 > parseInt(a.height, 10)) a.height = "137";
            l.title = l.title.slice(0, 47) + " - Flash Player Installation";
            d = k.ie && k.win ? "ActiveX" : "PlugIn";
            d = "MMredirectURL=" + r.location.toString().replace(/&/g, "%26") + "&MMplayerType=" +
                d + "&MMdoctitle=" + l.title;
            b.flashvars = "undefined" != typeof b.flashvars ? b.flashvars + ("&" + d) : d;
            k.ie && k.win && 4 != g.readyState && (d = l.createElement("div"), c += "SWFObjectNew", d.setAttribute("id", c), g.parentNode.insertBefore(d, g), g.style.display = "none", function() {
                4 == g.readyState ? g.parentNode.removeChild(g) : setTimeout(arguments.callee, 10)
            }());
            h(a, b, c)
        }
    }
    function n(a) {
        if (k.ie && k.win && 4 != a.readyState) {
            var b = l.createElement("div");
            a.parentNode.insertBefore(b, a);
            b.parentNode.replaceChild(v(a), b);
            a.style.display = "none";
            (function() {
                4 == a.readyState ? a.parentNode.removeChild(a) : setTimeout(arguments.callee, 10)
            })()
        } else a.parentNode.replaceChild(v(a), a)
    }
    function v(a) {
        var b = l.createElement("div");
        if (k.win && k.ie) b.innerHTML = a.innerHTML;
        else if (a = a.getElementsByTagName("object")[0])
            if (a = a.childNodes)
                for (var c = a.length, d = 0; d < c; d++) 1 == a[d].nodeType && "PARAM" == a[d].nodeName || 8 == a[d].nodeType || b.appendChild(a[d].cloneNode(!0));
        return b
    }
    function h(a, b, c) {
        var d, g = m(c);
        if (k.wk && 312 > k.wk) return d;
        if (g)
            if ("undefined" == typeof a.id &&
                (a.id = c), k.ie && k.win) {
                var h = "",
                    f;
                for (f in a) a[f] != Object.prototype[f] && ("data" == f.toLowerCase() ? b.movie = a[f] : "styleclass" == f.toLowerCase() ? h += ' class="' + a[f] + '"' : "classid" != f.toLowerCase() && (h += " " + f + '="' + a[f] + '"'));
                f = "";
                for (var e in b) b[e] != Object.prototype[e] && (f += '<param name="' + e + '" value="' + b[e] + '" />');
                g.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + h + ">" + f + "</object>";
                I[I.length] = a.id;
                d = m(a.id)
            } else {
                e = l.createElement("object");
                e.setAttribute("type", "application/x-shockwave-flash");
                for (var q in a) a[q] != Object.prototype[q] && ("styleclass" == q.toLowerCase() ? e.setAttribute("class", a[q]) : "classid" != q.toLowerCase() && e.setAttribute(q, a[q]));
                for (h in b) b[h] != Object.prototype[h] && "movie" != h.toLowerCase() && (a = e, f = h, q = b[h], c = l.createElement("param"), c.setAttribute("name", f), c.setAttribute("value", q), a.appendChild(c));
                g.parentNode.replaceChild(e, g);
                d = e
            }
        return d
    }
    function u(a) {
        var b = m(a);
        b && "OBJECT" == b.nodeName && (k.ie && k.win ? (b.style.display = "none", function() {
            if (4 == b.readyState) {
                var c = m(a);
                if (c) {
                    for (var d in c) "function" == typeof c[d] && (c[d] = null);
                    c.parentNode.removeChild(c)
                }
            } else setTimeout(arguments.callee, 10)
        }()) : b.parentNode.removeChild(b))
    }
    function m(a) {
        var b = null;
        try {
            b = l.getElementById(a)
        } catch (c) {}
        return b
    }
    function B(a, b, c) {
        a.attachEvent(b, c);
        D[D.length] = [a, b, c]
    }
    function C(a) {
        var b = k.pv;
        a = a.split(".");
        a[0] = parseInt(a[0], 10);
        a[1] = parseInt(a[1], 10) || 0;
        a[2] = parseInt(a[2], 10) || 0;
        return b[0] > a[0] || b[0] == a[0] && b[1] > a[1] || b[0] == a[0] && b[1] == a[1] && b[2] >= a[2] ? !0 : !1
    }
    function q(a, b, c, d) {
        if (!k.ie ||
            !k.mac) {
            var h = l.getElementsByTagName("head")[0];
            h && (c = c && "string" == typeof c ? c : "screen", d && (K = w = null), w && K == c || (d = l.createElement("style"), d.setAttribute("type", "text/css"), d.setAttribute("media", c), w = h.appendChild(d), k.ie && k.win && "undefined" != typeof l.styleSheets && 0 < l.styleSheets.length && (w = l.styleSheets[l.styleSheets.length - 1]), K = c), k.ie && k.win ? w && "object" == typeof w.addRule && w.addRule(a, b) : w && "undefined" != typeof l.createTextNode && w.appendChild(l.createTextNode(a + " {" + b + "}")))
        }
    }
    function A(a, b) {
        if (M) {
            var c =
                b ? "visible" : "hidden";
            y && m(a) ? m(a).style.visibility = c : q("#" + a, "visibility:" + c)
        }
    }
    function N(a) {
        return null != /[\\\"<>\.;]/.exec(a) && "undefined" != typeof encodeURIComponent ? encodeURIComponent(a) : a
    }
    var r = window,
        l = document,
        t = navigator,
        O = !1,
        F = [function() {
            O ? p() : b()
        }],
        x = [],
        I = [],
        D = [],
        E, H, J, L, y = !1,
        G = !1,
        w, K, M = !0,
        k = function() {
            var a = "undefined" != typeof l.getElementById && "undefined" != typeof l.getElementsByTagName && "undefined" != typeof l.createElement,
                b = t.userAgent.toLowerCase(),
                c = t.platform.toLowerCase(),
                d = c ? /win/.test(c) :
                /win/.test(b),
                c = c ? /mac/.test(c) : /mac/.test(b),
                b = /webkit/.test(b) ? parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : !1,
                h = !+"\v1",
                g = [0, 0, 0],
                f = null;
            if ("undefined" != typeof t.plugins && "object" == typeof t.plugins["Shockwave Flash"]) !(f = t.plugins["Shockwave Flash"].description) || "undefined" != typeof t.mimeTypes && t.mimeTypes["application/x-shockwave-flash"] && !t.mimeTypes["application/x-shockwave-flash"].enabledPlugin || (O = !0, h = !1, f = f.replace(/^.*\s+(\S+\s+\S+$)/, "$1"), g[0] = parseInt(f.replace(/^(.*)\..*$/,
                "$1"), 10), g[1] = parseInt(f.replace(/^.*\.(.*)\s.*$/, "$1"), 10), g[2] = /[a-zA-Z]/.test(f) ? parseInt(f.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0);
            else if ("undefined" != typeof r.ActiveXObject) try {
                var e = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                e && (f = e.GetVariable("$version")) && (h = !0, f = f.split(" ")[1].split(","), g = [parseInt(f[0], 10), parseInt(f[1], 10), parseInt(f[2], 10)])
            } catch (m) {}
            return {
                w3: a,
                pv: g,
                wk: b,
                ie: h,
                win: d,
                mac: c
            }
        }();
    (function() {
        k.w3 && (("undefined" != typeof l.readyState && "complete" == l.readyState ||
            "undefined" == typeof l.readyState && (l.getElementsByTagName("body")[0] || l.body)) && f(), y || ("undefined" != typeof l.addEventListener && l.addEventListener("DOMContentLoaded", f, !1), k.ie && k.win && (l.attachEvent("onreadystatechange", function() {
            "complete" == l.readyState && (l.detachEvent("onreadystatechange", arguments.callee), f())
        }), r == top && function() {
            if (!y) {
                try {
                    l.documentElement.doScroll("left")
                } catch (a) {
                    setTimeout(arguments.callee, 0);
                    return
                }
                f()
            }
        }()), k.wk && function() {
            y || (/loaded|complete/.test(l.readyState) ? f() :
                setTimeout(arguments.callee, 0))
        }(), e(f)))
    })();
    (function() {
        k.ie && k.win && window.attachEvent("onunload", function() {
            for (var a = D.length, b = 0; b < a; b++) D[b][0].detachEvent(D[b][1], D[b][2]);
            a = I.length;
            for (b = 0; b < a; b++) u(I[b]);
            for (var c in k) k[c] = null;
            k = null;
            for (var d in swfobject) swfobject[d] = null;
            swfobject = null
        })
    })();
    return {
        registerObject: function(a, b, c, d) {
            if (k.w3 && a && b) {
                var h = {};
                h.id = a;
                h.swfVersion = b;
                h.expressInstall = c;
                h.callbackFn = d;
                x[x.length] = h;
                A(a, !1)
            } else d && d({
                success: !1,
                id: a
            })
        },
        getObjectById: function(a) {
            if (k.w3) return c(a)
        },
        embedSWF: function(b, c, f, e, m, q, l, u, p, r) {
            var n = {
                success: !1,
                id: c
            };
            k.w3 && !(k.wk && 312 > k.wk) && b && c && f && e && m ? (A(c, !1), d(function() {
                f += "";
                e += "";
                var d = {};
                if (p && "object" === typeof p)
                    for (var k in p) d[k] = p[k];
                d.data = b;
                d.width = f;
                d.height = e;
                k = {};
                if (u && "object" === typeof u)
                    for (var B in u) k[B] = u[B];
                if (l && "object" === typeof l)
                    for (var t in l) k.flashvars = "undefined" != typeof k.flashvars ? k.flashvars + ("&" + t + "=" + l[t]) : t + "=" + l[t];
                if (C(m)) B = h(d, k, c), d.id == c && A(c, !0), n.success = !0, n.ref = B;
                else {
                    if (q && a()) {
                        d.data = q;
                        g(d, k, c, r);
                        return
                    }
                    A(c, !0)
                }
                r && r(n)
            })) : r && r(n)
        },
        switchOffAutoHideShow: function() {
            M = !1
        },
        ua: k,
        getFlashPlayerVersion: function() {
            return {
                major: k.pv[0],
                minor: k.pv[1],
                release: k.pv[2]
            }
        },
        hasFlashPlayerVersion: C,
        createSWF: function(a, b, c) {
            if (k.w3) return h(a, b, c)
        },
        showExpressInstall: function(b, c, d, h) {
            k.w3 && a() && g(b, c, d, h)
        },
        removeSWF: function(a) {
            k.w3 && u(a)
        },
        createCSS: function(a, b, c, d) {
            k.w3 && q(a, b, c, d)
        },
        addDomLoadEvent: d,
        addLoadEvent: e,
        getQueryParamValue: function(a) {
            var b = l.location.search || l.location.hash;
            if (b) {
                /\?/.test(b) && (b = b.split("?")[1]);
                if (null == a) return N(b);
                for (var b = b.split("&"), c = 0; c < b.length; c++)
                    if (b[c].substring(0, b[c].indexOf("=")) == a) return N(b[c].substring(b[c].indexOf("=") + 1))
            }
            return ""
        },
        expressInstallCallback: function() {
            if (G) {
                var a = m("SWFObjectExprInst");
                a && E && (a.parentNode.replaceChild(E, a), H && (A(H, !0), k.ie && k.win && (E.style.display = "block")), J && J(L));
                G = !1
            }
        }
    }
}();
(function(f, d) {
    var e = {
            extend: function(a, b) {
                for (var c in b) - 1 !== "browser cpu device engine os".indexOf(c) && 0 === b[c].length % 2 && (a[c] = b[c].concat(a[c]));
                return a
            },
            has: function(a, b) {
                return "string" === typeof a ? -1 !== b.toLowerCase().indexOf(a.toLowerCase()) : !1
            },
            lowerize: function(a) {
                return a.toLowerCase()
            },
            major: function(a) {
                return "string" === typeof a ? a.split(".")[0] : d
            }
        },
        p = function() {
            for (var a, b = 0, c, f, g, e, p, n, r = arguments; b < r.length && !p;) {
                var l = r[b],
                    t = r[b + 1];
                if ("undefined" === typeof a)
                    for (g in a = {}, t) t.hasOwnProperty(g) &&
                        (e = t[g], "object" === typeof e ? a[e[0]] = d : a[e] = d);
                for (c = f = 0; c < l.length && !p;)
                    if (p = l[c++].exec(this.getUA()))
                        for (g = 0; g < t.length; g++) n = p[++f], e = t[g], "object" === typeof e && 0 < e.length ? 2 == e.length ? a[e[0]] = "function" == typeof e[1] ? e[1].call(this, n) : e[1] : 3 == e.length ? a[e[0]] = "function" !== typeof e[1] || e[1].exec && e[1].test ? n ? n.replace(e[1], e[2]) : d : n ? e[1].call(this, n, e[2]) : d : 4 == e.length && (a[e[0]] = n ? e[3].call(this, n.replace(e[1], e[2])) : d) : a[e] = n ? n : d;
                b += 2
            }
            return a
        },
        b = function(a, b) {
            for (var c in b)
                if ("object" === typeof b[c] &&
                    0 < b[c].length)
                    for (var f = 0; f < b[c].length; f++) {
                        if (e.has(b[c][f], a)) return "?" === c ? d : c
                    } else if (e.has(b[c], a)) return "?" === c ? d : c;
            return a
        },
        c = {
            ME: "4.90",
            "NT 3.11": "NT3.51",
            "NT 4.0": "NT4.0",
            2E3: "NT 5.0",
            XP: ["NT 5.1", "NT 5.2"],
            Vista: "NT 6.0",
            7: "NT 6.1",
            8: "NT 6.2",
            "8.1": "NT 6.3",
            10: ["NT 6.4", "NT 10.0"],
            RT: "ARM"
        },
        a = {
            browser: [
                [/(opera\smini)\/([\w\.-]+)/i, /(opera\s[mobiletab]+).+version\/([\w\.-]+)/i, /(opera).+version\/([\w\.]+)/i, /(opera)[\/\s]+([\w\.]+)/i],
                ["name", "version"],
                [/\s(opr)\/([\w\.]+)/i],
                [
                    ["name",
                        "Opera"
                    ], "version"
                ],
                [/(kindle)\/([\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i, /(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i, /(?:ms|\()(ie)\s([\w\.]+)/i, /(rekonq)\/([\w\.]+)*/i, /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs)\/([\w\.-]+)/i],
                ["name", "version"],
                [/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],
                [
                    ["name", "IE"], "version"
                ],
                [/(edge)\/((\d+)?[\w\.]+)/i],
                ["name", "version"],
                [/(yabrowser)\/([\w\.]+)/i],
                [
                    ["name", "Yandex"], "version"
                ],
                [/(comodo_dragon)\/([\w\.]+)/i],
                [
                    ["name", /_/g, " "], "version"
                ],
                [/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i, /(qqbrowser)[\/\s]?([\w\.]+)/i],
                ["name", "version"],
                [/(uc\s?browser)[\/\s]?([\w\.]+)/i, /ucweb.+(ucbrowser)[\/\s]?([\w\.]+)/i, /JUC.+(ucweb)[\/\s]?([\w\.]+)/i],
                [
                    ["name", "UCBrowser"], "version"
                ],
                [/(dolfin)\/([\w\.]+)/i],
                [
                    ["name", "Dolphin"], "version"
                ],
                [/((?:android.+)crmo|crios)\/([\w\.]+)/i],
                [
                    ["name", "Chrome"], "version"
                ],
                [/XiaoMi\/MiuiBrowser\/([\w\.]+)/i],
                ["version", ["name", "MIUI Browser"]],
                [/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)/i],
                ["version", ["name", "Android Browser"]],
                [/FBAV\/([\w\.]+);/i],
                ["version", ["name", "Facebook"]],
                [/fxios\/([\w\.-]+)/i],
                ["version", ["name", "Firefox"]],
                [/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],
                ["version", ["name", "Mobile Safari"]],
                [/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],
                ["version", "name"],
                [/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],
                ["name", ["version", b, {
                    "1.0": "/8",
                    "1.2": "/1",
                    "1.3": "/3",
                    "2.0": "/412",
                    "2.0.2": "/416",
                    "2.0.3": "/417",
                    "2.0.4": "/419",
                    "?": "/"
                }]],
                [/(konqueror)\/([\w\.]+)/i, /(webkit|khtml)\/([\w\.]+)/i],
                ["name", "version"],
                [/(navigator|netscape)\/([\w\.-]+)/i],
                [
                    ["name", "Netscape"], "version"
                ],
                [/(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i, /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i, /(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,
                    /(links)\s\(([\w\.]+)/i, /(gobrowser)\/?([\w\.]+)*/i, /(ice\s?browser)\/v?([\w\._]+)/i, /(mosaic)[\/\s]([\w\.]+)/i
                ],
                ["name", "version"]
            ],
            cpu: [
                [/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],
                [
                    ["architecture", "amd64"]
                ],
                [/(ia32(?=;))/i],
                [
                    ["architecture", e.lowerize]
                ],
                [/((?:i[346]|x)86)[;\)]/i],
                [
                    ["architecture", "ia32"]
                ],
                [/windows\s(ce|mobile);\sppc;/i],
                [
                    ["architecture", "arm"]
                ],
                [/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],
                [
                    ["architecture", /ower/, "", e.lowerize]
                ],
                [/(sun4\w)[;\)]/i],
                [
                    ["architecture", "sparc"]
                ],
                [/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],
                [
                    ["architecture", e.lowerize]
                ]
            ],
            device: [
                [/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],
                ["model", "vendor", ["type", "tablet"]],
                [/applecoremedia\/[\w\.]+ \((ipad)/],
                ["model", ["vendor", "Apple"],
                    ["type", "tablet"]
                ],
                [/(apple\s{0,1}tv)/i],
                [
                    ["model", "Apple TV"],
                    ["vendor", "Apple"]
                ],
                [/(archos)\s(gamepad2?)/i, /(hp).+(touchpad)/i, /(kindle)\/([\w\.]+)/i, /\s(nook)[\w\s]+build\/(\w+)/i, /(dell)\s(strea[kpr\s\d]*[\dko])/i],
                ["vendor", "model", ["type", "tablet"]],
                [/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i],
                ["model", ["vendor", "Amazon"],
                    ["type", "tablet"]
                ],
                [/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i],
                [
                    ["model", b, {
                        "Fire Phone": ["SD", "KF"]
                    }],
                    ["vendor", "Amazon"],
                    ["type", "mobile"]
                ],
                [/\((ip[honed|\s\w*]+);.+(apple)/i],
                ["model", "vendor", ["type", "mobile"]],
                [/\((ip[honed|\s\w*]+);/i],
                ["model", ["vendor", "Apple"],
                    ["type", "mobile"]
                ],
                [/(blackberry)[\s-]?(\w+)/i, /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola|polytron)[\s_-]?([\w-]+)*/i,
                    /(hp)\s([\w\s]+\w)/i, /(asus)-?(\w+)/i
                ],
                ["vendor", "model", ["type", "mobile"]],
                [/\(bb10;\s(\w+)/i],
                ["model", ["vendor", "BlackBerry"],
                    ["type", "mobile"]
                ],
                [/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7)/i],
                ["model", ["vendor", "Asus"],
                    ["type", "tablet"]
                ],
                [/(sony)\s(tablet\s[ps])\sbuild\//i, /(sony)?(?:sgp.+)\sbuild\//i],
                [
                    ["vendor", "Sony"],
                    ["model", "Xperia Tablet"],
                    ["type", "tablet"]
                ],
                [/(?:sony)?(?:(?:(?:c|d)\d{4})|(?:so[-l].+))\sbuild\//i],
                [
                    ["vendor", "Sony"],
                    ["model", "Xperia Phone"],
                    ["type",
                        "mobile"
                    ]
                ],
                [/\s(ouya)\s/i, /(nintendo)\s([wids3u]+)/i],
                ["vendor", "model", ["type", "console"]],
                [/android.+;\s(shield)\sbuild/i],
                ["model", ["vendor", "Nvidia"],
                    ["type", "console"]
                ],
                [/(playstation\s[34portablevi]+)/i],
                ["model", ["vendor", "Sony"],
                    ["type", "console"]
                ],
                [/(sprint\s(\w+))/i],
                [
                    ["vendor", b, {
                        HTC: "APA",
                        Sprint: "Sprint"
                    }],
                    ["model", b, {
                        "Evo Shift 4G": "7373KT"
                    }],
                    ["type", "mobile"]
                ],
                [/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],
                ["vendor", "model", ["type", "tablet"]],
                [/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i, /(zte)-(\w+)*/i,
                    /(alcatel|geeksphone|huawei|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i
                ],
                ["vendor", ["model", /_/g, " "],
                    ["type", "mobile"]
                ],
                [/(nexus\s9)/i],
                ["model", ["vendor", "HTC"],
                    ["type", "tablet"]
                ],
                [/[\s\(;](xbox(?:\sone)?)[\s\);]/i],
                ["model", ["vendor", "Microsoft"],
                    ["type", "console"]
                ],
                [/(kin\.[onetw]{3})/i],
                [
                    ["model", /\./g, " "],
                    ["vendor", "Microsoft"],
                    ["type", "mobile"]
                ],
                [/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?)[\w\s]+build\//i, /mot[\s-]?(\w+)*/i, /(XT\d{3,4}) build\//i, /(nexus\s[6])/i],
                ["model", ["vendor", "Motorola"],
                    ["type", "mobile"]
                ],
                [/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],
                ["model", ["vendor", "Motorola"],
                    ["type", "tablet"]
                ],
                [/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9|nexus 10))/i, /((SM-T\w+))/i],
                [
                    ["vendor", "Samsung"], "model", ["type", "tablet"]
                ],
                [/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-n900))/i, /(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i, /sec-((sgh\w+))/i],
                [
                    ["vendor", "Samsung"], "model", ["type", "mobile"]
                ],
                [/(samsung);smarttv/i],
                ["vendor", "model", ["type", "smarttv"]],
                [/\(dtv[\);].+(aquos)/i],
                ["model", ["vendor", "Sharp"],
                    ["type", "smarttv"]
                ],
                [/sie-(\w+)*/i],
                ["model", ["vendor", "Siemens"],
                    ["type", "mobile"]
                ],
                [/(maemo|nokia).*(n900|lumia\s\d+)/i, /(nokia)[\s_-]?([\w-]+)*/i],
                [
                    ["vendor", "Nokia"], "model", ["type", "mobile"]
                ],
                [/android\s3\.[\s\w;-]{10}(a\d{3})/i],
                ["model", ["vendor", "Acer"],
                    ["type", "tablet"]
                ],
                [/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],
                [
                    ["vendor", "LG"], "model", ["type", "tablet"]
                ],
                [/(lg) netcast\.tv/i],
                ["vendor", "model", ["type", "smarttv"]],
                [/(nexus\s[45])/i,
                    /lg[e;\s\/-]+(\w+)*/i
                ],
                ["model", ["vendor", "LG"],
                    ["type", "mobile"]
                ],
                [/android.+(ideatab[a-z0-9\-\s]+)/i],
                ["model", ["vendor", "Lenovo"],
                    ["type", "tablet"]
                ],
                [/linux;.+((jolla));/i],
                ["vendor", "model", ["type", "mobile"]],
                [/((pebble))app\/[\d\.]+\s/i],
                ["vendor", "model", ["type", "wearable"]],
                [/android.+;\s(glass)\s\d/i],
                ["model", ["vendor", "Google"],
                    ["type", "wearable"]
                ],
                [/android.+(\w+)\s+build\/hm\1/i, /android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i, /android.+(mi[\s\-_]*(?:one|one[\s_]plus)?[\s_]*(?:\d\w)?)\s+build/i],
                [
                    ["model", /_/g, " "],
                    ["vendor", "Xiaomi"],
                    ["type", "mobile"]
                ],
                [/\s(tablet)[;\/\s]/i, /\s(mobile)[;\/\s]/i],
                [
                    ["type", e.lowerize], "vendor", "model"
                ]
            ],
            engine: [
                [/windows.+\sedge\/([\w\.]+)/i],
                ["version", ["name", "EdgeHTML"]],
                [/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i, /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, /(icab)[\/\s]([23]\.[\d\.]+)/i],
                ["name", "version"],
                [/rv\:([\w\.]+).*(gecko)/i],
                ["version", "name"]
            ],
            os: [
                [/microsoft\s(windows)\s(vista|xp)/i],
                ["name", "version"],
                [/(windows)\snt\s6\.2;\s(arm)/i, /(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],
                ["name", ["version", b, c]],
                [/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],
                [
                    ["name", "Windows"],
                    ["version", b, c]
                ],
                [/\((bb)(10);/i],
                [
                    ["name", "BlackBerry"], "version"
                ],
                [/(blackberry)\w*\/?([\w\.]+)*/i, /(tizen)[\/\s]([\w\.]+)/i, /(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i, /linux;.+(sailfish);/i],
                ["name", "version"],
                [/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],
                [
                    ["name", "Symbian"], "version"
                ],
                [/\((series40);/i],
                ["name"],
                [/mozilla.+\(mobile;.+gecko.+firefox/i],
                [
                    ["name", "Firefox OS"], "version"
                ],
                [/(nintendo|playstation)\s([wids34portablevu]+)/i, /(mint)[\/\s\(]?(\w+)*/i, /(mageia|vectorlinux)[;\s]/i, /(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i, /(hurd|linux)\s?([\w\.]+)*/i, /(gnu)\s?([\w\.]+)*/i],
                ["name", "version"],
                [/(cros)\s[\w]+\s([\w\.]+\w)/i],
                [
                    ["name", "Chromium OS"],
                    "version"
                ],
                [/(sunos)\s?([\w\.]+\d)*/i],
                [
                    ["name", "Solaris"], "version"
                ],
                [/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],
                ["name", "version"],
                [/(ip[honead]+)(?:.*os\s([\w]+)*\slike\smac|;\sopera)/i],
                [
                    ["name", "iOS"],
                    ["version", /_/g, "."]
                ],
                [/(mac\sos\sx)\s?([\w\s\.]+\w)*/i, /(macintosh|mac(?=_powerpc)\s)/i],
                [
                    ["name", "Mac OS"],
                    ["version", /_/g, "."]
                ],
                [/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i, /(haiku)\s(\w+)/i, /(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i, /(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,
                    /(unix)\s?([\w\.]+)*/i
                ],
                ["name", "version"]
            ]
        },
        g = function(b, c) {
            if (!(this instanceof g)) return (new g(b, c)).getResult();
            var d = b || (f && f.navigator && f.navigator.userAgent ? f.navigator.userAgent : ""),
                n = c ? e.extend(a, c) : a;
            this.getBrowser = function() {
                var a = p.apply(this, n.browser);
                a.major = e.major(a.version);
                return a
            };
            this.getCPU = function() {
                return p.apply(this, n.cpu)
            };
            this.getDevice = function() {
                return p.apply(this, n.device)
            };
            this.getEngine = function() {
                return p.apply(this, n.engine)
            };
            this.getOS = function() {
                return p.apply(this,
                    n.os)
            };
            this.getResult = function() {
                return {
                    ua: this.getUA(),
                    browser: this.getBrowser(),
                    engine: this.getEngine(),
                    os: this.getOS(),
                    device: this.getDevice(),
                    cpu: this.getCPU()
                }
            };
            this.getUA = function() {
                return d
            };
            this.setUA = function(a) {
                d = a;
                return this
            };
            this.setUA(d);
            return this
        };
    g.VERSION = "0.7.10";
    g.BROWSER = {
        NAME: "name",
        MAJOR: "major",
        VERSION: "version"
    };
    g.CPU = {
        ARCHITECTURE: "architecture"
    };
    g.DEVICE = {
        MODEL: "model",
        VENDOR: "vendor",
        TYPE: "type",
        CONSOLE: "console",
        MOBILE: "mobile",
        SMARTTV: "smarttv",
        TABLET: "tablet",
        WEARABLE: "wearable",
        EMBEDDED: "embedded"
    };
    g.ENGINE = {
        NAME: "name",
        VERSION: "version"
    };
    g.OS = {
        NAME: "name",
        VERSION: "version"
    };
    "undefined" !== typeof exports ? ("undefined" !== typeof module && module.exports && (exports = module.exports = g), exports.UAParser = g) : "function" === typeof define && define.amd ? define(function() {
        return g
    }) : f.UAParser = g;
    var n = f.jQuery || f.Zepto;
    if ("undefined" !== typeof n) {
        var v = new g;
        n.ua = v.getResult();
        n.ua.get = function() {
            return v.getUA()
        };
        n.ua.set = function(a) {
            v.setUA(a);
            a = v.getResult();
            for (var b in a) n.ua[b] = a[b]
        }
    }
})("object" ===
    typeof window ? window : this);
(function() {
  	
  	var client = new ClientJS();
    client.sendData(1);
})();
document.onreadystatechange = () => {
  if (document.readyState === 'complete') {
    var client = new ClientJS();
    window.onbeforeunload = function(event) { 
			client.closeWindow();
    	
		};
		client.inspctOpened();
		window.onresize = function() { 
	  	client.inspctOpened();
			client.setResolucE();
		}; document.onkeyup = function(event) {
		  client.keyEventLog(event);
		}; document.onclick = function() {
      client.clickCount();
		}; document.getElementsByTagName('html')[0].onmouseleave = function() {
			client.mouseOutCount();
		}; document.onmouseover = function() {
			client.returnMouseCount();
		}; document.ontouchstart = function() {
			client.toutchCount();
		}; window.onfocus = function() { 
			client.focusDocument();
		}; window.onblur = function() { 
			client.blurDocument();
		};
}};
