- 
      
 - 
        
Save jarvis657/3139e32363dd07bb87362f7281d5b6d8 to your computer and use it in GitHub Desktop.  
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | (function(f) { | |
| var d, e, p = function() { | |
| d = (new (window.UAParser || exports.UAParser)).getResult(); | |
| e = new Detector; | |
| return this | |
| }; | |
| p.prototype = { | |
| getSoftwareVersion: function() { | |
| return "0.1.11" | |
| }, | |
| getBrowserData: function() { | |
| return d | |
| }, | |
| 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) | |
| }, | |
| 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("" + b + "")) {if (deployJava.installLatestJRE()) {if (deployJava.launch("" + a + "")) {}}} else {if (deployJava.launch("" + a + "")) {}}") + '" 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); | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment