!function (e, t) {
    function o(e) {
        return "[object Function]" === Object.prototype.toString.call(e)
    }

    function r(e) {
        if (!d[e])throw new Error("Module " + e + " is not defined.");
        var t = d[e];
        return t.module.status !== a.INITIALIZED && n(e), t.module.exports
    }

    function n(e) {
        var n = d[e], i = n.module, f = i.exports, s = i.factory;
        if (i.parent = u, u = n, o(s)) {
            var c = s(r, f, i);
            c !== t && (i.exports = c)
        } else i.exports = d[e].factory;
        i.status = a.INITIALIZED
    }

    function i(e, r, i) {
        if (d[e])throw new Error("Module " + e + " has been defined already.");
        if ("undefined" == typeof i && (i = r), !o(i) && i !== Object(i))throw new Error("factory of module " + e + " must be an object or a function.");
        d[e] = {
            module: {
                id: e,
                exports: {},
                uri: "",
                dependencies: [],
                parent: t,
                factory: i,
                status: a.DEFINED
            }
        }, e === f && n(e)
    }

    var a = {
        DEFINED: "The module is just DEFINED",
        INITIALIZED: "The module is compiled and module.exports is available."
    };
    if (!e.define) {
        for (var u, d = {}, f = null, s = document.getElementsByTagName("script"), c = 0, l = s.length; c < l && !f; c++)f = s[c].getAttribute("data-main");
        if (!f)throw new Error("No data-main attribute in script tag.");
        e.define = i
    }
}(window);
!function (e, t) {
    "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) {
        if (!e.document)throw new Error("jQuery requires a window with a document");
        return t(e)
    } : t(e)
}("undefined" != typeof window ? window : this, function (e, t) {
    function n(e) {
        var t = e.length, n = ee.type(e);
        return "function" !== n && !ee.isWindow(e) && (!(1 !== e.nodeType || !t) || ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e))
    }

    function r(e, t, n) {
        if (ee.isFunction(t))return ee.grep(e, function (e, r) {
            return !!t.call(e, r, e) !== n
        });
        if (t.nodeType)return ee.grep(e, function (e) {
            return e === t !== n
        });
        if ("string" == typeof t) {
            if (ae.test(t))return ee.filter(t, e, n);
            t = ee.filter(t, e)
        }
        return ee.grep(e, function (e) {
            return U.call(t, e) >= 0 !== n
        })
    }

    function i(e, t) {
        for (; (e = e[t]) && 1 !== e.nodeType;);
        return e
    }

    function o(e) {
        var t = he[e] = {};
        return ee.each(e.match(de) || [], function (e, n) {
            t[n] = !0
        }), t
    }

    function s() {
        Z.removeEventListener("DOMContentLoaded", s, !1), e.removeEventListener("load", s, !1), ee.ready()
    }

    function a() {
        Object.defineProperty(this.cache = {}, 0, {
            get: function () {
                return {}
            }
        }), this.expando = ee.expando + Math.random()
    }

    function u(e, t, n) {
        var r;
        if (void 0 === n && 1 === e.nodeType)if (r = "data-" + t.replace(be, "-$1").toLowerCase(), n = e.getAttribute(r), "string" == typeof n) {
            try {
                n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : xe.test(n) ? ee.parseJSON(n) : n)
            } catch (i) {
            }
            ye.set(e, t, n)
        } else n = void 0;
        return n
    }

    function l() {
        return !0
    }

    function c() {
        return !1
    }

    function f() {
        try {
            return Z.activeElement
        } catch (e) {
        }
    }

    function p(e, t) {
        return ee.nodeName(e, "table") && ee.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
    }

    function d(e) {
        return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
    }

    function h(e) {
        var t = Me.exec(e.type);
        return t ? e.type = t[1] : e.removeAttribute("type"), e
    }

    function g(e, t) {
        for (var n = 0, r = e.length; n < r; n++)ve.set(e[n], "globalEval", !t || ve.get(t[n], "globalEval"))
    }

    function m(e, t) {
        var n, r, i, o, s, a, u, l;
        if (1 === t.nodeType) {
            if (ve.hasData(e) && (o = ve.access(e), s = ve.set(t, o), l = o.events)) {
                delete s.handle, s.events = {};
                for (i in l)for (n = 0, r = l[i].length; n < r; n++)ee.event.add(t, i, l[i][n])
            }
            ye.hasData(e) && (a = ye.access(e), u = ee.extend({}, a), ye.set(t, u))
        }
    }

    function v(e, t) {
        var n = e.getElementsByTagName ? e.getElementsByTagName(t || "*") : e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
        return void 0 === t || t && ee.nodeName(e, t) ? ee.merge([e], n) : n
    }

    function y(e, t) {
        var n = t.nodeName.toLowerCase();
        "input" === n && Ne.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
    }

    function x(t, n) {
        var r = ee(n.createElement(t)).appendTo(n.body), i = e.getDefaultComputedStyle ? e.getDefaultComputedStyle(r[0]).display : ee.css(r[0], "display");
        return r.detach(), i
    }

    function b(e) {
        var t = Z, n = We[e];
        return n || (n = x(e, t), "none" !== n && n || (Ie = (Ie || ee("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = Ie[0].contentDocument, t.write(), t.close(), n = x(e, t), Ie.detach()), We[e] = n), n
    }

    function w(e, t, n) {
        var r, i, o, s, a = e.style;
        return n = n || _e(e), n && (s = n.getPropertyValue(t) || n[t]), n && ("" !== s || ee.contains(e.ownerDocument, e) || (s = ee.style(e, t)), Be.test(s) && $e.test(t) && (r = a.width, i = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = r, a.minWidth = i, a.maxWidth = o)), void 0 !== s ? s + "" : s
    }

    function T(e, t) {
        return {
            get: function () {
                return e() ? void delete this.get : (this.get = t).apply(this, arguments)
            }
        }
    }

    function C(e, t) {
        if (t in e)return t;
        for (var n = t[0].toUpperCase() + t.slice(1), r = t, i = Ge.length; i--;)if (t = Ge[i] + n, t in e)return t;
        return r
    }

    function N(e, t, n) {
        var r = ze.exec(t);
        return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
    }

    function E(e, t, n, r, i) {
        for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; o < 4; o += 2)"margin" === n && (s += ee.css(e, n + Te[o], !0, i)), r ? ("content" === n && (s -= ee.css(e, "padding" + Te[o], !0, i)), "margin" !== n && (s -= ee.css(e, "border" + Te[o] + "Width", !0, i))) : (s += ee.css(e, "padding" + Te[o], !0, i), "padding" !== n && (s += ee.css(e, "border" + Te[o] + "Width", !0, i)));
        return s
    }

    function k(e, t, n) {
        var r = !0, i = "width" === t ? e.offsetWidth : e.offsetHeight, o = _e(e), s = "border-box" === ee.css(e, "boxSizing", !1, o);
        if (i <= 0 || null == i) {
            if (i = w(e, t, o), (i < 0 || null == i) && (i = e.style[t]), Be.test(i))return i;
            r = s && (J.boxSizingReliable() || i === e.style[t]), i = parseFloat(i) || 0
        }
        return i + E(e, t, n || (s ? "border" : "content"), r, o) + "px"
    }

    function D(e, t) {
        for (var n, r, i, o = [], s = 0, a = e.length; s < a; s++)r = e[s], r.style && (o[s] = ve.get(r, "olddisplay"), n = r.style.display, t ? (o[s] || "none" !== n || (r.style.display = ""), "" === r.style.display && Ce(r) && (o[s] = ve.access(r, "olddisplay", b(r.nodeName)))) : o[s] || (i = Ce(r), (n && "none" !== n || !i) && ve.set(r, "olddisplay", i ? n : ee.css(r, "display"))));
        for (s = 0; s < a; s++)r = e[s], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[s] || "" : "none"));
        return e
    }

    function j(e, t, n, r, i) {
        return new j.prototype.init(e, t, n, r, i)
    }

    function S() {
        return setTimeout(function () {
            Qe = void 0
        }), Qe = ee.now()
    }

    function A(e, t) {
        var n, r = 0, i = {height: e};
        for (t = t ? 1 : 0; r < 4; r += 2 - t)n = Te[r], i["margin" + n] = i["padding" + n] = e;
        return t && (i.opacity = i.width = e), i
    }

    function L(e, t, n) {
        for (var r, i = (nt[t] || []).concat(nt["*"]), o = 0, s = i.length; o < s; o++)if (r = i[o].call(n, t, e))return r
    }

    function q(e, t, n) {
        var r, i, o, s, a, u, l, c = this, f = {}, p = e.style, d = e.nodeType && Ce(e), h = ve.get(e, "fxshow");
        n.queue || (a = ee._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, u = a.empty.fire, a.empty.fire = function () {
            a.unqueued || u()
        }), a.unqueued++, c.always(function () {
            c.always(function () {
                a.unqueued--, ee.queue(e, "fx").length || a.empty.fire()
            })
        })), 1 === e.nodeType && ("height"in t || "width"in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], l = ee.css(e, "display"), "none" === l && (l = b(e.nodeName)), "inline" === l && "none" === ee.css(e, "float") && (p.display = "inline-block")), n.overflow && (p.overflow = "hidden", c.always(function () {
            p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2]
        }));
        for (r in t)if (i = t[r], Ze.exec(i)) {
            if (delete t[r], o = o || "toggle" === i, i === (d ? "hide" : "show")) {
                if ("show" !== i || !h || void 0 === h[r])continue;
                d = !0
            }
            f[r] = h && h[r] || ee.style(e, r)
        }
        if (!ee.isEmptyObject(f)) {
            h ? "hidden"in h && (d = h.hidden) : h = ve.access(e, "fxshow", {}), o && (h.hidden = !d), d ? ee(e).show() : c.done(function () {
                ee(e).hide()
            }), c.done(function () {
                var t;
                ve.remove(e, "fxshow");
                for (t in f)ee.style(e, t, f[t])
            });
            for (r in f)s = L(d ? h[r] : 0, r, c), r in h || (h[r] = s.start, d && (s.end = s.start, s.start = "width" === r || "height" === r ? 1 : 0))
        }
    }

    function H(e, t) {
        var n, r, i, o, s;
        for (n in e)if (r = ee.camelCase(n), i = t[r], o = e[n], ee.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), s = ee.cssHooks[r], s && "expand"in s) {
            o = s.expand(o), delete e[r];
            for (n in o)n in e || (e[n] = o[n], t[n] = i)
        } else t[r] = i
    }

    function O(e, t, n) {
        var r, i, o = 0, s = tt.length, a = ee.Deferred().always(function () {
            delete u.elem
        }), u = function () {
            if (i)return !1;
            for (var t = Qe || S(), n = Math.max(0, l.startTime + l.duration - t), r = n / l.duration || 0, o = 1 - r, s = 0, u = l.tweens.length; s < u; s++)l.tweens[s].run(o);
            return a.notifyWith(e, [l, o, n]), o < 1 && u ? n : (a.resolveWith(e, [l]), !1)
        }, l = a.promise({
            elem: e,
            props: ee.extend({}, t),
            opts: ee.extend(!0, {specialEasing: {}}, n),
            originalProperties: t,
            originalOptions: n,
            startTime: Qe || S(),
            duration: n.duration,
            tweens: [],
            createTween: function (t, n) {
                var r = ee.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
                return l.tweens.push(r), r
            },
            stop: function (t) {
                var n = 0, r = t ? l.tweens.length : 0;
                if (i)return this;
                for (i = !0; n < r; n++)l.tweens[n].run(1);
                return t ? a.resolveWith(e, [l, t]) : a.rejectWith(e, [l, t]), this
            }
        }), c = l.props;
        for (H(c, l.opts.specialEasing); o < s; o++)if (r = tt[o].call(l, e, c, l.opts))return r;
        return ee.map(c, L, l), ee.isFunction(l.opts.start) && l.opts.start.call(e, l), ee.fx.timer(ee.extend(u, {
            elem: e,
            anim: l,
            queue: l.opts.queue
        })), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
    }

    function F(e) {
        return function (t, n) {
            "string" != typeof t && (n = t, t = "*");
            var r, i = 0, o = t.toLowerCase().match(de) || [];
            if (ee.isFunction(n))for (; r = o[i++];)"+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
        }
    }

    function M(e, t, n, r) {
        function i(a) {
            var u;
            return o[a] = !0, ee.each(e[a] || [], function (e, a) {
                var l = a(t, n, r);
                return "string" != typeof l || s || o[l] ? s ? !(u = l) : void 0 : (t.dataTypes.unshift(l), i(l), !1)
            }), u
        }

        var o = {}, s = e === wt;
        return i(t.dataTypes[0]) || !o["*"] && i("*")
    }

    function P(e, t) {
        var n, r, i = ee.ajaxSettings.flatOptions || {};
        for (n in t)void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
        return r && ee.extend(!0, e, r), e
    }

    function R(e, t, n) {
        for (var r, i, o, s, a = e.contents, u = e.dataTypes; "*" === u[0];)u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
        if (r)for (i in a)if (a[i] && a[i].test(r)) {
            u.unshift(i);
            break
        }
        if (u[0]in n)o = u[0]; else {
            for (i in n) {
                if (!u[0] || e.converters[i + " " + u[0]]) {
                    o = i;
                    break
                }
                s || (s = i)
            }
            o = o || s
        }
        if (o)return o !== u[0] && u.unshift(o), n[o]
    }

    function I(e, t, n, r) {
        var i, o, s, a, u, l = {}, c = e.dataTypes.slice();
        if (c[1])for (s in e.converters)l[s.toLowerCase()] = e.converters[s];
        for (o = c.shift(); o;)if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())if ("*" === o)o = u; else if ("*" !== u && u !== o) {
            if (s = l[u + " " + o] || l["* " + o], !s)for (i in l)if (a = i.split(" "), a[1] === o && (s = l[u + " " + a[0]] || l["* " + a[0]])) {
                s === !0 ? s = l[i] : l[i] !== !0 && (o = a[0], c.unshift(a[1]));
                break
            }
            if (s !== !0)if (s && e["throws"])t = s(t); else try {
                t = s(t)
            } catch (f) {
                return {state: "parsererror", error: s ? f : "No conversion from " + u + " to " + o}
            }
        }
        return {state: "success", data: t}
    }

    function W(e, t, n, r) {
        var i;
        if (ee.isArray(t))ee.each(t, function (t, i) {
            n || Et.test(e) ? r(e, i) : W(e + "[" + ("object" == typeof i ? t : "") + "]", i, n, r)
        }); else if (n || "object" !== ee.type(t))r(e, t); else for (i in t)W(e + "[" + i + "]", t[i], n, r)
    }

    function $(e) {
        return ee.isWindow(e) ? e : 9 === e.nodeType && e.defaultView
    }

    var B = [], _ = B.slice, X = B.concat, z = B.push, U = B.indexOf, V = {}, Y = V.toString, G = V.hasOwnProperty, Q = "".trim, J = {}, Z = e.document, K = "2.1.0", ee = function (e, t) {
        return new ee.fn.init(e, t)
    }, te = /^-ms-/, ne = /-([\da-z])/gi, re = function (e, t) {
        return t.toUpperCase()
    };
    ee.fn = ee.prototype = {
        jquery: K, constructor: ee, selector: "", length: 0, toArray: function () {
            return _.call(this)
        }, get: function (e) {
            return null != e ? e < 0 ? this[e + this.length] : this[e] : _.call(this)
        }, pushStack: function (e) {
            var t = ee.merge(this.constructor(), e);
            return t.prevObject = this, t.context = this.context, t
        }, each: function (e, t) {
            return ee.each(this, e, t)
        }, map: function (e) {
            return this.pushStack(ee.map(this, function (t, n) {
                return e.call(t, n, t)
            }))
        }, slice: function () {
            return this.pushStack(_.apply(this, arguments))
        }, first: function () {
            return this.eq(0)
        }, last: function () {
            return this.eq(-1)
        }, eq: function (e) {
            var t = this.length, n = +e + (e < 0 ? t : 0);
            return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
        }, end: function () {
            return this.prevObject || this.constructor(null)
        }, push: z, sort: B.sort, splice: B.splice
    }, ee.extend = ee.fn.extend = function () {
        var e, t, n, r, i, o, s = arguments[0] || {}, a = 1, u = arguments.length, l = !1;
        for ("boolean" == typeof s && (l = s, s = arguments[a] || {}, a++), "object" == typeof s || ee.isFunction(s) || (s = {}), a === u && (s = this, a--); a < u; a++)if (null != (e = arguments[a]))for (t in e)n = s[t], r = e[t], s !== r && (l && r && (ee.isPlainObject(r) || (i = ee.isArray(r))) ? (i ? (i = !1, o = n && ee.isArray(n) ? n : []) : o = n && ee.isPlainObject(n) ? n : {}, s[t] = ee.extend(l, o, r)) : void 0 !== r && (s[t] = r));
        return s
    }, ee.extend({
        expando: "jQuery" + (K + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) {
            throw new Error(e)
        }, noop: function () {
        }, isFunction: function (e) {
            return "function" === ee.type(e)
        }, isArray: Array.isArray, isWindow: function (e) {
            return null != e && e === e.window
        }, isNumeric: function (e) {
            return e - parseFloat(e) >= 0
        }, isPlainObject: function (e) {
            if ("object" !== ee.type(e) || e.nodeType || ee.isWindow(e))return !1;
            try {
                if (e.constructor && !G.call(e.constructor.prototype, "isPrototypeOf"))return !1
            } catch (t) {
                return !1
            }
            return !0
        }, isEmptyObject: function (e) {
            var t;
            for (t in e)return !1;
            return !0
        }, type: function (e) {
            return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? V[Y.call(e)] || "object" : typeof e
        }, globalEval: function (e) {
            var t, n = eval;
            e = ee.trim(e), e && (1 === e.indexOf("use strict") ? (t = Z.createElement("script"), t.text = e, Z.head.appendChild(t).parentNode.removeChild(t)) : n(e))
        }, camelCase: function (e) {
            return e.replace(te, "ms-").replace(ne, re)
        }, nodeName: function (e, t) {
            return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
        }, each: function (e, t, r) {
            var i, o = 0, s = e.length, a = n(e);
            if (r) {
                if (a)for (; o < s && (i = t.apply(e[o], r), i !== !1); o++); else for (o in e)if (i = t.apply(e[o], r), i === !1)break
            } else if (a)for (; o < s && (i = t.call(e[o], o, e[o]), i !== !1); o++); else for (o in e)if (i = t.call(e[o], o, e[o]), i === !1)break;
            return e
        }, trim: function (e) {
            return null == e ? "" : Q.call(e)
        }, makeArray: function (e, t) {
            var r = t || [];
            return null != e && (n(Object(e)) ? ee.merge(r, "string" == typeof e ? [e] : e) : z.call(r, e)), r
        }, inArray: function (e, t, n) {
            return null == t ? -1 : U.call(t, e, n)
        }, merge: function (e, t) {
            for (var n = +t.length, r = 0, i = e.length; r < n; r++)e[i++] = t[r];
            return e.length = i, e
        }, grep: function (e, t, n) {
            for (var r, i = [], o = 0, s = e.length, a = !n; o < s; o++)r = !t(e[o], o), r !== a && i.push(e[o]);
            return i
        }, map: function (e, t, r) {
            var i, o = 0, s = e.length, a = n(e), u = [];
            if (a)for (; o < s; o++)i = t(e[o], o, r), null != i && u.push(i); else for (o in e)i = t(e[o], o, r), null != i && u.push(i);
            return X.apply([], u)
        }, guid: 1, proxy: function (e, t) {
            var n, r, i;
            if ("string" == typeof t && (n = e[t], t = e, e = n), ee.isFunction(e))return r = _.call(arguments, 2), i = function () {
                return e.apply(t || this, r.concat(_.call(arguments)))
            }, i.guid = e.guid = e.guid || ee.guid++, i
        }, now: Date.now, support: J
    }), ee.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (e, t) {
        V["[object " + t + "]"] = t.toLowerCase()
    });
    var ie = function (e) {
        function t(e, t, n, r) {
            var i, o, s, a, u, l, f, h, g, m;
            if ((t ? t.ownerDocument || t : W) !== q && L(t), t = t || q, n = n || [], !e || "string" != typeof e)return n;
            if (1 !== (a = t.nodeType) && 9 !== a)return [];
            if (O && !r) {
                if (i = ye.exec(e))if (s = i[1]) {
                    if (9 === a) {
                        if (o = t.getElementById(s), !o || !o.parentNode)return n;
                        if (o.id === s)return n.push(o), n
                    } else if (t.ownerDocument && (o = t.ownerDocument.getElementById(s)) && R(t, o) && o.id === s)return n.push(o), n
                } else {
                    if (i[2])return K.apply(n, t.getElementsByTagName(e)), n;
                    if ((s = i[3]) && C.getElementsByClassName && t.getElementsByClassName)return K.apply(n, t.getElementsByClassName(s)), n
                }
                if (C.qsa && (!F || !F.test(e))) {
                    if (h = f = I, g = t, m = 9 === a && e, 1 === a && "object" !== t.nodeName.toLowerCase()) {
                        for (l = p(e), (f = t.getAttribute("id")) ? h = f.replace(be, "\\$&") : t.setAttribute("id", h), h = "[id='" + h + "'] ", u = l.length; u--;)l[u] = h + d(l[u]);
                        g = xe.test(e) && c(t.parentNode) || t, m = l.join(",")
                    }
                    if (m)try {
                        return K.apply(n, g.querySelectorAll(m)), n
                    } catch (v) {
                    } finally {
                        f || t.removeAttribute("id")
                    }
                }
            }
            return w(e.replace(ue, "$1"), t, n, r)
        }

        function n() {
            function e(n, r) {
                return t.push(n + " ") > N.cacheLength && delete e[t.shift()], e[n + " "] = r
            }

            var t = [];
            return e
        }

        function r(e) {
            return e[I] = !0, e
        }

        function i(e) {
            var t = q.createElement("div");
            try {
                return !!e(t)
            } catch (n) {
                return !1
            } finally {
                t.parentNode && t.parentNode.removeChild(t), t = null
            }
        }

        function o(e, t) {
            for (var n = e.split("|"), r = e.length; r--;)N.attrHandle[n[r]] = t
        }

        function s(e, t) {
            var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || Y) - (~e.sourceIndex || Y);
            if (r)return r;
            if (n)for (; n = n.nextSibling;)if (n === t)return -1;
            return e ? 1 : -1
        }

        function a(e) {
            return function (t) {
                var n = t.nodeName.toLowerCase();
                return "input" === n && t.type === e
            }
        }

        function u(e) {
            return function (t) {
                var n = t.nodeName.toLowerCase();
                return ("input" === n || "button" === n) && t.type === e
            }
        }

        function l(e) {
            return r(function (t) {
                return t = +t, r(function (n, r) {
                    for (var i, o = e([], n.length, t), s = o.length; s--;)n[i = o[s]] && (n[i] = !(r[i] = n[i]))
                })
            })
        }

        function c(e) {
            return e && typeof e.getElementsByTagName !== V && e
        }

        function f() {
        }

        function p(e, n) {
            var r, i, o, s, a, u, l, c = X[e + " "];
            if (c)return n ? 0 : c.slice(0);
            for (a = e, u = [], l = N.preFilter; a;) {
                r && !(i = le.exec(a)) || (i && (a = a.slice(i[0].length) || a), u.push(o = [])), r = !1, (i = ce.exec(a)) && (r = i.shift(), o.push({
                    value: r,
                    type: i[0].replace(ue, " ")
                }), a = a.slice(r.length));
                for (s in N.filter)!(i = he[s].exec(a)) || l[s] && !(i = l[s](i)) || (r = i.shift(), o.push({
                    value: r,
                    type: s,
                    matches: i
                }), a = a.slice(r.length));
                if (!r)break
            }
            return n ? a.length : a ? t.error(e) : X(e, u).slice(0)
        }

        function d(e) {
            for (var t = 0, n = e.length, r = ""; t < n; t++)r += e[t].value;
            return r
        }

        function h(e, t, n) {
            var r = t.dir, i = n && "parentNode" === r, o = B++;
            return t.first ? function (t, n, o) {
                for (; t = t[r];)if (1 === t.nodeType || i)return e(t, n, o)
            } : function (t, n, s) {
                var a, u, l = [$, o];
                if (s) {
                    for (; t = t[r];)if ((1 === t.nodeType || i) && e(t, n, s))return !0
                } else for (; t = t[r];)if (1 === t.nodeType || i) {
                    if (u = t[I] || (t[I] = {}), (a = u[r]) && a[0] === $ && a[1] === o)return l[2] = a[2];
                    if (u[r] = l, l[2] = e(t, n, s))return !0
                }
            }
        }

        function g(e) {
            return e.length > 1 ? function (t, n, r) {
                for (var i = e.length; i--;)if (!e[i](t, n, r))return !1;
                return !0
            } : e[0]
        }

        function m(e, t, n, r, i) {
            for (var o, s = [], a = 0, u = e.length, l = null != t; a < u; a++)(o = e[a]) && (n && !n(o, r, i) || (s.push(o), l && t.push(a)));
            return s
        }

        function v(e, t, n, i, o, s) {
            return i && !i[I] && (i = v(i)), o && !o[I] && (o = v(o, s)), r(function (r, s, a, u) {
                var l, c, f, p = [], d = [], h = s.length, g = r || b(t || "*", a.nodeType ? [a] : a, []), v = !e || !r && t ? g : m(g, p, e, a, u), y = n ? o || (r ? e : h || i) ? [] : s : v;
                if (n && n(v, y, a, u), i)for (l = m(y, d), i(l, [], a, u), c = l.length; c--;)(f = l[c]) && (y[d[c]] = !(v[d[c]] = f));
                if (r) {
                    if (o || e) {
                        if (o) {
                            for (l = [], c = y.length; c--;)(f = y[c]) && l.push(v[c] = f);
                            o(null, y = [], l, u)
                        }
                        for (c = y.length; c--;)(f = y[c]) && (l = o ? te.call(r, f) : p[c]) > -1 && (r[l] = !(s[l] = f))
                    }
                } else y = m(y === s ? y.splice(h, y.length) : y), o ? o(null, s, y, u) : K.apply(s, y)
            })
        }

        function y(e) {
            for (var t, n, r, i = e.length, o = N.relative[e[0].type], s = o || N.relative[" "], a = o ? 1 : 0, u = h(function (e) {
                return e === t
            }, s, !0), l = h(function (e) {
                return te.call(t, e) > -1
            }, s, !0), c = [function (e, n, r) {
                return !o && (r || n !== j) || ((t = n).nodeType ? u(e, n, r) : l(e, n, r))
            }]; a < i; a++)if (n = N.relative[e[a].type])c = [h(g(c), n)]; else {
                if (n = N.filter[e[a].type].apply(null, e[a].matches), n[I]) {
                    for (r = ++a; r < i && !N.relative[e[r].type]; r++);
                    return v(a > 1 && g(c), a > 1 && d(e.slice(0, a - 1).concat({value: " " === e[a - 2].type ? "*" : ""})).replace(ue, "$1"), n, a < r && y(e.slice(a, r)), r < i && y(e = e.slice(r)), r < i && d(e))
                }
                c.push(n)
            }
            return g(c)
        }

        function x(e, n) {
            var i = n.length > 0, o = e.length > 0, s = function (r, s, a, u, l) {
                var c, f, p, d = 0, h = "0", g = r && [], v = [], y = j, x = r || o && N.find.TAG("*", l), b = $ += null == y ? 1 : Math.random() || .1, w = x.length;
                for (l && (j = s !== q && s); h !== w && null != (c = x[h]); h++) {
                    if (o && c) {
                        for (f = 0; p = e[f++];)if (p(c, s, a)) {
                            u.push(c);
                            break
                        }
                        l && ($ = b)
                    }
                    i && ((c = !p && c) && d--, r && g.push(c))
                }
                if (d += h, i && h !== d) {
                    for (f = 0; p = n[f++];)p(g, v, s, a);
                    if (r) {
                        if (d > 0)for (; h--;)g[h] || v[h] || (v[h] = J.call(u));
                        v = m(v)
                    }
                    K.apply(u, v), l && !r && v.length > 0 && d + n.length > 1 && t.uniqueSort(u)
                }
                return l && ($ = b, j = y), g
            };
            return i ? r(s) : s
        }

        function b(e, n, r) {
            for (var i = 0, o = n.length; i < o; i++)t(e, n[i], r);
            return r
        }

        function w(e, t, n, r) {
            var i, o, s, a, u, l = p(e);
            if (!r && 1 === l.length) {
                if (o = l[0] = l[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && C.getById && 9 === t.nodeType && O && N.relative[o[1].type]) {
                    if (t = (N.find.ID(s.matches[0].replace(we, Te), t) || [])[0], !t)return n;
                    e = e.slice(o.shift().value.length)
                }
                for (i = he.needsContext.test(e) ? 0 : o.length; i-- && (s = o[i], !N.relative[a = s.type]);)if ((u = N.find[a]) && (r = u(s.matches[0].replace(we, Te), xe.test(o[0].type) && c(t.parentNode) || t))) {
                    if (o.splice(i, 1), e = r.length && d(o), !e)return K.apply(n, r), n;
                    break
                }
            }
            return D(e, l)(r, t, !O, n, xe.test(e) && c(t.parentNode) || t), n
        }

        var T, C, N, E, k, D, j, S, A, L, q, H, O, F, M, P, R, I = "sizzle" + -new Date, W = e.document, $ = 0, B = 0, _ = n(), X = n(), z = n(), U = function (e, t) {
            return e === t && (A = !0), 0
        }, V = "undefined", Y = 1 << 31, G = {}.hasOwnProperty, Q = [], J = Q.pop, Z = Q.push, K = Q.push, ee = Q.slice, te = Q.indexOf || function (e) {
                for (var t = 0, n = this.length; t < n; t++)if (this[t] === e)return t;
                return -1
            }, ne = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", re = "[\\x20\\t\\r\\n\\f]", ie = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", oe = ie.replace("w", "w#"), se = "\\[" + re + "*(" + ie + ")" + re + "*(?:([*^$|!~]?=)" + re + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + oe + ")|)|)" + re + "*\\]", ae = ":(" + ie + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + se.replace(3, 8) + ")*)|.*)\\)|)", ue = new RegExp("^" + re + "+|((?:^|[^\\\\])(?:\\\\.)*)" + re + "+$", "g"), le = new RegExp("^" + re + "*," + re + "*"), ce = new RegExp("^" + re + "*([>+~]|" + re + ")" + re + "*"), fe = new RegExp("=" + re + "*([^\\]'\"]*?)" + re + "*\\]", "g"), pe = new RegExp(ae), de = new RegExp("^" + oe + "$"), he = {
            ID: new RegExp("^#(" + ie + ")"),
            CLASS: new RegExp("^\\.(" + ie + ")"),
            TAG: new RegExp("^(" + ie.replace("w", "w*") + ")"),
            ATTR: new RegExp("^" + se),
            PSEUDO: new RegExp("^" + ae),
            CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + re + "*(even|odd|(([+-]|)(\\d*)n|)" + re + "*(?:([+-]|)" + re + "*(\\d+)|))" + re + "*\\)|)", "i"),
            bool: new RegExp("^(?:" + ne + ")$", "i"),
            needsContext: new RegExp("^" + re + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + re + "*((?:-\\d)?\\d*)" + re + "*\\)|)(?=[^-]|$)", "i")
        }, ge = /^(?:input|select|textarea|button)$/i, me = /^h\d$/i, ve = /^[^{]+\{\s*\[native \w/, ye = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, xe = /[+~]/, be = /'|\\/g, we = new RegExp("\\\\([\\da-f]{1,6}" + re + "?|(" + re + ")|.)", "ig"), Te = function (e, t, n) {
            var r = "0x" + t - 65536;
            return r !== r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
        };
        try {
            K.apply(Q = ee.call(W.childNodes), W.childNodes), Q[W.childNodes.length].nodeType
        } catch (Ce) {
            K = {
                apply: Q.length ? function (e, t) {
                    Z.apply(e, ee.call(t))
                } : function (e, t) {
                    for (var n = e.length, r = 0; e[n++] = t[r++];);
                    e.length = n - 1
                }
            }
        }
        C = t.support = {}, k = t.isXML = function (e) {
            var t = e && (e.ownerDocument || e).documentElement;
            return !!t && "HTML" !== t.nodeName
        }, L = t.setDocument = function (e) {
            var t, n = e ? e.ownerDocument || e : W, r = n.defaultView;
            return n !== q && 9 === n.nodeType && n.documentElement ? (q = n, H = n.documentElement, O = !k(n), r && r !== r.top && (r.addEventListener ? r.addEventListener("unload", function () {
                L()
            }, !1) : r.attachEvent && r.attachEvent("onunload", function () {
                L()
            })), C.attributes = i(function (e) {
                return e.className = "i", !e.getAttribute("className")
            }), C.getElementsByTagName = i(function (e) {
                return e.appendChild(n.createComment("")), !e.getElementsByTagName("*").length
            }), C.getElementsByClassName = ve.test(n.getElementsByClassName) && i(function (e) {
                    return e.innerHTML = "<div class='a'></div><div class='a i'></div>", e.firstChild.className = "i", 2 === e.getElementsByClassName("i").length
                }), C.getById = i(function (e) {
                return H.appendChild(e).id = I, !n.getElementsByName || !n.getElementsByName(I).length
            }), C.getById ? (N.find.ID = function (e, t) {
                if (typeof t.getElementById !== V && O) {
                    var n = t.getElementById(e);
                    return n && n.parentNode ? [n] : []
                }
            }, N.filter.ID = function (e) {
                var t = e.replace(we, Te);
                return function (e) {
                    return e.getAttribute("id") === t
                }
            }) : (delete N.find.ID, N.filter.ID = function (e) {
                var t = e.replace(we, Te);
                return function (e) {
                    var n = typeof e.getAttributeNode !== V && e.getAttributeNode("id");
                    return n && n.value === t
                }
            }), N.find.TAG = C.getElementsByTagName ? function (e, t) {
                if (typeof t.getElementsByTagName !== V)return t.getElementsByTagName(e)
            } : function (e, t) {
                var n, r = [], i = 0, o = t.getElementsByTagName(e);
                if ("*" === e) {
                    for (; n = o[i++];)1 === n.nodeType && r.push(n);
                    return r
                }
                return o
            }, N.find.CLASS = C.getElementsByClassName && function (e, t) {
                    if (typeof t.getElementsByClassName !== V && O)return t.getElementsByClassName(e)
                }, M = [], F = [], (C.qsa = ve.test(n.querySelectorAll)) && (i(function (e) {
                e.innerHTML = "<select t=''><option selected=''></option></select>", e.querySelectorAll("[t^='']").length && F.push("[*^$]=" + re + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || F.push("\\[" + re + "*(?:value|" + ne + ")"), e.querySelectorAll(":checked").length || F.push(":checked")
            }), i(function (e) {
                var t = n.createElement("input");
                t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && F.push("name" + re + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || F.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), F.push(",.*:")
            })), (C.matchesSelector = ve.test(P = H.webkitMatchesSelector || H.mozMatchesSelector || H.oMatchesSelector || H.msMatchesSelector)) && i(function (e) {
                C.disconnectedMatch = P.call(e, "div"), P.call(e, "[s!='']:x"), M.push("!=", ae)
            }), F = F.length && new RegExp(F.join("|")), M = M.length && new RegExp(M.join("|")), t = ve.test(H.compareDocumentPosition), R = t || ve.test(H.contains) ? function (e, t) {
                var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode;
                return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
            } : function (e, t) {
                if (t)for (; t = t.parentNode;)if (t === e)return !0;
                return !1
            }, U = t ? function (e, t) {
                if (e === t)return A = !0, 0;
                var r = !e.compareDocumentPosition - !t.compareDocumentPosition;
                return r ? r : (r = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & r || !C.sortDetached && t.compareDocumentPosition(e) === r ? e === n || e.ownerDocument === W && R(W, e) ? -1 : t === n || t.ownerDocument === W && R(W, t) ? 1 : S ? te.call(S, e) - te.call(S, t) : 0 : 4 & r ? -1 : 1)
            } : function (e, t) {
                if (e === t)return A = !0, 0;
                var r, i = 0, o = e.parentNode, a = t.parentNode, u = [e], l = [t];
                if (!o || !a)return e === n ? -1 : t === n ? 1 : o ? -1 : a ? 1 : S ? te.call(S, e) - te.call(S, t) : 0;
                if (o === a)return s(e, t);
                for (r = e; r = r.parentNode;)u.unshift(r);
                for (r = t; r = r.parentNode;)l.unshift(r);
                for (; u[i] === l[i];)i++;
                return i ? s(u[i], l[i]) : u[i] === W ? -1 : l[i] === W ? 1 : 0
            }, n) : q
        }, t.matches = function (e, n) {
            return t(e, null, null, n)
        }, t.matchesSelector = function (e, n) {
            if ((e.ownerDocument || e) !== q && L(e), n = n.replace(fe, "='$1']"), C.matchesSelector && O && (!M || !M.test(n)) && (!F || !F.test(n)))try {
                var r = P.call(e, n);
                if (r || C.disconnectedMatch || e.document && 11 !== e.document.nodeType)return r
            } catch (i) {
            }
            return t(n, q, null, [e]).length > 0
        }, t.contains = function (e, t) {
            return (e.ownerDocument || e) !== q && L(e), R(e, t)
        }, t.attr = function (e, t) {
            (e.ownerDocument || e) !== q && L(e);
            var n = N.attrHandle[t.toLowerCase()], r = n && G.call(N.attrHandle, t.toLowerCase()) ? n(e, t, !O) : void 0;
            return void 0 !== r ? r : C.attributes || !O ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
        }, t.error = function (e) {
            throw new Error("Syntax error, unrecognized expression: " + e)
        }, t.uniqueSort = function (e) {
            var t, n = [], r = 0, i = 0;
            if (A = !C.detectDuplicates, S = !C.sortStable && e.slice(0), e.sort(U), A) {
                for (; t = e[i++];)t === e[i] && (r = n.push(i));
                for (; r--;)e.splice(n[r], 1)
            }
            return S = null, e
        }, E = t.getText = function (e) {
            var t, n = "", r = 0, i = e.nodeType;
            if (i) {
                if (1 === i || 9 === i || 11 === i) {
                    if ("string" == typeof e.textContent)return e.textContent;
                    for (e = e.firstChild; e; e = e.nextSibling)n += E(e)
                } else if (3 === i || 4 === i)return e.nodeValue
            } else for (; t = e[r++];)n += E(t);
            return n
        }, N = t.selectors = {
            cacheLength: 50,
            createPseudo: r,
            match: he,
            attrHandle: {},
            find: {},
            relative: {
                ">": {dir: "parentNode", first: !0},
                " ": {dir: "parentNode"},
                "+": {dir: "previousSibling", first: !0},
                "~": {dir: "previousSibling"}
            },
            preFilter: {
                ATTR: function (e) {
                    return e[1] = e[1].replace(we, Te), e[3] = (e[4] || e[5] || "").replace(we, Te), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
                }, CHILD: function (e) {
                    return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e
                }, PSEUDO: function (e) {
                    var t, n = !e[5] && e[2];
                    return he.CHILD.test(e[0]) ? null : (e[3] && void 0 !== e[4] ? e[2] = e[4] : n && pe.test(n) && (t = p(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
                }
            },
            filter: {
                TAG: function (e) {
                    var t = e.replace(we, Te).toLowerCase();
                    return "*" === e ? function () {
                        return !0
                    } : function (e) {
                        return e.nodeName && e.nodeName.toLowerCase() === t
                    }
                }, CLASS: function (e) {
                    var t = _[e + " "];
                    return t || (t = new RegExp("(^|" + re + ")" + e + "(" + re + "|$)")) && _(e, function (e) {
                            return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== V && e.getAttribute("class") || "")
                        })
                }, ATTR: function (e, n, r) {
                    return function (i) {
                        var o = t.attr(i, e);
                        return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === r : "!=" === n ? o !== r : "^=" === n ? r && 0 === o.indexOf(r) : "*=" === n ? r && o.indexOf(r) > -1 : "$=" === n ? r && o.slice(-r.length) === r : "~=" === n ? (" " + o + " ").indexOf(r) > -1 : "|=" === n && (o === r || o.slice(0, r.length + 1) === r + "-"))
                    }
                }, CHILD: function (e, t, n, r, i) {
                    var o = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t;
                    return 1 === r && 0 === i ? function (e) {
                        return !!e.parentNode
                    } : function (t, n, u) {
                        var l, c, f, p, d, h, g = o !== s ? "nextSibling" : "previousSibling", m = t.parentNode, v = a && t.nodeName.toLowerCase(), y = !u && !a;
                        if (m) {
                            if (o) {
                                for (; g;) {
                                    for (f = t; f = f[g];)if (a ? f.nodeName.toLowerCase() === v : 1 === f.nodeType)return !1;
                                    h = g = "only" === e && !h && "nextSibling"
                                }
                                return !0
                            }
                            if (h = [s ? m.firstChild : m.lastChild], s && y) {
                                for (c = m[I] || (m[I] = {}), l = c[e] || [], d = l[0] === $ && l[1], p = l[0] === $ && l[2], f = d && m.childNodes[d]; f = ++d && f && f[g] || (p = d = 0) || h.pop();)if (1 === f.nodeType && ++p && f === t) {
                                    c[e] = [$, d, p];
                                    break
                                }
                            } else if (y && (l = (t[I] || (t[I] = {}))[e]) && l[0] === $)p = l[1]; else for (; (f = ++d && f && f[g] || (p = d = 0) || h.pop()) && ((a ? f.nodeName.toLowerCase() !== v : 1 !== f.nodeType) || !++p || (y && ((f[I] || (f[I] = {}))[e] = [$, p]), f !== t)););
                            return p -= i, p === r || p % r === 0 && p / r >= 0
                        }
                    }
                }, PSEUDO: function (e, n) {
                    var i, o = N.pseudos[e] || N.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
                    return o[I] ? o(n) : o.length > 1 ? (i = [e, e, "", n], N.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function (e, t) {
                        for (var r, i = o(e, n), s = i.length; s--;)r = te.call(e, i[s]), e[r] = !(t[r] = i[s])
                    }) : function (e) {
                        return o(e, 0, i)
                    }) : o
                }
            },
            pseudos: {
                not: r(function (e) {
                    var t = [], n = [], i = D(e.replace(ue, "$1"));
                    return i[I] ? r(function (e, t, n, r) {
                        for (var o, s = i(e, null, r, []), a = e.length; a--;)(o = s[a]) && (e[a] = !(t[a] = o))
                    }) : function (e, r, o) {
                        return t[0] = e, i(t, null, o, n), !n.pop()
                    }
                }), has: r(function (e) {
                    return function (n) {
                        return t(e, n).length > 0
                    }
                }), contains: r(function (e) {
                    return function (t) {
                        return (t.textContent || t.innerText || E(t)).indexOf(e) > -1
                    }
                }), lang: r(function (e) {
                    return de.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(we, Te).toLowerCase(), function (t) {
                        var n;
                        do if (n = O ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang"))return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType);
                        return !1
                    }
                }), target: function (t) {
                    var n = e.location && e.location.hash;
                    return n && n.slice(1) === t.id
                }, root: function (e) {
                    return e === H
                }, focus: function (e) {
                    return e === q.activeElement && (!q.hasFocus || q.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
                }, enabled: function (e) {
                    return e.disabled === !1
                }, disabled: function (e) {
                    return e.disabled === !0
                }, checked: function (e) {
                    var t = e.nodeName.toLowerCase();
                    return "input" === t && !!e.checked || "option" === t && !!e.selected
                }, selected: function (e) {
                    return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
                }, empty: function (e) {
                    for (e = e.firstChild; e; e = e.nextSibling)if (e.nodeType < 6)return !1;
                    return !0
                }, parent: function (e) {
                    return !N.pseudos.empty(e)
                }, header: function (e) {
                    return me.test(e.nodeName)
                }, input: function (e) {
                    return ge.test(e.nodeName)
                }, button: function (e) {
                    var t = e.nodeName.toLowerCase();
                    return "input" === t && "button" === e.type || "button" === t
                }, text: function (e) {
                    var t;
                    return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
                }, first: l(function () {
                    return [0]
                }), last: l(function (e, t) {
                    return [t - 1]
                }), eq: l(function (e, t, n) {
                    return [n < 0 ? n + t : n]
                }), even: l(function (e, t) {
                    for (var n = 0; n < t; n += 2)e.push(n);
                    return e
                }), odd: l(function (e, t) {
                    for (var n = 1; n < t; n += 2)e.push(n);
                    return e
                }), lt: l(function (e, t, n) {
                    for (var r = n < 0 ? n + t : n; --r >= 0;)e.push(r);
                    return e
                }), gt: l(function (e, t, n) {
                    for (var r = n < 0 ? n + t : n; ++r < t;)e.push(r);
                    return e
                })
            }
        }, N.pseudos.nth = N.pseudos.eq;
        for (T in{radio: !0, checkbox: !0, file: !0, password: !0, image: !0})N.pseudos[T] = a(T);
        for (T in{submit: !0, reset: !0})N.pseudos[T] = u(T);
        return f.prototype = N.filters = N.pseudos, N.setFilters = new f, D = t.compile = function (e, t) {
            var n, r = [], i = [], o = z[e + " "];
            if (!o) {
                for (t || (t = p(e)), n = t.length; n--;)o = y(t[n]), o[I] ? r.push(o) : i.push(o);
                o = z(e, x(i, r))
            }
            return o
        }, C.sortStable = I.split("").sort(U).join("") === I, C.detectDuplicates = !!A, L(), C.sortDetached = i(function (e) {
            return 1 & e.compareDocumentPosition(q.createElement("div"))
        }), i(function (e) {
            return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
        }) || o("type|href|height|width", function (e, t, n) {
            if (!n)return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
        }), C.attributes && i(function (e) {
            return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
        }) || o("value", function (e, t, n) {
            if (!n && "input" === e.nodeName.toLowerCase())return e.defaultValue
        }), i(function (e) {
            return null == e.getAttribute("disabled")
        }) || o(ne, function (e, t, n) {
            var r;
            if (!n)return e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
        }), t
    }(e);
    ee.find = ie, ee.expr = ie.selectors, ee.expr[":"] = ee.expr.pseudos, ee.unique = ie.uniqueSort, ee.text = ie.getText, ee.isXMLDoc = ie.isXML, ee.contains = ie.contains;
    var oe = ee.expr.match.needsContext, se = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, ae = /^.[^:#\[\.,]*$/;
    ee.filter = function (e, t, n) {
        var r = t[0];
        return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? ee.find.matchesSelector(r, e) ? [r] : [] : ee.find.matches(e, ee.grep(t, function (e) {
            return 1 === e.nodeType
        }))
    }, ee.fn.extend({
        find: function (e) {
            var t, n = this.length, r = [], i = this;
            if ("string" != typeof e)return this.pushStack(ee(e).filter(function () {
                for (t = 0; t < n; t++)if (ee.contains(i[t], this))return !0
            }));
            for (t = 0; t < n; t++)ee.find(e, i[t], r);
            return r = this.pushStack(n > 1 ? ee.unique(r) : r), r.selector = this.selector ? this.selector + " " + e : e, r
        }, filter: function (e) {
            return this.pushStack(r(this, e || [], !1))
        }, not: function (e) {
            return this.pushStack(r(this, e || [], !0))
        }, is: function (e) {
            return !!r(this, "string" == typeof e && oe.test(e) ? ee(e) : e || [], !1).length
        }
    });
    var ue, le = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, ce = ee.fn.init = function (e, t) {
        var n, r;
        if (!e)return this;
        if ("string" == typeof e) {
            if (n = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : le.exec(e), !n || !n[1] && t)return !t || t.jquery ? (t || ue).find(e) : this.constructor(t).find(e);
            if (n[1]) {
                if (t = t instanceof ee ? t[0] : t, ee.merge(this, ee.parseHTML(n[1], t && t.nodeType ? t.ownerDocument || t : Z, !0)), se.test(n[1]) && ee.isPlainObject(t))for (n in t)ee.isFunction(this[n]) ? this[n](t[n]) : this.attr(n, t[n]);
                return this
            }
            return r = Z.getElementById(n[2]), r && r.parentNode && (this.length = 1, this[0] = r), this.context = Z, this.selector = e, this
        }
        return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : ee.isFunction(e) ? "undefined" != typeof ue.ready ? ue.ready(e) : e(ee) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), ee.makeArray(e, this))
    };
    ce.prototype = ee.fn, ue = ee(Z);
    var fe = /^(?:parents|prev(?:Until|All))/, pe = {children: !0, contents: !0, next: !0, prev: !0};
    ee.extend({
        dir: function (e, t, n) {
            for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;)if (1 === e.nodeType) {
                if (i && ee(e).is(n))break;
                r.push(e)
            }
            return r
        }, sibling: function (e, t) {
            for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e);
            return n
        }
    }), ee.fn.extend({
        has: function (e) {
            var t = ee(e, this), n = t.length;
            return this.filter(function () {
                for (var e = 0; e < n; e++)if (ee.contains(this, t[e]))return !0
            })
        }, closest: function (e, t) {
            for (var n, r = 0, i = this.length, o = [], s = oe.test(e) || "string" != typeof e ? ee(e, t || this.context) : 0; r < i; r++)for (n = this[r]; n && n !== t; n = n.parentNode)if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && ee.find.matchesSelector(n, e))) {
                o.push(n);
                break
            }
            return this.pushStack(o.length > 1 ? ee.unique(o) : o)
        }, index: function (e) {
            return e ? "string" == typeof e ? U.call(ee(e), this[0]) : U.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
        }, add: function (e, t) {
            return this.pushStack(ee.unique(ee.merge(this.get(), ee(e, t))))
        }, addBack: function (e) {
            return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
        }
    }), ee.each({
        parent: function (e) {
            var t = e.parentNode;
            return t && 11 !== t.nodeType ? t : null
        }, parents: function (e) {
            return ee.dir(e, "parentNode")
        }, parentsUntil: function (e, t, n) {
            return ee.dir(e, "parentNode", n)
        }, next: function (e) {
            return i(e, "nextSibling")
        }, prev: function (e) {
            return i(e, "previousSibling")
        }, nextAll: function (e) {
            return ee.dir(e, "nextSibling")
        }, prevAll: function (e) {
            return ee.dir(e, "previousSibling")
        }, nextUntil: function (e, t, n) {
            return ee.dir(e, "nextSibling", n)
        }, prevUntil: function (e, t, n) {
            return ee.dir(e, "previousSibling", n)
        }, siblings: function (e) {
            return ee.sibling((e.parentNode || {}).firstChild, e)
        }, children: function (e) {
            return ee.sibling(e.firstChild)
        }, contents: function (e) {
            return e.contentDocument || ee.merge([], e.childNodes)
        }
    }, function (e, t) {
        ee.fn[e] = function (n, r) {
            var i = ee.map(this, t, n);
            return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = ee.filter(r, i)), this.length > 1 && (pe[e] || ee.unique(i), fe.test(e) && i.reverse()), this.pushStack(i)
        }
    });
    var de = /\S+/g, he = {};
    ee.Callbacks = function (e) {
        e = "string" == typeof e ? he[e] || o(e) : ee.extend({}, e);
        var t, n, r, i, s, a, u = [], l = !e.once && [], c = function (o) {
            for (t = e.memory && o, n = !0, a = i || 0, i = 0, s = u.length, r = !0; u && a < s; a++)if (u[a].apply(o[0], o[1]) === !1 && e.stopOnFalse) {
                t = !1;
                break
            }
            r = !1, u && (l ? l.length && c(l.shift()) : t ? u = [] : f.disable())
        }, f = {
            add: function () {
                if (u) {
                    var n = u.length;
                    !function o(t) {
                        ee.each(t, function (t, n) {
                            var r = ee.type(n);
                            "function" === r ? e.unique && f.has(n) || u.push(n) : n && n.length && "string" !== r && o(n)
                        })
                    }(arguments), r ? s = u.length : t && (i = n, c(t))
                }
                return this
            }, remove: function () {
                return u && ee.each(arguments, function (e, t) {
                    for (var n; (n = ee.inArray(t, u, n)) > -1;)u.splice(n, 1), r && (n <= s && s--, n <= a && a--)
                }), this
            }, has: function (e) {
                return e ? ee.inArray(e, u) > -1 : !(!u || !u.length)
            }, empty: function () {
                return u = [], s = 0, this
            }, disable: function () {
                return u = l = t = void 0, this
            }, disabled: function () {
                return !u
            }, lock: function () {
                return l = void 0, t || f.disable(), this
            }, locked: function () {
                return !l
            }, fireWith: function (e, t) {
                return !u || n && !l || (t = t || [], t = [e, t.slice ? t.slice() : t], r ? l.push(t) : c(t)), this
            }, fire: function () {
                return f.fireWith(this, arguments), this
            }, fired: function () {
                return !!n
            }
        };
        return f
    }, ee.extend({
        Deferred: function (e) {
            var t = [["resolve", "done", ee.Callbacks("once memory"), "resolved"], ["reject", "fail", ee.Callbacks("once memory"), "rejected"], ["notify", "progress", ee.Callbacks("memory")]], n = "pending", r = {
                state: function () {
                    return n
                }, always: function () {
                    return i.done(arguments).fail(arguments), this
                }, then: function () {
                    var e = arguments;
                    return ee.Deferred(function (n) {
                        ee.each(t, function (t, o) {
                            var s = ee.isFunction(e[t]) && e[t];
                            i[o[1]](function () {
                                var e = s && s.apply(this, arguments);
                                e && ee.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[o[0] + "With"](this === r ? n.promise() : this, s ? [e] : arguments)
                            })
                        }), e = null
                    }).promise()
                }, promise: function (e) {
                    return null != e ? ee.extend(e, r) : r
                }
            }, i = {};
            return r.pipe = r.then, ee.each(t, function (e, o) {
                var s = o[2], a = o[3];
                r[o[1]] = s.add, a && s.add(function () {
                    n = a
                }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function () {
                    return i[o[0] + "With"](this === i ? r : this, arguments), this
                }, i[o[0] + "With"] = s.fireWith
            }), r.promise(i), e && e.call(i, i), i
        }, when: function (e) {
            var t, n, r, i = 0, o = _.call(arguments), s = o.length, a = 1 !== s || e && ee.isFunction(e.promise) ? s : 0, u = 1 === a ? e : ee.Deferred(), l = function (e, n, r) {
                return function (i) {
                    n[e] = this, r[e] = arguments.length > 1 ? _.call(arguments) : i, r === t ? u.notifyWith(n, r) : --a || u.resolveWith(n, r)
                }
            };
            if (s > 1)for (t = new Array(s), n = new Array(s), r = new Array(s); i < s; i++)o[i] && ee.isFunction(o[i].promise) ? o[i].promise().done(l(i, r, o)).fail(u.reject).progress(l(i, n, t)) : --a;
            return a || u.resolveWith(r, o), u.promise()
        }
    });
    var ge;
    ee.fn.ready = function (e) {
        return ee.ready.promise().done(e), this
    }, ee.extend({
        isReady: !1, readyWait: 1, holdReady: function (e) {
            e ? ee.readyWait++ : ee.ready(!0)
        }, ready: function (e) {
            (e === !0 ? --ee.readyWait : ee.isReady) || (ee.isReady = !0, e !== !0 && --ee.readyWait > 0 || (ge.resolveWith(Z, [ee]), ee.fn.trigger && ee(Z).trigger("ready").off("ready")))
        }
    }), ee.ready.promise = function (t) {
        return ge || (ge = ee.Deferred(), "complete" === Z.readyState ? setTimeout(ee.ready) : (Z.addEventListener("DOMContentLoaded", s, !1), e.addEventListener("load", s, !1))), ge.promise(t)
    }, ee.ready.promise();
    var me = ee.access = function (e, t, n, r, i, o, s) {
        var a = 0, u = e.length, l = null == n;
        if ("object" === ee.type(n)) {
            i = !0;
            for (a in n)ee.access(e, t, a, n[a], !0, o, s)
        } else if (void 0 !== r && (i = !0, ee.isFunction(r) || (s = !0), l && (s ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) {
                return l.call(ee(e), n)
            })), t))for (; a < u; a++)t(e[a], n, s ? r : r.call(e[a], a, t(e[a], n)));
        return i ? e : l ? t.call(e) : u ? t(e[0], n) : o
    };
    ee.acceptData = function (e) {
        return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
    }, a.uid = 1, a.accepts = ee.acceptData, a.prototype = {
        key: function (e) {
            if (!a.accepts(e))return 0;
            var t = {}, n = e[this.expando];
            if (!n) {
                n = a.uid++;
                try {
                    t[this.expando] = {value: n}, Object.defineProperties(e, t)
                } catch (r) {
                    t[this.expando] = n, ee.extend(e, t)
                }
            }
            return this.cache[n] || (this.cache[n] = {}), n
        }, set: function (e, t, n) {
            var r, i = this.key(e), o = this.cache[i];
            if ("string" == typeof t)o[t] = n; else if (ee.isEmptyObject(o))ee.extend(this.cache[i], t); else for (r in t)o[r] = t[r];
            return o
        }, get: function (e, t) {
            var n = this.cache[this.key(e)];
            return void 0 === t ? n : n[t]
        }, access: function (e, t, n) {
            var r;
            return void 0 === t || t && "string" == typeof t && void 0 === n ? (r = this.get(e, t), void 0 !== r ? r : this.get(e, ee.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t)
        }, remove: function (e, t) {
            var n, r, i, o = this.key(e), s = this.cache[o];
            if (void 0 === t)this.cache[o] = {}; else {
                ee.isArray(t) ? r = t.concat(t.map(ee.camelCase)) : (i = ee.camelCase(t), t in s ? r = [t, i] : (r = i, r = r in s ? [r] : r.match(de) || [])), n = r.length;
                for (; n--;)delete s[r[n]]
            }
        }, hasData: function (e) {
            return !ee.isEmptyObject(this.cache[e[this.expando]] || {})
        }, discard: function (e) {
            e[this.expando] && delete this.cache[e[this.expando]]
        }
    };
    var ve = new a, ye = new a, xe = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, be = /([A-Z])/g;
    ee.extend({
        hasData: function (e) {
            return ye.hasData(e) || ve.hasData(e)
        }, data: function (e, t, n) {
            return ye.access(e, t, n)
        }, removeData: function (e, t) {
            ye.remove(e, t)
        }, _data: function (e, t, n) {
            return ve.access(e, t, n)
        }, _removeData: function (e, t) {
            ve.remove(e, t)
        }
    }), ee.fn.extend({
        data: function (e, t) {
            var n, r, i, o = this[0], s = o && o.attributes;
            if (void 0 === e) {
                if (this.length && (i = ye.get(o), 1 === o.nodeType && !ve.get(o, "hasDataAttrs"))) {
                    for (n = s.length; n--;)r = s[n].name, 0 === r.indexOf("data-") && (r = ee.camelCase(r.slice(5)), u(o, r, i[r]));
                    ve.set(o, "hasDataAttrs", !0)
                }
                return i
            }
            return "object" == typeof e ? this.each(function () {
                ye.set(this, e)
            }) : me(this, function (t) {
                var n, r = ee.camelCase(e);
                if (o && void 0 === t) {
                    if (n = ye.get(o, e), void 0 !== n)return n;
                    if (n = ye.get(o, r), void 0 !== n)return n;
                    if (n = u(o, r, void 0), void 0 !== n)return n
                } else this.each(function () {
                    var n = ye.get(this, r);
                    ye.set(this, r, t), e.indexOf("-") !== -1 && void 0 !== n && ye.set(this, e, t)
                })
            }, null, t, arguments.length > 1, null, !0)
        }, removeData: function (e) {
            return this.each(function () {
                ye.remove(this, e)
            })
        }
    }), ee.extend({
        queue: function (e, t, n) {
            var r;
            if (e)return t = (t || "fx") + "queue", r = ve.get(e, t), n && (!r || ee.isArray(n) ? r = ve.access(e, t, ee.makeArray(n)) : r.push(n)), r || []
        }, dequeue: function (e, t) {
            t = t || "fx";
            var n = ee.queue(e, t), r = n.length, i = n.shift(), o = ee._queueHooks(e, t), s = function () {
                ee.dequeue(e, t)
            };
            "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, s, o)), !r && o && o.empty.fire()
        }, _queueHooks: function (e, t) {
            var n = t + "queueHooks";
            return ve.get(e, n) || ve.access(e, n, {
                    empty: ee.Callbacks("once memory").add(function () {
                        ve.remove(e, [t + "queue", n])
                    })
                })
        }
    }), ee.fn.extend({
        queue: function (e, t) {
            var n = 2;
            return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? ee.queue(this[0], e) : void 0 === t ? this : this.each(function () {
                var n = ee.queue(this, e, t);
                ee._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && ee.dequeue(this, e)
            })
        }, dequeue: function (e) {
            return this.each(function () {
                ee.dequeue(this, e)
            })
        }, clearQueue: function (e) {
            return this.queue(e || "fx", [])
        }, promise: function (e, t) {
            var n, r = 1, i = ee.Deferred(), o = this, s = this.length, a = function () {
                --r || i.resolveWith(o, [o])
            };
            for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--;)n = ve.get(o[s], e + "queueHooks"), n && n.empty && (r++, n.empty.add(a));
            return a(), i.promise(t)
        }
    });
    var we = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, Te = ["Top", "Right", "Bottom", "Left"], Ce = function (e, t) {
        return e = t || e, "none" === ee.css(e, "display") || !ee.contains(e.ownerDocument, e)
    }, Ne = /^(?:checkbox|radio)$/i;
    !function () {
        var e = Z.createDocumentFragment(), t = e.appendChild(Z.createElement("div"));
        t.innerHTML = "<input type='radio' checked='checked' name='t'/>", J.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", J.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue
    }();
    var Ee = "undefined";
    J.focusinBubbles = "onfocusin"in e;
    var ke = /^key/, De = /^(?:mouse|contextmenu)|click/, je = /^(?:focusinfocus|focusoutblur)$/, Se = /^([^.]*)(?:\.(.+)|)$/;
    ee.event = {
        global: {},
        add: function (e, t, n, r, i) {
            var o, s, a, u, l, c, f, p, d, h, g, m = ve.get(e);
            if (m)for (n.handler && (o = n, n = o.handler, i = o.selector), n.guid || (n.guid = ee.guid++), (u = m.events) || (u = m.events = {}), (s = m.handle) || (s = m.handle = function (t) {
                return typeof ee !== Ee && ee.event.triggered !== t.type ? ee.event.dispatch.apply(e, arguments) : void 0
            }), t = (t || "").match(de) || [""], l = t.length; l--;)a = Se.exec(t[l]) || [], d = g = a[1], h = (a[2] || "").split(".").sort(), d && (f = ee.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = ee.event.special[d] || {}, c = ee.extend({
                type: d,
                origType: g,
                data: r,
                handler: n,
                guid: n.guid,
                selector: i,
                needsContext: i && ee.expr.match.needsContext.test(i),
                namespace: h.join(".")
            }, o), (p = u[d]) || (p = u[d] = [], p.delegateCount = 0, f.setup && f.setup.call(e, r, h, s) !== !1 || e.addEventListener && e.addEventListener(d, s, !1)), f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), ee.event.global[d] = !0)
        },
        remove: function (e, t, n, r, i) {
            var o, s, a, u, l, c, f, p, d, h, g, m = ve.hasData(e) && ve.get(e);
            if (m && (u = m.events)) {
                for (t = (t || "").match(de) || [""], l = t.length; l--;)if (a = Se.exec(t[l]) || [], d = g = a[1], h = (a[2] || "").split(".").sort(), d) {
                    for (f = ee.event.special[d] || {}, d = (r ? f.delegateType : f.bindType) || d, p = u[d] || [], a = a[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = p.length; o--;)c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));
                    s && !p.length && (f.teardown && f.teardown.call(e, h, m.handle) !== !1 || ee.removeEvent(e, d, m.handle), delete u[d])
                } else for (d in u)ee.event.remove(e, d + t[l], n, r, !0);
                ee.isEmptyObject(u) && (delete m.handle, ve.remove(e, "events"))
            }
        },
        trigger: function (t, n, r, i) {
            var o, s, a, u, l, c, f, p = [r || Z], d = G.call(t, "type") ? t.type : t, h = G.call(t, "namespace") ? t.namespace.split(".") : [];
            if (s = a = r = r || Z, 3 !== r.nodeType && 8 !== r.nodeType && !je.test(d + ee.event.triggered) && (d.indexOf(".") >= 0 && (h = d.split("."), d = h.shift(), h.sort()), l = d.indexOf(":") < 0 && "on" + d, t = t[ee.expando] ? t : new ee.Event(d, "object" == typeof t && t), t.isTrigger = i ? 2 : 3, t.namespace = h.join("."), t.namespace_re = t.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = r), n = null == n ? [t] : ee.makeArray(n, [t]), f = ee.event.special[d] || {}, i || !f.trigger || f.trigger.apply(r, n) !== !1)) {
                if (!i && !f.noBubble && !ee.isWindow(r)) {
                    for (u = f.delegateType || d, je.test(u + d) || (s = s.parentNode); s; s = s.parentNode)p.push(s), a = s;
                    a === (r.ownerDocument || Z) && p.push(a.defaultView || a.parentWindow || e)
                }
                for (o = 0; (s = p[o++]) && !t.isPropagationStopped();)t.type = o > 1 ? u : f.bindType || d, c = (ve.get(s, "events") || {})[t.type] && ve.get(s, "handle"), c && c.apply(s, n), c = l && s[l], c && c.apply && ee.acceptData(s) && (t.result = c.apply(s, n), t.result === !1 && t.preventDefault());
                return t.type = d, i || t.isDefaultPrevented() || f._default && f._default.apply(p.pop(), n) !== !1 || !ee.acceptData(r) || l && ee.isFunction(r[d]) && !ee.isWindow(r) && (a = r[l], a && (r[l] = null), ee.event.triggered = d, r[d](), ee.event.triggered = void 0, a && (r[l] = a)), t.result
            }
        },
        dispatch: function (e) {
            e = ee.event.fix(e);
            var t, n, r, i, o, s = [], a = _.call(arguments), u = (ve.get(this, "events") || {})[e.type] || [], l = ee.event.special[e.type] || {};
            if (a[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) {
                for (s = ee.event.handlers.call(this, e, u), t = 0; (i = s[t++]) && !e.isPropagationStopped();)for (e.currentTarget = i.elem, n = 0; (o = i.handlers[n++]) && !e.isImmediatePropagationStopped();)e.namespace_re && !e.namespace_re.test(o.namespace) || (e.handleObj = o, e.data = o.data, r = ((ee.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, a), void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()));
                return l.postDispatch && l.postDispatch.call(this, e), e.result
            }
        },
        handlers: function (e, t) {
            var n, r, i, o, s = [], a = t.delegateCount, u = e.target;
            if (a && u.nodeType && (!e.button || "click" !== e.type))for (; u !== this; u = u.parentNode || this)if (u.disabled !== !0 || "click" !== e.type) {
                for (r = [], n = 0; n < a; n++)o = t[n], i = o.selector + " ", void 0 === r[i] && (r[i] = o.needsContext ? ee(i, this).index(u) >= 0 : ee.find(i, this, null, [u]).length), r[i] && r.push(o);
                r.length && s.push({elem: u, handlers: r})
            }
            return a < t.length && s.push({elem: this, handlers: t.slice(a)}), s
        },
        props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
        fixHooks: {},
        keyHooks: {
            props: "char charCode key keyCode".split(" "), filter: function (e, t) {
                return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
            }
        },
        mouseHooks: {
            props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
            filter: function (e, t) {
                var n, r, i, o = t.button;
                return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || Z, r = n.documentElement, i = n.body, e.pageX = t.clientX + (r && r.scrollLeft || i && i.scrollLeft || 0) - (r && r.clientLeft || i && i.clientLeft || 0), e.pageY = t.clientY + (r && r.scrollTop || i && i.scrollTop || 0) - (r && r.clientTop || i && i.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e
            }
        },
        fix: function (e) {
            if (e[ee.expando])return e;
            var t, n, r, i = e.type, o = e, s = this.fixHooks[i];
            for (s || (this.fixHooks[i] = s = De.test(i) ? this.mouseHooks : ke.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, e = new ee.Event(o), t = r.length; t--;)n = r[t], e[n] = o[n];
            return e.target || (e.target = Z), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, o) : e
        },
        special: {
            load: {noBubble: !0}, focus: {
                trigger: function () {
                    if (this !== f() && this.focus)return this.focus(), !1
                }, delegateType: "focusin"
            }, blur: {
                trigger: function () {
                    if (this === f() && this.blur)return this.blur(), !1
                }, delegateType: "focusout"
            }, click: {
                trigger: function () {
                    if ("checkbox" === this.type && this.click && ee.nodeName(this, "input"))return this.click(), !1
                }, _default: function (e) {
                    return ee.nodeName(e.target, "a")
                }
            }, beforeunload: {
                postDispatch: function (e) {
                    void 0 !== e.result && (e.originalEvent.returnValue = e.result)
                }
            }
        },
        simulate: function (e, t, n, r) {
            var i = ee.extend(new ee.Event, n, {type: e, isSimulated: !0, originalEvent: {}});
            r ? ee.event.trigger(i, null, t) : ee.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault()
        }
    }, ee.removeEvent = function (e, t, n) {
        e.removeEventListener && e.removeEventListener(t, n, !1)
    }, ee.Event = function (e, t) {
        return this instanceof ee.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.getPreventDefault && e.getPreventDefault() ? l : c) : this.type = e, t && ee.extend(this, t), this.timeStamp = e && e.timeStamp || ee.now(), void(this[ee.expando] = !0)) : new ee.Event(e, t)
    }, ee.Event.prototype = {
        isDefaultPrevented: c,
        isPropagationStopped: c,
        isImmediatePropagationStopped: c,
        preventDefault: function () {
            var e = this.originalEvent;
            this.isDefaultPrevented = l, e && e.preventDefault && e.preventDefault()
        },
        stopPropagation: function () {
            var e = this.originalEvent;
            this.isPropagationStopped = l, e && e.stopPropagation && e.stopPropagation()
        },
        stopImmediatePropagation: function () {
            this.isImmediatePropagationStopped = l, this.stopPropagation()
        }
    }, ee.each({mouseenter: "mouseover", mouseleave: "mouseout"}, function (e, t) {
        ee.event.special[e] = {
            delegateType: t, bindType: t, handle: function (e) {
                var n, r = this, i = e.relatedTarget, o = e.handleObj;
                return i && (i === r || ee.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
            }
        }
    }), J.focusinBubbles || ee.each({focus: "focusin", blur: "focusout"}, function (e, t) {
        var n = function (e) {
            ee.event.simulate(t, e.target, ee.event.fix(e), !0)
        };
        ee.event.special[t] = {
            setup: function () {
                var r = this.ownerDocument || this, i = ve.access(r, t);
                i || r.addEventListener(e, n, !0), ve.access(r, t, (i || 0) + 1)
            }, teardown: function () {
                var r = this.ownerDocument || this, i = ve.access(r, t) - 1;
                i ? ve.access(r, t, i) : (r.removeEventListener(e, n, !0), ve.remove(r, t))
            }
        }
    }), ee.fn.extend({
        on: function (e, t, n, r, i) {
            var o, s;
            if ("object" == typeof e) {
                "string" != typeof t && (n = n || t, t = void 0);
                for (s in e)this.on(s, t, n, e[s], i);
                return this
            }
            if (null == n && null == r ? (r = t, n = t = void 0) : null == r && ("string" == typeof t ? (r = n, n = void 0) : (r = n, n = t, t = void 0)), r === !1)r = c; else if (!r)return this;
            return 1 === i && (o = r, r = function (e) {
                return ee().off(e), o.apply(this, arguments)
            }, r.guid = o.guid || (o.guid = ee.guid++)), this.each(function () {
                ee.event.add(this, e, r, n, t)
            })
        }, one: function (e, t, n, r) {
            return this.on(e, t, n, r, 1)
        }, off: function (e, t, n) {
            var r, i;
            if (e && e.preventDefault && e.handleObj)return r = e.handleObj, ee(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
            if ("object" == typeof e) {
                for (i in e)this.off(i, t, e[i]);
                return this
            }
            return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = c), this.each(function () {
                ee.event.remove(this, e, n, t)
            })
        }, trigger: function (e, t) {
            return this.each(function () {
                ee.event.trigger(e, t, this)
            })
        }, triggerHandler: function (e, t) {
            var n = this[0];
            if (n)return ee.event.trigger(e, t, n, !0)
        }
    });
    var Ae = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, Le = /<([\w:]+)/, qe = /<|&#?\w+;/, He = /<(?:script|style|link)/i, Oe = /checked\s*(?:[^=]|=\s*.checked.)/i, Fe = /^$|\/(?:java|ecma)script/i, Me = /^true\/(.*)/, Pe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, Re = {
        option: [1, "<select multiple='multiple'>", "</select>"],
        thead: [1, "<table>", "</table>"],
        col: [2, "<table><colgroup>", "</colgroup></table>"],
        tr: [2, "<table><tbody>", "</tbody></table>"],
        td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
        _default: [0, "", ""]
    };
    Re.optgroup = Re.option, Re.tbody = Re.tfoot = Re.colgroup = Re.caption = Re.thead, Re.th = Re.td, ee.extend({
        clone: function (e, t, n) {
            var r, i, o, s, a = e.cloneNode(!0), u = ee.contains(e.ownerDocument, e);
            if (!(J.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || ee.isXMLDoc(e)))for (s = v(a), o = v(e), r = 0, i = o.length; r < i; r++)y(o[r], s[r]);
            if (t)if (n)for (o = o || v(e), s = s || v(a), r = 0, i = o.length; r < i; r++)m(o[r], s[r]); else m(e, a);
            return s = v(a, "script"), s.length > 0 && g(s, !u && v(e, "script")), a
        }, buildFragment: function (e, t, n, r) {
            for (var i, o, s, a, u, l, c = t.createDocumentFragment(), f = [], p = 0, d = e.length; p < d; p++)if (i = e[p], i || 0 === i)if ("object" === ee.type(i))ee.merge(f, i.nodeType ? [i] : i); else if (qe.test(i)) {
                for (o = o || c.appendChild(t.createElement("div")), s = (Le.exec(i) || ["", ""])[1].toLowerCase(), a = Re[s] || Re._default, o.innerHTML = a[1] + i.replace(Ae, "<$1></$2>") + a[2], l = a[0]; l--;)o = o.lastChild;
                ee.merge(f, o.childNodes), o = c.firstChild, o.textContent = ""
            } else f.push(t.createTextNode(i));
            for (c.textContent = "", p = 0; i = f[p++];)if ((!r || ee.inArray(i, r) === -1) && (u = ee.contains(i.ownerDocument, i), o = v(c.appendChild(i), "script"), u && g(o), n))for (l = 0; i = o[l++];)Fe.test(i.type || "") && n.push(i);
            return c
        }, cleanData: function (e) {
            for (var t, n, r, i, o, s, a = ee.event.special, u = 0; void 0 !== (n = e[u]); u++) {
                if (ee.acceptData(n) && (o = n[ve.expando], o && (t = ve.cache[o]))) {
                    if (r = Object.keys(t.events || {}), r.length)for (s = 0; void 0 !== (i = r[s]); s++)a[i] ? ee.event.remove(n, i) : ee.removeEvent(n, i, t.handle);
                    ve.cache[o] && delete ve.cache[o]
                }
                delete ye.cache[n[ye.expando]]
            }
        }
    }), ee.fn.extend({
        text: function (e) {
            return me(this, function (e) {
                return void 0 === e ? ee.text(this) : this.empty().each(function () {
                    1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
                })
            }, null, e, arguments.length)
        }, append: function () {
            return this.domManip(arguments, function (e) {
                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                    var t = p(this, e);
                    t.appendChild(e)
                }
            })
        }, prepend: function () {
            return this.domManip(arguments, function (e) {
                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                    var t = p(this, e);
                    t.insertBefore(e, t.firstChild)
                }
            })
        }, before: function () {
            return this.domManip(arguments, function (e) {
                this.parentNode && this.parentNode.insertBefore(e, this)
            })
        }, after: function () {
            return this.domManip(arguments, function (e) {
                this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
            })
        }, remove: function (e, t) {
            for (var n, r = e ? ee.filter(e, this) : this, i = 0; null != (n = r[i]); i++)t || 1 !== n.nodeType || ee.cleanData(v(n)), n.parentNode && (t && ee.contains(n.ownerDocument, n) && g(v(n, "script")), n.parentNode.removeChild(n));
            return this
        }, empty: function () {
            for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (ee.cleanData(v(e, !1)), e.textContent = "");
            return this
        }, clone: function (e, t) {
            return e = null != e && e, t = null == t ? e : t, this.map(function () {
                return ee.clone(this, e, t)
            })
        }, html: function (e) {
            return me(this, function (e) {
                var t = this[0] || {}, n = 0, r = this.length;
                if (void 0 === e && 1 === t.nodeType)return t.innerHTML;
                if ("string" == typeof e && !He.test(e) && !Re[(Le.exec(e) || ["", ""])[1].toLowerCase()]) {
                    e = e.replace(Ae, "<$1></$2>");
                    try {
                        for (; n < r; n++)t = this[n] || {}, 1 === t.nodeType && (ee.cleanData(v(t, !1)), t.innerHTML = e);
                        t = 0
                    } catch (i) {
                    }
                }
                t && this.empty().append(e)
            }, null, e, arguments.length)
        }, replaceWith: function () {
            var e = arguments[0];
            return this.domManip(arguments, function (t) {
                e = this.parentNode, ee.cleanData(v(this)), e && e.replaceChild(t, this)
            }), e && (e.length || e.nodeType) ? this : this.remove()
        }, detach: function (e) {
            return this.remove(e, !0)
        }, domManip: function (e, t) {
            e = X.apply([], e);
            var n, r, i, o, s, a, u = 0, l = this.length, c = this, f = l - 1, p = e[0], g = ee.isFunction(p);
            if (g || l > 1 && "string" == typeof p && !J.checkClone && Oe.test(p))return this.each(function (n) {
                var r = c.eq(n);
                g && (e[0] = p.call(this, n, r.html())), r.domManip(e, t)
            });
            if (l && (n = ee.buildFragment(e, this[0].ownerDocument, !1, this), r = n.firstChild, 1 === n.childNodes.length && (n = r), r)) {
                for (i = ee.map(v(n, "script"), d), o = i.length; u < l; u++)s = n, u !== f && (s = ee.clone(s, !0, !0), o && ee.merge(i, v(s, "script"))), t.call(this[u], s, u);
                if (o)for (a = i[i.length - 1].ownerDocument, ee.map(i, h), u = 0; u < o; u++)s = i[u], Fe.test(s.type || "") && !ve.access(s, "globalEval") && ee.contains(a, s) && (s.src ? ee._evalUrl && ee._evalUrl(s.src) : ee.globalEval(s.textContent.replace(Pe, "")))
            }
            return this
        }
    }), ee.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
        insertAfter: "after",
        replaceAll: "replaceWith"
    }, function (e, t) {
        ee.fn[e] = function (e) {
            for (var n, r = [], i = ee(e), o = i.length - 1, s = 0; s <= o; s++)n = s === o ? this : this.clone(!0), ee(i[s])[t](n), z.apply(r, n.get());
            return this.pushStack(r)
        }
    });
    var Ie, We = {}, $e = /^margin/, Be = new RegExp("^(" + we + ")(?!px)[a-z%]+$", "i"), _e = function (e) {
        return e.ownerDocument.defaultView.getComputedStyle(e, null)
    };
    !function () {
        function t() {
            a.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%", o.appendChild(s);
            var t = e.getComputedStyle(a, null);
            n = "1%" !== t.top, r = "4px" === t.width, o.removeChild(s)
        }

        var n, r, i = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box", o = Z.documentElement, s = Z.createElement("div"), a = Z.createElement("div");
        a.style.backgroundClip = "content-box", a.cloneNode(!0).style.backgroundClip = "", J.clearCloneStyle = "content-box" === a.style.backgroundClip, s.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", s.appendChild(a), e.getComputedStyle && ee.extend(J, {
            pixelPosition: function () {
                return t(), n
            }, boxSizingReliable: function () {
                return null == r && t(), r
            }, reliableMarginRight: function () {
                var t, n = a.appendChild(Z.createElement("div"));
                return n.style.cssText = a.style.cssText = i, n.style.marginRight = n.style.width = "0", a.style.width = "1px", o.appendChild(s), t = !parseFloat(e.getComputedStyle(n, null).marginRight), o.removeChild(s), a.innerHTML = "", t
            }
        })
    }(), ee.swap = function (e, t, n, r) {
        var i, o, s = {};
        for (o in t)s[o] = e.style[o], e.style[o] = t[o];
        i = n.apply(e, r || []);
        for (o in t)e.style[o] = s[o];
        return i
    };
    var Xe = /^(none|table(?!-c[ea]).+)/, ze = new RegExp("^(" + we + ")(.*)$", "i"), Ue = new RegExp("^([+-])=(" + we + ")", "i"), Ve = {
        position: "absolute",
        visibility: "hidden",
        display: "block"
    }, Ye = {letterSpacing: 0, fontWeight: 400}, Ge = ["Webkit", "O", "Moz", "ms"];
    ee.extend({
        cssHooks: {
            opacity: {
                get: function (e, t) {
                    if (t) {
                        var n = w(e, "opacity");
                        return "" === n ? "1" : n
                    }
                }
            }
        },
        cssNumber: {
            columnCount: !0,
            fillOpacity: !0,
            fontWeight: !0,
            lineHeight: !0,
            opacity: !0,
            order: !0,
            orphans: !0,
            widows: !0,
            zIndex: !0,
            zoom: !0
        },
        cssProps: {"float": "cssFloat"},
        style: function (e, t, n, r) {
            if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
                var i, o, s, a = ee.camelCase(t), u = e.style;
                return t = ee.cssProps[a] || (ee.cssProps[a] = C(u, a)), s = ee.cssHooks[t] || ee.cssHooks[a], void 0 === n ? s && "get"in s && void 0 !== (i = s.get(e, !1, r)) ? i : u[t] : (o = typeof n, "string" === o && (i = Ue.exec(n)) && (n = (i[1] + 1) * i[2] + parseFloat(ee.css(e, t)), o = "number"), null != n && n === n && ("number" !== o || ee.cssNumber[a] || (n += "px"), J.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), s && "set"in s && void 0 === (n = s.set(e, n, r)) || (u[t] = "", u[t] = n)), void 0)
            }
        },
        css: function (e, t, n, r) {
            var i, o, s, a = ee.camelCase(t);
            return t = ee.cssProps[a] || (ee.cssProps[a] = C(e.style, a)), s = ee.cssHooks[t] || ee.cssHooks[a], s && "get"in s && (i = s.get(e, !0, n)), void 0 === i && (i = w(e, t, r)), "normal" === i && t in Ye && (i = Ye[t]), "" === n || n ? (o = parseFloat(i), n === !0 || ee.isNumeric(o) ? o || 0 : i) : i
        }
    }), ee.each(["height", "width"], function (e, t) {
        ee.cssHooks[t] = {
            get: function (e, n, r) {
                if (n)return 0 === e.offsetWidth && Xe.test(ee.css(e, "display")) ? ee.swap(e, Ve, function () {
                    return k(e, t, r)
                }) : k(e, t, r)
            }, set: function (e, n, r) {
                var i = r && _e(e);
                return N(e, n, r ? E(e, t, r, "border-box" === ee.css(e, "boxSizing", !1, i), i) : 0)
            }
        }
    }), ee.cssHooks.marginRight = T(J.reliableMarginRight, function (e, t) {
        if (t)return ee.swap(e, {display: "inline-block"}, w, [e, "marginRight"])
    }), ee.each({margin: "", padding: "", border: "Width"}, function (e, t) {
        ee.cssHooks[e + t] = {
            expand: function (n) {
                for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++)i[e + Te[r] + t] = o[r] || o[r - 2] || o[0];
                return i
            }
        }, $e.test(e) || (ee.cssHooks[e + t].set = N)
    }), ee.fn.extend({
        css: function (e, t) {
            return me(this, function (e, t, n) {
                var r, i, o = {}, s = 0;
                if (ee.isArray(t)) {
                    for (r = _e(e), i = t.length; s < i; s++)o[t[s]] = ee.css(e, t[s], !1, r);
                    return o
                }
                return void 0 !== n ? ee.style(e, t, n) : ee.css(e, t)
            }, e, t, arguments.length > 1)
        }, show: function () {
            return D(this, !0)
        }, hide: function () {
            return D(this)
        }, toggle: function (e) {
            return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
                Ce(this) ? ee(this).show() : ee(this).hide()
            })
        }
    }), ee.Tween = j, j.prototype = {
        constructor: j, init: function (e, t, n, r, i, o) {
            this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (ee.cssNumber[n] ? "" : "px")
        }, cur: function () {
            var e = j.propHooks[this.prop];
            return e && e.get ? e.get(this) : j.propHooks._default.get(this)
        }, run: function (e) {
            var t, n = j.propHooks[this.prop];
            return this.options.duration ? this.pos = t = ee.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : j.propHooks._default.set(this), this
        }
    }, j.prototype.init.prototype = j.prototype, j.propHooks = {
        _default: {
            get: function (e) {
                var t;
                return null == e.elem[e.prop] || e.elem.style && null != e.elem.style[e.prop] ? (t = ee.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0) : e.elem[e.prop]
            }, set: function (e) {
                ee.fx.step[e.prop] ? ee.fx.step[e.prop](e) : e.elem.style && (null != e.elem.style[ee.cssProps[e.prop]] || ee.cssHooks[e.prop]) ? ee.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now
            }
        }
    }, j.propHooks.scrollTop = j.propHooks.scrollLeft = {
        set: function (e) {
            e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
        }
    }, ee.easing = {
        linear: function (e) {
            return e
        }, swing: function (e) {
            return .5 - Math.cos(e * Math.PI) / 2
        }
    }, ee.fx = j.prototype.init, ee.fx.step = {};
    var Qe, Je, Ze = /^(?:toggle|show|hide)$/, Ke = new RegExp("^(?:([+-])=|)(" + we + ")([a-z%]*)$", "i"), et = /queueHooks$/, tt = [q], nt = {
        "*": [function (e, t) {
            var n = this.createTween(e, t), r = n.cur(), i = Ke.exec(t), o = i && i[3] || (ee.cssNumber[e] ? "" : "px"), s = (ee.cssNumber[e] || "px" !== o && +r) && Ke.exec(ee.css(n.elem, e)), a = 1, u = 20;
            if (s && s[3] !== o) {
                o = o || s[3], i = i || [], s = +r || 1;
                do a = a || ".5", s /= a, ee.style(n.elem, e, s + o); while (a !== (a = n.cur() / r) && 1 !== a && --u)
            }
            return i && (s = n.start = +s || +r || 0, n.unit = o, n.end = i[1] ? s + (i[1] + 1) * i[2] : +i[2]), n
        }]
    };
    ee.Animation = ee.extend(O, {
        tweener: function (e, t) {
            ee.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" ");
            for (var n, r = 0, i = e.length; r < i; r++)n = e[r], nt[n] = nt[n] || [], nt[n].unshift(t)
        }, prefilter: function (e, t) {
            t ? tt.unshift(e) : tt.push(e)
        }
    }), ee.speed = function (e, t, n) {
        var r = e && "object" == typeof e ? ee.extend({}, e) : {
            complete: n || !n && t || ee.isFunction(e) && e,
            duration: e,
            easing: n && t || t && !ee.isFunction(t) && t
        };
        return r.duration = ee.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in ee.fx.speeds ? ee.fx.speeds[r.duration] : ee.fx.speeds._default, null != r.queue && r.queue !== !0 || (r.queue = "fx"), r.old = r.complete, r.complete = function () {
            ee.isFunction(r.old) && r.old.call(this), r.queue && ee.dequeue(this, r.queue)
        }, r
    }, ee.fn.extend({
        fadeTo: function (e, t, n, r) {
            return this.filter(Ce).css("opacity", 0).show().end().animate({opacity: t}, e, n, r)
        }, animate: function (e, t, n, r) {
            var i = ee.isEmptyObject(e), o = ee.speed(t, n, r), s = function () {
                var t = O(this, ee.extend({}, e), o);
                (i || ve.get(this, "finish")) && t.stop(!0)
            };
            return s.finish = s, i || o.queue === !1 ? this.each(s) : this.queue(o.queue, s)
        }, stop: function (e, t, n) {
            var r = function (e) {
                var t = e.stop;
                delete e.stop, t(n)
            };
            return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e || "fx", []), this.each(function () {
                var t = !0, i = null != e && e + "queueHooks", o = ee.timers, s = ve.get(this);
                if (i)s[i] && s[i].stop && r(s[i]); else for (i in s)s[i] && s[i].stop && et.test(i) && r(s[i]);
                for (i = o.length; i--;)o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1));
                !t && n || ee.dequeue(this, e)
            })
        }, finish: function (e) {
            return e !== !1 && (e = e || "fx"), this.each(function () {
                var t, n = ve.get(this), r = n[e + "queue"], i = n[e + "queueHooks"], o = ee.timers, s = r ? r.length : 0;
                for (n.finish = !0, ee.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;)o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1));
                for (t = 0; t < s; t++)r[t] && r[t].finish && r[t].finish.call(this);
                delete n.finish
            })
        }
    }), ee.each(["toggle", "show", "hide"], function (e, t) {
        var n = ee.fn[t];
        ee.fn[t] = function (e, r, i) {
            return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(A(t, !0), e, r, i);
        }
    }), ee.each({
        slideDown: A("show"),
        slideUp: A("hide"),
        slideToggle: A("toggle"),
        fadeIn: {opacity: "show"},
        fadeOut: {opacity: "hide"},
        fadeToggle: {opacity: "toggle"}
    }, function (e, t) {
        ee.fn[e] = function (e, n, r) {
            return this.animate(t, e, n, r)
        }
    }), ee.timers = [], ee.fx.tick = function () {
        var e, t = 0, n = ee.timers;
        for (Qe = ee.now(); t < n.length; t++)e = n[t], e() || n[t] !== e || n.splice(t--, 1);
        n.length || ee.fx.stop(), Qe = void 0
    }, ee.fx.timer = function (e) {
        ee.timers.push(e), e() ? ee.fx.start() : ee.timers.pop()
    }, ee.fx.interval = 13, ee.fx.start = function () {
        Je || (Je = setInterval(ee.fx.tick, ee.fx.interval))
    }, ee.fx.stop = function () {
        clearInterval(Je), Je = null
    }, ee.fx.speeds = {slow: 600, fast: 200, _default: 400}, ee.fn.delay = function (e, t) {
        return e = ee.fx ? ee.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function (t, n) {
            var r = setTimeout(t, e);
            n.stop = function () {
                clearTimeout(r)
            }
        })
    }, function () {
        var e = Z.createElement("input"), t = Z.createElement("select"), n = t.appendChild(Z.createElement("option"));
        e.type = "checkbox", J.checkOn = "" !== e.value, J.optSelected = n.selected, t.disabled = !0, J.optDisabled = !n.disabled, e = Z.createElement("input"), e.value = "t", e.type = "radio", J.radioValue = "t" === e.value
    }();
    var rt, it, ot = ee.expr.attrHandle;
    ee.fn.extend({
        attr: function (e, t) {
            return me(this, ee.attr, e, t, arguments.length > 1)
        }, removeAttr: function (e) {
            return this.each(function () {
                ee.removeAttr(this, e)
            })
        }
    }), ee.extend({
        attr: function (e, t, n) {
            var r, i, o = e.nodeType;
            if (e && 3 !== o && 8 !== o && 2 !== o)return typeof e.getAttribute === Ee ? ee.prop(e, t, n) : (1 === o && ee.isXMLDoc(e) || (t = t.toLowerCase(), r = ee.attrHooks[t] || (ee.expr.match.bool.test(t) ? it : rt)), void 0 === n ? r && "get"in r && null !== (i = r.get(e, t)) ? i : (i = ee.find.attr(e, t), null == i ? void 0 : i) : null !== n ? r && "set"in r && void 0 !== (i = r.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : void ee.removeAttr(e, t))
        }, removeAttr: function (e, t) {
            var n, r, i = 0, o = t && t.match(de);
            if (o && 1 === e.nodeType)for (; n = o[i++];)r = ee.propFix[n] || n, ee.expr.match.bool.test(n) && (e[r] = !1), e.removeAttribute(n)
        }, attrHooks: {
            type: {
                set: function (e, t) {
                    if (!J.radioValue && "radio" === t && ee.nodeName(e, "input")) {
                        var n = e.value;
                        return e.setAttribute("type", t), n && (e.value = n), t
                    }
                }
            }
        }
    }), it = {
        set: function (e, t, n) {
            return t === !1 ? ee.removeAttr(e, n) : e.setAttribute(n, n), n
        }
    }, ee.each(ee.expr.match.bool.source.match(/\w+/g), function (e, t) {
        var n = ot[t] || ee.find.attr;
        ot[t] = function (e, t, r) {
            var i, o;
            return r || (o = ot[t], ot[t] = i, i = null != n(e, t, r) ? t.toLowerCase() : null, ot[t] = o), i
        }
    });
    var st = /^(?:input|select|textarea|button)$/i;
    ee.fn.extend({
        prop: function (e, t) {
            return me(this, ee.prop, e, t, arguments.length > 1)
        }, removeProp: function (e) {
            return this.each(function () {
                delete this[ee.propFix[e] || e]
            })
        }
    }), ee.extend({
        propFix: {"for": "htmlFor", "class": "className"}, prop: function (e, t, n) {
            var r, i, o, s = e.nodeType;
            if (e && 3 !== s && 8 !== s && 2 !== s)return o = 1 !== s || !ee.isXMLDoc(e), o && (t = ee.propFix[t] || t, i = ee.propHooks[t]), void 0 !== n ? i && "set"in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get"in i && null !== (r = i.get(e, t)) ? r : e[t]
        }, propHooks: {
            tabIndex: {
                get: function (e) {
                    return e.hasAttribute("tabindex") || st.test(e.nodeName) || e.href ? e.tabIndex : -1
                }
            }
        }
    }), J.optSelected || (ee.propHooks.selected = {
        get: function (e) {
            var t = e.parentNode;
            return t && t.parentNode && t.parentNode.selectedIndex, null
        }
    }), ee.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
        ee.propFix[this.toLowerCase()] = this
    });
    var at = /[\t\r\n\f]/g;
    ee.fn.extend({
        addClass: function (e) {
            var t, n, r, i, o, s, a = "string" == typeof e && e, u = 0, l = this.length;
            if (ee.isFunction(e))return this.each(function (t) {
                ee(this).addClass(e.call(this, t, this.className))
            });
            if (a)for (t = (e || "").match(de) || []; u < l; u++)if (n = this[u], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(at, " ") : " ")) {
                for (o = 0; i = t[o++];)r.indexOf(" " + i + " ") < 0 && (r += i + " ");
                s = ee.trim(r), n.className !== s && (n.className = s)
            }
            return this
        }, removeClass: function (e) {
            var t, n, r, i, o, s, a = 0 === arguments.length || "string" == typeof e && e, u = 0, l = this.length;
            if (ee.isFunction(e))return this.each(function (t) {
                ee(this).removeClass(e.call(this, t, this.className))
            });
            if (a)for (t = (e || "").match(de) || []; u < l; u++)if (n = this[u], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(at, " ") : "")) {
                for (o = 0; i = t[o++];)for (; r.indexOf(" " + i + " ") >= 0;)r = r.replace(" " + i + " ", " ");
                s = e ? ee.trim(r) : "", n.className !== s && (n.className = s)
            }
            return this
        }, toggleClass: function (e, t) {
            var n = typeof e;
            return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : ee.isFunction(e) ? this.each(function (n) {
                ee(this).toggleClass(e.call(this, n, this.className, t), t)
            }) : this.each(function () {
                if ("string" === n)for (var t, r = 0, i = ee(this), o = e.match(de) || []; t = o[r++];)i.hasClass(t) ? i.removeClass(t) : i.addClass(t); else n !== Ee && "boolean" !== n || (this.className && ve.set(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : ve.get(this, "__className__") || "")
            })
        }, hasClass: function (e) {
            for (var t = " " + e + " ", n = 0, r = this.length; n < r; n++)if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(at, " ").indexOf(t) >= 0)return !0;
            return !1
        }
    });
    var ut = /\r/g;
    ee.fn.extend({
        val: function (e) {
            var t, n, r, i = this[0];
            {
                if (arguments.length)return r = ee.isFunction(e), this.each(function (n) {
                    var i;
                    1 === this.nodeType && (i = r ? e.call(this, n, ee(this).val()) : e, null == i ? i = "" : "number" == typeof i ? i += "" : ee.isArray(i) && (i = ee.map(i, function (e) {
                        return null == e ? "" : e + ""
                    })), t = ee.valHooks[this.type] || ee.valHooks[this.nodeName.toLowerCase()], t && "set"in t && void 0 !== t.set(this, i, "value") || (this.value = i))
                });
                if (i)return t = ee.valHooks[i.type] || ee.valHooks[i.nodeName.toLowerCase()], t && "get"in t && void 0 !== (n = t.get(i, "value")) ? n : (n = i.value, "string" == typeof n ? n.replace(ut, "") : null == n ? "" : n)
            }
        }
    }), ee.extend({
        valHooks: {
            select: {
                get: function (e) {
                    for (var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || i < 0, s = o ? null : [], a = o ? i + 1 : r.length, u = i < 0 ? a : o ? i : 0; u < a; u++)if (n = r[u], (n.selected || u === i) && (J.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !ee.nodeName(n.parentNode, "optgroup"))) {
                        if (t = ee(n).val(), o)return t;
                        s.push(t)
                    }
                    return s
                }, set: function (e, t) {
                    for (var n, r, i = e.options, o = ee.makeArray(t), s = i.length; s--;)r = i[s], (r.selected = ee.inArray(ee(r).val(), o) >= 0) && (n = !0);
                    return n || (e.selectedIndex = -1), o
                }
            }
        }
    }), ee.each(["radio", "checkbox"], function () {
        ee.valHooks[this] = {
            set: function (e, t) {
                if (ee.isArray(t))return e.checked = ee.inArray(ee(e).val(), t) >= 0
            }
        }, J.checkOn || (ee.valHooks[this].get = function (e) {
            return null === e.getAttribute("value") ? "on" : e.value
        })
    }), ee.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (e, t) {
        ee.fn[t] = function (e, n) {
            return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
        }
    }), ee.fn.extend({
        hover: function (e, t) {
            return this.mouseenter(e).mouseleave(t || e)
        }, bind: function (e, t, n) {
            return this.on(e, null, t, n)
        }, unbind: function (e, t) {
            return this.off(e, null, t)
        }, delegate: function (e, t, n, r) {
            return this.on(t, e, n, r)
        }, undelegate: function (e, t, n) {
            return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
        }
    });
    var lt = ee.now(), ct = /\?/;
    ee.parseJSON = function (e) {
        return JSON.parse(e + "")
    }, ee.parseXML = function (e) {
        var t, n;
        if (!e || "string" != typeof e)return null;
        try {
            n = new DOMParser, t = n.parseFromString(e, "text/xml")
        } catch (r) {
            t = void 0
        }
        return t && !t.getElementsByTagName("parsererror").length || ee.error("Invalid XML: " + e), t
    };
    var ft, pt, dt = /#.*$/, ht = /([?&])_=[^&]*/, gt = /^(.*?):[ \t]*([^\r\n]*)$/gm, mt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, vt = /^(?:GET|HEAD)$/, yt = /^\/\//, xt = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, bt = {}, wt = {}, Tt = "*/".concat("*");
    try {
        pt = location.href
    } catch (Ct) {
        pt = Z.createElement("a"), pt.href = "", pt = pt.href
    }
    ft = xt.exec(pt.toLowerCase()) || [], ee.extend({
        active: 0,
        lastModified: {},
        etag: {},
        ajaxSettings: {
            url: pt,
            type: "GET",
            isLocal: mt.test(ft[1]),
            global: !0,
            processData: !0,
            async: !0,
            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
            accepts: {
                "*": Tt,
                text: "text/plain",
                html: "text/html",
                xml: "application/xml, text/xml",
                json: "application/json, text/javascript"
            },
            contents: {xml: /xml/, html: /html/, json: /json/},
            responseFields: {xml: "responseXML", text: "responseText", json: "responseJSON"},
            converters: {"* text": String, "text html": !0, "text json": ee.parseJSON, "text xml": ee.parseXML},
            flatOptions: {url: !0, context: !0}
        },
        ajaxSetup: function (e, t) {
            return t ? P(P(e, ee.ajaxSettings), t) : P(ee.ajaxSettings, e)
        },
        ajaxPrefilter: F(bt),
        ajaxTransport: F(wt),
        ajax: function (e, t) {
            function n(e, t, n, s) {
                var u, c, v, y, b, T = t;
                2 !== x && (x = 2, a && clearTimeout(a), r = void 0, o = s || "", w.readyState = e > 0 ? 4 : 0, u = e >= 200 && e < 300 || 304 === e, n && (y = R(f, w, n)), y = I(f, y, w, u), u ? (f.ifModified && (b = w.getResponseHeader("Last-Modified"), b && (ee.lastModified[i] = b), b = w.getResponseHeader("etag"), b && (ee.etag[i] = b)), 204 === e || "HEAD" === f.type ? T = "nocontent" : 304 === e ? T = "notmodified" : (T = y.state, c = y.data, v = y.error, u = !v)) : (v = T, !e && T || (T = "error", e < 0 && (e = 0))), w.status = e, w.statusText = (t || T) + "", u ? h.resolveWith(p, [c, T, w]) : h.rejectWith(p, [w, T, v]), w.statusCode(m), m = void 0, l && d.trigger(u ? "ajaxSuccess" : "ajaxError", [w, f, u ? c : v]), g.fireWith(p, [w, T]), l && (d.trigger("ajaxComplete", [w, f]), --ee.active || ee.event.trigger("ajaxStop")))
            }

            "object" == typeof e && (t = e, e = void 0), t = t || {};
            var r, i, o, s, a, u, l, c, f = ee.ajaxSetup({}, t), p = f.context || f, d = f.context && (p.nodeType || p.jquery) ? ee(p) : ee.event, h = ee.Deferred(), g = ee.Callbacks("once memory"), m = f.statusCode || {}, v = {}, y = {}, x = 0, b = "canceled", w = {
                readyState: 0,
                getResponseHeader: function (e) {
                    var t;
                    if (2 === x) {
                        if (!s)for (s = {}; t = gt.exec(o);)s[t[1].toLowerCase()] = t[2];
                        t = s[e.toLowerCase()]
                    }
                    return null == t ? null : t
                },
                getAllResponseHeaders: function () {
                    return 2 === x ? o : null
                },
                setRequestHeader: function (e, t) {
                    var n = e.toLowerCase();
                    return x || (e = y[n] = y[n] || e, v[e] = t), this
                },
                overrideMimeType: function (e) {
                    return x || (f.mimeType = e), this
                },
                statusCode: function (e) {
                    var t;
                    if (e)if (x < 2)for (t in e)m[t] = [m[t], e[t]]; else w.always(e[w.status]);
                    return this
                },
                abort: function (e) {
                    var t = e || b;
                    return r && r.abort(t), n(0, t), this
                }
            };
            if (h.promise(w).complete = g.add, w.success = w.done, w.error = w.fail, f.url = ((e || f.url || pt) + "").replace(dt, "").replace(yt, ft[1] + "//"), f.type = t.method || t.type || f.method || f.type, f.dataTypes = ee.trim(f.dataType || "*").toLowerCase().match(de) || [""], null == f.crossDomain && (u = xt.exec(f.url.toLowerCase()), f.crossDomain = !(!u || u[1] === ft[1] && u[2] === ft[2] && (u[3] || ("http:" === u[1] ? "80" : "443")) === (ft[3] || ("http:" === ft[1] ? "80" : "443")))), f.data && f.processData && "string" != typeof f.data && (f.data = ee.param(f.data, f.traditional)), M(bt, f, t, w), 2 === x)return w;
            l = f.global, l && 0 === ee.active++ && ee.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !vt.test(f.type), i = f.url, f.hasContent || (f.data && (i = f.url += (ct.test(i) ? "&" : "?") + f.data, delete f.data), f.cache === !1 && (f.url = ht.test(i) ? i.replace(ht, "$1_=" + lt++) : i + (ct.test(i) ? "&" : "?") + "_=" + lt++)), f.ifModified && (ee.lastModified[i] && w.setRequestHeader("If-Modified-Since", ee.lastModified[i]), ee.etag[i] && w.setRequestHeader("If-None-Match", ee.etag[i])), (f.data && f.hasContent && f.contentType !== !1 || t.contentType) && w.setRequestHeader("Content-Type", f.contentType), w.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + Tt + "; q=0.01" : "") : f.accepts["*"]);
            for (c in f.headers)w.setRequestHeader(c, f.headers[c]);
            if (f.beforeSend && (f.beforeSend.call(p, w, f) === !1 || 2 === x))return w.abort();
            b = "abort";
            for (c in{success: 1, error: 1, complete: 1})w[c](f[c]);
            if (r = M(wt, f, t, w)) {
                w.readyState = 1, l && d.trigger("ajaxSend", [w, f]), f.async && f.timeout > 0 && (a = setTimeout(function () {
                    w.abort("timeout")
                }, f.timeout));
                try {
                    x = 1, r.send(v, n)
                } catch (T) {
                    if (!(x < 2))throw T;
                    n(-1, T)
                }
            } else n(-1, "No Transport");
            return w
        },
        getJSON: function (e, t, n) {
            return ee.get(e, t, n, "json")
        },
        getScript: function (e, t) {
            return ee.get(e, void 0, t, "script")
        }
    }), ee.each(["get", "post"], function (e, t) {
        ee[t] = function (e, n, r, i) {
            return ee.isFunction(n) && (i = i || r, r = n, n = void 0), ee.ajax({
                url: e,
                type: t,
                dataType: i,
                data: n,
                success: r
            })
        }
    }), ee.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
        ee.fn[t] = function (e) {
            return this.on(t, e)
        }
    }), ee._evalUrl = function (e) {
        return ee.ajax({url: e, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0})
    }, ee.fn.extend({
        wrapAll: function (e) {
            var t;
            return ee.isFunction(e) ? this.each(function (t) {
                ee(this).wrapAll(e.call(this, t))
            }) : (this[0] && (t = ee(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
                for (var e = this; e.firstElementChild;)e = e.firstElementChild;
                return e
            }).append(this)), this)
        }, wrapInner: function (e) {
            return ee.isFunction(e) ? this.each(function (t) {
                ee(this).wrapInner(e.call(this, t))
            }) : this.each(function () {
                var t = ee(this), n = t.contents();
                n.length ? n.wrapAll(e) : t.append(e)
            })
        }, wrap: function (e) {
            var t = ee.isFunction(e);
            return this.each(function (n) {
                ee(this).wrapAll(t ? e.call(this, n) : e)
            })
        }, unwrap: function () {
            return this.parent().each(function () {
                ee.nodeName(this, "body") || ee(this).replaceWith(this.childNodes)
            }).end()
        }
    }), ee.expr.filters.hidden = function (e) {
        return e.offsetWidth <= 0 && e.offsetHeight <= 0
    }, ee.expr.filters.visible = function (e) {
        return !ee.expr.filters.hidden(e)
    };
    var Nt = /%20/g, Et = /\[\]$/, kt = /\r?\n/g, Dt = /^(?:submit|button|image|reset|file)$/i, jt = /^(?:input|select|textarea|keygen)/i;
    ee.param = function (e, t) {
        var n, r = [], i = function (e, t) {
            t = ee.isFunction(t) ? t() : null == t ? "" : t, r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
        };
        if (void 0 === t && (t = ee.ajaxSettings && ee.ajaxSettings.traditional), ee.isArray(e) || e.jquery && !ee.isPlainObject(e))ee.each(e, function () {
            i(this.name, this.value)
        }); else for (n in e)W(n, e[n], t, i);
        return r.join("&").replace(Nt, "+")
    }, ee.fn.extend({
        serialize: function () {
            return ee.param(this.serializeArray())
        }, serializeArray: function () {
            return this.map(function () {
                var e = ee.prop(this, "elements");
                return e ? ee.makeArray(e) : this
            }).filter(function () {
                var e = this.type;
                return this.name && !ee(this).is(":disabled") && jt.test(this.nodeName) && !Dt.test(e) && (this.checked || !Ne.test(e))
            }).map(function (e, t) {
                var n = ee(this).val();
                return null == n ? null : ee.isArray(n) ? ee.map(n, function (e) {
                    return {name: t.name, value: e.replace(kt, "\r\n")}
                }) : {name: t.name, value: n.replace(kt, "\r\n")}
            }).get()
        }
    }), ee.ajaxSettings.xhr = function () {
        try {
            return new XMLHttpRequest
        } catch (e) {
        }
    };
    var St = 0, At = {}, Lt = {0: 200, 1223: 204}, qt = ee.ajaxSettings.xhr();
    e.ActiveXObject && ee(e).on("unload", function () {
        for (var e in At)At[e]()
    }), J.cors = !!qt && "withCredentials"in qt, J.ajax = qt = !!qt, ee.ajaxTransport(function (e) {
        var t;
        if (J.cors || qt && !e.crossDomain)return {
            send: function (n, r) {
                var i, o = e.xhr(), s = ++St;
                if (o.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields)for (i in e.xhrFields)o[i] = e.xhrFields[i];
                e.mimeType && o.overrideMimeType && o.overrideMimeType(e.mimeType), e.crossDomain || n["X-Requested-With"] || (n["X-Requested-With"] = "XMLHttpRequest");
                for (i in n)o.setRequestHeader(i, n[i]);
                t = function (e) {
                    return function () {
                        t && (delete At[s], t = o.onload = o.onerror = null, "abort" === e ? o.abort() : "error" === e ? r(o.status, o.statusText) : r(Lt[o.status] || o.status, o.statusText, "string" == typeof o.responseText ? {text: o.responseText} : void 0, o.getAllResponseHeaders()))
                    }
                }, o.onload = t(), o.onerror = t("error"), t = At[s] = t("abort"), o.send(e.hasContent && e.data || null)
            }, abort: function () {
                t && t()
            }
        }
    }), ee.ajaxSetup({
        accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},
        contents: {script: /(?:java|ecma)script/},
        converters: {
            "text script": function (e) {
                return ee.globalEval(e), e
            }
        }
    }), ee.ajaxPrefilter("script", function (e) {
        void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
    }), ee.ajaxTransport("script", function (e) {
        if (e.crossDomain) {
            var t, n;
            return {
                send: function (r, i) {
                    t = ee("<script>").prop({
                        async: !0,
                        charset: e.scriptCharset,
                        src: e.url
                    }).on("load error", n = function (e) {
                        t.remove(), n = null, e && i("error" === e.type ? 404 : 200, e.type)
                    }), Z.head.appendChild(t[0])
                }, abort: function () {
                    n && n()
                }
            }
        }
    });
    var Ht = [], Ot = /(=)\?(?=&|$)|\?\?/;
    ee.ajaxSetup({
        jsonp: "callback", jsonpCallback: function () {
            var e = Ht.pop() || ee.expando + "_" + lt++;
            return this[e] = !0, e
        }
    }), ee.ajaxPrefilter("json jsonp", function (t, n, r) {
        var i, o, s, a = t.jsonp !== !1 && (Ot.test(t.url) ? "url" : "string" == typeof t.data && !(t.contentType || "").indexOf("application/x-www-form-urlencoded") && Ot.test(t.data) && "data");
        if (a || "jsonp" === t.dataTypes[0])return i = t.jsonpCallback = ee.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, a ? t[a] = t[a].replace(Ot, "$1" + i) : t.jsonp !== !1 && (t.url += (ct.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function () {
            return s || ee.error(i + " was not called"), s[0]
        }, t.dataTypes[0] = "json", o = e[i], e[i] = function () {
            s = arguments
        }, r.always(function () {
            e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, Ht.push(i)), s && ee.isFunction(o) && o(s[0]), s = o = void 0
        }), "script"
    }), ee.parseHTML = function (e, t, n) {
        if (!e || "string" != typeof e)return null;
        "boolean" == typeof t && (n = t, t = !1), t = t || Z;
        var r = se.exec(e), i = !n && [];
        return r ? [t.createElement(r[1])] : (r = ee.buildFragment([e], t, i), i && i.length && ee(i).remove(), ee.merge([], r.childNodes))
    };
    var Ft = ee.fn.load;
    ee.fn.load = function (e, t, n) {
        if ("string" != typeof e && Ft)return Ft.apply(this, arguments);
        var r, i, o, s = this, a = e.indexOf(" ");
        return a >= 0 && (r = e.slice(a), e = e.slice(0, a)), ee.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), s.length > 0 && ee.ajax({
            url: e,
            type: i,
            dataType: "html",
            data: t
        }).done(function (e) {
            o = arguments, s.html(r ? ee("<div>").append(ee.parseHTML(e)).find(r) : e)
        }).complete(n && function (e, t) {
                s.each(n, o || [e.responseText, t, e])
            }), this
    }, ee.expr.filters.animated = function (e) {
        return ee.grep(ee.timers, function (t) {
            return e === t.elem
        }).length
    };
    var Mt = e.document.documentElement;
    ee.offset = {
        setOffset: function (e, t, n) {
            var r, i, o, s, a, u, l, c = ee.css(e, "position"), f = ee(e), p = {};
            "static" === c && (e.style.position = "relative"), a = f.offset(), o = ee.css(e, "top"), u = ee.css(e, "left"), l = ("absolute" === c || "fixed" === c) && (o + u).indexOf("auto") > -1, l ? (r = f.position(), s = r.top, i = r.left) : (s = parseFloat(o) || 0, i = parseFloat(u) || 0), ee.isFunction(t) && (t = t.call(e, n, a)), null != t.top && (p.top = t.top - a.top + s), null != t.left && (p.left = t.left - a.left + i), "using"in t ? t.using.call(e, p) : f.css(p)
        }
    }, ee.fn.extend({
        offset: function (e) {
            if (arguments.length)return void 0 === e ? this : this.each(function (t) {
                ee.offset.setOffset(this, e, t)
            });
            var t, n, r = this[0], i = {top: 0, left: 0}, o = r && r.ownerDocument;
            if (o)return t = o.documentElement, ee.contains(t, r) ? (typeof r.getBoundingClientRect !== Ee && (i = r.getBoundingClientRect()), n = $(o), {
                top: i.top + n.pageYOffset - t.clientTop,
                left: i.left + n.pageXOffset - t.clientLeft
            }) : i
        }, position: function () {
            if (this[0]) {
                var e, t, n = this[0], r = {top: 0, left: 0};
                return "fixed" === ee.css(n, "position") ? t = n.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), ee.nodeName(e[0], "html") || (r = e.offset()), r.top += ee.css(e[0], "borderTopWidth", !0), r.left += ee.css(e[0], "borderLeftWidth", !0)), {
                    top: t.top - r.top - ee.css(n, "marginTop", !0),
                    left: t.left - r.left - ee.css(n, "marginLeft", !0)
                }
            }
        }, offsetParent: function () {
            return this.map(function () {
                for (var e = this.offsetParent || Mt; e && !ee.nodeName(e, "html") && "static" === ee.css(e, "position");)e = e.offsetParent;
                return e || Mt
            })
        }
    }), ee.each({scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function (t, n) {
        var r = "pageYOffset" === n;
        ee.fn[t] = function (i) {
            return me(this, function (t, i, o) {
                var s = $(t);
                return void 0 === o ? s ? s[n] : t[i] : void(s ? s.scrollTo(r ? e.pageXOffset : o, r ? o : e.pageYOffset) : t[i] = o)
            }, t, i, arguments.length, null)
        }
    }), ee.each(["top", "left"], function (e, t) {
        ee.cssHooks[t] = T(J.pixelPosition, function (e, n) {
            if (n)return n = w(e, t), Be.test(n) ? ee(e).position()[t] + "px" : n
        })
    }), ee.each({Height: "height", Width: "width"}, function (e, t) {
        ee.each({padding: "inner" + e, content: t, "": "outer" + e}, function (n, r) {
            ee.fn[r] = function (r, i) {
                var o = arguments.length && (n || "boolean" != typeof r), s = n || (r === !0 || i === !0 ? "margin" : "border");
                return me(this, function (t, n, r) {
                    var i;
                    return ee.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (i = t.documentElement, Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e])) : void 0 === r ? ee.css(t, n, s) : ee.style(t, n, r, s)
                }, t, o ? r : void 0, o, null)
            }
        })
    }), ee.fn.size = function () {
        return this.length
    }, ee.fn.andSelf = ee.fn.addBack, "function" == typeof define && define("/lib/jquery", function () {
        return ee
    });
    var Pt = e.jQuery, Rt = e.$;
    return ee.noConflict = function (t) {
        return e.$ === ee && (e.$ = Rt), t && e.jQuery === ee && (e.jQuery = Pt), ee
    }, typeof t === Ee && (e.jQuery = e.$ = ee), ee
});
!function (e) {
    var t = function () {
        this.mudules = {}, this.listeners = {}
    }, n = function (e) {
        var t = e.split("."), n = {};
        return n.etype = t[0], 2 === t.length && (n.ns = t[1]), n
    }, r = 0;
    t.prototype = {
        constructor: t, on: function (e, t) {
            var i = n(e), o = i.etype, s = i.ns;
            "undefined" == typeof this.listeners[o] && (this.listeners[o] = {}), this.listeners[o]["__eidx_" + r] = t, t.eidx = "__eidx_" + r, void 0 !== s && ("undefined" == typeof this.mudules[s] && (this.mudules[s] = []), this.mudules[s].push("__eidx_" + r)), r++
        }, un: function (e, t) {
            if ("undefined" == typeof e)return this.listeners = {}, void(this.mudules = {});
            var r = n(e), i = r.etype, o = r.ns;
            if (void 0 !== this.listeners[i]) {
                for (var s = this.listeners[i], a = this.mudules[o], u = 0, l = a.length; u < l; u++)s[a[u]] = null;
                t && t.eidx && (s[t.eidx] = null)
            }
        }, fire: function (e) {
            if ("string" == typeof e && (e = {type: e}), e.target || (e.target = this), !e.type)throw new Error("Event Object missing type property");
            if (null !== this.listeners[e.type]) {
                var t = this.listeners[e.type];
                for (var n in t)t.hasOwnProperty(n) && null !== t[n] && t[n].apply(this, Array.prototype.slice.call(arguments, 1))
            }
        }
    };
    var i = function (e) {
        return "undefined" == typeof t[e] && (t[e] = new t(e)), t[e]
    };
    "undefined" != typeof module && "undefined" !== module.exports ? module.exports = i : "function" == typeof define && define("/src/scripts/utils/event/kEvent", function () {
        return i
    }), e.ke = i
}(this);
define("/src/scripts/utils/component/goTop", function (e, t, n) {
    var r = e("/lib/jquery"), i = r(".js-go-start-top"), o = 0;
    n.exports = function () {
        r("body").delegate(".js-go-top", "click", function (e) {
            r("#results-content").scrollTop(0), r("#startContent").scrollTop(0), e.preventDefault()
        }), r(".go-top-start-sec").scroll(function (e) {
            this.scrollTop > 170 && o > this.scrollTop ? i.show() : i.hide(), o = this.scrollTop
        })
    }
});
define("/src/scripts/utils/component/tab", function (e, t, n) {
    var r, i = e("/lib/jquery");
    r = function (e, t, n) {
        this.tabs = [], this.currentTab = null, this.options = {
            currentClassName: "current",
            defaultTabIndex: 0,
            defaultEventTrigger: "click",
            container: "",
            callBack: function () {
            }
        }, e && t && this.addGroup(e, t), this.init(n)
    }, i.extend(r.prototype, {
        add: function (e, t) {
            e && t && this.tabs.push({tabMenu: e, tabContent: t})
        }, addGroup: function (e, t) {
            var n = !0;
            if (e || t) {
                if (e.length && t.length && e.length === t.length)for (var r = 0, o = e.length; r < o; r++) {
                    var s = i(e[r]);
                    s.hasClass("current") && (this.currentTab = {
                        tabMenu: e[r],
                        tabContent: t[r]
                    }, n = !1), this.add(e[r], t[r])
                }
                n && this.select({tabMenu: e[0], tabContent: t[0]})
            }
        }, showContent: function () {
            i(this.currentTab.tabMenu).addClass(this.options.currentClassName), i(this.currentTab.tabContent).show()
        }, select: function (e) {
            var t = this;
            e && e != this.currentTab && (this.currentTab && (i(this.currentTab.tabMenu).removeClass(this.options.currentClassName), i(this.currentTab.tabContent).hide()), this.currentTab = e, t.showContent())
        }, init: function (e) {
            var t = i.extend({}, this.options, e), n = this, r = n.tabs;
            t.container;
            i.each(r, function (e, r) {
                i(this.tabMenu).bind(t.defaultEventTrigger, function (e) {
                    n.select(r), t.callBack(), e.preventDefault()
                })
            })
        }
    }), n.exports = function (e, t, n) {
        return new r(e, t, n)
    }
});
define("/src/scripts/utils/component/toggle", function (e, t, n) {
    var r, i = e("/lib/jquery");
    r = function (e) {
        this.options = {
            trigger: null, sheet: null, isOpen: function () {
            }, open: function () {
            }, close: function () {
            }
        }, this.opts = i.extend(this.options, e)
    }, i.extend(r.prototype, {
        constructor: r, init: function () {
            var e = this, t = e.options.trigger;
            t.click(function (t) {
                e.options.isOpen() ? e.open() : e.close(), t.preventDefault()
            })
        }, open: function (e) {
            if (this.options.open(), null !== this.options.sheet) {
                var t = this.options.sheet;
                window.requestAnimationFrame(function () {
                    t.slideDown(100)
                })
            }
            i.isFunction(e) && e()
        }, close: function (e) {
            if (this.options.close(), null !== this.options.sheet) {
                var t = this.options.sheet;
                window.requestAnimationFrame(function () {
                    t.slideUp(100)
                })
            }
            i.isFunction(e) && e()
        }
    }), n.exports = function (e) {
        return new r(e)
    }
});
define("/src/scripts/utils/component/speech", function (e, t) {
    var n = e("/lib/jquery"), r = e("/src/scripts/external"), i = 0, o = function () {
        function e() {
            var e = +new Date - i;
            _rlog.push(["_trackCustom", "actions", [["audio_play_click_to_playing", e], ["audio_play_src", this.getAttribute("src")]]])
        }

        var t = document.createElement("audio");
        return t.setAttribute("controls", "controls"), n(t).css("display", "none"), n(document.body).append(t), t.addEventListener("playing", e, !1), t
    }, s = (o(), function () {
        var e = arguments[0];
        u(), r.playSound(e)
    }), a = function () {
        r.stopSound()
    };
    n("body").delegate('[role="dict_audio_js"]', "click", function (e) {
        s(n(this).data("rel")), ke("window").fire("stopSpokenPlay"), ke("window").fire("stopRecord"), e.preventDefault()
    }), n("body").delegate('[role="stop_dict_audio_js"]', "click", function (e) {
        a(), e.preventDefault()
    }), n("body").delegate('[role="dict_audio_js"]', "mouseover", function (e) {
        n(this).hasClass("word-speech") && (a(), s(n(this).data("rel")), e.preventDefault())
    });
    var u = function () {
        n("#simplayer").siblings('[role="dict_video_js_close"]').click()
    }, l = function (e, t, r) {
        return n('<object width="' + t + '" wmode="opaque" height= "' + r + '" type="application/x-shockwave-flash" id="simplayer" name="simplayer" data="' + e + '"><param value="wmode" name="transparent"/><param name="src" value="' + e + '"/><param name="quality" value="high"/><param name="allowScriptAccess" value="always"></object>')
    };
    n("#dict").delegate('[role="dict_video_js_play"]', "click", function (e) {
        ke("window").fire("stopSpokenPlay"), ke("window").fire("stopRecord"), a(), n("#simplayer").siblings('[role="dict_video_js_close"]').click();
        var t = n(this);
        t.hide().parent().append(l(t.attr("href"), 320, 240)), t.siblings('[role="dict_video_js_close"]').show(), e.preventDefault()
    }), n("body").delegate('[role="dict_video_js_play_spoken"]', "click", function (e) {
        ke("window").fire("stopSpokenPlay"), ke("window").fire("stopRecord"), a();
        var t = n(this);
        t.closest(".content").append(l(t.data("rel"), 1, 1)), e.preventDefault()
    }), n("#dict").delegate('[role="dict_video_js_close"]', "click", function (e) {
        var t = n(this);
        n("#simplayer").remove(), t.siblings('[role="dict_video_js_play"]').show(), t.hide(), e.preventDefault()
    });
    var c = function () {
        a(), u()
    };
    return {stopVideoAndVoice: c}
});
define("/src/scripts/utils/component/group", function (e, t, n) {
    var r = e("/lib/jquery"), i = e("/src/scripts/utils/component/tab"), o = e("/src/scripts/utils/component/toggle"), s = e("/src/scripts/utils/component/speech"), a = function (e) {
        var t = r("#" + e + " a.toggle"), n = r(t.data("rel")), i = r("#" + e);
        return {
            container: i, trigger: t, sheet: n, isOpen: function () {
                return i.hasClass("toggleClose")
            }, open: function () {
                i.removeClass("toggleClose"), ke("group").fire("toggleChange", e, "open")
            }, close: function () {
                i.addClass("toggleClose"), ke("group").fire("toggleChange", e, "close")
            }
        }
    }, u = function (e) {
        this.id = e;
        var t = null;
        if ("string" != typeof e)throw"Id must be a String";
        return u._instance[e] ? t = u._instance[e] : (t = this, u._instance[e] = this), t
    };
    u._instance = {}, r.extend(u.prototype, {
        open: function () {
            this.formatToggle.open()
        }, close: function () {
            this.formatToggle.close()
        }, init: function () {
            var e = this;
            i(r("#" + this.id + " .tab-menu"), r("#" + this.id + " .tab-content"), {
                container: r("#" + e.id),
                callBack: function () {
                    e.open(), s.stopVideoAndVoice()
                }
            }), e.formatToggle = o(a(e.id)), e.formatToggle.init()
        }
    });
    var l = function (e) {
        var t;
        return t = new u(e), t.init(), t
    };
    n.exports = function (e) {
        if ("string" == typeof e)return l(e);
        var t = [];
        for (var n in e)e.hasOwnProperty(n) && "dictGroup" === e[n].type && t.push(l(n));
        return t
    }
});
define("/src/scripts/utils/component/tg", function (e, t, n) {
    var r = e("/lib/jquery");
    n.exports = function (e, t, n) {
        r(e).each(function () {
            var e = r(this), i = e.find(t);
            i.css("cursor", "pointer").click(function (t) {
                0 === i.index(r(this)) && r(this).addClass(), e.toggleClass(n), i.blur(), t.preventDefault()
            })
        })
    }
});
define("/src/scripts/utils/component/submitContent", function (e, t, n) {
    var r = e("/src/scripts/external");
    return function (e, t, n, i, o) {
        var s = {
            comments: e,
            email: n,
            reporter: "",
            keyfrom: t,
            label: i,
            id: r.getAppID(),
            ver: r.getAppVersionString()
        };
        $.post("http://dict.youdao.com/feedback/open/feedback/add", s, function () {
            $.isFunction(o) && o()
        })
    }
});
define("/src/scripts/utils/component/validator", function (e, t, n) {
    var r = e("/lib/jquery"), i = {
        mobile: /^0*(13|15|18)(\d{9}|\d-\d{3}-\d{5}|\d-\d{4}-\d{4}|\d{2}-\d{3}-\d{4}|\d{2}-\d{4}-\d{3})$/,
        phone: /^((0*\d{1,4}|\+\d{1,4}|\(\d{1,4}\))[ -]?)?(\d{2,4}[ -]?)?\d{3,4}[ -]?\d{3,4}([ -]\d{1,5})?$/,
        email: /^([a-z0-9_][a-z0-9_.-]*)?[a-z0-9_]@([a-z0-9-]+\.){0,4}([a-z0-9][a-z0-9-]{0,61})?[a-z0-9]\.[a-z]{2,6}$/i,
        qq: /^[1-9]\d{4,14}$/,
        empty: /^$/,
        "null": /.+/
    }, o = function (e, t, n, o) {
        if (!r.isFunction(o) || !r.isFunction(n))throw Error("The rightHandle or wrongHandle must be functions.");
        if (r.isFunction(e))e(t) ? o() : n(); else {
            if (e = e.exec ? e : i[e], !e.exec)throw Error("Wrong regular expression.");
            e.exec(""), null !== e.exec(t) ? o() : n()
        }
    }, s = function (e, t, n) {
        var i = [];
        i.isValid = "and" === e;
        for (var s = 0, a = t.length; s < a; s++) {
            var u = t[s];
            o(u.ck, n, function () {
                void 0 !== u.msg && i.push(u.msg), "and" === e && (i.isValid = !1), r.isFunction(u.fail) && u.fail(u.msg)
            }, function () {
                "or" === e && (i.isValid = !0), r.isFunction(u.pass) && u.pass()
            })
        }
        return i
    }, a = function (e, t, n) {
        return "<" + (t || "i") + ' class="' + (n || "") + ' error-message">' + e + "</" + (t || "i") + ">"
    }, u = function (e, t, n) {
        if (r(n.elem).addClass("data-error"), r.isFunction(n.error))n.error(t); else {
            var i = "and" === e ? t[0] : t.join("，或");
            n.errorBox ? r(n.errorBox).html(i) : r(n.elem).after(a(i, n.tagName, n.className))
        }
    }, c = function (e) {
        r(e.elem).removeClass("data-error"), r.isFunction(e.errorReset) ? e.errorReset() : e.errorBox ? r(e.errorBox).html("") : r(r(e.elem).parent()).find("i.error-message").remove()
    }, l = function (e) {
        if (0 === r(e.elem).size() || e.backDoor && e.backDoor())return !0;
        c(e);
        var t = e.xor || "or", n = r.isFunction(e.val) ? e.val() : r(e.elem).val(), i = s(t, e.validate, r.trim(n));
        return i.isValid || u(t, i, e), i.isValid
    }, f = function (e) {
        var t = !0;
        d(e, function (e) {
            l(e) || (t = !1)
        }), t && e.callback()
    }, p = function (e) {
        d(e, function (e) {
            r(document).off("blur.dataCheck focus.dataCheck", e.elem), e.autoCheck && r(document).on("blur.dataCheck", e.elem, function () {
                l(e)
            }), r(document).on("focus.dataCheck", e.elem, function () {
                c(e)
            })
        })
    }, d = function (e, t) {
        for (var n = e.configs, i = 0; i < n.length; i++)!function (i) {
            var o = n[i];
            if (r.isFunction(e.error) && !r.isFunction(o.error) && (o.error = e.error), r.isFunction(e.errorReset) && !r.isFunction(o.errorReset) && (o.errorReset = e.errorReset), "undefined" == typeof o.autoCheck) {
                var s = "undefined" == typeof e.autoCheck || e.autoCheck;
                o.autoCheck = s
            }
            t(o)
        }(i)
    }, h = function (e) {
        this.configSet = e, this.config()
    };
    h.prototype = {
        constructor: h, config: function () {
            p(this.configSet)
        }, run: function () {
            f(this.configSet)
        }
    }, n.exports = function (e) {
        return new h(e)
    }
});
define("/src/scripts/utils/component/align", function (e, t, n) {
    var r = function (e, t, n, r, i) {
        var o = [];
        t.chars && void 0 != t.chars.length && (o = t.chars);
        var s = [];
        t.q && void 0 != t.q.length && (s = t.q);
        for (var a in o)if (void 0 == o[a]["@id"] || void 0 == o[a]["@s"] || void 0 == o[a]["@e"])return e;
        for (var a in s)if (void 0 == s[a]["@s"] || void 0 == s[a]["@e"])return e;
        for (var u = 0, c = 0, l = 0, f = ""; ;) {
            if (u == o.length && c == s.length) {
                f += e.substring(l);
                break
            }
            if (u == o.length || c < s.length && Number(o[u]["@s"]) > Number(s[c]["@s"])) {
                var p = Number(s[c]["@s"]), d = Number(s[c]["@e"]);
                if (NaN == p || p <= 0 || p > e.length || NaN == d || d <= 0 || d > e.length)return e;
                --p, --d, f += e.substring(l, p) + "<b>" + e.substring(p, d) + "</b>", l = d, ++c
            } else {
                if (!(c == s.length || u < o.length && Number(s[c]["@s"]) > Number(o[u]["@s"])))return e;
                var h = i + "_" + n + "_" + r + "_" + o[u]["@id"], g = "", m = [], v = [];
                void 0 != o[u].aligns && (o[u].aligns.sc && void 0 != o[u].aligns.sc.length && (m = o[u].aligns.sc), o[u].aligns.tc && void 0 != o[u].aligns.tc.length && (v = o[u].aligns.tc));
                for (var a in m)void 0 != m[a]["@id"] && ("" != g && (g += ","), g += "#" + i + "_src_" + r + "_" + m[a]["@id"]);
                for (var a in v)void 0 != v[a]["@id"] && ("" != g && (g += ","), g += "#" + i + "_tran_" + r + "_" + v[a]["@id"]);
                var p = Number(o[u]["@s"]), d = Number(o[u]["@e"]);
                if (NaN == p || p <= 0 || p > e.length || NaN == d || d <= 0 || d > e.length)return e;
                --p, --d, f += e.substring(l, p) + '<span id="' + h + '" data-aligning="' + g + '">';
                var y = [];
                o[u].q && void 0 != o[u].q.length && (y = o[u].q);
                var x = p;
                for (var a in y) {
                    if (void 0 == y[a]["@s"] || void 0 == y[a]["@e"])return e;
                    var b = Number(y[a]["@s"]), w = Number(y[a]["@e"]);
                    if (NaN == b || b <= 0 || b > e.length || NaN == w || w <= 0 || w > e.length)return e;
                    --b, --w, f += e.substring(x, b) + "<b>" + e.substring(b, w) + "</b>", x = w
                }
                f += e.substring(x, d) + "</span>", l = d, ++u
            }
        }
        return f
    };
    n.exports = function (e, t, n) {
        return e.sentence && e["sentence-translation"] && e["aligned-words"] && e["aligned-words"].src && e["aligned-words"].tran ? [r(e.sentence, e["aligned-words"].src, "src", t, n), r(e["sentence-translation"], e["aligned-words"].tran, "tran", t, n)] : []
    }
});
define("/src/scripts/utils/component/kDate", function () {
    var KDate = function () {
        this.init.apply(this, arguments)
    };
    KDate.template = {"-": "y%-m%-d%", "-0": "y%-m%-d%"};
    var i18n = {
        months: {
            num: {
                0: "1",
                1: "2",
                2: "3",
                3: "4",
                4: "5",
                5: "6",
                6: "7",
                7: "8",
                8: "9",
                9: "10",
                10: "11",
                11: "12"
            },
            en: {
                0: "January",
                1: "February",
                2: "March",
                3: "April",
                4: "May",
                5: "June",
                6: "July",
                7: "August",
                8: "September",
                9: "October",
                10: "November",
                11: "December"
            },
            ch: {
                0: "一月",
                1: "二月",
                2: "三月",
                3: "四月",
                4: "五月",
                5: "六月",
                6: "七月",
                7: "八月",
                8: "九月",
                9: "十月",
                10: "十一月",
                11: "十二月"
            }
        },
        weeks: {
            num: {0: "7", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6"},
            en: {0: "Sunday", 1: "Monday", 2: "Tuesday", 3: "Wednesday", 4: "Thursday", 5: "Friday", 6: "Saturday"},
            ch: {0: "周日", 1: "周一", 2: "周二", 3: "周三", 4: "周四", 5: "周五", 6: "周六"}
        }
    };
    return KDate.prototype = {
        constructor: KDate, init: function () {
            var date = {};
            arguments.length > 1 ? date = eval("new Date(" + $.makeArray(arguments).join(",") + ")") : 0 === arguments.length ? date = new Date : 1 === arguments.length && "string" == typeof arguments[0] && arguments[0].indexOf("-") >= 0 ? (date = arguments[0].replace(/\-|\-0/g, "/"), date = new Date(date)) : date = arguments[0], this.date = date
        }, create: function (e, t, n) {
            return new Date(this.date.getFullYear() + e, this.date.getMonth() + t, this.date.getDate() + n)
        }, getDate: function (e, t, n) {
            return this.date = this.create(e, t, n), this
        }, getNextDay: function () {
            return this.getDate(0, 0, 1)
        }, getPreDay: function () {
            return this.getDate(0, 0, -1)
        }, jumpTo: function (e, t, n) {
            return this.date = this.create(e, t, n), this.date
        }, jump: function (e, t, n) {
            return new this.constructor(this.create(e, t, n))
        }, nextDay: function () {
            return this.jump(0, 0, 1)
        }, preDay: function () {
            return this.jump(0, 0, -1)
        }, inSameMonthWith: function (e) {
            return this.date.getMonth() === e.date.getMonth()
        }, earlyThan: function (e) {
            return this.date < e.date
        }, compare: function (e) {
            var t, n = this.date, r = e.date;
            return t = n.getFullYear() !== r.getFullYear() ? n.getFullYear() - r.getFullYear() : n.getMonth() !== r.getMonth() ? n.getMonth() - r.getMonth() : n.getDate() - r.getDate(), t < 0 ? "<" : t > 0 ? ">" : "="
        }, isBetween: function (e, t) {
            return e.date <= this.date && this.date <= t.date
        }, getWeekFirstDate: function (e) {
            return this.create(0, 0, -this.date.getDay() + {ch: 1, en: 0}[e || "en"])
        }, getWeekLastDate: function (e) {
            return this.create(0, 0, -this.date.getDay() + {ch: 1, en: 0}[e || "en"] + 6)
        }, equals: function (e) {
            return this.toString("-") === e.toString("-")
        }, fullStr: function (e) {
            return parseInt(e, 10) < 10 ? "0" + e : e + ""
        }, internationalization: function (e, t, n) {
            var r = i18n;
            return "string" != typeof t && (r = t), r[e][t][n]
        }, toString: function (e, t, n) {
            e || (e = "-"), t || (t = "num"), "-0" === e ? n = !0 : "-" === e && (n = !1), void 0 !== KDate.template[e] && (e = KDate.template[e]);
            var r = this.date, i = r.getFullYear(), o = this.internationalization("months", t, r.getMonth());
            n && (o = this.fullStr(o));
            var s = n ? this.fullStr(r.getDate()) : r.getDate(), a = n ? this.fullStr(r.getHours()) : r.getHours(), u = n ? this.fullStr(r.getMinutes()) : r.getMinutes(), c = n ? this.fullStr(r.getSeconds()) : r.getSeconds(), l = this.internationalization("weeks", t, r.getDay()), f = function (e, t, n) {
                return e.indexOf(t) >= 0 ? e.replace(t, n) : e
            };
            return e = f(e, "y%", i), e = f(e, "m%", o), e = f(e, "d%", s), e = f(e, "h%", a), e = f(e, "m%", u), e = f(e, "s%", c), e = f(e, "w%", l)
        }
    }, KDate.TODAY = new KDate, KDate
});
define("/src/scripts/utils/component/jquery-textchange", function (e, t, n) {
    var r = e("/lib/jquery");
    r.fn.hasContentEditable = function () {
        return "true" === this[0].contentEditable
    }, r.event.special.textchange = {
        setup: function (e, t) {
            var n = r(this);
            n.data("lastValue", n.hasContentEditable() ? n.html() : n.val()).on("keyup.textchange", r.event.special.textchange.handler).on("cut.textchange paste.textchange input.textchange", r.event.special.textchange.delayedHandler).on("focus.suggest", function () {
                r(this).data("lastValue", n.hasContentEditable() ? n.html() : n.val())
            })
        }, teardown: function (e) {
            r(this).off("textchange")
        }, handler: function (e) {
            r.event.special.textchange.triggerIfChanged(r(this))
        }, delayedHandler: function (e) {
            var t = r(this);
            setTimeout(function () {
                r.event.special.textchange.triggerIfChanged(t)
            }, 25)
        }, triggerIfChanged: function (e) {
            var t = e.hasContentEditable() ? e.html() : e.val();
            t !== e.data("lastValue") && (e.trigger("textchange", [e.data("lastValue")]), e.data("lastValue", t))
        }
    }, r.event.special.hastext = {
        setup: function (e, t) {
            r(this).on("textchange", r.event.special.hastext.handler)
        }, teardown: function (e) {
            r(this).off("textchange", r.event.special.hastext.handler)
        }, handler: function (e, t) {
            var n = r(this);
            "" === t && t !== n.val() && n.trigger("hastext")
        }
    }, r.event.special.notext = {
        setup: function (e, t) {
            r(this).on("textchange", r.event.special.notext.handler)
        }, teardown: function (e) {
            r(this).off("textchange", r.event.special.notext.handler)
        }, handler: function (e, t) {
            var n = r(this), i = n.val();
            "" === i && i !== t && n.trigger("notext")
        }
    }
});
define("/src/scripts/utils/component/suggest/suggest", function (e, t, n) {
    var i = e("/lib/jquery");
    e("/src/scripts/utils/component/jquery-textchange");
    var r = {newid: 0}, o = 0, s = 0, a = !1, u = function () {
        return r.newid = o++ + +new Date
    }, c = function (e, t) {
        if (0 === i(e).length)throw new Error("绑定元素为空！！");
        this.el = e, this.init(t)
    }, l = {UP: 38, DOWN: 40, RIGHT: 37, LEFT: 39, ENTER: 13, TAB: 9}, f = function (e, t) {
        if (e) {
            var n = t.offset().left, i = t.offset().top + t.outerHeight(), r = 2, o = t.outerWidth() - r;
            e.css({top: i + 3, left: n, width: o})
        }
    }, d = null;
    c.prototype = {
        init: function (e) {
            this.suggestContainerId = e.id || "auto-suggest", this.mouseover = !1, this.initDataProvider(e), this.initDataProcessing(e), this.initItemCreater(e), this.initContainer(e), this.initInput(e), i.isFunction(e.userInit) && e.userInit(this)
        }, initDataProvider: function (e) {
            i.isFunction(e.data) ? this.dataProvider = function (t, n) {
                e.data(t, n)
            } : e.data.length > 0 ? this.dataProvider = function (t, n) {
                i.isFunction(n) && n(e.data, t)
            } : this.dataProvider = function (e, t) {
                t()
            }
        }, initDataProcessing: function (e) {
            this.dataProcessing = i.isFunction(e.dataProcessing) ? e.dataProcessing : function (e, t) {
                return e
            }
        }, initItemCreater: function (e) {
            this.item = i.isFunction(e.item) ? e.item : function (e, t, n) {
                return t
            }
        }, onSelected: function (e) {
            var t = i("#" + this.suggestContainerId + " li").eq(this.curSuggest);
            if (0 !== t.length && (!!a || 0 !== this.curSuggest)) {
                var n = e.fillVal(r.co[this.curSuggest], t);
                n && (i(this.el).val() !== n && i(this.el).val(n), i(this.el).focus(), i.isFunction(e.afterSelected) && e.afterSelected(r.co[this.curSuggest], t))
            }
            d = "ONSELECTED"
        }, initContainer: function (e) {
            var t = this;
            0 === i("#" + this.suggestContainerId).size() ? this.suggestContainer = i('<ul id="' + this.suggestContainerId + '"></ul>').appendTo("body").hide().addClass("auto-suggest") : this.suggestContainer = i("#" + this.suggestContainerId), i(document).mousedown(function () {
                t.suggestContainer.is(":visible") && (i(t.el).val(r.ci), t.close())
            }), this.suggestContainer.mousedown(function (e) {
                e.stopPropagation()
            }), this.suggestContainer.delegate("li", "click", function () {
                t.setSelectedStatusOn(i(this)), t.onSelected(e), i.isFunction(e.clickItem) && e.clickItem(r.co[this.curSuggest], i(this)), t.close()
            }), this.suggestContainer.mousemove(function () {
                t.mousemoved = !0
            }), this.suggestContainer.delegate("li", "mouseover", function () {
                t.mousemoved && (t.mouseover = !0, a = !0, t.setSelectedStatusOn(i(this)))
            }), this.suggestContainer.delegate("li", "mouseout", function () {
                t.mouseover = !1
            }), f(this.suggestContainer, i(this.el))
        }, changeSelect: function (e, t) {
            this.suggestContainer.is(":visible") && (a = !0, this.setSelectedStatusOn((this.curSuggest + t + this.suggests.length) % this.suggests.length), this.onSelected(e))
        }, initInput: function (e) {
            var t = this;
            i(this.el).bind("keyup.suggest", function (n) {
                var i = n.which === l.UP ? -1 : 1;
                switch (n.which) {
                    case 16:
                    case 17:
                    case 18:
                        break;
                    case 9:
                    case l.UP:
                        return null === t.curSuggest && (t.curSuggest = 0), t.changeSelect(e, i), !1;
                    case l.DOWN:
                        return null === t.curSuggest && (t.curSuggest = -1), t.changeSelect(e, i), !1;
                    case l.ENTER:
                        null !== t.curSuggest && t.suggestContainer.is(":visible") && t.onSelected(e), t.close();
                        break;
                    case 27:
                        t.close();
                        break;
                    case l.LEFT:
                    case l.RIGHT:
                }
            }), i(this.el).bind("blur.suggest", function (e) {
                t.mouseover || t.close(), e.stopPropagation()
            }), i(this.el).on("focus.suggest", function () {
                r.ci = i(this).val()
            }), i(this.el).on("textchange", function (n) {
                return "ONSELECTED" === d ? void(d = null) : (t.fetchData(function (n, i) {
                    t.showSuggestDataInContainer(n, i, e)
                }), void n.stopPropagation())
            })
        }, fetchData: function () {
            var e = 50;
            return function (t) {
                var n = this;
                window.clearTimeout(n.delay), s = u(), n.delay = window.setTimeout(function () {
                    a = !1;
                    var e = i(n.el).val();
                    e !== r.ci && (r.sh.unshift(e), r.ci = e, "" === e ? n.close() : n.dataProvider(e, function (e, n) {
                        s === r.newid && ("undefined" != typeof e && 0 !== e.length || (e = r.co), null !== e && (r.co = e, t(e, n)))
                    }))
                }, e)
            }
        }(), showSuggestDataInContainer: function (e, t, n) {
            var r = i("<div></div>"), o = this;
            this.mousemoved = !1, i.each(this.dataProcessing(e, t), function (e, n) {
                i('<li class="item"></li>').html(o.item(t, n, e)).appendTo(r)
            }), o.rePosition(), this.suggestContainer.html(r.html()).show(), this.suggests = i("#" + this.suggestContainerId + " li"), i.isFunction(n.equal1st) && n.equal1st(t, e[0] || {}) ? this.setSelectedStatusOn(0) : this.curSuggest = null, i.isFunction(n.afterShow) && n.afterShow()
        }, close: function () {
            u(), this.suggestContainer.hide(), r.co = null, d = null
        }, rePosition: function () {
            i(this.el).is(":visible") && f(this.suggestContainer, i(this.el))
        }, setSelectedStatusOn: function (e) {
            this.suggests.removeClass("selected"), "number" == typeof e ? (this.suggests.eq(e).addClass("selected"), this.curSuggest = e) : (i(e).addClass("selected"), this.curSuggest = this.suggests.index(i(e)))
        }
    }, r.position = f, r.sh = [], r.getSh = function () {
        return r.sh
    }, r.co = null, r.getCo = function () {
        return r.co
    }, r.ci = null, r.getCi = function () {
        return r.ci
    }, n.exports = function (e, t) {
        return i(e).attr("autoComplete", "off"), new c(e, t)
    }, i.extend(n.exports, r)
});
define("/src/scripts/utils/store", function (e, t, n) {
    var i = e("/lib/jquery"), r = e("/src/scripts/external"), o = {
        local: function (e, t) {
            return {
                get value() {
                    return JSON.parse(r.loadString(e, t || "global") || "{}")
                }, set val(n) {
                    r.saveString(e, JSON.stringify(n), t || "global")
                }, set valmix(n) {
                    r.saveString(e, JSON.stringify(i.extend(!0, this.value, n)), t || "global")
                }, add: function (n, o) {
                    var s = {};
                    s[n] = o, r.saveString(e, JSON.stringify(i.extend(!0, this.value, s)), t || "global")
                }
            }
        }, session: function (e, t) {
            return {}
        }
    }, s = function (e, t) {
        this.key = e;
        var n = this;
        return {
            get session() {
                return n.database = o.session(e, t), n.database
            }, get local() {
                return n.database = o.local(e, t), n.database
            }
        }
    };
    n.exports = function (e, t) {
        return new s(e, t || "global")
    }
});
define("/src/scripts/utils/component/languageSelect", function (e, t, n) {
    var i = e("/lib/jquery"), r = e("/src/scripts/external"), o = i("#langSel"), s = i("#langOpts"), a = i("#customSelectVal"), u = "eng", c = e("/src/scripts/utils/store")("langStatus").local, l = c.value.lang || "eng", f = function (e) {
        var t, n, r, u;
        /(38|40|27)/.test(e.keyCode) && (t = i(this), t.is(".disabled, :disabled") || (r = o.hasClass("lang-sel-open"), (!r || r && 27 === e.keyCode) && (27 === e.which && o.find(a).focus(), s.hide()), n = i(".js-lang", o), n.length && (u = n.index(n.filter(":focus")), 38 === e.keyCode && (u <= 0 ? u = n.length - 1 : u--), 40 === e.keyCode && (u < n.length - 1 ? u++ : u = 0), ~u || (u = 0), n.eq(u).focus())))
    };
    ke("window").on("openStatus", function (e) {
        "langOpts" !== e && i("#langOpts").hide()
    }), a.bind("click", function () {
        return ke("window").fire("openStatus", "langOpts"), s.slideToggle(100), a.focus(), !1
    });
    var d = function (e) {
        a.removeClass("lang-" + u), a.addClass("lang-" + e).text(i(".le-" + e).text()), i(".js-lang-type").data("lang", e), c.val = {lang: e}, u = e
    };
    i(".js-lang").hover(function () {
        i(this).focus()
    }, function () {
        i(this).blur()
    });
    var p = function () {
        i(document).on("keydown.lang-sel", a, f), i(".js-lang").bind("click", function () {
            return d(i(this).data("lang")), s.hide(), !1
        }), i(document).bind("click", function () {
            s.hide()
        }), s.find(".le-" + l).trigger("click")
    };
    p(), n.exports.changeLang = function (e) {
        d(e)
    }, r.on("langChange", function (e) {
        s.find(".le-" + e).click()
    })
});
define("/src/scripts/utils/component/share", function () {
    var e = encodeURIComponent, t = "http://cidian.yuodao.com/beta", n = {
        sina: function (t) {
            var n = ["appkey=", t.appKey, "&title=", e(t.title || document.title), "&content=", t.charset || "gb2312", "ralateUid=", t.uid, "&pic=", e(t.imgUrl || ""), "&c=srp_h_youdao_cidian_fs00_null"];
            return "http://v.t.sina.com.cn/share/share.php?" + n.join("")
        }, tencent: function (n) {
            var i = ["appkey=", n.appKey, "&assname=", n.uid, "&url=", e(n.location || t), "&pic=", e(n.imgUrl || ""), "&title=", e(n.title || document.title)];
            return "http://share.v.t.qq.com/index.php?c=share&a=index&" + i.join("")
        }, netease: function (n) {
            var i = ["appkey=", n.appKey, "&link=", e(n.location || t), "&info=", e(n.title), "&images=", e(n.imgUrl), "&source=", e("每日英语")];
            return "http://t.163.com/article/user/checkLogin.do?" + i.join("")
        }, kaixin: function (n) {
            var i = ["appkey=", n.appKey, "&rurl=", e(n.location || t), "&rtitle=", e(document.title), "&rcontent=", e(n.title), "&rpic=", e(n.imgUrl || "")];
            return "http://www.kaixin001.com/repaste/bshare.php?" + i.join("")
        }, renren: function (n) {
            var i = ["api_key=", n.api_key || "", "&title=", e(n.title || ""), "&pic=", e(n.imgUrl || ""), "&description=", e(n.title || ""), "&resourceUrl=", e(n.location || t), "&images=", e(n.imgUrl || ""), "&charset=", n.charset || "UTF-8"];
            return "http://widget.renren.com/dialog/share?" + i.join("")
        }, qZone: function (n) {
            var i = ["url=", e(n.location || t), "&title=", e(document.title), "&summary=", e(n.title), "&pics=", e(n.imgUrl || "")];
            return "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?" + i.join("")
        }
    }, i = {
        sina: "分享到新浪微博",
        tencent: "转播到腾讯微博",
        netease: "分享到网易微博",
        renren: "分享到人人网",
        kaixin001: "分享到开心网",
        qZone: "分享到QQ空间"
    };
    return {
        open: function (e, t) {
            window.open(n[e](t), i[e], ["toolbar=0,status=0,resizable=1,width=" + t.width + ",height=" + t.height + ",left=", (screen.width - t.width) / 2, ",top=", (screen.height - t.height) / 2].join(""))
        }
    }
});
define("/src/scripts/utils/component/shareComponent", function (e) {
    var t = e("/src/scripts/utils/component/share"), n = e("/src/scripts/utils/component/kDate"), i = '<ul class="js-shareComponent share-options select-options"><li><a title="分享到新浪微博" id="sina" class="js-share-to share-to sina js-ctlog"  data-ctype="每日一句_分享到新浪微博"data-category-type="word" data-share-type="sina" href="#"><span class="bar"></span>新浪微博</a></li><li><a title="分享到人人网" id="renren" class="js-share-to share-to renren  js-ctlog"  data-ctype="每日一句_分享到人人网" data-category-type="word" data-share-type="renren" href="#"><span class="bar"></span>人人网</a></li><li><a title="分享到QQ空间" id="qZone" class="js-share-to share-to qZone js-ctlog"  data-ctype="每日一句_分享到QQ空间" data-category-type="word" data-share-type="qZone" href="#"><span class="bar"></span>QQ空间</a></li></ul>', r = {
        title: "",
        summary: "",
        img: "",
        url: "",
        category: ""
    }, o = function () {
        s()
    }, s = function () {
        $("body").delegate(".js-share", "click", function (e) {
            var t = $(this), o = t.parent().children("ul.js-shareComponent");
            o.length > 0 || (t.parent().append(i), o = t.parent().children("ul.js-shareComponent")), o.toggle(), ke("window").fire("openStatus", "shareto"), r.title = t.data("currentdata-title"), r.summary = t.data("currentdata-summary"), r.img = t.data("currentdata-img"), r.url = a((new n).toString("-0")), e.preventDefault(), e.stopPropagation()
        }), $(document).bind("click", function (e) {
            $(".js-shareComponent").hide()
        }), $("body").delegate(".js-share-to", "click", function (e) {
            r.category = $(this).data("category-type"), u($(this).data("share-type"), r), e.preventDefault(), e.stopPropagation(), $(".js-shareComponent").hide()
        })
    }, a = function (e) {
        var t = "http://xue.youdao.com/v?date=", n = e ? e : getDate();
        return t + n
    }, u = function () {
        var e = {sina: "1699451730", tencent: "youdaodict"}, n = {
            sina: "1222576039",
            tencent: "801063699"
        }, i = {word: "#每日一句#", spoken: "#有道词典练口语#", spokenProm: "#明星口语大PK#"}, r = " @有道词典", o = function (e) {
            return $("<span>" + e + "</span>").text()
        }, s = {
            word: function (e, t) {
                var n = void 0 !== o(e.summary) ? "--" + o(e.summary) + "】" : "】";
                return i[e.category] + "【" + o(e.title) + n + t + e.url + r
            }, spoken: function (e, t) {
                return i[e.category] + "我在" + r + "  练习口语，得到了" + e.level + "分，击败了全球" + e.rank + "%的人，你也来试试吧！" + e.url
            }, spokenProm: function (e, t) {
                return i[e.category] + "我在" + r + "  和" + e.starName + "PK口语,我们的口语相似度高达" + e.score + "%!但和我口语最相近的明星竟然是" + e.similarStarName + "!快来有道词典，和明星pk口语!" + e.url
            }
        };
        return function (i, r) {
            var o = "\n";
            setTimeout(function () {
                t.open(i, {
                    appKey: n[i] || "dict",
                    uid: e[i],
                    title: s[r.category](r, o),
                    imgUrl: r.img || "",
                    location: r.url,
                    charset: "utf-8",
                    width: 620,
                    height: 600
                })
            }, 0)
        }
    }();
    return o(), u
});
define("/src/scripts/utils/component/jquery-mousewheel", function (e, t, n) {
    function i(e) {
        var t, n = e || window.event, i = [].slice.call(arguments, 1), s = 0, a = 0, u = 0, c = 0, l = 0;
        return e = $.event.fix(n), e.type = "mousewheel", n.wheelDelta && (s = n.wheelDelta / 120), n.detail && (s = n.detail * -1), n.deltaY && (u = n.deltaY * -1, s = u), n.deltaX && (a = n.deltaX, s = a * -1), void 0 !== n.wheelDeltaY && (u = n.wheelDeltaY), void 0 !== n.wheelDeltaX && (a = n.wheelDeltaX * -1), c = Math.abs(s), (!r || c < r) && (r = c), l = Math.max(Math.abs(u), Math.abs(a)), (!o || l < o) && (o = l), t = s > 0 ? "floor" : "ceil", s = Math[t](s / r), a = Math[t](a / o), u = Math[t](u / o), i.unshift(e, s, a, u), ($.event.dispatch || $.event.handle).apply(this, i)
    }

    var r, o, s = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"], a = "onwheel"in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"];
    if ($.event.fixHooks)for (var u = s.length; u;)$.event.fixHooks[s[--u]] = $.event.mouseHooks;
    $.event.special.mousewheel = {
        setup: function () {
            if (this.addEventListener)for (var e = a.length; e;)this.addEventListener(a[--e], i, !1); else this.onmousewheel = i
        }, teardown: function () {
            if (this.removeEventListener)for (var e = a.length; e;)this.removeEventListener(a[--e], i, !1); else this.onmousewheel = null
        }
    }, $.fn.extend({
        mousewheel: function (e) {
            return e ? this.bind("mousewheel", e) : this.trigger("mousewheel")
        }, unmousewheel: function (e) {
            return this.unbind("mousewheel", e)
        }
    })
});
define("/src/scripts/utils/component/log", function (e, t, n) {
    function i(e) {
        r.post(u, {info: e, id: s, version: a})
    }

    var r = e("/lib/jquery"), o = e("/src/scripts/external"), s = o.getAppID(), a = o.getAppVersionString(), u = "http://192.168.5.14/circle/log/index.php";
    return {send: i}
});
define("/src/scripts/utils/component/lightips", function (e, t) {
    var n, i = e("/lib/jquery"), r = function () {
        var e, t;
        window.innerHeight && window.scrollMaxY ? (e = document.body.scrollWidth, t = window.innerHeight + window.scrollMaxY) : (e = Math.max(document.body.scrollWidth, document.body.offsetWidth), t = Math.max(document.body.scrollHeight, document.body.offsetHeight));
        var n, i;
        n = document.documentElement.clientWidth || document.body.clientWidth, i = document.documentElement.clientHeight || document.body.clientHeight;
        var r = Math.max(t, i), o = Math.max(e, n);
        return {page: {width: o, height: r}, window: {width: n, height: i}}
    }, o = function (e) {
        var t = i(window).height(), n = i(window).width(), r = document.body.scrollTop || document.documentElement.scrollTop, o = document.body.scrollLeft || document.documentElement.scrollLeft;
        e.css({top: parseInt((t - e.height()) / 2, 10) + r, left: parseInt((n - e.width()) / 2, 10) + o})
    }, s = function (e, t) {
        var n;
        0 === i(".light-box").size() && (n = i('<div class="light-box"></div>').appendTo("body"));
        var s = function () {
            n.css({height: r().page.height, width: r().page.width})
        };
        s();
        var u = {
            open: function () {
                ke("lightips").fire("open"), n.show(), o(e), e.show()
            }, close: function (r) {
                n.hide(), ke("lightips").fire("closeMsg"), e.fadeOut(function () {
                    i.isFunction(r) ? r() : t && i.isFunction(t.onclose) && t.onclose()
                })
            }
        };
        return o(e), i(window).resize(function () {
            o(e), s()
        }), i(window).scroll(function () {
            s(), o(e)
        }), e.mousedown(function (e) {
            e.stopPropagation()
        }), e.delegate("a.close", "click", function () {
            "undefined" != typeof c && clearInterval(c), a.close()
        }), u
    }, a = null, u = function (e) {
        void 0 !== e && (i(document).unbind("mousedown.lboxClose"), e || i(document).bind("mousedown.lboxClose", function (e) {
            i(".light-box").is(":visible") && a.close(), e.stopPropagation()
        }))
    };
    t.msgContainer = function (e) {
        return i(e).size() > 0 && (n = i(e)), n
    }, t.open = function (e, r, o, u) {
        return n || (n = i('<div class="message-container"></div>').appendTo("body")), i.isFunction(r) || "boolean" == typeof r || "object" != typeof r ? "boolean" != typeof o && "object" == typeof o && (u = o) : u = r, a || (a = s(n, u)), t.updateMsg(e, r, o), a.open(), t
    }, t.updateMsg = function (e, r, o) {
        return "undefined" != typeof e && e.size ? (n.empty(), n.append(e)) : "string" == typeof e && (n.empty(), n.html(e)), i.isFunction(e) && (r = e), "boolean" == typeof e && (o = e), "boolean" == typeof r && (o = r), i.isFunction(r) && r(n), "boolean" == typeof o && u(o), t
    };
    var c;
    t.closeMsg = function (e) {
        return "undefined" != typeof c && clearInterval(c), a && a.close(e), t
    };
    t.countDownMsg = function (e, n, i) {
        t.open(e, function () {
        }, !0), c = setInterval(function () {
            n--, 0 === n ? (clearInterval(c), a.close()) : n > 0 && i(n)
        }, 1e3)
    }
});
define("/src/scripts/utils/utils", function (e, t, n) {
    var i = {
        goTop: e("/src/scripts/utils/component/goTop"),
        group: e("/src/scripts/utils/component/group"),
        speech: e("/src/scripts/utils/component/speech"),
        tab: e("/src/scripts/utils/component/tab"),
        toggle: e("/src/scripts/utils/component/toggle"),
        tg: e("/src/scripts/utils/component/tg"),
        submitContent: e("/src/scripts/utils/component/submitContent"),
        validator: e("/src/scripts/utils/component/validator"),
        align: e("/src/scripts/utils/component/align"),
        kDate: e("/src/scripts/utils/component/kDate"),
        suggest: e("/src/scripts/utils/component/suggest/suggest"),
        langSelect: e("/src/scripts/utils/component/languageSelect"),
        shareTo: e("/src/scripts/utils/component/share"),
        shareComponent: e("/src/scripts/utils/component/shareComponent"),
        mousewheel: e("/src/scripts/utils/component/jquery-mousewheel"),
        textchange: e("/src/scripts/utils/component/jquery-textchange"),
        dblog: e("/src/scripts/utils/component/log"),
        loadStyle: function (e) {
            var t = document.getElementsByTagName("head")[0], n = document.createElement("link");
            n.rel = "stylesheet", n.type = "text/css", n.media = "screen", n.href = e, t.appendChild(n)
        },
        val: function r(e, t) {
            var n = t.split(".");
            if (1 === n.length)return e[n[0]] ? e[n[0]] : void 0;
            var i = n[0];
            for (var o in e)if (o == i)return r(e[i], t.substring(t.indexOf(".") + 1))
        },
        _foreach: {
            get count() {
                return this.first++
            }, start: function (e) {
                return this.first = e, ""
            }, first: 1
        },
        timero: function (e, t) {
            var n = function (e, t) {
                this.func = e, this.time = t
            };
            return n.prototype = {
                run: function () {
                    var e = this;
                    this.clear(), this.timeout = setTimeout(function () {
                        $.isFunction(e.func) && e.func()
                    }, e.time)
                }, clear: function () {
                    clearTimeout(this.timeout)
                }
            }, new n(e, t)
        },
        timerProxy: function () {
            var e = function () {
                window.timerProxyTimeout && window.clearTimeout(window.timerProxyTimeout)
            };
            return function t(n, i) {
                this.timerProxy.clearProxy = t.clearProxy = e, e(), window.timerProxyTimeout = window.setTimeout(function () {
                    $.isFunction(n) && n()
                }, i)
            }
        }(),
        iInterval: function () {
            var e = {}, t = 0, n = function (t) {
                void 0 !== typeof e[t] && clearInterval(e[t])
            }, i = function (t, i, r) {
                n(t), e[t] = setInterval(function () {
                    $.isFunction(i) && i()
                }, r)
            };
            return function (e, r) {
                var o = Function.prototype.bind.apply(i, [void 0, t].concat(Array.prototype.slice.call(arguments))), s = n.bind(void 0, t);
                return t += 1, {start: o, stop: s}
            }
        }(),
        makeArray: function (e) {
            return Array.prototype.slice.call(e, 0)
        },
        synchronize: function (e) {
            var t = this;
            e.synchronizeed = !1;
            var n = function () {
                e.synchronizeed = !1
            };
            return function () {
                if (!e.synchronizeed) {
                    e.synchronizeed = !0;
                    var i = t.makeArray(arguments);
                    i.push(n), e.apply(this, i)
                }
            }
        },
        spaceTrim: function () {
            var e = function (e, t, n) {
                var i = e.split(t);
                e = "";
                for (var r = 0; r < i.length; r++)i[r].length > 0 && ("" != e && r > 0 && r <= i.length - 1 && (e += n), e += i[r]);
                return e
            };
            return function (t) {
                return t = e(e(t, " ", " "), "　", " "), e(e(t, " 　", " "), "　 ", " ")
            }
        }(),
        isAlpha: function (e) {
            return /[a-zA-Z']+/.test(e)
        },
        isChinese: function (e) {
            var t = /[^\u4e00-\u9fa5]/;
            return !t.test(e)
        },
        selectContentAt: function (e) {
            var t = document.createRange();
            t.selectNodeContents(e);
            var n = window.getSelection();
            n.removeAllRanges(), n.addRange(t)
        },
        ctlog: function (t, n, i, r, o, s) {
            var a = new Date, u = "&rnd=" + a.getTime(), c = "", l = "", f = "", d = "";
            try {
                d = e("/src/scripts/utils/store")("userConfig").local.value.abtest || "0", c = window.external.cppCall("getAppVersionString"), l = window.external.cppCall("getAppID"), f = window.external.cppCall("getVendor")
            } catch (p) {
            }
            var h = new Image;
            return h.src = "http://cidian.youdao.com/apps/log.html?q=" + encodeURIComponent(n) + "&url=" + encodeURIComponent(t) + "&pos=" + i + "&id=" + l + "&keyfrom=" + r + "&appVer=" + c + "&vendor=" + f + "&abTest=" + d + "&action=" + o + "&ctype=" + s + u, !0
        },
        vislog: function (t) {
            var n = new Date, r = n.getTime(), o = "", s = "", a = "", u = "";
            try {
                u = e("/src/scripts/utils/store")("userConfig").local.value.abtest || "0", o = window.external.cppCall("getAppVersionString"), s = window.external.cppCall("getAppID"), a = window.external.cppCall("getVendor")
            } catch (c) {
            }
            var l = new Image, f = {appVer: o, rnd: r, vendor: a, id: s, abTest: u};
            for (var d in t)f[d] = t[d] ? t[d] : "";
            return l.src = i.makeUrl("http://cidian.youdao.com/apps/log.html", f), !0
        },
        makeUrl: function (e, t) {
            if (!e)return !1;
            if (!t || 0 == Object.keys(t))return e;
            var n = "";
            for (var i in t)n += (n.length ? "&" : "") + [i, t[i]].join("=");
            return e + "?" + n
        },
        img2base64: function (e) {
            var t = new $.Deferred;
            return e.onload = function () {
                if (e.complete) {
                    var n = document.createElement("canvas");
                    n.width = e.width, n.height = e.height;
                    var i = n.getContext("2d");
                    i.drawImage(e, 0, 0), t.resolve(i.canvas.toDataURL("image/png"))
                }
            }, t
        }
    };
    n.exports = i, n.exports.lightips = e("/src/scripts/utils/component/lightips")
});
define("/src/scripts/render/params", function (e, t, n) {
    var i, r = e("/src/scripts/utils/utils"), o = "";
    n.exports = {
        set q(e) {
            $("#queryinput").val((e || "").trim() || ""), ke("queryinput").fire("queryWordChange")
        }, get q() {
            return $("#queryinput").val() || ""
        }, set le(t) {
            "undefined" != typeof t && (r.langSelect.changeLang(t), e("/src/scripts/external").langChange(t))
        }, get le() {
            return $(".js-lang-type").data("lang") || "eng"
        }, set rle(e) {
            i = e
        }, get rle() {
            return i
        }, get keyfrom() {
            return o || "deskdict.main"
        }, set keyfrom(e) {
            o = e
        }, reset: function (e, t) {
            this.q = e, this.le = t
        }
    }
});
define("/src/scripts/external", function (e, t, n) {
    var i = function (e) {
        for (var t = Array.prototype.slice.call(e, 0), n = 0; n < t.length; n++)"function" == typeof t[n] && (t[n] = "匿名函数");
        return t
    };
    window.external || (window.external = {});
    var o = {
        on: function (e, t) {
            console.log("cppCall [on] and arguments: " + i(arguments).join(", "))
        }, saveString: function (e, t, n) {
            localStorage.setItem(e, t)
        }, loadString: function (e, t) {
            return localStorage.getItem(e)
        }, getAppVersionString: function () {
            return console.log("cppCall [getAppVersionString] and arguments: " + i(arguments).join(", ")), "6.0.0.1"
        }, getAppID: function () {
            return console.log("cppCall [getAppID] and arguments: " + i(arguments).join(", ")), "123456"
        }, getAppVersion: function () {
            return console.log("cppCall [getAppVersion] and arguments: " + i(arguments).join(", ")), 60000000001
        }, getInstallerName: function () {
            return console.log("cppCall [getInstallerName] and arguments: " + i(arguments).join(", ")), "YoudaoDict"
        }, getZengqiangFlag: function () {
            return console.log("cppCall [getZengqiangFlag] and arguments: " + i(arguments).join(", ")), 2
        }, checkWordBook: function (e) {
            console.log("asyncCall [checkWord] and arguments: " + i(arguments).join(", "))
        }, getQueryWord: function (e) {
            e($("#queryinput").val())
        }, mainQuery: function (t, n, i, o, r) {
            e("/src/scripts/render/params");
            i = encodeURIComponent(i), 0 == n ? ($.ajax("http://dict.youdao.com/jsonapi?nocache=ture&le=" + JSON.parse(o).lang + "&q=" + i + "&dicts={%22count%22:9,%22dicts%22:[[%22ce%22],[%22ec%22],[%22cj%22],[%22jc%22],[%22cf%22],[%22fc%22],[%22ck%22],[%22kc%22],[%22pic_dict%22]]}", {crossDomain: !0}).done(function (e, t, n) {
                r([0, JSON.stringify(e), JSON.stringify({isNewSearch: !0, isFinish: !1})])
            }), $.ajax("http://dict.youdao.com/jsonapi?nocache=ture&le=" + JSON.parse(o).lang + "&q=" + i + "&dicts={%22count%22:5,%22dicts%22:[[%22web_trans%22],[%22collins%22],[%22phrs%22],[%22blng_sents_part%22],[%22baike%22]]}", {crossDomain: !0}).done(function (e, t, n) {
                r([0, JSON.stringify(e), JSON.stringify({isNewSearch: !1, isFinish: !1})])
            }), $.ajax("http://dict.youdao.com/jsonapi?nocache=ture&le=" + JSON.parse(o).lang + "&q=" + i + "&dicts={%22count%22:14,%22dicts%22:[[%22special%22],[%22ee%22],[%22hh%22],[%22ec21%22],[%22ce_new%22],[%22syno%22],[%22rel_word%22],[%22media_sents_part%22],[%22auth_sents_part%22],[%22fanyi%22],[%22fanyi%22],[%22web_search%22],[%22typos%22],[%22collins_part%22]]}", {crossDomain: !0}).done(function (e, t, n) {
                e.isFinish = !0, r([0, JSON.stringify(e), JSON.stringify({isNewSearch: !1, isFinish: !0})])
            })) : $.ajax("http://dict.youdao.com/jsonresult?q=" + i + "&type=1&pos=-1", {crossDomain: !0}).done(function (e, t, n) {
                r([0, JSON.stringify(e), JSON.stringify({})])
            })
        }, exampleQuery: function (t, n, i, o, r) {
            var s = e("/src/scripts/render/params");
            i = encodeURIComponent(i), $.ajax("http://dict.youdao.com/jsonapi?nocache=ture&le=" + s.le + "&q=" + i + "&dicts={%22dicts%22:[[%22blng_sents%22],[%22auth_sents%22],[%22media_sents%22]]}", {crossDomain: !0}).done(function (e) {
                r([0, JSON.stringify(e), JSON.stringify({})])
            })
        }, wikiQuery: function (t, n, i, o, r) {
            e("/src/scripts/render/params");
            i = encodeURIComponent(i), $.ajax("http://dict.youdao.com/jsonapi?nocache=ture&q=" + i + o, {crossDomain: !0}).done(function (e) {
                r([0, JSON.stringify(e), JSON.stringify({})])
            }).error(function () {
                $.ajax("http://dict.youdao.com/jsonapi?nocache=ture&q=" + i + "&dicts={%22dicts%22:[[%22baike_relative%22]]}", {crossDomain: !0}).done(function (e) {
                    r([JSON.stringify(e)])
                }).error(function () {
                })
            })
        }, transQuery: function (e, t, n, o, r, s) {
            console.log("asyncCall [transQuery] and arguments: " + i(arguments).join(", "))
        }, wikiSuggest: function (e, t, n) {
            $.ajax({
                url: "http://dict.youdao.com/wikisuggest/suggest/tbsuggest.s?type=DESKDICT&num=4&q=" + e,
                type: "get",
                dataType: "xml"
            }).done(function (e) {
                var t = $(e).find("type").text(), i = $(e).find("item").map(function (e, n) {
                    return '{"trans":"' + $(n).find("explain").text() + '", "word":"' + $(n).find("title").text() + '", "lang": "' + t + '"}'
                });
                n(["[" + Array.prototype.join.call(i, ",") + "]"])
            }).error(function () {
                n(["[]"])
            })
        }, mainSuggest: function (e, t, n) {
            $.ajax({
                url: "http://dict.youdao.com/suggest?type=DESKDICT&num=4&q=" + e + "&ver=2.0&le=eng",
                type: "get",
                dataType: "xml"
            }).done(function (e) {
                var t = $(e).find("type").text(), i = $(e).find("item").map(function (e, n) {
                    return '{"trans":"' + $(n).find("explain").text() + '", "word":"' + $(n).find("title").text() + '", "lang": "' + t + '"}'
                });
                n(["[" + Array.prototype.join.call(i, ",") + "]"])
            }).error(function () {
                n(["[]"])
            })
        }, quit: function () {
            console.log("cppCall [quit] and arguments: " + i(arguments).join(", "))
        }, setPreStatus: function (e) {
            console.log("cppCall [setPreStatus] and arguments: " + i(arguments).join(", "))
        }, setNextStatus: function (e) {
            console.log("cppCall [setNextStatus] and arguments: " + i(arguments).join(", "))
        }, setQueryWord: function (e) {
            console.log("cppCall [setQueryWord] and arguments: " + i(arguments).join(", "))
        }, setLangBtn: function (e) {
            console.log("cppCall [setLangBtn] and arguments: " + i(arguments).join(", "))
        }, closeWindow: function () {
            console.log("cppCall [closeWindow] and arguments: " + i(arguments).join(", "))
        }, min: function () {
            console.log("cppCall [min] and arguments: " + i(arguments).join(", "))
        }, max: function () {
            console.log("cppCall [max] and arguments: " + i(arguments).join(", "))
        }, popSysMenu: function () {
            console.log("cppCall [popSysMenu] and arguments: " + i(arguments).join(", "))
        }, captionMouseDown: function () {
            console.log("cppCall [captionMouseDown] and arguments: " + i(arguments).join(", "))
        }, sizingMouseDown: function (e) {
            console.log("cppCall [sizingMouseDown] and arguments: " + i(arguments).join(", "))
        }, debug: function () {
            console.log("cppCall [debug] and arguments: " + i(arguments).join(", "))
        }, loginout: function () {
            console.log("cppCall [loginout] and arguments: " + i(arguments).join(", "))
        }, checkUpdate: function () {
            console.log("cppCall [checkUpdate] and arguments: " + i(arguments).join(", "))
        }, option: function () {
            console.log("cppCall [option] and arguments: " + i(arguments).join(", "))
        }, guide: function () {
            console.log("cppCall [guide] and arguments: " + i(arguments).join(", "))
        }, plugins: function () {
            console.log("cppCall [plugins] and arguments: " + i(arguments).join(", "))
        }, topMostWindow: function () {
            console.log("cppCall [topMostWindow] and arguments: " + i(arguments).join(", "))
        }, aboutDlg: function () {
            console.log("cppCall [aboutDlg] and arguments: " + i(arguments).join(", "))
        }, openMini: function () {
            console.log("cppCall [openMini] and arguments: " + i(arguments).join(", "))
        }, openWordbook: function () {
            console.log("cppCall [openWordbook] and arguments: " + i(arguments).join(", "))
        }, openStudy: function () {
            console.log("cppCall [openStudy] and arguments: " + i(arguments).join(", "))
        }, openZFanyi: function () {
            console.log("cppCall [openZFanyi] and arguments: " + i(arguments).join(", "))
        }, openMobile: function () {
            console.log("cppCall [openMobile] and arguments: " + i(arguments).join(", "))
        }, openPictDict: function (e, t) {
            console.log("cppCall [openPictDict] and arguments: " + i(arguments).join(", "))
        }, openNewWnd: function (e, t, n, o, r) {
            window.open(e), console.log("cppCall [openNewWnd] and arguments: " + i(arguments).join(", "))
        }, openInfolineWnd: function (e, t, n, o, r, s, a) {
            window.open(e), console.log("cppCall [openInfolineWnd] and arguments: " + i(arguments).join(", "))
        }, screenTrans: function () {
            console.log("cppCall [switchScreenTrans] and arguments: " + i(arguments).join(", "))
        }, strokeTrans: function () {
            console.log("cppCall [switchStrokeTrans] and arguments: " + i(arguments).join(", "))
        }, showSimiSent: function () {
            console.log("cppCall [showSimiSent] and arguments: " + i(arguments).join(", "))
        }, langChange: function (e) {
            console.log("cppCall [langChange] and arguments: " + i(arguments).join(", "))
        }, setCurFanyiType: function (e) {
            console.log("cppCall [setCurFanyiType] and arguments: " + i(arguments).join(", "))
        }, verify: function (e, t, n, o, r) {
            console.log("cppCall [verify] and arguments: " + i(arguments).join(", "))
        }, requestData: function (e, t) {
            $.ajax(e).done(function (e) {
                t([JSON.stringify(e)])
            })
        }, downloadFile: function (e, t, n) {
            var i = Object.keys(e);
            for (var o in i)n([e[i[o]].index, e[i[o]].url])
        }, clearFirstPage: function (e) {
            console.log("cppCall [clearFirstPage] and arguments: " + i(arguments).join(", "))
        }, addWord: function (e, t, n) {
            console.log("cppCall [addWord] and arguments: " + i(arguments).join(", "))
        }, modWord: function (e) {
            console.log("cppCall [modWord] and arguments: " + i(arguments).join(", "))
        }, playSound: function (e) {
            console.log("cppCall [playSound] and arguments: " + i(arguments).join(", "))
        }, stopSound: function () {
            console.log("cppCall [stopSound] and arguments: " + i(arguments).join(", "))
        }, blockCharInput: function (e) {
            console.log("cppCall [blockCharInput] and arguments: " + i(arguments).join(", "))
        }, WaveRecorder_BeginRecord: function (e) {
            console.log("cppCall [WaveRecorder_BeginRecord] and arguments: " + i(arguments).join(", ")), e("end")
        }, WaveRecorder_EndRecord: function () {
            console.log("cppCall [WaveRecorder_EndRecord] and arguments: " + i(arguments).join(", "))
        }, WaveRecorder_BeginPlay: function (e) {
            console.log("cppCall [WaveRecorder_BeginPlay] and arguments: " + i(arguments).join(", ")), e("end")
        }, WaveRecorder_EndPlay: function () {
            console.log("cppCall [WaveRecorder_EndPlay] and arguments: " + i(arguments).join(", "))
        }, WaveRecorder_GetWaveData: function (e) {
            console.log("cppCall [WaveRecorder_GetWaveData] and arguments: " + i(arguments).join(", ")), e([1, 2, 3, 4, 5, 6])
        }, copyText: function (e) {
            console.log("cppCall [copyText] and arguments: " + i(arguments).join(", "))
        }, setSimiData: function (e) {
            console.log("cppCall [setSimiData] and arguments: " + i(arguments).join(", "))
        }, showHandInput: function () {
            console.log("cppCall [showHandInput] and arguments: " + i(arguments).join(", "))
        }, hideHandInput: function () {
            console.log("cppCall [hideHandInput] and arguments: " + i(arguments).join(", "))
        }, changeFrameAdv: function () {
            console.log("cppCall [changeFrameAdv] and arguments: " + i(arguments).join(", "))
        }, closeFrameAdv: function () {
            console.log("cppCall [closeFrameAdv] and arguments: " + i(arguments).join(", "))
        }, showPopAdv: function (e) {
            console.log("cppCall [showPopAdv] and arguments: " + i(arguments).join(", "))
        }, getVendor: function (e) {
            console.log("cppCall [getVendor] and arguments: " + i(arguments).join(", "))
        }, onDOMContentLoaded: function () {
            console.log("cppCall [onDOMContentLoaded] and arguments: " + i(arguments).join(", "))
        }, showUserSettting: function () {
            console.log("cppCall [showUserSettting] and arguments: " + i(arguments).join(", "))
        }, setNativeFrameShow: function (e) {
            console.log("cppCall [setNativeFrameShow] and arguments: " + i(arguments).join(", "))
        }, setTab: function (e) {
            console.log("cppCall [setTab] and arguments: " + i(arguments).join(", "))
        }, getInfolineData: function (e) {
            console.log("cppCall [getInfolineData] and arguments: " + i(arguments).join(", ")), e && e(["161577", "2015-12-10", "youdao://everydayEnglish"])
        }, setQueryFocus: function (e) {
            console.log("cppCall [setQueryFocus] and arguments: " + i(arguments).join(", "))
        }, selectQueryAll: function (e) {
            console.log("cppCall [selectQueryAll] and arguments: " + i(arguments).join(", "))
        }, PcLogin: function (e) {
            console.log("cppCall [PcLogin] and arguments: " + i(arguments).join(", "))
        }, setQueryWordAndCursor: function (e) {
            console.log("cppCall [setQueryWordAndCursor] and arguments: " + i(arguments).join(", "))
        }
    }, r = function () {
        var e = {}, t = external.cppCall;
        for (var n in o)o.hasOwnProperty(n) && (e[n] = t.bind(external, n));
        return e
    };
    n.exports = external.cppCall ? r() : o
});
define("/src/scripts/openApi", function (e, t, n) {
    window.deskdict = {};
    var i = e("/src/scripts/external");
    deskdict.changeTab = function (e) {
        $("#control li[data-type=" + e + "]").mousedown()
    }, deskdict.inputChange = function (e) {
        $("#queryinput").val(e), ke("combobox").fire("textchange")
    }, deskdict.search = function (e, t, n) {
        window.search(e, t, n)
    }, deskdict.toggleHistory = function () {
        $(".js-search-history").click()
    }, deskdict.toggleHr = function () {
        $("#hwBtn").click()
    }, deskdict.pre = function () {
        $(".pre a").click(), i.setQueryWord($("#queryinput").val())
    }, deskdict.next = function () {
        $(".next a").click(), i.setQueryWord($("#queryinput").val())
    }, deskdict.sKeyup = function (e) {
        $("#queryinput").trigger(jQuery.Event("keyup", {which: e})), 13 !== e && 38 !== e && 40 !== e || i.setQueryWord($("#queryinput").val())
    }, deskdict.hKeydown = function (e) {
        $("#queryinput").trigger(jQuery.Event("keydown", {keyCode: e})), 13 === e && i.setQueryWord($("#queryinput").val())
    }, deskdict.checkStatus = function () {
        return {pre: $(".pre").hasClass("active"), next: $(".next").hasClass("active")}
    }, deskdict.setStatus = function () {
        var e = deskdict.checkStatus();
        i.setPreStatus(e.pre), i.setNextStatus(e.next)
    }, deskdict.toggleLang = function () {
        $("#customSelectVal").click()
    }, deskdict.searchYd = function () {
        $(".js-search-yd").click()
    }, deskdict.clickDocument = function () {
        $(document).click(), $(document).mousedown(), $(document).mouseup()
    }, deskdict.setFocus = function (e) {
        e && (console.log(e), i.setQueryWordAndCursor(e)), i.setQueryFocus()
    }, deskdict.setSelect = function () {
        i.selectQueryAll()
    }, ke("lightips").on("open", function () {
        i.setNativeFrameShow(!1)
    }), ke("lightips").on("closeMsg", function () {
        i.setNativeFrameShow(!0)
    }), ke("tab").on("changeto", function (e) {
        i.setTab(e)
    }), ke("queryinput").on("queryWordChange", function () {
        i.setQueryWord($("#queryinput").val())
    });
    for (var o in deskdict)!function (e) {
        i.on(e, function (t) {
            deskdict[e].apply(deskdict, t)
        })
    }(o)
});
define("/src/scripts/render/dict/start/clearUpLocal", function (e, t, n) {
    var i, o = e("/src/scripts/utils/component/kDate"), r = e("/src/scripts/utils/store"), s = e("/src/scripts/external"), a = r("waterfallData").local, c = r("storedImage").local, u = r("everydayenglishData").local, l = function (e) {
        var t = (new o).getDate(0, 0, -1 * e).toString("-0"), n = [], i = [], r = a.value;
        for (var l in r)l > t ? r[l].forEach(function (e) {
            var t = e["image-desk2"];
            void 0 !== t && (i[t] = !0, n.push(decodeURIComponent(t.slice(0, t.lastIndexOf("/") + 1))))
        }) : delete r[l];
        a.val = r;
        var d = Object.keys(u.value).sort().reverse(), p = Object.create(u.value);
        u.val = {}, d.forEach(function (e, t) {
            if (0 === t) {
                u.add(e, p[e]);
                var o = p[e][0]["image-desk2"];
                i[o] = !0, n.push(decodeURIComponent(o.slice(0, o.lastIndexOf("/") + 1)))
            }
        });
        var f = c.value;
        for (var h in f)i[f[h]] || delete f[h];
        c.val = f, s.clearFirstPage(n)
    };
    n.exports = function (e) {
        i || (i = setTimeout(function () {
            l(e)
        }, 6e4))
    }
});
define("/src/scripts/render/dict/start/defaultData", function (e, t, n) {
    var i = {
        "2014-05-01": [{
            id: 9523,
            type: "每日一句",
            version: 2,
            client: "deskdict",
            "image-desk2": "src/images/index/TT.jpg",
            voice: "http://dict.youdao.com/dictvoice?audio=Progress+is+not+created+by+contented+people.",
            voice_size: 11,
            title: "Progress is not created by contented people.",
            summary: "进步不是由满足的人所创造。",
            style: "head",
            isbrower: "true"
        }],
        "2014-12-23": [{
            id: 24587,
            type: "每日一句",
            version: 1419243811,
            client: "deskdict",
            "image-desk2": "src/images/index/head.jpg",
            voice: "http://dict.youdao.com/dictvoice?audio=Success+is+getting+what+you+want%2C+happiness+is+wanting+what+you+get.",
            voice_size: 18,
            title: "Success is getting what you want, happiness is wanting what you get.",
            summary: "成功是得其所想，幸福是想其所得！",
            style: "head",
            isbrower: "false"
        }]
    }, o = [{
        id: 9548,
        type: "双语阅读",
        time: 201405131810,
        version: 3,
        "image-desk2": "src/images/index/wt_9548.jpg",
        title: "What would you say  to your younger self?",
        summary: "你会给年轻时的自己写些什么话？",
        url: "http://xue.youdao.com/zx/m/43304?trans_js=true",
        style: "article"
    }, {
        id: 10082,
        type: "精选阅读",
        time: 201405271210,
        version: 4,
        "image-desk2": "src/images/index/wt_10082.jpg",
        title: "Love makes man grow up or sink down",
        summary: "九句让人感慨的英文",
        url: "http://xue.youdao.com/zx/m/48244?trans_js=true",
        style: "image"
    }, {
        id: 9978,
        type: "精选阅读",
        time: 201405241210,
        version: 1,
        "image-desk2": "src/images/index/wt_9978.jpg",
        title: "China:来吧，我需要爱",
        summary: "这些国家的名字如此浪漫",
        url: "http://xue.youdao.com/zx/m/45594?trans_js=true",
        style: "image"
    }, {
        id: 9974,
        type: "潮人街",
        time: 201405241200,
        version: 2,
        "image-desk2": "src/images/index/wt_9974.jpg",
        title: "午餐后可做的健身动作",
        summary: "缓解疲劳的5个实用小技巧",
        url: "http://xue.youdao.com/zx/m/45572",
        style: "trend"
    }, {
        id: 9975,
        type: "科学有态度",
        time: 201405241800,
        version: 1,
        "image-desk2": "src/images/index/wt_9975.jpg",
        title: "那些年的宫斗大杀器",
        summary: "麝香与藏红花真能致人流产吗？",
        url: "http://xue.youdao.com/zx/m/43358",
        style: "science"
    }, {
        id: 9936,
        type: "专栏",
        time: 201405231200,
        version: 2,
        "image-desk2": "src/images/index/wt_9936.jpg",
        title: "向改编大师致敬！",
        summary: "哪些改编成电影的作品不逊色于原作，甚至超越",
        url: "http://xue.youdao.com/zx/m/46058",
        style: "column"
    }, {
        id: 9930,
        type: "精选阅读",
        time: 201405231210,
        version: 3,
        "image-desk2": "src/images/index/wt_9930.jpg",
        title: "拍手叫绝的六种神翻译",
        summary: "我大中华文字确实博大精深！",
        url: "http://xue.youdao.com/zx/m/47010?trans_js=true",
        style: "image"
    }, {
        id: 9935,
        type: "双语阅读",
        time: 201405231810,
        version: 1,
        "image-desk2": "src/images/index/wt_9935.jpg",
        title: "Some Mosquitoes Bite People Because Of Their Clothes?",
        summary: "蚊子咬你是因为你的衣服？",
        url: "http://xue.youdao.com/zx/m/46890?trans_js=true",
        style: "article"
    }, {
        id: 9929,
        type: "动听英乐",
        time: 201405221736,
        version: 1,
        "image-desk2": "src/images/index/wt_9929.jpg",
        title: "Don't Cry -Guns N' Roses",
        summary: "低吟一曲 荡气回肠",
        url: "http://xue.youdao.com/zx/m/46878?trans_js=true",
        style: "music"
    }, {
        id: 9891,
        type: "生活英语",
        time: 201405211800,
        version: 1,
        "image-desk2": "src/images/index/wt_9891.jpg",
        title: "笑出腹肌的英文段子",
        summary: "你英语那么好，老外听懂了吗？？",
        url: "http://xue.youdao.com/zx/m/46746",
        style: "life"
    }, {
        id: 9797,
        type: "潮人街",
        time: 201405200600,
        version: 3,
        "image-desk2": "src/images/index/wt_9797.jpg",
        title: "脱下西装撒把野",
        summary: "晃瞎眼！原来这些豪车也有SUV",
        url: "http://xue.youdao.com/zx/m/42420",
        style: "trend"
    }, {
        id: 9754,
        type: "双语阅读",
        time: 201405190630,
        version: 1,
        "image-desk2": "src/images/index/wt_9754.jpg",
        title: "10 Foods That Make You Less Smart",
        summary: "10种让你变笨的食物",
        url: "http://xue.youdao.com/zx/m/44662?trans_js=true",
        style: "article"
    }, {
        id: 9772,
        type: "双语阅读",
        time: 201405191810,
        version: 2,
        "image-desk2": "src/images/index/wt_9772.jpg",
        title: "4 Situations When Britons Behave Differently From Americans",
        summary: "当高冷的英国人遇上豪放的美国人",
        url: "http://xue.youdao.com/zx/m/45350?trans_js=true",
        style: "article"
    }, {
        id: 9767,
        type: "精选阅读",
        time: 201405191158,
        version: 3,
        "image-desk2": "src/images/index/wt_9767.jpg",
        title: "A Chip on Your Shoulder=耿耿于怀？",
        summary: "来看有趣的英语习语",
        url: "http://xue.youdao.com/zx/m/45246?trans_js=true",
        style: "image"
    }, {
        id: 9677,
        type: "双语阅读",
        time: 201405161810,
        version: 2,
        "image-desk2": "src/images/index/wt_9677.jpg",
        title: "5 Quick Dating Tips For Introverts",
        summary: "内向的你须知的约会技巧",
        url: "http://xue.youdao.com/zx/m/44596?trans_js=true",
        style: "article"
    }, {
        id: 9669,
        type: "精选阅读",
        time: 201405161031,
        version: 4,
        "image-desk2": "src/images/index/wt_9669.jpg",
        title: "中国传统文化词汇集锦",
        summary: "四六级考试必备>>>",
        url: "http://xue.youdao.com/zx/m/9712?trans_js=true",
        style: "image"
    }, {
        id: 9602,
        type: "科学有态度",
        time: 201405150555,
        version: 1,
        "image-desk2": "src/images/index/wt_9602.jpg",
        title: "穷人家的女孩儿爱发福？",
        summary: "原来真的有科学依据···",
        url: "http://xue.youdao.com/zx/m/43820",
        style: "science"
    }, {
        id: 9524,
        type: "动听英乐",
        time: 201405130530,
        version: 1,
        "image-desk2": "src/images/index/wt_9524.jpg",
        title: "Tell Me Why-Declan Galbraith ",
        summary: "饱满干净 清幽空灵",
        url: "http://xue.youdao.com/zx/m/43022?trans_js=true",
        style: "music"
    }, {
        id: 9529,
        type: "生活英语",
        time: 201405130300,
        version: 1,
        "image-desk2": "src/images/index/wt_9529.jpg",
        title: "分分钟炼就办公达人",
        summary: "办公用品英文名",
        url: "http://xue.youdao.com/zx/m/43050?trans_js=true",
        style: "life"
    }, {
        id: 9415,
        type: "生活英语",
        time: 201405091757,
        version: 2,
        "image-desk2": "src/images/index/wt_9415.jpg",
        title: "“奇葩”怎么说？",
        summary: "多种说法 细微区别",
        url: "http://xue.youdao.com/zx/m/42378?trans_js=true",
        style: "life"
    }, {
        id: 9348,
        type: "精选阅读",
        time: 201405081752,
        version: 2,
        "image-desk2": "src/images/index/wt_9348.jpg",
        title: "一花一世界",
        summary: "泰戈尔诗歌中的经典名句（双语）",
        url: "http://xue.youdao.com/zx/m/41408?trans_js=true",
        style: "image"
    }, {
        id: 9246,
        type: "生活英语",
        time: 201405051801,
        version: 5,
        "image-desk2": "src/images/index/wt_9246.jpg",
        title: "常用四字短语",
        summary: "说英语可以这么酷",
        url: "http://xue.youdao.com/zx/m/40352?trans_js=true",
        style: "life"
    }];
    return {everydayenglish: i, waterCards: o}
});
define("/src/scripts/render/dict/start/fetchData", function (e, t, n) {
    function i(e) {
        if (e) {
            var t = e.filter(function (e, t) {
                return e["image-desk2"] = e["image-desk2"] ? e["image-desk2"] + "&of=webp&w=150" : void 0, void 0 !== e["image-desk2"]
            });
            return t
        }
    }

    var o, r, s = e("/src/scripts/utils/store")("userConfig").local.value.abtest || "0", a = "http://dict.youdao.com/infoline?apiversion=2&mode=publish&client=deskdict&abtest=" + s, c = e("/src/scripts/utils/component/kDate"), u = e("/src/scripts/utils/store"), l = e("/src/scripts/external"), d = u("waterfallData").local, p = u("storedImage").local, f = u("everydayenglishData").local, h = 0, g = 15, m = !0;
    l.downFiles = function () {
        var e = {};
        return function (t, n) {
            var i = t[0] ? JSON.parse(t[0].index).type : "head";
            e[i] = n, l.downloadFile(t, !1, function (t) {
                e[JSON.parse(t[0]).type](t)
            })
        }
    }();
    var v = function (e, t, n) {
        return t.map(function (t) {
            return {
                url: t["image-desk2"],
                md5: "",
                type: "image",
                index: JSON.stringify({type: n, date: e, id: t.id, timestamp: $.now()})
            }
        })
    }, y = function (e, t, n) {
        if ("" !== encodeURI(e[1]))for (var i = JSON.parse(e[0] || {}), o = 0, r = n.length; o < r; o++)if (n[o].id === i.id) {
            p.add(n[o]["image-desk2"], encodeURI(e[1]));
            break
        }
    };
    t.reset = function () {
        h = 0, o = void 0
    }, t.transformToImg = function (e) {
        var t = p.value;
        return e.map(function (e, n) {
            return void 0 !== e["image-desk2"] && 0 !== e["image-desk2"].indexOf("file:///") && void 0 !== t[e["image-desk2"]] && "" !== t[e["image-desk2"]] && (e["image-desk2"] = t[e["image-desk2"]]), e
        })
    }, t.downImages = function (e) {
        var t = new $.Deferred, n = [], i = 0, o = e.data, r = p.value, s = o.filter(function (e) {
            if (void 0 !== e["image-desk2"] && 0 !== e["image-desk2"].indexOf("file:///") && 0 !== e["image-desk2"].indexOf("src/images/index/") && void 0 === r[e["image-desk2"]])return n.push(new $.Deferred), !0
        });
        return 0 === s.length ? (t.resolve(), t) : (l.downFiles(v(e.date, s, "info"), function (t) {
            y(t, e.date, o), void 0 !== n[i] && (n[i].resolve(), i += 1)
        }), $.when.apply($, n))
    }, t.getDataBetween = function (e, t) {
        return $.ajax(a + "&startDate=" + e.toString("-0") + "&endDate=" + t.toString("-0"))
    };
    var x, w = 1, b = function (n) {
        var o = new $.Deferred;
        if (void 0 !== r && void 0 !== r[n])o.resolve(r[n]); else if (w % 3 === 0)void 0 === x && (x = setTimeout(function () {
            w = 1, x = void 0
        }, 3e4)), o.reject("累计三次请求失败，离线！"); else {
            var s = new c, a = (new c).getDate(0, 0, -1 * g);
            t.getDataBetween(a, s).then(function (t) {
                w = 1;
                for (var s in t)0 === t[s].length ? delete t[s] : t[s] = i(t[s]);
                r = t, void 0 !== t[n] ? o.resolve(t[n]) : o.reject(n.toString() + "不在合法的数据中"), e("/src/scripts/render/dict/start/clearUpLocal")(g)
            }).fail(function () {
                o.reject("getDataBetween fail"), w++
            })
        }
        return o
    }, C = function () {
        var t = $.Deferred(), n = "2014-05-01", i = [];
        return 0 === Object.keys(d.value).length ? i = e("/src/scripts/render/dict/start/defaultData").waterCards : (n = Object.keys(d.value).sort().reverse()[0], i = d.value[n]), t.resolve({
            date: n,
            data: i
        }), 0 == i.length && t.reject("get default data fail"), t
    };
    t.getData = function () {
        if (m)return m = !1, C();
        o = void 0 === o ? new c : o.preDay();
        var e = o.toString("-0"), n = $.Deferred();
        return h >= g ? n.resolve({data: null, date: e}) : (h++, b(e).then(function (i) {
            t.downImages({data: i, date: e}).then(function () {
                i = t.transformToImg(i), i = i.filter(function (e) {
                    return 0 !== window.location.href.indexOf("file:///") || 0 === e["image-desk2"].indexOf("file:///")
                }), n.resolve({data: i, date: e}), i = i.map(function (e) {
                    return delete e["image-desk"], e
                }), d.add(e, i)
            })
        }).fail(function (t) {
            void 0 !== d.value[e] ? n.resolve({data: d.value[e], date: e}) : n.reject("getData fail")
        })), n
    }, t.getDefaultHeadData = function () {
        var t = $.Deferred();
        return 0 === Object.keys(f.value).length ? t.resolve(e("/src/scripts/render/dict/start/defaultData").everydayenglish["2014-05-01"][0]) : t.resolve(f.value[Object.keys(f.value).sort().reverse()[0]][0]), t
    }, t.getDefaultHeadLocalData = function () {
        var t = $.Deferred();
        return t.resolve(e("/src/scripts/render/dict/start/defaultData").everydayenglish["2014-12-23"][0]), t
    };
    var k = function (e, t) {
        var n = new $.Deferred, i = p.value;
        if (t && t[0] && t[0]["image-desk2"] && void 0 !== i[t[0]["image-desk2"]]) {
            var o = new $.Deferred;
            return o.resolve(), o
        }
        return l.downFiles(v(e, t, "head"), function (i) {
            y(i, e, t), n.resolve()
        }), n
    };
    t.getHeadData = function () {
        var e = $.Deferred(), n = (new c).toString("-0");
        return $.ajax(a + "&date=" + n + "&style=head").then(function (o) {
            void 0 === o[n] || 0 === o[n].length ? e.reject() : (o[n] = i(o[n]), k(n, o[n]).then(function () {
                var i = t.transformToImg(o[n]);
                f.add(n, i), e.resolve(i[0])
            }))
        }).fail(function () {
            e.reject()
        }), e
    }
});
(function () {
    var e = this, t = e._, n = {}, i = Array.prototype, r = Object.prototype, o = Function.prototype, a = i.push, s = i.slice, u = i.concat, c = r.toString, l = r.hasOwnProperty, d = i.forEach, f = i.map, p = i.reduce, h = i.reduceRight, g = i.filter, m = i.every, v = i.some, y = i.indexOf, x = i.lastIndexOf, b = Array.isArray, w = Object.keys, C = o.bind, j = function (e) {
        return e instanceof j ? e : this instanceof j ? void(this._wrapped = e) : new j(e)
    };
    "undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = j), exports._ = j) : e._ = j, j.VERSION = "1.4.4";
    var k = j.each = j.forEach = function (e, t, i) {
        if (null != e)if (d && e.forEach === d)e.forEach(t, i); else if (e.length === +e.length) {
            for (var r = 0, o = e.length; r < o; r++)if (t.call(i, e[r], r, e) === n)return
        } else for (var a in e)if (j.has(e, a) && t.call(i, e[a], a, e) === n)return
    };
    j.map = j.collect = function (e, t, n) {
        var i = [];
        return null == e ? i : f && e.map === f ? e.map(t, n) : (k(e, function (e, r, o) {
            i[i.length] = t.call(n, e, r, o)
        }), i)
    };
    var T = "Reduce of empty array with no initial value";
    j.reduce = j.foldl = j.inject = function (e, t, n, i) {
        var r = arguments.length > 2;
        if (null == e && (e = []), p && e.reduce === p)return i && (t = j.bind(t, i)), r ? e.reduce(t, n) : e.reduce(t);
        if (k(e, function (e, o, a) {
                r ? n = t.call(i, n, e, o, a) : (n = e, r = !0)
            }), !r)throw new TypeError(T);
        return n
    }, j.reduceRight = j.foldr = function (e, t, n, i) {
        var r = arguments.length > 2;
        if (null == e && (e = []), h && e.reduceRight === h)return i && (t = j.bind(t, i)), r ? e.reduceRight(t, n) : e.reduceRight(t);
        var o = e.length;
        if (o !== +o) {
            var a = j.keys(e);
            o = a.length
        }
        if (k(e, function (s, u, c) {
                u = a ? a[--o] : --o, r ? n = t.call(i, n, e[u], u, c) : (n = e[u], r = !0)
            }), !r)throw new TypeError(T);
        return n
    }, j.find = j.detect = function (e, t, n) {
        var i;
        return S(e, function (e, r, o) {
            if (t.call(n, e, r, o))return i = e, !0
        }), i
    }, j.filter = j.select = function (e, t, n) {
        var i = [];
        return null == e ? i : g && e.filter === g ? e.filter(t, n) : (k(e, function (e, r, o) {
            t.call(n, e, r, o) && (i[i.length] = e)
        }), i)
    }, j.reject = function (e, t, n) {
        return j.filter(e, function (e, i, r) {
            return !t.call(n, e, i, r)
        }, n)
    }, j.every = j.all = function (e, t, i) {
        t || (t = j.identity);
        var r = !0;
        return null == e ? r : m && e.every === m ? e.every(t, i) : (k(e, function (e, o, a) {
            if (!(r = r && t.call(i, e, o, a)))return n
        }), !!r)
    };
    var S = j.some = j.any = function (e, t, i) {
        t || (t = j.identity);
        var r = !1;
        return null == e ? r : v && e.some === v ? e.some(t, i) : (k(e, function (e, o, a) {
            if (r || (r = t.call(i, e, o, a)))return n
        }), !!r)
    };
    j.contains = j.include = function (e, t) {
        return null != e && (y && e.indexOf === y ? e.indexOf(t) != -1 : S(e, function (e) {
                return e === t
            }))
    }, j.invoke = function (e, t) {
        var n = s.call(arguments, 2), i = j.isFunction(t);
        return j.map(e, function (e) {
            return (i ? t : e[t]).apply(e, n)
        })
    }, j.pluck = function (e, t) {
        return j.map(e, function (e) {
            return e[t]
        })
    }, j.where = function (e, t, n) {
        return j.isEmpty(t) ? n ? void 0 : [] : j[n ? "find" : "filter"](e, function (e) {
            for (var n in t)if (t[n] !== e[n])return !1;
            return !0
        })
    }, j.findWhere = function (e, t) {
        return j.where(e, t, !0)
    }, j.max = function (e, t, n) {
        if (!t && j.isArray(e) && e[0] === +e[0] && e.length < 65535)return Math.max.apply(Math, e);
        if (!t && j.isEmpty(e))return -(1 / 0);
        var i = {computed: -(1 / 0), value: -(1 / 0)};
        return k(e, function (e, r, o) {
            var a = t ? t.call(n, e, r, o) : e;
            a >= i.computed && (i = {value: e, computed: a})
        }), i.value
    }, j.min = function (e, t, n) {
        if (!t && j.isArray(e) && e[0] === +e[0] && e.length < 65535)return Math.min.apply(Math, e);
        if (!t && j.isEmpty(e))return 1 / 0;
        var i = {computed: 1 / 0, value: 1 / 0};
        return k(e, function (e, r, o) {
            var a = t ? t.call(n, e, r, o) : e;
            a < i.computed && (i = {value: e, computed: a})
        }), i.value
    }, j.shuffle = function (e) {
        var t, n = 0, i = [];
        return k(e, function (e) {
            t = j.random(n++), i[n - 1] = i[t], i[t] = e
        }), i
    };
    var D = function (e) {
        return j.isFunction(e) ? e : function (t) {
            return t[e]
        }
    };
    j.sortBy = function (e, t, n) {
        var i = D(t);
        return j.pluck(j.map(e, function (e, t, r) {
            return {value: e, index: t, criteria: i.call(n, e, t, r)}
        }).sort(function (e, t) {
            var n = e.criteria, i = t.criteria;
            if (n !== i) {
                if (n > i || void 0 === n)return 1;
                if (n < i || void 0 === i)return -1
            }
            return e.index < t.index ? -1 : 1
        }), "value")
    };
    var N = function (e, t, n, i) {
        var r = {}, o = D(null == t ? j.identity : t);
        return k(e, function (t, a) {
            var s = o.call(n, t, a, e);
            i(r, s, t)
        }), r
    };
    j.groupBy = function (e, t, n) {
        return N(e, t, n, function (e, t, n) {
            (j.has(e, t) ? e[t] : e[t] = []).push(n)
        })
    }, j.countBy = function (e, t, n) {
        return N(e, t, n, function (e, t) {
            j.has(e, t) || (e[t] = 0), e[t]++
        })
    }, j.sortedIndex = function (e, t, n, i) {
        n = null == n ? j.identity : D(n);
        for (var r = n.call(i, t), o = 0, a = e.length; o < a;) {
            var s = o + a >>> 1;
            n.call(i, e[s]) < r ? o = s + 1 : a = s
        }
        return o
    }, j.toArray = function (e) {
        return e ? j.isArray(e) ? s.call(e) : e.length === +e.length ? j.map(e, j.identity) : j.values(e) : []
    }, j.size = function (e) {
        return null == e ? 0 : e.length === +e.length ? e.length : j.keys(e).length
    }, j.first = j.head = j.take = function (e, t, n) {
        if (null != e)return null == t || n ? e[0] : s.call(e, 0, t)
    }, j.initial = function (e, t, n) {
        return s.call(e, 0, e.length - (null == t || n ? 1 : t))
    }, j.last = function (e, t, n) {
        if (null != e)return null == t || n ? e[e.length - 1] : s.call(e, Math.max(e.length - t, 0))
    }, j.rest = j.tail = j.drop = function (e, t, n) {
        return s.call(e, null == t || n ? 1 : t)
    }, j.compact = function (e) {
        return j.filter(e, j.identity)
    };
    var E = function (e, t, n) {
        return k(e, function (e) {
            j.isArray(e) ? t ? a.apply(n, e) : E(e, t, n) : n.push(e)
        }), n
    };
    j.flatten = function (e, t) {
        return E(e, t, [])
    }, j.without = function (e) {
        return j.difference(e, s.call(arguments, 1))
    }, j.uniq = j.unique = function (e, t, n, i) {
        j.isFunction(t) && (i = n, n = t, t = !1);
        var r = n ? j.map(e, n, i) : e, o = [], a = [];
        return k(r, function (n, i) {
            (t ? i && a[a.length - 1] === n : j.contains(a, n)) || (a.push(n), o.push(e[i]))
        }), o
    }, j.union = function () {
        return j.uniq(u.apply(i, arguments))
    }, j.intersection = function (e) {
        var t = s.call(arguments, 1);
        return j.filter(j.uniq(e), function (e) {
            return j.every(t, function (t) {
                return j.indexOf(t, e) >= 0
            })
        })
    }, j.difference = function (e) {
        var t = u.apply(i, s.call(arguments, 1));
        return j.filter(e, function (e) {
            return !j.contains(t, e)
        })
    }, j.zip = function () {
        for (var e = s.call(arguments), t = j.max(j.pluck(e, "length")), n = new Array(t), i = 0; i < t; i++)n[i] = j.pluck(e, "" + i);
        return n
    }, j.object = function (e, t) {
        if (null == e)return {};
        for (var n = {}, i = 0, r = e.length; i < r; i++)t ? n[e[i]] = t[i] : n[e[i][0]] = e[i][1];
        return n
    }, j.indexOf = function (e, t, n) {
        if (null == e)return -1;
        var i = 0, r = e.length;
        if (n) {
            if ("number" != typeof n)return i = j.sortedIndex(e, t), e[i] === t ? i : -1;
            i = n < 0 ? Math.max(0, r + n) : n
        }
        if (y && e.indexOf === y)return e.indexOf(t, n);
        for (; i < r; i++)if (e[i] === t)return i;
        return -1
    }, j.lastIndexOf = function (e, t, n) {
        if (null == e)return -1;
        var i = null != n;
        if (x && e.lastIndexOf === x)return i ? e.lastIndexOf(t, n) : e.lastIndexOf(t);
        for (var r = i ? n : e.length; r--;)if (e[r] === t)return r;
        return -1
    }, j.range = function (e, t, n) {
        arguments.length <= 1 && (t = e || 0, e = 0), n = arguments[2] || 1;
        for (var i = Math.max(Math.ceil((t - e) / n), 0), r = 0, o = new Array(i); r < i;)o[r++] = e, e += n;
        return o
    };
    var _ = function () {
    };
    j.bind = function (e, t) {
        var n, i;
        if (e.bind === C && C)return C.apply(e, s.call(arguments, 1));
        if (!j.isFunction(e))throw new TypeError;
        return n = s.call(arguments, 2), i = function () {
            if (!(this instanceof i))return e.apply(t, n.concat(s.call(arguments)));
            _.prototype = e.prototype;
            var r = new _;
            _.prototype = null;
            var o = e.apply(r, n.concat(s.call(arguments)));
            return Object(o) === o ? o : r
        }
    }, j.partial = function (e) {
        var t = s.call(arguments, 1);
        return function () {
            return e.apply(this, t.concat(s.call(arguments)))
        }
    }, j.bindAll = function (e) {
        var t = s.call(arguments, 1);
        if (0 === t.length)throw new Error("bindAll must be passed function names");
        return k(t, function (t) {
            e[t] = j.bind(e[t], e)
        }), e
    }, j.memoize = function (e, t) {
        var n = {};
        return t || (t = j.identity), function () {
            var i = t.apply(this, arguments);
            return j.has(n, i) ? n[i] : n[i] = e.apply(this, arguments)
        }
    }, j.delay = function (e, t) {
        var n = s.call(arguments, 2);
        return setTimeout(function () {
            return e.apply(null, n)
        }, t)
    }, j.defer = function (e) {
        return j.delay.apply(j, [e, 1].concat(s.call(arguments, 1)))
    }, j.throttle = function (e, t) {
        var n, i, r, o, a = 0, s = function () {
            a = new Date, r = null, o = e.apply(n, i)
        };
        return function () {
            var u = new Date, c = t - (u - a);
            return n = this, i = arguments, c <= 0 ? (clearTimeout(r), r = null, a = u, o = e.apply(n, i)) : r || (r = setTimeout(s, c)), o
        }
    }, j.debounce = function (e, t, n) {
        var i, r;
        return function () {
            var o = this, a = arguments, s = function () {
                i = null, n || (r = e.apply(o, a))
            }, u = n && !i;
            return clearTimeout(i), i = setTimeout(s, t), u && (r = e.apply(o, a)), r
        }
    }, j.once = function (e) {
        var t, n = !1;
        return function () {
            return n ? t : (n = !0, t = e.apply(this, arguments), e = null, t)
        }
    }, j.wrap = function (e, t) {
        return function () {
            var n = [e];
            return a.apply(n, arguments), t.apply(this, n)
        }
    }, j.compose = function () {
        var e = arguments;
        return function () {
            for (var t = arguments, n = e.length - 1; n >= 0; n--)t = [e[n].apply(this, t)];
            return t[0]
        }
    }, j.after = function (e, t) {
        return e <= 0 ? t() : function () {
            if (--e < 1)return t.apply(this, arguments)
        }
    }, j.keys = w || function (e) {
            if (e !== Object(e))throw new TypeError("Invalid object");
            var t = [];
            for (var n in e)j.has(e, n) && (t[t.length] = n);
            return t
        }, j.values = function (e) {
        var t = [];
        for (var n in e)j.has(e, n) && t.push(e[n]);
        return t
    }, j.pairs = function (e) {
        var t = [];
        for (var n in e)j.has(e, n) && t.push([n, e[n]]);
        return t
    }, j.invert = function (e) {
        var t = {};
        for (var n in e)j.has(e, n) && (t[e[n]] = n);
        return t
    }, j.functions = j.methods = function (e) {
        var t = [];
        for (var n in e)j.isFunction(e[n]) && t.push(n);
        return t.sort()
    }, j.extend = function (e) {
        return k(s.call(arguments, 1), function (t) {
            if (t)for (var n in t)e[n] = t[n]
        }), e
    }, j.pick = function (e) {
        var t = {}, n = u.apply(i, s.call(arguments, 1));
        return k(n, function (n) {
            n in e && (t[n] = e[n])
        }), t
    }, j.omit = function (e) {
        var t = {}, n = u.apply(i, s.call(arguments, 1));
        for (var r in e)j.contains(n, r) || (t[r] = e[r]);
        return t
    }, j.defaults = function (e) {
        return k(s.call(arguments, 1), function (t) {
            if (t)for (var n in t)void 0 === e[n] && (e[n] = t[n])
        }), e
    }, j.clone = function (e) {
        return j.isObject(e) ? j.isArray(e) ? e.slice() : j.extend({}, e) : e
    }, j.tap = function (e, t) {
        return t(e), e
    };
    var A = function (e, t, n, i) {
        if (e === t)return 0 !== e || 1 / e == 1 / t;
        if (null == e || null == t)return e === t;
        e instanceof j && (e = e._wrapped), t instanceof j && (t = t._wrapped);
        var r = c.call(e);
        if (r != c.call(t))return !1;
        switch (r) {
            case"[object String]":
                return e == String(t);
            case"[object Number]":
                return e != +e ? t != +t : 0 == e ? 1 / e == 1 / t : e == +t;
            case"[object Date]":
            case"[object Boolean]":
                return +e == +t;
            case"[object RegExp]":
                return e.source == t.source && e.global == t.global && e.multiline == t.multiline && e.ignoreCase == t.ignoreCase
        }
        if ("object" != typeof e || "object" != typeof t)return !1;
        for (var o = n.length; o--;)if (n[o] == e)return i[o] == t;
        n.push(e), i.push(t);
        var a = 0, s = !0;
        if ("[object Array]" == r) {
            if (a = e.length, s = a == t.length)for (; a-- && (s = A(e[a], t[a], n, i)););
        } else {
            var u = e.constructor, l = t.constructor;
            if (u !== l && !(j.isFunction(u) && u instanceof u && j.isFunction(l) && l instanceof l))return !1;
            for (var d in e)if (j.has(e, d) && (a++, !(s = j.has(t, d) && A(e[d], t[d], n, i))))break;
            if (s) {
                for (d in t)if (j.has(t, d) && !a--)break;
                s = !a
            }
        }
        return n.pop(), i.pop(), s
    };
    j.isEqual = function (e, t) {
        return A(e, t, [], [])
    }, j.isEmpty = function (e) {
        if (null == e)return !0;
        if (j.isArray(e) || j.isString(e))return 0 === e.length;
        for (var t in e)if (j.has(e, t))return !1;
        return !0
    }, j.isElement = function (e) {
        return !(!e || 1 !== e.nodeType)
    }, j.isArray = b || function (e) {
            return "[object Array]" == c.call(e)
        }, j.isObject = function (e) {
        return e === Object(e)
    }, k(["Arguments", "Function", "String", "Number", "Date", "RegExp"], function (e) {
        j["is" + e] = function (t) {
            return c.call(t) == "[object " + e + "]"
        }
    }), j.isArguments(arguments) || (j.isArguments = function (e) {
        return !(!e || !j.has(e, "callee"))
    }), "function" != typeof/./ && (j.isFunction = function (e) {
        return "function" == typeof e
    }), j.isFinite = function (e) {
        return isFinite(e) && !isNaN(parseFloat(e))
    }, j.isNaN = function (e) {
        return j.isNumber(e) && e != +e
    }, j.isBoolean = function (e) {
        return e === !0 || e === !1 || "[object Boolean]" == c.call(e)
    }, j.isNull = function (e) {
        return null === e
    }, j.isUndefined = function (e) {
        return void 0 === e
    }, j.has = function (e, t) {
        return l.call(e, t)
    }, j.noConflict = function () {
        return e._ = t, this
    }, j.identity = function (e) {
        return e
    }, j.times = function (e, t, n) {
        for (var i = Array(e), r = 0; r < e; r++)i[r] = t.call(n, r);
        return i
    }, j.random = function (e, t) {
        return null == t && (t = e, e = 0), e + Math.floor(Math.random() * (t - e + 1))
    };
    var O = {escape: {"&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "/": "&#x2F;"}};
    O.unescape = j.invert(O.escape);
    var q = {
        escape: new RegExp("[" + j.keys(O.escape).join("") + "]", "g"),
        unescape: new RegExp("(" + j.keys(O.unescape).join("|") + ")", "g")
    };
    j.each(["escape", "unescape"], function (e) {
        j[e] = function (t) {
            return null == t ? "" : ("" + t).replace(q[e], function (t) {
                return O[e][t]
            })
        }
    }), j.result = function (e, t) {
        if (null != e) {
            var n = e[t];
            return j.isFunction(n) ? n.call(e) : n
        }
    }, j.mixin = function (e) {
        k(j.functions(e), function (t) {
            var n = j[t] = e[t];
            j.prototype[t] = function () {
                var e = [this._wrapped];
                return a.apply(e, arguments), L.call(this, n.apply(j, e))
            }
        })
    };
    var F = 0;
    j.uniqueId = function (e) {
        var t = ++F + "";
        return e ? e + t : t
    }, j.templateSettings = {evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g};
    var I = /(.)^/, M = {
        "'": "'",
        "\\": "\\",
        "\r": "r",
        "\n": "n",
        "\t": "t",
        "\u2028": "u2028",
        "\u2029": "u2029"
    }, $ = /\\|'|\r|\n|\t|\u2028|\u2029/g;
    j.template = function (e, t, n) {
        var i;
        n = j.defaults({}, n, j.templateSettings);
        var r = new RegExp([(n.escape || I).source, (n.interpolate || I).source, (n.evaluate || I).source].join("|") + "|$", "g"), o = 0, a = "__p+='";
        e.replace(r, function (t, n, i, r, s) {
            return a += e.slice(o, s).replace($, function (e) {
                return "\\" + M[e]
            }), n && (a += "'+\n((__t=(" + n + "))==null?'':_.escape(__t))+\n'"), i && (a += "'+\n((__t=(" + i + "))==null?'':__t)+\n'"), r && (a += "';\n" + r + "\n__p+='"), o = s + t.length, t
        }), a += "';\n", n.variable || (a = "with(obj||{}){\n" + a + "}\n"), a = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + a + "return __p;\n";
        try {
            i = new Function(n.variable || "obj", "_", a)
        } catch (s) {
            throw s.source = a, s
        }
        if (t)return i(t, j);
        var u = function (e) {
            return i.call(this, e, j)
        };
        return u.source = "function(" + (n.variable || "obj") + "){\n" + a + "}", u
    }, j.chain = function (e) {
        return j(e).chain()
    };
    var L = function (e) {
        return this._chain ? j(e).chain() : e
    };
    j.mixin(j), k(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (e) {
        var t = i[e];
        j.prototype[e] = function () {
            var n = this._wrapped;
            return t.apply(n, arguments), "shift" != e && "splice" != e || 0 !== n.length || delete n[0], L.call(this, n)
        }
    }), k(["concat", "join", "slice"], function (e) {
        var t = i[e];
        j.prototype[e] = function () {
            return L.call(this, t.apply(this._wrapped, arguments))
        }
    }), j.extend(j.prototype, {
        chain: function () {
            return this._chain = !0, this
        }, value: function () {
            return this._wrapped
        }
    }), "function" == typeof define && define("/lib/underscore", function () {
        return j
    })
}).call(this);
!function (e) {
    function t(e) {
        try {
            return JSON && JSON.parse ? JSON.parse(e) : new Function("return " + e)()
        } catch (t) {
            n("ijs", t.message)
        }
    }

    function n(e, t) {
        throw new Error(j[e] + (t && " in '" + t + "'"))
    }

    function r(e, r) {
        r || (r = 0);
        var i = k.exec(e.substr(r));
        if (i) {
            r += i[0].length;
            var o;
            return i[1] ? o = [r, " "] : i[2] ? o = [r, i[0]] : i[3] ? o = [r, C.typ, i[0]] : i[4] ? o = [r, C.psc, i[0]] : i[5] ? o = [r, C.psf, i[0]] : i[6] ? n("upc", e) : i[8] ? o = [r, i[7] ? C.ide : C.str, t(i[8])] : i[9] ? n("ujs", e) : i[10] && (o = [r, C.ide, i[10].replace(/\\([^\r\n\f0-9a-fA-F])/g, "$1")]), o
        }
    }

    function i(e, t) {
        return typeof e === t
    }

    function o(e, n) {
        var r, i = S.exec(e.substr(n));
        if (i)return n += i[0].length, r = i[1] || i[2] || i[3] || i[5] || i[6], i[1] || i[2] || i[3] ? [n, 0, t(r)] : i[4] ? [n, 0, void 0] : [n, r]
    }

    function s(e, t) {
        t || (t = 0);
        var r, i = o(e, t);
        if (i && "(" === i[1]) {
            r = s(e, i[0]);
            var a = o(e, r[0]);
            a && ")" === a[1] || n("epex", e), t = a[0], r = ["(", r[1]]
        } else!i || i[1] && "x" != i[1] ? n("ee", e + " - " + (i[1] && i[1])) : (r = "x" === i[1] ? void 0 : i[2], t = i[0]);
        var u = o(e, t);
        if (!u || ")" == u[1])return [t, r];
        "x" != u[1] && u[1] || n("bop", e + " - " + (u[1] && u[1]));
        var c = s(e, u[0]);
        t = c[0], c = c[1];
        var l;
        if ("object" != typeof c || "(" === c[0] || D[u[1]][0] < D[c[1]][0])l = [r, u[1], c]; else {
            for (l = c; "object" == typeof c[0] && "(" != c[0][0] && D[u[1]][0] >= D[c[0][1]][0];)c = c[0];
            c[0] = [r, u[1], c[0]]
        }
        return [t, l]
    }

    function a(e, t) {
        function n(e) {
            return "object" != typeof e || null === e ? e : "(" === e[0] ? n(e[1]) : [n(e[0]), e[1], n(e[2])]
        }

        var r = s(e, t ? t : 0);
        return [r[0], n(r[1])]
    }

    function u(e, t) {
        if (void 0 === e)return t;
        if (null === e || "object" != typeof e)return e;
        var n = u(e[0], t), r = u(e[2], t);
        return D[e[1]][1](n, r)
    }

    function c(e, t, i, o) {
        i || (o = {});
        var s, a, u = [];
        for (t || (t = 0); ;) {
            var c = d(e, t, o);
            if (u.push(c[1]), c = r(e, t = c[0]), c && " " === c[1] && (c = r(e, t = c[0])), !c)break;
            if (">" === c[1] || "~" === c[1])"~" === c[1] && (o.usesSiblingOp = !0), u.push(c[1]), t = c[0]; else if ("," === c[1])void 0 === s ? s = [",", u] : s.push(u), u = [], t = c[0]; else if (")" === c[1]) {
                i || n("ucp", c[1]), a = 1, t = c[0];
                break
            }
        }
        i && !a && n("mcp", e), s && s.push(u);
        var l;
        return l = !i && o.usesSiblingOp ? f(s ? s : u) : s ? s : u, [t, l]
    }

    function l(e) {
        for (var t, n = [], r = 0; r < e.length; r++)if ("~" === e[r]) {
            if ((r < 2 || ">" != e[r - 2]) && (t = e.slice(0, r - 1), t = t.concat([{has: [[{pc: ":root"}, ">", e[r - 1]]]}, ">"]), t = t.concat(e.slice(r + 1)), n.push(t)), r > 1) {
                var i = ">" === e[r - 2] ? r - 3 : r - 2;
                t = e.slice(0, i);
                var o = {};
                for (var s in e[i])e[i].hasOwnProperty(s) && (o[s] = e[i][s]);
                o.has || (o.has = []), o.has.push([{pc: ":root"}, ">", e[r - 1]]), t = t.concat(o, ">", e.slice(r + 1)), n.push(t)
            }
            break
        }
        return r == e.length ? e : n.length > 1 ? [","].concat(n) : n[0]
    }

    function f(e) {
        if ("," === e[0]) {
            for (var t = [","], n = n; n < e.length; n++) {
                var r = l(r[n]);
                t = t.concat("," === r[0] ? r.slice(1) : r)
            }
            return t
        }
        return l(e)
    }

    function d(e, t, i) {
        var o = t, s = {}, u = r(e, t);
        for (u && " " === u[1] && (o = t = u[0], u = r(e, t)), u && u[1] === C.typ ? (s.type = u[2], u = r(e, t = u[0])) : u && "*" === u[1] && (u = r(e, t = u[0])); ;) {
            if (void 0 === u)break;
            if (u[1] === C.ide)s.id && n("nmi", u[1]), s.id = u[2]; else if (u[1] === C.psc)(s.pc || s.pf) && n("mpc", u[1]), ":first-child" === u[2] ? (s.pf = ":nth-child", s.a = 0, s.b = 1) : ":last-child" === u[2] ? (s.pf = ":nth-last-child", s.a = 0, s.b = 1) : s.pc = u[2]; else {
                if (u[1] !== C.psf)break;
                if (":val" === u[2] || ":contains" === u[2])s.expr = [void 0, ":val" === u[2] ? "=" : "*=", void 0], u = r(e, t = u[0]), u && " " === u[1] && (u = r(e, t = u[0])), u && "(" === u[1] || n("pex", e), u = r(e, t = u[0]), u && " " === u[1] && (u = r(e, t = u[0])), u && u[1] === C.str || n("sex", e), s.expr[2] = u[2], u = r(e, t = u[0]), u && " " === u[1] && (u = r(e, t = u[0])), u && ")" === u[1] || n("epex", e); else if (":has" === u[2]) {
                    u = r(e, t = u[0]), u && " " === u[1] && (u = r(e, t = u[0])), u && "(" === u[1] || n("pex", e);
                    var l = c(e, u[0], !0);
                    u[0] = l[0], s.has || (s.has = []), s.has.push(l[1])
                } else if (":expr" === u[2]) {
                    s.expr && n("mexp", e);
                    var f = a(e, u[0]);
                    u[0] = f[0], s.expr = f[1]
                } else {
                    (s.pc || s.pf) && n("mpc", e), s.pf = u[2];
                    var d = T.exec(e.substr(u[0]));
                    d || n("mepf", e), d[5] ? (s.a = 2, s.b = "odd" === d[5] ? 1 : 0) : d[6] ? (s.a = 0, s.b = parseInt(d[6], 10)) : (s.a = parseInt((d[1] ? d[1] : "+") + (d[2] ? d[2] : "1"), 10), s.b = d[3] ? parseInt(d[3] + d[4], 10) : 0), u[0] += d[0].length
                }
            }
            u = r(e, t = u[0])
        }
        return o === t && n("se", e), [t, s]
    }

    function p(e) {
        return Array.isArray ? Array.isArray(e) : "[object Array]" === w.call(e)
    }

    function h(e) {
        if (null === e)return "null";
        var t = typeof e;
        return "object" === t && p(e) && (t = "array"), t
    }

    function g(e, t, n, r, i) {
        var o, s = [], a = ">" === t[0] ? t[1] : t[0], c = !0;
        if (a.type && (c = c && a.type === h(e)), a.id && (c = c && a.id === n), c && a.pf && (":nth-last-child" === a.pf ? r = i - r : r++, 0 === a.a ? c = a.b === r : (o = (r - a.b) % a.a, c = !o && r * a.a + a.b >= 0)), c && a.has)for (var l = function () {
            throw 42
        }, f = 0; f < a.has.length; f++) {
            try {
                m(a.has[f], e, l)
            } catch (d) {
                if (42 === d)continue
            }
            c = !1;
            break
        }
        return c && a.expr && (c = u(a.expr, e)), ">" !== t[0] && ":root" !== t[0].pc && s.push(t), c && (">" === t[0] ? t.length > 2 && (c = !1, s.push(t.slice(2))) : t.length > 1 && (c = !1, s.push(t.slice(1)))), [c, s]
    }

    function m(e, t, n, r, i, o) {
        var s, a, u = "," === e[0] ? e.slice(1) : [e], c = [], l = !1, f = 0, d = 0;
        for (f = 0; f < u.length; f++)for (a = g(t, u[f], r, i, o), a[0] && (l = !0), d = 0; d < a[1].length; d++)c.push(a[1][d]);
        if (c.length && "object" == typeof t)if (c.length >= 1 && c.unshift(","), p(t))for (f = 0; f < t.length; f++)m(c, t[f], n, void 0, f, t.length); else for (s in t)t.hasOwnProperty(s) && m(c, t[s], n, s);
        l && n && n(t)
    }

    function v(e, t) {
        var n = [];
        return m(e, t, function (e) {
            n.push(e)
        }), n
    }

    function y(e, t) {
        if (e = e.replace(/\?/g, function () {
                if (0 === t.length)throw"too few parameters given";
                var e = t.shift();
                return "string" == typeof e ? JSON.stringify(e) : e
            }), t.length)throw"too many parameters supplied";
        return e
    }

    function x(e, t) {
        return t && (e = y(e, t)), {
            sel: c(e)[1], match: function (e) {
                return v(this.sel, e)
            }, forEach: function (e, t) {
                return m(this.sel, e, t)
            }
        }
    }

    var b = {}, w = Object.prototype.toString, j = {
        bop: "binary operator expected",
        ee: "expression expected",
        epex: "closing paren expected ')'",
        ijs: "invalid json string",
        mcp: "missing closing paren",
        mepf: "malformed expression in pseudo-function",
        mexp: "multiple expressions not allowed",
        mpc: "multiple pseudo classes (:xxx) not allowed",
        nmi: "multiple ids not allowed",
        pex: "opening paren expected '('",
        se: "selector expected",
        sex: "string expected",
        sra: "string required after '.'",
        uc: "unrecognized char",
        ucp: "unexpected closing paren",
        ujs: "unclosed json string",
        upc: "unrecognized pseudo class"
    }, C = {
        psc: 1,
        psf: 2,
        typ: 3,
        str: 4,
        ide: 5
    }, k = new RegExp('^(?:([\\r\\n\\t\\ ]+)|([~*,>\\)\\(])|(string|boolean|null|array|object|number)|(:(?:root|first-child|last-child|only-child))|(:(?:nth-child|nth-last-child|has|expr|val|contains))|(:\\w+)|(?:(\\.)?(\\"(?:[^\\\\\\"]|\\\\[^\\"])*\\"))|(\\")|\\.((?:[_a-zA-Z]|[^\\0-\\0177]|\\\\[^\\r\\n\\f0-9a-fA-F])(?:[$_a-zA-Z0-9\\-]|[^\\u0000-\\u0177]|(?:\\\\[^\\r\\n\\f0-9a-fA-F]))*))'), T = /^\s*\(\s*(?:([+\-]?)([0-9]*)n\s*(?:([+\-])\s*([0-9]))?|(odd|even)|([+\-]?[0-9]+))\s*\)/, S = new RegExp('^\\s*(?:(true|false|null)|(-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?)|("(?:[^\\]|\\[^"])*")|(x)|(&&|\\|\\||[\\$\\^<>!\\*]=|[=+\\-*/%<>])|([\\(\\)]))'), D = {
        "*": [9, function (e, t) {
            return e * t
        }], "/": [9, function (e, t) {
            return e / t
        }], "%": [9, function (e, t) {
            return e % t
        }], "+": [7, function (e, t) {
            return e + t
        }], "-": [7, function (e, t) {
            return e - t
        }], "<=": [5, function (e, t) {
            return i(e, "number") && i(t, "number") && e <= t || i(e, "string") && i(t, "string") && e <= t
        }], ">=": [5, function (e, t) {
            return i(e, "number") && i(t, "number") && e >= t || i(e, "string") && i(t, "string") && e >= t
        }], "$=": [5, function (e, t) {
            return i(e, "string") && i(t, "string") && e.lastIndexOf(t) === e.length - t.length
        }], "^=": [5, function (e, t) {
            return i(e, "string") && i(t, "string") && 0 === e.indexOf(t)
        }], "*=": [5, function (e, t) {
            return i(e, "string") && i(t, "string") && e.indexOf(t) !== -1
        }], ">": [5, function (e, t) {
            return i(e, "number") && i(t, "number") && e > t || i(e, "string") && i(t, "string") && e > t
        }], "<": [5, function (e, t) {
            return i(e, "number") && i(t, "number") && e < t || i(e, "string") && i(t, "string") && e < t
        }], "=": [3, function (e, t) {
            return e === t
        }], "!=": [3, function (e, t) {
            return e !== t
        }], "&&": [2, function (e, t) {
            return e && t
        }], "||": [1, function (e, t) {
            return e || t
        }]
    };
    b._lex = r, b._parse = c, b.match = function (e, t, n) {
        return n || (n = t, t = void 0), x(e, t).match(n)
    }, b.forEach = function (e, t, n, r) {
        return r || (r = n, n = t, t = void 0), x(e, t).forEach(n, r)
    }, b.compile = x, define("/lib/jsonselect", function () {
        return b
    })
}(window);
define("/lib/tpHelper/hogan", function (e, t, n) {
    var r = {};
    !function (e, t) {
        function n(e) {
            return String(null === e || void 0 === e ? "" : e)
        }

        function r(e) {
            return e = n(e), c.test(e) ? e.replace(i, "&amp;").replace(o, "&lt;").replace(s, "&gt;").replace(a, "&#39;").replace(u, "&quot;") : e
        }

        e.Template = function (e, n, r, i) {
            this.r = e || this.r, this.c = r, this.options = i, this.text = n || "", this.buf = t ? [] : ""
        }, e.Template.prototype = {
            r: function (e, t, n) {
                return ""
            }, v: r, t: n, render: function (e, t, n) {
                return this.ri([e], t || {}, n)
            }, ri: function (e, t, n) {
                return this.r(e, t, n)
            }, rp: function (e, t, n, r) {
                var i = n[e];
                return i ? (this.c && "string" == typeof i && (i = this.c.compile(i, this.options)), i.ri(t, n, r)) : ""
            }, rs: function (e, t, n) {
                var r = e[e.length - 1];
                if (!l(r))return void n(e, t, this);
                for (var i = 0; i < r.length; i++)e.push(r[i]), n(e, t, this), e.pop()
            }, s: function (e, t, n, r, i, o, s) {
                var a;
                return (!l(e) || 0 !== e.length) && ("function" == typeof e && (e = this.ls(e, t, n, r, i, o, s)), a = "" === e || !!e, !r && a && t && t.push("object" == typeof e ? e : t[t.length - 1]), a)
            }, d: function (e, t, n, r) {
                var i = e.split("."), o = this.f(i[0], t, n, r), s = null;
                if ("." === e && l(t[t.length - 2]))return t[t.length - 1];
                for (var a = 1; a < i.length; a++)o && "object" == typeof o && i[a]in o ? (s = o, o = o[i[a]]) : o = "";
                return !(r && !o) && (r || "function" != typeof o || (t.push(s), o = this.lv(o, t, n), t.pop()), o)
            }, f: function (e, t, n, r) {
                for (var i = !1, o = null, s = !1, a = t.length - 1; a >= 0; a--)if (o = t[a], o && "object" == typeof o && e in o) {
                    i = o[e], s = !0;
                    break
                }
                return s ? (r || "function" != typeof i || (i = this.lv(i, t, n)), i) : !r && ""
            }, ho: function (e, t, n, r, i) {
                var o = this.c, s = this.options;
                s.delimiters = i;
                var r = e.call(t, r);
                return r = null == r ? String(r) : r.toString(), this.b(o.compile(r, s).render(t, n)), !1
            }, b: t ? function (e) {
                this.buf.push(e)
            } : function (e) {
                this.buf += e
            }, fl: t ? function () {
                var e = this.buf.join("");
                return this.buf = [], e
            } : function () {
                var e = this.buf;
                return this.buf = "", e
            }, ls: function (e, t, n, r, i, o, s) {
                var a = t[t.length - 1], u = null;
                if (!r && this.c && e.length > 0)return this.ho(e, a, n, this.text.substring(i, o), s);
                if (u = e.call(a), "function" == typeof u) {
                    if (r)return !0;
                    if (this.c)return this.ho(u, a, n, this.text.substring(i, o), s)
                }
                return u
            }, lv: function (e, t, r) {
                var i = t[t.length - 1], o = e.call(i);
                return "function" == typeof o && (o = n(o.call(i)), this.c && ~o.indexOf("{{")) ? this.c.compile(o, this.options).render(i, r) : n(o)
            }
        };
        var i = /&/g, o = /</g, s = />/g, a = /\'/g, u = /\"/g, c = /[&<>\"\']/, l = Array.isArray || function (e) {
                return "[object Array]" === Object.prototype.toString.call(e)
            }
    }("undefined" != typeof t ? t : r)
});
define("/lib/tpHelper/html", function (e, t, n) {
    var r = /&/g, i = /</g, o = />/g, s = /\'/g, a = /\"/g, u = /[&<>\"\']/, c = function (e) {
        return String(null === e || void 0 === e ? "" : e)
    };
    t.escape = function (e) {
        return e = c(e), u.test(e) ? e.replace(r, "&amp;").replace(i, "&lt;").replace(o, "&gt;").replace(s, "&#39;").replace(a, "&quot;") : e
    };
    var l = {};
    ["forEach", "some", "every", "filter", "map"].forEach(function (e) {
        l[e] = function (t, n, r) {
            if (!t || "string" == typeof t)return t;
            if (r = r || this, t[e])return t[e](n, r);
            var i = Object.keys(t);
            return i[e](function (e) {
                return n.call(r, t[e], e, t)
            }, r)
        }
    }), t.mixin = function f(e, t) {
        return l.forEach(t, function (t, n) {
            var r = {}.toString.call(t);
            "[object Array]" == r || "[object Object]" == r ? e[n] = f(t, e[n] || {}) : e[n] = t
        }), e
    }
});
define("/lib/tpHelper/jade", function (e, t, n) {
    var r = function (t) {
        function n(e) {
            return null != e
        }

        return Array.isArray || (Array.isArray = function (e) {
            return "[object Array]" == Object.prototype.toString.call(e)
        }), Object.keys || (Object.keys = function (e) {
            var t = [];
            for (var n in e)e.hasOwnProperty(n) && t.push(n);
            return t
        }), t.merge = function (e, t) {
            var r = e["class"], i = t["class"];
            (r || i) && (r = r || [], i = i || [], Array.isArray(r) || (r = [r]), Array.isArray(i) || (i = [i]), r = r.filter(n), i = i.filter(n), e["class"] = r.concat(i).join(" "));
            for (var o in t)"class" != o && (e[o] = t[o]);
            return e
        }, t.attrs = function (e, n) {
            var r = [], i = e.terse;
            delete e.terse;
            var o = Object.keys(e), s = o.length;
            if (s) {
                r.push("");
                for (var a = 0; a < s; ++a) {
                    var u = o[a], c = e[u];
                    "boolean" == typeof c || null == c ? c && (i ? r.push(u) : r.push(u + '="' + u + '"')) : 0 == u.indexOf("data") && "string" != typeof c ? r.push(u + "='" + JSON.stringify(c) + "'") : "class" == u && Array.isArray(c) ? r.push(u + '="' + t.escape(c.join(" ")) + '"') : n && n[u] ? r.push(u + '="' + t.escape(c) + '"') : r.push(u + '="' + c + '"')
                }
            }
            return r.join(" ")
        }, t.escape = function (e) {
            return String(e).replace(/&(?!(\w+|\#\d+);)/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;")
        }, t.rethrow = function (t, n, r) {
            if (!n)throw t;
            var i = 3, o = e("fs").readFileSync(n, "utf8"), s = o.split("\n"), a = Math.max(r - i, 0), u = Math.min(s.length, r + i), i = s.slice(a, u).map(function (e, t) {
                var n = t + a + 1;
                return (n == r ? "  > " : "    ") + n + "| " + e
            }).join("\n");
            throw t.path = n, t.message = (n || "Jade") + ":" + r + "\n" + i + "\n\n" + t.message, t
        }, t
    }({});
    n.exports = r
});
define("/lib/tpHelper/vm", function (e, t, n) {
    var r = function (e) {
        this.asts = e, this.init()
    };
    r.Helper = {}, r.prototype = {constructor: r};
    var i = !{toString: 1}.propertyIsEnumerable("toString"), o = (Object.keys || function (e) {
        var t, n, r = [];
        for (t in e)r.push(t);
        if (i)for (n = enumProperties.length - 1; n >= 0; n--)t = enumProperties[n], e.hasOwnProperty(t) && r.push(t);
        return r
    }, {
        noop: function () {
            var e = arguments;
            return function () {
                return e
            }
        }
    });
    ["forEach", "some", "every", "filter", "map"].forEach(function (e) {
        o[e] = function (t, n, r) {
            if (!t || "string" == typeof t)return t;
            if (r = r || this, t[e])return t[e](n, r);
            var i = Object.keys(t);
            return i[e](function (e) {
                return n.call(r, t[e], e, t)
            }, r)
        }
    });
    var s = 0;
    o.guid = function () {
        return s++
    }, o.walks = function (e, t, n) {
        var r = [], i = 0, o = e.length;
        this.forEach(e, function (e, s) {
            function a(e, t) {
                i !== o && (e ? (n(e, r), i = o) : (i++, r[s] = t, i === o && n(null, r)))
            }

            t(e, a)
        })
    }, o.mixin = function (e, t) {
        return o.forEach(t, function (t, n) {
            var r = {}.toString.call(t);
            "[object Array]" == r || "[object Object]" == r ? e[n] = o.mixin(t, e[n] || {}) : e[n] = t
        }), e
    }, o.isArray = function (e) {
        return "[object Array]" === {}.toString.call(e)
    }, o.indexOf = function (e, t) {
        if (o.isArray(t))return t.indexOf(e)
    }, o.keys = Object.keys, o.now = Date.now, !function (e, t) {
        function n(e) {
            var i = e.leader, o = void 0 !== e.args;
            return e.isWraped && (i += "{"), i += o ? r(e) : e.id, t.forEach(e.path, function (e) {
                if ("method" == e.type)i += "." + r(e); else if ("index" == e.type) {
                    var t = "", o = e.id;
                    if ("integer" === o.type)t = o.value; else if ("string" === o.type) {
                        var s = o.isEval ? '"' : "'";
                        t = s + o.value + s
                    } else t = n(o);
                    i += "[" + t + "]"
                } else"property" == e.type && (i += "." + e.id)
            }, this), e.isWraped && (i += "}"), i
        }

        function r(e) {
            var n = [], r = "";
            return t.forEach(e.args, function (e) {
                n.push(i(e))
            }), r += e.id + "(" + n.join(",") + ")"
        }

        function i(e) {
            var r = "";
            switch (e.type) {
                case"string":
                    var o = e.isEval ? '"' : "'";
                    r = o + e.value + o;
                    break;
                case"integer":
                case"bool":
                    r = e.value;
                    break;
                case"array":
                    r = "[";
                    var s = e.value.length - 1;
                    t.forEach(e.value, function (e, t) {
                        r += i(e), t !== s && (r += ", ")
                    }), r += "]";
                    break;
                default:
                    r = n(e)
            }
            return r
        }

        e.getRefText = n
    }(r.Helper, o), !function (e, t) {
        t.mixin(e.prototype, {
            getBlock: function (e) {
                var n = e[0], r = "", i = [n], o = [], s = 0, a = ["if", "foreach", "macro", "noescape", "define"];
                return t.forEach(e, function (e, n) {
                    n && (t.indexOf(e.type, a) !== -1 ? (s++, o.push(e)) : "end" === e.type ? (s--, s ? o.push(e) : (i.push(o.slice()), o = [])) : s ? o.push(e) : i.push(e))
                }), "if" === n.type ? r = this.getBlockIf(i) : "foreach" === n.type ? r = this.getBlockEach(i) : "macro" === n.type ? this.setBlockMacro(i) : "noescape" === n.type && (r = this._render(i.slice(1))), r
            }, setBlockMacro: function (e) {
                var t = e[0], n = e.slice(1), r = this.macros;
                r[t.id] = {asts: n, args: t.args}
            }, getMacro: function (e) {
                var n = this.macros[e.id], r = "";
                if (n) {
                    var i = n.asts, o = n.args, s = e.args, a = {}, u = t.guid(), c = e.id + ":" + u;
                    t.forEach(o, function (e, t) {
                        s[t] ? a[e.id] = this.getLiteral(s[t]) : a[e.id] = void 0
                    }, this), r = this.eval(i, a, c)
                } else {
                    var l = this.jsmacros;
                    n = l[e.id];
                    var f = [];
                    n && n.apply && (t.forEach(e.args, function (e) {
                        f.push(this.getLiteral(e))
                    }, this), r = n.apply(this, f))
                }
                return r
            }, eval: function (n, r, i) {
                if (!r)return t.isArray(n) ? this._render(n) : this.evalStr(n);
                var o = [], s = e.Parser;
                if (i = i || "eval:" + t.guid(), t.isArray(n) ? o = n : s && (o = s.parse(n)), o.length) {
                    this.local[i] = r;
                    var a = this._render(o, i);
                    return this.local[i] = {}, this.conditions.pop(), this.condition = "", a
                }
            }, getBlockEach: function (e) {
                var n = e[0], r = this.getLiteral(n.from), i = e.slice(1), o = n.to, s = {foreach: {count: 0}}, a = "", u = t.guid(), c = "foreach:" + u, l = {}.toString.call(r);
                if (r && ("[object Array]" === l || "[object Object]" === l)) {
                    var f = t.isArray(r) ? r.length : t.keys(r).length;
                    return t.forEach(r, function (e, t) {
                        this.setBreak || (s[o] = e, s.foreach.count = t + 1, s.foreach.index = t, s.foreach.hasNext = t + 1 < f, s.velocityCount = t + 1, this.local[c] = s, a += this._render(i, c))
                    }, this), this.setBreak = !1, this.local[c] = {}, this.conditions.pop(), this.condition = "", a
                }
            }, getBlockIf: function (e) {
                var n = !1, r = [];
                return t.some(e, function (e) {
                    if (e.condition) {
                        if (n)return !0;
                        n = this.getExpression(e.condition)
                    } else if ("else" === e.type) {
                        if (n)return !0;
                        n = !0
                    } else n && r.push(e);
                    return !1
                }, this), this._render(r)
            }
        })
    }(r, o), !function (e, t) {
        var n = ["if", "foreach", "macro", "noescape", "define"];
        t.mixin(e.prototype, {
            init: function () {
                this.context = {}, this.macros = {}, this.conditions = [], this.local = {}, this.silence = !1, t.forEach(this.asts, this._init, this)
            }, _init: function (e, t) {
                e.type && "references" === e.type || this._trim(t + 1)
            }, _trim: function (e) {
                var t = this.asts, n = t[e];
                "string" == typeof n && "\n" === n.slice(0, 1) && (t[e] = n.slice(1))
            }, render: function (e, n, r) {
                this.silence = !!r, this.context = e || {}, this.jsmacros = n || {};
                var i = t.now(), o = this._render(), s = t.now(), a = s - i;
                return this.cost = a, o
            }, _render: function (e, r) {
                var i = "", o = [], s = 0;
                return e = e || this.asts, r ? (r !== this.condition && this.conditions.push(r), this.condition = r) : this.condition = null, t.forEach(e, function (e) {
                    var r = e.type;
                    if (t.indexOf(r, n) > -1 && s++, "comment" !== r) {
                        if (s && ("end" === r && s--, s))return void o.push(e);
                        switch (r) {
                            case"references":
                                i += this.getReferences(e, !0);
                                break;
                            case"set":
                                this.setValue(e);
                                break;
                            case"break":
                                this.setBreak = !0;
                                break;
                            case"macro_call":
                                i += this.getMacro(e);
                                break;
                            case"end":
                                i += this.getBlock(o.slice()), o = [];
                                break;
                            default:
                                i += t.isArray(e) ? this.getBlock(e) : e
                        }
                    }
                }, this), i
            }
        })
    }(r, o), !function (e, t) {
        t.mixin(e.prototype, {
            getExpression: function (e) {
                var t, n = e.expression;
                if ("math" === e.type) {
                    switch (e.operator) {
                        case"+":
                            t = this.getExpression(n[0]) + this.getExpression(n[1]);
                            break;
                        case"-":
                            t = this.getExpression(n[0]) - this.getExpression(n[1]);
                            break;
                        case"/":
                            t = this.getExpression(n[0]) / this.getExpression(n[1]);
                            break;
                        case"%":
                            t = this.getExpression(n[0]) % this.getExpression(n[1]);
                            break;
                        case"*":
                            t = this.getExpression(n[0]) * this.getExpression(n[1]);
                            break;
                        case"||":
                            t = this.getExpression(n[0]) || this.getExpression(n[1]);
                            break;
                        case"&&":
                            t = this.getExpression(n[0]) && this.getExpression(n[1]);
                            break;
                        case">":
                            t = this.getExpression(n[0]) > this.getExpression(n[1]);
                            break;
                        case"<":
                            t = this.getExpression(n[0]) < this.getExpression(n[1]);
                            break;
                        case"==":
                            t = this.getExpression(n[0]) == this.getExpression(n[1]);
                            break;
                        case">=":
                            t = this.getExpression(n[0]) >= this.getExpression(n[1]);
                            break;
                        case"<=":
                            t = this.getExpression(n[0]) <= this.getExpression(n[1]);
                            break;
                        case"!=":
                            t = this.getExpression(n[0]) != this.getExpression(n[1]);
                            break;
                        case"minus":
                            t = -this.getExpression(n[0]);
                            break;
                        case"not":
                            t = !this.getExpression(n[0]);
                            break;
                        case"parenthesis":
                            t = this.getExpression(n[0]);
                            break;
                        default:
                            return
                    }
                    return t
                }
                return this.getLiteral(e)
            }
        })
    }(r, o), !function (e, t) {
        t.mixin(e.prototype, {
            getLiteral: function (e) {
                var n = e.type, r = "";
                if ("string" == n)r = this.getString(e); else if ("integer" == n)r = parseInt(e.value, 10); else if ("array" == n)r = this.getArray(e); else if ("map" == n) {
                    r = {};
                    var i = e.value;
                    t.forEach(i, function (e, t) {
                        r[t] = this.getLiteral(e)
                    }, this)
                } else {
                    if ("bool" != n)return this.getReferences(e);
                    "null" === e.value ? r = null : "false" === e.value ? r = !1 : "true" === e.value && (r = !0)
                }
                return r
            }, getString: function (e) {
                var t = e.value, n = t;
                return !e.isEval || t.indexOf("#") === -1 && t.indexOf("$") === -1 || (n = this.evalStr(t)), n
            }, getArray: function (e) {
                var n = [];
                if (e.isRange) {
                    var r = e.value[0];
                    "references" === r.type && (r = this.getReferences(r));
                    var i = e.value[1];
                    "references" === i.type && (i = this.getReferences(i)), i = parseInt(i, 10), r = parseInt(r, 10);
                    var o;
                    if (!isNaN(r) && !isNaN(i))if (r < i)for (o = r; o <= i; o++)n.push(o); else for (o = r; o >= i; o--)n.push(o)
                } else t.forEach(e.value, function (e) {
                    n.push(this.getLiteral(e))
                }, this);
                return n
            }, evalStr: function (t) {
                if (e.Parser) {
                    var n = e.Parser.parse(t);
                    r = this._render(n)
                } else {
                    var r = t, i = /\$\{{0,1}([_a-z][a-z_\-0-9.]*)\}{0,1}/gi, o = this;
                    r = r.replace(i, function () {
                        return o._getFromVarname(arguments[1])
                    })
                }
                return r
            }, _getFromVarname: function (e) {
                for (var t = e.split("."), n = {
                    type: "references",
                    id: t[0],
                    leader: "$"
                }, r = [], i = 1; i < t.length; i++)r.push({type: "property", id: t[i]});
                return r.length && (n.path = r), this.getReferences(n)
            }
        })
    }(r, o), !function (e, t) {
        function n(e) {
            return t.isArray(e) ? e.length : "string" == typeof e ? t.keys(e).length : void 0
        }

        t.mixin(e.prototype, {
            getReferences: function (n, r) {
                var i = this.silence || "$!" === n.leader, o = void 0 !== n.args, s = this.context, a = s[n.id], u = this.getLocal(n);
                void 0 !== a && o && (a = this.getPropMethod(n, s)), u.isLocaled && (a = u.value);
                var c = this.hasSetMethod(n, a);
                return c !== !1 ? (s[n.id] || (s[n.id] = {}), t.mixin(s[n.id], c), "") : (n.path && void 0 !== a && t.some(n.path, function (e, t) {
                    return a = this.getAttributes(e, a), void 0 === a
                }, this), r && void 0 === a && (a = i ? "" : e.Helper.getRefText(n)), a)
            }, hasSetMethod: function (e, n) {
                var r = e.path && e.path.length;
                if (!r)return !1;
                var i = "" + e.path[r - 1].id;
                return 0 === i.indexOf("set") && (n = n || {}, t.forEach(e.path, function (e) {
                        "method" === e.type && 0 === e.id.indexOf("set") ? n[e.id.slice(3)] = this.getLiteral(e.args[0]) : n[e.id] = n[e.id] || {}
                    }, this), n)
            }, getLocal: function (e) {
                var n = e.id, r = this.local, i = !1, o = t.some(this.conditions, function (e) {
                    var t = r[e];
                    return n in t && (i = t[n], !0)
                }, this);
                return {value: i, isLocaled: o}
            }, getAttributes: function (e, t) {
                var n, r = e.type, i = e.id;
                return n = "method" === r ? this.getPropMethod(e, t) : "property" === r ? t[i] : this.getPropIndex(e, t)
            }, getPropIndex: function (e, t) {
                var n, r = e.id;
                return n = "references" === r.type ? this.getReferences(r) : "integer" === r.type ? r.value : r.value, t[n]
            }, getPropMethod: function (e, r) {
                var i = e.id, o = "", s = i.slice(3);
                if (!(0 !== i.indexOf("get") || i in r))return s ? o = r[s] : (s = this.getLiteral(e.args[0]), o = r[s]), o;
                if (!(0 !== i.indexOf("is") || i in r))return s = i.slice(2), o = r[s];
                if ("keySet" === i)return t.keys(r);
                if ("entrySet" === i)return o = [], t.forEach(r, function (e, t) {
                    o.push({key: t, value: e})
                }), o;
                if ("size" === i)return n(r);
                o = r[i];
                var a = [];
                return t.forEach(e.args, function (e) {
                    a.push(this.getLiteral(e))
                }, this), o = o && o.call ? o.apply(r, a) : void 0
            }
        })
    }(r, o), !function (e, t) {
        t.mixin(e.prototype, {
            getContext: function () {
                var e = this.condition, t = this.local;
                return e ? t[e] : this.context
            }, setValue: function (e) {
                var n, r = e.equal[0], i = this.getContext(), o = e.equal[1];
                if (n = "math" === o.type ? this.getExpression(o) : this.getLiteral(e.equal[1]), r.path) {
                    var s = i[r.id];
                    "object" != typeof s && (s = {}), i[r.id] = s;
                    var a = r.path ? r.path.length : 0;
                    t.forEach(r.path, function (e, t) {
                        var r = a === t + 1, i = e.id;
                        "index" === e.type && (i = i.value), s[i] = r ? n : {}, s = s[i]
                    })
                } else i[r.id] = n
            }
        })
    }(r, o), n.exports = function (e) {
        return new r(e)
    }
});
define("/lib/tpHelper", function (e, t, n) {
    var r = {};
    ["forEach", "some", "every", "filter", "map"].forEach(function (e) {
        r[e] = function (t, n, r) {
            if (!t || "string" == typeof t)return t;
            if (r = r || this, t[e])return t[e](n, r);
            var i = Object.keys(t);
            return i[e](function (e) {
                return n.call(r, t[e], e, t)
            }, r)
        }
    }), t.mixin = function i(e, t) {
        return r.forEach(t, function (t, n) {
            var r = {}.toString.call(t);
            "[object Array]" == r || "[object Object]" == r ? e[n] = i(t, e[n] || {}) : e[n] = t
        }), e
    }, t.hogan = e("/lib/tpHelper/hogan"), t.html = e("/lib/tpHelper/html"), t.jade = e("/lib/tpHelper/jade"), t.vm = e("/lib/tpHelper/vm")
});
define("/output/everydayEnglish/everydayEnglish", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="info-content info-content-a">\n                    \n    <div class="headpic js-vista" id="item-', htmlCode += _data.id, htmlCode += '" data-time="', htmlCode += _data.time, htmlCode += '" data-isbrower="', htmlCode += _data.isbrower, htmlCode += '">\n      <a  target="_blank" data-type="', htmlCode += _data.style, htmlCode += '" href="http://xue.youdao.com/w" >\n        <img src="', htmlCode += _data["image-desk2"], htmlCode += '" onerror="everyerror(this)" alt=""/>\n      </a>\n    </div>\n    <div class="info-list">\n        <div class="sentence-example user-selected js-contextmenu-free">', _data.title && (htmlCode += '\n            <p class="list1">', htmlCode += _data.title, htmlCode += "</p>"), htmlCode += '\n            <p class="list2">', htmlCode += _data.summary ? _data.summary + "<ins></ins>" : "", htmlCode += '<a class="more-info js-ctlog"\n                    data-ctype="更多_首页_每日一句" href=" http://xue.youdao.com/w" target="_blank">更多<span></span></a>\n            </p>\n        </div>\n        <div class="sentence-more">\n             <span class="pronounce">\n                 <a title="点击发音" class="sp dictvoice js-ctlog"\n                                 data-ctype="发音_首页_每日一句"  role="dict_audio_js" data-rel="', htmlCode += _data.voice, htmlCode += '"></a>\n             </span>\n            <a title="点击跟读" href="javascript:;"\n                class="js-record js-record-stauts spoken-record sentences_record js-ctlog"\n                data-ctype="跟读_首页_每日一句" data-rel="', htmlCode += _data.voice, htmlCode += '" data-sentences="', htmlCode += _data.title, htmlCode += '">\n            </a>\n            <a title="点击分享" href="javascript:;" class="share js-share js-ctlog"\n                  data-ctype="分享_首页_每日一句"  data-currentdata-title="', htmlCode += _data.title, htmlCode += '" data-currentdata-summary="', htmlCode += _data.summary, htmlCode += '"  data-currentdata-img="', htmlCode += _data["image-desk2"], htmlCode += '"></a>\n            <a class="satisfaction js-ctlog"\n                  data-ctype="满意度_首页_每日一句" target="_blank">满意度</a>\n\n        </div>\n    </div>\n                   \n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/src/scripts/render/dict/start/everydayEnglish", function (e, t, n) {
    var r = e("/src/scripts/utils/store"), i = e("/src/scripts/utils/utils"), o = e("/src/scripts/render/dict/start/fetchData"), s = e("/src/scripts/external"), a = function () {
        var e = "http://cidian.youdao.com/nps.html?", t = {
            keyfrom: "deskdict.main",
            version: s.getAppVersionString() || "",
            id: s.getAppID() || "",
            abTest: r("userConfig").local.value.abtest || "0"
        };
        $(".everyDayEnglish").on("click", "a.satisfaction", function () {
            $("a.satisfaction").attr("href", e += $.param(t))
        })
    };
    $(function () {
        a()
    }), window.everyerror = function (t) {
        o.getDefaultHeadLocalData().then(function (t) {
            $("#start .everyDayEnglish .startpage-type-word").html(e("/output/everydayEnglish/everydayEnglish").render(t))
        })
    };
    var c = new i.kDate;
    setInterval(function () {
        c.equals(new i.kDate) || (c = new i.kDate, n.exports.render())
    }, 6e4 * (60 + 30 * Math.random())), n.exports.resize = function (e) {
        e < 597 && $("#startContent").addClass("small"), $(".everyDayEnglish").animate({width: e}, 500, function () {
            e >= 597 && $("#startContent").removeClass("small")
        })
    }, n.exports.render = function () {
        o.getDefaultHeadData().then(function (t) {
            $("#start .everyDayEnglish .startpage-type-word").html(e("/output/everydayEnglish/everydayEnglish").render(t))
        }), n.exports.render = function () {
            o.getHeadData().then(function (t) {
                $("#start .everyDayEnglish .startpage-type-word").html(e("/output/everydayEnglish/everydayEnglish").render(t))
            })
        }
    }
});
define("/output/ads_link/ads_link", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})"outer" === _data.rtype ? !function (e) {
                for (var t = 0; t < e.length; t += 1)htmlCode += '\r\n<li class="js-index-outer-ads">\r\n    <span class="ads-order"></span>\r\n    <p><a href="', htmlCode += e[t].url, htmlCode += '" target="_blank" title="', htmlCode += e[t].desc, htmlCode += '">', htmlCode += e[t].title, htmlCode += '</a></p>\r\n    <p class="additional">', htmlCode += e[t].desc, htmlCode += "</p>\r\n</li>"
            }(_data) : !function (e) {
                for (var t = 0; t < e.length; t += 1)htmlCode += '\r\n<li class="js-index-inner-ads">\r\n    <span class="ads-order"></span>\r\n    <p>\r\n        <a target="_blank" href="', htmlCode += e[t].url, htmlCode += '" class="js-inner-ads-link js-ctlog" data-ctype="firstPageInnerAd" title="', htmlCode += e[t].desc, htmlCode += '">', htmlCode += e[t].title, htmlCode += "</a>", "true" === e[t].isnew && (htmlCode += '\r\n        \t<sup class="new-inner-ad"></sup>'), htmlCode += "\r\n    </p>\r\n</li>"
            }(_data);
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/auth_sents/auth_sents", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = r.mixin(e, {
                _getSpokenSens: function (e) {
                    return e.replace("</b>", "").replace("<b>", "").replace(/\"|\"/g, "&quot;").replace(/\'|\'/g, "&apos;")
                }
            }), r.vm(['<div class="trans-container auth_sents">\r\n    <ul>\r\n        ', [{
                type: "foreach",
                to: "sentence",
                from: {type: "references", id: "sent", leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 36}
            }, '\r\n            <li class="cols-layout">\r\n                <span class="col1 order">', {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 41, last_column: 57}
            }, '.</span>\r\n\r\n                <div class="col2">\r\n                    <p>', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "foreign"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 23, last_column: 43}
            }, '\r\n                        <span class="pronounce">\r\n                             <a class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"  title="点击发音"\r\n                                data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 81, last_column: 100}
            }, '"></a>\r\n                        </span>\r\n                        <a href="javascript:;" title="口语练习" class="js-record spoken-record sentences_record js-ctlog"\r\n                           data-ctype="跟读_例句_权威"  data-format="audio"\r\n                           data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "foreign"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 43, last_column: 77}
            }, '"', '\r\n                        data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 73, last_column: 92}
            }, '" >跟读</a>\r\n                    </p>\r\n                    <p><a class="source"\r\n                          href="', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "url"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 19, last_line: 19, first_column: 32, last_column: 48}
            }, '"\r\n                          target="_blank" rel="nofollow">', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "source"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 57, last_column: 76}
            }, "</a></p>\r\n                </div>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/auth_sents_part/auth_sents_part", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = r.mixin(e, {
                _getSpokenSens: function (e) {
                    return e.replace("</b>", "").replace("<b>", "").replace(/\"|\"/g, "&quot;").replace(/\'|\'/g, "&apos;")
                }
            }), r.vm(['<div class="trans-container auth_sents_part">\r\n    <ul>\r\n        ', [{
                type: "foreach",
                to: "sentence",
                from: {type: "references", id: "sent", leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 36}
            }, '\r\n            <li class="cols-layout">\r\n                <span class="col1 order">', {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 41, last_column: 57}
            }, '.</span>\r\n                <span class="col2">\r\n                    <p>', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "foreign"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 23, last_column: 43}
            }, '\r\n                        <span class="pronounce">\r\n                            <a class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role=\'dict_audio_js\' title="点击发音"\r\n                           data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 76, last_column: 95}
            }, '">voice</a>\r\n                        </span>\r\n                        <a href="javascript:;" title="口语练习"\r\n                           class="js-record spoken-record sentences_record js-ctlog"\r\n                           data-ctype="跟读_例句_权威"   data-format="audio"\r\n                           data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "foreign"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 43, last_column: 77}
            }, '"', '\r\n                          data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 75, last_column: 94}
            }, '">跟读</a>\r\n                    </p>\r\n                    <p><a class="source"\r\n                          href="', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "url"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 19, last_line: 19, first_column: 32, last_column: 48}
            }, '"\r\n                          target="_blank" rel="nofollow">', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "source"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 57, last_column: 76}
            }, "</a></p>\r\n                </span>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n    ", [{
                type: "if",
                condition: {type: "references", id: "more", leader: "$"},
                pos: {first_line: 25, last_line: 25, first_column: 4, last_column: 14}
            }, '\r\n        <a href="" class="more clickable js-ctlog" data-ctype="点击更多权威例句" data-example-type="auth">更多权威例句</a>\r\n    '], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/baike/baike", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return r.vm(['<div class="trans-container baike">\r\n    <ul>\r\n    ', [{
                type: "foreach",
                to: "perSummary",
                from: {type: "references", id: "summarys", leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 4, last_column: 38}
            }, "\r\n        <li>\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "perSummary", path: [{type: "property", id: "image"}], leader: "$"},
                pos: {first_line: 5, last_line: 5, first_column: 8, last_column: 30}
            }, '\r\n            <span class="hasImg">\r\n                <img src="', {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "image"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 26, last_column: 43}
            }, '"', ' alt="', {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "title"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 50, last_column: 67}
            }, '"', "/>\r\n            </span>\r\n        "], "\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "perSummary", path: [{type: "property", id: "image"}], leader: "$"},
                pos: {first_line: 10, last_line: 10, first_column: 8, last_column: 30}
            }, '\r\n            <div class="has-right-img">\r\n        ', {
                type: "else",
                pos: {first_line: 12, last_line: 12, first_column: 8, last_column: 13}
            }, " \r\n            <div>\r\n        "], '\r\n            <h4>\r\n                <a href="', "#", '"  class="title clickable js-go-baike" data-key="', {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "key"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 75, last_column: 90}
            }, '"', ' data-type="baike_detail">', {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "key"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 117, last_column: 132}
            }, "<", "/a>\r\n            </h4>\r\n            <p>", {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "summary"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 15, last_column: 34}
            }, "<", '/p>\r\n            <a href="', "#", '" class="clickable js-go-baike js-ctlog" data-ctype="点击百科详细内容" data-key="', {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "key"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 19, last_line: 19, first_column: 95, last_column: 110}
            }, '"', ' data-type="baike_detail">详细内容</a>\r\n            <p>\r\n                <a href="', "#", '" class="clickable js-go-baike js-ctlog" data-ctype="点击更多百科相关词条"\r\n                   data-key="', {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "key"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 22, last_line: 22, first_column: 29, last_column: 44}
            }, '"', ' data-type="baike_relative">更多与"', {
                type: "references",
                id: "perSummary",
                path: [{type: "property", id: "key"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 22, last_line: 22, first_column: 77, last_column: 92}
            }, '"', "相关的百科词条>> </a>\r\n            </p>\r\n            </div>\r\n        </li>\r\n    "], "\r\n    </ul>\r\n</div>"]).render(e)
        }, init: function () {
            var e = function () {
                var e = document.getElementById("target"), t = document.getElementById("go-detail");
                if (e) {
                    var n = e.offsetWidth, r = e.offsetHeight;
                    t.style.left = n - 20 + "px", t.style.top = r / 2 + "px"
                }
            };
            e(), window.onresize = function () {
                e()
            }
        }
    }
});
define("/output/baike_detail/baike_detail", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return r.vm(['<div class="trans-container baike_detail">\r\n    ', [{
                type: "if",
                condition: {type: "references", id: "source", path: [{type: "property", id: "logo"}], leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 21}
            }, '\r\n    <p class="secondary source">\r\n        百科内容来自于: <a class="clickable" target="_blank" href="', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "url"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 4, last_line: 4, first_column: 60, last_column: 71}
            }, '"', ' rel="nofollow">\r\n            <img src="', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "logo"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 22, last_column: 34}
            }, '"', ' id="baikelogo"/>\r\n        </a>\r\n    </p>\r\n    '], "\r\n    <h3>", {
                type: "references",
                id: "title",
                leader: "$",
                prue: !0,
                pos: {first_line: 9, last_line: 9, first_column: 8, last_column: 14}
            }, "<", '/h3>\r\n    <div class="content">\r\n        <p>', {
                type: "references",
                id: "headSection",
                leader: "$",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 11, last_column: 23}
            }, "<", "/p>\r\n        <ul>\r\n            ", [{
                type: "foreach",
                to: "sec",
                from: {type: "references", id: "sections", path: [{type: "property", id: "section"}], leader: "$"},
                pos: {first_line: 13, last_line: 13, first_column: 12, last_column: 47}
            }, "\r\n                <li>\r\n                    <h4>", {
                type: "references",
                id: "sec",
                path: [{type: "property", id: "subtitle"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 24, last_column: 37}
            }, "<", "/h4>\r\n                    ", {
                type: "references",
                id: "sec",
                path: [{type: "property", id: "content"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 20, last_column: 32}
            }, "\r\n                ", "</li>\r\n            "], "\r\n        </ul>\r\n    </div>\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/baike_nomatch/baike_nomatch", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _getInput: function (e) {
                    return tpHelper.html.escape(e.replace(/^bk:/g, ""))
                }
            });
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container baike_nomatch">\n    <h5>抱歉，没有找到与您查询的"<b>', htmlCode += _getInput(input), htmlCode += '</b>"相关的百科结果。</h5>\n    <ul>\n        <li>请查看输入的字词是否有错误</li>\n        <li>请在网页搜索中搜索"<a target="_blank" href="http://www.youdao.com/search?keyfrom=.noresult&ue=utf8&q=', htmlCode += _getInput(input), htmlCode += '">', htmlCode += _getInput(input), htmlCode += '</a>" </li>\n        <li>请阅读<a target="_blank" href="http://cidian.youdao.com/help.jsp">帮助</a></li>\n    </ul>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/baike_nomatch_with_typo/baike_nomatch_with_typo", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function () {
            _data = r.mixin(_data, {
                _getInput: function (e) {
                    return r.html.escape(e.replace(/^bk:/g, ""))
                }
            })
        }, init: function () {
        }
    }
});
define("/output/baike_offline_noResult/baike_offline_noResult", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container offline-noResult baike-offline-noResult" >\n    <img src="./src/images/offline_noResult.png">\n    <p>抱歉离线模式下不能使用百科功能，请查看您的网络连接或代理设置。</p>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/baike_relative/baike_relative", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return r.vm(['<div class="trans-container baike_relative">\r\n    ', [{
                type: "if",
                condition: {type: "references", id: "source", path: [{type: "property", id: "logo"}], leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 21}
            }, '\r\n        <p class="secondary source">\r\n            百科内容来自于: <a class="clickable" target="_blank" href="', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "url"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 4, last_line: 4, first_column: 64, last_column: 75}
            }, '"', ' rel="nofollow">\r\n                <img src="', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "logo"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 26, last_column: 38}
            }, '"', ' id="baikelogo"/>\r\n            </a>\r\n        </p>\r\n    '], "\r\n    <ul>\r\n    ", [{
                type: "foreach",
                to: "perItem",
                from: {type: "references", id: "items", leader: "$"},
                pos: {first_line: 10, last_line: 10, first_column: 4, last_column: 32}
            }, "\r\n        <li>\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "perItem", path: [{type: "property", id: "image"}], leader: "$"},
                pos: {first_line: 12, last_line: 12, first_column: 8, last_column: 27}
            }, '\r\n            <div class="has-right-img">\r\n        ', {
                type: "else",
                pos: {first_line: 14, last_line: 14, first_column: 8, last_column: 13}
            }, " \r\n            <div>\r\n        "], '\r\n                <h4>\r\n                    <a data-rel="', {
                type: "references",
                id: "perItem",
                path: [{type: "property", id: "title"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 33, last_column: 47}
            }, '"', ' href="javascript:;" class="js-go-detail title clickable">', {
                type: "references",
                id: "perItem",
                path: [{type: "property", id: "title"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 106, last_column: 120}
            }, "<", "/a>\r\n                </h4>\r\n                <p>", {
                type: "references",
                id: "perItem",
                path: [{type: "property", id: "summary"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 19, last_column: 35}
            }, "<", '/p>\r\n                <a  data-rel="', {
                type: "references",
                id: "perItem",
                path: [{type: "property", id: "title"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 21, last_line: 21, first_column: 30, last_column: 44}
            }, '"', ' href="javascript:;" class="js-go-detail clickable">详细内容&gt;&gt;</a>\r\n            </div>\r\n            ', [{
                type: "if",
                condition: {type: "references", id: "perItem", path: [{type: "property", id: "image"}], leader: "$"},
                pos: {first_line: 23, last_line: 23, first_column: 12, last_column: 31}
            }, '\r\n                <span class="hasImg">\r\n                    <img src="', {
                type: "references",
                id: "perItem",
                path: [{type: "property", id: "image"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 25, last_line: 25, first_column: 30, last_column: 44}
            }, '"', ' alt="', {
                type: "references",
                id: "perItem",
                path: [{type: "property", id: "title"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 25, last_line: 25, first_column: 51, last_column: 65}
            }, '"', "/>\r\n                </span>\r\n            "], "\r\n        </li>\r\n    "], "\r\n    </ul>\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/baike_welcome/baike_welcome", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="baike-startpage">\n    <img src="./src/images/baike-welcome.png">\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/blng_sents/blng_sents", function (e, t, n) {
    var r = e("/lib/jquery"), i = (e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), o = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = o.mixin(e, {
                _getHtmlPair: function (e, t) {
                    return i.align(e, t, "blng")
                }, _getSpokenSens: function (e) {
                    return e.replace("</b>", "").replace("<b>", "").replace(/\"|\"/g, "&quot;").replace(/\'|\'/g, "&apos;")
                }, _getUrl: function (e) {
                    return e.split("/")[2]
                }
            }), o.vm(['<div class="trans-container blng_sents">\r\n    ', [{
                type: "if",
                condition: {type: "references", id: "trans", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 15}
            }, '\r\n        <div class="content_title js-example-item-title">\r\n            ', [{
                type: "if",
                condition: {type: "references", id: "showAllExplanation", leader: "$"},
                pos: {first_line: 4, last_line: 4, first_column: 12, last_column: 36}
            }, '\r\n                <a class="clickable allExplanation show-all-explanation js-ctlog" data-ctype="点击全部释义_双语">全部释义例句&gt;&gt;</a>\r\n            ', {
                type: "else",
                pos: {first_line: 6, last_line: 6, first_column: 12, last_column: 17}
            }, '\r\n                <a class="clickable allExplanation js-ctlog" data-ctype="点击全部释义_双语">全部释义例句</a>\r\n            '], '\r\n            <span class="type-list">\r\n                <span class="list-input">', {
                type: "references",
                id: "trans",
                path: [{type: "property", id: "displayWord"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 41, last_column: 59}
            }, ":", " </span>\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "allTrans", leader: "$"}, {
                    type: "references",
                    id: "trans",
                    path: [{type: "property", id: "tran"}],
                    leader: "$"
                }],
                pos: {first_line: 11, last_line: 11, first_column: 16, last_column: 46}
            }, "\r\n                ", [{
                type: "foreach",
                to: "perTran",
                from: {type: "references", id: "allTrans", leader: "$"},
                pos: {first_line: 12, last_line: 12, first_column: 16, last_column: 48}
            }, "\r\n                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "foreach",
                        path: [{type: "property", id: "count"}],
                        isWraped: !0,
                        leader: "$"
                    }, {
                        type: "math",
                        expression: [{type: "references", id: "index", leader: "$"}, {type: "integer", value: "1"}],
                        operator: "+"
                    }],
                    operator: "=="
                },
                pos: {first_line: 13, last_line: 13, first_column: 20, last_column: 55}
            }, '\r\n                        <a class="clickable per-type cur js-ctlog" data-ctype="点击释义_双语" href="', "#", '" data-element="', {
                type: "references",
                id: "perTran",
                leader: "$",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 111, last_column: 119}
            }, '"', "> ", {
                type: "references",
                id: "perTran",
                leader: "$",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 122, last_column: 130}
            }, " ", "</a>\r\n                    ", {
                type: "else",
                pos: {first_line: 15, last_line: 15, first_column: 20, last_column: 25}
            }, '\r\n                        <a class="clickable per-type js-ctlog" data-ctype="点击释义_双语" href="', "#", '" data-element="', {
                type: "references",
                id: "perTran",
                leader: "$",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 107, last_column: 115}
            }, '"', "> ", {
                type: "references",
                id: "perTran",
                leader: "$",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 118, last_column: 126}
            }, " ", "</a>\r\n                    "], "\r\n                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "foreach",
                        path: [{type: "property", id: "count"}],
                        isWraped: !0,
                        leader: "$"
                    }, {type: "references", id: "allTrans", path: [{type: "property", id: "length"}], leader: "$"}],
                    operator: "!="
                },
                pos: {first_line: 18, last_line: 18, first_column: 20, last_column: 63}
            }, "\r\n                        <ins>|</ins>\r\n                    "], "\r\n                "], "\r\n                </span>\r\n        </div>\r\n    "], '\r\n\r\n    <ul id="blng_sents_content_list">\r\n        ', [{
                type: "foreach",
                to: "sentence",
                from: {type: "references", id: "sentence-pair", isWraped: !0, leader: "$"},
                pos: {first_line: 27, last_line: 27, first_column: 8, last_column: 47}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$"
                }],
                pos: {first_line: 28, last_line: 28, first_column: 12, last_column: 43}
            }, '\r\n            <li class="cols-layout">\r\n                <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 30, last_line: 30, first_column: 41, last_column: 47}
            }, ".", '</span>\r\n\r\n                <div class="col2 align">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "aligned-words"}],
                    leader: "$"
                },
                pos: {first_line: 33, last_line: 33, first_column: 20, last_column: 48}
            }, '\r\n                        <p class="src">', {
                type: "references",
                id: "_getHtmlPair",
                path: [{type: "index", id: {type: "integer", value: "0"}}],
                leader: "$",
                args: [{type: "references", id: "sentence", leader: "$"}, {
                    type: "references",
                    id: "order",
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 39, last_column: 74}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-speech"}],
                    leader: "$"
                },
                pos: {first_line: 35, last_line: 35, first_column: 28, last_column: 58}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 38, last_line: 38, first_column: 84, last_column: 112}
            }, '"></a>\r\n                                </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 40, last_line: 40, first_column: 32, last_column: 59}
            }, '\r\n                                    <a href="javascript:;" title="口语练习"\r\n                                       class="js-record spoken-record sentences_record js-ctlog"\r\n                                       data-ctype="跟读_例句_双语" data-format="audio"\r\n                                       data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 44, last_line: 44, first_column: 88, last_column: 116}
            }, '"\r\n                                       data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "sentence"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 45, last_line: 45, first_column: 55, last_column: 90}
            }, '"', ">跟读</a>\r\n                                "], "\r\n                            "], '\r\n                        </p>\r\n\r\n                        <p class="tran">', {
                type: "references",
                id: "_getHtmlPair",
                path: [{type: "index", id: {type: "integer", value: "1"}}],
                leader: "$",
                args: [{type: "references", id: "sentence", leader: "$"}, {
                    type: "references",
                    id: "order",
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 50, last_line: 50, first_column: 40, last_column: 75}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-translation-speech"}],
                    leader: "$"
                },
                pos: {first_line: 51, last_line: 51, first_column: 28, last_column: 70}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 54, last_line: 54, first_column: 84, last_column: 124}
            }, '"></a>\r\n                            </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 56, last_line: 56, first_column: 32, last_column: 58}
            }, '\r\n                                    <a href="javascript:;" title="口语练习"\r\n                                       class="js-record spoken-record sentences_record js-ctlog"\r\n                                       data-ctype="跟读_例句_双语"   data-format="audio"\r\n                                       data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{
                    type: "references",
                    id: "sentence",
                    path: [{type: "index", id: {type: "string", value: "sentence-translation"}}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 60, last_line: 60, first_column: 55, last_column: 105}
            }, '"', '\r\n                                       data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 61, last_line: 61, first_column: 88, last_column: 128}
            }, '">跟读</a>\r\n                                '], "\r\n                            "], "\r\n                        </p>\r\n                    ", {
                type: "else",
                pos: {first_line: 65, last_line: 65, first_column: 20, last_column: 25}
            }, "\r\n                        <p>", {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 66, last_line: 66, first_column: 27, last_column: 48}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-speech"}],
                    leader: "$"
                },
                pos: {first_line: 67, last_line: 67, first_column: 28, last_column: 58}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 70, last_line: 70, first_column: 84, last_column: 112}
            }, '"></a>\r\n                                </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 72, last_line: 72, first_column: 32, last_column: 59}
            }, '\r\n                                    <a href="javascript:;" title="口语练习"\r\n                                       class="js-record spoken-record sentences_record js-ctlog"\r\n                                       data-ctype="跟读_例句_双语"  data-format="audio"\r\n                                       data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "sentence"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 76, last_line: 76, first_column: 55, last_column: 90}
            }, '"', ">跟读</a>\r\n                                "], "\r\n                            "], "\r\n                            </p>\r\n                        <p>", {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 80, last_line: 80, first_column: 27, last_column: 60}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-translation-speech"}],
                    leader: "$"
                },
                pos: {first_line: 81, last_line: 81, first_column: 28, last_column: 70}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 84, last_line: 84, first_column: 84, last_column: 124}
            }, '"></a>\r\n                            </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 86, last_line: 86, first_column: 32, last_column: 58}
            }, '\r\n                                    <a href="javascript:;" title="口语练习"\r\n                                       class=" js-record spoken-record sentences_record js-ctlog"\r\n                                       data-ctype="跟读_例句_双语" data-format="audio"\r\n                                       data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{
                    type: "references",
                    id: "sentence",
                    path: [{type: "index", id: {type: "string", value: "sentence-translation"}}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 90, last_line: 90, first_column: 55, last_column: 105}
            }, '"', ">跟读</a>\r\n                                "], "\r\n                            "], "\r\n                        </p>\r\n                    "], "\r\n                    ", [{
                type: "if",
                condition: {type: "references", id: "sentence", path: [{type: "property", id: "source"}], leader: "$"},
                pos: {first_line: 95, last_line: 95, first_column: 20, last_column: 41}
            }, '\r\n                        <p class="secondary">', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "source"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 96, last_line: 96, first_column: 45, last_column: 64}
            }, "</p>\r\n                    ", {
                type: "elseif",
                condition: {type: "references", id: "sentence", path: [{type: "property", id: "url"}], leader: "$"},
                pos: {first_line: 97, last_line: 97, first_column: 20, last_column: 42}
            }, '\r\n                        <p class="secondary"><a class="secondary" title="来源" target="_blank" href="', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "url"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 98, last_line: 98, first_column: 99, last_column: 112}
            }, '"', ">", {
                type: "references",
                id: "_getUrl",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "url"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 98, last_line: 98, first_column: 114, last_column: 137}
            }, "<", "/a></p>\r\n                    "], "\r\n                </div>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n</div>\r\n\r\n\r\n\r\n"]).render(e)
        }, init: function () {
            r("body").delegate(".align span:not(.pronounce)", "mouseenter", function () {
                for (var e = r(this).data("aligning").split(","), t = 0, n = e.length; t < n; t++)r(e[t]).addClass("highLight")
            }), r("body").delegate(".align span:not(.pronounce)", "mouseleave", function () {
                for (var e = r(this).data("aligning").split(","), t = 0, n = e.length; t < n; t++)r(e[t]).removeClass("highLight")
            })
        }
    }
});
define("/output/blng_sents_part/blng_sents_part", function (e, t, n) {
    var r = e("/lib/jquery"), i = (e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), o = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = o.mixin(e, {
                _getHtmlPair: function (e, t) {
                    return i.align(e, t, "blng_part")
                }, _getSpokenSens: function (e) {
                    return e.replace("</b>", "").replace("<b>", "").replace(/\"|\"/g, "&quot;").replace(/\'|\'/g, "&apos;")
                }, _getUrl: function (e) {
                    return e.split("/")[2]
                }
            }), o.vm(['<div class="trans-container blng_sents_part">\r\n    <ul>\r\n        ', [{
                type: "foreach",
                to: "sentence",
                from: {type: "references", id: "sentence-pair", isWraped: !0, leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 47}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$"
                }],
                pos: {first_line: 4, last_line: 4, first_column: 12, last_column: 43}
            }, '\r\n            <li class="cols-layout ">\r\n                <span class="col1 order"> ', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 42, last_column: 48}
            }, ".", '</span>\r\n\r\n                <div class="col2 align">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "aligned-words"}],
                    leader: "$"
                },
                pos: {first_line: 9, last_line: 9, first_column: 20, last_column: 48}
            }, '\r\n                        <p class="src">', {
                type: "references",
                id: "_getHtmlPair",
                path: [{type: "index", id: {type: "integer", value: "0"}}],
                leader: "$",
                args: [{type: "references", id: "sentence", leader: "$"}, {
                    type: "references",
                    id: "order",
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 39, last_column: 74}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-speech"}],
                    leader: "$"
                },
                pos: {first_line: 11, last_line: 11, first_column: 28, last_column: 58}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 84, last_column: 112}
            }, '"></a>\r\n                                </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 16, last_line: 16, first_column: 32, last_column: 58}
            }, '\r\n                                    <a href="javascript:;" title="口语练习"\r\n                                       class="js-record spoken-record sentences_record js-ctlog"\r\n                                       data-ctype="跟读_例句_双语" data-format="audio"\r\n                                       data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 88, last_column: 116}
            }, '"\r\n                                       data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "sentence"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 21, last_line: 21, first_column: 55, last_column: 90}
            }, '"', ">跟读</a>\r\n                                "], "\r\n                            "], '\r\n                        </p>\r\n\r\n                        <p class="tran">', {
                type: "references",
                id: "_getHtmlPair",
                path: [{type: "index", id: {type: "integer", value: "1"}}],
                leader: "$",
                args: [{type: "references", id: "sentence", leader: "$"}, {
                    type: "references",
                    id: "order",
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 26, last_line: 26, first_column: 40, last_column: 75}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-translation-speech"}],
                    leader: "$"
                },
                pos: {first_line: 27, last_line: 27, first_column: 28, last_column: 70}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 30, last_line: 30, first_column: 84, last_column: 124}
            }, '"></a>\r\n                            </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 32, last_line: 32, first_column: 32, last_column: 58}
            }, '\r\n                                <a href="javascript:;" title="口语练习"\r\n                                   class="js-record spoken-record sentences_record js-ctlog"\r\n                                   data-ctype="跟读_例句_双语"  data-format="audio"\r\n                                   data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{
                    type: "references",
                    id: "sentence",
                    path: [{type: "index", id: {type: "string", value: "sentence-translation"}}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 36, last_line: 36, first_column: 51, last_column: 101}
            }, '"', '\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 37, last_line: 37, first_column: 84, last_column: 124}
            }, '">跟读</a>\r\n                                    '], "\r\n                            "], "\r\n                        </p>\r\n                    ", {
                type: "else",
                pos: {first_line: 41, last_line: 41, first_column: 20, last_column: 25}
            }, "\r\n                        <p>", {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 42, last_line: 42, first_column: 27, last_column: 48}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-speech"}],
                    leader: "$"
                },
                pos: {first_line: 43, last_line: 43, first_column: 28, last_column: 58}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 46, last_line: 46, first_column: 84, last_column: 112}
            }, '"></a>\r\n                                </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 48, last_line: 48, first_column: 32, last_column: 59}
            }, '\r\n                                    <a href="javascript:;" title="口语练习"\r\n                                       class="js-record spoken-record sentences_record js-ctlog"\r\n                                       data-ctype="跟读_例句_双语"  data-format="audio"\r\n                                       data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "sentence"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 52, last_line: 52, first_column: 55, last_column: 90}
            }, '"', ">跟读</a>\r\n                                "], "\r\n                            "], "\r\n                        </p>\r\n                        <p>", {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 56, last_line: 56, first_column: 27, last_column: 60}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "sentence",
                    path: [{type: "property", id: "sentence-translation-speech"}],
                    leader: "$"
                },
                pos: {first_line: 57, last_line: 57, first_column: 28, last_column: 70}
            }, '\r\n                                <span class="pronounce">\r\n                                <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="例句发音_TTS" role="dict_audio_js"\r\n                                   data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "sentence-translation-speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 60, last_line: 60, first_column: 84, last_column: 124}
            }, '"></a>\r\n                            </span>\r\n                                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "lang", leader: "$"}, {
                        type: "math",
                        expression: [{type: "references", id: "lang", leader: "$"}, {
                            type: "string",
                            value: "eng",
                            isEval: !0
                        }],
                        operator: "=="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 62, last_line: 62, first_column: 32, last_column: 58}
            }, '\r\n                                    <a href="javascript:;" title="口语练习"\r\n                                       class="js-record spoken-record sentences_record js-ctlog"\r\n                                       data-ctype="跟读_例句_双语"  data-format="audio"\r\n                                       data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{
                    type: "references",
                    id: "sentence",
                    path: [{type: "index", id: {type: "string", value: "sentence-translation"}}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 66, last_line: 66, first_column: 55, last_column: 105}
            }, '"', ">跟读</a>\r\n                                "], "\r\n                            "], "\r\n                        </p>\r\n                    "], "\r\n                    ", [{
                type: "if",
                condition: {type: "references", id: "sentence", path: [{type: "property", id: "source"}], leader: "$"},
                pos: {first_line: 71, last_line: 71, first_column: 20, last_column: 41}
            }, '\r\n                        <p class="secondary">', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "source"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 72, last_line: 72, first_column: 45, last_column: 64}
            }, "</p>\r\n                    ", {
                type: "elseif",
                condition: {type: "references", id: "sentence", path: [{type: "property", id: "url"}], leader: "$"},
                pos: {first_line: 73, last_line: 73, first_column: 20, last_column: 42}
            }, '\r\n                        <p class="secondary"><a class="secondary" title="来源" target="_blank" href="', {
                type: "references",
                id: "sentence",
                path: [{type: "property", id: "url"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 74, last_line: 74, first_column: 99, last_column: 112}
            }, '"', ">", {
                type: "references",
                id: "_getUrl",
                leader: "$",
                args: [{type: "references", id: "sentence", path: [{type: "property", id: "url"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 74, last_line: 74, first_column: 114, last_column: 137}
            }, "<", "/a></p>\r\n                    "], "\r\n                </div>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n    ", [{
                type: "if",
                condition: {type: "references", id: "more", leader: "$"},
                pos: {first_line: 80, last_line: 80, first_column: 4, last_column: 14}
            }, '\r\n        <a href="" class="more clickable js-ctlog" data-ctype="点击更多双语例句" data-example-type="blng">更多双语例句</a>\r\n    '], "\r\n</div>"]).render(e)
        }, init: function () {
            r("body").delegate(".align span:not(.pronounce)", "mouseenter", function () {
                for (var e = r(this).data("aligning").split(","), t = 0, n = e.length; t < n; t++)r(e[t]).addClass("highLight")
            }), r("body").delegate(".align span:not(.pronounce)", "mouseleave", function () {
                for (var e = r(this).data("aligning").split(","), t = 0, n = e.length; t < n; t++)r(e[t]).removeClass("highLight")
            })
        }
    }
});
define("/output/ce/ce", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore")), i = (e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                isObject: function (e) {
                    return r.isObject(e)
                }, getOnlineStatus: function () {
                    return global.status.online
                }
            }), i.vm(['<div class="trans-container ce">\r\n  ', [{
                type: "foreach",
                to: "_word",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 2, last_column: 27}
            }, '\r\n        <h2>\r\n            <span class="keyword">\r\n                ', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 16, last_column: 43}
            }, '\r\n            </span>\r\n            <span class="pronounce">\r\n                ', [{
                type: "if",
                condition: {type: "references", id: "_word", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 8, last_line: 8, first_column: 16, last_column: 33}
            }, '\r\n                    <span class="phonetic">[', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 9, last_line: 9, first_column: 44, last_column: 59}
            }, "]</span>\r\n                "], "\r\n            </span>\r\n            ", {
                type: "comment",
                value: '## <span class="phonetic">[$!{_word.phone}]</span>\r'
            }, '            <a href="javascript:void(0);" id="wordbook" class="sp add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\r\n            ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 15, last_line: 15, first_column: 12, last_column: 35}
            }, '\r\n                <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n            '], "\r\n        </h2>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "_word",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 19, last_line: 19, first_column: 8, last_column: 34}
            }, "\r\n        <ul>\r\n            ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 21, last_line: 21, first_column: 12, last_column: 39}
            }, "\r\n                ", [{
                type: "foreach",
                to: "_tr",
                from: {type: "references", id: "perTr", leader: "$"},
                pos: {first_line: 22, last_line: 22, first_column: 16, last_column: 40}
            }, "\r\n                    <li>\r\n                    ", [{
                type: "foreach",
                to: "_perTr",
                from: {type: "references", id: "_tr", leader: "$"},
                pos: {first_line: 24, last_line: 24, first_column: 20, last_column: 45}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "perLi", leader: "$"}, {
                    type: "references",
                    id: "_perTr",
                    path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                pos: {first_line: 25, last_line: 25, first_column: 24, last_column: 50}
            }, "\r\n                        ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "perLi", leader: "$"},
                pos: {first_line: 26, last_line: 26, first_column: 24, last_column: 52}
            }, "\r\n                            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "isObject",
                        leader: "$",
                        args: [{type: "references", id: "perWord", leader: "$"}]
                    }, {
                        type: "math",
                        expression: [{
                            type: "math",
                            expression: [{
                                type: "references",
                                id: "perWord",
                                path: [{type: "index", id: {type: "string", value: "@action"}}],
                                leader: "$"
                            }],
                            operator: "not"
                        }],
                        operator: "not"
                    }],
                    operator: "&&"
                },
                pos: {first_line: 27, last_line: 27, first_column: 28, last_column: 77}
            }, '\r\n                                <a class="clickable js-inline-clickable" href="javascript:void(0);">', {
                type: "references",
                id: "perWord",
                path: [{type: "index", id: {type: "string", value: "#text"}}],
                leader: "$",
                prue: !0,
                pos: {first_line: 28, last_line: 28, first_column: 100, last_column: 117}
            }, "<", "/a>\r\n                            ", {
                type: "else",
                pos: {first_line: 29, last_line: 29, first_column: 28, last_column: 33}
            }, "\r\n                                ", {
                type: "references",
                id: "perWord",
                leader: "$",
                prue: !0,
                pos: {first_line: 30, last_line: 30, first_column: 32, last_column: 40}
            }, "\r\n                            "], "\r\n                        "], "\r\n                    "], "\r\n                    </li>\r\n                "], "\r\n            "], "\r\n        </ul>\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/ce_new/ce_new", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreachPos: Object.create(r._foreach),
                _foreachEtr: Object.create(r._foreach),
                _foreachExam: Object.create(r._foreach)
            }), i.vm([[{
                type: "macro",
                id: "list",
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 12}
            }, "\r\n    ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 31}
            }, "\r\n    <h4>\r\n        ", {
                type: "references",
                id: "perWord",
                path: [{type: "index", id: {type: "string", value: "return-phrase"}}, {
                    type: "property",
                    id: "l"
                }, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 4, last_line: 4, first_column: 8, last_column: 40}
            }, "\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 5, last_line: 5, first_column: 8, last_column: 27}
            }, "\r\n            <small>[", {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 20, last_column: 37}
            }, "]</small>\r\n        "], "\r\n    </h4>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 9, last_line: 9, first_column: 8, last_column: 36}
            }, "\r\n        ", {
                type: "references",
                id: "_foreachPos",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 8, last_column: 29}
            }, "\r\n    ", "<ul>\r\n        ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 12, last_line: 12, first_column: 8, last_column: 35}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "orderPos", leader: "$"}, {
                    type: "references",
                    id: "_foreachPos",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$"
                }],
                pos: {first_line: 13, last_line: 13, first_column: 12, last_column: 50}
            }, "\r\n            <li>\r\n                <span>", {
                type: "references",
                id: "perTr",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 22, last_column: 35}
            }, "</span>\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "allEtrs", leader: "$"}, {
                    type: "references",
                    id: "perTr",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 16, last_line: 16, first_column: 16, last_column: 42}
            }, "\r\n                ", {
                type: "references",
                id: "_foreachEtr",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 17, last_line: 17, first_column: 16, last_column: 37}
            }, "\r\n                ", "<ul>\r\n                    ", [{
                type: "foreach",
                to: "perEtr",
                from: {type: "references", id: "allEtrs", leader: "$"},
                pos: {first_line: 19, last_line: 19, first_column: 20, last_column: 49}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "orderEtr", leader: "$"}, {
                    type: "references",
                    id: "_foreachEtr",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$"
                }],
                pos: {first_line: 20, last_line: 20, first_column: 24, last_column: 62}
            }, '\r\n                        <li class="cols-layout">\r\n                            <span class="col1 order">', {
                type: "references",
                id: "orderEtr",
                leader: "$",
                prue: !0,
                pos: {first_line: 22, last_line: 22, first_column: 53, last_column: 62}
            }, ".", '</span>\r\n\r\n                            <div class="col2">\r\n                                <span>', {
                type: "references",
                id: "perEtr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 25, last_line: 25, first_column: 38, last_column: 52}
            }, "</span>\r\n                                ", [{
                type: "if",
                condition: {type: "references", id: "perEtr", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 26, last_line: 26, first_column: 32, last_column: 49}
            }, "\r\n                                    ", {
                type: "set",
                equal: [{type: "references", id: "allExams", leader: "$"}, {
                    type: "references",
                    id: "perEtr",
                    path: [{type: "property", id: "exam"}],
                    leader: "$"
                }],
                pos: {first_line: 27, last_line: 27, first_column: 36, last_column: 66}
            }, "\r\n                                    ", {
                type: "references",
                id: "_foreachExam",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 28, last_line: 28, first_column: 36, last_column: 58}
            }, "\r\n                                    ", [{
                type: "foreach",
                to: "perExam",
                from: {type: "references", id: "allExams", leader: "$"},
                pos: {first_line: 29, last_line: 29, first_column: 36, last_column: 67}
            }, "\r\n                                        ", {
                type: "set",
                equal: [{type: "references", id: "orderExam", leader: "$"}, {
                    type: "references",
                    id: "_foreachExam",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$"
                }],
                pos: {first_line: 30, last_line: 30, first_column: 40, last_column: 80}
            }, "\r\n                                        ", {
                type: "set",
                equal: [{type: "references", id: "perExamItem", leader: "$"}, {
                    type: "references",
                    id: "perExam",
                    path: [{type: "property", id: "i"}],
                    leader: "$"
                }],
                pos: {first_line: 31, last_line: 31, first_column: 40, last_column: 71}
            }, '\r\n                                        <p class="secondary">\r\n                                                            <span>\r\n                                                                ', [{
                type: "if",
                condition: {type: "references", id: "perExamItem", path: [{type: "property", id: "f"}], leader: "$"},
                pos: {first_line: 34, last_line: 34, first_column: 64, last_column: 83}
            }, "\r\n                                                                    ", {
                type: "references",
                id: "perExamItem",
                path: [{type: "property", id: "f"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 35, last_line: 35, first_column: 68, last_column: 86}
            }, "\r\n                                                                "], "\r\n                                                            </span>\r\n                                                            <span>\r\n                                                                ", [{
                type: "if",
                condition: {type: "references", id: "perExamItem", path: [{type: "property", id: "n"}], leader: "$"},
                pos: {first_line: 39, last_line: 39, first_column: 64, last_column: 83}
            }, "\r\n                                                               ", {
                type: "references",
                id: "perExamItem",
                path: [{type: "property", id: "n"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 63, last_column: 81}
            }, "\r\n                                                            "], "\r\n                                                            </span>\r\n                                        </p>\r\n                                    "], "\r\n                                "], "\r\n                            </div>\r\n                        </li>\r\n                    "], "\r\n                </ul>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n    "], "\r\n"], '\r\n<div class="trans-container ce_new">\r\n    ', {
                type: "macro_call",
                id: "list",
                pos: {first_line: 56, last_line: 56, first_column: 4, last_column: 11}
            }, "\r\n    ", [{
                type: "if",
                condition: {type: "references", id: "source", leader: "$"},
                pos: {first_line: 57, last_line: 57, first_column: 4, last_column: 16}
            }, '\r\n        <p class="secondary source">以上来源于：', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 58, last_line: 58, first_column: 42, last_column: 54}
            }, "<", "/p>\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/cf/cf", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                joinArray: function (e) {
                    return e.join(" ")
                }, _foreach: Object.create(r._foreach), getOnlineStatus: function () {
                    return global.status.online
                }
            }), i.vm(['<div class="trans-container cf">\r\n  ', [{
                type: "foreach",
                to: "_word",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 2, last_column: 27}
            }, '\r\n        <h2>\r\n            <span class="keyword">\r\n                ', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 16, last_column: 43}
            }, "\r\n            </span>\r\n            ", {
                type: "comment",
                value: '## <span class="phonetic">[$!{_word.phone}]</span>\r'
            }, '            <a href="javascript:void(0);" id="wordbook" class="sp add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\r\n            ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 10, last_line: 10, first_column: 12, last_column: 35}
            }, '\r\n                <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n            '], "\r\n        </h2>\r\n        <h4>", {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 12, last_column: 39}
            }, "</h4>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "_word",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 15, last_line: 15, first_column: 8, last_column: 34}
            }, "\r\n        <ul>\r\n            ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 17, last_line: 17, first_column: 12, last_column: 39}
            }, "\r\n                ", [{
                type: "foreach",
                to: "_tr",
                from: {type: "references", id: "perTr", leader: "$"},
                pos: {first_line: 18, last_line: 18, first_column: 16, last_column: 40}
            }, "\r\n                    ", [{
                type: "foreach",
                to: "_perTr",
                from: {type: "references", id: "_tr", leader: "$"},
                pos: {first_line: 19, last_line: 19, first_column: 20, last_column: 45}
            }, "\r\n                    <li>\r\n                         ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 21, last_line: 21, first_column: 25, last_column: 58}
            }, '\r\n                        <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 22, last_line: 22, first_column: 49, last_column: 55}
            }, ".", "</span>\r\n                        <span>", {
                type: "references",
                id: "_perTr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 23, last_line: 23, first_column: 30, last_column: 47}
            }, "</span>\r\n                    </li>\r\n                    "], "\r\n                "], "\r\n            "], "\r\n        </ul>\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/cj/cj", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(r._foreach), _isObjectPro: function (e) {
                    return e === Object(e)
                }, _getExam: function (e) {
                    for (var t = "", n = 0; n < e.length; n++)t += this._isObjectPro(e[n]) && (e[n]["#text"] || e[n]["@action"]) ? "<strong>" + e[n]["#text"].toString() + "</strong>" : null === e[n] ? "" : e[n];
                    return t
                }, getOnlineStatus: function () {
                    return global.status.online
                }
            }), i.vm(['<div class="trans-container  cj">\r\n    <h2>\r\n        <span class="keyword">\r\n            ', {
                type: "references",
                id: "word",
                path: [{type: "index", id: {type: "integer", value: "0"}}, {
                    type: "property",
                    id: "return-phrase"
                }, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 4, last_line: 4, first_column: 12, last_column: 41}
            }, '\r\n        </span>\r\n        <a href="javascript:void(0);" id="wordbook" class="sp add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\r\n        ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 7, last_line: 7, first_column: 8, last_column: 31}
            }, '\r\n            <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n        '], "\r\n    </h2>\r\n    ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 11, last_line: 11, first_column: 4, last_column: 31}
            }, "\r\n        <h4>", {
                type: "references",
                id: "perWord",
                path: [{type: "index", id: {type: "string", value: "return-phrase"}}, {
                    type: "property",
                    id: "l"
                }, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 12, last_line: 12, first_column: 12, last_column: 41}
            }, "\r\n            ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 13, last_line: 13, first_column: 12, last_column: 31}
            }, "\r\n                <small>[", {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 24, last_column: 41}
            }, "]</small>\r\n            "], "\r\n        </h4>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 17, last_line: 17, first_column: 8, last_column: 36}
            }, "\r\n        ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 8, last_column: 26}
            }, "\r\n        ", "<ul>\r\n            ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 20, last_line: 20, first_column: 12, last_column: 39}
            }, '\r\n                <li class="cols-layout">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "allTrs",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: ">"
                },
                pos: {first_line: 22, last_line: 22, first_column: 20, last_column: 43}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 23, last_line: 23, first_column: 24, last_column: 57}
            }, '\r\n                        <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 24, last_line: 24, first_column: 49, last_column: 55}
            }, ".", "</span>\r\n                    "], "\r\n                    ", [{
                type: "foreach",
                to: "_trl",
                from: {type: "references", id: "perTr", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 26, last_line: 26, first_column: 20, last_column: 48}
            }, '\r\n                    <div class="col2">\r\n                        <p>', {
                type: "references",
                id: "_trl",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 28, last_line: 28, first_column: 27, last_column: 36}
            }, "<", "/p>\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "_trl", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 29, last_line: 29, first_column: 24, last_column: 39}
            }, "\r\n                            <ul>\r\n                                ", [{
                type: "foreach",
                to: "perExam",
                from: {
                    type: "references",
                    id: "_trl",
                    path: [{type: "property", id: "exam"}, {type: "property", id: "i"}],
                    leader: "$"
                },
                pos: {first_line: 31, last_line: 31, first_column: 32, last_column: 66}
            }, '\r\n                                    <li class="secondary cols-layout">\r\n                                        <span class="col1 colExam">例证：</span>\r\n\r\n                                        <div class="col2">\r\n                                            <p>\r\n                                            ', [{
                type: "foreach",
                to: "exm",
                from: {
                    type: "references",
                    id: "perExam",
                    path: [{type: "property", id: "f"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                },
                pos: {first_line: 37, last_line: 37, first_column: 44, last_column: 76}
            }, "\r\n\r\n                                                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "exm",
                        path: [{type: "index", id: {type: "string", value: "#text", isEval: !0}}],
                        leader: "$"
                    }, {type: "bool", value: "null"}],
                    operator: "!="
                },
                pos: {first_line: 39, last_line: 39, first_column: 48, last_column: 75}
            }, "\r\n                                                    <strong>", {
                type: "references",
                id: "exm",
                path: [{type: "index", id: {type: "string", value: "#text", isEval: !0}}],
                leader: "$",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 60, last_column: 73}
            }, "<", "/strong>\r\n                                                ", {
                type: "else",
                pos: {first_line: 41, last_line: 41, first_column: 48, last_column: 53}
            }, " \r\n                                                    ", {
                type: "references",
                id: "exm",
                leader: "$",
                prue: !0,
                pos: {first_line: 42, last_line: 42, first_column: 52, last_column: 56}
            }, "\r\n                                                "], "\r\n                                            "], "\r\n                                            </p>\r\n                                            <p>", {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "n"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 46, last_line: 46, first_column: 47, last_column: 61}
            }, "<", "/p>\r\n                                        </div>\r\n                                    </li>\r\n                                "], "\r\n                            </ul>\r\n                        "], "\r\n                    </div>\r\n                    "], "\r\n                </li>\r\n            "], "\r\n        </ul>\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/ck/ck", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(r._foreach),
                _foreachTr: Object.create(r._foreach),
                joinArray: function (e) {
                    return e.join(" ")
                },
                _isObjectPro: function (e) {
                    return e === Object(e)
                },
                _getExam: function (e) {
                    for (var t = "", n = 0; n < e.length; n++)t += this._isObjectPro(e[n]) && (e[n]["#text"] || e[n]["@action"]) ? "<strong>" + e[n]["#text"].toString() + "</strong>" : null === e[n] ? "" : e[n];
                    return t
                },
                getOnlineStatus: function () {
                    return global.status.online
                }
            }), i.vm(['<div class="trans-container  ck">  \r\n    <h2>\r\n        <span class="keyword">\r\n            ', {
                type: "references",
                id: "word",
                path: [{type: "index", id: {type: "integer", value: "0"}}, {
                    type: "property",
                    id: "return-phrase"
                }, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 4, last_line: 4, first_column: 12, last_column: 41}
            }, '\r\n        </span>\r\n        <a href="javascript:void(0);" id="wordbook" class="sp add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\r\n        ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 7, last_line: 7, first_column: 8, last_column: 31}
            }, '\r\n            <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n       '], "\r\n    </h2>\r\n     ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 11, last_line: 11, first_column: 5, last_column: 32}
            }, "\r\n        <h4>", {
                type: "references",
                id: "perWord",
                path: [{type: "index", id: {type: "string", value: "return-phrase"}}, {
                    type: "property",
                    id: "l"
                }, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 12, last_line: 12, first_column: 12, last_column: 41}
            }, "\r\n            ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 13, last_line: 13, first_column: 12, last_column: 31}
            }, "\r\n                <small>[", {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 24, last_column: 41}
            }, "]</small>\r\n            "], "\r\n        </h4>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 17, last_line: 17, first_column: 8, last_column: 36}
            }, "\r\n        ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 18, last_line: 18, first_column: 8, last_column: 35}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "etrs", leader: "$"}, {
                    type: "references",
                    id: "perTr",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 19, last_line: 19, first_column: 12, last_column: 35}
            }, "\r\n            ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 12, last_column: 30}
            }, "\r\n            ", "<ul>\r\n                ", [{
                type: "foreach",
                to: "perEtr",
                from: {type: "references", id: "etrs", leader: "$"},
                pos: {first_line: 22, last_line: 22, first_column: 16, last_column: 42}
            }, '\r\n                    <li class="cols-layout">\r\n                        ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "etrs",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: ">"
                },
                pos: {first_line: 24, last_line: 24, first_column: 24, last_column: 45}
            }, "\r\n                            ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 25, last_line: 25, first_column: 28, last_column: 61}
            }, '\r\n                            <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 26, last_line: 26, first_column: 53, last_column: 59}
            }, ".", "</span>\r\n                        "], '\r\n                        <div class="col2">\r\n                            <p>', {
                type: "references",
                id: "perEtr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 29, last_line: 29, first_column: 31, last_column: 42}
            }, "<", "/p>\r\n                            ", [{
                type: "if",
                condition: {type: "references", id: "perEtr", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 30, last_line: 30, first_column: 28, last_column: 45}
            }, "\r\n                                <ul>\r\n                                    ", [{
                type: "foreach",
                to: "perExam",
                from: {
                    type: "references",
                    id: "perEtr",
                    path: [{type: "property", id: "exam"}, {type: "property", id: "i"}],
                    leader: "$"
                },
                pos: {first_line: 32, last_line: 32, first_column: 36, last_column: 72}
            }, '\r\n                                        <li class="secondary">\r\n                                            <span>', {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "f"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 50, last_column: 64}
            }, "<", "/span> / <span>", {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "n"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 80, last_column: 94}
            }, "<", "/span>   \r\n                                        </li>\r\n                                    "], "\r\n                                </ul>\r\n                            "], "\r\n                        </div>\r\n                    </li>\r\n                "], "\r\n            </ul>\r\n        "], "\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/collins/collins", function (e, t, n) {
    var r = e("/lib/jquery"), i = (e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), s = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = s.mixin(e, {
                _foreach: Object.create(i._foreach),
                _foreachSee: Object.create(i._foreach),
                _foreachSeeAlso: Object.create(i._foreach),
                _foreachHeadSee: Object.create(i._foreach),
                _getWordForms: function (e, t) {
                    var n = e.map(function (e) {
                        return e[t]
                    });
                    return {wordFormString: n.join(","), wordFormArray: n}
                }
            }), s.vm([{
                type: "set",
                equal: [{type: "references", id: "collinsEntries", leader: "$"}, {
                    type: "references",
                    id: "collins_entries",
                    leader: "$"
                }],
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 40}
            }, "\r\n", [{
                type: "if",
                condition: {type: "references", id: "super_headwords", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 0, last_column: 21}
            }, "\r\n    ", {
                type: "set",
                equal: [{type: "references", id: "superHead", leader: "$"}, {
                    type: "references",
                    id: "super_headwords",
                    leader: "$"
                }],
                pos: {first_line: 3, last_line: 3, first_column: 4, last_column: 39}
            }, "\r\n"], "\r\n\r\n", [{
                type: "macro",
                id: "withoutHeadword",
                args: [{type: "references", id: "allEnties", leader: "$"}],
                pos: {first_line: 6, last_line: 6, first_column: 0, last_column: 34}
            }, "\r\n<ul>\r\n    ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 4, last_column: 25}
            }, "\r\n    ", [{
                type: "foreach",
                to: "perEntry",
                from: {type: "references", id: "allEnties", leader: "$"},
                pos: {first_line: 9, last_line: 9, first_column: 4, last_column: 37}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTransEntries", leader: "$"}, {
                    type: "references",
                    id: "perEntry",
                    path: [{type: "property", id: "tran_entry"}],
                    leader: "$"
                }],
                pos: {first_line: 10, last_line: 10, first_column: 8, last_column: 54}
            }, "\r\n        ", [{
                type: "foreach",
                to: "perTransEntry",
                from: {type: "references", id: "allTransEntries", leader: "$"},
                pos: {first_line: 11, last_line: 11, first_column: 8, last_column: 52}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 12, last_line: 12, first_column: 12, last_column: 45}
            }, '\r\n            <li>\r\n                <p class="paraphrase cols-layout">\r\n                    <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 45, last_column: 51}
            }, ".", '</span>\r\n                    <span class="paraphrase-term col2">\r\n                         ', [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perTransEntry",
                    path: [{type: "property", id: "pos_entry"}],
                    leader: "$"
                },
                pos: {first_line: 17, last_line: 17, first_column: 25, last_column: 54}
            }, '\r\n                        <span title="', {
                type: "references",
                id: "perTransEntry",
                path: [{type: "property", id: "pos_entry"}, {type: "property", id: "pos_tips"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 37, last_column: 73}
            }, '">', {
                type: "references",
                id: "perTransEntry",
                path: [{type: "property", id: "pos_entry"}, {type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 75, last_column: 106}
            }, "</span>\r\n                        "], "\r\n                        ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perTransEntry",
                    path: [{type: "property", id: "tran"}],
                    leader: "$"
                },
                pos: {first_line: 20, last_line: 20, first_column: 24, last_column: 48}
            }, "\r\n                            ", {
                type: "references",
                id: "perTransEntry",
                path: [{type: "property", id: "tran"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 21, last_line: 21, first_column: 28, last_column: 50}
            }, {
                type: "references",
                id: "perTransEntry",
                path: [{type: "property", id: "box_extra"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 21, last_line: 21, first_column: 50, last_column: 77}
            }, "\r\n                        "], "\r\n                        ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perTransEntry",
                    path: [{type: "property", id: "headword"}],
                    leader: "$"
                },
                pos: {first_line: 23, last_line: 23, first_column: 24, last_column: 52}
            }, "\r\n                            ", {
                type: "references",
                id: "perTransEntry",
                path: [{type: "property", id: "headword"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 24, last_line: 24, first_column: 28, last_column: 54}
            }, "\r\n                        "], "\r\n                        ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perTransEntry",
                    path: [{type: "property", id: "sees"}],
                    leader: "$"
                },
                pos: {first_line: 26, last_line: 26, first_column: 24, last_column: 48}
            }, "\r\n                            →see&nbsp;&nbsp;\r\n                            ", {
                type: "set",
                equal: [{type: "references", id: "seeWords", leader: "$"}, {
                    type: "references",
                    id: "_getWordForms",
                    path: [{type: "property", id: "wordFormArray"}],
                    leader: "$",
                    args: [{
                        type: "references",
                        id: "perTransEntry",
                        path: [{type: "property", id: "sees"}, {type: "property", id: "see"}],
                        leader: "$"
                    }, {type: "string", value: "seeword", isEval: !0}]
                }],
                pos: {first_line: 28, last_line: 28, first_column: 28, last_column: 110}
            }, "\r\n                            ", {
                type: "references",
                id: "_foreachSee",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 29, last_line: 29, first_column: 28, last_column: 49}
            }, "\r\n                            ", [{
                type: "foreach",
                to: "perSeeWord",
                from: {type: "references", id: "seeWords", leader: "$"},
                pos: {first_line: 30, last_line: 30, first_column: 28, last_column: 62}
            }, '\r\n                                <span class="grey">\r\n                                        <a class="clickable js-inline-clickable">', {
                type: "references",
                id: "perSeeWord",
                leader: "$",
                prue: !0,
                pos: {first_line: 32, last_line: 32, first_column: 81, last_column: 92}
            }, "<", "/a>\r\n                                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_foreachSee",
                        path: [{type: "property", id: "count"}],
                        leader: "$"
                    }, {type: "references", id: "seeWords", path: [{type: "property", id: "length"}], leader: "$"}],
                    operator: "!="
                },
                pos: {first_line: 33, last_line: 33, first_column: 36, last_column: 79}
            }, "\r\n                                        &nbsp;,&nbsp;\r\n                                    "], "\r\n                                </span>\r\n                            "], "\r\n                        "], "\r\n                        ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perTransEntry",
                    path: [{type: "property", id: "seeAlsos"}],
                    leader: "$"
                },
                pos: {first_line: 39, last_line: 39, first_column: 24, last_column: 52}
            }, "\r\n                            →", {
                type: "references",
                id: "perTransEntry",
                path: [{type: "property", id: "seeAlsos"}, {type: "property", id: "seealso"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 29, last_column: 63}
            }, "&nbsp;&nbsp;\r\n                            ", {
                type: "set",
                equal: [{type: "references", id: "seeAlsoWords", leader: "$"}, {
                    type: "references",
                    id: "_getWordForms",
                    path: [{type: "property", id: "wordFormArray"}],
                    leader: "$",
                    args: [{
                        type: "references",
                        id: "perTransEntry",
                        path: [{type: "property", id: "seeAlsos"}, {type: "property", id: "seeAlso"}],
                        leader: "$"
                    }, {type: "string", value: "seeword", isEval: !0}]
                }],
                pos: {first_line: 41, last_line: 41, first_column: 28, last_column: 122}
            }, "\r\n                            ", {
                type: "references",
                id: "_foreachSeeAlso",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 42, last_line: 42, first_column: 28, last_column: 53}
            }, "\r\n                            ", [{
                type: "foreach",
                to: "perSeeAlsoWord",
                from: {type: "references", id: "seeAlsoWords", leader: "$"},
                pos: {first_line: 43, last_line: 43, first_column: 28, last_column: 70}
            }, '\r\n                                <span class="grey">\r\n                                    <a class="clickable js-inline-clickable" >', {
                type: "references",
                id: "perSeeAlsoWord",
                leader: "$",
                prue: !0,
                pos: {first_line: 45, last_line: 45, first_column: 78, last_column: 93}
            }, "<", "/a>\r\n                                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_foreachSeeAlso",
                        path: [{type: "property", id: "count"}],
                        leader: "$"
                    }, {type: "references", id: "seeAlsoWords", path: [{type: "property", id: "length"}], leader: "$"}],
                    operator: "!="
                },
                pos: {first_line: 46, last_line: 46, first_column: 36, last_column: 87}
            }, "\r\n                                        &nbsp;,&nbsp;\r\n                                    "], "\r\n                                </span>\r\n                            "], "\r\n                        "], "\r\n                    </span>\r\n                </p>\r\n                     ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perTransEntry",
                    path: [{type: "property", id: "exam_sents"}],
                    leader: "$"
                },
                pos: {first_line: 54, last_line: 54, first_column: 21, last_column: 51}
            }, '\r\n                    <div class="cols-layout ex-wrap">\r\n                        <span class="col1 order">例：</span>\r\n                        ', {
                type: "set",
                equal: [{type: "references", id: "allExamSents", leader: "$"}, {
                    type: "references",
                    id: "perTransEntry",
                    path: [{type: "property", id: "exam_sents"}, {type: "property", id: "sent"}],
                    leader: "$"
                }],
                pos: {first_line: 57, last_line: 57, first_column: 24, last_column: 76}
            }, '\r\n                            <div class="col2">\r\n                            ', [{
                type: "foreach",
                to: "perExamSent",
                from: {type: "references", id: "allExamSents", leader: "$"},
                pos: {first_line: 59, last_line: 59, first_column: 28, last_column: 67}
            }, "\r\n                                <p>", {
                type: "references",
                id: "perExamSent",
                path: [{type: "property", id: "eng_sent"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 60, last_line: 60, first_column: 35, last_column: 56}
            }, "<", "/p>\r\n                                <p>", {
                type: "references",
                id: "perExamSent",
                path: [{type: "property", id: "chn_sent"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 61, last_line: 61, first_column: 35, last_column: 56}
            }, "<", "/p>\r\n                            "], "\r\n                            </div>\r\n                    </div>\r\n                     "], "\r\n            </li>\r\n        "], "\r\n    "], "\r\n</ul>\r\n\r\n"], "\r\n\r\n", [{
                type: "macro",
                id: "getTitle",
                args: [{type: "references", id: "perCollinsEntry", leader: "$"}],
                pos: {first_line: 73, last_line: 73, first_column: 0, last_column: 33}
            }, "\r\n    ", {
                type: "set",
                equal: [{type: "references", id: "basicEntries", leader: "$"}, {
                    type: "references",
                    id: "perCollinsEntry",
                    path: [{type: "property", id: "basic_entries"}, {type: "property", id: "basic_entry"}],
                    leader: "$"
                }],
                pos: {first_line: 74, last_line: 74, first_column: 4, last_column: 68}
            }, '\r\n<h4>\r\n    <span class="key">', {
                type: "references",
                id: "perCollinsEntry",
                path: [{type: "property", id: "headword"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 76, last_line: 76, first_column: 22, last_column: 50}
            }, "</span>\r\n    ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perCollinsEntry",
                    path: [{type: "property", id: "phonetic"}],
                    leader: "$"
                },
                pos: {first_line: 77, last_line: 77, first_column: 4, last_column: 34}
            }, "\r\n        <em>/", {
                type: "references",
                id: "perCollinsEntry",
                path: [{type: "property", id: "phonetic"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 78, last_line: 78, first_column: 13, last_column: 41}
            }, "/</em>\r\n    "], "\r\n    ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perCollinsEntry",
                    path: [{type: "property", id: "star"}],
                    leader: "$"
                },
                pos: {first_line: 80, last_line: 80, first_column: 4, last_column: 30}
            }, '\r\n    <span class="star star', {
                type: "references",
                id: "perCollinsEntry",
                path: [{type: "property", id: "star"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 81, last_line: 81, first_column: 26, last_column: 50}
            }, '" title="使用频率"></span>\r\n    '], "\r\n    ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perCollinsEntry",
                    path: [{type: "property", id: "basic_entries"}],
                    leader: "$"
                },
                pos: {first_line: 83, last_line: 83, first_column: 4, last_column: 39}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "basicEntries", leader: "$"}, {
                    type: "references",
                    id: "perCollinsEntry",
                    path: [{type: "property", id: "basic_entries"}, {type: "property", id: "basic_entry"}],
                    leader: "$"
                }],
                pos: {first_line: 84, last_line: 84, first_column: 8, last_column: 72}
            }, "\r\n        ", [{
                type: "foreach",
                to: "basicEntry",
                from: {type: "references", id: "basicEntries", leader: "$"},
                pos: {first_line: 85, last_line: 85, first_column: 8, last_column: 46}
            }, "\r\n            ", [{
                type: "if",
                condition: {type: "references", id: "basicEntry", path: [{type: "property", id: "cet"}], leader: "$"},
                pos: {first_line: 86, last_line: 86, first_column: 12, last_column: 32}
            }, "\r\n            <span>", {
                type: "references",
                id: "basicEntry",
                path: [{type: "property", id: "cet"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 87, last_line: 87, first_column: 18, last_column: 36}
            }, "</span>\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "basicEntry",
                        path: [{type: "property", id: "wordforms"}],
                        leader: "$"
                    }, {
                        type: "references",
                        id: "basicEntry",
                        path: [{type: "property", id: "wordforms"}, {type: "property", id: "wordform"}],
                        leader: "$"
                    }],
                    operator: "&&"
                },
                pos: {first_line: 89, last_line: 89, first_column: 12, last_column: 72}
            }, "\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "words", leader: "$"}, {
                    type: "references",
                    id: "basicEntry",
                    path: [{type: "property", id: "wordforms"}, {type: "property", id: "wordform"}],
                    leader: "$"
                }],
                pos: {first_line: 90, last_line: 90, first_column: 16, last_column: 61}
            }, '\r\n            <em class="additional ">(', {
                type: "references",
                id: "_getWordForms",
                path: [{type: "property", id: "wordFormString"}],
                leader: "$",
                args: [{type: "references", id: "words", leader: "$"}, {type: "string", value: "word", isEval: !0}],
                prue: !0,
                pos: {first_line: 91, last_line: 91, first_column: 37, last_column: 82}
            }, ")", "</em>\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "basicEntry",
                    path: [{type: "property", id: "box_comms"}],
                    leader: "$"
                },
                pos: {first_line: 93, last_line: 93, first_column: 12, last_column: 38}
            }, "\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "boxInfo", leader: "$"}, {
                    type: "references",
                    id: "basicEntry",
                    path: [{type: "property", id: "box_comms"}, {type: "property", id: "box_com"}],
                    leader: "$"
                }],
                pos: {first_line: 94, last_line: 94, first_column: 16, last_column: 62}
            }, '\r\n                <p class="secondary">', {
                type: "references",
                id: "boxInfo",
                path: [{type: "index", id: {type: "integer", value: "0"}}],
                leader: "$",
                prue: !0,
                pos: {first_line: 95, last_line: 95, first_column: 37, last_column: 48}
            }, "<", "/p>\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "basicEntry",
                        path: [{type: "property", id: "sees"}],
                        leader: "$"
                    }, {
                        type: "references",
                        id: "basicEntry",
                        path: [{type: "property", id: "sees"}, {type: "property", id: "see"}],
                        leader: "$"
                    }],
                    operator: "&&"
                },
                pos: {first_line: 97, last_line: 97, first_column: 12, last_column: 57}
            }, '\r\n                <p class="secondary">\r\n                    →see\r\n                    ', {
                type: "set",
                equal: [{type: "references", id: "seeHeadWords", leader: "$"}, {
                    type: "references",
                    id: "_getWordForms",
                    path: [{type: "property", id: "wordFormArray"}],
                    leader: "$",
                    args: [{
                        type: "references",
                        id: "basicEntry",
                        path: [{type: "property", id: "sees"}, {type: "property", id: "see"}],
                        leader: "$"
                    }, {type: "string", value: "seeword", isEval: !0}]
                }],
                pos: {first_line: 100, last_line: 100, first_column: 20, last_column: 103}
            }, "\r\n                    ", {
                type: "references",
                id: "_foreachHeadSee",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 101, last_line: 101, first_column: 20, last_column: 45}
            }, "\r\n                    ", [{
                type: "foreach",
                to: "perSeeWord",
                from: {type: "references", id: "seeHeadWords", leader: "$"},
                pos: {first_line: 102, last_line: 102, first_column: 20, last_column: 58}
            }, '\r\n                        <span class="grey">\r\n                            <a class="clickable" href="link:', {
                type: "references",
                id: "perSeeWord",
                leader: "$",
                prue: !0,
                pos: {first_line: 104, last_line: 104, first_column: 60, last_column: 71}
            }, '"', ">", {
                type: "references",
                id: "perSeeWord",
                leader: "$",
                prue: !0,
                pos: {first_line: 104, last_line: 104, first_column: 73, last_column: 84}
            }, "<", "/a>\r\n                            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_foreachHeadSee",
                        path: [{type: "property", id: "count"}],
                        leader: "$"
                    }, {type: "references", id: "seeHeadWords", path: [{type: "property", id: "length"}], leader: "$"}],
                    operator: "!="
                },
                pos: {first_line: 105, last_line: 105, first_column: 28, last_column: 79}
            }, "\r\n                                &nbsp;,&nbsp;\r\n                            "], "\r\n                    </span>\r\n                    "], "\r\n                </p>\r\n            "], "\r\n        "], "\r\n    "], "\r\n</h4>\r\n\r\n"], "\r\n\r\n", [{
                type: "macro",
                id: "collinsEntries",
                pos: {first_line: 118, last_line: 118, first_column: 0, last_column: 22}
            }, "\r\n    ", [{
                type: "foreach",
                to: "perCollinsEntry",
                from: {type: "references", id: "collinsEntries", leader: "$"},
                pos: {first_line: 119, last_line: 119, first_column: 4, last_column: 49}
            }, '\r\n    <div class="perCollinsEntry" id="perCollinsEntry', {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 120, last_line: 120, first_column: 52, last_column: 66}
            }, '"', ">\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "superHead", leader: "$"},
                pos: {first_line: 121, last_line: 121, first_column: 8, last_column: 23}
            }, '\r\n            <a class="collapse-tips" data-toggle="yd_collapse_dict_collins">\r\n                <span class="show-detail"></span>\r\n                ', {
                type: "references",
                id: "perCollinsEntry",
                path: [{type: "property", id: "super_headword"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 124, last_line: 124, first_column: 16, last_column: 50}
            }, "\r\n            </a>\r\n        "], '\r\n        <div role="yd_collapse_dict_collins">\r\n            ', {
                type: "macro_call",
                id: "getTitle",
                args: [{type: "references", id: "perCollinsEntry", leader: "$"}],
                pos: {first_line: 128, last_line: 128, first_column: 12, last_column: 39}
            }, "\r\n            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perCollinsEntry",
                    path: [{type: "property", id: "entries"}],
                    leader: "$"
                },
                pos: {first_line: 129, last_line: 129, first_column: 12, last_column: 41}
            }, "\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "allEnties", leader: "$"}, {
                    type: "references",
                    id: "perCollinsEntry",
                    path: [{type: "property", id: "entries"}, {type: "property", id: "entry"}],
                    leader: "$"
                }],
                pos: {first_line: 130, last_line: 130, first_column: 16, last_column: 63}
            }, "\r\n                ", {
                type: "macro_call",
                id: "withoutHeadword",
                args: [{type: "references", id: "allEnties", leader: "$"}],
                pos: {first_line: 131, last_line: 131, first_column: 16, last_column: 44}
            }, "\r\n            "], "\r\n        </div>\r\n    </div>\r\n    "], "\r\n"], '\r\n\r\n<!--所有释义的入口，if有头词-->\r\n<div class="trans-container collins">\r\n    ', [{
                type: "if",
                condition: {type: "references", id: "super_headwords", leader: "$"},
                pos: {first_line: 140, last_line: 140, first_column: 4, last_column: 25}
            }, '\r\n        <div class="super_head">\r\n            ', [{
                type: "foreach",
                to: "perSuperHead",
                from: {
                    type: "references",
                    id: "super_headwords",
                    path: [{type: "property", id: "super_headword"}],
                    leader: "$"
                },
                pos: {first_line: 142, last_line: 142, first_column: 12, last_column: 70}
            }, '\r\n                <p>\r\n                    <span class="secondary">', {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 144, last_line: 144, first_column: 44, last_column: 58}
            }, ".", '&nbsp;</span>\r\n                    <a class="clickable" href="', "#p", "erCollinsEntry", {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 145, last_line: 145, first_column: 63, last_column: 77}
            }, '"', ' rel="', "#p", "erCollinsEntry", {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 145, last_line: 145, first_column: 100, last_column: 114}
            }, '"', ">", {
                type: "references",
                id: "perSuperHead",
                leader: "$",
                prue: !0,
                pos: {first_line: 145, last_line: 145, first_column: 116, last_column: 129}
            }, "<", "/a>\r\n                </p>\r\n            "], "\r\n        </div>\r\n    "], "\r\n    ", {
                type: "macro_call",
                id: "collinsEntries",
                pos: {first_line: 150, last_line: 150, first_column: 4, last_column: 21}
            }, "\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"]).render(e)
        }, init: function () {
            i.tg(".perCollinsEntry", '[data-toggle = "yd_collapse_dict_collins"]', "yd_dict_toggleClose"), r(".super_head a.clickable").click(function () {
                var e = r(this).attr("rel");
                r(".perCollinsEntry").addClass("yd_dict_toggleClose"), r(e).removeClass("yd_dict_toggleClose")
            })
        }
    }
});
define("/output/copyright/copyright", function (e, t, n) {
    e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper");
    n.exports = {
        render: function () {
        }, init: function () {
        }
    }
});
define("/output/ec/ec", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = r.mixin(e, {
                getOnlineStatus: function () {
                    return global.status.online
                }
            }), r.vm(['<div class="trans-container  ec">\r\n    ', [{
                type: "foreach",
                to: "_word",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 29}
            }, '\r\n        <h2>\r\n            <span class="keyword">\r\n            ', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 12, last_column: 39}
            }, '\r\n        </span>\r\n            <a href="javascript:void(0);" id="wordbook" class="add-fav hidden js-ctlog" data-ctype="点击添加到单词本"\r\n               title="添加到单词本"></a>\r\n            ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 9, last_line: 9, first_column: 12, last_column: 35}
            }, '\r\n                <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n            '], '\r\n            <div class="baav">\r\n                ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_word",
                        path: [{type: "property", id: "ukphone"}],
                        leader: "$"
                    }, {type: "references", id: "_word", path: [{type: "property", id: "ukspeech"}], leader: "$"}],
                    operator: "||"
                },
                pos: {first_line: 13, last_line: 13, first_column: 16, last_column: 54}
            }, '\r\n                    <span class="pronounce">\r\n                        ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_word",
                        path: [{type: "property", id: "ukspeech"}],
                        leader: "$"
                    }, {type: "references", id: "getOnlineStatus", leader: "$", args: !1}],
                    operator: "&&"
                },
                pos: {first_line: 15, last_line: 15, first_column: 24, last_column: 66}
            }, '\r\n                            <a href="', "#", '" title="真人发音" role=\'dict_audio_js\'\r\n                               data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "ukspeech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 17, last_line: 17, first_column: 80, last_column: 98}
            }, '"\r\n                               class="dictvoice word-speech voice-js js-ctlog js-hover-ctlog"\r\n                               data-chtype="dict.basic.ec.uk.hover.voice" data-ctype="dict.basic.ec.uk.voice"></a>\r\n                        '], "\r\n                        英\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "_word", path: [{type: "property", id: "ukphone"}], leader: "$"},
                pos: {first_line: 22, last_line: 22, first_column: 24, last_column: 43}
            }, '\r\n                            <span class="phonetic">[', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "ukphone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 23, last_line: 23, first_column: 52, last_column: 69}
            }, "]</span>\r\n                        "], "\r\n                    </span>\r\n                "], "\r\n                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_word",
                        path: [{type: "property", id: "usphone"}],
                        leader: "$"
                    }, {type: "references", id: "_word", path: [{type: "property", id: "usspeech"}], leader: "$"}],
                    operator: "||"
                },
                pos: {first_line: 27, last_line: 27, first_column: 16, last_column: 54}
            }, '\r\n                    <span class="pronounce">\r\n                        ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_word",
                        path: [{type: "property", id: "usspeech"}],
                        leader: "$"
                    }, {type: "references", id: "getOnlineStatus", leader: "$", args: !1}],
                    operator: "&&"
                },
                pos: {first_line: 29, last_line: 29, first_column: 24, last_column: 67}
            }, '\r\n                            <a href="', "#", '" title="真人发音" role=\'dict_audio_js\'\r\n                               data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "usspeech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 31, last_line: 31, first_column: 80, last_column: 98}
            }, '"\r\n                               class=\'dictvoice word-speech voice-js js-ctlog js-hover-ctlog\'\r\n                               data-chtype="dict.basic.ec.us.hover.voice" data-ctype="dict.basic.ec.us.voice"></a>\r\n                        '], "\r\n                         美\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "_word", path: [{type: "property", id: "usphone"}], leader: "$"},
                pos: {first_line: 36, last_line: 36, first_column: 24, last_column: 43}
            }, '\r\n                            <span class="phonetic">[', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "usphone"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 37, last_line: 37, first_column: 52, last_column: 66}
            }, "]", "</span>\r\n                        "], "\r\n                    </span>\r\n                "], "\r\n                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_word",
                        path: [{type: "property", id: "phone"}],
                        leader: "$"
                    }, {type: "references", id: "_word", path: [{type: "property", id: "speech"}], leader: "$"}],
                    operator: "||"
                },
                pos: {first_line: 41, last_line: 41, first_column: 16, last_column: 50}
            }, '\r\n                    <span class="pronounce">\r\n                        ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_word",
                        path: [{type: "property", id: "speech"}],
                        leader: "$"
                    }, {type: "references", id: "getOnlineStatus", leader: "$", args: !1}],
                    operator: "&&"
                },
                pos: {first_line: 43, last_line: 43, first_column: 24, last_column: 64}
            }, '\r\n                            <a href="', "#", '" title="发音" role=\'dict_audio_js\'\r\n                               data-rel="http://dict.youdao.com/dictvoice?audio=', [{
                type: "if",
                condition: {type: "references", id: "_word", path: [{type: "property", id: "speech"}], leader: "$"},
                pos: {first_line: 45, last_line: 45, first_column: 80, last_column: 98}
            }, {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "speech"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 45, last_line: 45, first_column: 98, last_column: 111}
            }, {
                type: "else",
                pos: {first_line: 45, last_line: 45, first_column: 111, last_column: 116}
            }, {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 45, last_line: 45, first_column: 116, last_column: 143}
            }], '"\r\n                               class=\'dictvoice voice-js js-ctlog js-hover-ctlog\'\r\n                               data-chtype="dict.basic.ec.tts.hover.voice" data-ctype="dict.basic.ec.tts.voice"></a>\r\n                        '], "\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "_word", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 49, last_line: 49, first_column: 24, last_column: 41}
            }, '\r\n                            <span class="phonetic">[', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "phone"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 50, last_line: 50, first_column: 52, last_column: 64}
            }, "]", "</span>\r\n                        "], "\r\n                    </span>\r\n                "], "\r\n                ", [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 54, last_line: 54, first_column: 16, last_column: 39}
            }, '\r\n                    <span class="global_voice" id="global_voice_span">\r\n                    <a id="global_voice" href="javascript:void(0)" title="全球发音"\r\n                       class="global-voice-icon js-ctlog" data-word="', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 57, last_line: 57, first_column: 69, last_column: 96}
            }, '"\r\n                       data-ctype="global_voice_button"></a>&nbsp;全球发音\r\n                    </span>\r\n                '], "\r\n                ", [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 61, last_line: 61, first_column: 16, last_column: 39}
            }, '\r\n                    <span class="spoken-exercise">\r\n                    <a href="javascript:void(0)" title="口语练习"\r\n                       class="js-record spoken-record js-ctlog"\r\n                       data-ctype="跟读_基本释义" id="record"\r\n                       data-phonetic="', [{
                type: "if",
                condition: {type: "references", id: "_word", path: [{type: "property", id: "usphone"}], leader: "$"},
                pos: {first_line: 66, last_line: 66, first_column: 38, last_column: 57}
            }, "\r\n                                        美[", {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "usphone"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 67, last_line: 67, first_column: 42, last_column: 58}
            }, "]\r\n                                    ", {
                type: "elseif",
                condition: {
                    type: "references",
                    id: "_word",
                    path: [{type: "property", id: "ukphone"}],
                    isWraped: !0,
                    leader: "$"
                },
                pos: {first_line: 68, last_line: 68, first_column: 36, last_column: 61}
            }, "\r\n                                        英[", {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "ukphone"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 69, last_line: 69, first_column: 42, last_column: 58}
            }, "]\r\n                                   ", {
                type: "elseif",
                condition: {
                    type: "references",
                    id: "_word",
                    path: [{type: "property", id: "phone"}],
                    isWraped: !0,
                    leader: "$"
                },
                pos: {first_line: 70, last_line: 70, first_column: 35, last_column: 58}
            }, "\r\n                                        [", {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 71, last_line: 71, first_column: 41, last_column: 55}
            }, "]\r\n                                    "], '"\r\n                       data-word="', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 73, last_line: 73, first_column: 34, last_column: 61}
            }, '">跟读</a>&nbsp;口语练习\r\n                    </span>\r\n                '], "\r\n            </div>\r\n        </h2>\r\n        <ul>\r\n            ", [{
                type: "foreach",
                to: "trsArr",
                from: {type: "references", id: "_word", path: [{type: "property", id: "trs"}], leader: "$"},
                pos: {first_line: 79, last_line: 79, first_column: 12, last_column: 43}
            }, "\r\n                ", [{
                type: "foreach",
                to: "_tr",
                from: {type: "references", id: "trsArr", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 80, last_line: 80, first_column: 16, last_column: 44}
            }, "\r\n                    <li>", {
                type: "references",
                id: "_tr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 81, last_line: 81, first_column: 24, last_column: 35}
            }, "</li>\r\n                "], "\r\n            "], "\r\n        </ul>\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "_word", path: [{type: "property", id: "wfs"}], leader: "$"},
                pos: {first_line: 85, last_line: 85, first_column: 8, last_column: 23}
            }, '\r\n            <p class="additional">[\r\n                ', [{
                type: "foreach",
                to: "sub",
                from: {type: "references", id: "_word", path: [{type: "property", id: "wfs"}], leader: "$"},
                pos: {first_line: 87, last_line: 87, first_column: 16, last_column: 44}
            }, "\r\n                    ", {
                type: "references",
                id: "sub",
                path: [{type: "property", id: "wf"}, {type: "property", id: "name"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 88, last_line: 88, first_column: 20, last_column: 34}
            }, "\r\n                    ", {
                type: "references",
                id: "sub",
                path: [{type: "property", id: "wf"}, {type: "property", id: "value"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 89, last_line: 89, first_column: 20, last_column: 35}
            }, "\r\n                "], "\r\n                ] </p>\r\n        "], "\r\n    "], "\r\n</div>\r\n"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/ec21/ec21", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(r._foreach),
                _foreachExam: Object.create(r._foreach),
                _getallExam: function (e) {
                    var t = "", n = "";
                    return e.map(function (e) {
                        return t = e.i.f.l.i, n = e.i.n.l.i, {eng: t, chn: n}
                    })
                },
                _getptrans: function (e) {
                    if (Array.isArray(e)) {
                        var t = e.map(function (e) {
                            return "string" != typeof e ? "<sup>" + e["#text"] + "</sup>" : e
                        });
                        return [t.join("")]
                    }
                    return e
                },
                _isSup: function (e, t) {
                    return e == t
                },
                _handleMore: function () {
                }
            }), i.vm([[{
                type: "macro",
                id: "list",
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 12}
            }, "\r\n<!--释义-->\r\n", {
                type: "set",
                equal: [{type: "references", id: "trs", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 3, last_line: 3, first_column: 0, last_column: 21}
            }, '\r\n<ul class="posType">\r\n    ', [{
                type: "foreach",
                to: "pTr",
                from: {type: "references", id: "trs", leader: "$"},
                pos: {first_line: 5, last_line: 5, first_column: 4, last_column: 26}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "orderType", leader: "$"}, {
                    type: "references",
                    id: "_foreachType",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 6, last_line: 6, first_column: 8, last_column: 49}
            }, '\r\n        <li>\r\n            <span class="title">', {
                type: "references",
                id: "pTr",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 32, last_column: 43}
            }, "</span>\r\n            <ul>\r\n                ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 16, last_column: 37}
            }, "\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "allSenTrans", leader: "$"}, {
                    type: "references",
                    id: "pTr",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 11, last_line: 11, first_column: 16, last_column: 44}
            }, "\r\n                ", [{
                type: "foreach",
                to: "pTrans",
                from: {type: "references", id: "allSenTrans", leader: "$"},
                pos: {first_line: 12, last_line: 12, first_column: 16, last_column: 49}
            }, "\r\n                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "allSenTrans",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: "=="
                },
                pos: {first_line: 13, last_line: 13, first_column: 20, last_column: 49}
            }, "\r\n                        <span>", {
                type: "references",
                id: "_getptrans",
                leader: "$",
                args: [{
                    type: "references",
                    id: "pTrans",
                    path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 30, last_column: 54}
            }, "<", "/span>\r\n                    ", {
                type: "else",
                pos: {first_line: 15, last_line: 15, first_column: 20, last_column: 25}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 16, last_line: 16, first_column: 24, last_column: 58}
            }, '\r\n                        <li class="cols-layout">\r\n                            <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 53, last_column: 59}
            }, ".", '</span>\r\n                            <div class="col2">\r\n                                <span>', {
                type: "references",
                id: "_getptrans",
                leader: "$",
                args: [{
                    type: "references",
                    id: "pTrans",
                    path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 38, last_column: 62}
            }, "<", "/span>\r\n                                ", [{
                type: "if",
                condition: {type: "references", id: "pTrans", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 21, last_line: 21, first_column: 32, last_column: 47}
            }, "\r\n                                    ", {
                type: "references",
                id: "_foreachExam",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 22, last_line: 22, first_column: 36, last_column: 61}
            }, "\r\n                                    <ul>\r\n                                        ", [{
                type: "foreach",
                to: "item",
                from: {type: "references", id: "pTrans", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 24, last_line: 24, first_column: 40, last_column: 69}
            }, "\r\n                                            ", {
                type: "set",
                equal: [{type: "references", id: "orderExam", leader: "$"}, {
                    type: "references",
                    id: "_foreachExam",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 25, last_line: 25, first_column: 44, last_column: 85}
            }, '\r\n                                            <li class="cols-layout">\r\n                                                <span class="col1 order">', {
                type: "references",
                id: "orderExam",
                leader: "$",
                prue: !0,
                pos: {first_line: 27, last_line: 27, first_column: 73, last_column: 83}
            }, ".", '</span>\r\n                                                <div class="col2">\r\n                                                    <p>', {
                type: "references",
                id: "_getptrans",
                leader: "$",
                args: [{
                    type: "references",
                    id: "item",
                    path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 29, last_line: 29, first_column: 55, last_column: 77}
            }, "<", "/p>\r\n                                                    ", [{
                type: "if",
                condition: {type: "references", id: "item", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 30, last_line: 30, first_column: 52, last_column: 67}
            }, "\r\n                                                        ", [{
                type: "foreach",
                to: "perItemExam",
                from: {
                    type: "references",
                    id: "_getallExam",
                    leader: "$",
                    args: [{type: "references", id: "item", path: [{type: "property", id: "exam"}], leader: "$"}]
                },
                pos: {first_line: 31, last_line: 31, first_column: 56, last_column: 106}
            }, "\r\n                                                            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perItemExam",
                        path: [{type: "property", id: "eng"}],
                        leader: "$"
                    }, {type: "references", id: "perItemExam", path: [{type: "property", id: "chn"}], leader: "$"}],
                    operator: "||"
                },
                pos: {first_line: 32, last_line: 32, first_column: 60, last_column: 101}
            }, '\r\n                                                                <p class="secondary">', {
                type: "references",
                id: "perItemExam",
                path: [{type: "property", id: "eng"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 33, last_line: 33, first_column: 85, last_column: 104}
            }, '</p>\r\n                                                                <p class="secondary">', {
                type: "references",
                id: "perItemExam",
                path: [{type: "property", id: "chn"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 85, last_column: 104}
            }, "</p>\r\n                                                            "], "\r\n                                                        "], "\r\n                                                    "], "\r\n                                                </div>\r\n                                            </li>\r\n                                        "], "\r\n                                    </ul>\r\n                                "], "\r\n                                ", [{
                type: "if",
                condition: {type: "references", id: "pTrans", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 43, last_line: 43, first_column: 32, last_column: 49}
            }, "\r\n                                    ", [{
                type: "foreach",
                to: "perExam",
                from: {
                    type: "references",
                    id: "_getallExam",
                    leader: "$",
                    args: [{type: "references", id: "pTrans", path: [{type: "property", id: "exam"}], leader: "$"}]
                },
                pos: {first_line: 44, last_line: 44, first_column: 36, last_column: 84}
            }, "\r\n                                        ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perExam",
                        path: [{type: "property", id: "eng"}],
                        leader: "$"
                    }, {type: "references", id: "perExam", path: [{type: "property", id: "chn"}], leader: "$"}],
                    operator: "||"
                },
                pos: {first_line: 45, last_line: 45, first_column: 40, last_column: 73}
            }, '\r\n                                            <p class="secondary">', {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "eng"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 46, last_line: 46, first_column: 65, last_column: 80}
            }, '</p>\r\n                                            <p class="secondary">', {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "chn"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 47, last_line: 47, first_column: 65, last_column: 80}
            }, "</p>\r\n                                        "], "\r\n                                    "], "\r\n                                "], "\r\n                            </div>\r\n                        </li>\r\n                    "], "\r\n                "], "\r\n            </ul>\r\n        </li>\r\n    "], "\r\n</ul>\r\n<!--短语-->\r\n", [{
                type: "if",
                condition: {type: "references", id: "pWord", path: [{type: "property", id: "phrs"}], leader: "$"},
                pos: {first_line: 60, last_line: 60, first_column: 0, last_column: 16}
            }, '\r\n<div class="phrs">\r\n    <span class="title">短语</span>\r\n    ', {
                type: "set",
                equal: [{type: "references", id: "phrs", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "phrs"}],
                    leader: "$"
                }],
                pos: {first_line: 63, last_line: 63, first_column: 4, last_column: 27}
            }, "\r\n    ", [{
                type: "foreach",
                to: "phr",
                from: {type: "references", id: "phrs", leader: "$"},
                pos: {first_line: 64, last_line: 64, first_column: 4, last_column: 27}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "iPhrs", leader: "$"}, {
                    type: "references",
                    id: "phr",
                    path: [{type: "property", id: "i"}],
                    leader: "$"
                }],
                pos: {first_line: 65, last_line: 65, first_column: 8, last_column: 29}
            }, "\r\n        ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 66, last_line: 66, first_column: 8, last_column: 26}
            }, "\r\n        ", [{
                type: "foreach",
                to: "pi",
                from: {type: "references", id: "iPhrs", leader: "$"},
                pos: {first_line: 67, last_line: 67, first_column: 8, last_column: 31}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 68, last_line: 68, first_column: 12, last_column: 46}
            }, '\r\n            <div class="cols-layout">\r\n                <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 70, last_line: 70, first_column: 41, last_column: 47}
            }, ".", '</span>\r\n                <div class="col2">\r\n                    <p>', {
                type: "references",
                id: "pi",
                path: [{type: "property", id: "phr"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 72, last_line: 72, first_column: 23, last_column: 37}
            }, " ", {
                type: "references",
                id: "pi",
                path: [{type: "property", id: "des"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 72, last_line: 72, first_column: 38, last_column: 52}
            }, "</p>\r\n                    ", [{
                type: "if",
                condition: {type: "references", id: "pi", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 73, last_line: 73, first_column: 20, last_column: 31}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "wordTrans", leader: "$"}, {
                    type: "references",
                    id: "pi",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 74, last_line: 74, first_column: 24, last_column: 49}
            }, "\r\n                        ", [{
                type: "foreach",
                to: "perWordTrans",
                from: {type: "references", id: "wordTrans", leader: "$"},
                pos: {first_line: 75, last_line: 75, first_column: 24, last_column: 61}
            }, '\r\n                            <p class="secondary">', {
                type: "references",
                id: "perWordTrans",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 76, last_line: 76, first_column: 49, last_column: 69}
            }, "</p>\r\n                        "], "\r\n                    "], "\r\n                </div>\r\n            </div>\r\n        "], "\r\n    "], "\r\n</div>\r\n"], "\r\n\r\n", [{
                type: "if",
                condition: {type: "references", id: "pWord", path: [{type: "property", id: "syno"}], leader: "$"},
                pos: {first_line: 86, last_line: 86, first_column: 0, last_column: 16}
            }, '\r\n<div class="syno">\r\n    <span class="title">近义词</span>\r\n    ', {
                type: "set",
                equal: [{type: "references", id: "allSynos", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "syno"}],
                    leader: "$"
                }],
                pos: {first_line: 89, last_line: 89, first_column: 4, last_column: 31}
            }, "\r\n    ", [{
                type: "foreach",
                to: "syno",
                from: {type: "references", id: "allSynos", leader: "$"},
                pos: {first_line: 90, last_line: 90, first_column: 4, last_column: 32}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "psyno", leader: "$"}, {
                    type: "references",
                    id: "syno",
                    path: [{type: "property", id: "i"}],
                    leader: "$"
                }],
                pos: {first_line: 91, last_line: 91, first_column: 8, last_column: 28}
            }, "\r\n        <p>\r\n            ", [{
                type: "foreach",
                to: "ipsyno",
                from: {type: "references", id: "psyno", leader: "$"},
                pos: {first_line: 93, last_line: 93, first_column: 12, last_column: 39}
            }, '\r\n                <a class="clickable js-inline-clickable" href="javascript:void(0);">', {
                type: "references",
                id: "ipsyno",
                leader: "$",
                prue: !0,
                pos: {first_line: 94, last_line: 94, first_column: 84, last_column: 91}
            }, "<", "/a>\r\n            "], "\r\n        </p>\r\n    "], "\r\n</div>\r\n"], "\r\n\r\n<!--变形-->\r\n", [{
                type: "if",
                condition: {type: "references", id: "pWord", path: [{type: "property", id: "wfs"}], leader: "$"},
                pos: {first_line: 102, last_line: 102, first_column: 0, last_column: 15}
            }, '\r\n<div class="wfs">\r\n    <span class="title">变形</span>\r\n    ', {
                type: "set",
                equal: [{type: "references", id: "allWfs", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "wfs"}],
                    leader: "$"
                }],
                pos: {first_line: 105, last_line: 105, first_column: 4, last_column: 28}
            }, "\r\n    ", [{
                type: "foreach",
                to: "wf",
                from: {type: "references", id: "allWfs", leader: "$"},
                pos: {first_line: 106, last_line: 106, first_column: 4, last_column: 28}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "pwf", leader: "$"}, {
                    type: "references",
                    id: "wf",
                    path: [{type: "property", id: "wf"}],
                    leader: "$"
                }],
                pos: {first_line: 107, last_line: 107, first_column: 8, last_column: 25}
            }, "\r\n        ", [{
                type: "foreach",
                to: "ipwf",
                from: {type: "references", id: "pwf", leader: "$"},
                pos: {first_line: 108, last_line: 108, first_column: 8, last_column: 31}
            }, "\r\n            <p>", {
                type: "references",
                id: "ipwf",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 109, last_line: 109, first_column: 15, last_column: 27}
            }, "\r\n            ", [{
                type: "foreach",
                to: "wfi",
                from: {type: "references", id: "ipwf", path: [{type: "property", id: "i"}], leader: "$"},
                pos: {first_line: 110, last_line: 110, first_column: 12, last_column: 37}
            }, '\r\n            <a  class="clickable js-inline-clickable" href="javascript:void(0);">\r\n            ', {
                type: "references",
                id: "wfi",
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 112, last_line: 112, first_column: 12, last_column: 19}
            }, "\r\n            </a>\r\n            "], "\r\n            </p>\r\n        "], "\r\n    "], "\r\n</div>\r\n"], "\r\n"], '\r\n\r\n<div class="trans-container ec21">\r\n    ', [{
                type: "foreach",
                to: "pWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 123, last_line: 123, first_column: 4, last_column: 29}
            }, "\r\n        <h4>\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "returnPhrase", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                        type: "property",
                        id: "i"
                    }],
                    leader: "$"
                }],
                pos: {first_line: 125, last_line: 125, first_column: 12, last_column: 58}
            }, "\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "returnPhrase",
                        path: [{type: "index", id: {type: "integer", value: "0"}}],
                        leader: "$"
                    }, {
                        type: "math",
                        expression: [{
                            type: "references",
                            id: "returnPhrase",
                            path: [{type: "index", id: {type: "integer", value: "0"}}],
                            leader: "$"
                        }, {type: "bool", value: "null"}],
                        operator: "!="
                    }],
                    operator: "||"
                },
                pos: {first_line: 126, last_line: 126, first_column: 12, last_column: 61}
            }, "\r\n                ", {
                type: "references",
                id: "returnPhrase",
                path: [{type: "index", id: {type: "integer", value: "0"}}],
                leader: "$",
                prue: !0,
                pos: {first_line: 127, last_line: 127, first_column: 16, last_column: 32}
            }, "\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "returnPhrase",
                    path: [{type: "index", id: {type: "integer", value: "1"}}],
                    leader: "$"
                },
                pos: {first_line: 129, last_line: 129, first_column: 12, last_column: 33}
            }, "\r\n                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "returnPhrase",
                        path: [{type: "index", id: {type: "integer", value: "1"}}, {
                            type: "index",
                            id: {type: "string", value: "@action"}
                        }],
                        leader: "$"
                    }, {
                        type: "references",
                        id: "_isSup",
                        leader: "$",
                        args: [{
                            type: "references",
                            id: "returnPhrase",
                            path: [{type: "index", id: {type: "integer", value: "1"}}, {
                                type: "index",
                                id: {type: "string", value: "@action"}
                            }],
                            leader: "$"
                        }, {type: "string", value: "sup", isEval: !0}]
                    }],
                    operator: "&&"
                },
                pos: {first_line: 130, last_line: 130, first_column: 16, last_column: 95}
            }, "\r\n                    <sup>", {
                type: "references",
                id: "returnPhrase",
                path: [{type: "index", id: {type: "integer", value: "1"}}, {
                    type: "index",
                    id: {type: "string", value: "#text"}
                }],
                leader: "$",
                prue: !0,
                pos: {first_line: 131, last_line: 131, first_column: 25, last_column: 50}
            }, "<", "/sup>\r\n                "], "\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {type: "references", id: "pWord", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 134, last_line: 134, first_column: 12, last_column: 29}
            }, '\r\n                <span class="secondary">&nbsp;&nbsp;[', {
                type: "references",
                id: "pWord",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 135, last_line: 135, first_column: 53, last_column: 68}
            }, "]</span>\r\n            "], "\r\n        </h4>\r\n        ", {
                type: "macro_call",
                id: "list",
                pos: {first_line: 138, last_line: 138, first_column: 8, last_column: 15}
            }, "\r\n    "], '\r\n    <p class="secondary source">\r\n        以上来源于:', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 141, last_line: 141, first_column: 14, last_column: 26}
            }, "\r\n    ", "</p>\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/ee/ee", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(r._foreach),
                _foreachSimilar: Object.create(r._foreach),
                _foreachExam: Object.create(r._foreach),
                word: {
                    _getHeadword: function () {
                        return this["return-phrase"].l.i
                    }, _getHTMLValidText: function (e) {
                        return i.html.escape(e)
                    }
                }
            }), i.vm([[{
                type: "macro",
                id: "everyTR",
                args: [{type: "references", id: "perTr", leader: "$"}],
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 22}
            }, "\r\n<span>", {
                type: "references",
                id: "perTr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 2, last_line: 2, first_column: 6, last_column: 19}
            }, "</span>\r\n", [{
                type: "if",
                condition: {type: "references", id: "perTr", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 0, last_column: 16}
            }, "\r\n    ", {
                type: "set",
                equal: [{type: "references", id: "exams", leader: "$"}, {
                    type: "references",
                    id: "perTr",
                    path: [{type: "property", id: "exam"}, {type: "property", id: "i"}, {
                        type: "property",
                        id: "f"
                    }, {type: "property", id: "l"}],
                    leader: "$"
                }],
                pos: {first_line: 4, last_line: 4, first_column: 4, last_column: 34}
            }, "\r\n    ", {
                type: "references",
                id: "_foreachExam",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 4, last_column: 26}
            }, "\r\n    ", '<p class="secondary">\r\n    ', [{
                type: "foreach",
                to: "perExam",
                from: {type: "references", id: "exams", leader: "$"},
                pos: {first_line: 7, last_line: 7, first_column: 4, last_column: 32}
            }, "\r\n        ", {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 8, last_column: 18}
            }, "\r\n        ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_foreachExam",
                        path: [{type: "property", id: "count"}],
                        leader: "$"
                    }, {type: "references", id: "exams", path: [{type: "property", id: "length"}], leader: "$"}],
                    operator: "!="
                },
                pos: {first_line: 9, last_line: 9, first_column: 8, last_column: 49}
            }, "\r\n            &nbsp;&nbsp;;&nbsp;&nbsp;\r\n        "], "\r\n    "], "\r\n    </p>\r\n"], "\r\n", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "perTr",
                    path: [{type: "property", id: "similar-words"}],
                    leader: "$"
                },
                pos: {first_line: 15, last_line: 15, first_column: 0, last_column: 25}
            }, '\r\n    <p class="secondary">同义词：\r\n        ', {
                type: "set",
                equal: [{type: "references", id: "similarWords", leader: "$"}, {
                    type: "references",
                    id: "perTr",
                    path: [{type: "property", id: "similar-words"}],
                    leader: "$"
                }],
                pos: {first_line: 17, last_line: 17, first_column: 8, last_column: 50}
            }, "\r\n        ", {
                type: "references",
                id: "_foreachSimilar",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 8, last_column: 33}
            }, "\r\n        ", [{
                type: "foreach",
                to: "perSimilarWord",
                from: {type: "references", id: "similarWords", leader: "$"},
                pos: {first_line: 19, last_line: 19, first_column: 8, last_column: 50}
            }, '\r\n            <a class="clickable js-inline-clickable" href="javascript:void(0);">', {
                type: "references",
                id: "perSimilarWord",
                path: [{type: "property", id: "similar"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 80, last_column: 103}
            }, "<", "/a>\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_foreachSimilar",
                        path: [{type: "property", id: "count"}],
                        leader: "$"
                    }, {type: "references", id: "similarWords", path: [{type: "property", id: "length"}], leader: "$"}],
                    operator: "!="
                },
                pos: {first_line: 21, last_line: 21, first_column: 12, last_column: 63}
            }, '\r\n                <span class="grey">&nbsp;&nbsp;/&nbsp;&nbsp;</span>\r\n            '], "\r\n        "], "\r\n    </p>\r\n"], "\r\n"], "\r\n\r\n", [{
                type: "macro",
                id: "list",
                pos: {first_line: 29, last_line: 29, first_column: 0, last_column: 12}
            }, "\r\n<ul>\r\n    ", {
                type: "set",
                equal: [{type: "references", id: "allTrsArr", leader: "$"}, {
                    type: "references",
                    id: "word",
                    path: [{type: "method", id: "gettrs", args: !1}],
                    leader: "$"
                }],
                pos: {first_line: 31, last_line: 31, first_column: 4, last_column: 38}
            }, "\r\n    ", [{
                type: "foreach",
                to: "trsArr",
                from: {type: "references", id: "allTrsArr", leader: "$"},
                pos: {first_line: 32, last_line: 32, first_column: 4, last_column: 35}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "perTrs", leader: "$"}, {
                    type: "references",
                    id: "trsArr",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 33, last_line: 33, first_column: 8, last_column: 34}
            }, "\r\n        <li>\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "math",
                        expression: [{
                            type: "math",
                            expression: [{
                                type: "references",
                                id: "trsArr",
                                path: [{type: "property", id: "pos"}],
                                leader: "$"
                            }],
                            operator: "not"
                        }],
                        operator: "not"
                    }, {
                        type: "math",
                        expression: [{
                            type: "references",
                            id: "trsArr",
                            path: [{type: "property", id: "pos"}],
                            leader: "$"
                        }, {type: "string", value: ""}],
                        operator: "!="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 35, last_line: 35, first_column: 12, last_column: 52}
            }, '\r\n                <span class="title">', {
                type: "references",
                id: "trsArr",
                path: [{type: "property", id: "pos"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 36, last_line: 36, first_column: 36, last_column: 47}
            }, "<", "/span>\r\n            "], "\r\n            <ul>\r\n                ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 39, last_line: 39, first_column: 16, last_column: 34}
            }, "\r\n                ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "perTrs", leader: "$"},
                pos: {first_line: 40, last_line: 40, first_column: 16, last_column: 43}
            }, '\r\n                    <li class="cols-layout">\r\n                        ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perTrs",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: "<="
                },
                pos: {first_line: 42, last_line: 42, first_column: 24, last_column: 49}
            }, '\r\n                            <div class="col2">\r\n                                ', {
                type: "macro_call",
                id: "everyTR",
                args: [{type: "references", id: "perTr", leader: "$"}],
                pos: {first_line: 44, last_line: 44, first_column: 32, last_column: 48}
            }, "\r\n                            </div>\r\n                        ", {
                type: "else",
                pos: {first_line: 46, last_line: 46, first_column: 24, last_column: 29}
            }, "\r\n                            ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$"
                }],
                pos: {first_line: 47, last_line: 47, first_column: 28, last_column: 60}
            }, '\r\n                            <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 48, last_line: 48, first_column: 53, last_column: 59}
            }, ".", '</span>\r\n                            <div class="col2">\r\n                                ', {
                type: "macro_call",
                id: "everyTR",
                args: [{type: "references", id: "perTr", leader: "$"}],
                pos: {first_line: 50, last_line: 50, first_column: 32, last_column: 48}
            }, "\r\n                            </div>\r\n                        "], "\r\n                    </li>\r\n                "], "\r\n            </ul>\r\n        </li>\r\n    "], "\r\n</ul>\r\n"], '\r\n\r\n<div class="trans-container ee">\r\n    ', {
                type: "set",
                equal: [{type: "references", id: "eng", leader: "$"}, {
                    type: "references",
                    id: "word",
                    path: [{type: "method", id: "_getHeadword", args: !1}],
                    leader: "$"
                }],
                pos: {first_line: 62, last_line: 62, first_column: 4, last_column: 37}
            }, "\r\n    <h4>\r\n        ", {
                type: "references",
                id: "word",
                path: [{type: "method", id: "_getHTMLValidText", args: [{type: "references", id: "eng", leader: "$"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 64, last_line: 64, first_column: 8, last_column: 37}
            }, "\r\n        ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "word",
                        path: [{type: "property", id: "phone"}],
                        leader: "$"
                    }, {
                        type: "math",
                        expression: [{
                            type: "references",
                            id: "word",
                            path: [{type: "property", id: "phone"}],
                            leader: "$"
                        }, {type: "string", value: "", isEval: !0}],
                        operator: "!="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 65, last_line: 65, first_column: 8, last_column: 46}
            }, '\r\n            <span class= "phonetic">[', {
                type: "references",
                id: "word",
                path: [{type: "property", id: "phone"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 66, last_line: 66, first_column: 37, last_column: 48}
            }, "]", "</span>\r\n        "], "\r\n    </h4>\r\n    ", {
                type: "macro_call",
                id: "list",
                pos: {first_line: 69, last_line: 69, first_column: 4, last_column: 11}
            }, '\r\n    <p class="secondary source">\r\n        以上来源于:\r\n        <a class="clickable" data-4log="', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 72, last_line: 72, first_column: 40, last_column: 52}
            }, '"', ' target="_blank" href="', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "url"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 72, last_line: 72, first_column: 76, last_column: 87}
            }, '"', ' rel="nofollow">', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 72, last_line: 72, first_column: 104, last_column: 116}
            }, "<", "/a>\r\n    </p>\r\n    <!-- 英英翻译结束 -->\r\n</div>\r\n"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/example-typos/example-typos", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return r.vm(['<div class="trans-container typos">\r\n    <div class="error-typo">\r\n        <h4>您是不是要找：</h4>\r\n        ', [{
                type: "foreach",
                to: "_typo",
                from: {type: "references", id: "typo", leader: "$"},
                pos: {first_line: 4, last_line: 4, first_column: 8, last_column: 33}
            }, '\r\n            <p class="typo-rel">\r\n                <a class="title js-lj-inline-word" data-query="', {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "word"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 63, last_column: 77}
            }, '">', {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "word"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 79, last_column: 93}
            }, "</a> ：\r\n                ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "_typo",
                    path: [{type: "property", id: "trans"}],
                    isWraped: !0,
                    leader: "$!"
                },
                pos: {first_line: 7, last_line: 7, first_column: 16, last_column: 36}
            }, "\r\n                    ", {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "trans"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 20, last_column: 35}
            }, "\r\n                "], "\r\n            </p>\r\n        "], "\r\n    </div>\r\n</div>\r\n\r\n"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/example-typos-tip/example-typos-tip", function (e, t, n) {
    var r = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    n.exports = {
        render: function (e) {
            return r.vm(['<div class="trans-container typos">\r\n    <div class="error-typo">\r\n        <h4>您是不是要找：</h4>\r\n        ', [{
                type: "foreach",
                to: "_typo",
                from: {type: "references", id: "typo", leader: "$"},
                pos: {first_line: 4, last_line: 4, first_column: 8, last_column: 33}
            }, '\r\n          <p class="typo-rel">\r\n              <a class="title js-lj-inline-word" data-query="', {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "word"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 61, last_column: 75}
            }, '" >', {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "word"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 78, last_column: 92}
            }, "</a> ：", {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "trans"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 98, last_column: 113}
            }, "\r\n          </p>\r\n        "], "\r\n    </div>\r\n</div>\r\n"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/example_correction_type/example_correction_type", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<a href="#" class="js-example-type typos-tip" data-type="', htmlCode += _data.type, htmlCode += '">\n    <span class="', htmlCode += _data.type, htmlCode += '-typos-title">', htmlCode += _data.chrInput, htmlCode += '</span>\n    <p class="description">', htmlCode += _data.description, htmlCode += "</p>\n</a>";
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/example_local_noresult/example_local_noresult", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container offline-noResult example-offline-noResult" >\n    <img src="./src/images/offline_noResult.png">\n    <ul>\n        <li>抱歉离线模式下不能使用例句功能，请查看您的网络连接或代理设置。</li>\n    </ul>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/example_local_result/example_local_result", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container example-offline" >', _data.error && (htmlCode += '\n    <p class="net-error">目前无法连接服务器，请检查您的网络连接或者查看 <a class="clickable" href="http://cidian.youdao.com/help.jsp" target="_blank">FAQ页面</a> 。 </p>'), htmlCode += "\n</div>";
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/example_network_error/example_network_error", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container offline-noResult example-offline-noResult" >\n    <img src="./src/images/offline_noResult.png">\n    <ul>\n        <li>抱歉离线模式下不能使用例句功能，请查看您的网络连接或代理设置。</li>\n        <li>离线使用例句功能，请下载有道词典本地增强版<br><a class="clickable" target="_blank" href="http://cidian.youdao.com/zengqiang">点击下载&gt;&gt;</a></li>\n    </ul>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/example_welcome/example_welcome", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="example-startpage">\n    <img src="./src/images/example-welcome.png">\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/fanyi/fanyi", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {_foreach: Object.create(utils._foreach)});
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container fanyi">\n    <p id="r-orgin-t">', htmlCode += tpHelper.html.escape(_data.input || ""), htmlCode += "</p>\n    <p>", htmlCode += _data.tran || "", htmlCode += '</p>\n    <p class="additional">以上翻译结果来自<a class="clickable" href="javascript:;" id="goTrans">机器翻译</a>，仅供参考。<a href="http://i.youdao.com/?p=4263/" title="了解机器翻译" target="_blank" class="need-help sp"></a></p>\n    <p class="additional">快速获取精准、人工翻译服务，建议选择有道 <a class="doctor-trans" href="http://f.youdao.com/?vendor=deskdict.noresult" target="_blank">人工翻译</a></p>\n</div>';
            return htmlCode
        }, init: function () {
            $("#goTrans").click(function () {
                var e = $("#r-orgin-t").text();
                window.search("trans", [e, 0], "deskdict.app_link")
            })
        }
    }
});
define("/output/fc/fc", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(n._foreach), getOnlineStatus: function () {
                    return global.status.online
                }
            }), i.vm(['<div class="trans-container fc">\r\n    ', [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 31}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 36}
            }, '\r\n        <h2 class="wordbook-js">\r\n            <span class="keyword">\r\n                ', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 16, last_column: 45}
            }, '\r\n            </span>\r\n            <a href="javascript:void(0);" id="wordbook" class="sp add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\r\n            ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 9, last_line: 9, first_column: 12, last_column: 35}
            }, '\r\n                <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n            '], '\r\n            <div class="baav">\r\n                  ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perWord",
                        path: [{type: "property", id: "phone"}],
                        leader: "$"
                    }, {type: "references", id: "getOnlineStatus", leader: "$", args: !1}],
                    operator: "&&"
                },
                pos: {first_line: 13, last_line: 13, first_column: 18, last_column: 59}
            }, '\r\n                      <span class="pronounce">\r\n                          ', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 26, last_column: 55}
            }, '<span class="phonetic">[', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 79, last_column: 96}
            }, ']</span>\r\n                          <a href="', "#", '" title="真人发音"  role="dict_audio_js" class=" word-speech sp dictvoice voice-js js-ctlog"\r\n                             data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 17, last_line: 17, first_column: 78, last_column: 96}
            }, '" data-ctype="dict.basic.fc.voice"></a>\r\n                      </span>\r\n                  '], "\r\n                  ", [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 20, last_line: 20, first_column: 18, last_column: 41}
            }, '\r\n                      <span class="global_voice" id="global_voice_span">\r\n                      <a id="global_voice" href="javascript:void(0)" title="全球发音"\r\n                       class="global-voice-icon js-ctlog" data-word="', {
                type: "references",
                id: "_word",
                path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                    type: "property",
                    id: "i"
                }],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 23, last_line: 23, first_column: 69, last_column: 96}
            }, '"\r\n                       data-ctype="target=global_voice_button"></a>&nbsp;全球发音\r\n                      </span>\r\n                  '], "\r\n             </div>\r\n        </h2>\r\n        <ul>\r\n            ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 30, last_line: 30, first_column: 12, last_column: 39}
            }, "\r\n                ", [{
                type: "foreach",
                to: "eTr",
                from: {type: "references", id: "perTr", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 31, last_line: 31, first_column: 16, last_column: 43}
            }, "\r\n                    <li>\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "perTr", path: [{type: "property", id: "pos"}], leader: "$"},
                pos: {first_line: 33, last_line: 33, first_column: 24, last_column: 39}
            }, "\r\n                            <span>[", {
                type: "references",
                id: "perTr",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 35, last_column: 48}
            }, "]</span>\r\n                        "], "\r\n                        ", {
                type: "references",
                id: "eTr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 36, last_line: 36, first_column: 24, last_column: 32}
            }, "\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "perTr", path: [{type: "property", id: "pluriel"}], leader: "$"},
                pos: {first_line: 37, last_line: 37, first_column: 24, last_column: 43}
            }, '\r\n                            <p class="secondary">复数形式：', {
                type: "references",
                id: "perTr",
                path: [{type: "property", id: "pluriel"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 38, last_line: 38, first_column: 54, last_column: 68}
            }, "<", "/p>\r\n                        "], "\r\n                    </li>\r\n                "], "\r\n            "], "\r\n        </ul>\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/global_voice/global_voice", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _getSexName: function (e) {
                    return "m" == e ? "男士" : "女士"
                }, _foreach: Object.create(n._foreach), _getCount: function (e) {
                    return e.length
                }, _addCount: function (e) {
                    return e + 1
                }, _replaceSpace: function (e) {
                    return e.replace(/\s*/g, "-")
                }
            }), i.vm(['<div id="global_voice_panel">\r\n    <p class="title">全球发音<a class="dict-icon-close js-global-close" role="stop_dict_audio_js">X</a></p>\r\n    <div class="panel-wrapper">\r\n        <div class="panel-content">\r\n            <div class="top_word">\r\n                <span class="keyword" id="lang_headword">', {
                type: "references",
                id: "attributes",
                path: [{type: "property", id: "headword"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 57, last_column: 79}
            }, '</span>\r\n                <span class="source-description">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "attributes",
                        path: [{type: "property", id: "source"}],
                        isWraped: !0,
                        leader: "$"
                    }, {type: "string", value: "English", isEval: !0}],
                    operator: "!="
                },
                pos: {first_line: 8, last_line: 8, first_column: 20, last_column: 58}
            }, "\r\n                        该词汇来源于", {
                type: "references",
                id: "attributes",
                path: [{type: "property", id: "source_zh"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 9, last_line: 9, first_column: 30, last_column: 53}
            }, "\r\n                    "], '\r\n                </span>\r\n            </div>\r\n            <div class="user-contribute">\r\n                <span class="num">', {
                type: "references",
                id: "attributes",
                path: [{type: "property", id: "total"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 34, last_column: 53}
            }, "</span>个用户贡献了发音\r\n            </div>\r\n            ", [{
                type: "foreach",
                to: "lang",
                from: {type: "references", id: "items", leader: "$"},
                pos: {first_line: 16, last_line: 16, first_column: 12, last_column: 37}
            }, '\r\n            <div class="language hide-list" id="lang_', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 17, last_line: 17, first_column: 53, last_column: 65}
            }, "_", {
                type: "references",
                id: "_replaceSpace",
                leader: "$",
                args: [{
                    type: "references",
                    id: "lang",
                    path: [{type: "property", id: "headword"}],
                    isWraped: !0,
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 17, last_line: 17, first_column: 66, last_column: 98}
            }, '"', '>\r\n                <div class="column-head">\r\n                    <h3>', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang-zh"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 19, last_line: 19, first_column: 24, last_column: 39}
            }, "\r\n                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "lang",
                        path: [{type: "property", id: "headword"}],
                        isWraped: !0,
                        leader: "$"
                    }, {
                        type: "references",
                        id: "attributes",
                        path: [{type: "property", id: "headword"}],
                        isWraped: !0,
                        leader: "$"
                    }],
                    operator: "!="
                },
                pos: {first_line: 20, last_line: 20, first_column: 20, last_column: 67}
            }, '\r\n                        <span class="headword">', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "headword"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 21, last_line: 21, first_column: 47, last_column: 63}
            }, "</span>\r\n                    "], '\r\n                    </h3>\r\n                </div>\r\n                <ul class="voice-list">\r\n                    ', {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 26, last_line: 26, first_column: 20, last_column: 38}
            }, "\r\n                    ", [{
                type: "foreach",
                to: "voice",
                from: {type: "references", id: "lang", path: [{type: "property", id: "voices"}], leader: "$"},
                pos: {first_line: 27, last_line: 27, first_column: 20, last_column: 52}
            }, "\r\n                    <li ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_foreach",
                        path: [{type: "property", id: "count"}],
                        isWraped: !0,
                        leader: "$!"
                    }, {type: "integer", value: "3"}],
                    operator: ">"
                },
                pos: {first_line: 28, last_line: 28, first_column: 24, last_column: 51}
            }, ' class="collaps" '], ' >\r\n                        <a href="', "#", '" title="真人发音" role="dict_audio_js"\r\n                           data-rel="', {
                type: "references",
                id: "getVoiceUrl",
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 30, last_line: 30, first_column: 37, last_column: 51}
            }, {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "voiceId_str"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 30, last_line: 30, first_column: 51, last_column: 71}
            }, '" class="dictvoice word-speech js-ctlog js-hover-ctlog"\r\n                           data-ctype="voice&lang=', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 31, last_line: 31, first_column: 50, last_column: 62}
            }, "&sex=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "sex"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 31, last_line: 31, first_column: 67, last_column: 79}
            }, "&nation=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "country"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 31, last_line: 31, first_column: 87, last_column: 103}
            }, "&votes=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "votes"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 31, last_line: 31, first_column: 110, last_column: 124}
            }, '"\r\n                           data-chtype="voice&lang=', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 32, last_line: 32, first_column: 51, last_column: 63}
            }, "&sex=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "sex"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 32, last_line: 32, first_column: 68, last_column: 80}
            }, "&nation=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "country"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 32, last_line: 32, first_column: 88, last_column: 104}
            }, "&votes=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "votes"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 32, last_line: 32, first_column: 111, last_column: 125}
            }, '"></a>\r\n                        <span class="sex">', {
                type: "references",
                id: "_getSexName",
                leader: "$",
                args: [{
                    type: "references",
                    id: "voice",
                    path: [{type: "property", id: "sex"}],
                    isWraped: !0,
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 33, last_line: 33, first_column: 42, last_column: 68}
            }, "<", '/span>\r\n                        <span class="country">', {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "country_zh"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 46, last_column: 65}
            }, '</span>\r\n                            <span class="right-part">\r\n                                <span class="vote-num" id="vote_num_', {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "voiceId_str"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 36, last_line: 36, first_column: 68, last_column: 88}
            }, '">', {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "votes"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 36, last_line: 36, first_column: 90, last_column: 104}
            }, '</span>\r\n                                <span class="ticket">票</span>\r\n                                <span class="finger-wrapper hide-btn">\r\n                                    <span class="finger" data-voiceid="', {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "voiceId_str"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 39, last_line: 39, first_column: 71, last_column: 91}
            }, '">\r\n                                        <a href="', "#", '" class="finger-up js-ctlog" data-lang="', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 90, last_column: 102}
            }, '" data-type="1"\r\n                                           data-ctype="votes&lang=', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 41, last_line: 41, first_column: 66, last_column: 78}
            }, "&sex=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "sex"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 41, last_line: 41, first_column: 83, last_column: 95}
            }, "&nation=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "country"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 41, last_line: 41, first_column: 103, last_column: 119}
            }, "&votes=", {
                type: "references",
                id: "_addCount",
                leader: "$",
                args: [{
                    type: "references",
                    id: "voice",
                    path: [{type: "property", id: "votes"}],
                    isWraped: !0,
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 41, last_line: 41, first_column: 126, last_column: 152}
            }, '"', '></a>\r\n                                        <a href="', "#", '" class="finger-down js-ctlog" data-lang="', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 42, last_line: 42, first_column: 92, last_column: 104}
            }, '" data-type="0"\r\n                                           data-ctype="oppose&lang=', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 43, last_line: 43, first_column: 67, last_column: 79}
            }, "&sex=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "sex"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 43, last_line: 43, first_column: 84, last_column: 96}
            }, "&nation=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "country"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 43, last_line: 43, first_column: 104, last_column: 120}
            }, "&oppose=", {
                type: "references",
                id: "_addCount",
                leader: "$",
                args: [{
                    type: "references",
                    id: "voice",
                    path: [{type: "property", id: "oppose"}],
                    isWraped: !0,
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 43, last_line: 43, first_column: 128, last_column: 155}
            }, '"', '></a>\r\n                                        <a href="', "#", '" class="share js-ctlog" data-ctype="share&lang=', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 44, last_line: 44, first_column: 98, last_column: 110}
            }, "&sex=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "sex"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 44, last_line: 44, first_column: 115, last_column: 127}
            }, "&nation=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "country"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 44, last_line: 44, first_column: 135, last_column: 151}
            }, "&votes=", {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "votes"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 44, last_line: 44, first_column: 158, last_column: 172}
            }, '"></a>\r\n                                        <ul class="select-options share-options" data-headword="', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "headword"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 45, last_line: 45, first_column: 96, last_column: 112}
            }, '"\r\n                                            data-country="', {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "country_zh"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 46, last_line: 46, first_column: 58, last_column: 77}
            }, '" data-voiceid="', {
                type: "references",
                id: "voice",
                path: [{type: "property", id: "voiceId_str"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 46, last_line: 46, first_column: 93, last_column: 113}
            }, '">\r\n                                            <li>\r\n                                                <a title="分享到新浪微博" id="sina" class="js-global-share-to share-to sina js-ctlog"\r\n                                                   data-ctype="全球发音_分享到新浪微博"\r\n                                                   data-share-type="sina" href="', "#", '"><span class="bar"></span>新浪微博</a>\r\n                                            </li>\r\n                                            <li>\r\n                                                <a title="分享到腾讯微博" id="tencent" class="js-global-share-to share-to tencent\r\n                                                 js-ctlog" data-ctype="全球发音_分享到腾讯微博"\r\n                                                   data-share-type="tencent" href="', "#", '"><span class="bar"></span>腾讯微博</a>\r\n                                            </li>\r\n                                            <li>\r\n                                                <a title="分享到网易微博" id="netease" class="js-global-share-to share-to netease\r\n                                                 js-ctlog" data-ctype="全球发音_分享到网易微博"\r\n                                                   data-share-type="netease" href="', "#", '"><span class="bar"></span>网易微博</a>\r\n                                            </li>\r\n                                            <li>\r\n                                                <a title="分享到人人网" id="renren" class="js-global-share-to share-to renren\r\n                                                 js-ctlog"  data-ctype="全球发音_分享到人人网"\r\n                                                   data-share-type="renren" href="', "#", '"><span class="bar"></span>人人网</a>\r\n                                            </li>\r\n                                            <li>\r\n                                                <a title="分享到QQ空间" id="qZone" class="js-global-share-to share-to qZone js-ctlog"\r\n                                                   data-ctype="全球发音_分享到QQ空间"\r\n                                                   data-share-type="qZone" href="', "#", '"><span class="bar"></span>QQ空间</a>\r\n                                            </li>\r\n                                        </ul>\r\n                                    </span>\r\n                                    <a href="', "#", '" class="scroll-btn"></a>\r\n                                </span>\r\n                            </span>\r\n                    </li>\r\n                    '], "\r\n                </ul>\r\n                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_getCount",
                        leader: "$",
                        args: [{type: "references", id: "lang", path: [{type: "property", id: "voices"}], leader: "$"}]
                    }, {type: "integer", value: "3"}],
                    operator: ">"
                },
                pos: {first_line: 80, last_line: 80, first_column: 16, last_column: 49}
            }, '\r\n                <a href="', "#", '" class="btn-show js-ctlog" data-listid="', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 81, last_line: 81, first_column: 67, last_column: 79}
            }, "_", {
                type: "references",
                id: "_replaceSpace",
                leader: "$",
                args: [{
                    type: "references",
                    id: "lang",
                    path: [{type: "property", id: "headword"}],
                    isWraped: !0,
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 81, last_line: 81, first_column: 80, last_column: 112}
            }, '"', '  data-type="', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 81, last_line: 81, first_column: 126, last_column: 138}
            }, '" data-ctype="showbtn&lang=', {
                type: "references",
                id: "lang",
                path: [{type: "property", id: "lang"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 81, last_line: 81, first_column: 165, last_column: 177}
            }, '">\r\n                        <span class="show-more-content">\r\n                            更多发音\r\n                        </span>\r\n                        <span class="show-less-content">\r\n                            收起\r\n                        </span>\r\n                    <span class="arr"></span>\r\n                </a>\r\n                '], "\r\n            </div>\r\n            "], '\r\n            <div class="foot_source js-ctlog" data-ctype="source_logo">\r\n                <span>全球发音数据来自于</span>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n']).render(e)
        }, init: function () {
        }
    }
});
define("/output/hh/hh", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(n._foreach),
                _foreachWord: Object.create(n._foreach),
                _getExam: function (e) {
                    var t = e.map(function (e) {
                        return "object" == typeof e ? "<b>" + e["#text"] + "</b>" : e
                    });
                    return t.join("")
                }
            }), i.vm([[{
                type: "macro",
                id: "list",
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 12}
            }, "\r\n    ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 31}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "orderWord", leader: "$"}, {
                    type: "references",
                    id: "_foreachWord",
                    path: [{type: "property", id: "count"}],
                    leader: "$"
                }],
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 47}
            }, "\r\n    <h4>\r\n        ", {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "key"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 8, last_column: 27}
            }, "\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 6, last_line: 6, first_column: 8, last_column: 27}
            }, "\r\n            <small>[", {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 20, last_column: 37}
            }, "]</small>\r\n        "], "\r\n    </h4>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "trs"}, {type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 10, last_line: 10, first_column: 8, last_column: 39}
            }, "\r\n        ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 8, last_column: 26}
            }, "\r\n    ", "<ul>\r\n        ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 13, last_line: 13, first_column: 8, last_column: 36}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    leader: "$"
                }],
                pos: {first_line: 14, last_line: 14, first_column: 12, last_column: 42}
            }, '\r\n            <li class="cols-layout">\r\n                <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 41, last_column: 47}
            }, ".", '</span>\r\n\r\n                <div class="col2">\r\n                    <p>', {
                type: "references",
                id: "perTr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 19, last_line: 19, first_column: 23, last_column: 33}
            }, "<", "/p>\r\n                    ", [{
                type: "if",
                condition: {type: "references", id: "perTr", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 20, last_line: 20, first_column: 20, last_column: 36}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "allExams", leader: "$"}, {
                    type: "references",
                    id: "perTr",
                    path: [{type: "property", id: "exam"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                pos: {first_line: 21, last_line: 21, first_column: 24, last_column: 55}
            }, "\r\n                        ", [{
                type: "foreach",
                to: "perExam",
                from: {type: "references", id: "allExams", leader: "$"},
                pos: {first_line: 22, last_line: 22, first_column: 24, last_column: 55}
            }, "\r\n                            ", {
                type: "set",
                equal: [{type: "references", id: "perExamItem", leader: "$"}, {
                    type: "references",
                    id: "perExam",
                    path: [{type: "property", id: "n"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                pos: {first_line: 23, last_line: 23, first_column: 28, last_column: 63}
            }, '\r\n                            <p class="secondary">', {
                type: "references",
                id: "_getExam",
                leader: "$",
                args: [{type: "references", id: "perExamItem", leader: "$"}],
                prue: !0,
                pos: {first_line: 24, last_line: 24, first_column: 49, last_column: 72}
            }, "<", "/p>\r\n                        "], "\r\n                    "], "\r\n                </div>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n    "], "\r\n"], '\r\n\r\n<div class="trans-container hh">\r\n    ', {
                type: "macro_call",
                id: "list",
                pos: {first_line: 35, last_line: 35, first_column: 4, last_column: 11}
            }, "\r\n    ", [{
                type: "if",
                condition: {type: "references", id: "source", leader: "$"},
                pos: {first_line: 36, last_line: 36, first_column: 4, last_column: 16}
            }, '\r\n        <p class="secondary source">以上来源于：', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 37, last_line: 37, first_column: 42, last_column: 54}
            }, "<", "/p>\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/indexpageAds/indexpageAds", function (e, t, r) {
    e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper");
    r.exports = {
        render: function () {
        }, init: function () {
        }
    }
});
define("/output/infomation_stream/infomation_stream", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _getCurrentData: function (e, t, r) {
                    for (var n = [], i = r * t - 1, s = t * (r - 1), o = s; o < e.length; o++)o <= i && n.push(e[o]);
                    return n
                }, _isFirstPage: function (e) {
                    if (1 == e)return !0
                }, _isLastPage: function (e, t) {
                    if (e == t)return !0
                }, _isOnlyOnePage: function (e) {
                    if (1 == e)return !0
                }, _getTopData: function (e) {
                    var t = e[e.length - 1].newDate || e[e.length - 1].curDate;
                    for (var r in e)if ("oral-pk" === e[r].style)return [e[r], t];
                    return null
                }
            });
            var htmlCode = "";
            with (_data || {})!function (e) {
                if (e.id) {
                    var t = "head" === e.style ? "http://xue.youdao.com/w" : e.url || "http://xue.youdao.com/zx/", r = t.indexOf("xue.youdao.com/sw/m/") !== -1 || t.indexOf("xue.youdao.com/zx/") !== -1 || t.indexOf("dg.youdao.com/index.php") !== -1 || t.indexOf("xue.youdao.com/w") !== -1 ? "false" : "true";
                    htmlCode += '\r\n    <!-- asd -->\r\n    <div id="item-', htmlCode += e.id, htmlCode += '" data-time="', htmlCode += e.time, htmlCode += '" data-isbrower="', htmlCode += r, htmlCode += '" class="style-', htmlCode += e.style, htmlCode += ' water-card js-vista">\r\n        <a class="info_log_js" target="_blank" data-type="', htmlCode += e.style, htmlCode += '"\r\n           href="', htmlCode += t, htmlCode += '" >\r\n            <div class="img-mod card-default">';
                    var n = e["image-desk2"] || "";
                    htmlCode += '\r\n                <img class="stream-img" data-src="', htmlCode += n, htmlCode += '" src="./src/styles/icon/grey.png">\r\n                <span class="', htmlCode += e.style, htmlCode += "-card text", htmlCode += e.type.length, htmlCode += ' card-title">', htmlCode += e.type, htmlCode += '</span>\r\n            </div>\r\n            <div class="content-mod">\r\n                <p class="list-part p1  js-contextmenu-free">\r\n                    <span data-type="', htmlCode += e.style, htmlCode += '" >', htmlCode += e.title ? e.title : "", htmlCode += '\r\n                    </span>\r\n                </p>\r\n                <p class="list-part p2 js-contextmenu-free">', htmlCode += e.summary ? e.summary : "", htmlCode += '\r\n                </p>\r\n                <p class="list-part p3">\r\n                    ', "true" == r ? htmlCode += '\r\n                         <span class="card-brower"></span>' : e.showlike ? (htmlCode += '\r\n                            <span class="card-like"></span><span class="count">', htmlCode += e.like || 0, htmlCode += "</span>") : e.showcomment && (htmlCode += '\r\n                             <span class="card-comment"></span><span class="count">', htmlCode += e.comment || 0, htmlCode += "</span>"), htmlCode += "\r\n                </p>\r\n            </div>\r\n        </a>\r\n    </div>"
                }
            }(_data);
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/jc/jc", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(n._foreach),
                _foreachTr: Object.create(n._foreach),
                _isObjectPro: function (e) {
                    return e === Object(e)
                },
                _getExam: function (e) {
                    for (var t = "", r = 0; r < e.length; r++)t += this._isObjectPro(e[r]) && (e[r]["#text"] || e[r]["@action"]) ? "<strong>" + e[r]["#text"].toString() + "</strong>" : null === e[r] ? "" : e[r];
                    return t
                },
                getOnlineStatus: function () {
                    return global.status.online
                }
            }), i.vm([[{
                type: "macro",
                id: "showPerTrs",
                args: [{type: "references", id: "perTr", leader: "$"}],
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 25}
            }, "\r\n    ", [{
                type: "if",
                condition: {type: "references", id: "perTr", path: [{type: "property", id: "pos"}], leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 19}
            }, "\r\n    <span>[", {
                type: "references",
                id: "perTr",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 3, last_line: 3, first_column: 11, last_column: 24}
            }, "]</span>\r\n    "], "\r\n<ul>\r\n    ", {
                type: "references",
                id: "_foreachTr",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 4, last_column: 24}
            }, "\r\n    ", [{
                type: "foreach",
                to: "eTr",
                from: {type: "references", id: "perTr", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 7, last_line: 7, first_column: 4, last_column: 31}
            }, '\r\n        <li class="cols-layout">\r\n            ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perTr",
                        path: [{type: "property", id: "tr"}, {type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: ">"
                },
                pos: {first_line: 9, last_line: 9, first_column: 12, last_column: 37}
            }, '\r\n                <span class="col1">', {
                type: "references",
                id: "_foreachTr",
                path: [{type: "property", id: "count"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 35, last_column: 52}
            }, ".", "</span>\r\n            "], '\r\n            <div class="col2">\r\n                <p>', {
                type: "references",
                id: "eTr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 13, last_line: 13, first_column: 19, last_column: 27}
            }, "<", "/p>\r\n                ", [{
                type: "if",
                condition: {type: "references", id: "eTr", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 14, last_line: 14, first_column: 16, last_column: 30}
            }, '\r\n                    <div class="col2 cols-layout">\r\n                        <span class="col1 colExam">例证：</span>\r\n                        <ul  class=" col2 secondary">\r\n                            ', [{
                type: "foreach",
                to: "perExam",
                from: {
                    type: "references",
                    id: "eTr",
                    path: [{type: "property", id: "exam"}, {type: "property", id: "i"}],
                    leader: "$"
                },
                pos: {first_line: 18, last_line: 18, first_column: 28, last_column: 61}
            }, "\r\n                                <li>\r\n                                    <span>", {
                type: "references",
                id: "_getExam",
                leader: "$",
                args: [{
                    type: "references",
                    id: "perExam",
                    path: [{type: "property", id: "f"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 42, last_column: 67}
            }, "<", "/span> / <span>", {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "n"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 20, last_line: 20, first_column: 83, last_column: 97}
            }, "<", "/span>\r\n                                </li>\r\n                            "], "\r\n                        </ul>\r\n                    </div>\r\n                "], "\r\n            </div>\r\n        </li>\r\n    "], "\r\n</ul>\r\n"], '\r\n<div class="trans-container jc">\r\n    <h2>\r\n        <span class="keyword">\r\n            ', {
                type: "references",
                id: "word",
                path: [{type: "index", id: {type: "integer", value: "0"}}, {
                    type: "property",
                    id: "return-phrase"
                }, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 12, last_column: 41}
            }, '\r\n        </span>\r\n        <a href="javascript:void(0);" id="wordbook" class="sp add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\r\n        ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 37, last_line: 37, first_column: 8, last_column: 31}
            }, '\r\n            <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n        '], "\r\n    </h2>\r\n    ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 41, last_line: 41, first_column: 4, last_column: 31}
            }, "\r\n        <h4>", {
                type: "references",
                id: "perWord",
                path: [{type: "index", id: {type: "string", value: "return-phrase"}}, {
                    type: "property",
                    id: "l"
                }, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 42, last_line: 42, first_column: 12, last_column: 41}
            }, "\r\n            ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "phonesup"}], leader: "$"},
                pos: {first_line: 43, last_line: 43, first_column: 12, last_column: 34}
            }, "\r\n                <sup>", {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "phonesup"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 44, last_line: 44, first_column: 21, last_column: 41}
            }, "</sup>\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perWord",
                        path: [{type: "property", id: "speech"}],
                        leader: "$"
                    }, {type: "references", id: "getOnlineStatus", leader: "$", args: !1}],
                    operator: "&&"
                },
                pos: {first_line: 46, last_line: 46, first_column: 12, last_column: 54}
            }, '\r\n                <span class="pronounce">\r\n                    <a href="', "#", '" title="真人发音" role=\'dict_audio_js\'\r\n                           data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 49, last_line: 49, first_column: 76, last_column: 94}
            }, '"\r\n                           class="dictvoice  word-speech voice-js js-ctlog" data-ctype="dict.basic.jc.voice"></a>\r\n                </span>\r\n            '], "\r\n            ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "origin"}], leader: "$"},
                pos: {first_line: 53, last_line: 53, first_column: 12, last_column: 32}
            }, '\r\n                <span class="origin">【', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "origin"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 54, last_line: 54, first_column: 38, last_column: 56}
            }, "】</span>\r\n            "], "\r\n        </h4>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 57, last_line: 57, first_column: 8, last_column: 36}
            }, "\r\n        ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 58, last_line: 58, first_column: 8, last_column: 26}
            }, "\r\n        ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 59, last_line: 59, first_column: 8, last_column: 35}
            }, '\r\n            <ul>\r\n                <li class="cols-layout">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "allTrs",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: ">"
                },
                pos: {first_line: 62, last_line: 62, first_column: 20, last_column: 43}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 63, last_line: 63, first_column: 24, last_column: 57}
            }, '\r\n                        <span class="col1">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 64, last_line: 64, first_column: 43, last_column: 49}
            }, ".", "</span>\r\n                    "], '\r\n                        <div class="col2">', {
                type: "macro_call",
                id: "showPerTrs",
                args: [{type: "references", id: "perTr", leader: "$"}],
                pos: {first_line: 66, last_line: 66, first_column: 42, last_column: 61}
            }, "</div>\r\n                </li>\r\n            </ul>\r\n        "], "\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/kc/kc", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(n._foreach),
                _foreachTr: Object.create(n._foreach),
                joinArray: function (e) {
                    return e.join(" ")
                },
                _isObjectPro: function (e) {
                    return e === Object(e)
                },
                _getExam: function (e) {
                    for (var t = "", r = 0; r < e.length; r++)t += this._isObjectPro(e[r]) && (e[r]["#text"] || e[r]["@action"]) ? "<strong>" + e[r]["#text"].toString() + "</strong>" : null === e[r] ? "" : e[r];
                    return t
                },
                getOnlineStatus: function () {
                    return global.status.online
                }
            }), i.vm([[{
                type: "macro",
                id: "showPerTrs",
                args: [{type: "references", id: "perTr", leader: "$"}],
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 25}
            }, "\r\n", [{
                type: "if",
                condition: {type: "references", id: "perTr", path: [{type: "property", id: "pos"}], leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 0, last_column: 15}
            }, "\r\n<span>[", {
                type: "references",
                id: "perTr",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 3, last_line: 3, first_column: 7, last_column: 20}
            }, "]</span>\r\n"], "\r\n<ul>\r\n    ", {
                type: "references",
                id: "_foreachTr",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 4, last_column: 24}
            }, "\r\n    ", [{
                type: "foreach",
                to: "eTr",
                from: {type: "references", id: "perTr", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 7, last_line: 7, first_column: 4, last_column: 31}
            }, '\r\n        <li class="cols-layout">\r\n            ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perTr",
                        path: [{type: "property", id: "tr"}, {type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: ">"
                },
                pos: {first_line: 9, last_line: 9, first_column: 12, last_column: 37}
            }, '\r\n                <span class="col1 order">', {
                type: "references",
                id: "_foreachTr",
                path: [{type: "property", id: "count"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 41, last_column: 58}
            }, ".", "</span>\r\n            "], '\r\n            <div class="col2">\r\n                <p>', {
                type: "references",
                id: "eTr",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 13, last_line: 13, first_column: 19, last_column: 27}
            }, "<", "/p>\r\n                ", [{
                type: "if",
                condition: {type: "references", id: "eTr", path: [{type: "property", id: "exam"}], leader: "$"},
                pos: {first_line: 14, last_line: 14, first_column: 16, last_column: 30}
            }, "\r\n                    <ul>\r\n                        ", [{
                type: "foreach",
                to: "perExam",
                from: {
                    type: "references",
                    id: "eTr",
                    path: [{type: "property", id: "exam"}, {type: "property", id: "i"}],
                    leader: "$"
                },
                pos: {first_line: 16, last_line: 16, first_column: 24, last_column: 57}
            }, '\r\n                            <li class="secondary cols-layout">\r\n                                <span class="col1 colExam">用例：</span>\r\n                                <div class="col2">\r\n                                    <p>\r\n                                      ', {
                type: "references",
                id: "_getExam",
                leader: "$",
                args: [{
                    type: "references",
                    id: "perExam",
                    path: [{type: "property", id: "f"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 21, last_line: 21, first_column: 38, last_column: 63}
            }, "\r\n                                    ", "</p>\r\n                                    <p>", {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "n"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 23, last_line: 23, first_column: 39, last_column: 53}
            }, "<", "/p>\r\n                                </div>\r\n                            </li>\r\n                        "], "\r\n                    </ul>\r\n                "], "\r\n            </div>\r\n        </li>\r\n    "], "\r\n</ul>\r\n"], '\r\n<div class="trans-container kc">\r\n    <h2 class="wordbook-js">\r\n        <span class="keyword">\r\n            ', {
                type: "references",
                id: "word",
                path: [{type: "index", id: {type: "integer", value: "0"}}, {
                    type: "property",
                    id: "return-phrase"
                }, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 37, last_line: 37, first_column: 12, last_column: 41}
            }, '\r\n         </span>\r\n        <a href="javascript:void(0);" id="wordbook" class="sp add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\r\n        ', [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 40, last_line: 40, first_column: 8, last_column: 31}
            }, '\r\n            <a href="javascript:void(0);" id="errorTipDevotion" class="tipDevotion errorTip" title="报错">报错</a>\r\n        '], "\r\n    </h2>\r\n    ", {
                type: "set",
                equal: [{type: "references", id: "counts", leader: "$"}, {type: "integer", value: "1"}],
                pos: {first_line: 44, last_line: 44, first_column: 4, last_column: 21}
            }, "\r\n    ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "word", leader: "$"},
                pos: {first_line: 45, last_line: 45, first_column: 4, last_column: 31}
            }, "\r\n        <h4>", {
                type: "references",
                id: "perWord",
                path: [{type: "index", id: {type: "string", value: "return-phrase"}}, {
                    type: "property",
                    id: "l"
                }, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 46, last_line: 46, first_column: 12, last_column: 41}
            }, "\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{type: "references", id: "counts", leader: "$"}, {type: "integer", value: "1"}],
                    operator: "=="
                },
                pos: {first_line: 47, last_line: 47, first_column: 12, last_column: 29}
            }, "\r\n                ", [{
                type: "if",
                condition: {type: "references", id: "getOnlineStatus", leader: "$", args: !1},
                pos: {first_line: 48, last_line: 48, first_column: 16, last_column: 39}
            }, '\r\n                    <span class="pronounce">\r\n                      <a href="', "#", '" title="真人发音" role="dict_audio_js"\r\n                         class="sp  word-speech dictvoice voice-js js-ctlog"\r\n                         data-rel="http://dict.youdao.com/dictvoice?audio=', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "speech"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 52, last_line: 52, first_column: 74, last_column: 92}
            }, '"\r\n                         data-ctype="dict.basic.kc.voice"></a>\r\n                    </span>\r\n                 '], "\r\n            "], "\r\n        </h4>\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "counts", leader: "$"}, {
                    type: "math",
                    expression: [{type: "references", id: "counts", leader: "$"}, {type: "integer", value: "1"}],
                    operator: "+"
                }],
                pos: {first_line: 58, last_line: 58, first_column: 8, last_column: 36}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "allTrs", leader: "$"}, {
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 59, last_line: 59, first_column: 8, last_column: 36}
            }, "\r\n        ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 60, last_line: 60, first_column: 8, last_column: 26}
            }, "\r\n        ", [{
                type: "foreach",
                to: "perTr",
                from: {type: "references", id: "allTrs", leader: "$"},
                pos: {first_line: 61, last_line: 61, first_column: 8, last_column: 35}
            }, '\r\n            <ul>\r\n                <li class="cols-layout">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "allTrs",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: ">"
                },
                pos: {first_line: 64, last_line: 64, first_column: 20, last_column: 43}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 65, last_line: 65, first_column: 24, last_column: 57}
            }, '\r\n                        <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 66, last_line: 66, first_column: 49, last_column: 55}
            }, ".", "</span>\r\n                    "], '\r\n                    <div class="col2">', {
                type: "macro_call",
                id: "showPerTrs",
                args: [{type: "references", id: "perTr", leader: "$"}],
                pos: {first_line: 68, last_line: 68, first_column: 38, last_column: 57}
            }, "</div>\r\n                </li>\r\n            </ul>\r\n        "], "\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "syno"}], leader: "$"},
                pos: {first_line: 72, last_line: 72, first_column: 8, last_column: 26}
            }, '\r\n            <p class="secondary">同义词： ', {
                type: "references",
                id: "joinArray",
                leader: "$",
                args: [{
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "syno"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 73, last_line: 73, first_column: 38, last_column: 65}
            }, "<", "/p>\r\n        "], "\r\n        ", [{
                type: "if",
                condition: {type: "references", id: "perWord", path: [{type: "property", id: "deri"}], leader: "$"},
                pos: {first_line: 75, last_line: 75, first_column: 8, last_column: 26}
            }, '\r\n            <p class="secondary">衍生词： ', {
                type: "references",
                id: "joinArray",
                leader: "$",
                args: [{
                    type: "references",
                    id: "perWord",
                    path: [{type: "property", id: "deri"}, {type: "property", id: "i"}],
                    leader: "$"
                }],
                prue: !0,
                pos: {first_line: 76, last_line: 76, first_column: 38, last_column: 65}
            }, "<", "/p>\r\n        "], "\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/lang_err/lang_err", function (e, t, r) {
    var n = e("/lib/jquery"), i = (e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return i.vm(['<div class="trans-container lang_err"><div class="error-typo">\r\n    <h4>您的查询在<span class="js-typo-lang" data-lang="', {
                type: "references",
                id: "lang",
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 2, last_line: 2, first_column: 51, last_column: 59}
            }, '"></span>下没有结果，以下为<span class="js-typo-tarLang" data-tarlang="', {
                type: "references",
                id: "tarLang",
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 2, last_line: 2, first_column: 121, last_column: 132}
            }, '"></span>结果\r\n    </h4>\r\n    </div>\r\n</div>']).render(e)
        }, init: function () {
            !function () {
                var e = n(".js-typo-lang").data("lang"), t = n(".js-typo-tarLang").data("tarlang"), r = function (e) {
                    switch (e) {
                        case"fr":
                            return "汉法互译";
                        case"ko":
                            return "汉韩互译";
                        case"jap":
                            return "汉日互译";
                        case"eng":
                            return "汉英互译"
                    }
                };
                return n(".js-typo-lang").text(r(e)), n(".js-typo-tarLang").text(r(t)), !1
            }()
        }
    }
});
define("/output/media_sents/media_sents", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = n.mixin(e, {
                _getSpokenSens: function (e) {
                    return e.replace("</b>", "").replace("<b>", "").replace("<br>", "").replace("<br/>", "").replace(/\"|\"/g, "&quot;").replace(/\'|\'/g, "&apos;")
                }, _getEng: function (e) {
                    var t = e.replace("<br>", "").replace("<br/>", "");
                    return t
                }
            }), n.vm(['<div class="trans-container media_sents">\r\n    <ul>\r\n        ', [{
                type: "foreach",
                to: "perSent",
                from: {type: "references", id: "sent", leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 36}
            }, '\r\n            <li class="cols-layout">\r\n                <span class="col1 order">', {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 41, last_column: 57}
            }, '.</span>\r\n                <div class="col2">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perSent",
                        path: [{type: "index", id: {type: "string", value: "@mediatype"}}],
                        leader: "$"
                    }, {type: "string", value: "audio"}],
                    operator: "=="
                },
                pos: {first_line: 7, last_line: 7, first_column: 20, last_column: 56}
            }, "\r\n                        <p>\r\n                            ", {
                type: "references",
                id: "_getEng",
                leader: "$",
                args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 9, last_line: 9, first_column: 28, last_column: 50}
            }, "\r\n                            ", '<a class="sp humanvoice humanvoice-js js-ctlog" data-ctype="例句发音_真人"  role="dict_audio_js"  title="点击发音"\r\n                               href="javascript:;" data-rel="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 61, last_column: 99}
            }, '"', '\r\n                            ></a>\r\n                            <a href="javascript:;" title="口语练习"\r\n                                data-rel="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 14, last_line: 14, first_column: 42, last_column: 80}
            }, '"', '\r\n                                class="js-record spoken-record sentences_record js-ctlog"\r\n                                data-ctype="跟读_例句_原声例句"  data-format="audio"\r\n                                data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 17, last_line: 17, first_column: 48, last_column: 77}
            }, '"', ">跟读</a>\r\n                        </p>\r\n\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "perSent", path: [{type: "property", id: "chn"}], leader: "$"},
                pos: {first_line: 20, last_line: 20, first_column: 24, last_column: 41}
            }, "\r\n                            <p>", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "chn"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 21, last_line: 21, first_column: 31, last_column: 43}
            }, "<", "p>\r\n                        "], "\r\n\r\n                    ", {
                type: "elseif",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perSent",
                        path: [{type: "index", id: {type: "string", value: "@mediatype"}}],
                        leader: "$"
                    }, {type: "string", value: "video"}],
                    operator: "=="
                },
                pos: {first_line: 24, last_line: 24, first_column: 20, last_column: 60}
            }, "\r\n                        <p>", {
                type: "references",
                id: "_getEng",
                leader: "$",
                args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 25, last_line: 25, first_column: 27, last_column: 49}
            }, "\r\n                            ", '<a href="javascript:;" title="口语练习"\r\n                               data-rel="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "swf"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 27, last_line: 27, first_column: 41, last_column: 73}
            }, "?", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 27, last_line: 27, first_column: 74, last_column: 112}
            }, '"', '\r\n                               class="js-record spoken-record sentences_record js-ctlog"\r\n                               data-ctype="跟读_例句_视频"  data-format="video"\r\n                               data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 30, last_line: 30, first_column: 47, last_column: 76}
            }, '"', ">跟读</a>\r\n                        </p>\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "perSent", path: [{type: "property", id: "chn"}], leader: "$"},
                pos: {first_line: 32, last_line: 32, first_column: 24, last_column: 41}
            }, "\r\n                            <p>", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "chn"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 33, last_line: 33, first_column: 31, last_column: 43}
            }, "<", "p>\r\n                        "], '\r\n\r\n                        <div class="video-wrapper">\r\n                            <a class="play" role="dict_video_js_play"\r\n                               href="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "swf"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 38, last_line: 38, first_column: 37, last_column: 69}
            }, "?", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 38, last_line: 38, first_column: 70, last_column: 108}
            }, '"', '>\r\n                                <img src="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "imageUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 39, last_line: 39, first_column: 42, last_column: 79}
            }, '"', '\r\n                                     alt="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 42, last_column: 75}
            }, "中", '出现good的视频截图" title="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 96, last_column: 129}
            }, "的", '相关视频,点击播放" rel="nofollow">\r\n                                <span class="playicon"><img src="http://shared.ydstatic.com/dict/v5.13/images/play.png"></span>\r\n                            </a>\r\n                            <a href="', "#", '" class="close" role="dict_video_js_close" style="display: none;">关闭</a>\r\n                        </div>\r\n                    '], '\r\n                    <p class="secondary">\r\n                        ', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "source"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 47, last_line: 47, first_column: 24, last_column: 59}
            }, " ", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 47, last_line: 47, first_column: 60, last_column: 93}
            }, "\r\n                    ", "</p>\r\n                </div>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/media_sents_part/media_sents_part", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = n.mixin(e, {
                _getSpokenSens: function (e) {
                    var t = e.replace("<br>", "").replace("<br/>", "").replace("</b>", "").replace("<b>", "").replace(/\"|\"/g, "&quot;").replace(/\'|\'/g, "&apos;");
                    return t
                }, _getEng: function (e) {
                    var t = e.replace("<br>", "").replace("<br/>", "");
                    return t
                }
            }), n.vm(['<div class="trans-container media_sents_part">\r\n    <ul>\r\n        ', [{
                type: "foreach",
                to: "perSent",
                from: {type: "references", id: "sent", leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 36}
            }, '\r\n            <li class="cols-layout">\r\n                <span class="col1 order">', {
                type: "references",
                id: "foreach",
                path: [{type: "property", id: "count"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 41, last_column: 57}
            }, '.</span>\r\n                <div class="col2">\r\n                    ', [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perSent",
                        path: [{type: "index", id: {type: "string", value: "@mediatype"}}],
                        leader: "$"
                    }, {type: "string", value: "audio"}],
                    operator: "=="
                },
                pos: {first_line: 7, last_line: 7, first_column: 20, last_column: 56}
            }, "\r\n                        <p>\r\n                            ", {
                type: "references",
                id: "_getEng",
                leader: "$",
                args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 9, last_line: 9, first_column: 28, last_column: 50}
            }, "\r\n                            ", '<a class="sp humanvoice humanvoice-js js-ctlog" data-ctype="例句发音_真人" role="dict_audio_js"  title="点击发音"\r\n                               href="', "#", '" data-rel="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 50, last_column: 88}
            }, '"', "\r\n                            ></a>\r\n                            ", {
                type: "set",
                equal: [{type: "references", id: "spoken", leader: "$"}, {
                    type: "references",
                    id: "_getSpokenSens",
                    leader: "$",
                    args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}]
                }],
                pos: {first_line: 13, last_line: 13, first_column: 28, last_column: 73}
            }, '\r\n                            <a href="javascript:;" title="口语练习"\r\n                                data-rel="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 42, last_column: 80}
            }, '"', '\r\n                                class="js-record spoken-record sentences_record js-ctlog"\r\n                                data-ctype="跟读_例句_原声例句"  data-format="audio"\r\n                                data-sentences="', {
                type: "references",
                id: "spoken",
                leader: "$",
                prue: !0,
                pos: {first_line: 18, last_line: 18, first_column: 48, last_column: 55}
            }, '"', ">跟读</a>\r\n                        </p>\r\n\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "perSent", path: [{type: "property", id: "chn"}], leader: "$"},
                pos: {first_line: 21, last_line: 21, first_column: 24, last_column: 41}
            }, "\r\n                            <p>", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "chn"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 22, last_line: 22, first_column: 31, last_column: 43}
            }, "<", "p>\r\n                        "], "\r\n                        \r\n                    ", {
                type: "elseif",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perSent",
                        path: [{type: "index", id: {type: "string", value: "@mediatype"}}],
                        leader: "$"
                    }, {type: "string", value: "video"}],
                    operator: "=="
                },
                pos: {first_line: 25, last_line: 25, first_column: 20, last_column: 60}
            }, "\r\n                        <p>", {
                type: "references",
                id: "_getEng",
                leader: "$",
                args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 26, last_line: 26, first_column: 27, last_column: 49}
            }, "\r\n                            ", '<a href="javascript:;" title="口语练习"\r\n                               data-rel="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "swf"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 28, last_line: 28, first_column: 41, last_column: 73}
            }, "?", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 28, last_line: 28, first_column: 74, last_column: 112}
            }, '"', '\r\n                               class="js-record spoken-record sentences_record js-ctlog"\r\n                               data-ctype="跟读_例句_视频" data-format="video"\r\n                               data-sentences="', {
                type: "references",
                id: "_getSpokenSens",
                leader: "$",
                args: [{type: "references", id: "perSent", path: [{type: "property", id: "eng"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 31, last_line: 31, first_column: 47, last_column: 76}
            }, '"', ">跟读</a>\r\n                        </p>\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "perSent", path: [{type: "property", id: "chn"}], leader: "$"},
                pos: {first_line: 33, last_line: 33, first_column: 24, last_column: 41}
            }, "\r\n                            <p>", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "chn"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 31, last_column: 43}
            }, "<", "p>\r\n                        "], '\r\n                        \r\n                        <div class="video-wrapper">\r\n                            <a class="play" role="dict_video_js_play"\r\n                               href="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "swf"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 39, last_line: 39, first_column: 37, last_column: 69}
            }, "?", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "streamUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 39, last_line: 39, first_column: 70, last_column: 108}
            }, '"', '>\r\n                                <img src="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "imageUrl"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 42, last_column: 79}
            }, '"', '\r\n                                     alt="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 41, last_line: 41, first_column: 42, last_column: 75}
            }, "中", '出现good的视频截图" title="', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 41, last_line: 41, first_column: 96, last_column: 129}
            }, "的", '相关视频,点击播放" rel="nofollow">\r\n                                <span class="playicon"><img src="http://shared.ydstatic.com/dict/v5.13/images/play.png"></span>\r\n                            </a>\r\n                            <a href="', "#", '" class="close" role="dict_video_js_close" style="display: none;">关闭</a>\r\n                        </div>\r\n                    '], '\r\n                    <p class="secondary">\r\n                        ', {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "source"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 48, last_line: 48, first_column: 24, last_column: 59}
            }, " ", {
                type: "references",
                id: "perSent",
                path: [{type: "property", id: "snippets"}, {type: "property", id: "snippet"}, {
                    type: "index",
                    id: {type: "integer", value: "0"}
                }, {type: "property", id: "name"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 48, last_line: 48, first_column: 60, last_column: 93}
            }, "\r\n                    ", "</p> \r\n                </div>\r\n            </li>\r\n        "], '\r\n    </ul>\r\n    <a href="" class="more clickable js-ctlog" data-ctype="点击更多原声例句" data-example-type="mdia">更多原声例句</a>\r\n</div>']).render(e)
        }, init: function () {
        }
    }
});
define("/output/netError/netError", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container netError" >', _data.error && (htmlCode += '\n    \t<p class="net-error">目前无法连接服务器，请检查您的网络连接或者查看 <a href="../../res/faq.html" target="_blank">FAQ页面</a> 。 </p>'), htmlCode += "\n</div>";
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/noresult/noresult", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="trans-container noresult" >', _data.showWord && (htmlCode += '\n\t    <h2>\n\t        <span class="keyword">', htmlCode += tpHelper.html.escape(_data.input), htmlCode += '</span>\n\t        <a href="javascript:void(0);" id="wordbook" class="add-fav hidden js-ctlog" data-ctype="点击添加到单词本" title="添加到单词本"></a>\n\t    </h2>'), _data.showNoResultTips && (htmlCode += "\n\t    <p>没有找到“<span>", htmlCode += tpHelper.html.escape(_data.input), htmlCode += "</span>”相关的", "eng" == _data.lang ? htmlCode += "英汉互译" : "jap" == _data.lang ? htmlCode += "日汉互译" : "fr" == _data.lang ? htmlCode += "法汉互译" : "ko" == _data.lang && (htmlCode += "韩汉互译"), htmlCode += "结果</p>"), htmlCode += "\n</div>";
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/phrs/phrs", function (e, t, r) {
    var n = e("/lib/jquery"), i = (e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), s = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = s.mixin(e, {
                _getTr: function (e) {
                    var t = "";
                    return e.forEach(function (e, r) {
                        t += e.tr.l.i
                    }), t
                }
            }), s.vm([[{
                type: "macro",
                id: "items",
                args: [{type: "references", id: "count", leader: "$"}],
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 20}
            }, "\r\n    ", [{
                type: "foreach",
                to: "phr",
                from: {type: "references", id: "phrs", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 27}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "tphr", leader: "$"}, {
                    type: "references",
                    id: "phr",
                    path: [{type: "property", id: "phr"}],
                    leader: "$"
                }],
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 28}
            }, "\r\n        ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "foreach",
                        path: [{type: "property", id: "count"}],
                        isWraped: !0,
                        leader: "$"
                    }, {type: "references", id: "count", leader: "$"}],
                    operator: "<"
                },
                pos: {first_line: 4, last_line: 4, first_column: 8, last_column: 38}
            }, '\r\n        <p><a class="clickable serial js-inline-clickable" href="javascript:void(0);">', {
                type: "references",
                id: "tphr",
                path: [{type: "property", id: "headword"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 86, last_column: 104}
            }, "<", "/a>", {
                type: "references",
                id: "_getTr",
                leader: "$",
                args: [{type: "references", id: "tphr", path: [{type: "property", id: "trs"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 108, last_column: 126}
            }, "<", "/p>\r\n        ", {
                type: "else",
                pos: {first_line: 6, last_line: 6, first_column: 8, last_column: 13}
            }, '\r\n        <p role="yd_collapse_dict_phrs"><a class="clickable serial js-inline-clickable" href="javascript:void(0);">', {
                type: "references",
                id: "tphr",
                path: [{type: "property", id: "headword"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 115, last_column: 133}
            }, "<", "/a>", {
                type: "references",
                id: "_getTr",
                leader: "$",
                args: [{type: "references", id: "tphr", path: [{type: "property", id: "trs"}], leader: "$"}],
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 137, last_column: 155}
            }, "<", "/p>\r\n        "], "\r\n    "], "\r\n"], '\r\n<div class="trans-container phrs yd_dict_toggleClose" id="phrsWordGroup">\r\n    ', {
                type: "macro_call",
                id: "items",
                args: [{type: "integer", value: "4"}],
                pos: {first_line: 12, last_line: 12, first_column: 4, last_column: 13}
            }, "\r\n    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "phrs",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "3"}],
                    operator: ">"
                },
                pos: {first_line: 13, last_line: 13, first_column: 4, last_column: 25}
            }, '\r\n        <a href="', "#", '" data-toggle="yd_collapse_dict_phrs" class="more-tips clickable">\r\n            <span href="', "#", '" class="yd_icon yd_icon_more">&nbsp;</span><span class="show_more">更多</span><span\r\n                class="show_less">收起</span>词组短语\r\n        </a>\r\n    '], "\r\n</div>"]).render(e)
        }, init: function () {
            var e = function (e) {
                var t = n('[data-toggle = "yd_collapse_dict_phrs"]'), r = n('[role="yd_collapse_dict_phrs"]'), i = n("#" + e);
                return {
                    container: i, trigger: t, sheet: r, isOpen: function () {
                        return i.hasClass("yd_dict_toggleClose")
                    }, open: function () {
                        i.removeClass("yd_dict_toggleClose")
                    }, close: function () {
                        i.addClass("yd_dict_toggleClose")
                    }
                }
            }, t = i.toggle(e("phrsWordGroup"));
            t.init()
        }
    }
});
define("/output/pic_dict/pic_dict", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {}) {
                var param = require("/src/scripts/render/params"), store = require("/src/scripts/utils/store"), selectedPic = store("picDict").local, selected = selectedPic.value[param.q] || 1, pic = _data.pic || [], bisheng = JSON.parse(_data.bisheng || "[]"), picDictObj = {
                    word: "",
                    picurl: ""
                };
                if (bisheng.length > 0 && bisheng[0] && bisheng[0][1] && (picDictObj = bisheng[0][1]), 0 === pic.length)return "";
                htmlCode += '\n<div class="selected-container">\n    <div class="selected_img sp" href="" hidefocus="true">', picDictObj && (picDictObj.word || picDictObj.picurl || picDictObj.picId) && (htmlCode += '\n            <a id="pic_to_bisheng" class="to-bisheng" data-word="', htmlCode += picDictObj.word, htmlCode += '"\n               data-picurl="', htmlCode += picDictObj.picurl, htmlCode += '"></a>'), htmlCode += '\n        <img src="', htmlCode += _$.match(":nth-child(" + selected + ") .image", pic), htmlCode += '" alt=""/>\n        <div class="msg-toggle">\n            <a  href="javascript:void(0)">点击更换图片</a>\n        </div>\n    </div>\n</div>\n<div class="img-list">\n    <div class="img-content img-container">\n        <span class="select-just">\n            <span>点击选择您觉得符合这个词条的图片</span>\n            <a class="close-img sp" href="#">关闭</a>\n        </span>\n        <ul class="all-img">', pic.forEach(function (e, t) {
                    htmlCode += '\n            <li class="', htmlCode += t + 1 === selected ? "selected" : "", htmlCode += '">\n                <a href="#"><span><img src="" data-img="', htmlCode += e.image, htmlCode += '" alt="" data-link="', htmlCode += e.host, htmlCode += '"></span></a>\n            </li>'
                }), htmlCode += '\n        </ul>\n        <div class="full-content">\n            <img src="', htmlCode += _$.match(":nth-child(" + selected + ") .image", pic), htmlCode += '" alt=""/>\n            <a class="source-link" href="', htmlCode += _$.match(":nth-child(" + selected + ") .host", pic), htmlCode += '" target="_blank">', htmlCode += _$.match(":nth-child(" + selected + ") .host", pic), htmlCode += '</a>\n        </div>\n        <div class="img-guide">\n            <span class="selected_pic">\n                <span>▲<span>▲</span></span>\n                <span><span></span>选择图片</span>\n            </span>\n            <a class="selected_for_bisheng" data-word="', htmlCode += picDictObj.word, htmlCode += '"\n               data-picurl="', htmlCode += picDictObj.picurl, htmlCode += '">\n                 <span></span>去图解词典<ins></ins>\n            </a>\n        </div>\n\n    </div>\n</div>'
            }
            return htmlCode
        }, init: function () {
            var e = !1, t = require("/src/scripts/utils/store"), r = require("/src/scripts/render/params"), n = t("picDict").local, i = 0, s = (t("notShowPicTip").local, function () {
                var e = '<div class="pic-tip"><a class="pic-tip-close"></a></div>';
                t("notShowPicTip").local.value.notShowPicTip || (0 !== $("#pic_to_bisheng").size() && $(e).appendTo($(".selected_img")).show().fadeOut(5e3, "linear", function () {
                    $(this).remove()
                }), $(".pic-tip-close").click(function (e) {
                    $(".pic-tip").remove(), e.stopPropagation()
                }), t("notShowPicTip").local.val = {notShowPicTip: !0})
            });
            s();
            var o = function () {
                $(".img-list").fadeOut(function () {
                    $(".selected_img .img-content").show()
                }), e = !1
            }, a = function () {
                var e = $(".full-content img");
                e.stop(), e.attr("src", ""), e.removeAttr("style"), $(".full-content").removeAttr("style")
            }, l = function () {
                $(".selected_img .msg-toggle").removeAttr("style"), $(".selected-container .selected_img img").removeAttr("style")
            }, p = function (e, t) {
                $(".img-list .selected").removeClass("selected"), e.addClass("selected"), $(".selected_img img").attr("src", t);
                var i = {};
                i[r.q] = $("ul.all-img li").index(e) + 1, n.valmix = i, $(".img-list").removeAttr("style")
            }, c = function () {
                var e = $(".img-list li").size();
                e > 3 && e <= 6 ? $(".img-list .content").height(182) : e <= 3 && $(".img-list .content").height(106)
            };
            c(), $(".selected_img").click(function (t) {
                if ("" === $(".img-list .selected img").attr("src")) {
                    var r = $(".img-list img");
                    $.each(r, function (e, t) {
                        var r = new Image;
                        r.onload = function () {
                            r.clientWidth >= r.clientHeight ? r.style.height = "66px" : r.style.width = "66px"
                        }, r.src = $(t).data("img"), $(t).parent().empty().append(r)
                    })
                }
                return $(".img-list").fadeIn("slow", function () {
                    l()
                }), a(), $(".img-list").one("mousemove", function () {
                    window.setTimeout(function () {
                        e = !0
                    }, 500)
                }), !1
            }), $(".selected-container .to-bisheng").mouseenter(function (e) {
                utils.timerProxy.clearProxy(), e.stopPropagation()
            }), $(".selected-container .to-bisheng, .img-guide .selected_for_bisheng").click(function (e) {
                $(".pic-tip").remove(), external.openPictDict(JSON.stringify({
                    word: $(this).data("word"),
                    id: $(this).data("picurl")
                })), e.stopPropagation()
            }), $(".selected-container .selected_img img").bind("mouseenter", function () {
                var e = $(this);
                $(".pic-tip").remove(), $(".selected-container").width(e.width() + 4), $(".selected-container .selected_img").addClass("selected_hover_img"), utils.timerProxy(function () {
                    var t = $(".selected_img .msg-toggle");
                    e.animate({height: "161px"}, 200, function () {
                        t.show(), $(".msg-toggle").addClass("msg-hover-toggle"), e.addClass("img-in-hover-stauts"), $(".selected-container .to-bisheng").css("bottom", "28px")
                    })
                }, 500)
            }), $(".selected-container .selected_img img").mouseleave(function () {
                $(".selected-container .selected_img").removeClass("selected_hover_img"), $(".msg-toggle").removeClass("msg-hover-toggle"), $(this).find("img").removeClass("img-in-hover-stauts"), $(".selected-container").removeAttr("style"), utils.timerProxy.clearProxy(), $(this).find("img").stop(), l(), $(".selected-container .to-bisheng").css("bottom", "1px")
            }), $(".img-list li").bind("mouseenter.showFullSize", function () {
                if (e) {
                    var t = $(this);
                    if (!t.hasClass("selected") && 0 !== t.find("img").size()) {
                        a();
                        var r = 285, n = 74, s = $(".full-content img"), o = t.find("img");
                        s.attr("src", o.attr("src")), utils.timerProxy(function () {
                            i = $(".img-list li").index(t), s.parent().data("currentLi", t), $(".full-content .source-link").attr("href", o.data("link")), $(".full-content .source-link").html(o.data("site")), s.parent().show().css({
                                top: t.position().top,
                                right: r - n - t.position().left
                            }), s.animate({height: "161px"}, 100)
                        }, 500)
                    }
                }
            }), $(".img-list li").mouseleave(function () {
                utils.timerProxy.clearProxy()
            }), $(".img-list li a").click(function (e) {
                if ($(this).parent().hasClass("selected") || 0 === $(this).find("img").size())return void e.preventDefault();
                utils.timerProxy.clearProxy();
                var t = $(this).find("img").attr("src");
                p($(this).parent(), t), a(), e.preventDefault()
            }), $(".full-content").mouseleave(function () {
                a()
            }), $(".full-content").click(function (e) {
                var t = $(this), r = $(t.find("img")).attr("src");
                a(), p(t.data("currentLi"), r), o(), e.stopPropagation()
            }), $(".close-img").click(function (e) {
                o(), e.preventDefault()
            }), $(".img-list").click(function (e) {
                e.stopPropagation()
            }), $(document).click(function () {
                o()
            })
        }
    }
});
define("/output/queryresult/queryresult", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<aside id="result_navigator" class="result_navigator nav-list dict_navigator">', function (e) {
                htmlCode += '<nav class="sub-catalog" role="yd_collapse_dict_query_layout">';
                var t = {};
                for (var r in e)if (e[r].navList) {
                    if (t[e[r].navList.id])continue;
                    t[e[r].navList.id] = !0;
                    var n = ["释义", "用法", "权威词典", "百科", "例句", "翻译结果"];
                    n.indexOf(e[r].navList.name) === -1 ? (htmlCode += '\r\n    <a id="', htmlCode += e[r].navList.id, htmlCode += '" class="sub1_all js-empty js-ctlog" title="', htmlCode += e[r].navList.name, htmlCode += '" data-ctype="', htmlCode += e[r].navList.name, htmlCode += '" data-nav2="', htmlCode += e[r].navList.navTo.join(" "), htmlCode += '"><span>', htmlCode += e[r].navList.name, htmlCode += "</span></a>") : (htmlCode += '\r\n    <a id="', htmlCode += e[r].navList.id, htmlCode += '" class="sub1_all js-empty js-ctlog" data-ctype="', htmlCode += e[r].navList.name, htmlCode += '" data-nav2="', htmlCode += e[r].navList.navTo.join(" "), htmlCode += '"><span>', htmlCode += e[r].navList.name, htmlCode += "</span></a>")
                }
                htmlCode += '\r\n</nav>\r\n<!--<div class="split group_1" style="display: block; "></div>-->\r\n<!--<h3 class="main-catalog"><a class="lable add-nav" href="#collins" hidefocus="true"></a></h3>-->'
            }(_data), htmlCode += '\n    <a class="nav-button js-ctlog" id="toggleNav" data-ctype="点击收起或展开结果页导航" data-toggle="yd_collapse_dict_query_layout" href="javascript:void(0)"><span></span></a>\n</aside>\n<div id="toollist">\n    <a href="#" id="goIndex" class="go-index js-ctlog js-go-index" title="回到首页" data-ctype="goindex"></a>\n    <a href="" id="goTop" class="go-top js-ctlog js-go-top" title="回到顶部" data-ctype="gotop"></a>\n</div>\n<div id="results-content" class="result-content user-selected control-height go-top-dict-sec">\n    <section id="result">', function (e) {
                for (var t in e)if ("dictGroup" === e[t].type) {
                    htmlCode += '\r\n<article class="dict-group tab js-empty trans-wrapper ', htmlCode += "close" === e[t].status ? "toggleClose" : "", htmlCode += '" id="', htmlCode += t, htmlCode += '" ', htmlCode += e[t].navList ? 'data-nav="' + e[t].navList.id + '"' : "", htmlCode += ">";
                    var r = e[t].children, n = e[t].current;
                    htmlCode += '\r\n    <nav class="tab-nav">';
                    for (var i in r)htmlCode += '\r\n        <a id="', htmlCode += i, htmlCode += '_tab" class="js-ctlog tab-menu js-empty ', htmlCode += n == i ? "current" : "", htmlCode += ' "  data-ctype="TAB', htmlCode += r[i].name, htmlCode += '" data-rel="', htmlCode += i, htmlCode += '">', htmlCode += r[i].name, htmlCode += "</a>";
                    htmlCode += '\r\n        <a id="', htmlCode += t, htmlCode += '_toggle" data-rel="#', htmlCode += t, htmlCode += '_content" class="toggle js-ctlog" data-ctype="点击展开或收起词典组_', htmlCode += t, htmlCode += '"></a>\r\n    </nav>\r\n    <div id="', htmlCode += t, htmlCode += '_content" class="toggleContent">';
                    for (var i in r)htmlCode += '\r\n        <div id="', htmlCode += i, htmlCode += '" class="tab-content" data-group="', htmlCode += t, htmlCode += '"></div>';
                    htmlCode += "\r\n    </div>\r\n</article>"
                } else {
                    htmlCode += '\r\n<article id="', htmlCode += t, htmlCode += '" ', htmlCode += e[t].navList ? 'data-nav="' + e[t].navList.id + '"' : "", htmlCode += " >";
                    var r = e[t].children;
                    for (var i in r)htmlCode += '\r\n    <div id="', htmlCode += i, htmlCode += '" data-group="', htmlCode += t, htmlCode += '"></div>';
                    htmlCode += "\r\n</article>"
                }
            }(_data), htmlCode += "\n</div>";
            return htmlCode
        }, init: function () {
            var e = (require("/src/scripts/utils/component/group"), require("/src/scripts/utils/component/toggle"));
            setTimeout(function () {
                e({
                    trigger: $("#toggleNav"), open: function () {
                        $("#dict").removeClass("open"), $("#qrcode").show(300)
                    }, isOpen: function () {
                        return $("#dict").hasClass("open")
                    }, close: function () {
                        $("#dict").addClass("open"), $("#qrcode").hide(300)
                    }
                }).init()
            }, 0), $(".dict_navigator nav a").on("click", function (e) {
                var t, r = $(this).data("nav2").split(" ");
                if (r[0] && $("#" + r[0]).size() > 0 ? t = $("#" + r[0]) : r[1] && $("#" + r[1]).size() > 0 && (t = $("#" + r[1])), t && t.size() > 0) {
                    var n = t[0].offsetTop;
                    $("#results-content").animate({scrollTop: n}, "fast")
                }
                e.preventDefault()
            }), $(".go-top-dict-sec").scroll(function () {
                $(".go-top-dict-sec").scrollTop() > 0 ? $(".js-go-top").show() : $(".js-go-top").hide()
            }), $("a.js-go-index").show(), $("body #qrcode").hover(function () {
                utils.ctlog("", "", "", "deskdict.Main", "HOVER", "PhoneChaciye")
            }, function () {
            }), $("#qrcode").css("display", "none")
        }
    }
});
define("/output/quick/quick", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                getOnlineStatus: function () {
                    return global.status.online
                }
            });
            var htmlCode = "";
            with (_data || {}) {
                if (_data.basic || _data.web) {
                    if (htmlCode += '\n<div class="trans-container quick-content user-selected">\n    <h2>\n        <span class="keyword">', htmlCode += _data.rq, htmlCode += '</span>\n        <span class="pronounce">', _data.sm && (htmlCode += '\n          \t\t<span class="phonetic">[', htmlCode += _data.sm, htmlCode += "]</span>"), global.status.online && "" !== _data.speach && ["ce", "cj", "ck", "cf"].indexOf(_data.ltype) === -1 && (htmlCode += '\n          \t\t<a href="#" title="真人发音"  role=\'dict_audio_js\'\n                   data-rel="http://dict.youdao.com/dictvoice?audio=', htmlCode += _data.speach, htmlCode += '" class="dictvoice voice-js log-js" data-4log="dict.quick.voice"></a>'), htmlCode += '\n      </span>\n        <a href="javascript:void(0);" id="quick_wordbook" class="add-fav hidden" title="添加到单词本"></a>\n    </h2>', _data.basic) {
                        htmlCode += "\n  <ul>";
                        for (var tran in _data.basic)htmlCode += "\n            <li>", htmlCode += _data.basic[tran], htmlCode += "</li>"
                    } else if (_data.web) {
                        for (var tranS in _data.web) {
                            htmlCode += "\n           <li>";
                            for (var s in _data.web[tranS])htmlCode += s, htmlCode += " ：", htmlCode += _data.web[tranS][s], htmlCode += " ；";
                            htmlCode += "\n          </li>"
                        }
                        htmlCode += '\n      <li class="resource-web">以上结果来自网络释义</li>\n    </ul>'
                    }
                    htmlCode += '\n    <p class="enter-tips">按Enter键查看', _data.curLang && _data.curLang !== _data.lang && ((_data.lang = "eng") ? htmlCode += "英汉翻译" : (_data.lang = "jap") ? htmlCode += "日汉翻译" : "fr" == _data.lang ? htmlCode += "法汉翻译" : "ko" == _data.lang && (htmlCode += "韩汉翻译"), htmlCode += "的"), htmlCode += '完整结果<span class="enter-icon"></span></p>\n</div>'
                }
            }
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/rel_word/rel_word", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return n.vm(['<div class="trans-container rel_word">\r\n    <p>词根：', {
                type: "references",
                id: "stem",
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 2, last_line: 2, first_column: 10, last_column: 17}
            }, "</p>\r\n    <ul>\r\n        ", [{
                type: "foreach",
                to: "perRel",
                from: {type: "references", id: "rels", leader: "$"},
                pos: {first_line: 4, last_line: 4, first_column: 8, last_column: 34}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "rel", leader: "$"}, {
                    type: "references",
                    id: "perRel",
                    path: [{type: "property", id: "rel"}],
                    leader: "$"
                }],
                pos: {first_line: 5, last_line: 5, first_column: 12, last_column: 34}
            }, "\r\n        <li>\r\n            <p>", {
                type: "references",
                id: "rel",
                path: [{type: "property", id: "pos"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 15, last_column: 23}
            }, "<", "/p>\r\n            <div>\r\n                ", [{
                type: "foreach",
                to: "perWord",
                from: {type: "references", id: "rel", path: [{type: "property", id: "words"}], leader: "$"},
                pos: {first_line: 9, last_line: 9, first_column: 16, last_column: 48}
            }, '\r\n                    <p><a class="clickable js-inline-clickable" href="javascript:void(0);" >', {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "word"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 92, last_column: 105}
            }, "<", "/a>", {
                type: "references",
                id: "perWord",
                path: [{type: "property", id: "tran"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 109, last_column: 122}
            }, "<", "/p>\r\n                "], "\r\n            </div>\r\n        </li>\r\n        "], "\r\n    </ul>\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/report_error/report_error", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div id="reportError" class="trans-container">\n    <h4 class="tipBack">\n        <a class="tipDo" href="#"></a>\n        <span class="dict-icon-report-error">！</span>\n        <span class="tipDevotion">我要报错</span>\n    </h4>\n    <form>\n        <ul class="optionsLeft">\n            <li>\n                <input type="checkbox" name="usSpeechWrong" id="usSpeechWrong" class="trans-message"/>\n                <label id="usSpeechWrongLabel" for="usSpeechWrong">美式发音有误</label>\n            </li>\n            <li>\n                <input type="checkbox" name="usPhoneWrong" id="usPhoneWrong" class="trans-message"/>\n                <label id="usPhoneWrongLabel" for="usPhoneWrong">美式音标有误</label>\n            </li>\n            <li>\n                <input type="checkbox" name="transError" id="transError" class="trans-message"/>\n                <label id="transErrorLabel" for="transError">释义有误</label>\n            </li>\n            <li>\n                <input type="checkbox" name="wordError" id="wordError" class="trans-message"/>\n                <label id="wordErrorLabel" for="wordError">本词条拼写有误</label>\n            </li>\n        </ul>\n        <ul class="optionsLeft">\n            <li>\n                <input type="checkbox" name="uksSpeechWrong" id="ukSpeechWrong" class="trans-message"/>\n                <label id="ukSpeechWrongLabel" for="ukSpeechWrong">英式发音有误</label>\n            </li>\n            <li>\n                <input type="checkbox" name="ukPhoneWrong" id="ukPhoneWrong" class="trans-message"/>\n                <label id="ukPhoneWrongLabel" for="ukPhoneWrong">英式音标有误</label>\n            </li>\n            <li>\n                <input type="checkbox" name="transIncomplete" id="transIncomplete" class="trans-message"/>\n                <label id="transIncompleteLabel" for="transIncomplete">释义不全</label>\n            </li>\n            <li>\n                <input type="checkbox" name="others" id="others" class="trans-message"/>\n                <label id="othersLabel" for="others">其他</label>\n            </li>\n        </ul>\n        <ul class="optionsLeft">\n            <li>\n                <input type="checkbox" name="noSpeech" id="noSpeech" class="trans-message"/>\n                <label id="noSpeechLabel" for="noSpeech">无发音</label>\n            </li>\n            <li>\n                <input type="checkbox" name="noPhone" id="noPhone" class="trans-message"/>\n                <label id="noPhoneLabel" for="noPhone">无音标</label>\n            </li>\n            <li>\n                <input type="checkbox" name="sentencesError" id="sentencesError" class="trans-message"/>\n                <label id="sentencesErrorLabel" for="sentencesError">例句有误</label>\n            </li>\n    </ul>\n\n        <textarea id="inputRepoertError" class="trans-content" placeholder="错误描述"></textarea>\n        <span class="error-message"></span>\n        <p class="alignCenter">\n            <a class="ensure" href="javascript:void(0);" title="确定">确定</a><a\n                class="cancel" href="javascript:void(0)" title="取消">取消</a>\n        </p>\n    </form>\n</div>';
            return htmlCode
        }, init: function () {
            var e = arguments[0], t = arguments[1], r = utils.lightips.open(require("/output/modules").report_error.render(), function () {
            }, !1), n = function () {
                $("#reportError .cancel").click(function () {
                    return r.closeMsg(), !1
                }), $("#reportError .tipDo").click(function () {
                    return r.closeMsg(), !1
                })
            }, i = function () {
                function n() {
                    $(".errorTip").hide().after('<span id="rptErrSucceed" class="rptErrSucceed">已提交</span>'), $("#rptErrSucceed").show()
                }

                var i = "";
                if (e.length > 0) {
                    i += "#YDSEP_WORD#" + e + "#YDSEP_LANG#" + t;
                    var s = "";
                    $("input:checked").each(function () {
                        s += "" == s ? "#YDSEP_REASON#" + $("#" + this.id + "Label").text() : "#" + $("#" + this.id + "Label").text()
                    });
                    var o = utils.spaceTrim($("#reportError .trans-content").val());
                    o.length > 0 && (s += o.length < 256 ? "#YDSEP_DES#" + o : "#YDSEP_DES#" + o.slice(0, 256)), s.length > 0 ? i += s : i = ""
                }
                i.length > 0 && utils.submitContent(utils.spaceTrim(i), "deskdict.main.ugc.feedback", "", "error", n), r.closeMsg()
            };
            n(), $("#reportError .ensure").click(function () {
                if ($("#others").prop("checked")) {
                    var e = utils.validator({
                        callback: function () {
                            i()
                        }, configs: [{elem: "#reportError .trans-content", validate: [{msg: "不能为空", ck: "null"}]}]
                    });
                    e.run()
                } else i();
                return !1
            });
            var s = !1;
            $("#inputRepoertError").focus(function () {
                s = !0, external.blockCharInput(!1)
            }).blur(function () {
                s && (external.blockCharInput(!0), s = !1)
            })
        }
    }
});
define("/output/search_history/search_history", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _decodeHtml: function (e) {
                    return tpHelper.html.escape(e)
                }
            });
            var htmlCode = "";
            with (_data || {}) {
                htmlCode += "<div>";
                var curPage = _data.curPage, allPage = _data.allPage, curData = _data.search_history;
                if (0 !== curData.length) {
                    htmlCode += "\n    <ul>";
                    for (var i = 0; i < curData.length; i++)htmlCode += '\n        <li class="item" data-lang="', htmlCode += curData[i].lang, htmlCode += '" data-source="', htmlCode += encodeURIComponent(curData[i].word), htmlCode += '">\n            <strong>', htmlCode += _data._decodeHtml(curData[i].word), htmlCode += "</strong>", curData[i].trans && "" !== $.trim(curData[i].trans) && (htmlCode += "\n            &nbsp;&nbsp;&nbsp;&nbsp;", htmlCode += curData[i].trans), htmlCode += '\n            <span class="del">x</span>\n        </li>';
                    htmlCode += '\n    </ul>\n    <div class="control">\n        <span class="prev ', htmlCode += 1 === curPage || 1 === allPage ? "dis" : "", htmlCode += '">←</span>\n        <span class="current">', htmlCode += curPage, htmlCode += "/", htmlCode += allPage, htmlCode += '</span>\n        <span class="next ', htmlCode += curPage === allPage || 1 === allPage ? "dis" : "", htmlCode += '">→</span>\n        <span class="clear" title="清空记录">█</span>\n    </div>'
                }
                htmlCode += "\n</div>"
            }
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/special/special", function (e, t, r) {
    var n = e("/lib/jquery"), i = (e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), s = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = s.mixin(e, {
                _getLists: function (e) {
                    for (var t = '<span class="title">专业：</span>', r = 0, n = e.length; r < n; r++) {
                        var i = e[r].entry.major;
                        t += r === n - 1 ? '<a class="clickable" href="#" data-tab-special="yd_tab_dict_special">' + i + "</a>" : 0 === r ? '<a class="clickable" href="#" data-tab-special="yd_tab_dict_special">' + i + "</a><ins>|</ins>" : '<a class="clickable" href="#" data-tab-special="yd_tab_dict_special">' + i + "</a><ins>|</ins>"
                    }
                    return t
                }
            }), s.vm([[{
                type: "macro",
                id: "speLists",
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 16}
            }, "\r\n<ul>\r\n    ", [{
                type: "foreach",
                to: "perEntrie",
                from: {type: "references", id: "entries", leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 4, last_column: 36}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "pEntry", leader: "$"}, {
                    type: "references",
                    id: "perEntrie",
                    path: [{type: "property", id: "entry"}],
                    leader: "$"
                }],
                pos: {first_line: 4, last_line: 4, first_column: 8, last_column: 40}
            }, '\r\n        <li class="yd_tab_dict_special" role="yd_tab_dict_special">\r\n            ', {
                type: "set",
                equal: [{type: "references", id: "ptrs", leader: "$"}, {
                    type: "references",
                    id: "pEntry",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 6, last_line: 6, first_column: 12, last_column: 35}
            }, "\r\n            <ul>\r\n                ", [{
                type: "foreach",
                to: "pertr",
                from: {type: "references", id: "ptrs", leader: "$"},
                pos: {first_line: 8, last_line: 8, first_column: 16, last_column: 41}
            }, "\r\n                    ", {
                type: "set",
                equal: [{type: "references", id: "ptr", leader: "$"}, {
                    type: "references",
                    id: "pertr",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 9, last_line: 9, first_column: 20, last_column: 40}
            }, '\r\n                    <li>\r\n                        <p><span class="title">', {
                type: "references",
                id: "ptr",
                path: [{type: "property", id: "nat"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 47, last_column: 55}
            }, "<", "/span>\r\n                            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "ptr",
                        path: [{type: "property", id: "cite"}],
                        leader: "$"
                    }, {
                        type: "math",
                        expression: [{
                            type: "references",
                            id: "ptr",
                            path: [{type: "property", id: "cite"}],
                            leader: "$"
                        }, {type: "integer", value: "0"}],
                        operator: "!="
                    }],
                    operator: "&&"
                },
                pos: {first_line: 12, last_line: 12, first_column: 28, last_column: 58}
            }, '\r\n                                <span class="secondary">-引用次数：', {
                type: "references",
                id: "ptr",
                path: [{type: "property", id: "cite"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 13, last_line: 13, first_column: 62, last_column: 71}
            }, "<", "/span>\r\n                            "], "\r\n                        </p>\r\n                        <p>", {
                type: "references",
                id: "ptr",
                path: [{type: "property", id: "engSent"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 27, last_column: 42}
            }, "</p>\r\n                        <p>", {
                type: "references",
                id: "ptr",
                path: [{type: "property", id: "chnSent"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 17, last_line: 17, first_column: 27, last_column: 42}
            }, "</p>\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "ptr", path: [{type: "property", id: "docTitle"}], leader: "$"},
                pos: {first_line: 18, last_line: 18, first_column: 24, last_column: 42}
            }, '\r\n                            <p class="secondary">参考来源 - <a class="clickable" target="_blank" href="', {
                type: "references",
                id: "ptr",
                path: [{type: "property", id: "url"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 19, last_line: 19, first_column: 99, last_column: 110}
            }, '">', {
                type: "references",
                id: "ptr",
                path: [{type: "property", id: "docTitle"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 19, last_line: 19, first_column: 112, last_column: 128}
            }, "</a></p>\r\n                        "], "\r\n                    </li>\r\n                "], "\r\n            </ul>\r\n        </li>\r\n    "], "\r\n</ul>\r\n"], '\r\n\r\n<div class="trans-container special">\r\n    <p class="types">', {
                type: "references",
                id: "_getLists",
                leader: "$",
                args: [{type: "references", id: "entries", leader: "$"}],
                prue: !0,
                pos: {first_line: 30, last_line: 30, first_column: 21, last_column: 41}
            }, "<", "/p>\r\n    ", {
                type: "macro_call",
                id: "speLists",
                pos: {first_line: 31, last_line: 31, first_column: 4, last_column: 15}
            }, '\r\n    <p class="secondary source">\r\n        ', {
                type: "references",
                id: "summary",
                path: [{type: "property", id: "text"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 33, last_line: 33, first_column: 8, last_column: 23}
            }, '：\r\n        <a class="clickable" target="_blank" href="', {
                type: "references",
                id: "summary",
                path: [{type: "property", id: "sources"}, {type: "property", id: "source"}, {
                    type: "property",
                    id: "url"
                }],
                leader: "$",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 51, last_column: 78}
            }, '"', ">", {
                type: "references",
                id: "summary",
                path: [{type: "property", id: "sources"}, {type: "property", id: "source"}, {
                    type: "property",
                    id: "site"
                }],
                leader: "$",
                prue: !0,
                pos: {first_line: 34, last_line: 34, first_column: 80, last_column: 108}
            }, "<", "/a>\r\n    </p>\r\n</div>\r\n\r\n"]).render(e)
        }, init: function () {
            i.tab(n("#special [data-tab-special]"), n("#special .yd_tab_dict_special"))
        }
    }
});
define("/output/spoken/spoken", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _updateError: function (e, t, r) {
                    for (var n = 0; n < e.length; n++)for (var i = e[n].word, s = e[n].pos, o = e[n].phonetic.replace(/\(/g, "<span>").replace(/\)/g, "</span>"), a = 0; a < t.length; a++)s == a && ("e" == r ? t[a] = '<span class="miss">' + i + '<span class="phonetic"><span class="tri-outer">◆<span class="tri-inner">◆</span></span>[' + o + "]</span></span>" : "c" == r && (t[a] = '<span class="confusion">' + i + '<span class="phonetic"><span class="tri-outer">◆<span class="tri-inner">◆</span></span>[' + o + "]</span></span>"))
                }, _getSentences: function (e, t, r) {
                    var n = (e || []).length, i = (t || []).length, s = $.trim(r).replace(/(\u3000|\s|\t)/g, " ").split(" ");
                    return n > 0 && this._updateError(e, s, "e"), i > 0 && this._updateError(t, s, "c"), s.join(" ")
                }, _decodeHtml: function (e) {
                    return tpHelper.html.escape(e)
                }
            });
            var htmlCode = "";
            with (_data || {})htmlCode += '<div id="spoken" class="trans-container spoken-read ', htmlCode += _data.word ? "word-read-spoken-container" : "sents-read-spoken-container", htmlCode += '">\n    <p class="title">口语练习<a class="dict-icon-close js-spoken-close">X</a></p>', "reset" == _data.status && (htmlCode += '\n    <div class="wrapper">', function (e) {
                htmlCode += '<div class="spoken-reset">', e.word ? (htmlCode += '\r\n    <div class="wrap">\r\n        <div class="word-spoken">\r\n            <div class="content">\r\n                <span class="key" data-word="', htmlCode += _decodeHtml(e.word.word), htmlCode += '">', htmlCode += _decodeHtml(e.word.word), htmlCode += "</span>", e.word.phonetic && (htmlCode += '\r\n                <span class="phonetic" data-phonetic="', htmlCode += e.word.phonetic, htmlCode += '">', htmlCode += e.word.phonetic, htmlCode += "</span>"), e.word.speech && (htmlCode += '\r\n                <a href="javascript:;" role="dict_audio_js" class="speech word-speech dictvoice voice-js"\r\n                   data-rel="', htmlCode += e.word.speech, htmlCode += '"></a>'), htmlCode += '\r\n            </div>\r\n        </div>\r\n        <span class="decorate-tip  word-d"></span>\r\n        \r\n    </div>') : e.sentences && (htmlCode += '\r\n    <div class="wrap">\r\n        <div class="sentences-spoken">\r\n            <div class="inner-scroll">\r\n                <p class="content" data-sentences="', htmlCode += _decodeHtml(e.sentences.sen), htmlCode += '">', htmlCode += e.sentences.sen, htmlCode += '\r\n                  <a href="javascript:;" role="', htmlCode += "video" === e.sentences.isVideo ? "dict_video_js_play_spoken" : "dict_audio_js", htmlCode += '" class="speech dictvoice voice-js js-ctlog"\r\n                     data-ctype="发音_跟读"\r\n                     data-rel="', htmlCode += void 0 === e.sentences.speech ? "" : e.sentences.speech, htmlCode += '"></a>\r\n               </p>\r\n            </div>\r\n        </div>\r\n        <span class="decorate-tip"></span>\r\n    </div>'), htmlCode += '\r\n<div class="recording-stauts">\r\n    <span class="volume-status"></span>\r\n    <span class="mask"></span>\r\n    <a class="recording">点击朗读</a>\r\n</div>\r\n<p class="recording-tip">录音中，请对麦克风读出此句</p>\r\n<p class="finish">\r\n    <a href="#" class="readend js-ctlog" data-ctype="跟读_完成" data-type="', htmlCode += e.word ? "word" : "sentences", htmlCode += '"></a>\r\n    <a href="#" class="readstart js-ctlog" data-ctype="跟读_开始" role="stop_dict_audio_js" data-type="', htmlCode += e.word ? "word" : "sentences", htmlCode += '"></a>\r\n</p>\r\n</div>'
            }(_data), htmlCode += "\n    </div>"), "wait" == _data.status && (htmlCode += '\n    <div class="wrapper">', function (e) {
                htmlCode += '<div class="spoken-wait">\r\n    <p class="waiting">\r\n        <a>进度</a>\r\n    </p>\r\n    <p class="waiting-tip">评分中</p>\r\n</div>'
            }(_data), htmlCode += "\n    </div>"), "result" == _data.status && (htmlCode += '\n    <div class="wrapper">', function (e) {
                if (htmlCode += '<div class="spoken-result">', e.word) {
                    if (0 !== e.history.length) {
                        htmlCode += '\r\n            <p class="try-more">来试试更多练习：';
                        for (var t = 0; t < e.history.length; t++)htmlCode += '\r\n                    <span data-phone="', htmlCode += e.history[t].phone, htmlCode += '">', htmlCode += void 0 !== e.history[t].word ? _decodeHtml(e.history[t].word) : "", htmlCode += "</span>";
                        htmlCode += "\r\n            </p>"
                    }
                    htmlCode += '\r\n        <div class="wrap">\r\n            <div class="word-spoken">\r\n                <div class="content">\r\n                    <span class="key" data-word="', htmlCode += _decodeHtml(e.word.word), htmlCode += '">', htmlCode += _decodeHtml(e.word.word), htmlCode += '</span>\r\n                    <span class="phonetic" data-phonetic="', htmlCode += e.word.phonetic, htmlCode += '">', htmlCode += void 0 === e.word.phonetic ? "" : e.word.phonetic, htmlCode += "</span>", e.word.speech && (htmlCode += '\r\n                    <a href="javascript:;" role="dict_audio_js" class="speech word-speech dictvoice voice-js"\r\n                       data-rel="', htmlCode += e.word.speech, htmlCode += '"></a>'), htmlCode += '\r\n                </div>\r\n            </div>\r\n            <span class="decorate-tip  word-d"></span>\r\n        </div>'
                } else e.sentences && (htmlCode += '\r\n        <div class="wrap">\r\n            <div>\r\n                <div class="inner-scroll">\r\n                    <p class="content sentences-spoken" data-sentences ="', htmlCode += _decodeHtml(e.sentences.sen), htmlCode += '">', htmlCode += _getSentences(e.error, e.confusion, e.sentences.sen), htmlCode += '\r\n                        <a href="javascript:;"  role="', htmlCode += "video" === e.sentences.isVideo ? "dict_video_js_play_spoken" : "dict_audio_js", htmlCode += '" class="speech dictvoice voice-js" data-rel="', htmlCode += void 0 === e.sentences.speech ? "" : e.sentences.speech, htmlCode += '"></a>\r\n                    </p>\r\n                </div>\r\n            </div>\r\n            <span class="decorate-tip"></span>\r\n        </div>');
                e.sentences && !e.networkError && "" === $.trim(e.feedback) && (htmlCode += '\r\n        <div class="spoken-share-part">\r\n            <a href="#" class="js_open_spoken_share spoken-to-share js-ctlog" data-ctype="跟读评分_分享"></a>\r\n            <ul class="select-options share-options spoken-share-options">\r\n                <li><a id="sina" class="js-share-spoken-to share-to sina js-ctlog" data-ctype="跟读评分_分享到新浪微博" data-keyfrom="deskdict.main" data-share-type="sina" data-category-type="spoken" href="#"><span class="bar"></span>新浪微博</a></li>\r\n                <li><a id="tencent" class="js-share-spoken-to share-to tencent js-ctlog"  data-ctype="跟读评分_分享到腾讯微博" data-keyfrom="deskdict.main" data-share-type="tencent" data-category-type="spoken" href="#"><span class="bar"></span>腾讯微博</a></li>\r\n                <li><a id="netease" class="js-share-spoken-to share-to netease js-ctlog" data-ctype="跟读评分_分享到网易微博" data-keyfrom="deskdict.main" data-share-type="netease" data-category-type="spoken" href="#"><span class="bar"></span>网易微博</a></li>\r\n                <li><a id="renren" class="js-share-spoken-to share-to renren js-ctlog"  data-ctype="跟读评分_分享到人人网" data-keyfrom="deskdict.main" data-share-type="renren" data-category-type="spoken" href="#"><span class="bar"></span>人人网</a></li>\r\n                <li><a id="qZone" class="js-share-spoken-to share-to qZone js-ctlog"  data-ctype="跟读评分_分享到QQ空间" data-keyfrom="deskdict.main" data-share-type="qZone" data-category-type="spoken" href="#"><span class="bar"></span>QQ空间</a></li>\r\n            </ul>\r\n        </div>'), e.level && (e.word ? (htmlCode += '\r\n            <p class="score">得分：<span class="level">', htmlCode += e.level, htmlCode += "</span></p>") : e.sentences && (htmlCode += '\r\n            <p class="score">得分：<span class="level">', htmlCode += e.level, htmlCode += '<strong>分</strong></span>你击败了全球的<span class="rank">', htmlCode += e.rank, htmlCode += "%</span>的用户！</p>")), "" !== $.trim(e.feedback) && (!e.error && !e.confusion || 0 == e.error.length && 0 == e.confusion.length) && (htmlCode += '\r\n    <p class="feedback">', htmlCode += e.feedback, htmlCode += "</p>"), e.networkError && (htmlCode += '\r\n    <p class="networkError">目前无法连接服务器，请检查您的网络连接</p>'), htmlCode += '\r\n    <div class="restart">\r\n        <a class="replay js-ctlog" data-ctype="跟读_回放">回放</a>\r\n        <ins>/</ins>\r\n        <a class="respoke js-ctlog" data-ctype="跟读_重读" data-type="', htmlCode += e.word ? "word" : "sentences", htmlCode += '">重读</a>\r\n    </div>', e.sentences && !e.networkError && (htmlCode += '\r\n        <a id="gotoSpokenPk" class="gotoSpokenPk" href="#">与明星pk口语&gt;&gt;</a>'), htmlCode += '\r\n    <a class="more-spoken" href="http://xue.youdao.com/voiceIndex.a" target="_blank">更多口语练习&gt;&gt;</a>\r\n</div>'
            }(_data), htmlCode += "\n    </div>"), htmlCode += "\n</div>";
            return htmlCode
        }, init: function () {
            $("body").delegate(".miss, .confusion", "mouseover", function (e) {
                var t = e.target, r = $(t).offset().top, n = $(t).offset().left, i = $("#spoken").offset().top, s = $("#spoken").offset().left, o = $(t).find(".phonetic").eq(0).css("display", "inline-block").show().outerHeight();
                $(".phonetic").hide();
                var a = r - i - o, l = n - s;
                $(t).find(".phonetic").eq(0).css({top: a, left: l - 10}).show()
            }), $("body").delegate(".miss,.confusion", " mouseout", function () {
                $(".phonetic").hide()
            }), $("body").delegate(".spoken-reset .voice-js", "click", function () {
                $(".spoken-reset .finish").addClass("begin")
            }), $("body").delegate(".spoken-reset .finish .readstart", "click", function () {
                $(".spoken-reset .finish").removeClass("begin")
            })
        }
    }
});
define("/output/spoken_panel/spoken_panel", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _decodeHtml: function (e) {
                    return tpHelper.html.escape(e)
                }
            });
            var htmlCode = "";
            with (_data || {})htmlCode += '<div id="spoken_panel" class="spoken-read sents-read-spoken-container">\n    <p class="title">口语练习<a class="dict-icon-close js-pk-close" role="stop_dict_audio_js">X</a></p>\n    <div class="spoken-reset">\n        <div class="wrap">\n            <div class="sentences-spoken">\n                <div class="inner-scroll">\n                    <p class="content" data-sentences="', htmlCode += _decodeHtml(_data.sentences.sen), htmlCode += '">', htmlCode += _data.sentences.sen, htmlCode += '\n                        <a href="javascript:;"\n                           role="dict_audio_js"\n                           class="speech dictvoice voice-js js-ctlog"\n                           data-from="spokenpkread"\n                           data-ctype="发音_跟读"\n                           data-rel="', htmlCode += _data.sentences.speech === undefined ? "" : _data.sentences.speech, htmlCode += '"></a>\n                    </p>\n                </div>\n            </div>\n            <span class="decorate-tip"></span>\n        </div>\n        <div class="recording-stauts">\n            <span class="volume-status"></span>\n            <span class="mask"></span>\n            <a class="recording">点击朗读</a>\n        </div>\n        <p class="recording-tip">录音中，请对麦克风读出此句</p>\n        <p class="finish">\n            <a href="#" id="pk_readend" class="readend js-ctlog" data-ctype="跟读_完成" data-starId="" data-from="spokenpkread" role="stop_dict_audio_js"></a>\n            <a href="#" class="readstart js-ctlog" data-ctype="跟读_开始" role="stop_dict_audio_js" data-type="', htmlCode += _data.word ? "word" : "sentences", htmlCode += '"></a>\n        </p>\n    </div>    \n</div>';
            return htmlCode
        }, init: function () {
            $("body").delegate(".spoken-reset .voice-js", "click", function () {
                $(".spoken-reset .finish").addClass("begin")
            }), $("body").delegate(".spoken-reset .finish .readstart", "click", function () {
                $(".spoken-reset .finish").removeClass("begin")
            })
        }
    }
});
define("/output/spoken_panel_result/spoken_panel_result", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _decodeHtml: function (e) {
                    return tpHelper.html.escape(e)
                }
            });
            var htmlCode = "";
            with (_data || {})htmlCode += '<div class="spoken-read sents-read-spoken-container">\n    <p class="title">口语练习<a class="dict-icon-close js-pk-close" role="stop_dict_audio_js">X</a></p>\n    <div class="spoken-result">\n        <div class="wrap">\n            <div class="sentences-spoken">\n                <div class="inner-scroll">\n                    <p class="content" data-sentences="', htmlCode += _decodeHtml(_data.sentences.sen), htmlCode += '">', htmlCode += _data.sentences.sen, htmlCode += '\n                    <a href="javascript:;"\n                       role="dict_audio_js"\n                       class="speech dictvoice voice-js js-ctlog"\n                       data-from="spokenpkread"\n                       data-ctype="发音_跟读"\n                       data-rel="', htmlCode += _data.sentences.speech === undefined ? "" : _data.sentences.speech, htmlCode += '"></a>\n                    </p>\n                </div>\n            </div>\n            <span class="decorate-tip"></span>\n        </div>\n        <p class="networkError">无法获取评分数据，请重新朗读</p>\n        <div class="restart">\n            <a class="replay js-replay-pk js-ctlog" data-ctype="跟读_回放">回放</a>\n            <ins>/</ins>\n            <a class="respoke js-ctlog js-redo-pk" data-ctype="跟读_重读" data-type="', htmlCode += _data.word ? "word" : "sentences", htmlCode += '">重读</a>\n        </div>\n        <a class="more-spoken" href="http://xue.youdao.com/voiceIndex.a" target="_blank">更多口语练习>></a>\n    </div>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/spoken_panel_wait/spoken_panel_wait", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div id="spoken" class="spoken-read sents-read-spoken-container">\n    <p class="title">口语练习<a class="dict-icon-close js-pk-close">X</a></p>\n    <div class="spoken-wait">\n        <p class="waiting">\n            <a>进度</a>\n        </p>\n        <p class="waiting-tip">评分中</p>\n    </div>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/spoken_pk/spoken_pk", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {}) {
                var starinfo;
                try {
                    starinfo = JSON.parse(_data.url)
                } catch (e) {
                    starinfo = {}
                }
                htmlCode += '\n<div class="spoken-pk-content">\n    <div class="star">';
                var image = starinfo.image || "src/images/head-4.jpg";
                htmlCode += '\n        <img src="', htmlCode += image, htmlCode += '" alt="star"/>\n        <a href="#" class="voice js-ctlog" role="dict_audio_js" data-from="spokenpkindex" data-ctype="明星_发音" data-rel="', htmlCode += starinfo.voice, htmlCode += '">明星原声</a>\n        <span>', htmlCode += starinfo.name, htmlCode += '</span>\n    </div>\n    <div class="spoken-pk-sentences user-selected">\n        <p class="title">', htmlCode += _data.title, htmlCode += '</p>\n        <p class="summary">', htmlCode += _data.summary, htmlCode += "</p>\n    </div>\n</div>"
            }
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/spoken_pk_result/spoken_pk_result", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {}) {
                var given = _data.similarity.given, simiLists = _data.similarity.simiList;
                htmlCode += '\n<div class="pk-result-wrapper">\n    <div class="spoken_pk_result">\n        <div class="similarity">\n            <div class="star">\n                <img src="', htmlCode += given.head, htmlCode += '">\n                <a href="#" class="voice js-ctlog"\n                   data-from="spokenpkresult"\n                   data-ctype="PK明星发音"\n                   role="dict_audio_js"\n                   data-rel="', htmlCode += given.voice, htmlCode += '">voice</a>\n                <span>', htmlCode += given.name, htmlCode += '</span>\n            </div>\n            <div class="star_info">\n                <p class="des">', htmlCode += given.des, htmlCode += '</p>\n                <span class="value">相似度 : <strong>', htmlCode += given.value, htmlCode += "%</strong></span>\n            </div>\n        </div>", htmlCode += given.value > simiLists[0].value ? '\n            <p class="also_similar">你和TA的口音也很像</p> ' : '\n            <p class="most_similar">你的口音还是和TA最像</p>', htmlCode += '\n        <div class="simiList similarity">';
                var simiLists = _data.similarity.simiList;
                htmlCode += '\n            <div class="star">\n                <img src="', htmlCode += simiLists[0].head, htmlCode += '">\n                <a href="#"\n                   class="voice js-ctlog"\n                   role="dict_audio_js"\n                   data-from="spokenpkresult"\n                   data-ctype="相似明星发音"\n                   data-rel="', htmlCode += simiLists[0].voice, htmlCode += '">voice</a>\n                <span>', htmlCode += simiLists[0].name, htmlCode += '</span>\n            </div>\n            <div class="star_info">\n                <span class="value">相似度 : <strong>', htmlCode += simiLists[0].value, htmlCode += '%</strong></span>\n            </div>\n        </div> \n    </div>\n</div>\n<div class="restart">\n    <a class="replay-pk js-replay-pk js-ctlog" data-from="spokenpkresult" data-ctype="replay" role="stop_dict_audio_js">回放</a>\n    <ins>/</ins>\n    <a class="redo-pk js-redo-pk js-ctlog" data-from="spokenpkresult" data-ctype="reread" role="stop_dict_audio_js">重读</a>\n</div>\n<div class="share_pk">\n    <p>快来分享你的成绩吧~</p>\n    <a href="#" class="sina js-share-spokenProm-to js-ctlog" data-from="spokenpkresult"\n       data-ctype="shareToSina" data-category-type="spokenProm" data-share-type="sina" role="stop_dict_audio_js">sina</a>\n    <a href="#" class="tencent js-share-spokenProm-to js-ctlog" data-from="spokenpkresult"\n       data-ctype="shareToTencent"  data-category-type="spokenProm" data-share-type="tencent" role="stop_dict_audio_js">tencent</a>\n    <a href="#" class="netease js-share-spokenProm-to js-ctlog" data-from="spokenpkresult"\n       data-ctype="shareToNetease"  data-category-type="spokenProm" data-share-type="netease" role="stop_dict_audio_js">netease</a>\n    <a href="#" class="renren js-share-spokenProm-to js-ctlog" data-from="spokenpkresult"\n       data-ctype="shareToRenren" data-category-type="spokenProm" data-share-type="renren" role="stop_dict_audio_js">renren</a>\n    <a href="#" class="zQone js-share-spokenProm-to js-ctlog" data-from="spokenpkresult"\n       data-ctype="shareToQzon" data-category-type="spokenProm" data-share-type="qZone" role="stop_dict_audio_js">zQone</a>\n</div>'
            }
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/syno/syno", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {_foreach: Object.create(n._foreach)}), i.vm(['<div class="syno trans-container">\r\n    <ul>\r\n        ', [{
                type: "foreach",
                to: "perSyno",
                from: {type: "references", id: "synos", leader: "$"},
                pos: {first_line: 3, last_line: 3, first_column: 8, last_column: 36}
            }, '\r\n            <li>\r\n                <p><span class="serial">', {
                type: "references",
                id: "perSyno",
                path: [{type: "property", id: "syno"}, {type: "property", id: "pos"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 40, last_column: 57}
            }, "<", "/span>", {
                type: "references",
                id: "perSyno",
                path: [{type: "property", id: "syno"}, {type: "property", id: "tran"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 64, last_column: 82}
            }, "<", '/p>\r\n                <p class="clickable secondaryFont">\r\n                    ', {
                type: "set",
                equal: [{type: "references", id: "ws", leader: "$"}, {
                    type: "references",
                    id: "perSyno",
                    path: [{type: "property", id: "syno"}, {type: "property", id: "ws"}],
                    leader: "$"
                }],
                pos: {first_line: 7, last_line: 7, first_column: 20, last_column: 48}
            }, "\r\n                    ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 20, last_column: 38}
            }, "\r\n                    ", [{
                type: "foreach",
                to: "pWs",
                from: {type: "references", id: "ws", leader: "$"},
                pos: {first_line: 9, last_line: 9, first_column: 20, last_column: 41}
            }, '\r\n                        <a class="clickable js-inline-clickable" href="javascript:void(0);">', {
                type: "references",
                id: "pWs",
                path: [{type: "property", id: "w"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 92, last_column: 98}
            }, "<", "/a>\r\n                        ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "_foreach",
                        path: [{type: "property", id: "count"}],
                        leader: "$"
                    }, {type: "references", id: "ws", path: [{type: "property", id: "length"}], leader: "$"}],
                    operator: "!="
                },
                pos: {first_line: 11, last_line: 11, first_column: 24, last_column: 58}
            }, '\r\n                            <ins class="secondary">/</ins>\r\n                        '], "\r\n                    "], "\r\n                </p>\r\n            </li>\r\n        "], "\r\n    </ul>\r\n</div>\r\n"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/trans_devotion_content/trans_devotion_content", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _decodeHtml: function (e) {
                    return tpHelper.html.escape(e)
                }
            });
            var htmlCode = "";
            with (_data || {})htmlCode += '<p id="ugcCotent">', htmlCode += _data._decodeHtml(_data.para || ""), htmlCode += '\n</p>\n\n<p class="additional">\n    <a href="javascript:void(0);" class="returnEdit clickable">返回编辑</a>\n</p>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/trans_devotion_edit/trans_devotion_edit", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _decodeHtml: function (e) {
                    return tpHelper.html.escape(e)
                }
            });
            var htmlCode = "";
            with (_data || {})htmlCode += '<form class="trans-container edit">\n    <p>\n        <label for="currentWord">当前词条：</label>\n        <strong id="currentWord">', htmlCode += _data._decodeHtml(_data.word || ""), htmlCode += '</strong>\n    </p>\n\n    <p>\n        <label for="inputTrans" class="center">\n            输入释义：<span class="required">*</span>\n        </label>\n        <textarea id="inputTrans" class="trans-content" name="inputTrans">', htmlCode += _data._decodeHtml(_data.para || ""), htmlCode += '</textarea>\n        <span class="error-message"></span>\n    </p>\n\n    <p>\n        <label for="source">来源参考：</label>\n        <span class="clear_area">\n           <input type="text" id="source" name="source" class="trans-message" placeholder="请输入释义来源"\n                  value="', htmlCode += _data._decodeHtml(_data.ref || ""), htmlCode += '">\n             <a href="javascript:;" class="js-devotion-close devotion-close"></a>\n        </span>\n    </p>\n\n    <p>\n        <label for="domain">所属专业：</label>\n        <span class="clear_area">\n           <input type="text" id="domain" name="domain" class="trans-message" placeholder="请输入词条所属专业"\n                  value="', htmlCode += _data._decodeHtml(_data.domain || ""), htmlCode += '">\n        <a href="javascript:;" class="js-devotion-close devotion-close"></a>\n        </span>\n\n    </p>\n\n    <p>\n        <label for="contact">联系方式：</label>\n        <span class="clear_area">\n          <input type="text" id="contact" name="contact" class="trans-message" placeholder="请输入Email"\n                 value="', htmlCode += _data._decodeHtml(_data.contact || ""), htmlCode += '">\n        <a href="javascript:;" class="js-devotion-close devotion-close"></a>\n        </span>\n\n    </p>\n\n    <p class="submitTip">\n        <a class="ensure devotion-ensure js-ensure" href="javascript:void(0);" title="确定">确定</a>\n        <a class="cancel devotion-cancel js-cancel" href="javascript:void(0)" title="取消">取消</a>\n    </p>\n</form>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/trans_devotion_tip/trans_devotion_tip", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<div id="ugcReportButton">\n    <p class="devotionTip">\n        <span class="wordTrans contributeBtn"></span>\n        <a href="javascript:void(0);" class="tipDevotion contributeBtn">如果你找到了答案，请贡献本词条释义，利人利己</a>\n    </p>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/typos/typos", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils"), e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = n.mixin(e, {
                _getWord: function (e) {
                    return encodeURIComponent(e)
                }
            }), n.vm(['<div class="trans-container typos">\r\n    <div class="error-typo">\r\n        <h4>您是不是要找：</h4>\r\n        ', [{
                type: "foreach",
                to: "_typo",
                from: {type: "references", id: "typo", leader: "$"},
                pos: {first_line: 4, last_line: 4, first_column: 8, last_column: 33}
            }, '\r\n            <p class="typo-rel">\r\n                <a class="title js-inline-clickable" >', {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "word"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 6, last_line: 6, first_column: 54, last_column: 68}
            }, "</a> ：\r\n                ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "_typo",
                    path: [{type: "property", id: "trans"}],
                    isWraped: !0,
                    leader: "$!"
                },
                pos: {first_line: 7, last_line: 7, first_column: 16, last_column: 36}
            }, "\r\n                    ", {
                type: "references",
                id: "_typo",
                path: [{type: "property", id: "trans"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 20, last_column: 35}
            }, "\r\n                "], "\r\n            </p>\r\n        "], "\r\n    </div>\r\n</div>\r\n"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/user_dict/user_dict", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {
                _foreach: Object.create(n._foreach),
                _foreachType: Object.create(n._foreach),
                _getallExam: function (e) {
                    var t = "", r = "";
                    return e.exam ? e.exam.map(function (e) {
                        return t = e.i.f.l.i, r = e.i.n.l.i, {eng: t, chn: r}
                    }) : {eng: "", chn: ""}
                },
                _isSup: function (e, t) {
                    return e == t
                },
                _handleMore: function () {
                }
            }), i.vm([[{
                type: "macro",
                id: "list",
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 12}
            }, "\r\n<!--释义-->\r\n    ", {
                type: "set",
                equal: [{type: "references", id: "trs", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "trs"}],
                    leader: "$"
                }],
                pos: {first_line: 3, last_line: 3, first_column: 4, last_column: 25}
            }, "\r\n    ", {
                type: "references",
                id: "_foreachType",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 4, last_line: 4, first_column: 4, last_column: 29}
            }, '\r\n<ul class="posType">\r\n    ', [{
                type: "foreach",
                to: "pTr",
                from: {type: "references", id: "trs", leader: "$"},
                pos: {first_line: 6, last_line: 6, first_column: 4, last_column: 26}
            }, "\r\n        ", {
                type: "set",
                equal: [{type: "references", id: "orderType", leader: "$"}, {
                    type: "references",
                    id: "_foreachType",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 7, last_line: 7, first_column: 8, last_column: 49}
            }, '\r\n        <li>\r\n            <span class="title">', {
                type: "references",
                id: "pTr",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 9, last_line: 9, first_column: 32, last_column: 43}
            }, "</span>\r\n            <ul>\r\n                ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 16, last_column: 37}
            }, "\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "allSenTrans", leader: "$"}, {
                    type: "references",
                    id: "pTr",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 12, last_line: 12, first_column: 16, last_column: 44}
            }, "\r\n                ", [{
                type: "foreach",
                to: "pTrans",
                from: {type: "references", id: "allSenTrans", leader: "$"},
                pos: {first_line: 13, last_line: 13, first_column: 16, last_column: 49}
            }, "\r\n                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "allSenTrans",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "1"}],
                    operator: "=="
                },
                pos: {first_line: 14, last_line: 14, first_column: 20, last_column: 49}
            }, "\r\n                        <span>", {
                type: "references",
                id: "pTrans",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 30, last_column: 41}
            }, "<", "/span>\r\n                    ", {
                type: "else",
                pos: {first_line: 16, last_line: 16, first_column: 20, last_column: 25}
            }, "\r\n                        ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 17, last_line: 17, first_column: 24, last_column: 58}
            }, '\r\n                    <li class="cols-layout">\r\n', {
                type: "comment",
                value: '##                        <span class="col1 order">$order.</span>\r'
            }, '                        <div class="col2">\r\n                            <span>', {
                type: "references",
                id: "pTrans",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 22, last_line: 22, first_column: 34, last_column: 45}
            }, "<", "/span>\r\n                            ", [{
                type: "foreach",
                to: "perExam",
                from: {
                    type: "references",
                    id: "_getallExam",
                    leader: "$",
                    args: [{type: "references", id: "pTrans", leader: "$"}]
                },
                pos: {first_line: 23, last_line: 23, first_column: 28, last_column: 71}
            }, "\r\n                                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perExam",
                        path: [{type: "property", id: "eng"}],
                        leader: "$"
                    }, {type: "references", id: "perExam", path: [{type: "property", id: "chn"}], leader: "$"}],
                    operator: "||"
                },
                pos: {first_line: 24, last_line: 24, first_column: 32, last_column: 65}
            }, '\r\n                                    <p class="secondary">', {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "eng"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 25, last_line: 25, first_column: 57, last_column: 72}
            }, '</p>\r\n\r\n                                    <p class="secondary">', {
                type: "references",
                id: "perExam",
                path: [{type: "property", id: "chn"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 27, last_line: 27, first_column: 57, last_column: 72}
            }, "</p>\r\n                                "], "\r\n                            "], "\r\n                        </div>\r\n                    "], "\r\n                </li>\r\n                "], "\r\n            </ul>\r\n        </li>\r\n    "], "\r\n</ul>\r\n<!--短语-->\r\n    ", [{
                type: "if",
                condition: {type: "references", id: "pWord", path: [{type: "property", id: "phrs"}], leader: "$"},
                pos: {first_line: 39, last_line: 39, first_column: 4, last_column: 20}
            }, '\r\n    <div class="phrs">\r\n        <span class="title">短语</span>\r\n        ', {
                type: "set",
                equal: [{type: "references", id: "phrs", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "phrs"}],
                    leader: "$"
                }],
                pos: {first_line: 42, last_line: 42, first_column: 8, last_column: 31}
            }, "\r\n        ", [{
                type: "foreach",
                to: "phr",
                from: {type: "references", id: "phrs", leader: "$"},
                pos: {first_line: 43, last_line: 43, first_column: 8, last_column: 31}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "iPhrs", leader: "$"}, {
                    type: "references",
                    id: "phr",
                    path: [{type: "property", id: "i"}],
                    leader: "$"
                }],
                pos: {first_line: 44, last_line: 44, first_column: 12, last_column: 33}
            }, "\r\n            ", {
                type: "references",
                id: "_foreach",
                path: [{type: "method", id: "start", args: [{type: "integer", value: "1"}]}],
                leader: "$",
                prue: !0,
                pos: {first_line: 45, last_line: 45, first_column: 12, last_column: 30}
            }, "\r\n            ", [{
                type: "foreach",
                to: "pi",
                from: {type: "references", id: "iPhrs", leader: "$"},
                pos: {first_line: 46, last_line: 46, first_column: 12, last_column: 35}
            }, "\r\n                ", {
                type: "set",
                equal: [{type: "references", id: "order", leader: "$"}, {
                    type: "references",
                    id: "_foreach",
                    path: [{type: "property", id: "count"}],
                    isWraped: !0,
                    leader: "$!"
                }],
                pos: {first_line: 47, last_line: 47, first_column: 16, last_column: 50}
            }, '\r\n                <div class="cols-layout">\r\n                    <span class="col1 order">', {
                type: "references",
                id: "order",
                leader: "$",
                prue: !0,
                pos: {first_line: 49, last_line: 49, first_column: 45, last_column: 51}
            }, ".", '</span>\r\n\r\n                    <div class="col2">\r\n                        <p>', {
                type: "references",
                id: "pi",
                path: [{type: "property", id: "phr"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 52, last_line: 52, first_column: 27, last_column: 41}
            }, " ", {
                type: "references",
                id: "pi",
                path: [{type: "property", id: "des"}, {type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 52, last_line: 52, first_column: 42, last_column: 56}
            }, "</p>\r\n                        ", [{
                type: "if",
                condition: {type: "references", id: "pi", path: [{type: "property", id: "tr"}], leader: "$"},
                pos: {first_line: 53, last_line: 53, first_column: 24, last_column: 35}
            }, "\r\n                            ", {
                type: "set",
                equal: [{type: "references", id: "wordTrans", leader: "$"}, {
                    type: "references",
                    id: "pi",
                    path: [{type: "property", id: "tr"}],
                    leader: "$"
                }],
                pos: {first_line: 54, last_line: 54, first_column: 28, last_column: 53}
            }, "\r\n                            ", [{
                type: "foreach",
                to: "perWordTrans",
                from: {type: "references", id: "wordTrans", leader: "$"},
                pos: {first_line: 55, last_line: 55, first_column: 28, last_column: 65}
            }, '\r\n                                <p class="secondary">', {
                type: "references",
                id: "perWordTrans",
                path: [{type: "property", id: "l"}, {type: "property", id: "i"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 56, last_line: 56, first_column: 53, last_column: 73}
            }, "</p>\r\n                            "], "\r\n                        "], "\r\n                    </div>\r\n                </div>\r\n            "], "\r\n        "], "\r\n    </div>\r\n    "], "\r\n<!--变形-->\r\n    ", [{
                type: "if",
                condition: {type: "references", id: "pWord", path: [{type: "property", id: "wfs"}], leader: "$"},
                pos: {first_line: 66, last_line: 66, first_column: 4, last_column: 19}
            }, '\r\n    <div class="wfs">\r\n        <span class="title">变形</span>\r\n        ', {
                type: "set",
                equal: [{type: "references", id: "allWfs", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "wfs"}],
                    leader: "$"
                }],
                pos: {first_line: 69, last_line: 69, first_column: 8, last_column: 32}
            }, "\r\n        ", [{
                type: "foreach",
                to: "wf",
                from: {type: "references", id: "allWfs", leader: "$"},
                pos: {first_line: 70, last_line: 70, first_column: 8, last_column: 32}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "pwf", leader: "$"}, {
                    type: "references",
                    id: "wf",
                    path: [{type: "property", id: "wf"}],
                    leader: "$"
                }],
                pos: {first_line: 71, last_line: 71, first_column: 12, last_column: 29}
            }, "\r\n            ", [{
                type: "foreach",
                to: "ipwf",
                from: {type: "references", id: "pwf", leader: "$"},
                pos: {first_line: 72, last_line: 72, first_column: 12, last_column: 35}
            }, "\r\n                <p>", {
                type: "references",
                id: "ipwf",
                path: [{type: "property", id: "pos"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 73, last_line: 73, first_column: 19, last_column: 31}
            }, "\r\n                    ", [{
                type: "foreach",
                to: "wfi",
                from: {type: "references", id: "ipwf", path: [{type: "property", id: "i"}], leader: "$"},
                pos: {first_line: 74, last_line: 74, first_column: 20, last_column: 45}
            }, '\r\n                        <a class="clickable js-inline-clickable" href="javascript:void(0);">\r\n                            ', {
                type: "references",
                id: "wfi",
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 76, last_line: 76, first_column: 28, last_column: 35}
            }, "\r\n                        </a>\r\n                    "], "\r\n                </p>\r\n            "], "\r\n        "], "\r\n    </div>\r\n\r\n    "], "\r\n"], '\r\n\r\n<div class="trans-container ec21">\r\n    ', [{
                type: "foreach",
                to: "pWord",
                from: {type: "references", id: "word", isWraped: !0, leader: "$"},
                pos: {first_line: 88, last_line: 88, first_column: 4, last_column: 31}
            }, "\r\n        <h4>\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "returnPhrase", leader: "$"}, {
                    type: "references",
                    id: "pWord",
                    path: [{type: "property", id: "return-phrase"}, {type: "property", id: "l"}, {
                        type: "property",
                        id: "i"
                    }],
                    leader: "$"
                }],
                pos: {first_line: 90, last_line: 90, first_column: 12, last_column: 58}
            }, "\r\n            ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "returnPhrase",
                        path: [{type: "index", id: {type: "integer", value: "0"}}],
                        leader: "$"
                    }, {
                        type: "math",
                        expression: [{
                            type: "references",
                            id: "returnPhrase",
                            path: [{type: "index", id: {type: "integer", value: "0"}}],
                            leader: "$"
                        }, {type: "bool", value: "null"}],
                        operator: "!="
                    }],
                    operator: "||"
                },
                pos: {first_line: 91, last_line: 91, first_column: 12, last_column: 61}
            }, "\r\n                ", {
                type: "references",
                id: "returnPhrase",
                path: [{type: "index", id: {type: "integer", value: "0"}}],
                leader: "$",
                prue: !0,
                pos: {first_line: 92, last_line: 92, first_column: 16, last_column: 32}
            }, "\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {
                    type: "references",
                    id: "returnPhrase",
                    path: [{type: "index", id: {type: "integer", value: "1"}}],
                    leader: "$"
                },
                pos: {first_line: 94, last_line: 94, first_column: 12, last_column: 33}
            }, "\r\n                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "returnPhrase",
                        path: [{type: "index", id: {type: "integer", value: "1"}}, {
                            type: "index",
                            id: {type: "string", value: "@action"}
                        }],
                        leader: "$"
                    }, {
                        type: "references",
                        id: "_isSup",
                        leader: "$",
                        args: [{
                            type: "references",
                            id: "returnPhrase",
                            path: [{type: "index", id: {type: "integer", value: "1"}}, {
                                type: "index",
                                id: {type: "string", value: "@action"}
                            }],
                            leader: "$"
                        }, {type: "string", value: "sup", isEval: !0}]
                    }],
                    operator: "&&"
                },
                pos: {first_line: 95, last_line: 95, first_column: 16, last_column: 95}
            }, "\r\n                    <sup>", {
                type: "references",
                id: "returnPhrase",
                path: [{type: "index", id: {type: "integer", value: "1"}}, {
                    type: "index",
                    id: {type: "string", value: "#text"}
                }],
                leader: "$",
                prue: !0,
                pos: {first_line: 96, last_line: 96, first_column: 25, last_column: 50}
            }, "<", "/sup>\r\n                "], "\r\n            "], "\r\n            ", [{
                type: "if",
                condition: {type: "references", id: "pWord", path: [{type: "property", id: "phone"}], leader: "$"},
                pos: {first_line: 99, last_line: 99, first_column: 12, last_column: 29}
            }, '\r\n                <span class="secondary">&nbsp;&nbsp;[', {
                type: "references",
                id: "pWord",
                path: [{type: "property", id: "phone"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 100, last_line: 100, first_column: 53, last_column: 68}
            }, "]</span>\r\n            "], "\r\n        </h4>\r\n        ", {
                type: "macro_call",
                id: "list",
                pos: {first_line: 103, last_line: 103, first_column: 8, last_column: 15}
            }, "\r\n    "], '\r\n    <p class="secondary source">\r\n        以上来源于:', {
                type: "references",
                id: "source",
                path: [{type: "property", id: "name"}],
                isWraped: !0,
                leader: "$",
                prue: !0,
                pos: {first_line: 106, last_line: 106, first_column: 14, last_column: 28}
            }, "\r\n    </p>\r\n</div>\r\n\r\n"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/vista_category/vista_category", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {}) {
                htmlCode += '<li class="cur js-vista-ctlog" data-type="看天下-首页" data-style="">\n    <a href="javascript;">全部</a>\n</li>';
                for (var i in _data)!function (e) {
                    htmlCode += '<li class="js-vista-ctlog" data-type="看天下- ', htmlCode += e.cname, htmlCode += '" data-style="', htmlCode += e.ename, htmlCode += '">\r\n    <a href="javascript;">', htmlCode += e.cname, htmlCode += "</a>\r\n</li>"
                }(_data[i])
            }
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/vista_daily/vista_daily", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            var htmlCode = "";
            with (_data || {})htmlCode += '<img src="', htmlCode += _data.img, htmlCode += '">\n<div class="action">\n    <span class="pronounce">\n        <a title="点击发音" class="sp dictvoice js-ctlog" data-ctype="发音_首页_每日一句" role="dict_audio_js" data-rel="', htmlCode += _data.voice, htmlCode += '"></a>\n    </span>\n    <a title="点击跟读" href="javascript:;" class="js-record js-record-stauts spoken-record sentences_record js-ctlog" data-ctype="跟读_首页_每日一句" data-rel="', htmlCode += _data.voice, htmlCode += '" data-sentences="', htmlCode += _data.title, htmlCode += '">\n    </a>\n    <a title="点击分享" href="javascript:;" class="js-share share js-ctlog" data-ctype="分享_首页_每日一句" data-currentdata-title="', htmlCode += _data.title, htmlCode += '" data-currentdata-summary="', htmlCode += _data.summary, htmlCode += '" data-currentdata-img="', htmlCode += _data.img, htmlCode += '"></a>\n</div>\n<div class="title">', htmlCode += _data.title, htmlCode += '\n</div>\n<div class="summary">', htmlCode += _data.summary, htmlCode += '\n</div>\n<div class="bottom">\n    <div class="end">\n                                 \n    </div>\n    <div class="zan"></div>\n    <div class="copyright">本文由有道词典原创或授名发布, 转载请注明出处和链接，如有疑问，<a href="javascript:window.open(\'http://xue.youdao.com/zx/feedback\');">点此反馈</a></div>\n</div>';
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/vista_list/vista_list", function (require, exports, module) {
    var $ = require("/lib/jquery"), _ = require("/lib/underscore"), _$ = require("/lib/jsonselect"), utils = require("/src/scripts/utils/utils"), external = require("/src/scripts/external"), tpHelper = require("/lib/tpHelper");
    module.exports = {
        render: function anonymous(_data) {
            _data = tpHelper.mixin(_data, {
                _getCurrentData: function (e, t, r) {
                    for (var n = [], i = r * t - 1, s = t * (r - 1), a = s; a < e.length; a++)a <= i && n.push(e[a]);
                    return n
                }, _isFirstPage: function (e) {
                    if (1 == e)return !0
                }, _isLastPage: function (e, t) {
                    if (e == t)return !0
                }, _isOnlyOnePage: function (e) {
                    if (1 == e)return !0
                }, _getTopData: function (e) {
                    var t = e[e.length - 1].newDate || e[e.length - 1].curDate;
                    for (var r in e)if ("oral-pk" === e[r].style)return [e[r], t];
                    return null
                }
            });
            var htmlCode = "";
            with (_data || {})for (var i in _data)for (var j in _data[i])!function (e) {
                if (e.id) {
                    var t = e["image-desk2"] || "";
                    htmlCode += '\r\n    <div id="item-', htmlCode += e.id, htmlCode += '" class="item vista-style-', htmlCode += e.style, htmlCode += '">';
                    var r = "daily" === e.style ? "http://xue.youdao.com/w" : e.url || "http://xue.youdao.com/zx/";
                    htmlCode += '\r\n        <a target="_blank" href="', htmlCode += r, htmlCode += '" data-type="', htmlCode += e.type, htmlCode += '" data-style="', htmlCode += e.style, htmlCode += '" data-id="', htmlCode += e.id, htmlCode += '" class="js-vista-ctlog">\r\n            <div class="img-wrap">\r\n                <img src="', htmlCode += t, htmlCode += '" alt="" onerror="imgonerror(this)" />\r\n            </div>\r\n            <div class="item-content">\r\n                <h2>', htmlCode += e.title ? e.title : "", htmlCode += "</h2>\r\n                <p>", htmlCode += e.summary ? e.summary : "", htmlCode += '</p>\r\n                <div class="bottom">\r\n                    <span class="cate">[', htmlCode += e.type, htmlCode += ']</span>\r\n                    <span class="approve">', htmlCode += e.like || 0, htmlCode += "</span>\r\n                </div>\r\n            </div>\r\n        </a>\r\n    </div>"
                }
            }(_data[i][j]);
            return htmlCode
        }, init: function () {
        }
    }
});
define("/output/web_search/web_search", function (e, t, r) {
    var n = (e("/lib/jquery"), e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), i = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = i.mixin(e, {_foreach: Object.create(n._foreach)}), i.vm(['<div class="trans-container web_search">\r\n    ', [{
                type: "foreach",
                to: "hit",
                from: {type: "references", id: "hit", leader: "$"},
                pos: {first_line: 2, last_line: 2, first_column: 4, last_column: 26}
            }, '\r\n    <div class="result">\r\n        <h4 class="r_title">\r\n            <a href="', {
                type: "references",
                id: "hit",
                path: [{type: "property", id: "url"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 21, last_column: 32}
            }, '" target="_blank">', {
                type: "references",
                id: "hit",
                path: [{type: "property", id: "title"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 5, last_line: 5, first_column: 50, last_column: 63}
            }, '</a>\r\n        </h4>\r\n        <p class="r_content">', {
                type: "references",
                id: "hit",
                path: [{type: "property", id: "summary"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 7, last_line: 7, first_column: 29, last_column: 44}
            }, '</P>\r\n        <a class="r_link" href="', {
                type: "references",
                id: "hit",
                path: [{type: "property", id: "url"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 32, last_column: 43}
            }, '" target="_blank">', {
                type: "references",
                id: "hit",
                path: [{type: "property", id: "url"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 8, last_line: 8, first_column: 61, last_column: 72}
            }, "</a>\r\n    </div>\r\n    "], "\r\n</div>"]).render(e)
        }, init: function () {
        }
    }
});
define("/output/web_trans/web_trans", function (e, t, r) {
    var n = e("/lib/jquery"), i = (e("/lib/underscore"), e("/lib/jsonselect"), e("/src/scripts/utils/utils")), s = (e("/src/scripts/external"), e("/lib/tpHelper"));
    r.exports = {
        render: function (e) {
            return e = s.mixin(e, {
                _getWordGroups: function () {
                    var e = this["web-translation"];
                    return void 0 !== this["web-translation"][0]["@same"] && (e = this["web-translation"].slice(1)), e = e.map(function (e) {
                        var t = e.trans.map(function (e) {
                            return e.cls && e.cls.cl ? "<i> [" + e.cls.cl + "] </i>" + e.value : e.value
                        });
                        return e.trans = t.join(" ; "), e
                    })
                }, _getWebTran: function () {
                    return void 0 !== this["web-translation"][0]["@same"] ? this["web-translation"][0].trans : []
                }
            }), s.vm([[{
                type: "macro",
                id: "webPhrase",
                args: [{type: "references", id: "count", leader: "$"}],
                pos: {first_line: 1, last_line: 1, first_column: 0, last_column: 24}
            }, '\r\n<div class="webPhrase yd_dict_toggleClose" id="webPhrase">\r\n    ', {
                type: "set",
                equal: [{type: "references", id: "wordGroups", leader: "$"}, {
                    type: "references",
                    id: "_getWordGroups",
                    leader: "$",
                    args: !1
                }],
                pos: {first_line: 3, last_line: 3, first_column: 4, last_column: 41}
            }, "\r\n    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "wordGroups",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {type: "integer", value: "0"}],
                    operator: ">"
                },
                pos: {first_line: 4, last_line: 4, first_column: 4, last_column: 31}
            }, '\r\n        <div class="title">短语</div>\r\n        <ul>\r\n            ', [{
                type: "foreach",
                to: "shortWord",
                from: {type: "references", id: "wordGroups", leader: "$"},
                pos: {first_line: 7, last_line: 7, first_column: 12, last_column: 47}
            }, "\r\n                ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "foreach",
                        path: [{type: "property", id: "count"}],
                        isWraped: !0,
                        leader: "$"
                    }, {type: "references", id: "count", leader: "$"}],
                    operator: "<"
                },
                pos: {first_line: 8, last_line: 8, first_column: 16, last_column: 46}
            }, '\r\n                    <li>\r\n                        <a class="clickable serial title js-inline-clickable">', {
                type: "references",
                id: "shortWord",
                path: [{type: "property", id: "key"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 10, last_line: 10, first_column: 78, last_column: 92}
            }, "<", "/a>\r\n                        ", {
                type: "references",
                id: "shortWord",
                path: [{type: "property", id: "trans"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 11, last_line: 11, first_column: 24, last_column: 40}
            }, "\r\n                    ", "</li>\r\n                ", {
                type: "else",
                pos: {first_line: 13, last_line: 13, first_column: 16, last_column: 21}
            }, '\r\n                    <li role="yd_collapse_dict_webPhrase">\r\n                        <a class="clickable serial title js-inline-clickable">', {
                type: "references",
                id: "shortWord",
                path: [{type: "property", id: "key"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 15, last_line: 15, first_column: 78, last_column: 92}
            }, "<", "/a>\r\n                        ", {
                type: "references",
                id: "shortWord",
                path: [{type: "property", id: "trans"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 16, last_line: 16, first_column: 24, last_column: 40}
            }, "\r\n                    ", "</li>\r\n                "], "\r\n            "], "\r\n        </ul>\r\n        ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "wordGroups",
                        path: [{type: "property", id: "length"}],
                        leader: "$"
                    }, {
                        type: "math",
                        expression: [{type: "references", id: "count", leader: "$"}, {type: "integer", value: "1"}],
                        operator: "-"
                    }],
                    operator: ">"
                },
                pos: {first_line: 21, last_line: 21, first_column: 8, last_column: 44}
            }, '\r\n            <a class="clickable show-more-wrap" data-toggle="yd_collapse_dict_webPhrase" href="', "#", '">\r\n                <span class="yd_icon yd_icon_more"></span>\r\n                <span class="show_more">更多</span><span class="show_less">收起</span>网络短语\r\n            </a>\r\n        '], "\r\n    "], "\r\n</div>\r\n"], '\r\n\r\n<div class="trans-container web_trans">\r\n    <ul id="transItems">\r\n        ', [{
                type: "if",
                condition: {
                    type: "references",
                    id: "web-translation",
                    path: [{type: "index", id: {type: "integer", value: "0"}}, {
                        type: "index",
                        id: {type: "string", value: "@same"}
                    }],
                    isWraped: !0,
                    leader: "$"
                },
                pos: {first_line: 33, last_line: 33, first_column: 8, last_column: 43}
            }, "\r\n            ", {
                type: "set",
                equal: [{type: "references", id: "webTrans", leader: "$"}, {
                    type: "references",
                    id: "_getWebTran",
                    leader: "$",
                    args: !1
                }],
                pos: {first_line: 34, last_line: 34, first_column: 12, last_column: 44}
            }, "\r\n            ", [{
                type: "foreach",
                to: "perTran",
                from: {type: "references", id: "webTrans", leader: "$"},
                pos: {first_line: 35, last_line: 35, first_column: 12, last_column: 43}
            }, '\r\n                <li class="perWebTransItem yd_dict_toggleClose">\r\n                    <span class="title" data-toggle="yd_collapse_dict_perWebTransItem">\r\n                        <span class="show-detail"></span>\r\n                        ', [{
                type: "if",
                condition: {type: "references", id: "perTran", path: [{type: "property", id: "cls"}], leader: "$"},
                pos: {first_line: 39, last_line: 39, first_column: 24, last_column: 41}
            }, '\r\n                            <span class="grey">[', {
                type: "references",
                id: "perTran",
                path: [{type: "property", id: "cls"}, {type: "property", id: "cl"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 40, last_line: 40, first_column: 48, last_column: 66}
            }, "]</span>\r\n                        "], "\r\n                        ", {
                type: "references",
                id: "perTran",
                path: [{type: "property", id: "value"}],
                leader: "$",
                prue: !0,
                pos: {first_line: 42, last_line: 42, first_column: 24, last_column: 38}
            }, "\r\n                    ", "</span>\r\n                    ", [{
                type: "if",
                condition: {type: "references", id: "perTran", path: [{type: "property", id: "summary"}], leader: "$"},
                pos: {first_line: 44, last_line: 44, first_column: 20, last_column: 41}
            }, '\r\n                        <p role="yd_collapse_dict_perWebTransItem">', {
                type: "references",
                id: "perTran",
                path: [{type: "property", id: "summary"}, {type: "property", id: "line"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 45, last_line: 45, first_column: 67, last_column: 91}
            }, "</p>\r\n                    "], "\r\n                    ", [{
                type: "if",
                condition: {
                    type: "math",
                    expression: [{
                        type: "references",
                        id: "perTran",
                        path: [{type: "property", id: "support"}],
                        leader: "$"
                    }, {type: "references", id: "perTran", path: [{type: "property", id: "url"}], leader: "$"}],
                    operator: "||"
                },
                pos: {first_line: 47, last_line: 47, first_column: 20, last_column: 57}
            }, '\r\n                        <p class="additional" role="yd_collapse_dict_perWebTransItem">\r\n                            基于', {
                type: "references",
                id: "perTran",
                path: [{type: "property", id: "support"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 49, last_line: 49, first_column: 30, last_column: 49}
            }, '个网页<span>-</span>\r\n                            <a href="', {
                type: "references",
                id: "perTran",
                path: [{type: "property", id: "url"}],
                isWraped: !0,
                leader: "$!",
                prue: !0,
                pos: {first_line: 50, last_line: 50, first_column: 37, last_column: 52}
            }, '&ue=utf8" target="_blank" rel="nofollow" class="clickable">相关网页</a>\r\n                        </p>\r\n                    '], "\r\n                </li>\r\n            "], "\r\n        "], "\r\n    </ul>\r\n    ", {
                type: "macro_call",
                id: "webPhrase",
                args: [{type: "integer", value: "4"}],
                pos: {first_line: 57, last_line: 57, first_column: 4, last_column: 17}
            }, "\r\n</div>"]).render(e)
        }, init: function () {
            var e = function (e) {
                var t = n('[data-toggle = "yd_collapse_dict_webPhrase"]'), r = n('[role="yd_collapse_dict_webPhrase"]'), i = n("#" + e);
                return {
                    container: i, trigger: t, sheet: r, isOpen: function () {
                        return i.hasClass("yd_dict_toggleClose")
                    }, open: function () {
                        i.removeClass("yd_dict_toggleClose")
                    }, close: function () {
                        i.addClass("yd_dict_toggleClose")
                    }
                }
            }, t = function () {
                var t = i.toggle(e("webPhrase"));
                t.init(), i.tg(".perWebTransItem", '[data-toggle = "yd_collapse_dict_perWebTransItem"]', "yd_dict_toggleClose")
            };
            t()
        }
    }
});
define("/output/modules", function (e, t, r) {
    r.exports = {
        ads_link: e("/output/ads_link/ads_link"),
        auth_sents: e("/output/auth_sents/auth_sents"),
        auth_sents_part: e("/output/auth_sents_part/auth_sents_part"),
        baike: e("/output/baike/baike"),
        baike_detail: e("/output/baike_detail/baike_detail"),
        baike_nomatch: e("/output/baike_nomatch/baike_nomatch"),
        baike_nomatch_with_typo: e("/output/baike_nomatch_with_typo/baike_nomatch_with_typo"),
        baike_offline_noResult: e("/output/baike_offline_noResult/baike_offline_noResult"),
        baike_relative: e("/output/baike_relative/baike_relative"),
        baike_welcome: e("/output/baike_welcome/baike_welcome"),
        blng_sents: e("/output/blng_sents/blng_sents"),
        blng_sents_part: e("/output/blng_sents_part/blng_sents_part"),
        ce: e("/output/ce/ce"),
        ce_new: e("/output/ce_new/ce_new"),
        cf: e("/output/cf/cf"),
        cj: e("/output/cj/cj"),
        ck: e("/output/ck/ck"),
        collins: e("/output/collins/collins"),
        copyright: e("/output/copyright/copyright"),
        ec: e("/output/ec/ec"),
        ec21: e("/output/ec21/ec21"),
        ee: e("/output/ee/ee"),
        everydayEnglish: e("/output/everydayEnglish/everydayEnglish"),
        "example-typos": e("/output/example-typos/example-typos"),
        "example-typos-tip": e("/output/example-typos-tip/example-typos-tip"),
        example_correction_type: e("/output/example_correction_type/example_correction_type"),
        example_local_noresult: e("/output/example_local_noresult/example_local_noresult"),
        example_local_result: e("/output/example_local_result/example_local_result"),
        example_network_error: e("/output/example_network_error/example_network_error"),
        example_welcome: e("/output/example_welcome/example_welcome"),
        fanyi: e("/output/fanyi/fanyi"),
        fc: e("/output/fc/fc"),
        global_voice: e("/output/global_voice/global_voice"),
        hh: e("/output/hh/hh"),
        indexpageAds: e("/output/indexpageAds/indexpageAds"),
        infomation_stream: e("/output/infomation_stream/infomation_stream"),
        jc: e("/output/jc/jc"),
        kc: e("/output/kc/kc"),
        lang_err: e("/output/lang_err/lang_err"),
        media_sents: e("/output/media_sents/media_sents"),
        media_sents_part: e("/output/media_sents_part/media_sents_part"),
        netError: e("/output/netError/netError"),
        noresult: e("/output/noresult/noresult"),
        phrs: e("/output/phrs/phrs"),
        pic_dict: e("/output/pic_dict/pic_dict"),
        queryresult: e("/output/queryresult/queryresult"),
        quick: e("/output/quick/quick"),
        rel_word: e("/output/rel_word/rel_word"),
        report_error: e("/output/report_error/report_error"),
        search_history: e("/output/search_history/search_history"),
        special: e("/output/special/special"),
        spoken: e("/output/spoken/spoken"),
        spoken_panel: e("/output/spoken_panel/spoken_panel"),
        spoken_panel_result: e("/output/spoken_panel_result/spoken_panel_result"),
        spoken_panel_wait: e("/output/spoken_panel_wait/spoken_panel_wait"),
        spoken_pk: e("/output/spoken_pk/spoken_pk"),
        spoken_pk_result: e("/output/spoken_pk_result/spoken_pk_result"),
        syno: e("/output/syno/syno"),
        trans_devotion_content: e("/output/trans_devotion_content/trans_devotion_content"),
        trans_devotion_edit: e("/output/trans_devotion_edit/trans_devotion_edit"),
        trans_devotion_tip: e("/output/trans_devotion_tip/trans_devotion_tip"),
        typos: e("/output/typos/typos"),
        user_dict: e("/output/user_dict/user_dict"),
        vista_category: e("/output/vista_category/vista_category"),
        vista_daily: e("/output/vista_daily/vista_daily"),
        vista_list: e("/output/vista_list/vista_list"),
        web_search: e("/output/web_search/web_search"),
        web_trans: e("/output/web_trans/web_trans")
    }
});
define("/src/scripts/utils/component/waterfall/index", function (e, t, r) {
    function n() {
        h.forEach(function (e, t) {
            var r = e.cardPos, n = v(!0);
            if (n.contain(r.top) || n.contain(r.top + e.height)) {
                var i = $(e.elem).find("img");
                i.attr("src", i.attr("data-src")), e.lazy = !0
            }
        })
    }

    var i, s, a, o, l, p = e("/src/scripts/utils/utils"), c = {}, d = function () {
        var e = function () {
            window.timerProxyTimeout && window.clearTimeout(window.timerProxyTimeout)
        };
        return function t(r, n) {
            d.clearProxy = t.clearProxy = e, e(), window.timerProxyTimeout = window.setTimeout(function () {
                $.isFunction(r) && r()
            }, n)
        }
    }(), u = {
        ofs: 0, cw: 200, vm: 15, hm: 20, at: 500, tb: 0, scrollWidth: 0, ar: function () {
        }
    }, f = [], y = [], h = [], m = !1, _ = function () {
        f = [], y = [], h = [], l = void 0
    }, g = function () {
        return Math.floor((s[0].offsetWidth + u.hm() + u.scrollWidth) / (u.cw + u.hm()))
    }, v = function (e) {
        var t = {}, r = e ? 100 : 0;
        return t.contain = function (e) {
            return e <= this.bottom && e >= this.top
        }, function () {
            var e = i[0].scrollTop;
            return $.extend(t, {top: e - u.ofs + r, bottom: e + i.height() + u.ofs + r})
        }
    }(), b = function () {
        var e = i[0].scrollTop, t = i.height();
        return Math.max.apply(Math, y) - e - t <= u.tb
    }, x = function () {
        for (var e = g(), t = [], r = 0; r < e; r++)t.push(0);
        y = t, s.width(e * u.cw + (e - 1) * u.hm())
    }, w = function (e, t) {
        var r = y.indexOf(Math.min.apply(Math, y)), n = {
            top: y[r] + (0 === y[r] ? 0 : u.vm()),
            left: (u.cw + u.hm()) * r
        };
        return f[e] = t ? h[e].elem.clientHeight : f[e] || h[e].elem.clientHeight, y[r] += f[e] + (0 === y[r] ? 0 : u.vm()), n
    }, C = 0, j = function (e, t) {
        if (!Array.isArray(e))return void d(function () {
            C++, C < 3 && b() && k()
        }, 100);
        C = 0, a = !0;
        var r = $(e.join("")).appendTo(s);
        r.each(function (e, t) {
            if ("" !== t && "DIV" === t.tagName) {
                var r = t.clientHeight, n = {elem: t, height: r}, i = $(n.elem).children("a"), s = i.data("type");
                "yousheng" != s && "huihui" != s && "tech" != s || p.ctlog(i.attr("href"), "", 0, "deskdict.firstpage", "CARDLOAD", i.data("type")), h.push(n), f.push(r)
            }
        }), T(!0, t)
    }, k = function (e, t) {
        t = void 0 === t || t;
        var r = e || o(t);
        $.isFunction(r.then) ? (r.then(function (e) {
            m = !1, j(e, t)
        }), r.fail(function () {
            m = !1
        })) : (j(r, t), m = !1)
    }, q = function (e) {
        var t = [], r = [], n = v(e);
        return h.forEach(function (e, i) {
            var s = e.cardPos;
            if ($(e.elem).stop(!0, !0), n.contain(s.top) || n.contain(s.top + e.height)) {
                var a = new $.Deferred;
                r.push(a), $(e.elem).css("top", s.top).animate(s, u.at, function () {
                    a.resolve()
                })
            } else t.push({card: $(e.elem), pos: s})
        }), {ucards: t, promise: $.when.apply($, r)}
    }, T = function (e, t, r) {
        if (0 !== h.length) {
            t = void 0 === t || t, x();
            var n = [], i = {};
            h.forEach(function (t, r) {
                var n = t.cardPos = w(r), i = v(e);
                if (i.contain(n.top) || i.contain(n.top + t.height)) {
                    var s = $(t.elem).find("img");
                    s.attr("src", s.attr("data-src")), t.lazy = !0
                }
            }), t ? (i = q(e), n = i.ucards) : h.forEach(function (e, t) {
                n.push({card: $(e.elem), pos: e.cardPos})
            }), setTimeout(function () {
                s.hide(), n.forEach(function (e) {
                    e.card.css(e.pos)
                }), s.show(), s.height(Math.max.apply(Math, y)), u.onresize(s.width())
            }, 0), e && i.promise ? i.promise.then(function () {
                u.ar(function () {
                    b() && k(!1, t), a = !1
                })
            }) : a = !1
        }
    };
    c.init = function (e, t, r, n) {
        _(), i = $(t), s = $(e), o = function (e) {
            return a && e ? "" : r()
        }, $.extend(u, n), u.hm = function () {
            var e = s.width();
            return $.isFunction(n.hm) ? n.hm(e) : n.hm
        }, u.vm = function () {
            var e = s.width();
            return $.isFunction(n.vm) ? n.vm(e) : n.vm
        }, k(), $(window).on("resize", function () {
            0 !== i.width() && d(function () {
                s.width("auto"), T()
            }, 200)
        }), i.scroll(function () {
            l = i[0].scrollTop, d(function () {
                b() && (m || (m = !0, k()))
            }, 100)
        })
    }, c.arrangeCard = T, c.add = k, c.update = function (e) {
        s.empty(), _(), c.add(e, !1), i.scrollTop(l)
    }, r.exports = c, r.exports.lazy = n
});
define("/src/scripts/router/flashHistory", function (e, t, r) {
    function n(e) {
        this.type = e, this.history = []
    }

    n.prototype = {
        constructor: n, current: -1, add: function (e) {
            this.current >= 0 && e.word === this.history[this.current].word && e.lang === this.history[this.current].lang || (this.history = this.history.slice(0, this.current + 1), this.history.push(e), this.current++, ke("flashHistory").fire("change"))
        }, prev: function () {
            if (this.current > 0 && this.history.length > 1)return this.current--, ke("flashHistory").fire("change"), this.history[this.current]
        }, next: function () {
            if (this.current + 1 < this.history.length)return this.current++, ke("flashHistory").fire("change"), this.history[this.current]
        }, test: function () {
            return this.history.length <= 1 ? 0 : this.current === this.history.length - 1 ? 1 : 0 === this.current ? 2 : 3
        }
    }, r.exports = {dict: new n("dict"), example: new n("example"), baikeDetail: new n("baikeDetail")}
});
define("/src/scripts/router/storedHistory", function (e, t, r) {
    function n(e) {
        this.type = e, this.history = a[e].value.history || []
    }

    var i = e("/src/scripts/utils/store"), s = e("/src/scripts/external"), o = i("historyCount").local, a = {
        dict: i("storeHistory_dict", "history").local,
        example: i("storeHistory_example", "history").local,
        baikeDetail: i("storeHistory_baikeDetail", "history").local
    }, l = o.value.count;
    void 0 === l && (l = 20), s.on("limitHistory", function (e) {
        l = e[0];
        for (var t in r.exports)r.exports[t].limit(l);
        o.val = {count: l}
    }), n.prototype = {
        constructor: n, current: -1, persist: function () {
            var e = {};
            e.history = this.history, a[this.type].val = e
        }, find: function (e) {
            var t = -1;
            return this.history.forEach(function (r, n, i) {
                t >= 0 || r.word === e && (t = n)
            }), t
        }, top: function (e, t) {
            if (e >= 0 && this.history.length > e) {
                var r = [];
                this.history[e].lang = t.lang, this.history[e].lang = t.lang, r.push(this.history[e]), this.history = r.concat(this.history.slice(0, e)).concat(this.history.slice(e + 1))
            }
        }, limit: function (e) {
            l = e, this.history.length > e && (this.history = this.history.slice(0, e), this.persist())
        }, add: function (e) {
            var t = this.find(e.word);
            if (t < 0) {
                var r = [];
                r.push(e), this.history = r.concat(this.history), this.limit(l)
            } else this.top(t, e);
            this.persist()
        }, attr: function (e, t, r) {
            this.history.length > 0 && (e >= 0 || "" === this.history[e][t]) && (this.history[e][t] = r, this.persist())
        }, del: function (e) {
            if (e >= 0 && this.history.length > e)return this.history = this.history.slice(0, e).concat(this.history.slice(e + 1)), this.persist(), this.history
        }, clear: function () {
            this.history = [], this.persist()
        }
    }, r.exports = {dict: new n("dict"), example: new n("example"), baikeDetail: new n("baikeDetail")}
});
define("/src/scripts/router/history", function (e, t, r) {
    var n = e("/src/scripts/render/params"), i = e("/src/scripts/router/flashHistory"), s = e("/src/scripts/router/storedHistory"), o = {
        routerId: "dict/start",
        tab: "dict",
        frame: "start",
        word: "",
        lang: "eng"
    }, a = {dict: [o], example: [], baikeDetail: [], trans: [], all: [o]}, l = {
        dict: 0,
        example: 0,
        baikeDetail: 0,
        trans: 0,
        all: 0
    }, p = 0, c = null;
    r.exports = {
        history: a, add: function (e, t, r) {
            var o, a = e.split("/"), l = a[0];
            c = l;
            var d = a[a.length - 1];
            "undefined" != typeof n.rle && (o = n.rle, n.rle = void 0);
            var u = {routerId: e, tab: a[0], frame: d, word: n.q, lang: o || n.le};
            this.history.all.push(u), this.history[l].push(u), "" === n.q || "queryResult" !== d && "example" !== d && "baikeDetail" !== d || (p++, p % 2 === 0 && ke("history").fire("searchTwice")), !r || "" === n.q || "queryResult" !== d && "example" !== d && "baikeDetail" !== d || "preNext" === t || (i[l].add(u), s[l].add(u))
        }, latest: function (e) {
            return l[e] = this.history[e].length - 1, this.history[e][l[e]] || {}
        }, prev: function (e) {
            if (l[e] > 0 && this.history[e].length > 1)return l[e] = l[e] - 1, this.history[e][l[e]]
        }, next: function (e) {
            if (l[e] + 1 < this.history[e].length)return l[e] = l[e] + 1, this.history[e][l[e]]
        }
    }, r.exports.storedHistory = function (e) {
        var t = e || c || "dict";
        return s[t]
    }, r.exports.flashHistory = function (e) {
        var t = e || c || "dict";
        return i[t]
    }
});
define("/src/scripts/render/dict/queryResult/basicParaphrase", function (e, t, r) {
    function n(e) {
        var t = s.match(".word", s.match(".ec, .ce, .jc, .cj, .cf, .fc, .ck, .kc", e)), r = s.match(".tr :nth-child(n)>.l .i", t).map(function (e) {
            return s.match(":root>string, :root .#text", e).join("")
        }), n = {
            trans: r.filter(function (e) {
                return "" !== e
            }),
            word: s.match(".return-phrase .l .i", t).join(""),
            usPhone: s.match(".usphone", t).join(""),
            ukPhone: s.match(".ukphone", t).join(""),
            phone: s.match(".phone", t).join("") || this.usPhone || this.ukPhone
        };
        return n.trans.length || (n.trans = s.match(".web_trans .webTrans :nth-child(1) .value", e).filter(function (e) {
            return "" !== e
        })), n
    }

    var i = e("/lib/underscore"), s = e("/lib/jsonselect");
    r.exports = function (e) {
        if (i.isObject(e))return n(e);
        throw"Error_parseData: data is wrong."
    }
});
define("/src/scripts/router/routers", function (e, t, r) {
    var n = e("/src/scripts/render/params"), i = e("/src/scripts/render/index"), s = e("/src/scripts/router/history"), a = e("/src/scripts/render/index"), o = "", l = {
        get dict() {
            var e = {
                tabChange: "" === n.q ? s.latest("dict").frame || "queryResult" : "queryResult",
                inputChange: "quick",
                preNext: "queryResult",
                search: "queryResult"
            };
            return p("" !== n.q.trim() ? "dict/" + e[o] : "dict/start")
        }, get example() {
            var e = {
                tabChange: "" === n.q ? s.latest("example").frame || "example" : "example",
                preNext: "example",
                search: "example"
            };
            return "" === n.q.trim() ? p("example/example-welcome") : void 0 !== e[o] ? p("example/" + e[o]) : null
        }, get baikeDetail() {
            return "" === n.q.trim() ? p("baikeDetail/baike-welcome") : "inputChange" !== o ? p("baikeDetail/baikeDetail") : null
        }, get trans() {
            return p("trans/trans")
        }
    }, p = function (e) {
        var t = e.split("/")[0], r = s.latest("all").tab, p = s.latest(t);
        if (("tabChange" === o && Object.keys(p).length > 0 && "" === n.q || "tabChange" === o && "trans" !== t && "trans" === r) && (n.reset(p.word), p.lang === n.le))return s.add(p.routerId || e, o, !1), a.changeFrame(t, !1), null;
        var c = l[e];
        if (void 0 !== c) {
            s.latest(e);
            var d = s.prev(e);
            return "inputChange" === o && void 0 !== d && n.q === d.word ? null : c
        }
        return s.add(e, o, !0), i[e]
    };
    r.exports = function (e) {
        return o = e, r.exports
    }, r.exports.to = p
});
define("/src/scripts/router/index", function (e, t, r) {
    var n, i = e("/src/scripts/render/params"), s = e("/src/scripts/router/history"), a = e("/src/scripts/router/routers"), o = e("/src/scripts/utils/utils"), l = e("/src/scripts/render/index"), p = null;
    r.exports = function (e) {
        return p = e, r.exports
    }, r.exports.from = function (e) {
        return i.keyfrom = e, r.exports
    };
    var c = function (e) {
        var t = a(p).to(e);
        if ("undefined" == typeof t)throw"No such type of router:" + e;
        return n = t, r.exports
    };
    r.exports.render = function (e) {
        var t = Array.prototype.slice.call(arguments, 1);
        if (c(e || s.latest("all").tab), null !== n) {
            l.changeFrame("all", !1);
            var r = s.latest("all") || {}, i = s.prev("all") || {};
            r.tab === i.tab ? n.render.apply(n, t) : o.timerProxy(function () {
                n.render.apply(n, t)
            }, 200)
        }
    }, window.search = function (e, t, n) {
        var s = e.split("/")[0];
        "trans" !== e && i.reset(t[0], t[1]), r.exports("search").render.apply(r.exports("search").from(n), [s].concat(t)), ke("window").fire("search", s, $("#control li[data-type=" + e + "]"))
    }
});
define("/src/scripts/render/dict/quick", function (e, t, r) {
    var n, i, s = e("/output/modules"), a = e("/src/scripts/external"), o = (e("/src/scripts/render/dict/queryResult/basicParaphrase"), e("/src/scripts/render/params")), l = function () {
        i = void 0, n = !1
    }, p = function (t, r) {
        n = !!t && t.lang !== $(".js-lang-type").data("lang"), i = t.lang, o.rle = i, $("#quick").html(s.quick.render(t)), $("#quick .enter-tips").click(function () {
            e("/src/scripts/router/index")("search").from("deskdict.instant").render()
        }), a.checkWordBook(t.rq, function (e) {
            e && t.rq === e[0] && $("#quick_wordbook").removeClass("hidden"), e && e[1] ? $("#quick_wordbook").addClass("added") : $("#quick_wordbook").removeClass("added")
        }), $("#quick_wordbook").data("wordbook", {
            word: t.rq || "",
            phone: t.sm || "",
            trans: t.basic || []
        }), $("#quick_wordbook").unbind("click.addWordbook").bind("click.addWordbook", function (e) {
            var t = $(this).data("wordbook");
            t.word && ($(this).hasClass("added") ? a.modWord(t.word) : ($(this).addClass("added").attr("title", "单词[" + t.word + "]已添加到单词本，点击修改"), a.addWord(t.word || "", t.phone || "", t.trans.join(";") || "")))
        })
    };
    r.exports.render = function (t, r) {
        e("/src/scripts/render/index").changeFrame("all", !0);
        var n = JSON.stringify({lang: $(".js-lang-type").data("lang")});
        a.mainQuery("deskdict.main", 1, t || o.q, n, function (e) {
            var t = JSON.parse(e[1]) ? JSON.parse(e[1]) : {};
            t.curLang = $(".js-lang-type").data("lang"), p(t)
        })
    }, ke("directSearch").on("search", function () {
        l()
    }), r.exports.typoData = function () {
        var e = n ? {lang_err: {lang: $(".js-lang-type").data("lang"), tarLang: i || o.le}} : {};
        return l(), e
    }
});
define("/src/scripts/render/dict/queryResult/dog", function (e, t, r) {
    var n = e("/src/scripts/external");
    t.dogVerify = function (e) {
        _.isObject(e) && e.hasOwnProperty("dog") && 4 != parseInt(e.dog.errorcode) && n.verify(e.dog.imgurl, e.dog.submiturl, e.dog.product, e.dog.redirecturl, function () {
        })
    }
});
!function (e, t) {
    var r = {
        trans: {id: "trans_left_nav", name: "释义", navTo: ["basic_trans", "web_trans_group"]},
        authority: {id: "authority_left_nav", name: "权威词典", navTo: ["authority_group"]},
        usage: {id: "usage_left_nav", name: "用法", navTo: ["usage_group"]},
        example: {id: "example_left_nav", name: "例句", navTo: ["example_group"]},
        baike: {id: "baike_left_nav", name: "百科", navTo: ["baike_group"]},
        fanyi: {id: "fanyi_left_nav", name: "翻译结果", navTo: ["fanyi_group"]},
        webSearch: {id: "webSearch_left_nav", name: "网页搜索", navTo: ["web_search_group"]}
    }, n = {
        no_result_group: {
            idx: 0,
            name: "无结果",
            type: "container",
            status: "open",
            children: {noresult: {idx: 0, name: "无结果", parent: "no_result_group"}}
        },
        transDevotion: {type: "container", name: "贡献释义"},
        trans_devotion_group: {
            name: "贡献释义",
            type: "dictGroup",
            status: "open",
            children: {trans_devotion: {name: "贡献释义", parent: "trans_devotion_group"}}
        },
        typos_group: {
            idx: 1,
            name: "输入纠错",
            type: "container",
            status: "open",
            children: {typos: {idx: 0, name: "输入纠错", parent: "typos_group"}}
        },
        lang_typos_group: {
            name: "语言纠错",
            type: "container",
            status: "open",
            children: {lang_err: {idx: 0, name: "语言纠错", parent: "lang_typos_group"}}
        },
        basic_trans: {
            type: "container",
            navList: r.trans,
            idx: 0,
            name: "释义",
            children: {
                pic_dict: {idx: 8, name: "图片词典", parent: "basic_trans"},
                ec: {idx: 0, name: "英汉", parent: "basic_trans"},
                ce: {idx: 1, name: "汉英", parent: "basic_trans"},
                cj: {idx: 2, name: "中日", parent: "basic_trans"},
                jc: {idx: 3, name: "日中", parent: "basic_trans"},
                ck: {idx: 4, name: "中韩", parent: "basic_trans"},
                kc: {idx: 5, name: "韩中", parent: "basic_trans"},
                cf: {idx: 6, name: "中法", parent: "basic_trans"},
                fc: {idx: 7, name: "法中", parent: "basic_trans"}
            }
        },
        ead_dictr_1: {type: "container", name: "基本-网络"},
        web_trans_group: {
            name: "释义",
            idx: 1,
            navList: r.trans,
            type: "dictGroup",
            status: "open",
            children: {
                web_trans: {idx: 0, name: "网络释义", parent: "web_trans_group"},
                special: {idx: 1, name: "专业释义", parent: "web_trans_group"},
                ee: {idx: 2, name: "英英释义", parent: "web_trans_group"},
                hh: {idx: 3, name: "汉语释义", parent: "web_trans_group"}
            },
            current: "web_trans"
        },
        ead_dictr_2: {type: "container", name: "网络-权威"},
        authority_group: {
            idx: 2,
            name: "权威词典",
            navList: r.authority,
            type: "dictGroup",
            status: "open",
            children: {
                collins: {idx: 0, name: "柯林斯英汉双解大词典", parent: "authority_group"},
                ec21: {idx: 1, name: "21世纪大英汉词典", parent: "authority_group"},
                ce_new: {idx: 2, name: "新汉英大辞典", parent: "authority_group"}
            },
            current: "collins"
        },
        ead_dictr_3: {type: "container", name: "权威-百科"},
        usage_group: {
            idx: 3,
            name: "用法",
            navList: r.usage,
            type: "dictGroup",
            status: "open",
            children: {
                phrs: {idx: 0, name: "词组短语", parent: "wordGroup_group"},
                syno: {idx: 1, name: "同近义词", parent: "wordGroup_group"},
                rel_word: {idx: 2, name: "同根词", parent: "wordGroup_group"}
            },
            current: "phrs"
        },
        fanyi_group: {
            idx: 6,
            name: "翻译结果",
            navList: r.fanyi,
            type: "dictGroup",
            status: "open",
            children: {fanyi: {idx: 0, name: "翻译结果", parent: "fanyi_group"}}
        },
        example_group: {
            idx: 4,
            name: "例句",
            navList: r.example,
            type: "dictGroup",
            status: "open",
            children: {
                blng_sents_part: {idx: 0, name: "双语例句", parent: "example_group"},
                media_sents_part: {idx: 1, name: "原声例句", parent: "example_group"},
                auth_sents_part: {idx: 2, name: "权威例句", parent: "example_group"}
            },
            current: "blng_sents_part"
        },
        baike_group: {
            idx: 5,
            name: "百科",
            navList: r.baike,
            type: "dictGroup",
            status: "open",
            children: {baike: {idx: 0, name: "百科", parent: "baike_group"}},
            current: "baike"
        },
        ead_dictr_4: {type: "container", name: "权威-百科"},
        web_search_group: {
            idx: 7,
            navList: r.webSearch,
            name: "网页搜索",
            type: "dictGroup",
            status: "open",
            children: {web_search: {idx: 0, name: "网页搜索", parent: "web_search_group"}}
        },
        collins_part_group: {
            idx: 9,
            name: "柯林斯英汉双解大词典前三条",
            type: "dictGroup",
            status: "open",
            children: {collins_part: {idx: 0, name: "网页搜索", parent: "collins_part_group"}}
        },
        user_dict: {type: "container", name: "用户自定义词典"},
        net_error_group: {
            idx: 0,
            name: "网络",
            type: "container",
            status: "open",
            children: {netError: {idx: 0, name: "断网", parent: "net_error_group"}}
        },
        copyright: {idx: 0, name: "版权声明", type: "container"}
    };
    "undefined" != typeof module && "undefined" !== module.exports ? (module.exports = n, module.exports.add = function (e, t, i) {
        delete n[e + "_group"], delete r[e], n[e + "_group"] = t, t.navList = r[e] = i
    }) : "function" == typeof define && define("/src/scripts/render/dict/queryResult/groupConfigs", function (e, t, i) {
        i.exports = n, i.exports.add = function (e, t, i) {
            delete n[e + "_group"], delete r[e], n[e + "_group"] = t, t.navList = r[e] = i
        }
    })
}(this);
define("/src/scripts/render/dict/queryResult/transDevotion", function (e, t, r) {
    var n = e("/lib/jquery"), i = e("/output/modules"), s = (e("/src/scripts/external"), e("/src/scripts/utils/utils")), a = e("/src/scripts/utils/store"), o = a("ugc", "history").local, l = function (e) {
        return o.value[e]
    }, p = function (e) {
        n("#trans_devotion").html(i.trans_devotion_content.render(e)), n("#trans_devotion_group, #trans_devotion_tab").removeClass("js-empty")
    }, c = function (e, t) {
        var r = function (e) {
            for (var t = e.split(" "), r = 0, n = 0; n < t.length; n++)t[n].length > 0 && r++;
            return r
        };
        if ("eng" == t) {
            var s = l(e);
            if ("undefined" != typeof s)p(s), n("#transDevotion").hide(), n("#trans_devotion .returnEdit").click(function () {
                s.word = e, n("#transDevotion").html(i.trans_devotion_edit.render(s)).show(), n("#trans_devotion_group").addClass("js-empty")
            }); else {
                for (var a = !0, o = 0; o < e.length; o++)if (e.charCodeAt(o) > 255 && e.charCodeAt(o) < 65280) {
                    a = !1;
                    break
                }
                (!a && e.length <= 4 || a && r(e) <= 3) && (n("#transDevotion").html(i.trans_devotion_tip.render()), n("#ugcReportButton .devotionTip").click(function () {
                    n("#transDevotion").html(i.trans_devotion_edit.render({
                        lang: "eng",
                        word: e,
                        para: "",
                        ref: "",
                        domain: "",
                        contact: ""
                    }))
                }))
            }
        }
    };
    r.exports = function (e, t) {
        n("#transDevotion").addClass("trans-devotion showDevotion"), n("#transDevotion").on("click", ".js-cancel", function () {
            c(e, t)
        }), n("#transDevotion").on("click", ".js-ensure", function () {
            var r = function (e) {
                var t = !0;
                e:for (var r = 0; r < e.length; r++) {
                    for (var n = ["，", "。", "“", "？", "！", "”", "（", "）", "、", "‘", "；", "：", "～", "【", "】", "『", "』"], i = 0; i < n.length; i++)if (e.charCodeAt(r) == n[i].charCodeAt(0))continue e;
                    if (e.charCodeAt(r) > 255 && e.charCodeAt(r) < 65280) {
                        t = !1;
                        break
                    }
                }
                return t
            }, a = function (e) {
                var t = !0;
                e:for (var r = 0; r < e.length; r++) {
                    for (var n = [",", ".", '"', "?", "!", "(", ")", ":", ";", "~", "[", "]", "{", "}"], i = 0; i < n.length; i++)if (e.charCodeAt(r) == n[i].charCodeAt(0))continue e;
                    if (e.charCodeAt(r) >= 0 && e.charCodeAt(r) <= 255) {
                        t = !1;
                        break
                    }
                }
                return t
            }, c = function (e, t) {
                n(e).parent().find(".error-message").remove(), n(e).after('<span class="error-message">' + t + "</span>")
            }, d = s.spaceTrim(e), u = s.spaceTrim(n("#inputTrans").val());
            if (u.length > 0 && (r(d) && r(u) || a(d) && a(u)))return c("#inputTrans", "请输入正确释义"), !1;
            var f = [], y = n("#contact").val();
            f = y.indexOf("@") >= 0 ? [{elem: "#inputTrans", validate: [{msg: "不能为空", ck: "null"}]}, {
                elem: "#contact",
                validate: [{msg: "请输入正确的Email", ck: "email"}]
            }] : [{elem: "#inputTrans", validate: [{msg: "不能为空", ck: "null"}]}];
            var h = s.validator({
                callback: function () {
                    var r = s.spaceTrim(e), a = s.spaceTrim(n("#inputTrans").val()), c = s.spaceTrim(n("#source").val()), d = s.spaceTrim(n("#domain").val()), u = s.spaceTrim(n("#contact").val()), f = "", y = {};
                    y[e] = {}, f += "#YDSEP_WORD#" + r + "#YDSEP_LANG#" + t, f += "#YDSEP_PARA#" + a.slice(0, 256), f += "#YDSEP_REF#" + c.slice(0, 256), f += "#YDSEP_DOMAIN#" + d.slice(0, 256), f += "#YDSEP_CON#" + u.slice(0, 256), y[e] = {
                        word: e,
                        para: a.slice(0, 256),
                        ref: c.slice(0, 256),
                        domain: d.slice(0, 256),
                        contact: u.slice(0, 256)
                    }, n("#ugcCotent").text(a), n("#ugcReportButton").hide();
                    var h = l(r);
                    h != f && s.submitContent(s.spaceTrim(f), "deskdict.main.ugc.contribute", u, "contribution"), o.valmix = y, p({para: a}), n("#transDevotion").hide(), n("#trans_devotion .returnEdit").click(function () {
                        n("#transDevotion").html(i.trans_devotion_edit.render(y[e])).show(), n("#trans_devotion_group").addClass("js-empty")
                    })
                }, configs: f, autoCheck: !1
            });
            return h.run(), !1
        }), n("#transDevotion").on("keyup", ".trans-message", function () {
            var e = n(this).val().length;
            e > 0 ? n(this).siblings(".js-devotion-close").fadeIn() : n(this).siblings(".js-devotion-close").fadeOut()
        }), n("#transDevotion").on("click", ".js-devotion-close", function () {
            n(this).siblings(".trans-message").val(""), n(this).fadeOut()
        }), c(e, t)
    }
});
define("/src/scripts/render/dict/queryResult/reportError", function (e, t, r) {
    var n = e("/lib/jquery"), i = e("/output/modules");
    e("/src/scripts/external"), e("/src/scripts/utils/utils");
    r.exports = function (e, t) {
        n("#errorTipDevotion").click(function () {
            i.report_error.init(e, t)
        })
    }
});
define("/src/scripts/render/dict/queryResult/userDict", function (e, t, r) {
    var n = e("/src/scripts/external"), i = e("/src/scripts/render/dict/queryResult/groupConfigs");
    n.on("setUserDict", function (e) {
        (JSON.parse(e[0]) || []).forEach(function (e, t) {
            var r = e.id.trim(), n = e.name, s = {type: "dictGroup", status: "open", children: {}, current: n};
            s.children[r] = {name: n, parent: r + "_group"}, i.add(r, s, {
                id: r + "_nav",
                name: n,
                navTo: [r + "_group"]
            })
        })
    })
});
define("/src/scripts/render/dict/queryResult/globalVoice", function (e, t, r) {
    var n = e("/output/modules"), i = e("/lib/jquery"), s = e("/src/scripts/render/params"), a = e("/src/scripts/utils/utils"), o = "", l = "http://dict.youdao.com/mvoice?", p = l + "word=", c = l + "method=getInfo&word=", d = l + "method=getVoice&id=", u = function (e, t, r, n) {
        return l + "method=updateVote&word=" + e + "&lang=" + t.toLowerCase() + "&id=" + r + "&type=" + n
    }, f = [], y = function () {
        a.ctlog("", "", "", "deskdict.main", "SHOW", "global_voice_button")
    }, h = function () {
        var e = s.q, t = i("#global_voice_span");
        i.ajax({url: p + e}).done(function (r) {
            r.contain && (t.show(), i("#copyRightOfGlobalVoice").show(), y(), i("#global_voice").click(function (t) {
                i.ajax({url: c + e}).done(function (e) {
                    o = i.now(), e.getVoiceUrl = d, a.lightips.open(n.global_voice.render(e), function () {
                    }, !1), n.global_voice.init()
                })
            }))
        })
    }, m = function () {
        a.lightips.closeMsg(function () {
            var e = i.now(), t = e - o;
            a.ctlog("", "", "", "deskdict.main", "SHOW", "global_voice&show_time=" + t)
        })
    }, _ = function () {
        i("body").delegate(".js-global-close", "click", function (e) {
            m(), e.preventDefault()
        })
    }, g = function () {
        i("body").delegate(".js-global-share-to", "click", function (e) {
            var t = i(this).data("share-type"), r = {
                sina: "1699451730",
                tencent: "youdaodict"
            }, n = {sina: "1222576039", tencent: "801063699"}, s = function (e) {
                return d + e
            }, o = i(this).parent().parent(), l = {
                title: "全球发音",
                headword: o.data("headword"),
                country: o.data("country") || "",
                voice_url: s(o.data("voiceid")),
                down_url: "http://cidian.youdao.com/"
            }, p = "原来" + l.country + "人是这么念" + l.headword + "的！" + l.voice_url + "  @有道词典 全球发音，老外教你最正宗的口音，瞬间高大上啊！下载最新版一起来体验！下载链接：" + l.down_url;
            setTimeout(function () {
                a.shareTo.open(t, {
                    appKey: n[t] || "dict",
                    uid: r[t],
                    title: p,
                    imgUrl: "",
                    location: l.voice_url,
                    charset: "utf-8",
                    width: 620,
                    height: 600
                })
            }, 0), e.preventDefault(), e.stopPropagation(), i(".share-options").hide()
        })
    }, v = function () {
        i("body").delegate(".finger-up, .finger-down", "click", function (e) {
            var t = i("#lang_headword").html(), r = i(this).data("lang"), n = i(this).data("type"), s = i(this).parent().data("voiceid"), a = u(t, r, s, n);
            void 0 === f[t + r + s + n] ? (f[t + r + s + n] = 1, i.get(a, function (e) {
                if (e.status) {
                    var t = i("#vote_num_" + s), r = parseInt(t.text()), a = 1 === n ? r + 1 : r;
                    t.html(a), x("提交成功", 500)
                }
            }, "json")) : x("您已经投过票了", 500)
        })
    }, b = function () {
        i("body").delegate(".btn-show", "click", function (e) {
            var t = i(this).data("type"), r = i(this).data("ctype"), n = i(this).data("listid"), s = "showbtn&lang=" + t, a = "hidebtn&lang=" + t;
            r === s ? i(this).data("ctype", a) : i(this).data("ctype", s), i("#lang_" + n).toggleClass("hide-list"), e.preventDefault()
        }), i("body").delegate(".scroll-btn", "click", function (e) {
            var t = i(this).parent();
            t.hasClass("hide-btn") ? (i(".finger-wrapper").addClass("hide-btn"), t.removeClass("hide-btn")) : i(".finger-wrapper").addClass("hide-btn"), e.preventDefault()
        }), i("body").delegate(".finger .share", "click", function (e) {
            var t = i(this).next(".share-options");
            "none" === t.css("display") ? (i(".share-options").hide(), t.show()) : i(".share-options").hide(), e.preventDefault(), e.stopPropagation()
        })
    }, x = function (e, t) {
        var r = '<span class="bread-tip">' + e + "</span>";
        i("#global_voice_panel").append(r), $(t)
    }, $ = function (e) {
        setTimeout(function () {
            i(".bread-tip").animate({opacity: 0})
        }, e)
    }, w = function () {
        i("body").delegate(".foot_source", "click", function (e) {
            window.open("http://zh.forvo.com/"), e.preventDefault(), e.stopPropagation()
        })
    };
    i(function () {
        g(), v(), b(), w()
    }), r.exports = {initGlobalVoice: h, close: m, initCloseBtn: _}
});
define("/src/scripts/render/dict/queryResult/index", function (e, t, r) {
    var n = e("/output/modules"), i = e("/lib/jquery"), s = e("/src/scripts/utils/store"), a = e("/src/scripts/render/params"), o = e("/src/scripts/render/dict/queryResult/dog"), l = e("/src/scripts/render/dict/queryResult/groupConfigs"), p = e("/src/scripts/render/dict/queryResult/basicParaphrase"), c = e("/src/scripts/render/dict/quick"), d = e("/src/scripts/render/dict/queryResult/transDevotion"), u = e("/src/scripts/render/dict/queryResult/reportError"), f = e("/src/scripts/utils/utils"), y = e("/src/scripts/router/storedHistory"), h = (e("/src/scripts/render/dict/queryResult/userDict"), e("/src/scripts/external")), m = e("/src/scripts/render/dict/queryResult/globalVoice"), _ = "正在加载...", g = s("groupStatus").local;
    global.willPromoShow = !1;
    var v = s("promoClose").local, b = !1, x = 0, w = function (e) {
        var t = i.extend({}, g.value || {}), r = i.extend({}, l), s = i.extend(!0, r, t);
        document.getElementById(e || k).innerHTML = n.queryresult.render(s), setTimeout(function () {
            n.queryresult.init()
        }, 0)
    }, $ = 0, k = "queryResult1", C = "queryResult0", j = function () {
        i("#queryResult0").size() > 0 && i("#queryResult1").size() > 0 && i("#" + C).empty().remove(), k = "queryResult" + $ % 2, C = "queryResult" + ($ + 1) % 2, $++, i("#tab_dict").prepend('<div id="' + k + '"></div>'), i("#" + C).hide(), i("#" + C + " [id]").attr("id", "____"), w(k)
    };
    ke("group").on("toggleChange", function (e, t) {
        var r = g.value;
        "undefined" == typeof r[e] && (r[e] = {}), r[e].status = t, g.valmix = r
    });
    var q = function () {
        i("#results-content .tab-nav a.tab-menu", "#" + k).unbind("click.tabStatus").bind("click.tabStatus", "click", function (e) {
            var t = g.value, r = i(this).closest(".dict-group").attr("id");
            "undefined" == typeof t[r] && (t[r] = {}), t[r].current = i(this).data("rel"), g.valmix = t, e.preventDefault()
        }), f.group(l), i("#wordbook", "#" + k).unbind("click.addWordbook").bind("click.addWordbook", function (e) {
            var t = i(this).data("wordbook");
            if (t.word)if (i(this).hasClass("added"))h.modWord(t.word); else {
                var r = s("autoPlaySoundStatus").local.value.type || 0, n = [t.ukPhone, t.usPhone];
                i(this).addClass("added").attr("title", "单词[" + t.word + "]已添加到单词本，点击修改"), h.addWord(t.word || "", n[r] || n[1 - r] || t.phone || "", t.trans.join(";\r\n") || "")
            }
        })
    }, T = function () {
        i("#dict").delegate("a.js-inline-clickable", "click", function (e) {
            var t = i(this).text();
            window.search("dict", [t, a.le], "deskdict.app_link"), e.preventDefault()
        }), i("#dict").delegate('[href^="link:"]', "click", function (e) {
            var t = i(this).text();
            window.search("dict", [t, a.le], "deskdict.app_link"), e.preventDefault()
        })
    }, S = function () {
        i("#dict").delegate("#example_group .more", "click", function (e) {
            var t = i(this).data("example-type");
            window.search("example", [a.q, a.le, t], "deskdict.app_link"), e.preventDefault()
        })
    }, E = function () {
        i("#dict").delegate(".js-go-baike", "click", function (e) {
            var t = i(this).data("key"), r = i(this).data("type");
            window.search("baikeDetail", [t, a.le, r], "deskdict.app_link"), e.preventDefault()
        })
    }, W = function () {
        i("#dict").delegate("#promotionAd", "mouseenter", function (e) {
            i("#promotionAd").css("background", "#f5f5f5"), i("#delPromo").removeClass("hidden")
        }), i("#dict").delegate("#promotionAd", "mouseleave", function (e) {
            i("#promotionAd").css("background", ""), i("#delPromo").addClass("hidden")
        }), i("#dict").delegate("#delPromo", "click", function (e) {
            i("#promotionAd").remove(), v.val = {closeTime: Date.now()}, e.preventDefault()
        })
    }, D = function () {
        i("#dict").delegate("a.collapse", "click", function () {
            var e = i(this).closest(".collapseDock");
            e.hasClass("collapse-more") ? i(this).closest(".collapseDock").removeClass("collapse-more") : i(this).closest(".collapseDock").addClass("collapse-more")
        })
    }, O = function (e, t, r) {
        var s = n[e];
        if ("undefined" != typeof s) {
            var o = i("#" + t, "#" + k);
            if (o.size() < 0 || "" !== o.text() && o.text() !== _ && i.inArray(t, N) < 0)return;
            var l = o.data("group"), p = i("#" + t + "_tab", "#" + k), c = i("#" + l, "#" + k), d = i("#" + c.data("nav"), "#" + k);
            if (p.removeClass("js-empty"), p.hasClass("current") && o.show(), c.removeClass("js-empty"), d.removeClass("js-empty"), "" === r)return void o.html(_);
            o[0].innerHTML = s.render(r), o.addClass("show-done"), "user_dict" === e && i("#user_dict").append(c), global.willPromoShow = !v.value.closeTime || v.value.closeTime && Date.now() - v.value.closeTime > 864e5, N.indexOf(e) > -1 && 0 === i("#promotionAd").size() && global.willPromoShow && 0 === x && (x = 1, yadkConfig.q = "m_words:" + a.q.slice(0, 20), yadk.fetch(function (e) {
                if (x = 0, e && 0 !== e.length) {
                }
            })), setTimeout(function () {
                s.init()
            }, 0)
        }
    }, H = {}, A = !1, P = function (t, r, s) {
        void 0 !== t.cj && (A = !0), A && (i("#jc").html(""), delete t.jc), r.isNewSearch && (j(), e("/src/scripts/render/index").changeFrame("all", !0), deskdict.setSelect()), o.dogVerify(t);
        for (var c in t)if (t.hasOwnProperty(c))if ("object" == typeof t[c] && "undefined" == typeof t[c].lang && (t[c].lang = s), "user_dict" !== c)O(c, c, t[c]); else for (var f = t[c], _ = 0, g = f.length; _ < g; _++)O("user_dict", f[_].id, f[_].value);
        if (H = i.extend(!0, H, t), r.isFinish) {
            var v = p(H);
            v.word = a.q, i("#wordbook", "#" + k).data("wordbook", v), h.checkWordBook(v.word, function (e) {
                e && v.word === e[0] && (i("#wordbook", "#" + k).removeClass("hidden"), e && e[1] ? i("#wordbook", "#" + k).addClass("added").attr("title", "单词[" + v.word + "]已添加到单词本，点击修改") : i("#wordbook", "#" + k).removeClass("added").attr("title", "添加到单词本"))
            });
            for (var b in l)if (l.hasOwnProperty(b)) {
                var x = i("#" + b + " .tab-nav a.tab-menu.current", "#" + k);
                if (x.hasClass("js-empty")) {
                    x.removeClass("current");
                    var w = i("#" + b + " .tab-nav a.tab-menu:not(.js-empty)", "#" + k).eq(0).addClass("current");
                    i("#" + w.data("rel"), "#" + k).show()
                }
            }
            L(H) && void 0 === H.web_trans && d(a.q, a.le), u(a.q, a.le), H.ec && H.ec.word && H.ec.word[0] && y.dict.attr(0, "speechParam", H.ec.word[0].ukspeech), y.dict.attr(0, "lang", s), i("#copyright").html(n.copyright.render(H)), H = {}, y.dict.attr(0, "trans", v.trans.join(";") || ""), y.dict.attr(0, "phone", v.phone || ""), y.dict.attr(0, "usphone", v.usPhone || ""), y.dict.attr(0, "ukphone", v.ukPhone || ""), D(), q(), i("#" + C).empty().remove(), m.initGlobalVoice()
        }
    };
    i(function () {
        T(), S(), E(), W(), i("#dict").delegate("a.js-go-index", "click", function () {
            window.search("dict", ["", a.le], "deskdict.main")
        }), m.initCloseBtn()
    });
    var N = ["ec", "ce", "fc", "cf", "kc", "ck", "jc", "cj"], L = function (e) {
        for (var t = 0, r = N.length; t < r; t++)if (e[N[t]])return !1;
        return !0
    }, I = !1, F = !1, R = !1, M = !1, z = {}, B = function (e, t) {
        i.extend(z, e), I = L(z), 1 === i(Object.keys(z)).size() && (F = void 0 !== z.typos), t.isFinish && (M = I || F, "network_error" === e.error && (R = !0, i.extend(e, {netError: {error: !0}})), M && i.extend(e, {
            noresult: {
                lang: i(".js-lang-type").data("lang"),
                input: a.q,
                showWord: I && void 0 === z.fanyi,
                showNoResultTips: i.isEmptyObject(z) || I && R || F
            }
        }), b = s("autoPlaySoundStatus").local.value.auto && !I, z = {}, I = R = F = M = !1)
    }, U = 0, V = function (e, t, r, n, o) {
        A = !1;
        var l = c.typoData(), p = l.lang_err ? l.lang_err.tarLang : t, d = JSON.stringify({lang: p});
        h.mainQuery(a.keyfrom, n || 0, e, d, function (e) {
            if (o !== U)return !1;
            if (!Array.isArray(e))return !1;
            var t = JSON.parse(e[2] || {}), r = JSON.parse(e[1]) || {};
            B(r, t), i.extend(!0, r, l), P(i.extend(!0, {}, r), t, p), setTimeout(function () {
                if (D(), t.isFinish && b) {
                    var e = s("autoPlaySoundStatus").local.value.type || 0;
                    3 === i(".voice-js").size() ? i(".voice-js")[e].click() : i(".voice-js")[0].click()
                }
                i("#dict").hasClass("open") || i("#qrcode").css("display", "")
            }, 0)
        })
    };
    r.exports.render = function (e, t, r, n) {
        f.speech.stopVideoAndVoice(), m.close(), V(e || a.q, t || a.le, r, n, ++U)
    }, r.exports.generateLayout = w
});
define("/src/scripts/render/example/data", function (e, t, r) {
    var n = {
        blng: {type: "blng", chrInput: "双语例句", description: "海量例句，可以按难度查看口语、书面语、论文例句。"},
        auth: {type: "auth", chrInput: "权威例句", description: "例句来自权威英文网站、英文论文等，提供最专业的例句。"},
        mdia: {type: "mdia", chrInput: "原声例句", description: "例句来自VOA、美剧等，您可以边看美剧边学地道的美语。"}
    }, i = {blng: "双语例句", auth: "权威例句", mdia: "原声例句"}, s = {
        blng: {
            optional: "&ljtype=blng&ljblngcont=0",
            selectedExampleType: [".sub_0_all"],
            mainIdx: 0,
            ljtype: "blng"
        },
        mdia: {optional: "&ljtype=mdia&ljmdiacont=0", selectedExampleType: [".sub_1_all"], mainIdx: 1, ljtype: "mdia"},
        auth: {optional: "&ljtype=auth", mainIdx: 2, ljtype: "auth"}
    }, a = {
        network_error: "example_network_error",
        local_noresult: "example_local_noresult",
        local_result: "example_local_result"
    };
    r.exports = {catalogForCorrectionData: n, catalogType: i, exampleTypes: s, offlineStatus: a}
});
define("/src/scripts/utils/component/collapse", function (e, t, r) {
    var n, i = e("/lib/jquery");
    n = function (e, t) {
        this.target = e, this.options = {
            mainCatalog: "#example_navigator .main-catalog",
            subCatalog: "#example_navigator .sub-catalog",
            mainIdx: 0,
            subIdx: [".sub_0_all"],
            mainSelClass: "main-catalog-selected",
            subSelClass: "sub-catalog-selected",
            status: "hide",
            mainCallBack: function () {
            },
            subCallBack: function () {
            }
        }, this.opts = i.extend({}, this.options, t), this.init()
    }, i.extend(n.prototype, {
        init: function () {
            var e = this;
            e.initMain(), e.initSub(), e.setMainStatus(e.opts.mainIdx), e.setSubStatus()
        }, setSubStatus: function () {
            var e = this;
            i(e.opts.subCatalog).find("li").removeClass(e.opts.subSelClass);
            for (var t = 0; t < e.opts.subIdx.length; t++)i(e.opts.subIdx[t]).addClass(e.opts.subSelClass)
        }, setMainStatus: function (e) {
            var t = this;
            i(i(t.opts.mainCatalog)[e]).addClass(t.opts.mainSelClass), i(i(t.opts.subCatalog))[t.opts.status](), i(i(t.opts.subCatalog)[e]).length > 0 && i(i(t.opts.subCatalog)[e]).show()
        }, initMain: function () {
            var e = this, t = i(e.opts.mainCatalog);
            t.each(function (r) {
                i(this).click(function () {
                    t.removeClass(e.opts.mainSelClass), i(this).addClass(e.opts.mainSelClass), e.setMainStatus(r), e.opts.mainCallBack(i(this))
                })
            }), i("#example_navigator a").click(function (e) {
                e.preventDefault()
            }).attr("hidefocus", !0)
        }, initSub: function () {
            var e = this, t = i(e.opts.subCatalog);
            t.each(function () {
                var t = i(this).find("li");
                i(this).find("li").removeClass(e.opts.subSelClass), t.click(function () {
                    t.removeClass(e.opts.subSelClass), i(this).addClass(e.opts.subSelClass), e.opts.subCallBack(i(this))
                })
            })
        }
    }), r.exports = function (e, t) {
        return new n(e, t)
    }
});
define("/src/scripts/render/example/example", function (e, t, r) {
    function n(e) {
        void 0 !== e && (o = f.exampleTypes[e], y(l("#example_navigator"), {
            mainIdx: o.mainIdx || 0,
            subIdx: o.selectedExampleType || [".sub_0_all"]
        }))
    }

    var i, s = -999, a = !1, o = {}, l = e("/lib/jquery"), p = e("/output/modules"), c = e("/src/scripts/external"), d = e("/src/scripts/render/params"), u = e("/lib/tpHelper/html"), f = e("/src/scripts/render/example/data"), y = e("/src/scripts/utils/component/collapse"), h = {};
    e("/src/scripts/utils/component/toggle")({
        trigger: l('[data-toggle = "yd_collapse_dict_example_layout"]'),
        open: function () {
            l("#dict").removeClass("open")
        },
        isOpen: function () {
            return l("#dict").hasClass("open")
        },
        close: function () {
            l("#dict").addClass("open")
        }
    }).init();
    y(l("#example_navigator"), {
        mainIdx: o.mainIdx || 0,
        subIdx: o.selectedExampleType || [".sub_0_all"],
        mainCallBack: function (e) {
            var t = e.siblings();
            e.hasClass("main-catalog") && t.length > 0 && (t.find("li").removeClass("sub-catalog-selected"), t.find("li:first-child").addClass("sub-catalog-selected"))
        }
    });
    var m = function (e) {
        var t = h[d.q].current_type || "blng", r = '<p class="search-tip">当前分类下找不到<b>' + u.escape(d.q) + "</b>的例句</p>";
        if ("eng" === d.le) {
            h[d.q][t + "_status"] = !0, i && (r += '<p class="js-example-type search-tip" data-type="' + t + '" >查看' + f.catalogType[t] + '分类下的<a href="javascript:;" class="clickable">全部例句</a></p>');
            var n = 0;
            for (var s in f.catalogType)h[d.q][s + "_status"] || (0 == n && (r += '<p class="search-tip other-catalogs">或者看看其他分类</p>', n = 1), r += p.example_correction_type.render(f.catalogForCorrectionData[s]))
        }
        l("#" + e).html(r)
    }, _ = function (e, t, r) {
        var n = p[e];
        if (e = "example-typos" === e ? "typos" : e, n && (l("#example_nav_content").children("div").empty(), void 0 !== r[e])) {
            var i = "eng" === r.lang ? l.extend(r[e], {lang: "eng"}) : r[e];
            l("#" + t)[0].innerHTML = n.render(i), setTimeout(function () {
                n.init()
            }, 0)
        }
    }, g = function (t, r, n) {
        c.exampleQuery(d.keyfrom, 0, t, r, function (t) {
            e("/src/scripts/render/index").changeFrame("all", !0);
            var r = JSON.parse(t[1] || "{}");
            l.isFunction(n) && n(r)
        })
    }, v = function () {
        l("body").delegate(".per-type", "click", function (e) {
            var t = l(this), r = t.data("element"), n = l(".group_1 .sub-catalog-selected").data("ljcont"), i = "&ljtype=blng&ljblngcont=" + n + "&ljtran=" + encodeURIComponent(r);
            g(d.q, i, function (e) {
                e.blng_sents && (s = e.blng_sents.index = l(".per-type").index(t), a = e.blng_sents.showAllExplanation = !0), w("blng", e)
            }), l(".js-example-item-title").addClass("show-all-explanation"), e.preventDefault()
        })
    }, b = function () {
        l("body").delegate(".allExplanation", "click", function (e) {
            var t = l(".group_1 .sub-catalog-selected").data("ljcont"), r = "&ljtype=blng&ljblngcont=" + t;
            g(d.q, r, function (e) {
                e.blng_sents && (s = e.blng_sents.index = -999, a = e.blng_sents.showAllExplanation = !1), w("blng", e)
            }), l(".js-example-item-title").removeClass("show-all-explanation"), e.preventDefault()
        })
    }, x = function (e) {
        var t, r = "main-catalog" == e.data("role") ? e.parents(".main-catalog").siblings().find("li:first-child").data("ljcont") : e.parent().data("ljcont"), n = e.closest(".example-aside-group"), i = n.data("example-group");
        switch (i) {
            case"blng":
                var s = l.trim(l(".per-type.cur").text());
                t = "" !== s ? "&ljtype=blng&ljblngcont=" + r + "&ljtran=" + encodeURIComponent(s) : "&ljtype=blng&ljblngcont=" + r;
                break;
            case"mdia":
                t = "&ljtype=mdia&ljmdia=" + r;
                break;
            case"auth":
                t = "&ljtype=auth"
        }
        return {optional: t, ljtype: i}
    }, w = function (e, t) {
        e = "mdia" === e ? "media" : e, t[e + "_sents"] ? (_(e + "_sents", "example_sents_content", t), t.typos && (l("#example_lang_typos_group")[0].innerHTML = p["example-typos"].render(t.typos))) : (e = "media" === e ? "mdia" : e, void 0 === h[d.q] && (h[d.q] = {}), h[d.q][e + "_status"] = !0, t.typos ? (_("example-typos", "example_lang_typos_group", t), m("example_no_result")) : (l("#example_nav_content").children("div").empty(), l("#dict").addClass("example"), m("example_no_result"))), l("#example_nav_content").scrollTop(0)
    }, $ = function () {
        l("body").delegate("#example_navigator a", "click", function (e) {
            var t = l(this), r = x(t).optional, n = x(t).ljtype;
            void 0 == h[d.q] && (h[d.q] = {current_type: ""}), h[d.q].current_type = n, i = !("main-catalog" === t.data("role")), g(d.q, r, function (e) {
                "blng" === n && e.blng_sents ? (e.blng_sents.showAllExplanation = a, e.blng_sents.index = s) : "mdia" !== n && "auth" !== n || (a = !1, s = -999), w(n, e)
            });
            var p = l.contains(l(".main-catalog").get(0), t.get(0)) ? t.parents(".main-catalog").siblings().find("li:first-child") : t.parent();
            o = {
                ljtype: n,
                optional: r,
                mainIdx: l(".example-aside-group").index(t.closest(".example-aside-group")),
                selectedExampleType: ["." + l.trim(p.attr("class").replace("sub-catalog-selected", ""))]
            }, e.preventDefault()
        })
    }, C = function () {
        l("body").delegate(".js-example-type ", "click", function (e) {
            var t = l(this), r = t.data("type");
            l("#group_" + r).find(".main-catalog a").trigger("click"), e.preventDefault()
        })
    }, j = function () {
        l("body").delegate(".js-lj-inline-word", "click", function (e) {
            void 0 === h[d.q] && (h[d.q] = {current_type: l(".sub-catalog-selected").closest(".example-aside-group").data("example-group")});
            var t = l(this), r = h[d.q].current_type || "blng", n = t.data("query"), i = "&ljtype=" + r + ("auth" == r ? "" : "&lj" + r + "cont=0");
            g(n, i, function (e) {
                w(r, e)
            }), l("#queryinput").val(n), e.preventDefault()
        })
    }, k = function () {
        v(), $(), b(), C(), j()
    };
    k();
    var q = function (e, t) {
        l("#example").addClass("hideNavSide");
        var r = f.offlineStatus[t.error];
        t.media_sents || t.blng_sents || t.auth_sents || t.typos ? (t.media_sents || t.blng_sents || t.auth_sents) && "local_result" === t.error && w(e, t) : l("#example_nav_content div").empty(), l("#example_offline")[0].innerHTML = p[r].render(t)
    }, T = function () {
        var e = d.le;
        "jap" === e || "fr" === e || "ko" === e ? l("#example").addClass("hideNavSide") : l("#example").removeClass("hideNavSide")
    };
    r.exports.render = function (t, r, i) {
        e("/src/scripts/utils/component/speech").stopVideoAndVoice(), n(i);
        var s = o.ljtype || "blng";
        g(t || d.q, o.optional || "&ljtype=blng&ljblngcont=0", function (e) {
            void 0 === h[t || d.q] && (h[t || d.q] = {current_type: s}), e.error ? q(s, e) : (T(), w(s, e))
        }), deskdict.setSelect()
    }
});
define("/src/scripts/render/example/welcome", function (e, t, r) {
    var n = e("/output/modules");
    r.exports.render = function () {
        e("/src/scripts/render/index").changeFrame("all", !0), $("#example_welcome")[0].innerHTML = n.example_welcome.render({})
    }
});
define("/src/scripts/render/baikeDetail/baike", function (e, t, r) {
    var n = e("/output/modules"), i = e("/src/scripts/render/params"), s = e("/src/scripts/external"), a = function (e, t, r) {
        $("#dict").addClass("baikeDetail"), $("#baikeDetail").html(n[r].render(e[t])), n[t].init()
    }, o = function (t, r) {
        s.wikiQuery(i.keyfrom, 0, t || i.q, "&dicts=" + encodeURIComponent('{"count":1, "dicts"=[[' + r + "]]}"), function (t) {
            e("/src/scripts/render/index").changeFrame("all", !0);
            var r = JSON.parse(t[1]);
            r.baike_detail ? a(r, "baike_detail", "baike_detail") : r.baike_relative ? a(r, "baike_relative", "baike_relative") : r.typos ? $("#baikeDetail").html(n.baike_nomatch_with_typo.render(r)) : r.error ? $("#baikeDetail").html(n.baike_offline_noResult.render(r)) : $("#baikeDetail").html(n.baike_nomatch.render(r))
        })
    };
    $(function () {
        var e = /&wikisearch$/;
        $("#dict").on("click", ".js-go-detail", function (e) {
            window.search("baikeDetail", [$(this).data("rel"), void 0, "baike_detail"], "deskdict.app_link"), e.preventDefault()
        }), $("#dict").on("click", 'a[href^="app:bk:"]', function (t) {
            var r = $(this).attr("href"), n = "baike_detail";
            e.test(r) && (n = "baike_relative");
            var i = decodeURIComponent(r.replace(e, "").replace(/^app:bk:/g, ""));
            window.search("baikeDetail", [i, void 0, n], "deskdict.app_link"), t.preventDefault()
        })
    }), r.exports.render = function (e, t, r) {
        r = void 0 !== r ? '"' + r + '"' : '"baike_detail","baike_relative"', o(e || i.q, r), deskdict.setSelect(), $("#baikeDetail").on("click", "a", function () {
            $(this).attr("target", "_blank")
        })
    }
});
define("/src/scripts/render/baikeDetail/welcome", function (e, t, r) {
    var n = n = e("/output/modules");
    r.exports.render = function () {
        e("/src/scripts/render/index").changeFrame("all", !0), $("#baike_welcome")[0].innerHTML = n.baike_welcome.render({})
    }
});
define("/src/scripts/render/trans", function (e, t, r) {
    function n() {
        a("#langList").toggle().removeClass("fadeInUp fadeInDown"), a("#translateWnd").hasClass("layout-horizontal") ? a("#langList").addClass("fadeInDown") : a("#langList").addClass("fadeInUp")
    }

    function i() {
        var e = "";
        if (a("#lineButton").hasClass("showline"))for (var t = 0; t < f.length; t++)e = e + '<span id="tran_' + t + '" data-aligning="#tran_' + t + ",#src_" + t + '">', e = e + "<p>" + l.escape(f[t]) + "</p>", e = e + '<p class="copied">' + h[t] + "</p></br></span>"; else for (var r = 0, t = 0; t < m.length; t++)"" === m[t] ? e += "</br>" : (e = e + '<span id="tran_' + r + '" data-aligning="#tran_' + r + ",#src_" + r + '" class="copied">' + m[t] + "</span>", r++);
        a("#translateResult").html(e), v = a("#translateResult").text()
    }

    function s(e) {
        if (a("#inProgress").hide(), p.dogVerify(e), e && e[0]) {
            var t = JSON.parse(e[0]);
            if (void 0 != t.errorCode && "" != t.errorCode) {
                var r = t.errorCode;
                switch (a(".translation-mod").removeClass("has-text"), a(".translation-mod").removeClass("got-text"), a(".translation-mod").addClass("edited"), r) {
                    case 10:
                        return a("#translateResult").html("输入文本中某些句子过长，翻译未全部完成！"), void a("#smartResult").html("");
                    case 20:
                        return a("#translateResult").html("输入文本过长，翻译未全部完成！"), void a("#smartResult").html("");
                    case 30:
                        return a("#translateResult").html("无法进行有效翻译！"), void a("#smartResult").html("");
                    case 40:
                        return a("#translateResult").html("输入文本类型不支持！"), void a("#smartResult").html("")
                }
            }
            if (void 0 == t.smartResult || "" == t.smartResult)a("#smartResult").html(""); else if (void 0 != t.smartResult.entries && "" != t.smartResult.entries) {
                var n = t.smartResult.entries, s = "<sapn>有道词典结果</span></br>";
                for (var o in n)"" != n[o] && (s = s + n[o] + "</br>");
                s = s + '<a id="moreDict" data-source="' + encodeURIComponent(a("#tranInput").text().replace(/(^\s*)|(\s*$)/g, "")) + '" href="#">更多释义</a>', a("#smartResult").html(s), a("#moreDict").unbind(), a("#moreDict").click(function () {
                    return window.search("dict", [decodeURIComponent(a(this).data("source")), "eng"], "deskdict.app_link"), c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiSwitchToDict"), !1
                })
            }
            if (void 0 === t.translateResult || "" == t.translateResult)a("#translateResult").html(""); else {
                var d = "";
                if (void 0 === t.translateResult[0] || void 0 === t.translateResult[0][0])a("#translateResult").html(""); else {
                    for (var u = 0, y = 0, _ = 0; _ < t.translateResult.length; _++) {
                        var v = t.translateResult[_];
                        for (var o in v)if (void 0 != v[o] || "" != v[o]) {
                            var x = v[o], w = x.src.trim(), $ = x.tgt.trim();
                            "" == w && "" == $ || (f[u] = x.src, h[u] = x.tgt, d = d + '<span id="src_' + u + '" data-aligning="#src_' + u + ",#tran_" + u + '">' + l.escape(x.src) + "</span>", u++), m[y] = x.tgt, y++
                        }
                        d += "</br>", m[y] = "", y++
                    }
                    a("#tranInput").html(d), g = a("tranInput").text(), i(), k(b ? !0 : !1)
                }
            }
            void 0 == t.error || "" == t.error ? (a("#fanyiNetError").hide(), a(".translation-mod").addClass("got-text"), a(".translation-mod").removeClass("edited")) : (a("#fanyiNetError").show(), a(".translation-mod").removeClass("has-text"), a(".translation-mod").removeClass("got-text"), a(".translation-mod").addClass("edited"))
        }
    }

    var a = (e("/output/modules"), e("/lib/jquery")), o = e("/src/scripts/external"), l = (e("/src/scripts/utils/component/toggle")({
        trigger: a('[data-toggle = "yd_collapse_fanyi"]'),
        open: function () {
            a("#trans ").removeClass("open")
        },
        isOpen: function () {
            return a("#trans").hasClass("open")
        },
        close: function () {
            a("#trans").addClass("open")
        }
    }).init(), e("/lib/tpHelper/html")), p = e("/src/scripts/render/dict/queryResult/dog"), c = e("/src/scripts/utils/utils"), d = e("/src/scripts/utils/store");
    d("pageDisplay").local.value.type && a("#translateWnd").removeClass().addClass("container layout-" + d("pageDisplay").local.value.type), ke("trans").on("leave", function () {
        a("#TransWebPage").hide()
    }), ke("trans").on("enter", function () {
        a("#tranInput").focus(), c.selectContentAt(a("#tranInput")[0]), d("TransWebPage").local.value.TransWebPage || (a("#TransWebPage").fadeIn().fadeOut(5e3, "linear", function () {
            a(this).hide()
        }), a(".close-web-page-tip").click(function (e) {
            a("#TransWebPage").hide(), e.stopPropagation()
        }), d("TransWebPage").local.val = {TransWebPage: !0})
    });
    var u, f = [], h = [], y = [], m = [], _ = "AUTO", g = "", v = "", b = !1;
    a(".js-ver").click(function () {
        return a("#tranInput").focus(), c.selectContentAt(a("#tranInput")[0]), !a("#translateWnd").hasClass("layout-vertical") && (a("#translateWnd").removeClass("layout-horizontal").addClass("layout-vertical"), d("pageDisplay").local.val = {type: "vertical"}, void c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiToVertical"))
    }), a(".js-hor").click(function () {
        return a("#tranInput").focus(), c.selectContentAt(a("#tranInput")[0]), !a("#translateWnd").hasClass("layout-horizontal") && (a("#translateWnd").removeClass("layout-vertical").addClass("layout-horizontal"), d("pageDisplay").local.val = {type: "horizontal"}, void c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiToHorizontal"))
    }), a("#langOption").click(function (e) {
        n(), e.stopPropagation()
    }), a("#langList").delegate("li", "mouseover", function () {
        a("#langList .selected").removeClass("selected"), a(this).addClass("selected")
    }).delegate("li", "click", function (e) {
        n(), a("#langOption").text(a(this).text().slice(0, 4)), _ = a(this).data("lang"), e.stopPropagation()
    }), a("body").bind("click", function () {
        a("#langList").hide()
    });
    var x = 2e3, w = 0;
    a(".edit").on("input", function () {
        $this = a(this);
        var e = $this.html(), t = $this.text().length - 1;
        if (t < x)w = $this.html().length; else {
            var r = e.substr(0, w);
            a(this).html(r);
            var n = document.createRange();
            n.selectNodeContents(this);
            var i = window.getSelection();
            i.removeAllRanges(), i.addRange(n), i.collapse(!0)
        }
        if ("" != a("#tranInput").html() && 0 != global.status.online) {
            var s = a("#tranInput").text();
            "" != s ? a(".translation-mod").addClass("has-text") : a(".translation-mod").removeClass("has-text")
        }
    });
    var $ = function () {
        a("#tranInput").delegate("span", "mouseover", function () {
            var e;
            if (!a(this).hasClass("changed")) {
                var t = a(this)[0].parentNode.getElementsByTagName("span");
                for (e = 0; e < t.length; e++)if (t[e] == a(this)[0]) {
                    var r = t[e], n = r.outerText;
                    if (n != f[e])return void a(this).addClass("changed");
                    break
                }
                if (e != t.length) {
                    var i = a("#translateResult")[0].getElementsByClassName("copied"), s = i[e], o = s.outerText;
                    if (o != h[e])return void a(this).addClass("changed")
                }
                a(a(this).data("aligning")).addClass("highLight");
                var l = a(this).data("aligning").split(",")[1], p = "tranInput" === a(this).parent().attr("id") ? "#tranOutput" : "#tranInput";
                a(p).scrollTop(a(l).offset().top - a(p).offset().top + a(p).scrollTop())
            }
        }), a("#translateResult").delegate("span", "mouseover", function () {
            var e;
            if (!a(this).hasClass("changed")) {
                var t = a(this)[0].parentNode.getElementsByClassName("copied");
                for (e = 0; e < t.length; e++)if (t[e] == a(this)[0]) {
                    var r = t[e], n = r.outerText;
                    if (n != h[e])return void a(this).addClass("changed")
                }
                if (e != t.length) {
                    var i = a("#tranInput")[0].getElementsByTagName("span"), s = i[e], o = s.outerText;
                    if (o != f[e])return void a(this).addClass("changed")
                }
                a(a(this).data("aligning")).addClass("highLight");
                var l = a(this).data("aligning").split(",")[1], p = "tranInput" === a(this).parent().attr("id") ? "#tranOutput" : "#tranInput";
                a(p).scrollTop(a(l).offset().top - a(p).offset().top + a(p).scrollTop())
            }
        }), a(".edit").delegate("span", "mouseout", function () {
            a(a(this).data("aligning")).removeClass("highLight")
        }), a(".edit").delegate("span", "click", function () {
            void 0 != u && u.removeClass("inactive"), a(this).addClass("inactive"), u = a(this)
        })
    }, C = function () {
        a("#fanyiNetError").is(":visible") && a("#fanyiNetError").hide(), a("#inProgress").show();
        var e = document.getElementById("tranInput"), t = e.innerText;
        "" == t.trim() && (t = e.textContent);
        var r = "{lang:" + _ + "}";
        f = [], h = [], y = [], m = [], o.transQuery("deskdict.main", 0, t, r, _, function (e) {
            s(e)
        })
    }, k = function (e) {
        if ("" != a("#tranInput").html() && 0 != global.status.online) {
            a(".translation-mod").addClass("has-text");
            var t, r = "", n = "";
            try {
                if (t = window.getSelection(), "Range" == t.type) {
                    var i = t.anchorNode.data, s = t.getRangeAt(0);
                    r = i.substring(s.startOffset, s.endOffset)
                }
                "Caret" != t.type && (t = void 0)
            } catch (l) {
            }
            if ("" != r)return n = "all=1####cur=1####1=", n += r, void o.setSimiData(n, e);
            if (void 0 != t && f.length > 0) {
                selectText = t.anchorNode.data;
                for (var p = 0, c = 0, d = "", u = 0; u < f.length; u++)if ("" != f[u]) {
                    var h = c + 1;
                    selectText == f[u] && (p = u), d = d + "####" + h + "=" + f[u], c++
                }
                var y = p + 1;
                return n = "all=" + f.length, n = n + "####cur=" + y, n += d, void o.setSimiData(n, e)
            }
            if (f.length > 0 && !a(".translation-mod").hasClass("edited")) {
                for (var c = 0, d = "", u = 0; u < f.length; u++)if ("" != f[u]) {
                    var h = c + 1;
                    d = d + "####" + h + "=" + f[u], c++
                }
                return n = "all=" + f.length, n += "####cur=1", n += d, void o.setSimiData(n, e)
            }
            r = a("#tranInput")[0].outerText, n = "all=1####cur=1####1=", n += r, o.setSimiData(n, e)
        }
    };
    a("body").keydown(function (e) {
        if (e.ctrlKey && 13 == e.keyCode && a("#translateWnd").is(":visible"))return "" !== a.trim(a("#tranInput").text()) && (b = !1, C()), c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiTranslateByCTRLENTER"), !1
    }), a("#lineButton").unbind(), a("#tranButton").click(function () {
        return a("#langList").is(":visible") && n(), "" !== a.trim(a("#tranInput").text()) && (b = !1, C()), c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiTranslateByButton"), !1
    }), o.on("changeCurClick", function (e) {
        var t = e[0], r = e[1];
        if (f[t] == r) {
            var n = a("#tranInput")[0].getElementsByTagName("span"), i = n[t], s = i.outerText;
            if (s != f[t])return void i.addClass("changed");
            void 0 != u && u.removeClass("inactive");
            var o = a(i);
            o.addClass("inactive"), u = o
        }
    }), a("#lineButton").click(function () {
        return a(this).hasClass("showline") ? (a(this).text("逐句对照"), a(this).attr("title", "逐句对照"), a(this).removeClass("showline"), i(), c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiShowLineCancel")) : (a(this).text("取消对照"), a(this).attr("title", "取消对照"), a(this).addClass("showline"), i(), c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiShowLine")), !1
    }), a("#copyButton").click(function () {
        for (var e = document.getElementById("translateResult"), t = "", r = e.getElementsByClassName("copied"), n = 0; n < r.length; n++) {
            var i = r.item(n), s = i.outerText;
            t += s
        }
        return o.copyText(t), a(this).text("已复制"), c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiCopyTranslation"), setTimeout(function () {
            a("#copyButton").text("复制译文")
        }, 500), !1
    }), a(".js-cleanButton").click(function () {
        a("#tranInput").html(""), a("#translateResult").html(""), a("#smartResult").html(""), a("#fanyiNetError").hide(), a(".translation-mod").removeClass("got-text"), a(".translation-mod").removeClass("has-text"), f = [], h = [], y = [], m = [], g = "", v = "", o.setSimiData("", !1), c.ctlog("", "", 0, "deskdict.main", "CLICK", "Clear"), a("#trans").hasClass("open") && a("#toggleFanyiNav").click(), a("#inProgress").hide()
    }), a("#simiButton").click(function () {
        b = !0, C(), k(!0), c.ctlog("", "", 0, "deskdict.main", "CLICK", "ShowSimi")
    }), a("#handinputButton").click(function () {
        o.showHandInput()
    }), $(), a("#tranInput").mouseup(function () {
        k(!1)
    }), a("#fanyiNetError").hide(), a("#tranInput").blur(function () {
        var e = a("#tranInput").text();
        e != g && ("" != g && (a(".translation-mod").addClass("edited"), e != g && (c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiEditInInput"), f = [])), g = e)
    }), a("#translateResult").blur(function () {
        var e = a("#translateResult").text();
        e != v && ("" != v && (a(".translation-mod").addClass("edited"), e != v && c.ctlog("", "", 0, "deskdict.main", "CLICK", "FanYiEditInOutput")), v = e)
    }), r.exports.render = function (e, t) {
        if (arguments.length > 1) {
            var r = arguments[0], n = arguments[1];
            a("#tranInput").text(r), a("#langList li").eq(n).click(), a("#tranButton").click(), a("#langList").hide()
        }
    }
});
define("/src/scripts/render/index", function (e, t, r) {
    var n = e("/src/scripts/router/history"), i = e("/src/scripts/utils/utils");
    r.exports = {
        "dict/start": e("/src/scripts/render/dict/start/index"),
        "dict/quick": e("/src/scripts/render/dict/quick"),
        "dict/queryResult": e("/src/scripts/render/dict/queryResult/index"),
        "example/example": e("/src/scripts/render/example/example"),
        "example/example-welcome": e("/src/scripts/render/example/welcome"),
        "baikeDetail/baikeDetail": e("/src/scripts/render/baikeDetail/baike"),
        "baikeDetail/baike-welcome": e("/src/scripts/render/baikeDetail/welcome"),
        "trans/trans": e("/src/scripts/render/trans")
    };
    var s = {dict: 0, example: 1, baikeDetail: 2, trans: 3};
    r.exports.changeFrame = function (e, t) {
        var r = n.latest(e) || {}, a = n.latest("all").frame, o = n.prev("all") || {
                routerId: "dict/start",
                tab: "dict",
                frame: "start"
            }, l = o.frame, p = t ? o.tab === r.tab : o.tab !== r.tab;
        if (p && a !== l && (ke("window").fire("tabChange", a), $("#dict").addClass(a).removeClass(l), $("#tab_" + r.tab + ">div").removeClass("fadeInLeft fadeInRight"), a !== l && (ke(l).fire("leave", a), ke(a).fire("enter", l))), !t && o.tab !== r.tab) {
            s[o.tab] < s[r.tab] ? $("#tab_" + r.tab + ">div").addClass("fadeInRight animated") : $("#tab_" + r.tab + ">div").addClass("fadeInLeft animated"), a !== l && (ke(l).fire("leave", a), ke(a).fire("enter", l));
            var c = "top_tab_" + ("baikeDetail" === r.tab ? "baike" : r.tab);
            i.ctlog("", "", 0, "deskdict.main", "CLICK", c)
        }
        o.tab !== r.tab && ke("tab").fire("changeto", r.tab), i.timerProxy(function () {
            a !== l && (deskdict.setFocus(), ke(l).fire("leave", a), ke(a).fire("enter", l)), $("#dict").removeClass("start queryResult quick example example-welcome baike-welcome baikeDetail trans").addClass(a)
        }, 100)
    }
});
define("/src/scripts/render/dict/start/index", function (e, t, r) {
    var n = e("/src/scripts/render/dict/start/everydayEnglish"), i = e("/output/modules"), s = e("/src/scripts/external"), a = e("/src/scripts/utils/component/kDate"), o = (e("/src/scripts/utils/store"), e("/src/scripts/utils/utils")), l = e("/src/scripts/render/dict/start/fetchData"), p = !1, c = {}, d = !1, u = e("/src/scripts/utils/component/waterfall/index");
    ke("start").on("leave", function () {
        p = !1
    });
    var f = function (e) {
        $("#startContent").scrollTop(0), o.timerProxy(function () {
            $("#startContent .start-inner").width("auto"), u.arrangeCard(!1, !1)
        }, 200)
    };
    ke("fontsize").on("changed", function () {
        o.timerProxy(function () {
            $("#startContent .start-inner").width("auto"), u.arrangeCard(!1, !1, !0)
        }, 200)
    });
    var h = function (e) {
        if (void 0 !== e.data) {
            var t = [];
            for (var r in e.data)if (e.data[r]) {
                var n = i.infomation_stream.render(e.data[r]);
                "" !== n && t.push(n)
            }
            return t
        }
    };
    ke("start").on("enter", f);
    var y = function (e, t) {
        var r = e[t], n = !1;
        return void 0 !== r && (r = l.transformToImg(r), void 0 !== c[t] && JSON.stringify(r) === JSON.stringify(c[t].data) || (n = !0, c[t] = {
            date: t,
            data: r
        })), n
    }, m = function () {
        d = !1;
        var e = (new a).toString("-0"), t = (new a).getDate(0, 0, -1).toString("-0");
        l.getDataBetween(t, e).then(function (r) {
            var n = [], i = y(r, e), s = y(r, t);
            if (i || s) {
                for (var a = Object.keys(c).sort().reverse(), o = 0, l = a.length; o < l; o++)n = n.concat(h(c[a[o]]));
                u.update(n, !1)
            }
        })
    };
    setInterval(function () {
        d = !0, $("#startContent").scrollTop() < 100 && 0 !== $("#startContent").width() && m()
    }, 60 * (30 + 10 * Math.random()) * 1e3);
    var _ = function (e) {
        var t = {
            onresize: function (e) {
                n.resize(e)
            }, ofs: 200, at: 500, cw: 134, tb: 150, scrollWidth: 7, vm: 20, hm: function (e) {
                var r = 4 * t.cw + 69, n = 4 * t.cw + 84;
                return e < r ? 35 : e >= n ? 30 : 23
            }, ar: function (e) {
                e()
            }
        };
        u.init("#startContent .start-inner", "#startContent", function () {
            var e = l.getData().then(function (e) {
                return null === e.data ? ($(".no-more-data").show(), $(".loading").hide(), "") : 0 === e.data.length ? (u.add(), "") : (c[e.date] = e, h(e))
            }).fail(function (e) {
                u.add()
            });
            return e
        }, t)
    };
    r.exports.render = function () {
        f(), deskdict.setFocus(), c = {}, n.render(), _(!0), n.render(), l.getData().then(function (e) {
            null !== e.data && 0 !== e.length && JSON.stringify(c[e.date]) !== JSON.stringify(e.data) && (c = {}, c[e.date] = e, u.update(h(e)))
        }), $("#startContent").delegate(".info_log_js", "click", function () {
            o.ctlog($(this).attr("href"), "", 0, "deskdict.firstpage", "CLICK", $(this).data("type"))
        }), $("#tryAgain").on("click", function () {
            $("#startContent").scrollTop(0), n.render(), l.reset(), l.getData().then(function (e) {
                null !== e.data && 0 !== e.length && JSON.stringify(c[e.date]) !== JSON.stringify(e.data) && (c = {}, c[e.date] = e, u.update(h(e)))
            }), $(".no-more-data").hide(), $(".loading").show()
        }), $("#startContent").scroll(function () {
            this.scrollTop < 100 && d && m(), u.lazy()
        }), $("body").on("click", ".js-vista", function (e) {
            var t = $(this), r = (t.children("a").attr("data-type"), t.children("a").attr("href")), n = t.children("a").attr("type");
            if ("head" == n && (r = "youdao://everydayEnglish"), "true" == t.attr("data-isbrower"))return !0;
            var i = t.attr("id").slice(5), a = t.attr("data-time"), o = a.slice(0, 4) + "-" + a.slice(4, 6) + "-" + a.slice(6, 8);
            s.openInfolineWnd("./vista.html", 612, 912, i, o, r, "有道词典 看天下"), e.preventDefault()
        }), $("body").on("click", ".everyDayEnglish .info-list .more-info", function (e) {
            var t = $(".info-content-a", $(".everyDayEnglish"));
            path = "youdao://everydayEnglish";
            var r = t.find(".headpic").attr("id").slice(5), n = t.find(".headpic").attr("data-time");
            n && "undefined" != n || (path = "youdao://everydayEnglishDefault");
            var i = n.slice(0, 4) + "-" + n.slice(4, 6) + "-" + n.slice(6, 8);
            return s.openInfolineWnd("./vista.html", 612, 912, r, i, path, "有道词典 看天下"), !1
        }), r.exports.render = function () {
            e("/src/scripts/render/index").changeFrame("all", !0), $("#startContent").scrollTop(0), $(".js-go-start-top").hide()
        }
    }
});
define("/src/scripts/render/log", function (e, t, r) {
    var n = e("/src/scripts/utils/utils"), i = e("/src/scripts/render/params");
    $("body").on("click", ".js-ctlog", function () {
        n.ctlog($(this).attr("href"), i.q, $(this).data("pos"), "deskdict.main", "CLICK", $(this).data("ctype"))
    }), $("body").on("mouseover", ".js-hover-ctlog", function () {
        n.ctlog($(this).attr("href"), i.q, $(this).data("pos"), "deskdict.main", "HOVER", $(this).data("chtype"))
    }), $("body").on("click", ".js-vista-ctlog", function () {
        var e = ($(this).data("type"), {
            url: $(this).attr("href"),
            type: $(this).data("type"),
            infoid: $(this).data("id"),
            style: $(this).data("style"),
            keyfrom: "deskdict.vista"
        });
        n.vislog(e)
    })
});
!function (e, t) {
    var r = {
        alias: {
            jquery: "lib/jquery",
            backbone: "lib/backbone",
            jsonselect: "lib/jsonselect",
            underscore: "lib/underscore",
            external: "src/scripts/external",
            tpHelper: "lib/tpHelper",
            config: "kConfig/configs"
        },
        paths: {
            render: "src/scripts/render",
            router: "src/scripts/router",
            frame: "src/scripts/frame",
            utils: "src/scripts/utils"
        },
        debug: !0,
        base: "./",
        template: "src/template",
        buildTemplate: "kConfig/moduleTemplate",
        output: "output",
        cssOutput: "src/styles/dict.css",
        packModules: [{path: "src/scripts/package", name: "business"}],
        version: "1117-dev7-sprit68",
        http: {port: "9527"},
        weinre: {port: "10089"}
    };
    "undefined" != typeof module && "undefined" !== module.exports ? module.exports = r : "function" == typeof define && define("/kConfig/configs", function () {
        return r
    })
}(this);
define("/src/scripts/frame/functionality", function (e) {
    var t = e("/src/scripts/external"), r = e("/src/scripts/render/params"), n = e("/src/scripts/utils/store"), i = e("/src/scripts/utils/utils"), s = n("instantQueryStatus").local, a = n("autoPlaySoundStatus").local, o = n("topMost").local;
    return window.global || (window.global = {}), global.status = {}, function () {
        function n(e) {
            for (var t = Array.prototype.slice.call(document.getElementsByClassName("trans-container")).concat(Array.prototype.slice.call(document.getElementsByClassName("edit")).concat(Array.prototype.slice.call(document.getElementsByClassName("js-contextmenu-free")))), r = t.length - 1; r >= 0; r--)if ($.contains(t[r], e) || e === t[r])return !0;
            return !1
        }

        t.on("textchange", function () {
            t.getQueryWord(function (e) {
                var t = $("#queryinput");
                t.val(e[0]), ke("combobox").fire("textchange")
            })
        }), t.on("insertQuery", function (e) {
            var t, n = $("#queryinput"), i = n.val(), s = n[0].selectionStart, a = n[0].selectionEnd, o = i.slice(s, a);
            t = "" === o ? i.substring(0, s) + e[0] + i.substring(s) : i.replace(o, e[0]), r.reset(t), ke("combobox").fire("textchange")
        }), t.on("closeHandWrite", function () {
            $("#hwBtn").removeClass("js-handwrite-on")
        }), t.on("topMost", function (e) {
            $("#cpp_menu_topmost").find(".menu-icon").toggleClass("cur", e[0]), o.valmix = {top: e[0]}
        }), t.on("fanyiQuery", function (e) {
            window.search("trans", [e[0], e[1]], "deskdict.app_link")
        }), t.on("netStateChange", function (e) {
            $(".offline").toggle(!e[0]), global.status.online = e[0]
        }), t.on("autoPlaySound", function (e) {
            a.valmix = {auto: e[0]}
        }), t.on("soundType", function (e) {
            a.valmix = {type: e[0]}
        }), t.on("instantQuery", function (e) {
            s.val = {instant: e[0]}, e[0] ? $("#quick").removeAttr("style") : $("#quick").hide()
        }), s.value.instant || "undefined" == typeof s.value.instant ? $("#quick").removeAttr("style") : $("#quick").hide(), t.on("windowZoom", function (e) {
            switch ($("#hwBtn").removeClass("js-handwrite-on"), t.hideHandInput(), e[0]) {
                case"maximized":
                    $("#cpp_max").addClass("reset").attr("title", "向下还原"), $("#cpp_resize").addClass("no");
                    break;
                case"restored":
                    $("#cpp_max").removeClass("reset").attr("title", "最大化窗口"), $("#cpp_resize").removeClass("no");
                    break;
                case"minimized":
            }
        }), t.on("login", function (e) {
            var r = e[1];
            ke("login").fire("logined", e), "" !== r && $(".brand .username").html('<img id="chathead" src="' + r + '" class="headchat"/>'), $(".brand .username").click(function () {
                t.showUserSettting()
            });
            var n = e[0];
            $(".brand .username").attr("title", n).css({display: "inline-block"}), $(".brand a").hide(), $("#cpp_menu_loginout .login").removeClass("login").addClass("logout"), $("#cpp_menu_loginout .menu-text").empty().text("注销")
        }), t.on("logout", function () {
            $(".brand .username").empty().hide(), $(".brand .username").attr("title", ""), $(".brand a").show(), $("#cpp_menu_loginout .logout").removeClass("logout").addClass("login"), $("#cpp_menu_loginout .menu-text").empty().text("登录")
        }), t.on("switchQuery", function (e) {
            window.search.call(this, e[0], [e[3], r.le, e[1], e[2]], "deskdict.app_link")
        }), t.on("deletedWord", function (e) {
        }), t.on("reviewWordCountChange", function (e) {
            return !(e[0] < 0) && void $("#cpp_app_wordbook").toggleClass("hl", !!e[0])
        });
        var l = ["鼠标取词", "CTRL+鼠标取词", "SHIFT+鼠标取词", "鼠标中键取词", "ALT+鼠标取词"];
        t.on("screenTransStateChange", function (e) {
            $("#cpp_screentrans").find(".status").toggleClass("active", e[0]), $("#cpp_screentrans").attr("title", l[e[1]])
        });
        var p = ["展示划词图标", "直接展示结果", "双击Ctrl后展示结果"];
        t.on("wordStrokeStateChange", function (e) {
            $("#cpp_stroketrans").find(".status").toggleClass("active", e[0]), $("#cpp_stroketrans").attr("title", p[e[1]])
        }), $("#cpp_min").click(function () {
            t.changeFrameAdv(), t.min()
        }), $("#cpp_max").click(function () {
            t.changeFrameAdv(), $(this).html("向下还原"), t.max()
        }), $("#cpp_close").click(function () {
            t.closeWindow()
        }), $("#cpp_loginout").click(function () {
            t.loginout(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "title_login")
        }), $("#cpp_menu_topmost").click(function () {
            t.topMostWindow(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "menu_topMost")
        }), $("#cpp_menu_loginout").click(function () {
            t.loginout(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "menu_login")
        }), $("#cpp_menu_quit").click(function () {
            t.quit(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "menu_quit")
        }), $("#cpp_menu_option").click(function () {
            t.option(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "menu_option")
        }), $("#cpp_menu_guide").click(function () {
            t.guide()
        }), $("#cpp_menu_plugins").click(function () {
            t.plugins()
        }), $("#cpp_menu_checkupdate").click(function () {
            t.checkUpdate(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "menu_update")
        }), $("#cpp_menu_about").click(function () {
            t.aboutDlg(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "menu_about")
        }), $("#cpp_lang_eng, #cpp_lang_fr, #cpp_lang_jap, #cpp_lang_ko").click(function () {
            t.langChange($(this).data("lang"))
        }), $("#cpp_app_mini").click(function () {
            t.openMini(), t.changeFrameAdv(), t.min(), i.ctlog("", "", 0, "deskdict.mini", "CLICK", "title_mini")
        }), $("#cpp_app_study").click(function () {
            t.openStudy(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "bottom_icon_xue")
        }), $("#cpp_app_zfanyi").click(function () {
            t.openZFanyi(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "bottom_icon_zfanyi")
        }), $("#cpp_app_pict").click(function () {
            t.openPictDict(JSON.stringify({
                word: "",
                id: ""
            })), i.ctlog("", "", 0, "deskdict.main", "CLICK", "bottom_icon_pict")
        }), $("#cpp_app_wordbook").click(function () {
            t.openWordbook(), i.ctlog("", "", 0, "deskdict.newwordbook", "CLICK", "bottom_icon_wordBook")
        }), $("#cpp_screentrans").click(function () {
            t.screenTrans(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "bottom_icon_screen")
        }), $("#cpp_stroketrans").click(function () {
            t.strokeTrans(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "bottom_icon_stroke")
        }), $("#cpp_resize").mousedown(function () {
            t.sizingMouseDown()
        });
        var c;
        $(".js-stop-captionMouseDown").on("mousedown", function (e) {
            "cpp_app_mini" !== e.target.id && "cpp_min" !== e.target.id && "cpp_max" !== e.target.id && "cpp_close" !== e.target.id && "cpp_loginout" !== e.target.id && (c = setTimeout(function () {
                t.captionMouseDown()
            }, 50)), e.stopPropagation()
        }), $(".js-stop-captionMouseDown").on("mouseup", function (e) {
            clearTimeout(c), e.stopPropagation()
        });
        var d = Date.now();
        $("header").on("contextmenu", function () {
            return !1
        }).on("mousedown", function (e) {
            if (2 !== e.button) {
                var r = Date.now();
                r - d < 500 && t.max(), d = r, t.captionMouseDown()
            }
        }).on("mouseup", function (e) {
            2 === e.button && t.popSysMenu()
        }), $("#logo").on("mousedown", function (e) {
            e.stopPropagation()
        }).on("mouseup", function (e) {
            e.stopPropagation(), console.log("up!"), t.popSysMenu()
        }), $(".handle_4_resize").delegate("div", "mousedown", function () {
            t.sizingMouseDown($(this).data("direc"))
        }), $("body").on("contextmenu", function (e) {
            var t = e.target;
            n(t) || e.preventDefault()
        }), $("body").on("keydown", function (t) {
            return 8 === t.keyCode, 72 === t.keyCode && t.ctrlKey && t.altKey ? alert(e("/kConfig/configs").version) : void(t.ctrlKey || t.shiftKey || t.altKey || !/^\w+|'$/.test(String.fromCharCode(t.keyCode)) || $("#queryinput").is(":visible") && ($(".message-container").size() > 0 ? "none" === $(".message-container").css("display") && deskdict.setFocus(String.fromCharCode(t.keyCode).toLowerCase()) : deskdict.setFocus(String.fromCharCode(t.keyCode).toLowerCase())))
        }), $("body").on("keydown", "textarea,input", function (e) {
            e.stopPropagation()
        }), $("#queryinput").on("focus", function () {
            t.blockCharInput(!1)
        }), $("#queryinput").on("blur", function () {
            t.blockCharInput(!0)
        }), $("#control li[data-type=trans]").click(function () {
            t.blockCharInput(!1)
        })
    }
});
define("/src/scripts/frame/handwriting", function (e) {
    var t = e("/src/scripts/external"), r = e("/src/scripts/utils/utils");
    return function () {
        var e = $("#hwBtn");
        $(document).mousedown(function (r) {
            "queryinput" !== $(r.target).attr("id") && e.hasClass("js-handwrite-on") && (e.removeClass("js-handwrite-on"), t.hideHandInput())
        }), $(document).mouseup(function (r) {
            "queryinput" !== $(r.target).attr("id") && e.hasClass("js-handwrite-on") && (e.removeClass("js-handwrite-on"), t.hideHandInput())
        }), $("#hwBtn").mousedown(function (e) {
            e.stopPropagation()
        }), $("#hwBtn").mouseup(function (e) {
            e.stopPropagation()
        }), ke("combobox").on("tabChange", function () {
            e.removeClass("js-handwrite-on"), t.hideHandInput()
        }), ke("window").on("openStatus", function (e) {
            "handWrite" !== e && $("#handWrite").hide()
        }), e.click(function (n) {
            ke("window").fire("openStatus", "handWrite"), $(this).toggleClass("js-handwrite-on"), $(this).hasClass("js-handwrite-on") ? t.showHandInput(e.offset().top + 40, 40) : t.hideHandInput(), n.stopPropagation(), r.ctlog("", "", 0, "deskdict.main", "CLICK", "clickHandWriteBtn")
        })
    }
});
define("/src/scripts/frame/combobox", function (e) {
    var t = e("/src/scripts/utils/utils"), r = e("/src/scripts/external"), n = e("/src/scripts/render/params"), i = e("/src/scripts/router/index");
    return function () {
        var e = "dict", s = {
            dict: "mainSuggest",
            baikeDetail: "wikiSuggest"
        }, a = t.suggest($("#queryinput"), {
            data: function (t, n) {
                s[e] && r[s[e]](t, 4, function (e) {
                    n(JSON.parse(e[0] || "[]"), t)
                })
            }, dataProcessing: function (e, t) {
                return e
            }, item: function (e, t, r) {
                try {
                    var n = new RegExp("(" + e + ")");
                    return "<strong>" + t.word.replace(n, "<b>$1</b>") + "</strong>&nbsp;&nbsp;&nbsp;&nbsp;" + t.trans
                } catch (i) {
                    return t.word + "&nbsp;&nbsp;&nbsp;&nbsp;" + t.trans
                }
            }, clickItem: function () {
                i("search").from("deskdict.suggest").render(), ke("queryinput").fire("queryWordChange")
            }, equal1st: function (e, t) {
                return e === t.word
            }, fillVal: function (e) {
                return e.word
            }, userInit: function (e) {
                $(window).on("resize", function () {
                    e.rePosition()
                })
            }, afterShow: function () {
                ke("window").fire("openStatus", "suggest")
            }
        });
        $("#queryinput").on("textchange", function () {
            this.value.length > 500 ? $(this).val(this.value.slice(0, 500)) : 0 == this.value.length && $("#history").hide()
        }), ke("combobox").on("textchange", function () {
            $(a.el).trigger("textchange"), i("inputChange").render()
        }), $(".js-lang-type .js-lang").click(function (e) {
            $(".js-lang-type").data("lang", $(this).data("lang")), i("search").from("deskdict.lang_switch").render(), e.preventDefault()
        }), $("#queryinput").on("keyup", function (e) {
            13 !== e.which ? i("inputChange").render() : i("search").from("deskdict.main").render()
        }), $("#queryinput").on("keydown", function (e) {
            if (e.ctrlKey && 13 === e.which ? $(".js-search-yd").trigger("click") : 27 === e.which && ($(this).val(""), i("search").render()), !$(".auto-suggest").is(":visible")) {
                var t, r, n = $("#control").find(".current").data("type"), s = e.which || e.keyCode;
                "dict" === n ? r = $("#results-content") : "example" === n ? r = $("#example_nav_content") : "baikeDetail" === n && (r = $(".baike_detail")), t = r.scrollTop(), 38 === s ? r.scrollTop(t - 50) : 40 === s && r.scrollTop(t + 50)
            }
        }), $("#queryForm").on("submit", function (e) {
            return !1
        }), $("#searchIt").click(function () {
            return ke("combobox").fire("search"), i("search").from("deskdict.main").render(), a.close(), !1
        }), ke("window").on("openStatus", function (e) {
            "suggest" !== e && a.close()
        });
        var o = function () {
            return $(".message-container").size() > 0 && $(".message-container").is(":hidden") || $(".message-container").size() <= 0
        };
        $(document).on("keyup", function (e) {
            $("#queryinput").is(":visible") && o() && "INPUT" !== e.target.tagName && "TEXTAREA" !== e.target.tagName && 13 === e.which && i("search").from("deskdict.main").render()
        }), $(".js-search-yd").click(function () {
            if ("" !== $.trim(n.q)) {
                var e = "http://www.youdao.com/search?", t = {
                    q: n.q,
                    ue: "utf8",
                    keyfrom: "deskdict." + (r.getAppVersionString() || ""),
                    client: "deskdict",
                    id: r.getAppID() || "",
                    vendor: r.getVendor() || "",
                    "in": r.getInstallerName() || "",
                    appVer: r.getAppVersion() || "",
                    appZengqiang: r.getZengqiangFlag || ""
                };
                e += $.param(t), window.open(e)
            }
        });
        var l = function (r, n, i) {
            r !== e && (a.close(), $("#control>li").removeClass("current"), n.addClass("current"), $("#tab_" + r).show(), $("#tab_" + e).hide(), $("body").removeClass("js__" + e).addClass("js__" + r), e = r, ke("combobox").fire("tabChange"), $.isFunction(i) && i(r), t.speech.stopVideoAndVoice())
        };
        $("body").addClass("js__" + e), $("#control .js-type").on("mousedown", function (e) {
            if (2 !== e.button)return l($(this).data("type"), $(this), function (e) {
                i("tabChange").from("deskdict.tab_switch").render(e)
            }), deskdict.setFocus(), !1
        }), ke("window").on("search", function (e, t) {
            l(e, t)
        })
    }
});
define("/src/scripts/frame/preNext", function (e, t, r) {
    var n = e("/src/scripts/router/index"), i = e("/src/scripts/render/params"), s = e("/src/scripts/router/flashHistory"), a = function () {
        if ("trans" !== $("#control .js-type.current").data("type")) {
            var e = s[$("#control .js-type.current").data("type")].test(), t = $("#queryForm li.pre"), r = $("#queryForm li.next");
            switch (e) {
                case 0:
                    t.removeClass("active"), r.removeClass("active");
                    break;
                case 1:
                    t.addClass("active"), r.removeClass("active");
                    break;
                case 2:
                    t.removeClass("active"), r.addClass("active");
                    break;
                case 3:
                    t.addClass("active"), r.addClass("active")
            }
        }
    };
    ke("flashHistory").on("change", function () {
        a(), deskdict.setStatus()
    }), $(function () {
        $("#queryForm").on("click", "li.pre a", function (e) {
            if (!$(this).hasClass("active")) {
                var t = s[$("#control .js-type.current").data("type")].prev();
                i.reset(t.word, t.lang), a(), n("preNext").from("deskdict.prenext").render()
            }
            e.preventDefault()
        }), $("#queryForm").on("click", "li.next a", function (e) {
            if (!$(this).hasClass("active")) {
                var t = s[$("#control .js-type.current").data("type")].next();
                i.reset(t.word, t.lang), a(), n("preNext").from("deskdict.prenext").render()
            }
            e.preventDefault()
        })
    }), t.setActive = a
});
define("/src/scripts/frame/mainMenu", function (e, t, r) {
    var n = e("/src/scripts/utils/store"), i = e("/src/scripts/utils/utils"), s = e("/src/scripts/external"), a = n("menuStatus").local;
    n("isOpenBisheng").local;
    a.value.fz || (a.valmix = {fz: "12px"});
    var o = n("topMost").local;
    o.value.top || (o.valmix = {top: !1}), ke("start").on("enter", function () {
        3 === n("guideStatus").local.value.guideStatus && (n("ShowStartSet").local.value.ShowStartSet || ($("#howToSet").fadeIn().fadeOut(5e3, "linear", function () {
            $(this).hide()
        }), $(".close-how-to-set").click(function (e) {
            $("#howToSet").hide(), e.stopPropagation()
        }), n("ShowStartSet").local.val = {ShowStartSet: !0}))
    }), r.exports = function () {
        var e = $(".main-menu"), t = e.find(">li:first"), r = e, l = 0;
        e.hide();
        var p = function () {
            "0" !== e.css("opacity") && (e.removeClass("fadeInUp fadeOutDown").addClass("fadeOutDown"), e.hide(), e.find("ul").hide(), e.find(".current").removeClass("current"), t = e.find(">li:first"), r = e, l = 0)
        };
        $(document).click(p), $(".main-menu li ul li, .js-search-history").click(p), $("#queryinput, #hwBtn,.brand, .global-nav-bar .pull-right, #searchIt, .pull-left, #langOption").click(p), $(".main-menu li:has(ul)").click(function (e) {
            e.stopPropagation()
        }), ke("window").on("openStatus", function (e) {
            "mainMenu" !== e && $("#mainMenu").hide()
        }), $(".js-main-menu-btn").click(function (t) {
            ke("window").fire("openStatus", "mainMenu"), t.stopPropagation(), e.css({
                top: $(this).offset().top - e.height() - 10,
                left: 10
            }), "0" === e.css("opacity") ? e.removeClass("fadeInUp fadeOutDown").show().addClass("fadeInUp").focus() : p(), i.ctlog("", "", 0, "deskdict.main", "CLICK", "ClickMainMenuBtn")
        }), e.delegate("li", "mouseover", function (n) {
            n.stopPropagation(), l = 1, e.find(".current").removeClass("current"), e.find("ul").hide(), t = $(this).addClass("current"), t.hasClass("has-submenu") && t.find("ul").show(), t.parent().hasClass("js-sub-menu") ? (r = t.parent().show(), r.parent("li").addClass("current")) : r = e
        }), e.keydown(function (n) {
            switch (n.keyCode) {
                case 38:
                    if (t.parent("ul").hasClass("main-menu") && "block" == t.find("ul").css("display")) {
                        r = t.find("ul"), t = r.find("li:last"), t.addClass("current");
                        break
                    }
                    t.removeClass("current"), t = t.is(":first-child") ? r.find(">li:last") : t.prev(), t.addClass("current");
                    break;
                case 40:
                    if (t.parent("ul").hasClass("main-menu") && "block" == t.find("ul").css("display")) {
                        r = t.find("ul"), t = r.find("li:first"), t.addClass("current");
                        break
                    }
                    t.removeClass("current"), t.is(":last-child") || 0 === l ? (t = r.find(">li:first"), l = 1) : t = t.next(), t.addClass("current");
                    break;
                case 37:
                    if (r.hasClass("main-menu"))break;
                    t.removeClass("current"), r.hide(), t = r.parent("li"), r = e;
                    break;
                case 39:
                    t.hasClass("has-submenu") && (r = t.find("ul").show(), t = t.find("ul li:first"), t.addClass("current"));
                    break;
                case 13:
                    t.hasClass("has-submenu") ? (r = t.find("ul"), r.show(), t = t.find("ul li:first")) : t.click();
                    break;
                case 27:
                    p()
            }
        });
        var c = "#tab_dict, #tab_example, #tab_baikeDetail, #tab_trans .edit", d = a.value.fz, u = e.find("#font-size-control");
        $(c).css("font-size", d), u.find(".cur-fz").removeClass("cur-fz"), u.find("li[data-fz=" + d + "] .menu-icon").addClass("cur-fz"), u.delegate("li", "click", function () {
            u.find(".cur-fz").removeClass("cur-fz"), $(this).find(".menu-icon").addClass("cur-fz"), $(c).css({"font-size": $(this).data("fz")}), d !== $(this).data("fz") && ke("fontsize").fire("changed"), d = $(this).data("fz"), a.valmix = {fz: $(this).data("fz")}, "16px" == $(this).data("fz") && i.ctlog("", "", 0, "deskdict.main", "CLICK", "ClickMainMenuFontSizeL"), "14px" == $(this).data("fz") && i.ctlog("", "", 0, "deskdict.main", "CLICK", "ClickMainMenuFontSizeM"), "12px" == $(this).data("fz") && i.ctlog("", "", 0, "deskdict.main", "CLICK", "ClickMainMenuFontSizeS")
        });
        var f = $("#cpp_menu_topmost");
        f.find(".menu-icon").toggleClass("cur", o.value.top), f.click(function () {
            $(this).find(".menu-icon").toggleClass("cur"), o.valmix = {top: $(this).find(".menu-icon").hasClass("cur")}
        }), $("#cpp_menu_feedBack").click(function (e) {
            var t = "http://cidian.youdao.com/feedback.jsp?", r = {
                keyfrom: "deskdict.main",
                appVer: s.getAppVersionString() || "",
                vendor: s.getVendor() || "",
                id: s.getAppID() || "",
                abTest: n("userConfig").local.value.abtest || "0"
            };
            t += $.param(r), window.open(t), e.preventDefault()
        })
    }
});
define("/src/scripts/frame/search_history", function (e, t, r) {
    var n, i = e("/lib/jquery"), s = e("/output/modules"), a = e("/src/scripts/render/params"), o = e("/src/scripts/router/history"), l = e("/src/scripts/router/index"), p = i("#history"), c = 1, d = 10, u = i("#queryinput"), f = "selected", h = function (e, t, r) {
        for (var n = [], i = r * t - 1, s = t * (r - 1), a = s; a < e.length; a++)a <= i && n.push(e[a]);
        return n
    }, y = function () {
        return Math.ceil(o.storedHistory().history.length / d)
    }, m = function (e, t) {
        if (e) {
            var r = t.offset().left, n = t.offset().top + t.outerHeight(), i = 2, s = t.outerWidth() - i;
            e.css({top: n + 3, left: r, width: s})
        }
    }, _ = function (e) {
        p.html(s.search_history.render({
            search_history: h(o.storedHistory().history, d, e),
            curPage: e,
            allPage: y(),
            searchNum: d
        }))
    }, g = function (e) {
        0 !== o.storedHistory().history.length && (_(e), p.is(":hidden") ? p.stop().slideDown(100) : p.stop().slideUp(100))
    }, v = function () {
        y() !== c && (c += 1, _(c))
    }, b = function () {
        c <= 1 || (c -= 1, _(c))
    }, x = function () {
        i("#history").delegate(".del", "click", function (e) {
            var t = y(), r = i("#history .item").index(i(this).closest(".item")), n = 1 === c ? r : (c - 1) * d + r;
            return o.storedHistory().del(n), t - 1 === y() && (c <= 1 ? 0 === o.storedHistory().history.length && p.hide() : c -= 1), _(c), !1
        })
    }, w = function () {
        i("body").delegate("#history .item", "mouseover", function () {
            n && n.removeClass(f), i(this).addClass(f), n = i(this)
        }), i("body").delegate("#history .item", "mouseout", function () {
            i(this).removeClass(f)
        })
    }, $ = function (e) {
        i("#history  ul > li").eq(e).addClass(f), n = i(".item.selected")
    }, k = {
        up: function () {
            "undefined" != typeof n && (n.removeClass(f), n.is(":first-child") ? 1 !== c && (b(), $(d - 1)) : n = n.prev(), n.addClass(f))
        }, down: function () {
            "undefined" != typeof n && (n.removeClass(f), n.is(":last-child") ? c !== y() && (v(), $(0)) : n = n.next(), n.addClass(f))
        }, search: function (e) {
            ke("directSearch").fire("search"), a.reset(decodeURIComponent(e.data("source")), e.data("lang")), l("search").from("deskdict.history").render(), p.hide()
        }
    }, C = function () {
        i("#queryinput").bind("keydown", function (e) {
            if (p.is(":visible"))switch (e.keyCode) {
                case 38:
                    k.up();
                    break;
                case 40:
                    k.down();
                    break;
                case 13:
                    n && k.search(n);
                    break;
                default:
                    p.hide()
            }
        })
    }, j = function () {
        window.onmousewheel = function (e) {
            var t = e.wheelDelta > 0 ? 1 : -1;
            if (1 === t ? k.up() : k.down(), p.is(":visible"))return !1
        }
    }, q = function () {
        i("body").delegate("#history .prev", "click", function (e) {
            b(), $(0), e.preventDefault(), e.stopPropagation()
        })
    }, T = function () {
        i("body").delegate("#history .next", "click", function (e) {
            v(), $(0), e.preventDefault(), e.stopPropagation()
        })
    }, S = function () {
        i("body").delegate("#history .clear", "click", function (e) {
            p.hide(), o.storedHistory().clear(), e.preventDefault(), e.stopPropagation()
        })
    };
    ke("window").on("openStatus", function (e) {
        "history" !== e && i("#history").hide()
    });
    var E = function () {
        i(".js-search-history").bind("click", function (e) {
            ke("window").fire("openStatus", "history"), m(p, u);
            var t = o.storedHistory().find(a.q);
            c = t <= 9 ? 1 : Math.ceil(t / 9), t === -1 ? t = 0 : t > 9 && (t %= 10), g(c), $(t || 0), w(), deskdict.setFocus(), e.preventDefault(), e.stopPropagation()
        })
    }, D = function () {
        i("#history").delegate(".item", "click", function (e) {
            k.search(i(this)), e.preventDefault()
        })
    }, W = function () {
        j(), E(), x(), S(), T(), q(), C(), D(), i(document).bind("click", function () {
            window.requestAnimationFrame(function () {
                p.slideUp(150)
            })
        }), i(window).resize(function () {
            m(p, u)
        })
    };
    r.exports = W
});
define("/src/scripts/frame/changeAdv", function (e, t, r) {
    var n = e("/lib/jquery"), i = e("/src/scripts/utils/store"), s = e("/src/scripts/external"), a = e("/src/scripts/utils/utils"), o = i("userConfig").local.value.frame_adv_height ? i("userConfig").local.value.frame_adv_height : 30, l = n(".global-setting"), p = n("#ads"), c = function () {
        l.css("padding-bottom", o), p.css("height", o), n(".global-section").css("bottom", l[0].clientHeight + 1), n(".js-close-ads").click(function () {
            p.remove(), l.css("padding-bottom", 0), n(".global-section").css("bottom", parseInt(n(".global-section").css("bottom")) - o), s.closeFrameAdv(), a.ctlog("", "", 0, "deskdict.main", "CLICK", "CloseFrameSmallAdv")
        }), 0 !== n(".ads-content .default-adsImg").size() && 30 === o && n(".ads-content .default-adsImg").css("margin-top", "-10px")
    }, d = window.changeAdv = function (e) {
        n("#ads_content").html('<iframe id="ads_content_adv" src="' + e[0] + '" width="655" height="' + o + '" style="overflow:hidden;" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>');
        var t;
        n("#ads_content").bind("mouseover", function () {
            n(this).css("cursor", "pointer"), t = setTimeout(function () {
                s.showPopAdv(e[0])
            }, e[1])
        }), n("#ads_content").bind("mouseout", function () {
            t && clearTimeout(t)
        }), n(".js-close-ads").click(function () {
            if ("" !== n.trim(e[3])) {
                var t = new Image;
                t.src = e[3]
            }
        })
    };
    s.on("changeAdv", function (e) {
        d(e)
    });
    var u = function () {
        c(), s.changeFrameAdv()
    };
    ke("history").on("searchTwice", function () {
        s.changeFrameAdv()
    }), ke("combobox").on("tabChange", function () {
        s.changeFrameAdv()
    }), r.exports = u
});
define("/src/scripts/frame/record/autoEnd", function (e, t, r) {
    var n = 50, i = 8.2, s = 7e3, a = 4e3, o = .4, l = 20, p = 64, c = [], d = [], u = 6, f = 0, h = 0, y = 0, m = !0, _ = 0, g = 0, v = 0, b = function () {
        v = 0, f = 0, c = [], d = [], h = 0, m = !0, y = 0, _ = 0, g = 0
    };
    r.exports = function (e) {
        b(), _ = $.now(), h = 1e3 * e.replace(/\s/g, "").length / i
    };
    var x = function (e) {
        var t = e.length;
        if (t > 2)return (e[t - 1] - e[t - 2]) / e[t - 2] > n
    };
    r.exports.detect = function (e, t) {
        m && c.push(e);
        var r = x(c), n = $.now() - _;
        if (!r && n > s)return t();
        if (r)if (m = !1, 0 === g && (g = $.now()), $.now() - g <= h)$.now() - g <= Math.min(h, p * l) && d.push(e); else if (0 === y && (y = d.reduce(function (e, t) {
                    return e + t
                }) / d.length), e < y * o ? (f += 1, v = 0) : (f = 0, v += 1), f === u || v >= a / p)return t()
    }
});
define("/src/scripts/frame/record/index", function (e, t, r) {
    var n = e("/src/scripts/external"), i = e("/src/scripts/frame/record/autoEnd"), s = ['<div id="noMicTip" class="no-mic-tip">', "<p>抱歉，找不到您的<span>麦克风设备</span></p>", "<span>&#9700;<span>&#9700;</span></span>", "</div>"].join(""), a = function (e, t) {
        0 === $("#noMicTip").size() && $(s).appendTo("html"), $("#noMicTip").css({
            top: t - 58,
            left: e - 160
        }).fadeIn(100).delay(800).fadeOut(100)
    }, o = !1;
    r.exports = {
        play: function (e) {
            var t = {
                begin_success: function () {
                }, begin_error: function () {
                }, end: function () {
                }
            };
            n.WaveRecorder_BeginPlay(function (e) {
                t[e]()
            }), $.isFunction(e) && e()
        }, stop: function () {
            n.WaveRecorder_EndPlay()
        }, begin: function (e, t, r, s, l, p) {
            var c = {
                begin_success: function (e) {
                    o = !1, $.isFunction(s) && (i(p || "default value"), s(e))
                }, get_ampl: function (r) {
                    !o && $.isFunction(t) && (i.detect(r, function () {
                        c.end()
                    }), e(r))
                }, end: function (e) {
                    !o && $.isFunction(t) && t(e)
                }, begin_error: function (e) {
                    l = l || {clientX: 0, clientY: 0}, a(l.clientX, l.clientY), $.isFunction(r) && r(e)
                }
            };
            n.WaveRecorder_BeginRecord(function (e, t) {
                c[e](t)
            })
        }, end: function (e) {
            n.WaveRecorder_EndRecord(), $.isFunction(e) && e()
        }, endRecord: function (e) {
            o = !0, n.WaveRecorder_EndRecord(), $.isFunction(e) && e()
        }, buffer: function (e) {
            n.WaveRecorder_GetWaveData(function (t) {
                e(new Blob([new Uint8Array(t)], {type: "audio/wav"}))
            })
        }
    }
});
define("/src/scripts/render/dict/queryResult/spoken", function (e, t, r) {
    function n() {
        $(".try-more").delegate("span", "click", function (e) {
            x = {status: "reset"};
            var t, r = $(this).text(), n = d.history[d.find(r)];
            t = n.usphone ? "美[" + n.usphone + "]" : n.ukphone ? "英[" + n.ukphone + "]" : n.phone ? "[" + n.phone + "]" : "";
            var i = n.speechParam ? "http://dict.youdao.com/dictvoice?audio=" + n.speechParam : "";
            $.extend(x, {word: {word: r, phonetic: t, speech: i}}), m(function () {
                o.lightips.open(a.spoken.render(x), function () {
                }, !0), a.spoken.init()
            }, e, r), e.preventDefault()
        })
    }

    var i = e("/src/scripts/external"), s = e("/src/scripts/frame/record/index"), a = e("/output/modules"), o = e("/src/scripts/utils/utils"), l = e("/src/scripts/router/storedHistory"), c = o.shareComponent, p = !1, d = l.dict, u = [], f = !0, h = {}, y = "", m = s.begin.bind(s, function (e) {
        if ($(".light-box").is(":visible")) {
            var t = $(".spoken-read .mask");
            t.height(64 - e / 60)
        }
    }, function () {
        p ? p = !1 : $(".light-box").is(":visible") && $("#spoken  .readend").click()
    }, function () {
    });
    ke("login").on("logined", function (e) {
        y = e
    });
    var _ = function (e, t, r) {
        var n = "http://xue.youdao.com";
        s.buffer(function (i) {
            var s = new FormData;
            s.append("your_file", i), $.ajax({
                type: "POST",
                url: n + "/voice?method=getDesktopScore&orgData=" + encodeURIComponent(e) + "&username=" + encodeURIComponent(y),
                data: s,
                contentType: !1,
                processData: !1,
                dataType: "json"
            }).then(function (e) {
                $.isFunction(t) && (h = e, t(e))
            }, function () {
                $.isFunction(r) && r()
            })
        })
    }, g = function (e) {
        var t = /[^\u4e00-\u9fa5]/;
        return t.test(e)
    };
    ke("window").on("stopSpokenPlay", function () {
        s.stop()
    }), ke("window").on("stopRecord", function () {
        s.endRecord(function () {
            if ($(".light-box").is(":visible")) {
                var e = $(".spoken-read .mask");
                e.height("64px")
            }
        })
    });
    var v, b, x = {}, w = function () {
        var e = "";
        return x.sentences && x.sentences.sen && (e = x.sentences.sen), x.word && x.word.word && (e = x.word.word), e
    };
    t.init = function () {
        $("body").delegate(".js-record", "click", function (e) {
            o.speech.stopVideoAndVoice(), x = {status: "reset"}, v = e.clientX, b = e.clientY, $(e.target).hasClass("sentences_record") ? $.extend(x, {
                sentences: {
                    sen: $(this).data("sentences"),
                    speech: $(this).data("rel"),
                    isVideo: $(this).data("format")
                }
            }) : $.extend(x, {
                word: {
                    word: $(this).data("word"),
                    phonetic: $.trim($(this).data("phonetic")),
                    speech: $("#ec .voice-js").data("rel")
                }
            }), m(function () {
                o.lightips.open(a.spoken.render(x), function () {
                }, !0), a.spoken.init()
            }, e, w()), e.preventDefault()
        });
        var e = function (e, t, r) {
            o.speech.stopVideoAndVoice(), s.end(function () {
            }), o.lightips.open(a.spoken.render($.extend({status: "wait"}, r)), function (e) {
            }, !1), _(e, function (e) {
                o.lightips.open(a.spoken.render($.extend(e, {status: "result"}, r)), function () {
                    n(), a.spoken.init()
                }, !0)
            }, function () {
                o.lightips.open(a.spoken.render($.extend({status: "result"}, r, {networkError: !0})), function () {
                    n(), a.spoken.init()
                }, !0)
            })
        };
        $("body").delegate("#spoken .readstart", "click", function (e) {
            m(function () {
                o.lightips.open(a.spoken.render(x), function () {
                }, !0), a.spoken.init()
            }, e, w())
        }), $("body").delegate("#spoken  .readend", "click", function (t) {
            var r = $(this).data("type");
            if ("word" === r) {
                if (0 === u.length && f) {
                    f = !1;
                    for (var n = 0; n < d.history.length; n++)"eng" === d.history[n].lang && g(d.history[n].word) && !/^<script>.*<\/script>$/i.test(d.history[n].word) && u.push(d.history[n])
                }
                var i = u.indexOf(d.history[d.find(x.word.word)]);
                u.splice(i, 1), e(x.word.word, r, {word: x.word, history: u})
            } else if ("sentences" === r) {
                var s = x.sentences;
                e(s.sen, r, {sentences: s})
            }
            t.preventDefault()
        });
        var t = function (e, t, r) {
            o.speech.stopVideoAndVoice(), m(function () {
                o.lightips.open(a.spoken.render($.extend({status: "reset"}, t)), function () {
                }, !0)
            }, r, w())
        };
        $("body").delegate("#spoken  .respoke", "click", function (e) {
            s.end(function () {
            });
            var r = $(this).data("type");
            if ("word" === r) {
                var n = x.word;
                t(r, {word: n}, e)
            } else if ("sentences" === r) {
                var i = x.sentences;
                t(r, {sentences: i}, e)
            }
            e.preventDefault()
        }), $("body").delegate("#spoken  .replay", "click", function (e) {
            o.speech.stopVideoAndVoice(), s.play(function () {
                o.ctlog("", "", 0, "deskdict.main", "CLICK", "SpokenRePlay")
            }), e.preventDefault()
        }), $("body").delegate(".js-spoken-close", "click", function () {
            p = !0, s.end(), u = [], f = !0, o.lightips.closeMsg(function () {
                s.stop(), o.speech.stopVideoAndVoice()
            })
        }), $("body").delegate(".js_open_spoken_share", "click", function (e) {
            $(".spoken-share-options").toggle(), e.preventDefault(), e.stopPropagation()
        }), $(document).bind("click", function () {
            $(".spoken-share-options").hide()
        }), $("body").delegate(".js-share-spoken-to", "click", function (e) {
            var t = $(this);
            level = h.level, rank = h.rank, $.ajax("http://xue.youdao.com/share.a?method=getSNSImage&score=" + level + "&rank=" + rank).done(function (e) {
                var r = {
                    level: level,
                    rank: rank,
                    img: e.share,
                    url: "http://cidian.youdao.com/?keyfrom=" + t.data("keyfrom"),
                    category: t.data("category-type")
                };
                c(t.data("share-type"), r)
            }), e.preventDefault(), e.stopPropagation(), $(".share-options").hide()
        }), $("body").delegate("#gotoSpokenPk", "click", function (e) {
            var t = o.kDate.TODAY.toString("-0");
            i.openNewWnd("./speakPk.html?date=" + t, 680, 900, "speakpk", "有道词典-口语PK"), e.preventDefault()
        })
    }
});
define("/src/scripts/index", function (e, t) {
    "use strict";
    e("/lib/jquery"), e("/src/scripts/utils/event/kEvent"), window.global = {}, $(function () {
        e("/src/scripts/external").onDOMContentLoaded(), $("#queryinput").click(function () {
            "" === window.getSelection().toString() && deskdict.setSelect()
        }), $(window).focus(function () {
            deskdict.setSelect()
        }), e("/src/scripts/openApi"), e("/src/scripts/render/dict/start/index").render(), e("/src/scripts/render/log"), e("/src/scripts/frame/functionality")(), e("/src/scripts/frame/handwriting")(), e("/src/scripts/frame/combobox")(), e("/src/scripts/frame/preNext"), e("/src/scripts/frame/mainMenu")(), e("/src/scripts/frame/search_history")(), e("/src/scripts/render/dict/queryResult/index").generateLayout(), e("/src/scripts/utils/utils").goTop(), e("/src/scripts/render/dict/queryResult/spoken").init(), e("/src/scripts/utils/utils").loadStyle("./src/styles/animation.css")
    })
});
define("/src/scripts/render/dict/vista/index", function (e, t) {
    "use strict";
    function r() {
        return $("#itemView").load(function () {
            var e = (new Date).getTime();
            $("#progress").stop().animate({width: "100%"}, {
                complete: function () {
                    $("#progress").fadeOut()
                }
            }), f.vislog({loadtime: e - H, keyfrom: "deskdict.vista", infoid: x})
        }), A.indexOf(b) != -1 ? (a(), void o()) : (A.indexOf(v) < 0 && n(A), void s(k, w, void 0, function (e) {
            C = e.before, S = e.after, F(x), a(), o(), l()
        }))
    }

    function n(e, t) {
        var t = t || $("#itemView");
        return H = (new Date).getTime(), t.attr("src", e), $("#progress").stop().css("width", "1%").show(), $("#progress").animate({width: Math.round(70 + 15 * Math.random()).toString() + "%"}, {duration: 3e3}), t
    }

    function i(e, t, r, n) {
        var i = {
            apiversion: 2,
            mode: "publish",
            client: "deskdict",
            style: r,
            startDate: e.toString("-0"),
            endDate: t.toString("-0")
        };
        return E || (i.limit = 20), $.get(g, i).then(function (e) {
            n && n(e)
        })
    }

    function s(e, t, r, n) {
        e = e || "", t = t || w, r = r || "replace";
        var s = t, a = t;
        E ? (a = t.jump(0, 0, -1), s = t.jump(0, 0, 1)) : t.equals(w) || t.equals(P) ? a = $.extend({}, W) : t.equals(S) ? s = $.extend({}, P) : t.equals(C) && (a = $.extend({}, W)), "<" != P.compare(a) && ("<" == P.compare(s) && (s = P), a.equals(s) || q || !function () {
            q = !0;
            var t = setTimeout(function () {
                q = !1
            }, 1e3);
            i(a, s, e, function (e) {
                clearTimeout(t), q = !1, R(e, r, n)
            })
        }())
    }

    function a() {
        if (!N) {
            N = !0;
            var e = $(".category");
            $(".curcate", e).click(function () {
                M($(this))
            }), $("#menu_list", e).on("click", "li", function (t) {
                var r = $(this).children("a").text();
                t.preventDefault(), $(".cur", $(this).parent()).removeClass("cur"), j = "page", C = $.extend({}, new u), S = $.extend({}, new u), $("#vista_content").html(""), k = $(this).data("style"), $(".list_vista").show(), s(k, new u, "replace", function (e) {
                    $("#vista_content").scrollTop(0), C = e.before, S = e.after, $("#vista_content .item a:eq(0)").trigger("click")
                }), $(this).addClass("cur"), M($(this).parent()), $(".curcate", e).text(r), $(".mask").show()
            });
            var t = $("#vista_content");
            $("#vista_content").on("click", ".item a", function (e) {
                e.preventDefault();
                var r = $(this), i = r.parent();
                if (t.children(".item").removeClass("cur"), i.addClass("cur"), x = r.data("id"), "head" == r.attr("data-style"))return void $(".daily").html(m.render(T[r.attr("data-id")])).parent().show();
                var s = r.attr("href");
                $(".daily").parent().hide(), n(s)
            })
        }
    }

    function o() {
        L || (L = !0, $("#vista_content").scroll(function () {
            var e = $(this), t = e.scrollTop(), r = (e.height(), $(".mask")), n = e[0].scrollHeight - e.scrollTop() - e[0].clientHeight;
            0 == n ? r.hide() : r.show(), t < 50 ? "index" == j && s(k, S, "before", function (t) {
                S = t.after, e.scrollTop(50)
            }) : n < 100 && s(k, C, "after", function (e) {
                C = e.before
            })
        }))
    }

    function l() {
        0 == A.indexOf(v) && ($(".content_vista").hide(), $("#progress").stop().animate({width: "100%"}, {
            complete: function () {
                $("#progress").fadeOut()
            }
        }), $(".daily").html(m.render(T[x])).parent().show())
    }

    function c() {
        function e() {
            $(".offline_vista").hide(), $("#itemView").show(), $("#vista_content").show(), r()
        }

        function t() {
            $("#vista_content").hide(), $("#itemView").hide(), $(".list_vista").hide(), $(".offline_vista").show()
        }

        window.addEventListener("online", e, !1), window.addEventListener("offline", t, !1), navigator.onLine ? e() : t()
    }

    function p() {
        var t = e("/src/scripts/utils/store")("userConfig").local.value.abtest || "0";
        $.ajax("http://dict.youdao.com/infoline/allcolumns?mode=publish&client=deskdict&abtest=" + t).then(function (e) {
            $("#menu_list").html(y.render(e)), A.indexOf(b) != -1 && ($(".curcate", $(".category")).trigger("click"), $("#menu_list li:eq(0)").trigger("click"))
        })
    }

    e("/lib/jquery"), e("/src/scripts/utils/event/kEvent"), e("/src/scripts/frame/functionality")(), e("/src/scripts/render/dict/queryResult/spoken").init(), e("/src/scripts/render/log");
    var d = e("/src/scripts/external"), u = e("/src/scripts/utils/component/kDate"), f = e("/src/scripts/utils/utils"), h = e("/output/vista_list/vista_list"), m = e("/output/vista_daily/vista_daily"), y = e("/output/vista_category/vista_category"), g = "http://dict.youdao.com/infoline", v = "youdao://everydayEnglish", b = "youdao://everydayEnglishDefault";
    window.pcLogin = function () {
        d.PcLogin(function (e) {
            e && $("#itemView")[0].contentWindow.comments.submit()
        })
    };
    var x, w, k, C, j, q, T, S, E, D, W, O, I, P, A, H, N, L;
    d.getInfolineData(function (e) {
        x = e[0], w = new u(e[1]), A = e[2], k = "", C = $.extend({}, w), S = $.extend({}, w), P = new u, E = !0, q = !1, O = 0, I = 97, D = 20, W = P.jump(0, 0, -1 * D), j = "index", T = {}, p(), c()
    }), window.imgonerror = function (e) {
        var t = e.target || window.event.srcElement, r = $(t);
        r.attr("src", "src/images/pic_loading.png")
    };
    var R = function (e, t, r) {
        if (!e || _.isEmpty(e))return !1;
        var n = {}, i = Object.keys(e), s = i.sort().reverse(), a = {};
        for (var o in s) {
            var l = s[o];
            a[l] = [], a[l] = _.filter(e[l], function (e) {
                return "head" == e.style ? (T[e.id] || (T[e.id] = {
                    img: e["image-desk2"],
                    title: e.title,
                    summary: e.summary,
                    voice: e.voice
                }), !0) : !!e.url && (e["image-desk2"] && (e["image-desk2"] = e["image-desk2"] + "&w=100"), e.url.indexOf("xue.youdao.com/zx/m/") !== -1 || e.url.indexOf("dg.youdao.com/index.php") !== -1 || e.url.indexOf("xue.youdao.com/sw/m/") !== -1)
            })
        }
        if (E) {
            var c, p = 0;
            for (var o in a) {
                if (c)break;
                for (var d in a[o]) {
                    if (a[o][d].id == x) {
                        c = a[o][d];
                        break
                    }
                    p++
                }
            }
            c || console.log("页面传过来的参数id和请求数据不匹配"), O = p * I, E = !1
        }
        n.after = new u(i[0]).getNextDay(), n.before = new u(i[i.length - 1]).getPreDay(), $(".list_vista").hide(), "before" == t ? $("#vista_content").prepend(h.render(a)) : "after" == t ? $("#vista_content").append(h.render(a)) : "replace" == t ? $("#vista_content").html(h.render(a)) : console.log("参数where 传递错误"), r && r(n)
    }, F = function (e) {
        if (!(x && $("#item-" + x).length > 0))return !1;
        $("#vista_content").scrollTop(O);
        var t = $("#item-" + x);
        t.addClass("cur")
    }, M = function (e) {
        $(".mask").hide();
        var t = e.parent();
        t.hasClass("active") ? t.removeClass("active") : t.addClass("active")
    }
});
define("/src/scripts/render/dict/spokenPk/spokenPk", function (e) {
    e("/lib/jquery"), e("/src/scripts/utils/event/kEvent");
    var t, r = e("/src/scripts/utils/utils"), n = e("/src/scripts/external"), i = e("/src/scripts/frame/record/index"), s = r.shareComponent, a = e("/output/spoken_pk/spoken_pk"), o = e("/output/spoken_panel/spoken_panel"), l = e("/output/spoken_panel_wait/spoken_panel_wait"), c = e("/output/spoken_panel_result/spoken_panel_result"), p = e("/output/spoken_pk_result/spoken_pk_result"), d = (e("/src/scripts/utils/component/speech"), {}), u = {}, f = !1, h = {}, m = {
        id: 1823,
        type: "明星口语",
        time: 201309131156,
        version: 2,
        client: "deskdict",
        "image-desk": "http://shared.ydstatic.com/xue/stars/1.2/images/head-4.jpg",
        title: "We want our kids to grow up in a country where they have access to the best schools and the best teachers.",
        summary: "我们希望我们的孩子成长的国家能够让他们上最好的学校、接受最好老师的教导。",
        url: '{"id":"4","name":"奥巴马","image":"http://shared.ydstatic.com/xue/stars/1.2/images/head-4.jpg","voice":"http://shared.ydstatic.com/xue/stars/1.2/voices/voice-4-3.mp3"}',
        style: "oral-pk"
    }, y = function (e, t, r) {
        "spokenPkContainer" === e && (d = r), $("#" + e)[0].innerHTML = t.render(r), setTimeout(function () {
            t.init()
        }, 0), w()
    }, _ = function (e, t, r, n) {
        var i = "http://dict.youdao.com/infoline?";
        $.ajax({
            type: "get",
            url: i + $.param({
                client: "deskdict",
                style: "oral-pk",
                startdate: e,
                enddate: t,
                uid: "",
                appVer: "",
                time: $.now()
            }),
            dataType: "json"
        }).then(function (e) {
            r(e)
        }, function (e) {
            $.isFunction(n) && n(e)
        })
    }, g = function (e, t, r) {
        var n = "http://xue.youdao.com/voice.a?";
        i.buffer(function (i) {
            var s = new FormData;
            s.append("your_file", i), $.ajax({
                type: "POST",
                url: n + $.param(e),
                data: s,
                contentType: !1,
                processData: !1,
                dataType: "json"
            }).then(function (e) {
                $.isFunction(t) && (h = e, t(e))
            }, function () {
                $.isFunction(r) && r()
            })
        })
    }, v = function (e) {
        var t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)", "i"), r = window.location.search.substr(1).match(t);
        return null !== r ? r[2] : ""
    }, b = function () {
        r.lightips.open(o.render({sentences: {sen: d.title, speech: JSON.parse(d.url).voice}}), function () {
        }, !0), o.init()
    }, x = i.begin.bind(i, function (e) {
        if ($(".light-box").is(":visible")) {
            var t = $(".spoken-read .mask");
            t.height(64 - e / 60)
        }
    }, function () {
        f ? f = !1 : $(".light-box").is(":visible") && $("#pk_readend").click()
    }, function () {
    }, function () {
        b()
    }), k = function (e, t) {
        return new r.kDate(e).jump(0, 0, t).toString("-0")
    }, w = function () {
        var e = Object.keys(u).sort(), r = e.indexOf(t);
        r < e.length - 1 ? $("#next").show() : $("#next").hide(), r > 0 ? $("#pre").show() : $("#pre").hide()
    };
    ke("window").on("stopSpokenPlay", function () {
        i.stop()
    }), ke("window").on("stopRecord", function () {
        i.endRecord(function () {
            if ($(".light-box").is(":visible")) {
                var e = $(".spoken-read .mask");
                e.height("64px")
            }
        })
    });
    var C = function (e, n) {
        _(e, n, function (e) {
            u = e;
            var n = Object.keys(u).sort(), i = n[n.length - 1];
            void 0 !== u[t] && (i = t), t = i, $(".try-it").removeClass("try-reload"), void 0 !== u[i][0] ? y("spokenPkContainer", a, u[i][0]) : y("spokenPkContainer", a, m), $("#spokenPkBegin .info").html("听明星发音, PK英语口语"), r.ctlog("", "", "", "deskdict.spokenpkindex", "SHOW", "pkindex")
        }, function (e) {
            $(".try-it").addClass("try-reload"), $("#spokenPkBegin .info").html("请查看您的网络连接或代理设置"), y("spokenPkContainer", a, m), $(".spoken-pk-content .voice").css("display", "none")
        }), $.ajax("http://xue.youdao.com/share.a?method=getShareImage").done(function (e) {
            $("#spokenPkBegin .spread-pic img").attr("src", e.img)
        })
    };
    $(function () {
        t = v("date");
        var e, o;
        o = k(t, 20) >= r.kDate.TODAY.toString("-0") ? r.kDate.TODAY.toString("-0") : k(t, 20), e = k(t, -20) >= r.kDate.TODAY.toString("-0") ? r.kDate.TODAY.toString("-0") : k(t, -20), C(e, o), $("body").delegate("#reload", "click", function () {
            C(e, o)
        }), $("body").delegate(".js-share-spokenProm-to", "click", function (e) {
            var t = $(this), r = h.similarity.given, n = h.similarity.simiList[0], i = h.id, a = r.value, o = "http://xue.youdao.com/share.a?method=getWatermarkedImage&fid=" + r.id + "&fsimi=" + r.value + "&sid=" + n.id + "&ssimi=" + n.value, l = new Image;
            l.src = o, l.onload = l.oncomplete = function () {
                var e = {
                    starName: r.name,
                    score: a,
                    img: o,
                    url: "http://xue.youdao.com/share.a?id=" + i,
                    category: t.data("category-type"),
                    similarStarName: n.name
                };
                s(t.data("share-type"), e)
            }, e.preventDefault(), e.stopPropagation(), $(".share-options").hide()
        }), $("#cpp_min").click(function () {
            n.min()
        }), $("#cpp_close").click(function () {
            r.speech.stopVideoAndVoice(), i.stop(), n.closeWindow()
        }), $("header").mousedown(function () {
            n.captionMouseDown()
        });
        var f;
        $("#pre").on("click", function () {
            var e = Object.keys(u).sort();
            if (e.indexOf(t) !== -1) {
                var r = e.indexOf(t) - 1;
                t = e[r] || t, y("spokenPkContainer", a, u[t][0]), r < 5 && !f && _(k(e[0], -10), k(e[0], -1), function (e) {
                    u = $.extend(u, e)
                }, function (t) {
                    f = e[0]
                })
            }
        });
        var m;
        $("#next").on("click", function () {
            var e = Object.keys(u).sort();
            if (e.indexOf(t) !== -1) {
                var n = e.indexOf(t) + 1;
                e.length - n < 5 && e[e.length - 1] < (new r.kDate).toString("-0") && !m && _(k(e[e.length - 1], 1), k(e[e.length - 1], 10), function (e) {
                    u = $.extend(u, e)
                }, function () {
                    m = e[e.length - 1]
                }), t = e[n] || t, y("spokenPkContainer", a, u[t][0])
            }
        }), $("#begin_pk").on("click", function (e) {
            x(e, d.title), b(), e.preventDefault()
        }), $("body").delegate("#spoken_panel .readstart", "click", function (e) {
            x(e, d.title)
        }), $("body").delegate("#pk_readend", "click", function (e) {
            i.end(function () {
            }), r.lightips.open(l.render({}), function (e) {
            }, !1), g({
                method: "getDesktopScore",
                orgData: encodeURIComponent(d.title),
                starId: JSON.parse(d.url).id,
                vurl: JSON.parse(d.url).voice
            }, function (e) {
                r.lightips.closeMsg(function () {
                }), e.similarity && e.similarity.given && (e.similarity.given.voice = JSON.parse(d.url).voice), y("spokenPkResult", p, e), r.ctlog("", "", "", "deskdict.spokenpkindex", "SHOW", "pkresult"), $("section.global-section").addClass("pk-result").removeClass("pk-begin")
            }, function () {
                r.lightips.open(c.render({sentences: {sen: d.title, speech: JSON.parse(d.url).voice}}), function (e) {
                }, !1)
            }), e.preventDefault()
        }), $("body").on("click", ".js-ctlog", function () {
            r.ctlog($(this).attr("href"), "", "", "deskdict." + $(this).data("from"), "CLICK", $(this).data("ctype"))
        }), $("body").delegate(".js-replay-pk", "click", function (e) {
            i.play(), e.preventDefault()
        }), $("body").delegate(".js-redo-pk", "click", function (e) {
            x(e, d.title), e.preventDefault()
        }), $("body").delegate(".js-pk-close", "click", function (e) {
            i.end(function () {
            }), r.lightips.closeMsg(function () {
            }), e.preventDefault()
        }), $("#goBackBegin").click(function () {
            $("section.global-section").addClass("pk-begin").removeClass("pk-result"), i.stop()
        })
    })
});
define("/src/scripts/package", function (e, t, r) {
    e("/src/scripts/index"), e("/src/scripts/render/dict/vista/index"), e("/src/scripts/render/dict/spokenPk/spokenPk")
});
