var spring_site = "test";
var _cy_ = "undefined";
if (!this.spring) {
    var spring = function () {
        var F = _cy_;
        var D = spring_site;
        var O = "tns-cs.net";
        var C = typeof spring_ms != F ? spring_ms : 2048;
        var G = typeof spring_debug != F ? spring_debug : null;
        var E = {
            "+": "%2B",
            ",": "%2C",
            ";": "%3B",
            "=": "%3D",
            "~": "%7E"
        };
        var K = {};
        var N = null;
        var J = {};

        function B() {
            if ("https" == document.location.href.slice(0, 5)) {
                return "https://ssl-"
            }
            return "http://"
        }
        function P(S, Q) {
            if (!Q) {
                Q = S;
                S = {
                    r: document.referrer
                };
                J = Q
            }
            var R = Q.s ? Q.s : S.s;
            if (!R) {
                R = Q.site ? Q.site : (S.site ? S.site : D)
            }
            if (!K[R]) {
                K[R] = []
            }
            K[R].push([S, Q]);
            N = 1;
            return this
        }
        function M(U) {
            if (!N) {
                P({})
            }
            var S;
            for (var s in K) {
                var T = K[s];
                while (T.length > 0) {
                    var R = ",",
                        Q = [];
                    while (T.length > 0) {
                            R = R + A(I(T.shift(), Q), Q);
                            if (R.length > C) {
                                break
                            }
                            if (T.length > 0) {
                                R += "+"
                            }
                        }
                    S = L(R + ";", s, U)
                }
            }
            K = {};
            return S
        }
        function L(T, R, U) {
            var S = B() + (R ? R : D) + "." + O + "/j0=" + T;
            var Q = S + "?lt=" + (new Date()).getTime().toString(36) + "&x=" + screen.width + "x" + screen.height + "x" + screen.colorDepth;
            if (!U || U == 1) {
                document.write('<img src="' + Q + '"" width="1" height=""1">')
            } else {
                if (U == 2) {
                    (new Image()).src = Q
                }
            }
            if (G) {
                alert(Q)
            }
            return S
        }
        function A(Q, R) {
            for (i in R) {
                if (R[i] == Q) {
                    return "~" + i
                }
            }
            R.push(Q);
            return Q
        }
        function I(T, V) {
            var R, U, S, Q, W = /[+&,;=~]/g,
                X;
            if (!V) {
                    V = []
                }
            switch (typeof T) {
                case "string":
                    return W.test(T) ? escape(T).replace(W, function (Y) {
                        var Z = E[Y];
                        if (Z) {
                            return Z
                        }
                        return Y
                    }) : escape(T);
                case "number":
                    return isFinite(T) ? String(T) : "null";
                case "boolean":
                case "null":
                    return String(T);
                case "object":
                    if (!T) {
                        return "null"
                    }
                    R = [];
                    if (typeof T.length === "number" && !(T.propertyIsEnumerable("length"))) {
                        Q = T.length;
                        for (U = 0; U < Q; U += 1) {
                            R.push(A(I(T[U], V), V) || "null")
                        }
                        return "," + R.join("+") + ";"
                    }
                    for (S in T) {
                        if (typeof S === "string") {
                            if (S != "site") {
                                X = I(T[S], V);
                                if (X) {
                                    R.push(A(I(S, V) + "=" + X, V))
                                }
                            }
                        }
                    }
                    return "," + R.join("+") + ";"
                }
            return ""
        }
        function H(R, Q, S) {
            P(R, Q);
            return M(S)
        }
        return {
            a: P,
            add: P,
            c: H,
            commit: H
        }
    }()
};