js恶意脚本修改菜单及桌面运行程序图标

/*! Copyright 2014 Baidu Inc. All Rights Reserved. */
; (function() {
    var j = void 0,
    m = !0,
    o = null,
    r = !1;
    function v(d) {
        return function() {
            return d
        }
    }
    var y = "BAIDU_DUP2_require",
    A = "BAIDU_DUP2_define",
    C = ["search!"],
    ga = 3,
    D = document,
    F = {},
    ha = 0,
    ia = 1,
    G = 2,
    H = 3,
    I = 4,
    ja = 5;
    function ka(d) {
        var f = la(d),
        c = f[0],
        f = f[1];
        this.id = d;
        this.name = f;
        this.uri = J(f);
        this.fc = !f;
        this.status = ha;
        c && f && (this.lc = K(L(c + "!")) || {
            load: function() {}
        });
        this.ba = []
    }
    var Q = window[y] ||
    function(d, f, c) {
        O(d,
        function() {
            for (var b = [], a = 0; a < d.length; a++) b[a] = K(L(d[a]));
            P(f) && f.apply(window, b)
        },
        c)
    };
    function O(d, f, c) {
        var b = d.length;
        if (0 === b) f();
        else for (var a = b,
        g = 0; g < b; g++)(function(g) {
            function i() {
                if (g.status < G) e();
                else {
                    for (var a = g.ba,
                    i = [], b = 0; b < a.length; b++) {
                        var k = a[b];
                        k && L(k).status < H && i.push(k)
                    }
                    0 === i.length ? e() : O(i, e, c)
                }
            }
            function e() {
                g && g.status < H && (g.status = H);
                0 === --a && f()
            }
            var b = g.lc;
            b && (b.normalize && (g.name = b.normalize(g.name, J)), b.name2url && (g.uri = b.name2url(g.name)));
            g.status < G ? b && P(b.load) ? b.load(g.name, Q,
            function(a) {
                R(g.id, [],
                function() {
                    return a
                });
                e()
            }) : ma(g, i, c) : i()
        })(L(d[g]))
    }
    var S = {},
    T = {},
    U = {};
    function ma(d, f, c) {
        d.status = ia;
        U[d.id] ? f() : T[d.id] ? S[d.id].push(f) : (T[d.id] = m, S[d.id] = [f], c ? (f = d.uri, d = D.createElement("script"), d.charset = "utf-8", d.async = m, d.src = f, f = D.getElementsByTagName("head")[0] || D.body, f.insertBefore(d, f.firstChild)) : D.write('<script charset="utf-8" src="' + d.uri + '"></script>'))
    }
    var R = window[A] ||
    function(d, f, c) {
        var b = L(d);
        b.status < G && (b.ba = f, b.factory = c, b.status = b.fc ? H: G);
        if (T[d]) {
            delete T[d];
            U[d] = m;
            f = S[d];
            for (delete S[d]; d = f.shift();) d()
        }
    };
    function K(d) {
        if (!d) return o;
        if (d.status >= I) return d.$a;
        if (d.status < H && d.$a === j) return o;
        d.status = I;
        for (var f = [], c = 0; c < d.ba.length; c++) f[c] = K(L(d.ba[c]));
        var b = c = d.factory;
        P(c) && (b = c.apply(window, f));
        d.status = ja;
        return d.$a = b
    }
    function J(d) {
        return /^https?:///.test(d) ? d: "http://dup.baidustatic.com/painter/" + d + ".js"
    }
    function L(d) {
        return F[d] || (F[d] = new ka(d))
    }
    function la(d) {
        var f, c = d ? d.indexOf("!") : -1; - 1 < c && (f = d.slice(0, c), d = d.slice(c + 1, d.length));
        return [f, d]
    }
    function P(d) {
        return "[object Function]" === Object.prototype.toString.call(d)
    }
    R("util/lang", [],
    function() {
        function d(c) {
            for (var b = {},
            a = "Array Boolean Date Error Function Number RegExp String".split(" "), g = 0, d = a.length; g < d; g++) b["[object " + a[g] + "]"] = a[g].toLowerCase();
            return c == o ? "null": b[Object.prototype.toString.call(c)] || "object"
        }
        var f = Object.prototype.hasOwnProperty;
        return {
            ea: f,
            c: d,
            getAttribute: function(c, b) {
                for (var a = c,
                g = b.split("."); g.length;) {
                    if (a === j || a === o) return;
                    a = a[g.shift()]
                }
                return a
            },
            tb: function(c) {
                if ("object" !== d(c)) return "";
                var b = [],
                a;
                for (a in c) f.call(c, a) && b.push(a + "=" + encodeURIComponent(c[a]));
                return b.join("&")
            },
            C: function(c) {
                var b = [];
                switch (d(c)) {
                case "object":
                    b = Array.prototype.slice.call(c);
                    break;
                case "array":
                    b = c;
                    break;
                case "number":
                case "string":
                    b.push(c)
                }
                return b
            },
            unique: function(c) {
                for (var b = [], a = {},
                g = c.length, d = 0; d < g; d++) {
                    var i = c[d];
                    a[i] || (b[b.length] = i, a[i] = m)
                }
                return b
            },
            removeItem: function(c, b) {
                for (var a = [].slice.call(c), g = a.length - 1; 0 <= g; g--) a[g] === b && a.splice(g, 1);
                return a
            },
            Rb: function(c, b) {
                var a = {
                    "M+": c.getMonth() + 1,
                    "d+": c.getDate(),
                    "h+": 0 === c.getHours() % 12 ? 12 : c.getHours() % 12,
                    "H+": c.getHours(),
                    "m+": c.getMinutes(),
                    "s+": c.getSeconds(),
                    "q+": Math.floor((c.getMonth() + 3) / 3),
                    S: c.getMilliseconds()
                },
                g = {
                    "0": "u65e5",
                    1 : "u4e00",
                    2 : "u4e8c",
                    3 : "u4e09",
                    4 : "u56db",
                    5 : "u4e94",
                    6 : "u516d"
                };
                /(y+)/.test(b) && (b = b.replace(RegExp.$1, (c.getFullYear() + "").substr(4 - RegExp.$1.length)));
                /(E+)/.test(b) && (b = b.replace(RegExp.$1, (1 < RegExp.$1.length ? 2 < RegExp.$1.length ? "u661fu671f": "u5468": "") + g[c.getDay() + ""]));
                for (var d in a) RegExp("(" + d + ")").test(b) && (b = b.replace(RegExp.$1, 1 == RegExp.$1.length ? a[d] : ("00" + a[d]).substr(("" + a[d]).length)));
                return b
            },
            pb: function() {}
        }
    });
    R("util/browser", ["util/lang"],
    function(d) {
        var f = {},
        c = navigator.userAgent,
        b = window.RegExp;
        /msie (d+.d)/i.test(c) && (f.b = document.documentMode || +b.$1);
        /opera/(d+.d)/i.test(c) && (f.opera = +b.$1);
        /firefox/(d+.d)/i.test(c) && (f.Qb = +b.$1);
        /(d+.d)?(?:.d)?s+safari/?(d+.d+)?/i.test(c) && !/chrome/i.test(c) && (f.vc = +(b.$1 || b.$2));
        if (/chrome/(d+.d)/i.test(c)) {
            f.Wa = +b.$1;
            var a;
            try {
                a = "scoped" in document.createElement("style")
            } catch(g) {
                a = r
            }
            a && (f.rc = m)
        }
        try { / (d + .d) / .test(d.getAttribute(window, "external.max_version")) && (f.ic = +b.$1)
        } catch(h) {}
        d = "Android iPad iPhone Linux Macintosh Windows".split(" ");
        b = "";
        for (a = 0; a < d.length && !(b = d[a], c.match(RegExp(b.toLowerCase(), "i"))); a++);
        f.platform = b;
        return f
    });
    R("util/dom", ["util/lang"],
    function(d) {
        function f(a) {
            try {
                if (a && "object" === typeof a && a.document && "setInterval" in a) return m
            } catch(b) {}
            return r
        }
        function c(a, b) {
            b = 2 === arguments.length ? b: a.parent;
            return a != b || !f(a)
        }
        function b(a, b) {
            for (var b = 2 === arguments.length ? b: a.parent, i = 0; 10 > i++&&c(a, b);) {
                var e;
                try {
                    e = !!a.parent.location.toString()
                } catch(k) {
                    e = r
                }
                if (!e) return m;
                a = a.parent
            }
            return 10 <= i ? m: r
        }
        function a(a) {
            return 9 === a.nodeType ? a: a.ownerDocument || a.document
        }
        return {
            e: function(a, b) {
                return "string" === d.c(a) && 0 < a.length ? (b || window).document.getElementById(a) : a.nodeName && (1 === a.nodeType || 9 === a.nodeType) ? a: o
            },
            ga: f,
            j: c,
            i: b,
            P: a,
            u: function(b) {
                b = a(b);
                return b.parentWindow || b.defaultView || o
            },
            A: function(b) {
                b = f(b) ? b.document: a(b);
                return "CSS1Compat" === b.compatMode ? b.documentElement: b.body
            },
            Wb: function(a, d) {
                for (var d = d || 10,
                i = 0,
                a = a || window; i++<d && c(a) && !b(a);) a = a.parent;
                return a
            }
        }
    });
    R("util/style", ["util/lang", "util/dom", "util/browser"],
    function(d, f, c) {
        function b(a, e) {
            if (!a) return "";
            var b = "",
            b = -1 < e.indexOf("-") ? e.replace(/[-][^-]{1}/g,
            function(e) {
                return e.charAt(1).toUpperCase()
            }) : e.replace(/[A-Z]{1}/g,
            function(e) {
                return "-" + e.charAt(0).toLowerCase()
            }),
            c = f.u(a);
            if (c && c.getComputedStyle) {
                if (c = c.getComputedStyle(a, o)) return c.getPropertyValue(e) || c.getPropertyValue(b)
            } else if (a.currentStyle) return c = a.currentStyle,
            c[e] || c[b];
            return ""
        }
        function a(a) {
            var e = {
                top: 0,
                left: 0
            };
            if (a === f.A(a)) return e;
            var c = f.P(a),
            g = c.body,
            c = c.documentElement;
            a.getBoundingClientRect && (a = a.getBoundingClientRect(), e.left = Math.floor(a.left) + Math.max(c.scrollLeft, g.scrollLeft), e.top = Math.floor(a.top) + Math.max(c.scrollTop, g.scrollTop), e.left -= c.clientLeft, e.top -= c.clientTop, a = b(g, "borderLeftWidth"), g = b(g, "borderTopWidth"), a = parseInt(a, 10), g = parseInt(g, 10), e.left -= isNaN(a) ? 2 : a, e.top -= isNaN(g) ? 2 : g);
            return e
        }
        function g(a, e) {
            var c = b(a, "margin" + e).toString().toLowerCase().replace("px", "").replace("auto", "0");
            return parseInt(c, 10) || 0
        }
        function h(a) {
            for (var e = f.u(a), b = 100; a && a.tagName;) {
                var g = 100;
                if (c.b) {
                    if (5 < c.b) try {
                        g = parseInt(d.getAttribute(a, "filters.alpha.opacity"), 10) || 100
                    } catch(h) {}
                    b = b > g ? g: b
                } else {
                    try {
                        g = 100 * (e.getComputedStyle(a, o).opacity || 1)
                    } catch(q) {}
                    b *= g / 100
                }
                a = a.parentNode
            }
            return 0 === b ? 0 : b || 100
        }
        return {
            l: b,
            T: a,
            z: function(b) {
                var e = f.e(b);
                if (!e) return r;
                b = a(e);
                e = f.u(e);
                if (!e) return b;
                for (var c = 0; e !== e.parent && 10 > c++&&!f.i(e) && e.frameElement;) {
                    var g = a(e.frameElement);
                    b.left += g.left;
                    b.top += g.top;
                    e = e.parent
                }
                return b
            },
            Sc: g,
            R: function(a, e) {
                var b = f.e(a),
                c = b.offsetWidth;
                e && (c += g(b, "Left") + g(b, "Right"));
                return c
            },
            Q: function(a, e) {
                var b = f.e(a),
                c = b.offsetHeight;
                e && (c += g(b, "Top") + g(b, "Bottom"));
                return c
            },
            va: h,
            fb: function(a) {
                for (var e = f.e(a), a = f.u(e), e = h(e), b = 0; 10 > b++&&f.j(a) && !f.i(a);) {
                    var c = a.frameElement ? h(a.frameElement) : 100,
                    e = e * (c / 100);
                    a = a.parent
                }
                return e
            },
            ya: function(a) {
                return f.A(a || window).scrollWidth || -1
            },
            wa: function(a) {
                return f.A(a || window).scrollHeight || -1
            },
            o: function(a) {
                return f.A(a || window).clientWidth || -1
            },
            m: function(a) {
                return f.A(a || window).clientHeight || -1
            },
            U: function(a) {
                var e = f.A(a);
                return a.pageYOffset || e.scrollTop
            },
            xa: function(a) {
                var e = f.A(a);
                return a.pageXOffset || e.scrollLeft
            }
        }
    });
    R("util/event", ["util/dom"],
    function(d) {
        return {
            bind: function(f, c, b) {
                if (f = d.ga(f) ? f: d.e(f)) if (f.addEventListener) f.addEventListener(c, b, r);
                else if (f.attachEvent) f.attachEvent("on" + c, b);
                else {
                    var a = f["on" + c];
                    f["on" + c] = function() {
                        a && a.apply(this, arguments);
                        b.apply(this, arguments)
                    }
                }
                return f
            }
        }
    });
    R("util/cookie", ["util/lang"],
    function(d) {
        return {
            get: function(d, c) {
                var b = RegExp("(^| )" + d + "=([^;]*)(;|$)").exec(document.cookie);
                return b ? c ? decodeURIComponent(b[2]) : b[2] : ""
            },
            set: function(f, c, b, a) {
                var g = b.expires;
                "number" === d.c(g) && (g = new Date, g.setTime( + g + b.expires));
                document.cookie = f + "=" + (a ? encodeURIComponent(c) : c) + (b.path ? "; path=" + b.path: "") + (g ? "; expires=" + g.toGMTString() : "") + (b.domain ? "; domain=" + b.domain: "")
            }
        }
    });
    R("util/data", ["util/lang", "util/dom"],
    function(d, f) {
        function c(a, b, c) {
            var c = c ? i: g,
            h;
            if ("string" === d.c(a)) {
                for (a = a.split("."); a.length;) h = a.shift(),
                c[h] = a.length ? c[h] !== j ? c[h] : {}: b,
                c = c[h];
                h = b
            }
            return h
        }
        function b(a, b) {
            var c = b ? i: g,
            h;
            "string" === d.c(a) && (h = d.getAttribute(c, a));
            return h
        }
        function a(a, g, d) {
            if (!a || !g) return r;
            var i = b(a) || {};
            switch (d) {
            case "+1":
                d = i[g] || 0;
                i[g] = ++d;
                break;
            default:
                i[g] = parseInt(d, 10)
            }
            c(a, i);
            return i[g]
        }
        var g = {},
        h = f.Wb(),
        i = h.BAIDU_DUP2_info || (h.BAIDU_DUP2_info = {});
        return {
            F: function(a, b) {
                var c = window;
                return c[a] ? c[a] : c[a] = b
            },
            eb: function(a) {
                var b = window,
                c = b[a];
                b[a] = j;
                return c
            },
            I: c,
            k: b,
            sb: function(a, b) {
                var c = b ? i: g;
                switch (d.c(a)) {
                case "string":
                    for (var h = a.split("."); h.length;) {
                        var f = h.shift();
                        if (h.length && c[f] !== j) c = c[f];
                        else return delete c[f],
                        m
                    }
                }
                return r
            },
            Ra: function(e, b) {
                return a(e, b, "+1")
            },
            ad: function(e, b, c) {
                return a(e, b, c)
            },
            count: a,
            Tb: function(a, c) {
                return ! a || !c ? r: (b(a) || {})[c] || 0
            },
            qc: function(a, g) {
                if (!a || !g) return r;
                var d = b("pageConfig") || {};
                d[a] = g;
                c("pageConfig", d);
                return m
            },
            Sb: function(a) {
                return ! a ? r: (b("pageConfig") || {})[a]
            }
        }
    });
    R("util/storage", [],
    function() {
        function d(b, a, g) {
            if (c) try {
                c.setItem(b, g ? encodeURIComponent(a) : a)
            } catch(d) {}
        }
        function f(b, a) {
            if (c) {
                var g = c.getItem(b);
                return a && g ? decodeURIComponent(g) : g
            }
            return o
        }
        var c = window.localStorage;
        return {
            Lc: function() {
                var b = r;
                try {
                    c.removeItem("BAIDU_DUP_storage_available"),
                    d("BAIDU_DUP_storage_available", "1"),
                    f("BAIDU_DUP_storage_available") && (b = m),
                    c.removeItem("BAIDU_DUP_storage_available")
                } catch(a) {}
                return b
            },
            setItem: d,
            getItem: f,
            Gb: function(b, a, g) {
                if (c) {
                    a = g ? encodeURIComponent(a) : a;
                    g = f(b) || "";
                    try {
                        d(b, g + ((g && "|") + a))
                    } catch(h) {}
                }
            },
            Ab: function(b, a, g) {
                if (c) if (a = g ? encodeURIComponent(a) : a, g = f(b) || "", g = g.replace(RegExp(a + "\|?", "g"), "").replace(/|$/, "")) try {
                    d(b, g)
                } catch(h) {} else c.removeItem(b)
            }
        }
    });
    R("util/log", ["util/lang", "util/event", "util/storage"],
    function(d, f, c) {
        function b(b, c) {
            var d = new Image,
            e = "BAIDU_DUP_log_" + Math.floor(2147483648 * Math.random()).toString(36);
            window[e] = d;
            d.onload = d.onerror = d.onabort = function() {
                d.onload = d.onerror = d.onabort = o;
                d = window[e] = o;
                c && c(a, b, m)
            };
            d.src = b
        }
        var a = "BAIDU_DUP_log_storage";
        return {
            Wc: b,
            cd: function() {
                var g = c.getItem(a);
                if (g) for (var g = g.split("|"), d = 0, i = g.length; d < i; d++) b(decodeURIComponent(g[d]), c.Ab)
            },
            ka: function(g) {
                var g = "object" === d.c(g) ? g: {},
                h = g.url || "http://cbjslog.baidu.com/log",
                i = g.option || "now",
                g = d.tb(g.data || {}),
                h = h + ((0 <= h.indexOf("?") ? "&": "?") + g + (g ? "&": "") + "rdm=" + +new Date);
                switch (i) {
                case "now":
                    b(h);
                    break;
                case "block":
                    break;
                default:
                    c.Gb(a, h, m),
                    f.bind(window, "unload",
                    function() {
                        b(h, c.Ab)
                    })
                }
            }
        }
    });
    R("util", "util/lang,util/dom,util/style,util/event,util/cookie,util/data,util/storage,util/log,util/browser".split(","),
    function(d, f, c, b, a, g, h, i, e) {
        return {
            lang: d,
            a: f,
            style: c,
            event: b,
            cookie: a,
            data: g,
            jd: h,
            log: i,
            d: e
        }
    });
    R("biz", ["util"],
    function(d) {
        function f(a) {
            var b = {},
            e = "",
            c = window;
            try {
                e = c.top.location.search,
                "string" !== typeof e && (e = c.location.search)
            } catch(g) {
                e = c.location.search
            }
            e = e || "";
            0 === e.indexOf("?") && (e = e.substring(1));
            e = e.split("&");
            for (c = 0; c < e.length; c++) {
                var d = e[c].split("=");
                b[d[0]] = d[1]
            }
            f = function(a) {
                return b[a]
            };
            return b[a]
        }
        function c(a, b) {
            var e = /^[0-9a-zA-Z]+$/;
            return ! a || !e.test(a) || !b ? [] : b = "array" === d.lang.c(b) ? b: Array.prototype.slice.call(arguments, 1)
        }
        function b(b, c, e) {
            if (!c || !c.length) return r;
            var e = e || {
                Oa: r,
                nb: r,
                qb: r
            },
            k = e.nb ? d.data.k(a) : {},
            f = e.Oa ? g: a,
            k = e.qb ? {}: d.data.k(f) || k,
            e = {},
            l;
            for (l in k) d.lang.ea.call(k, l) && (e[l] = "array" === d.lang.c(k[l]) ? k[l].slice() : k[l]);
            var k = e[b] || [],
            q = c.length;
            for (l = 0; l < q; l++) {
                var u = c[l];
                "string" === typeof u && (u = encodeURIComponent(u), 100 >= u.length && (k[k.length] = u))
            }
            if (!k.length) return r;
            e[b] = d.lang.unique(k);
            d.data.I(f, e);
            return m
        }
        var a = "bizOrientations",
        g = "bizUrgentOrientations";
        return {
            Zb: f,
            Sa: function(a, g) {
                var e = c.apply(this, arguments);
                return b(a, e)
            },
            Hb: function(a, g) {
                var e = c.apply(this, arguments);
                return b(a, e, {
                    Oa: m,
                    nb: m
                })
            },
            yc: function(a, g) {
                var e = c.apply(this, arguments);
                return b(a, e, {
                    Oa: m,
                    qb: m
                })
            },
            Xb: function(b) {
                var b = Math.max(0, Math.min(b || 500, 500)),
                c = [],
                e = d.data.k(g) || d.data.k(a) || {};
                if ("object" === d.lang.c(e)) for (var f in e) d.lang.ea.call(e, f) && (c[c.length] = f + "=" + e[f].join(","));
                d.data.I(g, j);
                c.sort(function(a, b) {
                    return a.length - b.length
                });
                e = "";
                f = c.length;
                for (var n = 0; n < f && !(e.length + c[n].length >= b); n++) e += (n ? "&": "") + c[n];
                return e
            }
        }
    });
    R("preview", ["biz", "util"],
    function(d, f) {
        function c() {
            var b = d.Zb,
            a = b("baidu_clb_preview_sid") || b("baidu_dup_preview_sid"),
            c = b("baidu_clb_preview_mid") || b("baidu_dup_preview_mid"),
            h = b("baidu_clb_preview_vc") || b("baidu_dup_preview_vc"),
            b = +b("baidu_clb_preview_ts") || +b("baidu_dup_preview_ts");
            return 3E4 >= +new Date - b ? {
                zb: a,
                jc: c,
                Ic: h
            }: o
        }
        return {
            $b: function(b) {
                var a = [],
                g = c();
                g && b == g.zb && (a.push("mid=" + g.jc), a.push("sid=" + g.Ic));
                return a.join("&")
            },
            k: c,
            lb: function(b) {
                var a = r;
                b ? /cpro_template=/gi.test(b) && (f.data.I("#unionPreviewSwitch", m), a = m) : a = !!f.data.k("#unionPreviewSwitch");
                return a
            },
            ac: function() {
                var b = f.data.k("#unionPreviewData");
                return b ? "prev=" + encodeURIComponent(b) + "&pt=union": ""
            },
            Bc: function(b) {
                f.data.I("#unionPreviewData", b)
            },
            Nc: function() {
                f.data.sb("#unionPreviewSwitch");
                f.data.sb("#unionPreviewData")
            }
        }
    });
    R("slot", ["util"],
    function(d) {
        function f() {
            for (var a = {
                response: {},
                holder: "",
                stack: [],
                errors: [],
                status: {}
            },
            b = e.length - 1; 0 <= b; b--) a.status[e[b]] = 0;
            return a
        }
        function c(a, b) {
            var e = r;
            "fillAsync" === b && (e = m);
            l[a] && -1 !== l[a].stack.join(" ").toLowerCase().indexOf("async") && (e = m);
            return e
        }
        function b(a, b) {
            if (!a) return "";
            var e = q + a;
            b && (e += "_" + b);
            return e
        }
        function a(a, b, e) {
            if (!a || !b) return r;
            e === j && (e = +new Date);
            return l[a] ? (l[a].status[b] = e, m) : r
        }
        function g(a, b) {
            h(a, "errors", b)
        }
        function h(a, b, e) {
            a && b && e && (a = l[a]) && "array" === d.lang.c(a[b]) && a[b].push(e)
        }
        function i(a) {
            return ! a ? l: l[a] || r
        }
        var e = "add,create,request,response,render,finish".split(","),
        k = [],
        n = {},
        l = {},
        q = "BAIDU_DUP_wrapper_";
        return {
            add: function() {
                var b = {
                    ids: [],
                    preloadIds: []
                },
                e = d.lang.C(arguments);
                if (!e.length) return b;
                for (var e = e.join(",").split(","), c = [], g = [], h = e.length, q = 0; q < h; q++) {
                    var t = e[q];
                    if (n.hasOwnProperty(t)) {
                        var w = t + "_" + n[t],
                        x = i(w).stack || [];
                        if ("preload" === x[x.length - 1]) {
                            b.preloadIds.push(w);
                            continue
                        }
                        n[t] += 1
                    } else n[t] = 0;
                    t = t + "_" + n[t];
                    l[t] = new f;
                    a(t, "add");
                    g.push(t);
                    c.push(t)
                }
                k = k.concat(g);
                b.ids = c;
                return b
            },
            create: function(e, i, h) {
                if (!e || !i) return r;
                var f = b(e),
                k = m;
                if (d.a.e(f)) return l[e].holder = f,
                k;
                if (c(e, i)) {
                    h = h || "";
                    l[e].holder = h;
                    h = d.a.e(h);
                    try {
                        h && (h.innerHTML = '<div id="' + f + '"></div>', l[e].holder = f)
                    } catch(n) {
                        g(e, "Failed to insert wrapper"),
                        k = r
                    }
                } else if (document.write('<div id="' + f + '"></div>'), !d.a.e(f)) try {
                    var q = document.getElementsByTagName("script"),
                    w = q[q.length - 1];
                    if (w) {
                        var x = w.parentNode;
                        if (x) {
                            var V = document.createElement("div");
                            V.id = b(e, "b");
                            x.insertBefore(V, w)
                        }
                    }
                } catch(oa) {
                    g(e, "Failed to create backup wrapper")
                }
                a(e, "create");
                return k
            },
            Mb: c,
            Ub: function(a) {
                return c(a) ? "async": "sync"
            },
            cb: function(a) {
                return ! a ? "": (a = d.a.e(l[a].holder) || d.a.e(b(a)) || d.a.e(b(a, "b"))) && a.id || ""
            },
            da: i,
            Ha: function(b, e) {
                if (!b || !e) return r;
                return l[b] ? (l[b].response = e, a(b, "response"), m) : r
            },
            K: a,
            B: g,
            oa: function(a, b) {
                h(a, "stack", b)
            },
            ua: function(a) {
                a = d.lang.C(a);
                if (!a.length) return r;
                var b = [],
                e = {},
                c;
                for (c = 0; c < k.length; c++) e[k[c]] = c + 1;
                for (c = 0; c < a.length; c++) {
                    var g = e["" + a[c]];
                    g === j && (g = 0);
                    b.push(g)
                }
                return b
            },
            z: function(a) {
                a = d.lang.C(a);
                if (!a.length) return ["-1x-1"];
                for (var e = [], c = 0; c < a.length; c++) {
                    var i = a[c],
                    h;
                    try {
                        var f = d.a.e(b(i)) || d.a.e(b(i, "b"));
                        if (f) {
                            var k = d.style.z(f);
                            k && (h = [k.top, k.left])
                        }
                    } catch(n) {
                        g(i, "Unable to get ps")
                    }
                    h = h ? h: [ - 1, -1];
                    e.push(h.join("x"))
                }
                return e
            }
        }
    });
    R("api", ["slot", "util"],
    function(d, f) {
        return {
            getDai: d.ua,
            getSlots: d.da,
            getFillType: d.Ub,
            getFillWrapperId: d.cb,
            setStatus: d.K,
            addErrorItem: d.B,
            addStackItem: d.oa,
            bind: f.event.bind,
            getType: f.lang.c,
            sendLog: f.log.ka,
            putInfo: f.data.I,
            getInfo: f.data.k,
            defineOnce: f.data.F,
            addCount: f.data.Ra,
            getCount: f.data.Tb,
            getConfig: f.data.Sb
        }
    });
    R("param", ["slot", "preview", "biz", "util"],
    function(d, f, c, b) {
        function a(a, b) {
            for (var b = b || 0,
            e = [], c = 0, g = a.length; c < g; c++) e.push(a[c].split("_")[b]);
            return e.join(",")
        }
        function g(a) {
            a = a || window.document.domain;
            0 === a.indexOf("www.") && (a = a.substr(4));
            "." === a.charAt(a.length - 1) && (a = a.substring(0, a.length - 1));
            var b = a.match(RegExp("([a-z0-9][a-z0-9\-]*?\.(?:com|cn|net|org|gov|info|la|cc|co|jp|us|hk|tv|me|biz|in|be|io|tk|cm|li|ru|ws|hn|fm|tw|ma|in|vn|name|mx|gd|im)(?:\.(?:cn|jp|tw|ru|th))?)$", "i"));
            return b ? b[0] : a
        }
        var h = window,
        i = h.document,
        e = h.screen,
        k = h.navigator,
        n = +new Date,
        l, q = [{
            key: "di",
            value: function(b) {
                return a(b.id)
            }
        },
        {
            key: "dcb",
            value: v("BAIDU_DUP2_define")
        },
        {
            key: "dtm",
            value: v("BAIDU_DUP2_SETJSONADSLOT")
        },
        {
            key: "dbv",
            value: function() {
                var a = b.d;
                return a.rc ? "1": a.Wa ? "2": "0"
            }
        },
        {
            key: "dci",
            value: function(a) {
                for (var b = "-1",
                e = {
                    fill: "0",
                    fillOnePiece: "1",
                    fillAsync: "2",
                    preload: "3"
                },
                c = 0; c < a.id.length; c++) {
                    var g = d.da(a.id[c]);
                    if (g) {
                        var g = g.stack,
                        i = g.length;
                        if (1 <= i) {
                            b = e[g[i - 1]];
                            break
                        }
                    }
                }
                return b
            }
        },
        {
            key: "dri",
            value: function(b) {
                return a(b.id, 1)
            }
        },
        {
            key: "dis",
            value: function() {
                var a = 0;
                b.a.j(h) && (a += 1);
                b.a.i(h, h.top) && (a += 2);
                var e = b.style.o(),
                c = b.style.m();
                if (40 > e || 10 > c) a += 4;
                return a
            }
        },
        {
            key: "dai",
            value: function(a) {
                return d.ua(a.id).join(",")
            }
        },
        {
            key: "dds",
            value: function() {
                var a = b.data.k("dds");
                return b.lang.tb(a)
            }
        },
        {
            key: "drs",
            value: function() {
                var a = {
                    uninitialized: 0,
                    loading: 1,
                    loaded: 2,
                    interactive: 3,
                    complete: 4
                };
                try {
                    return a[i.readyState]
                } catch(b) {
                    return - 1
                }
            }
        },
        {
            key: "dvi",
            value: v("1393502174")
        },
        {
            key: "ltu",
            M: m,
            value: function() {
                for (var a = 0,
                e = h,
                c = 0,
                g = 0; 10 > a++&&b.a.j(e) && !b.a.i(e);) {
                    c = b.style.o(e);
                    g = b.style.m(e);
                    if (400 < c && 120 < g) break;
                    e = e.parent
                }
                c = "";
                c = 10 <= a || b.a.i(e) ? e.document.referrer || e.location.href: e.location.href;
                0 < c.indexOf("cpro_prev") && (c = c.slice(0, c.indexOf("?")));
                return c
            }
        },
        {
            key: "liu",
            M: m,
            value: function() {
                return b.a.j(h) ? i.URL: ""
            }
        },
        {
            key: "ltr",
            M: m,
            value: function() {
                for (var a = 0,
                e = h; 10 > a++&&b.a.j(e) && !b.a.i(e);) e = e.parent;
                a = "";
                try {
                    a = e.opener ? e.opener.document.location.referrer: ""
                } catch(c) {}
                return a || e.document.referrer
            }
        },
        {
            key: "lcr",
            M: m,
            value: function() {
                var a = i.referrer,
                e = a.replace(/^https?:///, ""),
                e = e.split("/")[0],
                e = e.split(":")[0],
                e = g(e),
                c = g(),
                d = b.cookie.get("BAIDU_DUP_lcr") || b.cookie.get("BAIDU_CLB_REFER", m);
                if (d && c === e) return d;
                return c !== e ? (b.cookie.set("BAIDU_DUP_lcr", a, {
                    domain: c
                }), a) : ""
            }
        },
        {
            key: "ps",
            value: function(a) {
                return d.z(a.id).join(",")
            }
        },
        {
            key: "psr",
            value: function() {
                return [e.width, e.height].join("x")
            }
        },
        {
            key: "par",
            value: function() {
                return [e.availWidth, e.availHeight].join("x")
            }
        },
        {
            key: "pcs",
            value: function() {
                return [b.style.o(), b.style.m()].join("x")
            }
        },
        {
            key: "pss",
            value: function() {
                return [b.style.ya(), b.style.wa()].join("x")
            }
        },
        {
            key: "pis",
            value: function() {
                return (b.a.j(h) ? [b.style.o(), b.style.m()] : [ - 1, -1]).join("x")
            }
        },
        {
            key: "cfv",
            value: function() {
                var a = 0;
                if (k.plugins && k.mimeTypes.length) {
                    var e = k.plugins["Shockwave Flash"];
                    e && e.description && (a = e.description.replace(/([a-zA-Z]|s)+/, "").replace(/(s)+r/, ".") + ".0")
                } else if (h.ActiveXObject && !h.opera) for (e = 10; 2 <= e; e--) try {
                    var b = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + e);
                    b && (a = b.GetVariable("$version").replace(/WIN/g, "").replace(/,/g, "."))
                } catch(c) {}
                return parseInt(a, 10)
            }
        },
        {
            key: "ccd",
            value: function() {
                return e.colorDepth || 0
            }
        },
        {
            key: "chi",
            value: function() {
                return h.history.length || 0
            }
        },
        {
            key: "cja",
            value: function() {
                return k.javaEnabled().toString()
            }
        },
        {
            key: "cpl",
            value: function() {
                return k.plugins.length || 0
            }
        },
        {
            key: "cmi",
            value: function() {
                return k.mimeTypes.length || 0
            }
        },
        {
            key: "cce",
            value: function() {
                return k.cookieEnabled || 0
            }
        },
        {
            key: "col",
            value: function() {
                return (k.language || k.browserLanguage || k.systemLanguage).replace(/[^a-zA-Z0-9-]/g, "")
            }
        },
        {
            key: "cec",
            value: function() {
                return (i.characterSet ? i.characterSet: i.charset) || ""
            }
        },
        {
            key: "cdo",
            value: function() {
                var a = window.orientation;
                a === j && (a = -1);
                return a
            }
        },
        {
            key: "tsr",
            value: function() {
                var a = 0,
                e = +new Date;
                n && (a = e - n);
                return a
            }
        },
        {
            key: "tlm",
            value: function() {
                return Date.parse(i.lastModified) / 1E3
            }
        },
        {
            key: "tcn",
            value: function() {
                return Math.round( + new Date / 1E3)
            }
        },
        {
            key: "tpr",
            value: function(a) {
                var a = a && a.max_age ? a.max_age: 24E4,
                e = +new Date;
                l ? e - l >= a && (l = e) : l = e;
                return l || ""
            }
        },
        {
            key: "_preview",
            value: function(e) {
                return f.$b(a(e.id))
            }
        },
        {
            key: "dpt",
            value: function() {
                var a = "none";
                f.lb() && (a = "union");
                return a
            }
        },
        {
            key: "coa",
            M: m,
            value: function(a) {
                var e = a.id,
                e = e[0].split("_")[0],
                a = {},
                c = r,
                g = b.data.k("#novaOpenApi");
                if (g && e && g[e]) {
                    var c = m,
                    e = g[e],
                    d;
                    for (d in e) d && e.hasOwnProperty(d) && "undefined" !== typeof e[d] && (a[d] = encodeURIComponent(e[d]).toString())
                }
                a.c01 = c ? 1 : 0;
                d = "";
                for (var i in a) i && a.hasOwnProperty(i) && "undefined" !== typeof a[i] && (d += "&" + i + "=" + a[i]);
                return d = d.slice(1)
            }
        },
        {
            key: "_unionpreview",
            value: function() {
                return f.ac()
            }
        },
        {
            key: "baidu_id",
            value: v("")
        },
        {
            key: "_orientation",
            value: function() {
                return c.Xb()
            }
        }];
        return {
            get: function(a, e) {
                for (var b = [], c = 0, g = q.length; c < g; c++) {
                    var d;
                    try {
                        var i = q[c],
                        h = i.key,
                        f = i.M,
                        k = i.value,
                        k = "function" === typeof k ? k(a) : k,
                        k = f ? encodeURIComponent(k) : k;
                        if (e && e === h) return k;
                        d = h && 0 !== h.indexOf("_") ? h + "=" + k: k
                    } catch(n) {
                        d = encodeURIComponent(n.toString()),
                        d = d.slice(0, 100)
                    }
                    d && b.push(d)
                }
                b = b.join("&");
                return b.slice(0, 2048)
            }
        }
    });
    R("request", ["param", "slot", "util"],
    function(d, f, c) {
        R("request!", [], {
            name2url: function(b) {
                return "http://pos.baidu.com/ecom?" + d.get({
                    id: b.split(",")
                })
            }
        });
        R("batch!", [], {
            name2url: function(b) {
                return "http://pos.baidu.com/ecom?" + d.get({
                    id: b.split(",")
                })
            }
        });
        return {
            send: function(b, a, g) {
                if (!b || !a || g === j) return r;
                var d = [];
                if ("array" !== c.lang.c(b)) f.K(b, "request"),
                d = ["request!" + b];
                else {
                    for (d = 0; d < b.length; d++) f.K(b[d], "request");
                    d = 1 === b.length ? ["request!" + b[0]] : ["batch!" + b.join(",")]
                }
                Q(d, a, g);
                return m
            }
        }
    });
    R("control", ["slot", "request", "preview", "util"],
    function(d, f, c, b) {
        function a(a, e, c) {
            var g = e.deps,
            h = e.data,
            f = d.cb(a);
            c && !f ? d.B(a, "HolderNotFound") : g && (0 > g[0].indexOf("clb/") && d.K(a, "finish"), Q(g,
            function(e) {
                if ("object" === b.lang.c(h)) {
                    h.id = a;
                    if (e.hasOwnProperty("validate")) try {
                        var c = e.validate(h);
                        c !== m && b.log.ka({
                            data: {
                                type: c || "ResponseError",
                                errorPainter: g[0],
                                id: a,
                                slotType: h._stype,
                                materialType: h._isMlt,
                                html: !!h._html
                            }
                        })
                    } catch(k) {
                        d.B(a, "validateException")
                    }
                    if (e.hasOwnProperty("render")) try {
                        d.K(a, "render"),
                        e.render(h, f)
                    } catch(s) {
                        d.B(a, "RenderException")
                    } else d.B(a, "RenderNotFound")
                } else d.B(a, "ResponseFormatError")
            },
            c))
        }
        function g(b, e, c) {
            if (!b) return r;
            var c = c || "",
            g = d.add(b),
            b = g.ids[0] || g.preloadIds[0];
            if (!b) return r;
            var h = d.Mb(b, e);
            d.oa(b, e);
            d.create(b, e, c);
            g.ids.length ? f.send(b,
            function(e) {
                d.Ha(b, e);
                a(b, e, h)
            },
            h) : g.preloadIds.length && (e = d.da(b).response, a(b, e, h));
            return m
        }
        function h(a) {
            for (var e = 0,
            b = a + "_" + e; 0 !== d.ua([b])[0];) {
                var c = d.da(b);
                if ((c = c && c.response) && 0 === c.deps[0].indexOf("clb/")) {
                    var g = c.data,
                    c = g._isMlt; (0 === c && "" !== g._html || c === r && g._fxp) && d.K(b, "finish", 0)
                }
                b = a + "_" + ++e
            }
            if (a !== j && (a = (e = window.BAIDU_CLB_SLOTS_MAP) && e[a], a !== j && (c = a._isMlt, 0 === c && "" !== a._html || c === r && a._fxp))) a._done = r
        }
        window.BAIDU_CLB_prepareMoveSlot = h;
        return {
            fill: function(a) {
                return g(a, "fill")
            },
            bb: function(a, e) {
                return g(a, "fillAsync", e)
            },
            mc: function() {
                function a(e) {
                    f.send(e,
                    function(a) {
                        if ("array" === b.lang.c(a)) {
                            if (a && a.length === e.length) for (var c = 0; c < e.length; c++) d.Ha(e[c], a[c])
                        } else "object" === b.lang.c(a) && a && 1 === e.length && d.Ha(e[0], a)
                    },
                    r)
                }
                var e = b.lang.C(arguments),
                e = b.lang.unique(e),
                g = c.k();
                if (g) for (var h = 0,
                l = e.length; h < l; h++) e[h] == g.zb && (e.splice(h, 1), h--);
                for (e = d.add(e).ids; e.length;) {
                    g = e.splice(0, 16);
                    for (h = 0; h < g.length; h++) d.oa(g[h], "preload");
                    a(g)
                }
            },
            oc: h
        }
    });
    R("global", ["control", "biz", "util", "preview"],
    function(d, f, c, b) {
        function a(a) {
            a = a.split(".");
            return k[a[0]] + a[1]
        }
        function g() {
            var a = e.BAIDU_DUP2;
            if (! ("object" === c.lang.c(a) && a.push)) {
                if ("array" === c.lang.c(a) && a.length) for (var b = 0; b < a.length; b++) h(a[b]);
                e.BAIDU_DUP2 = j;
                c.data.F("BAIDU_DUP2", {
                    push: h
                });
                c.data.F("BAIDU_DUP2_proxy",
                function(a) {
                    if (a) return function() {
                        try {
                            return h([a].concat(c.lang.C(arguments)))
                        } catch(e) {
                            0 < ga--&&c.log.ka({
                                data: {
                                    type: "ExecuteException",
                                    errorName: a,
                                    args: c.lang.C(arguments).join("|"),
                                    isQuirksMode: "CSS1Compat" !== document.compatMode,
                                    documentMode: document.documentMode || "",
                                    readyState: document.readyState || "",
                                    message: e.message
                                }
                            })
                        }
                    }
                });
                for (b in l) b && c.lang.ea.call(l, b) && c.data.F(b, e.BAIDU_DUP2_proxy(b));
                i()
            }
        }
        function h(a) {
            if ("array" !== c.lang.c(a)) return r;
            var e = a.shift();
            c.data.Ra("apiCount", e);
            return (e = l[e] || q[e] || r) && e.apply(o, a)
        }
        function i() {
            function a(e) {
                for (var b = 0,
                c = C.length; b < c; b++) if (0 === e.indexOf(C[b])) return m;
                return r
            }
            c.data.F(y,
            function(e) {
                for (var b = 0,
                c = e.length; b < c; b++) if (a(e[b])) return;
                Q.apply(o, arguments)
            });
            c.data.F(A,
            function(e, b) {
                for (var c = 0,
                g = b.length; c < g; c++) if (a(b[c])) return;
                R.apply(o, arguments)
            })
        }
        var e = window,
        k = {
            clb: "BAIDU_CLB_DUP2",
            dan: "BAIDU_DAN_DUP2",
            nova: "cpro"
        },
        n = [{
            q: ["clb.fillSlot", "clb.singleFillSlot", "clb.fillSlotWithSize"],
            r: ["fill"],
            p: d.fill
        },
        {
            q: ["clb.fillSlotAsync"],
            r: ["fillAsync"],
            p: d.bb
        },
        {
            q: ["clb.preloadSlots"],
            r: ["preload"],
            p: d.mc
        },
        {
            q: ["clb.prepareMoveSlot"],
            r: ["prepareMove"],
            p: d.oc
        },
        {
            q: ["clb.addOrientation"],
            r: ["addOrientation"],
            p: f.Sa
        },
        {
            q: ["clb.addOrientationOnce"],
            r: ["addOrientationOnce"],
            p: f.Hb
        },
        {
            q: ["clb.setOrientationOnce"],
            r: ["setOrientationOnce"],
            p: f.yc
        },
        {
            q: ["clb.setConfig"],
            r: ["putConfig"],
            p: c.data.qc
        },
        {
            q: ["clb.addSlot", "clb.enableAllSlots", "clb.SETHTMLSLOT"],
            r: [],
            p: c.lang.pb
        }],
        n = function(e) {
            for (var b = {},
            c = {},
            g = 0; g < e.length; g++) {
                for (var d = e[g], h = d.q, f = d.r, d = d.p; h.length;) b[a(h.shift())] = d;
                for (; f.length;) c[f.shift()] = d
            }
            return {
                kc: b,
                pc: c
            }
        } (n),
        l = n.kc,
        q = n.pc;
        return {
            cc: function() {
                var e = c.data.eb(a("clb.ORIENTATIONS"));
                if (e) for (var h in e) Object.prototype.hasOwnProperty.call(e, h) && f.Sa(h, e[h]);
                c.data.I("#novaOpenApi", window.cproStyleApi);
                if (e = window.cproArray) {
                    h = 0;
                    for (var i = e.length; h < i; h++) e[h] && e[h].id && d.bb(e[h].id, "cpro_" + e[h].id)
                }
                if (e = window.cpro_id) b.lb(e) && (b.Bc(e), e = "u0"),
                d.fill(e);
                d.fill(c.data.eb(a("clb.SLOT_ID")));
                g()
            }
        }
    });
    R("logService", ["util/lang", "util/event"],
    function(d, f) {
        f.bind(window, "load",
        function() {
            Q(["detect"], d.pb, m)
        })
    });
    Q(["global"],
    function(d) {
        d.cc()
    });
    Q(["logService"]);
    window[A]("detect", ["api"],
    function(d) {
        function f(b) {
            b.url = "";
            b.host = window.location.hostname;
            b.from = "DUP";
            d.sendLog({
                data: b,
                Zc: "now"
            })
        }
        try {
            setTimeout(function() {
                var b = d.getSlots(),
                a;
                for (a in b) {
                    var c = b[a],
                    h = c.response,
                    i = r;
                    if ("object" !== d.getType(h)) i = m;
                    else {
                        var i = m,
                        e;
                        for (e in h) if (Object.prototype.hasOwnProperty.call(h, e)) {
                            i = r;
                            break
                        }
                    }
                    var k = c.status,
                    c = c.stack;
                    i ? f({
                        type: "preload" === c[0] ? "preloadFail": "loadFail",
                        id: a
                    }) : !k.render && !k.finish && f({
                        type: "renderFail",
                        id: a,
                        error: "preload" === c[0] ? "PreloadNotFilled": "NotFilled",
                        empty: !(!h.data || !h.data._html)
                    })
                }
            },
            0)
        } catch(c) {}
    });
    window[A] && window[A]("viewWatch", ["util", "param"],
    function(d, f) {
        function c() {
            var a = +new Date,
            c = 500;
            s === e && E && (c = a - E);
            E = a;
            for (var g in u) if (q.call(u, g)) {
                s === h && (s = i);
                var f = u[g];
                f.V && (f.Aa += c);
                f.ia && (f.za += c);
                f.Ca = a - f.timestamp;
                if (s === e) B && (f.O += a - f.ha);
                else if (72E5 <= f.Ca) b(r);
                else {
                    var k = f = j,
                    n = j;
                    for (n in u) if (q.call(u, n)) {
                        var p = u[n];
                        if (B) {
                            var t = d.a.e(p.Jc);
                            if (!t) break;
                            try {
                                var x = l.o(w),
                                z = l.m(w),
                                W = l.z(t),
                                X = l.U(w),
                                Y = l.xa(w),
                                Z = l.R(t),
                                $ = l.Q(t),
                                aa = W.top - X + 0.35 * $,
                                ba = W.left - Y + 0.35 * Z;
                                p.V = 0 < aa && aa < z && 0 < ba && ba < x;
                                var na = Z * $,
                                ca = l.z(t),
                                M = ca.top - X,
                                N = ca.left - Y,
                                da = l.R(t),
                                ea = l.Q(t),
                                fa = t = 0,
                                t = 0 > M ? Math.max(M + ea, 0) : Math.min(ea, Math.max(z - M, 0)),
                                fa = 0 > N ? Math.max(N + da, 0) : Math.min(da, Math.max(x - N, 0));
                                f = fa;
                                k = t;
                                p.ia = k * f > 0.5 * na
                            } catch(pa) {
                                p.V = r,
                                p.ia = r
                            }
                        } else p.V = r,
                        p.ia = r
                    }
                }
            }
        }
        function b(b) {
            clearInterval(z);
            var g = document.domain.toLowerCase();
            if (! ( - 1 < g.indexOf("autohome.com.cn") || -1 < g.indexOf("sina.com.cn") || -1 < g.indexOf("pconline.com.cn") || -1 < g.indexOf("pcauto.com.cn") || -1 < g.indexOf("pclady.com.cn") || -1 < g.indexOf("pcgames.com.cn") || -1 < g.indexOf("pcbaby.com.cn") || -1 < g.indexOf("pchouse.com.cn") || -1 < g.indexOf("xcar.com.cn"))) if (s !== i) s = e;
            else {
                s = e;
                c();
                var g = r,
                h;
                for (h in u) {
                    var f = u[h];
                    "block" === f.hc && (g = m);
                    f.total = p;
                    d.log.ka({
                        url: a(f)
                    })
                }
                if (b && g) if (b = +new Date, k.b) for (g = b + 200; g > +new Date;);
                else {
                    h = 1E5;
                    for (g = 0; g < h; g++);
                    g = +new Date;
                    h = Math.min(200 * h / (g - b), 1E7);
                    for (g = 0; g < h; g++);
                }
            }
        }
        function a(a) {
            for (var e = ["tu=" + a.id, "word=" + f.get(j, "ltu"), "if=" + f.get(j, "dis"), "aw=" + a.width, "ah=" + a.height, "dt=" + Math.round(g / 1E3), "pt=" + a.Ca, "ps=" + d.lang.Rb(new Date(a.timestamp), "yyyyMMddhhmmssS"), "it=" + a.Aa, "vs=" + (a.V ? 1 : 0), "vt=" + a.za, "ft=" + a.O, "op=" + a.opacity, "csp=" + t, "bcl=" + a.Kb, "pof=" + a.wc, "top=" + a.top, "left=" + a.left, "fs=1", "total=" + a.total], b = 0; 2 > b && x.length;) {
                var c = x.pop();
                e.push("lvu" + b + "=" + c.url);
                e.push("lvt" + b + "=" + c.time);
                b++
            }
            return a.url + (a.ab ? a.ab + "&": "") + e.join("&")
        }
        var g = +new Date,
        h = 1,
        i = 2,
        e = 3,
        k = d.d,
        n = d.event.bind,
        l = d.style,
        q = d.lang.ea,
        u = [],
        p = 0,
        z = 0,
        s = h,
        B = m,
        E = 0,
        t = [1E4 < screen.availWidth ? 0 : screen.availWidth, 1E4 < screen.availHeight ? 0 : screen.availHeight].join(),
        w = window;
        d.a.j(window) && !d.a.i(window) && (w = window.top);
        z = setInterval(c, 500); (function() {
            function a() {
                var e = +new Date,
                b;
                for (b in u) if (q.call(u, b)) {
                    var c = u[b];
                    c.O += e - c.ha;
                    c.ha = e
                }
                B = r
            }
            function e() {
                var a = +new Date,
                b;
                for (b in u) q.call(u, b) && (u[b].ha = a);
                B = m
            }
            k.b ? (n(document, "focusin", e), n(document, "focusout", a)) : (n(window, "focus", e), n(window, "blur", a))
        })(); (function() {
            function a(e) {
                if (e = (e.target || e.srcElement).href) x.push({
                    url: encodeURIComponent(e),
                    time: +new Date
                }),
                10 < x.length && x.shift()
            }
            n(document, "click", a);
            w != window && n(w.document, "click", a)
        })();
        n(window, "beforeunload", b);
        var x = [];
        return {
            register: function(a) {
                var e = +new Date,
                b = a.id,
                c = a.wrapperId,
                g = a.url || "http://eclick.baidu.com/a.js?",
                h = a.logType || "storage",
                a = a.extra || "";
                if (c && !u[c]) {
                    var f = d.a.e(c);
                    if (f) {
                        var i = l.z(f);
                        u[c] = {
                            id: b,
                            Jc: c,
                            url: g,
                            hc: h,
                            ab: a,
                            timestamp: e,
                            Aa: 0,
                            V: r,
                            za: 0,
                            ia: r,
                            Ca: 0,
                            O: 0,
                            ha: e,
                            top: i.top,
                            left: i.left,
                            dd: t,
                            opacity: l.fb(f),
                            Kb: [l.o(), l.m()].join(),
                            wc: [l.ya(), l.wa()].join(),
                             l.R(f),
                            height: l.Q(f)
                        };
                        p++
                    }
                }
            },
            getWatchCount: function() {
                return p
            }
        }
    });
    R && R("nova/preview", ["nova/common/bom", "nova/common/logic", "nova/common/cookie"],
    function(d, f, c) {
        function b(a) {
            a = decodeURIComponent(a).replace(/\x1e/g, "&").replace(/\x1d/g, "=").replace(/\x1c/g, "?").replace(/\x5c/g, "\");
            return f.gc(a)
        }
        function a(a, b) {
            var i;
            i = b ? b.substring(b.indexOf("?")) : d.i(window) ? window.location.search.slice(1) : window.top.location.search.slice(1);
            var e = document.referrer,
            k = 0 <= a.indexOf("inlay") || "ui" === a ? "bd_cpro_prev": "bd_cpro_fprev",
            n = "",
            l;
            try {
                l = document.cookie
            } catch(q) {} - 1 !== i.indexOf(k) && (n = f.hb(i, k)); ! n && l && -1 !== l.indexOf(k) && (n = c.gb(k)); ! n && -1 !== e.indexOf(k) && (n = f.hb(e, k));
            return n
        }
        return {
            Yb: function(c, d) {
                var f = window.location.href,
                e = parseInt(c.rsi0),
                k = parseInt(c.rsi1),
                n = parseInt(c.at),
                l = r,
                q = a(d, f);
                if (q) if (q = b(q), n === j && (n = 1), 1 !== parseInt(q.type) && 2 === (n & 2)) l = parseInt(q.imgWidth) === parseInt(e) && parseInt(q.imgHeight) === parseInt(k);
                else if (1 === parseInt(q.type) && (1 === (n & 1) || 64 === (n & 64) || 32 === (n & 32))) l = m;
                return l ? (e = 0 <= d.indexOf("inlay") || "ui" === d ? "bd_cpro_prev": "bd_cpro_fprev", f = a(d, f), k = c.tn, n = b(f), l = o, 0 <= d.indexOf("inlay") ? l = {
                    serviceUrl: "http://cpro.baidu.com/cpro/ui/preview/templates/" + (1 === parseInt(n.type) ? k + ".html": 2 === parseInt(n.type) ? "image.html": 4 === parseInt(n.type) ? "flash.html": "blank_tips.html") + "?",
                    paramString: ("" + e + "=#" + f + "&ut=" + +new Date).replace(/.(?!swf)/g, "%252e")
                }: "float" === d && (n = parseInt(n.type), n = "http://cpro.baidu.com/cpro/ui/preview/templates/" + (2 === n ? "float_image.html": 4 === n ? "float_flash.html": "blank_tips.html") + "?", f = "tn=" + k + ("&" + e + "=" + f).replace(/./g, "%252e") + "&ut=" + +new Date, l = {
                    serviceUrl: n,
                    paramString: f
                }), l) : o
            }
        }
    });
    R && R("nova/business/businessLogic", ["nova/preview"],
    function(d) {
        var f = {
            inlay: 4,
            "float": 2,
            patch: 1,
            linkunit: 6
        },
        c = {
            inlay: 0,
            "float": 0,
            patch: 0,
            linkunit: 0
        };
        return {
            rb: function(b) {
                var a = b._html || {},
                c = "",
                h = "http://pos.baidu.com/ecom?",
                f = b.id.split("_")[0],
                e = parseInt(a.conW || 0) || parseInt(b.sw) || parseInt(a.rsi0),
                k = parseInt(a.conH || 0) || parseInt(b.sh) || parseInt(a.rsi1),
                n = b.displayType,
                l = a.tn || "",
                q = l.toLowerCase(),
                u = a.ch || 0,
                b = b.qn || "",
                p = a.n || "",
                z = a.dai || 0;
                a.dtm = "BAIDU_DUP2_SETJSONADSLOT";
                a.dc = "2";
                a.di = f;
                var c = [],
                s;
                for (s in a) s && a.hasOwnProperty(s) && c.push("" + s + "=" + encodeURIComponent(a[s].toString()));
                c = c.join("&");
                if ((s = d.Yb(a, n)) && s.serviceUrl !== j && s.paramString !== j) h = s.serviceUrl,
                c = s.paramString;
                return {
                    slotId: f,
                    slotWidth: e,
                    slotHeight: k,
                    displayType: n,
                    styleType: q,
                    unionAccount: p,
                    adIndex: z,
                    channel: u,
                    pvId: b,
                    stuffType: "unknown",
                    serviceUrl: h,
                    paramString: c,
                    delayIn: a.delayIn,
                    delayOut: a.delayOut,
                    sessionSync: a.sessionSync !== r && "false" !== a.sessionSync,
                    closeFor: a.closeFor,
                    xuantingType: a.xuanting,
                    tn: l
                }
            },
            Ea: function(b) {
                var a = {};
                a.Nb = (b.Nb || "pc").toLowerCase();
                a.L = (b.L || "inlay-fixed").toLowerCase();
                a.v = (b.v || "template_inlay_all_normal").toLowerCase();
                a.Ja = (b.Ja || "text").toLowerCase();
                if ( - 1 < a.v.indexOf("tlink") || -1 < a.v.indexOf("linkunit")) a.L = "linkunit-fixed";
                b = a.L.split("-");
                a.ca = b[0] || "inlay";
                a.Oc = b[1] || "fixed";
                return a
            },
            Va: function(b) {
                b = this.Ea(b);
                b = b.ca;
                return c[b] <= f[b]
            },
            Rc: function(b) {
                b = this.Ea(b);
                return c[b.ca]
            },
            ub: function(b) {
                b = this.Ea(b);
                c[b.ca] += 1;
                return m
            },
            ib: function(b, a) {
                var c = document.getElementById("cpro_" + b);
                c || (c = document.getElementById(a));
                return c
            }
        }
    });
    R && R("nova/common/bom", [],
    function() {
        var d = {};
        /msie (d+.d)/i.test(navigator.userAgent) && (d.b = document.documentMode || +RegExp.$1);
        /opera/(d+.d)/i.test(navigator.userAgent) && (d.opera = +RegExp.$1);
        /firefox/(d+.d)/i.test(navigator.userAgent) && (d.Qb = +RegExp.$1);
        /(d+.d)?(?:.d)?s+safari/?(d+.d+)?/i.test(navigator.userAgent) && !/chrome/i.test(navigator.userAgent) && (d.vc = +(RegExp.$1 || RegExp.$2));
        /chrome/(d+.d)/i.test(navigator.userAgent) && (d.Wa = +RegExp.$1);
        try { / (d + .d) / .test(window.external.Xc) && (d.ic = +RegExp.$1)
        } catch(f) {}
        d.mb = /webkit/i.test(navigator.userAgent);
        d.ec = /gecko/i.test(navigator.userAgent) && !/like gecko/i.test(navigator.userAgent);
        d.kb = "CSS1Compat" == document.compatMode;
        return {
            d: d,
            pa: function() {
                var c = m;
                if (this.d.b && (7 > this.d.b || "BackCompat" === document.compatMode)) c = r;
                return c
            },
            ya: function(c) {
                try {
                    return c = c || window,
                    "BackCompat" === c.document.compatMode ? c.document.body.scrollWidth: c.document.documentElement.scrollWidth
                } catch(b) {
                    return 0
                }
            },
            wa: function(c) {
                try {
                    return c = c || window,
                    "BackCompat" === c.document.compatMode ? c.document.body.scrollHeight: c.document.documentElement.scrollHeight
                } catch(b) {
                    return 0
                }
            },
            o: function(c) {
                try {
                    return c = c || window,
                    "BackCompat" === c.document.compatMode ? c.document.body.clientWidth: c.document.documentElement.clientWidth
                } catch(b) {
                    return 0
                }
            },
            m: function(c) {
                try {
                    return c = c || window,
                    "BackCompat" === c.document.compatMode ? c.document.body.clientHeight: c.document.documentElement.clientHeight
                } catch(b) {
                    return 0
                }
            },
            U: function(c) {
                c = (c || window).document;
                return window.pageYOffset || c.documentElement.scrollTop || c.body.scrollTop
            },
            xa: function(c) {
                c = (c || window).document;
                return window.pageXOffset || c.documentElement.scrollLeft || c.body.scrollLeft
            },
            ga: function(c) {
                var b = r;
                try {
                    c && "object" === typeof c && c.document && "setInterval" in c && (b = m)
                } catch(a) {
                    b = r
                }
                return b
            },
            j: function(c) {
                c = c || window;
                return c != window.top && c != c.parent || !this.ga(c)
            },
            i: function(c, b) {
                for (var b = 2 === arguments.length ? b: c.parent, a = 0; 10 > a++&&this.j(c, b);) {
                    var g;
                    try {
                        g = !!c.parent.location.toString()
                    } catch(d) {
                        g = r
                    }
                    if (!g) return m;
                    c = c.parent
                }
                return 10 <= a ? m: r
            },
            gd: function(c, b) {
                var a = new Image,
                g = "cpro_log_" + Math.floor(2147483648 * Math.random()).toString(36),
                b = b || window;
                b[g] = a;
                a.onload = a.onerror = a.onabort = function() {
                    a.onload = a.onerror = a.onabort = o;
                    a = b[g] = o
                };
                a.src = c
            },
            P: function(c) {
                if (!c) return document;
                "string" === typeof c && (c = document.getElementById(c));
                return 9 === c.nodeType ? c: c.ownerDocument || c.document
            },
            u: function(c) {
                "string" === typeof c && (c = document.getElementById(c));
                c = this.P(c);
                return c.parentWindow || c.defaultView || o
            },
            Uc: function(c) {
                c = c || window;
                return this.j(c) && !this.i(c, c.top) && this.ga(c.top) ? c.top: c
            }
        }
    });
    R && R("nova/common/cookie", [],
    function() {
        return {
            gb: function(d, f) {
                var c, b = RegExp("(^| )" + d + "=([^;]*)(;|$)").exec((f || window).document.cookie);
                b && (c = b[2]);
                return c
            },
            wb: function(d, f, c) {
                var c = c || {},
                b = c.N;
                "number" == typeof c.N && (b = new Date, b.setTime(b.getTime() + c.N));
                document.cookie = "" + d + "=" + f + (c.path ? "; path=" + c.path: "") + (b ? "; expires=" + b.toGMTString() : "") + (c.domain ? "; domain=" + c.domain: "") + (c.fd ? "; secure": "")
            },
            remove: function(d) {
                var f = new Date;
                f.setTime(f.getTime() - 86400);
                this.hd(d, "", {
                    path: "/",
                    N: f
                })
            }
        }
    });
    R && R("nova/common/dom", ["nova/common/oo", "nova/common/bom"],
    function(d, f) {
        return d(function(c) {
            var b = f.d;
            return {
                e: function(a, b) {
                    return "string" === typeof a || a instanceof String ? (b || window).document.getElementById(a) : a
                },
                jb: function(a, b) {
                    var d = m;
                    if ("string" === typeof b) return a.id === b;
                    if (b.constructor === Object) return c.Pb(b,
                    function(e, b) {
                        var c = (a.getAttribute ? a.getAttribute(b) : a[b]) || a[b];
                        if ("tagName" === b) {
                            if (c.toUpperCase() != e.toUpperCase()) return d = r
                        } else if (c != e) return d = r
                    }),
                    d;
                    if (b.constructor === Array) {
                        var f = b.concat([]);
                        f.reverse();
                        for (var e = a; e && f.length; e = e.parentNode) this.jb(e, f[0]) && f.shift();
                        return ! f.length ? m: r
                    }
                },
                Db: function(a, b) {
                    if (a && b(a) !== r) {
                        var c = a.childNodes;
                        if (c) for (var d = 0,
                        e = c.length; d < e; d++) if (this.Db(c[d], b) === r) return r
                    }
                },
                Bb: function(a, b) {
                    var c = this;
                    a.constructor === Object && (a = this.h(a));
                    if ("string" === typeof b) {
                        for (var d = document.getElementById(b), e = d; e;) {
                            if (e === a) return d;
                            e = e.parentNode
                        }
                        return o
                    }
                    if (b.constructor === Object) {
                        var f = o;
                        c.Db(a,
                        function(a) {
                            if (c.jb(a, b)) return f = a,
                            r
                        });
                        return f
                    }
                },
                h: function(a) {
                    if (a) {
                        if (a.nodeName) return a;
                        1 < arguments.length && (a = Array.prototype.slice.call(arguments, 0));
                        if ("string" === typeof a) return document.getElementById(a);
                        if (a.constructor === Object) return this.Bb(document.documentElement, a);
                        if (a.constructor === Array) {
                            for (var b = a.concat([]), c = document.documentElement; b.length && c;) c = this.Bb(c, b.shift());
                            return c
                        }
                    }
                },
                bd: function(a, d, f) {
                    var f = f || this.md || window,
                    i = f.document;
                    this.Za = 0;
                    this.J = this.J || [];
                    this.J.push({
                        ta: a,
                        Ya: d || 0,
                        sa: r
                    });
                    var e = c.H(function() {
                        var a = r;
                        this.Za++;
                        var e = r;
                        try {
                            f.frameElement && (e = m)
                        } catch(c) {
                            e = m
                        }
                        if (b.b && 9 > b.b && !e) try {
                            i.documentElement.doScroll("left"),
                            a = m
                        } catch(d) {} else if ("complete" === i.readyState || this.Ob) a = m;
                        else if (3E5 < this.Za) {
                            this.w && (f.clearInterval(this.w), this.w = o);
                            return
                        }
                        if (a) try {
                            if (this.J && this.J.length) for (var a = 0,
                            g = this.J.length; a < g; a++) {
                                var p = this.J[a];
                                p && p.ta && !p.sa && (p.Ya ? (p.sa = m, f.setTimeout(p.ta, p.Ya)) : (p.sa = m, p.ta()))
                            }
                        } catch(z) {
                            throw z;
                        } finally {
                            this.w && (f.clearInterval(this.w), this.w = o)
                        }
                    },
                    this),
                    a = c.H(function() {
                        this.Ob = m;
                        e()
                    },
                    this);
                    this.w || (this.w = f.setInterval(e, 50), i.addEventListener ? (i.addEventListener("DOMContentLoaded", a, r), f.addEventListener("load", a, r)) : i.attachEvent && f.attachEvent("onload", a, r))
                },
                pa: function() {
                    var a = m;
                    if (b.b && (7 > b.b || "BackCompat" === document.compatMode)) a = r;
                    return a
                },
                bind: function(a, b, c) {
                    "string" === typeof a && (a = this.h(a));
                    b = b.replace(/^on/i, "").toLowerCase();
                    a.addEventListener ? a.addEventListener(b, c, r) : a.attachEvent && a.attachEvent("on" + b, c);
                    return a
                },
                ld: function(a, b, c) {
                    a = this.h(a);
                    b = b.replace(/^on/i, "").toLowerCase();
                    a.removeEventListener ? a.removeEventListener(b, c, r) : a.detachEvent && a.detachEvent("on" + b, c);
                    return a
                },
                l: function(a, b) {
                    var c;
                    "string" === typeof a && (a = this.h(a));
                    var d = f.P(a),
                    e = "",
                    e = -1 < b.indexOf("-") ? b.replace(/[-_][^-_]{1}/g,
                    function(a) {
                        return a.charAt(1).toUpperCase()
                    }) : b.replace(/[A-Z]{1}/g,
                    function(a) {
                        return "-" + a.charAt(0).toLowerCase()
                    });
                    d && d.defaultView && d.defaultView.getComputedStyle ? ((d = d.defaultView.getComputedStyle(a, o)) && (c = d.getPropertyValue(b)), "boolean" !== typeof c && !c && (c = d.getPropertyValue(e))) : a.currentStyle && ((d = a.currentStyle) && (c = d[b]), "boolean" !== typeof c && !c && (c = d[e]));
                    return c
                },
                z: function(a, b) {
                    b = b || window;
                    "string" === typeof a && (a = this.h(a));
                    if (a) {
                        for (var c = this.T(a), d, e = 0; b != b.parent && 10 > e;) e++,
                        d = this.T(b.frameElement),
                        c.left += d.left,
                        c.top += d.top,
                        b = b.parent;
                        return c
                    }
                },
                T: function(a) {
                    "string" === typeof a && (a = this.h(a));
                    var b = f.P(a),
                    c = f.d;
                    0 < c.ec && b.getBoxObjectFor && this.l(a, "position");
                    var d = {
                        left: 0,
                        top: 0
                    },
                    e;
                    if (a == (c.b && !c.kb ? b.body: b.documentElement) || !a) return d;
                    if (a.getBoundingClientRect) a = a.getBoundingClientRect(),
                    d.left = Math.floor(a.left) + Math.max(b.documentElement.scrollLeft, b.body.scrollLeft),
                    d.top = Math.floor(a.top) + Math.max(b.documentElement.scrollTop, b.body.scrollTop),
                    d.left -= b.documentElement.clientLeft,
                    d.top -= b.documentElement.clientTop,
                    a = b.body,
                    b = parseInt(this.l(a, "borderLeftWidth"), 10),
                    a = parseInt(this.l(a, "borderTopWidth"), 10),
                    c.b && !c.kb && (d.left -= isNaN(b) ? 2 : b, d.top -= isNaN(a) ? 2 : a);
                    else {
                        e = a;
                        do {
                            d.left += e.offsetLeft;
                            d.top += e.offsetTop;
                            if (0 < c.mb && "fixed" == this.l(e, "position")) {
                                d.left += b.body.scrollLeft;
                                d.top += b.body.scrollTop;
                                break
                            }
                            e = e.offsetParent
                        } while ( e && e != a );
                        if (0 < c.opera || 0 < c.mb && "absolute" == this.l(a, "position")) d.top -= b.body.offsetTop;
                        for (e = a.offsetParent; e && e != b.body;) {
                            d.left -= e.scrollLeft;
                            if (!c.opera || "TR" != e.tagName) d.top -= e.scrollTop;
                            e = e.offsetParent
                        }
                    }
                    return d
                },
                R: function(a, b) {
                    var a = this.h(a),
                    c = a.offsetWidth;
                    if (b || r) var d = this.l(a, "marginLeft").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                    e = this.l(a, "marginRight").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                    c = c + (parseInt(d || 0) + parseInt(e || 0));
                    return c
                },
                Q: function(a, b) {
                    var a = this.h(a),
                    c = a.offsetHeight;
                    if (b || r) var d = this.l(a, "marginTop").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                    e = this.l(a, "marginBottom").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                    c = c + (parseInt(d || 0) + parseInt(e || 0));
                    return c
                },
                Tc: function(a) {
                    var a = this.h(a),
                    b = this.u(a),
                    c = 0;
                    if (this.j(window) && !f.i(window)) {
                        for (; b.parent != window.top && 10 > c;) c++,
                        b = b.parent;
                        10 > c && (a = b.frameElement || a)
                    }
                    return a
                },
                va: function(a) {
                    var b = this.h(a),
                    a = this.u(b),
                    c = 100,
                    d;
                    try {
                        for (; b && b.tagName;) {
                            d = 100;
                            if (this.d.b) {
                                if (5 < this.d.b) try {
                                    d = b.Qc.alpha.opacity || 100
                                } catch(e) {}
                                c = c > d ? d: c
                            } else {
                                try {
                                    d = 100 * (a.getComputedStyle(b, o).opacity || 1)
                                } catch(f) {}
                                c *= d / 100
                            }
                            b = b.parentNode
                        }
                    } catch(n) {}
                    return c || 100
                },
                fb: function(a) {
                    for (var b = this.h(a), a = this.u(b), b = this.va(b), c = 100, d = 0; this.j(a);) {
                        d++;
                        if (f.i(a, a.parent)) break;
                        else c = 100,
                        a.frameElement && (c = this.va(a.frameElement)),
                        b *= c / 100;
                        a = a.parent
                    }
                    return b
                }
            }
        })
    });
    R && R("nova/common/logic", [],
    function() {
        return {
            Pc: function(d) { (d = d || "") && (d = d.replace(/%u[d|w]{4}/g,
                function(d) {
                    return encodeURIComponent(unescape(d))
                }));
                return d
            },
            kd: function(d, f) {
                return d.replace(/{(.*?)}/g,
                function(c, b) {
                    return f[b] || ""
                })
            },
            gc: function(d) {
                return (new Function("return " + d))()
            },
            hb: function(d, f) {
                if (d && f) {
                    var c = d.match(RegExp("(^|&|\?|#)" + f + "=([^&]*)(&|$)", ""));
                    if (c) return c[2]
                }
                return o
            },
            $c: function(d, f) {
                var d = d || "",
                f = f || "?",
                c = arguments.callee;
                c.hasOwnProperty[f] || (c[f] = {});
                c = c[f];
                if (c.hasOwnProperty(d)) return c[d];
                var b = {},
                a = d.indexOf(f),
                g = d.substring(a + 1).split("&");
                if ( - 1 !== a) for (var a = 0,
                h = g.length; a < h; a++) {
                    var i = g[a].split("="),
                    e = decodeURIComponent(i[0]),
                    i = decodeURIComponent(i[1]);
                    b.hasOwnProperty(e) ? (b[e].constructor !== Array && (b[e] = [b[e]]), b[e].push(i)) : b[e] = i
                }
                return c[d] = b
            }
        }
    });
    R && R("nova/common/oo", [],
    function() {
        function d(a) {
            var b = d.create(d);
            return a.call(b, b, b.Qa)
        }
        function f(a, b) {
            if (a.constructor === Array) for (var c = 0,
            d = a.length; c < d; c++) {
                if (b.call(a, a[c], c, a) === r) return r
            } else {
                var c = !{
                    toString: 1
                }.propertyIsEnumerable("toString"),
                e = "toString,toLocaleString,valueOf,constructor,propertyIsEnumerable,hasOwnProperty,isPrototypeOf".split(",");
                for (d in a) if (a.hasOwnProperty(d) && b.call(a, a[d], d, a) === r) return r;
                if (c) {
                    c = 0;
                    for (d = e.length; c < d; c++) {
                        var f = e[c];
                        if (a.hasOwnProperty(f) && b.call(a, f, c, a) === r) return r
                    }
                }
            }
            return m
        }
        function c(a, b, c) {
            f(b,
            function(b, e) {
                if (!a.hasOwnProperty(e) || c) a[e] = b
            })
        }
        function b(a) {
            function b() {}
            if (Object.create) return Object.create(a);
            b.prototype = a;
            return new b
        }
        d.Qa = {};
        d.create = b;
        d.Pb = f;
        d.Fb = function(a) {
            var b, d = a.hasOwnProperty("constructor") ? a.constructor: function() {};
            d.prototype = a;
            d.prototype.constructor = d;
            b = b || {};
            b.Ia && c(d, b.Ia);
            return d
        };
        d.extend = function(a, d, f) {
            var i;
            i = d.hasOwnProperty("constructor") ? d.constructor: function() {
                a.constructor.apply(this, arguments)
            };
            i.prototype = b(a.prototype);
            c(i.prototype, d, m);
            i.prototype.constructor = i;
            i.prototype.Kc = a.prototype;
            c(i, a);
            f = f || {};
            f.Ia && c(i, f.Ia, m);
            return i
        };
        d.Yc = function(a) {
            var b = this.Qa;
            f(a.split("."),
            function(a) {
                b.hasOwnProperty(a) || (b[a] = {});
                b = b[a]
            });
            return b
        };
        d.H = function(a, b) {
            var c;
            return function() {
                c = c || [];
                for (var d = 0,
                e = arguments.length; d < e; d++) c.push(arguments[d]);
                return a.apply(b || {},
                c)
            }
        };
        return d
    });
    R && R("nova/painter/inlayFixed1392089005", ["nova/business/businessLogic"],
    function(d) {
        function f(c) {
            return '<iframe width="{slotWidth}" height="{slotHeight}" src="{serviceUrl}{paramString}" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true"></iframe>'.replace(/{(.*?)}/g,
            function(b, a) {
                return c[a] || ""
            })
        }
        return {
            render: function(c, b) {
                c.displayType = "inlay-fixed";
                var a = d.rb(c),
                g = {
                    L: a.displayType,
                    v: a.styleType,
                    Ja: a.stuffType
                };
                if (!d.Va(g)) return r;
                d.ib(a.slotId, b).innerHTML = f(a);
                d.ub(g); (function() {
                    var c = a.slotId,
                    d = a.adIndex || 0;
                    Q(["viewWatch"],
                    function(e) {
                        e.register({
                            id: c,
                            wrapperId: b,
                            logType: "block",
                            extra: "did=" + d + "&ch=" + a.channel + "&jk=" + a.pvId + "&tn=" + a.tn + "&n=" + a.unionAccount + "&js=c"
                        })
                    },
                    m)
                })()
            }
        }
    });
    R && R("nova/painter/xuanting1392089005", "nova/common/cookie,nova/common/bom,nova/common/dom,nova/common/logic,nova/common/oo,nova/business/businessLogic".split(","),
    function(d, f, c, b, a, g) {
        var h;
        a(function(a) {
            h = a.Fb({
                constructor: function(a) {
                    var b = a.Y.id;
                    this.Y = c.h(a.Y);
                    this.type = +a.type;
                    this.src = a.src;
                    this.width = a.width;
                    this.height = a.height;
                    this.v = a.v || "";
                    this.Ka = a.Ka || "";
                    this.qa = a.qa || "0";
                    this.Na = a.Na || "";
                    this.Fa = a.Fa || "";
                    this.Z = this.Ma = 5;
                    this.Da = a.Da;
                    this.Ga = a.Ga;
                    this.X = a.X;
                    this.ra = "bd_close_" + this.X;
                    this.Hc = !!d.gb(this.ra);
                    this.G = this.Vb(this.X);
                    this.g = b;
                    this.s = "";
                    this.fileName = "c";
                    this.na = a.na || 0;
                    2 === this.type ? this.s = "top": 3 === this.type && (this.s = "bottom");
                    this.s && (this.Eb = m, this.$ = +a.$ || 0, this.aa = +a.aa || 0, this.W = !!a.W || r, this.D = +a.D || 0, this.Ib = 500);
                    this.ob = a.ob || r
                },
                Vc: function(a) {
                    return "string" === typeof a ? document.getElementById(a) : a
                },
                Cc: function(a, b) {
                    return (b || document).getElementsByTagName(a)[0]
                },
                Cb: function(a, b) {
                    return a.replace(/{(.*?)}/g,
                    function(a, c) {
                        return b.hasOwnProperty(c) ? b[c] : a
                    })
                },
                Vb: function(a) {
                    var b = {};
                    return function() {
                        b.hasOwnProperty(a) || (b[a] = 0); ++b[a];
                        return "cproIframe" + b[a]
                    }
                } (),
                d: f.d,
                xc: function() {
                    var a = {
                        path: ""
                    };
                    if (this.D && !this.W) {
                        var b = new Date;
                        b.setTime(b.getTime() + this.D);
                        a.N = b
                    }
                    d.wb(this.ra, 1, a)
                },
                tc: function(a) {
                    var b = new Date;
                    b.setTime(b.getTime() - 86400);
                    d.wb(a, "", {
                        path: "/",
                        N: b
                    })
                },
                Ac: function() {
                    this.clientWidth = f.o(window);
                    this.clientHeight = f.m(window);
                    this.s && (this.f && (this.f.style.width = this.clientWidth + "px"), this.Pa && (this.Pa.style.width = this.clientWidth + "px"));
                    this.vb && clearTimeout(this.vb);
                    this.vb = setTimeout(a.H(this.Ba, this), 5)
                },
                Ba: function() {
                    var a = this.f;
                    if (a) if (c.pa()) {
                        if (a.style.zIndex = 2147483646, 1 === this.type) if ("fixed" == a.style.position) this.Ta(),
                        this.Jb() && (a.style.cssText = o, this.sc());
                        else {
                            var b = this.Ec();
                            b && (this.Xa(), a.style.position = "fixed", a.style.top = b + "px", this.Ta())
                        }
                    } else this.zc(this.f)
                },
                Jb: function(a) {
                    var b;
                    a ? (b = document.getElementById(a), a = document.getElementById("" + a + "placeholder")) : (b = this.f || document.getElementById(this.g), a = document.getElementById("" + this.g + "placeholder"));
                    return b && a && (a = this.t(a).ma, this.t(b).ma <= a) ? m: r
                },
                Ta: function(a) {
                    var b;
                    a ? (b = document.getElementById(a), a = document.getElementById("" + a + "placeholder")) : (b = this.f || document.getElementById(this.g), a = document.getElementById("" + this.g + "placeholder"));
                    b && a && (a = this.t(a).left, b.style.left = a + "px")
                },
                t: function(a) {
                    var b = c.T(a),
                    d = f.xa(window),
                    g = f.U(window),
                    h = c.R(a, r),
                    a = c.Q(a, r);
                    return {
                        top: b.top - g,
                        bottom: b.top - g + a,
                        left: b.left - d,
                        right: b.left - d + h,
                        ma: b.top,
                        Mc: b.top + a,
                        ja: b.left,
                        ed: b.left + h
                    }
                },
                zc: function() {
                    this.clientWidth = f.o(window);
                    this.clientHeight = f.m(window);
                    var a = f.U(window),
                    b = c.l(document.body, "position").toString(),
                    d = c.T(document.body),
                    g = d.left,
                    h = d.top;
                    if (d = this.f) if (d.style.position = "absolute", d.style.zIndex = 2147483646, 1 === this.type) if (document.getElementById("" + this.g + "placeholder")) {
                        var i = document.getElementById("" + this.g + "placeholder"),
                        p = this.t(i);
                        d.style.top = "" + a + this.Z + "px";
                        d.style.left = "" + p.ja + "px";
                        "relative" == b && (d.style.top = a + this.Z - h + "px", d.style.left = p.ja - g + "px");
                        d.style.visibility = "visible";
                        a = this.t(d);
                        p.ma >= a.ma && (d.parentNode.removeChild(d), i.parentNode.insertBefore(d, i), i.parentNode.removeChild(i), d.style.cssText = o)
                    } else {
                        if (i = this.Fc(this.g)) this.Z = i,
                        this.Xa(this.g),
                        i = document.getElementById("" + this.g + "placeholder"),
                        p = this.t(i),
                        d.parentNode.removeChild(d),
                        document.body.appendChild(d),
                        d.style.zIndex = 2147483646,
                        d.style.top = a + this.Z + "px",
                        d.style.left = p.ja + "px",
                        "relative" == b && (d.style.top = a + this.Z - h + "px", d.style.left = p.ja - g + "px"),
                        d.style.visibility = "visible",
                        d.style.position = "absolute"
                    } else 2 === this.type ? d.style.top = a + "px": 3 === this.type && (d.style.top = a + this.clientHeight - (this.height + 10) + "px")
                },
                uc: function() {
                    if (!this.ob) {
                        var a = this.type,
                        b = this.width,
                        d = this.height,
                        f = {
                            srcAttrName: a === j || 1 == a ? "src": "_src",
                            iframeWidth: b,
                            iframeHeight: d,
                            iframeId: this.G,
                            paramString: this.Da || "",
                            serviceUrl: this.Ga
                        };
                        this.nc();
                        var g = r;
                        if (a && (1 === a || 2 === a || 3 === a)) {
                            var h = g = "auto",
                            i;
                            if (1 === a) i = "inline-block",
                            g = b + "px",
                            h = d + "px";
                            else if (2 === a || 3 === a) i = "block",
                            g = "100%",
                            h = +d + 10 + "px";
                            f.widthValue = g;
                            f.heightValue = h;
                            f.displayValue = i;
                            a = this.Y;
                            a.setAttribute("width", g);
                            a.setAttribute("height", h);
                            a.style.cssText = this.Cb("{widthValue};height:{heightValue};display:{displayValue};", f);
                            g = m
                        }
                        f = this.Cb('<iframe id="{iframeId}" {srcAttrName}="{serviceUrl}{paramString}" width="{iframeWidth}" height="{iframeHeight}" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" ></iframe>', f);
                        this.Y.innerHTML = f;
                        this.fa = c.h(this.G);
                        g && (this.f = this.fa.parentNode);
                        this.Lb();
                        this.Gc()
                    }
                },
                Lb: function() {
                    var a = this.type,
                    b = this.fa,
                    d = this.f;
                    if (a) {
                        var g = 1;
                        if (2 === a) g = 2;
                        else if (3 === a) g = 1;
                        else if (1 !== a && 0 !== a && this.f) {
                            this.f.style.display = "none";
                            return
                        }
                        var h = 2 === a || 3 === a,
                        i = "";
                        switch (a) {
                        case 2:
                        case 3:
                            var i = "display:none;",
                            p = "";
                            this.d.b && 7 > this.d.b && (p = "_background-image:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk" + g + ".png');");
                            g = h ? '<div id="' + this.G + 'WrapToggle" style="z-index:2147483646;cursor:pointer;position:absolute;right:0;' + this.s + ':0;40px;height:100%;background-color:#3f3f3f;"><div style="20px;height:22px;position:absolute;top:50%;margin-top:-11px;left:50%;margin-left:-10px;background:no-repeat url(http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk' + g + ".png);" + p + '"></div></div>': "";
                            h = h ? '<div id="' + this.G + 'WrapBk" style="' + this.s + ':0;left:0;position:absolute;100%;height:100%;background-color:#666;-moz-opacity:.6;filter:alpha(opacity=60);opacity:.6;"></div>': "";
                            p = "";
                            c.pa() ? 1 === a ? p = "position:fixed;top:0;": 2 === a ? p = "position:fixed;top:0;100%;": 3 === a && (p = "position:fixed;bottom:0;100%;") : 1 === a ? p = "position:absolute;top:0;": 2 === a ? p = "position:absolute;top:0;100%;": 3 === a && (p = "position:absolute;top:" + (f.U(window) + f.m(window) - this.width) + "px;100%;");
                            d.insertAdjacentHTML("afterBegin", h + g);
                            d.style.cssText = [i, "height:", this.height + 10, "px;right:0;z-index:2147483646;text-align:center;font-size:0;_overflow-y:hidden;", p].join("");
                            b.style.cssText = "position:relative;margin:5px 0;";
                            this.La = c.h("" + this.G + "WrapToggle");
                            this.la = this.Cc("DIV", this.La);
                            this.Pa = c.h(this.G + "WrapBk");
                            this.Ac()
                        }
                    }
                },
                yb: function() {
                    var a = this.X,
                    b = this.g,
                    c = this;
                    Q(["viewWatch"],
                    function(d) {
                        d.register({
                            id: a,
                            wrapperId: b,
                            logType: "block",
                            extra: "did=" + c.na + "&ch=" + c.qa + "&jk=" + c.Fa + "&tn=" + c.Ka + "&n=" + c.Na + "&js=" + c.fileName
                        })
                    },
                    m)
                },
                Gc: function() {
                    var b = this,
                    d = b.f,
                    f = b.type,
                    g = b.fa,
                    b = this;
                    this.s ? this.Hc ? d.parentNode.removeChild(d) : (setTimeout(function() {
                        d.style.display = "block";
                        if (2 === f || 3 === f) {
                            var a = g.getAttribute("_src");
                            a && (g.setAttribute("src", a), g.removeAttribute("_src"), b.yb())
                        }
                    },
                    this.$), this.aa && setTimeout(function() {
                        d.style.display = "none"
                    },
                    this.$ + this.aa)) : this.yb();
                    this.La && (2 === this.type || 3 === this.type) && c.bind(this.La, "click", a.H(this.Dc, this));
                    c.bind(window, "scroll", a.H(this.Ba, this));
                    c.bind(window, "resize", a.H(this.Ba, this))
                },
                nc: function() {
                    for (var a = 1; 2 >= a; a++)(function(a) {
                        var b = "bkimg_" + +new Date + Math.floor(1E5 * Math.random()),
                        c = window[b] = new Image;
                        c.onload = c.onerror = function() {
                            c.onload = c.onerror = o;
                            c = window[b] = o
                        };
                        c.src = "http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk" + a + ".png"
                    })(a)
                },
                Dc: function() {
                    this.Eb ? this.bc() : this.show()
                },
                xb: function(a) {
                    if (!this.Ua) {
                        this.Ua = m;
                        var b = this.f,
                        c = this.Pa,
                        d = this.fa,
                        f = this.s,
                        g = b.offsetHeight,
                        h = Math.round(this.Ib / g),
                        i = 0,
                        s = this;
                        a && (b.style.width = "100%");
                        var B = +new Date,
                        E = setInterval(function() {
                            var b = i = Math.round(( + new Date - B) / h),
                            k = b;
                            a && (k = g - b);
                            c.style[f] = -k + "px";
                            d.style[f] = -k + "px";
                            b >= g && (s.Ua = r, (s.Eb = a) && "top" === f || !a && "bottom" === f ? s.d.b && 7 > s.d.b ? s.la.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk2.png');": s.la.style.backgroundImage = "url(http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk2.png)": s.d.b && 7 > s.d.b ? s.la.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk1.png');": s.la.style.backgroundImage = "url(http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk1.png)", k = g, a && (k = 0), c.style[f] = -k + "px", d.style[f] = -k + "px", clearInterval(E))
                        },
                        h)
                    }
                },
                show: function() { (this.W || this.D) && this.tc(this.ra);
                    this.xb(m)
                },
                bc: function() { (this.W || this.D) && this.xc();
                    this.xb(r)
                },
                Xa: function(a) {
                    var b;
                    a ? (b = document.getElementById(a), a += "placeholder") : (b = this.f || document.getElementById(this.g), a = this.g + "placeholder");
                    var c = document.createElement("div");
                    c.id = a;
                    c.align && (c.align = b.getAttribute("align"));
                    c.style.width = "" + parseInt(b.getAttribute("width"), 10) + "px";
                    c.style.height = "" + parseInt(b.getAttribute("height"), 10) + "px";
                    c.style.margin = "0";
                    c.style.padding = "0";
                    c.style.background = "none";
                    c.style.border = "none";
                    1 === this.type && (c.style.display = "inline-block");
                    b.parentNode.insertBefore(c, b);
                    return m
                },
                sc: function(a) {
                    a = document.getElementById(a ? a + "placeholder": this.g + "placeholder");
                    a.parentNode.removeChild(a);
                    return m
                },
                Ec: function(a) {
                    var b = this.Ma;
                    return this.t(a ? document.getElementById(a) : this.f || document.getElementById(this.g)).top < b ? b: r
                },
                Fc: function(a) {
                    var b = this.Ma;
                    return this.t(a ? document.getElementById(a) : this.f || document.getElementById(this.g)).top < b ? b: r
                }
            })
        });
        return {
            render: function(a, b) {
                switch (parseInt(a._html.xuanting)) {
                case 1:
                    a.displayType = "inlay-float";
                    break;
                case 2:
                    a.displayType = "float-top";
                    break;
                case 3:
                    a.displayType = "float-bottom";
                    break;
                default:
                    a.displayType = "inlay-float"
                }
                var c = g.rb(a),
                d = {
                    L: c.displayType,
                    v: c.styleType,
                    Ja: c.stuffType
                };
                if (!g.Va(d)) return r; (new h({
                    Y: g.ib(c.slotId, b),
                    X: c.slotId,
                    type: c.xuantingType,
                    src: "",
                     c.slotWidth,
                    height: c.slotHeight,
                    v: c.styleType,
                    Ka: c.tn,
                    qa: c.channel,
                    Na: c.unionAccount,
                    na: c.adIndex,
                    Fa: c.pvId,
                    $: c.delayIn,
                    aa: c.delayOut,
                    W: c.sessionSync,
                    D: c.closeFor,
                    Da: c.paramString,
                    Ga: c.serviceUrl
                })).uc();
                g.ub(d)
            }
        }
    });
})();

  

原文地址:https://www.cnblogs.com/josn1984/p/6221281.html