/*
* Kendo UI v2015.2.805 (http://www.telerik.com/kendo-ui)
* Copyright 2015 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
(function(f, define) {
define([], f)
})(function() {
"bundle all";
! function(e, t, n) {
function i() {}
function r(e, t) {
if (t) return "'" + e.split("'").join("\\'").split('\\"').join('\\\\\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t") + "'";
var n = e.charAt(0),
i = e.substring(1);
return "=" === n ? "+(" + i + ")+" : ":" === n ? "+$kendoHtmlEncode(" + i + ")+" : ";" + e + ";$kendoOutput+="
}
function o(e, t, n) {
return e += "", t = t || 2, n = t - e.length, n ? V[t].substring(0, n) + e : e
}
function a(e) {
var t = e.css(mt.support.transitions.css + "box-shadow") || e.css("box-shadow"),
n = t ? t.match(Dt) || [0, 0, 0, 0, 0] : [0, 0, 0, 0, 0],
i = kt.max(+n[3], +(n[4] || 0));
return {
left: -n[1] + i,
right: +n[1] + i,
bottom: +n[2] + i
}
}
function s(t, n) {
var i, r, o, s, l, c, d, u, h = Ct.browser,
p = "rtl" == t.css("direction");
return t.parent().hasClass("k-animation-container") ? (d = t.parent(".k-animation-container"), u = d[0].style, d.is(":hidden") && d.show(), i = St.test(u.width) || St.test(u.height), i || d.css({
width: t.outerWidth(),
height: t.outerHeight(),
boxSizing: "content-box",
mozBoxSizing: "content-box",
webkitBoxSizing: "content-box"
})) : (r = a(t), o = t[0].style.width, s = t[0].style.height, l = St.test(o), c = St.test(s), h.opera && (r.left = r.right = r.bottom = 5), i = l || c, !l && (!n || n && o) && (o = t.outerWidth()), !c && (!n || n && s) && (s = t.outerHeight()), t.wrap(e("
").addClass("k-animation-container").css({
width: o,
height: s,
marginLeft: r.left * (p ? 1 : -1),
paddingLeft: r.left,
paddingRight: r.right,
paddingBottom: r.bottom
})), i && t.css({
width: "100%",
height: "100%",
boxSizing: "border-box",
mozBoxSizing: "border-box",
webkitBoxSizing: "border-box"
})), h.msie && kt.floor(h.version) <= 7 && (t.css({
zoom: 1
}), t.children(".k-menu").width(t.width())), t.parent()
}
function l(e) {
var t = 1,
n = arguments.length;
for (t = 1; n > t; t++) c(e, arguments[t]);
return e
}
function c(e, t) {
var n, i, r, o, a, s = mt.data.ObservableArray,
l = mt.data.LazyObservableArray,
d = mt.data.DataSource,
u = mt.data.HierarchicalDataSource;
for (n in t) i = t[n], r = typeof i, o = r === Mt && null !== i ? i.constructor : null, o && o !== Array && o !== s && o !== l && o !== d && o !== u ? i instanceof Date ? e[n] = new Date(i.getTime()) : P(i.clone) ? e[n] = i.clone() : (a = e[n], e[n] = typeof a === Mt ? a || {} : {}, c(e[n], i)) : r !== Rt && (e[n] = i);
return e
}
function d(e, t, i) {
for (var r in t)
if (t.hasOwnProperty(r) && t[r].test(e)) return r;
return i !== n ? i : e
}
function u(e) {
return e.replace(/([a-z][A-Z])/g, function(e) {
return e.charAt(0) + "-" + e.charAt(1).toLowerCase()
})
}
function h(e) {
return e.replace(/\-(\w)/g, function(e, t) {
return t.toUpperCase()
})
}
function p(t, n) {
var i, r = {};
return document.defaultView && document.defaultView.getComputedStyle ? (i = document.defaultView.getComputedStyle(t, ""), n && e.each(n, function(e, t) {
r[t] = i.getPropertyValue(t)
})) : (i = t.currentStyle, n && e.each(n, function(e, t) {
r[t] = i[h(t)]
})), mt.size(r) || (r = i), r
}
function f(e) {
var t = p(e, ["overflow"]).overflow;
return "auto" == t || "scroll" == t
}
function g(e) {
var t, n = 0;
for (t in e) e.hasOwnProperty(t) && "toJSON" != t && n++;
return n
}
function m(e, n, i) {
n || (n = "offset");
var r = e[n]();
return Ct.browser.msie && (Ct.pointers || Ct.msPointers) && !i && (r.top -= t.pageYOffset - document.documentElement.scrollTop, r.left -= t.pageXOffset - document.documentElement.scrollLeft), r
}
function v(e) {
var t = {};
return _t("string" == typeof e ? e.split(" ") : e, function(e) {
t[e] = this
}), t
}
function _(e) {
return new mt.effects.Element(e)
}
function w(e, t, n, i) {
return typeof e === It && (P(t) && (i = t, t = 400, n = !1), P(n) && (i = n, n = !1), typeof t === Ft && (n = t, t = 400), e = {
effects: e,
duration: t,
reverse: n,
complete: i
}), vt({
effects: {},
duration: 400,
reverse: !1,
init: yt,
teardown: yt,
hide: !1
}, e, {
completeCallback: e.complete,
complete: yt
})
}
function b(t, n, i, r, o) {
for (var a, s = 0, l = t.length; l > s; s++) a = e(t[s]), a.queue(function() {
W.promise(a, w(n, i, r, o))
});
return t
}
function y(e, t, n, i) {
return t && (t = t.split(" "), _t(t, function(t, n) {
e.toggleClass(n, i)
})), e
}
function k(e) {
return ("" + e).replace(j, "&").replace(G, "<").replace(Y, ">").replace(q, """).replace($, "'")
}
function x(e, t) {
var i;
return 0 === t.indexOf("data") && (t = t.substring(4), t = t.charAt(0).toLowerCase() + t.substring(1)), t = t.replace(it, "-$1"), i = e.getAttribute("data-" + mt.ns + t), null === i ? i = n : "null" === i ? i = null : "true" === i ? i = !0 : "false" === i ? i = !1 : At.test(i) ? i = parseFloat(i) : tt.test(i) && !nt.test(i) && (i = Function("return (" + i + ")")()), i
}
function C(t, i) {
var r, o, a = {};
for (r in i) o = x(t, r), o !== n && (et.test(r) && (o = mt.template(e("#" + o).html())), a[r] = o);
return a
}
function S(t, n) {
return e.contains(t, n) ? -1 : 1
}
function T() {
var t = e(this);
return e.inArray(t.attr("data-" + mt.ns + "role"), ["slider", "rangeslider"]) > -1 || t.is(":visible")
}
function D(e, t) {
var n = e.nodeName.toLowerCase();
return (/input|select|textarea|button|object/.test(n) ? !e.disabled : "a" === n ? e.href || t : t) && A(e)
}
function A(t) {
return e.expr.filters.visible(t) && !e(t).parents().addBack().filter(function() {
return "hidden" === e.css(this, "visibility")
}).length
}
function E(e, t) {
return new E.fn.init(e, t)
}
var I, P, M, z, F, R, H, B, L, N, O, V, U, W, j, G, q, $, Y, Q, K, X, Z, J, et, tt, nt, it, rt, ot, at, st, lt, ct, dt, ut, ht, pt, ft, gt, mt = t.kendo = t.kendo || {
cultures: {}
},
vt = e.extend,
_t = e.each,
wt = e.isArray,
bt = e.proxy,
yt = e.noop,
kt = Math,
xt = t.JSON || {},
Ct = {},
St = /%/,
Tt = /\{(\d+)(:[^\}]+)?\}/g,
Dt = /(\d+(?:\.?)\d*)px\s*(\d+(?:\.?)\d*)px\s*(\d+(?:\.?)\d*)px\s*(\d+)?/i,
At = /^(\+|-?)\d+(\.?)\d*$/,
Et = "function",
It = "string",
Pt = "number",
Mt = "object",
zt = "null",
Ft = "boolean",
Rt = "undefined",
Ht = {},
Bt = {},
Lt = [].slice,
Nt = t.Globalize;
mt.version = "2015.2.805", i.extend = function(e) {
var t, n, i = function() {},
r = this,
o = e && e.init ? e.init : function() {
r.apply(this, arguments)
};
i.prototype = r.prototype, n = o.fn = o.prototype = new i;
for (t in e) n[t] = null != e[t] && e[t].constructor === Object ? vt(!0, {}, i.prototype[t], e[t]) : e[t];
return n.constructor = o, o.extend = r.extend, o
}, i.prototype._initOptions = function(e) {
this.options = l({}, this.options, e)
}, P = mt.isFunction = function(e) {
return "function" == typeof e
}, M = function() {
this._defaultPrevented = !0
}, z = function() {
return this._defaultPrevented === !0
}, F = i.extend({
init: function() {
this._events = {}
},
bind: function(e, t, i) {
var r, o, a, s, l, c = this,
d = typeof e === It ? [e] : e,
u = typeof t === Et;
if (t === n) {
for (r in e) c.bind(r, e[r]);
return c
}
for (r = 0, o = d.length; o > r; r++) e = d[r], s = u ? t : t[e], s && (i && (a = s, s = function() {
c.unbind(e, s), a.apply(c, arguments)
}, s.original = a), l = c._events[e] = c._events[e] || [], l.push(s));
return c
},
one: function(e, t) {
return this.bind(e, t, !0)
},
first: function(e, t) {
var n, i, r, o, a = this,
s = typeof e === It ? [e] : e,
l = typeof t === Et;
for (n = 0, i = s.length; i > n; n++) e = s[n], r = l ? t : t[e], r && (o = a._events[e] = a._events[e] || [], o.unshift(r));
return a
},
trigger: function(e, t) {
var n, i, r = this,
o = r._events[e];
if (o) {
for (t = t || {}, t.sender = r, t._defaultPrevented = !1, t.preventDefault = M, t.isDefaultPrevented = z, o = o.slice(), n = 0, i = o.length; i > n; n++) o[n].call(r, t);
return t._defaultPrevented === !0
}
return !1
},
unbind: function(e, t) {
var i, r = this,
o = r._events[e];
if (e === n) r._events = {};
else if (o)
if (t)
for (i = o.length - 1; i >= 0; i--)(o[i] === t || o[i].original === t) && o.splice(i, 1);
else r._events[e] = [];
return r
}
}), R = /^\w+/, H = /\$\{([^}]*)\}/g, B = /\\\}/g, L = /__CURLY__/g, N = /\\#/g, O = /__SHARP__/g, V = ["", "0", "00", "000", "0000"], I = {
paramName: "data",
useWithBlock: !0,
render: function(e, t) {
var n, i, r = "";
for (n = 0, i = t.length; i > n; n++) r += e(t[n]);
return r
},
compile: function(e, t) {
var n, i, o, a = vt({}, this, t),
s = a.paramName,
l = s.match(R)[0],
c = a.useWithBlock,
d = "var $kendoOutput, $kendoHtmlEncode = kendo.htmlEncode;";
if (P(e)) return e;
for (d += c ? "with(" + s + "){" : "", d += "$kendoOutput=", i = e.replace(B, "__CURLY__").replace(H, "#=$kendoHtmlEncode($1)#").replace(L, "}").replace(N, "__SHARP__").split("#"), o = 0; i.length > o; o++) d += r(i[o], o % 2 === 0);
d += c ? ";}" : ";", d += "return $kendoOutput;", d = d.replace(O, "#");
try {
return n = Function(l, d), n._slotCount = Math.floor(i.length / 2), n
} catch (u) {
throw Error(mt.format("Invalid template:'{0}' Generated code:'{1}'", e, d))
}
}
},
function() {
function e(e) {
return a.lastIndex = 0, a.test(e) ? '"' + e.replace(a, function(e) {
var t = s[e];
return typeof t === It ? t : "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4)
}) + '"' : '"' + e + '"'
}
function t(o, a) {
var s, c, d, u, h, p, f = n,
g = a[o];
if (g && typeof g === Mt && typeof g.toJSON === Et && (g = g.toJSON(o)), typeof r === Et && (g = r.call(a, o, g)), p = typeof g, p === It) return e(g);
if (p === Pt) return isFinite(g) ? g + "" : zt;
if (p === Ft || p === zt) return g + "";
if (p === Mt) {
if (!g) return zt;
if (n += i, h = [], "[object Array]" === l.apply(g)) {
for (u = g.length, s = 0; u > s; s++) h[s] = t(s, g) || zt;
return d = 0 === h.length ? "[]" : n ? "[\n" + n + h.join(",\n" + n) + "\n" + f + "]" : "[" + h.join(",") + "]", n = f, d
}
if (r && typeof r === Mt)
for (u = r.length, s = 0; u > s; s++) typeof r[s] === It && (c = r[s], d = t(c, g), d && h.push(e(c) + (n ? ": " : ":") + d));
else
for (c in g) Object.hasOwnProperty.call(g, c) && (d = t(c, g), d && h.push(e(c) + (n ? ": " : ":") + d));
return d = 0 === h.length ? "{}" : n ? "{\n" + n + h.join(",\n" + n) + "\n" + f + "}" : "{" + h.join(",") + "}", n = f, d
}
}
var n, i, r, a = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
s = {
"\b": "\\b",
" ": "\\t",
"\n": "\\n",
"\f": "\\f",
"\r": "\\r",
'"': '\\"',
"\\": "\\\\"
},
l = {}.toString;
typeof Date.prototype.toJSON !== Et && (Date.prototype.toJSON = function() {
var e = this;
return isFinite(e.valueOf()) ? o(e.getUTCFullYear(), 4) + "-" + o(e.getUTCMonth() + 1) + "-" + o(e.getUTCDate()) + "T" + o(e.getUTCHours()) + ":" + o(e.getUTCMinutes()) + ":" + o(e.getUTCSeconds()) + "Z" : null
}, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {
return this.valueOf()
}), typeof xt.stringify !== Et && (xt.stringify = function(e, o, a) {
var s;
if (n = "", i = "", typeof a === Pt)
for (s = 0; a > s; s += 1) i += " ";
else typeof a === It && (i = a); if (r = o, o && typeof o !== Et && (typeof o !== Mt || typeof o.length !== Pt)) throw Error("JSON.stringify");
return t("", {
"": e
})
})
}(),
function() {
function t(e) {
if (e) {
if (e.numberFormat) return e;
if (typeof e === It) {
var t = mt.cultures;
return t[e] || t[e.split("-")[0]] || null
}
return null
}
return null
}
function i(e) {
return e && (e = t(e)), e || mt.cultures.current
}
function r(e) {
e.groupSizes = e.groupSize, e.percent.groupSizes = e.percent.groupSize, e.currency.groupSizes = e.currency.groupSize
}
function a(e, t, r) {
r = i(r);
var a = r.calendars.standard,
s = a.days,
l = a.months;
return t = a.patterns[t] || t, t.replace(d, function(t) {
var i, r, c;
return "d" === t ? r = e.getDate() : "dd" === t ? r = o(e.getDate()) : "ddd" === t ? r = s.namesAbbr[e.getDay()] : "dddd" === t ? r = s.names[e.getDay()] : "M" === t ? r = e.getMonth() + 1 : "MM" === t ? r = o(e.getMonth() + 1) : "MMM" === t ? r = l.namesAbbr[e.getMonth()] : "MMMM" === t ? r = l.names[e.getMonth()] : "yy" === t ? r = o(e.getFullYear() % 100) : "yyyy" === t ? r = o(e.getFullYear(), 4) : "h" === t ? r = e.getHours() % 12 || 12 : "hh" === t ? r = o(e.getHours() % 12 || 12) : "H" === t ? r = e.getHours() : "HH" === t ? r = o(e.getHours()) : "m" === t ? r = e.getMinutes() : "mm" === t ? r = o(e.getMinutes()) : "s" === t ? r = e.getSeconds() : "ss" === t ? r = o(e.getSeconds()) : "f" === t ? r = kt.floor(e.getMilliseconds() / 100) : "ff" === t ? (r = e.getMilliseconds(), r > 99 && (r = kt.floor(r / 10)), r = o(r)) : "fff" === t ? r = o(e.getMilliseconds(), 3) : "tt" === t ? r = e.getHours() < 12 ? a.AM[0] : a.PM[0] : "zzz" === t ? (i = e.getTimezoneOffset(), c = 0 > i, r = ("" + kt.abs(i / 60)).split(".")[0], i = kt.abs(i) - 60 * r, r = (c ? "+" : "-") + o(r), r += ":" + o(i)) : ("zz" === t || "z" === t) && (r = e.getTimezoneOffset() / 60, c = 0 > r, r = ("" + kt.abs(r)).split(".")[0], r = (c ? "+" : "-") + ("zz" === t ? o(r) : r)), r !== n ? r : t.slice(1, t.length - 1)
})
}
function s(e, t, r) {
r = i(r);
var o, a, s, c, d, b, y, k, x, C, S, T, D, A, E, I, P, M, z, F, R, H, B, L = r.numberFormat,
N = L.groupSize[0],
O = L[m],
V = L[g],
U = L.decimals,
W = L.pattern[0],
j = [],
G = 0 > e,
q = f,
$ = f,
Y = -1;
if (e === n) return f;
if (!isFinite(e)) return e;
if (!t) return r.name.length ? e.toLocaleString() : "" + e;
if (d = u.exec(t)) {
if (t = d[1].toLowerCase(), a = "c" === t, s = "p" === t, (a || s) && (L = a ? L.currency : L.percent, N = L.groupSize[0], O = L[m], V = L[g], U = L.decimals, o = L.symbol, W = L.pattern[G ? 0 : 1]), c = d[2], c && (U = +c), "e" === t) return c ? e.toExponential(U) : e.toExponential();
if (s && (e *= 100), e = l(e, U), G = 0 > e, e = e.split(g), b = e[0], y = e[1], G && (b = b.substring(1)), $ = b, k = b.length, k >= N)
for ($ = f, C = 0; k > C; C++) C > 0 && (k - C) % N === 0 && ($ += O), $ += b.charAt(C);
if (y && ($ += V + y), "n" === t && !G) return $;
for (e = f, C = 0, S = W.length; S > C; C++) T = W.charAt(C), e += "n" === T ? $ : "$" === T || "%" === T ? o : T;
return e
}
if (G && (e = -e), (t.indexOf("'") > -1 || t.indexOf('"') > -1 || t.indexOf("\\") > -1) && (t = t.replace(h, function(e) {
var t = e.charAt(0).replace("\\", ""),
n = e.slice(1).replace(t, "");
return j.push(n), w
})), t = t.split(";"), G && t[1]) t = t[1], A = !0;
else if (0 === e) {
if (t = t[2] || t[0], -1 == t.indexOf(v) && -1 == t.indexOf(_)) return t
} else t = t[0]; if (F = t.indexOf("%"), R = t.indexOf("$"), s = -1 != F, a = -1 != R, s && (e *= 100), a && "\\" === t[R - 1] && (t = t.split("\\").join(""), a = !1), (a || s) && (L = a ? L.currency : L.percent, N = L.groupSize[0], O = L[m], V = L[g], U = L.decimals, o = L.symbol), D = t.indexOf(m) > -1, D && (t = t.replace(p, f)), E = t.indexOf(g), S = t.length, -1 != E ? (y = ("" + e).split("e"), y = y[1] ? l(e, Math.abs(y[1])) : y[0], y = y.split(g)[1] || f, P = t.lastIndexOf(_) - E, I = t.lastIndexOf(v) - E, M = P > -1, z = I > -1, C = y.length, M || z || (t = t.substring(0, E) + t.substring(E + 1), S = t.length, E = -1, C = 0), M && P > I ? C = P : I > P && (z && C > I ? C = I : M && P > C && (C = P)), C > -1 && (e = l(e, C))) : e = l(e), I = t.indexOf(v), H = P = t.indexOf(_), Y = -1 == I && -1 != P ? P : -1 != I && -1 == P ? I : I > P ? P : I, I = t.lastIndexOf(v), P = t.lastIndexOf(_), B = -1 == I && -1 != P ? P : -1 != I && -1 == P ? I : I > P ? I : P, Y == S && (B = Y), -1 != Y) {
if ($ = ("" + e).split(g), b = $[0], y = $[1] || f, k = b.length, x = y.length, G && -1 * e >= 0 && (G = !1), D)
if (k === N && E - H > k) b = O + b;
else if (k > N) {
for ($ = f, C = 0; k > C; C++) C > 0 && (k - C) % N === 0 && ($ += O), $ += b.charAt(C);
b = $
}
for (e = t.substring(0, Y), G && !A && (e += "-"), C = Y; S > C; C++) {
if (T = t.charAt(C), -1 == E) {
if (k > B - C) {
e += b;
break
}
} else if (-1 != P && C > P && (q = f), k >= E - C && E - C > -1 && (e += b, C = E), E === C) {
e += (y ? V : f) + y, C += B - E + 1;
continue
}
T === _ ? (e += T, q = T) : T === v && (e += q)
}
if (B >= Y && (e += t.substring(B + 1)), a || s) {
for ($ = f, C = 0, S = e.length; S > C; C++) T = e.charAt(C), $ += "$" === T || "%" === T ? o : T;
e = $
}
if (S = j.length)
for (C = 0; S > C; C++) e = e.replace(w, j[C])
}
return e
}
var l, c, d = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|HH|H|hh|h|mm|m|fff|ff|f|tt|ss|s|zzz|zz|z|"[^"]*"|'[^']*'/g,
u = /^(n|c|p|e)(\d*)$/i,
h = /(\\.)|(['][^']*[']?)|(["][^"]*["]?)/g,
p = /\,/g,
f = "",
g = ".",
m = ",",
v = "#",
_ = "0",
w = "??",
b = "en-US",
y = {}.toString;
mt.cultures["en-US"] = {
name: b,
numberFormat: {
pattern: ["-n"],
decimals: 2,
",": ",",
".": ".",
groupSize: [3],
percent: {
pattern: ["-n %", "n %"],
decimals: 2,
",": ",",
".": ".",
groupSize: [3],
symbol: "%"
},
currency: {
pattern: ["($n)", "$n"],
decimals: 2,
",": ",",
".": ".",
groupSize: [3],
symbol: "$"
}
},
calendars: {
standard: {
days: {
names: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
namesAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
namesShort: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
},
months: {
names: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
namesAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
},
AM: ["AM", "am", "AM"],
PM: ["PM", "pm", "PM"],
patterns: {
d: "M/d/yyyy",
D: "dddd, MMMM dd, yyyy",
F: "dddd, MMMM dd, yyyy h:mm:ss tt",
g: "M/d/yyyy h:mm tt",
G: "M/d/yyyy h:mm:ss tt",
m: "MMMM dd",
M: "MMMM dd",
s: "yyyy'-'MM'-'ddTHH':'mm':'ss",
t: "h:mm tt",
T: "h:mm:ss tt",
u: "yyyy'-'MM'-'dd HH':'mm':'ss'Z'",
y: "MMMM, yyyy",
Y: "MMMM, yyyy"
},
"/": "/",
":": ":",
firstDay: 0,
twoDigitYearMax: 2029
}
}
}, mt.culture = function(e) {
var i, o = mt.cultures;
return e === n ? o.current : (i = t(e) || o[b], i.calendar = i.calendars.standard, o.current = i, Nt && !Nt.load && r(i.numberFormat), n)
}, mt.findCulture = t, mt.getCulture = i, mt.culture(b), l = function(e, t) {
return t = t || 0, e = ("" + e).split("e"), e = Math.round(+(e[0] + "e" + (e[1] ? +e[1] + t : t))), e = ("" + e).split("e"), e = +(e[0] + "e" + (e[1] ? +e[1] - t : -t)), e.toFixed(t)
}, c = function(e, t, i) {
if (t) {
if ("[object Date]" === y.call(e)) return a(e, t, i);
if (typeof e === Pt) return s(e, t, i)
}
return e !== n ? e : ""
}, Nt && !Nt.load && (c = function(t, n, i) {
return e.isPlainObject(i) && (i = i.name), Nt.format(t, n, i)
}), mt.format = function(e) {
var t = arguments;
return e.replace(Tt, function(e, n, i) {
var r = t[parseInt(n, 10) + 1];
return c(r, i ? i.substring(1) : "")
})
}, mt._extractFormat = function(e) {
return "{0:" === e.slice(0, 3) && (e = e.slice(3, e.length - 1)), e
}, mt._activeElement = function() {
try {
return document.activeElement
} catch (e) {
return document.documentElement.activeElement
}
}, mt._round = l, mt.toString = c
}(),
function() {
function t(e, t, n) {
return !(e >= t && n >= e)
}
function i(e) {
return e.charAt(0)
}
function r(t) {
return e.map(t, i)
}
function o(e, t) {
t || 23 !== e.getHours() || e.setHours(e.getHours() + 2)
}
function a(e) {
for (var t = 0, n = e.length, i = []; n > t; t++) i[t] = (e[t] + "").toLowerCase();
return i
}
function s(e) {
var t, n = {};
for (t in e) n[t] = a(e[t]);
return n
}
function l(e, i, a) {
if (!e) return null;
var l, c, d, u, f, g, m, _, w, b, y, k, x, C = function(e) {
for (var t = 0; i[H] === e;) t++, H++;
return t > 0 && (H -= 1), t
},
S = function(t) {
var n = v[t] || RegExp("^\\d{1," + t + "}"),
i = e.substr(B, t).match(n);
return i ? (i = i[0], B += i.length, parseInt(i, 10)) : null
},
T = function(t, n) {
for (var i, r, o, a = 0, s = t.length, l = 0, c = 0; s > a; a++) i = t[a], r = i.length, o = e.substr(B, r), n && (o = o.toLowerCase()), o == i && r > l && (l = r, c = a);
return l ? (B += l, c + 1) : null
},
D = function() {
var t = !1;
return e.charAt(B) === i[H] && (B++, t = !0), t
},
A = a.calendars.standard,
E = null,
I = null,
P = null,
M = null,
z = null,
F = null,
R = null,
H = 0,
B = 0,
L = !1,
N = new Date,
O = A.twoDigitYearMax || 2029,
V = N.getFullYear();
for (i || (i = "d"), u = A.patterns[i], u && (i = u), i = i.split(""), d = i.length; d > H; H++)
if (l = i[H], L) "'" === l ? L = !1 : D();
else if ("d" === l) {
if (c = C("d"), A._lowerDays || (A._lowerDays = s(A.days)), null !== P && c > 2) continue;
if (P = 3 > c ? S(2) : T(A._lowerDays[3 == c ? "namesAbbr" : "names"], !0), null === P || t(P, 1, 31)) return null
} else if ("M" === l) {
if (c = C("M"), A._lowerMonths || (A._lowerMonths = s(A.months)), I = 3 > c ? S(2) : T(A._lowerMonths[3 == c ? "namesAbbr" : "names"], !0), null === I || t(I, 1, 12)) return null;
I -= 1
} else if ("y" === l) {
if (c = C("y"), E = S(c), null === E) return null;
2 == c && ("string" == typeof O && (O = V + parseInt(O, 10)), E = V - V % 100 + E, E > O && (E -= 100))
} else if ("h" === l) {
if (C("h"), M = S(2), 12 == M && (M = 0), null === M || t(M, 0, 11)) return null
} else if ("H" === l) {
if (C("H"), M = S(2), null === M || t(M, 0, 23)) return null
} else if ("m" === l) {
if (C("m"), z = S(2), null === z || t(z, 0, 59)) return null
} else if ("s" === l) {
if (C("s"), F = S(2), null === F || t(F, 0, 59)) return null
} else if ("f" === l) {
if (c = C("f"), x = e.substr(B, c).match(v[3]), R = S(c), null !== R && (x = x[0].length, 3 > x && (R *= Math.pow(10, 3 - x)), c > 3 && (R = parseInt(("" + R).substring(0, 3), 10))), null === R || t(R, 0, 999)) return null
} else if ("t" === l) {
if (c = C("t"), _ = A.AM, w = A.PM, 1 === c && (_ = r(_), w = r(w)), f = T(w), !f && !T(_)) return null
} else if ("z" === l) {
if (g = !0, c = C("z"), "Z" === e.substr(B, 1)) {
D();
continue
}
if (m = e.substr(B, 6).match(c > 2 ? p : h), !m) return null;
if (m = m[0].split(":"), b = m[0], y = m[1], !y && b.length > 3 && (B = b.length - 2, y = b.substring(B), b = b.substring(0, B)), b = parseInt(b, 10), t(b, -12, 13)) return null;
if (c > 2 && (y = parseInt(y, 10), isNaN(y) || t(y, 0, 59))) return null
} else if ("'" === l) L = !0, D();
else if (!D()) return null;
return k = null !== M || null !== z || F || null, null === E && null === I && null === P && k ? (E = V, I = N.getMonth(), P = N.getDate()) : (null === E && (E = V), null === P && (P = 1)), f && 12 > M && (M += 12), g ? (b && (M += -b), y && (z += -y), e = new Date(Date.UTC(E, I, P, M, z, F, R))) : (e = new Date(E, I, P, M, z, F, R), o(e, M)), 100 > E && e.setFullYear(E), e.getDate() !== P && g === n ? null : e
}
function c(e) {
var t = "-" === e.substr(0, 1) ? -1 : 1;
return e = e.substring(1), e = 60 * parseInt(e.substr(0, 2), 10) + parseInt(e.substring(2), 10), t * e
}
var d = /\u00A0/g,
u = /[eE][\-+]?[0-9]+/,
h = /[+|\-]\d{1,2}/,
p = /[+|\-]\d{1,2}:?\d{2}/,
f = /^\/Date\((.*?)\)\/$/,
g = /[+-]\d*/,
m = ["G", "g", "d", "F", "D", "y", "m", "T", "t"],
v = {
2: /^\d{1,2}/,
3: /^\d{1,3}/,
4: /^\d{4}/
},
_ = {}.toString;
mt.parseDate = function(e, t, n) {
var i, r, o, a, s;
if ("[object Date]" === _.call(e)) return e;
if (i = 0, r = null, e && 0 === e.indexOf("/D") && (r = f.exec(e))) return r = r[1], s = g.exec(r.substring(1)), r = new Date(parseInt(r, 10)), s && (s = c(s[0]), r = mt.timezone.apply(r, 0), r = mt.timezone.convert(r, 0, -1 * s)), r;
if (n = mt.getCulture(n), !t) {
for (t = [], a = n.calendar.patterns, o = m.length; o > i; i++) t[i] = a[m[i]];
i = 0, t = ["yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM/dd", "ddd MMM dd yyyy HH:mm:ss", "yyyy-MM-ddTHH:mm:ss.fffffffzzz", "yyyy-MM-ddTHH:mm:ss.fffzzz", "yyyy-MM-ddTHH:mm:sszzz", "yyyy-MM-ddTHH:mm:ss.fffffff", "yyyy-MM-ddTHH:mm:ss.fff", "yyyy-MM-ddTHH:mmzzz", "yyyy-MM-ddTHH:mmzz", "yyyy-MM-ddTHH:mm:ss", "yyyy-MM-ddTHH:mm", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM-dd", "HH:mm:ss", "HH:mm"].concat(t)
}
for (t = wt(t) ? t : [t], o = t.length; o > i; i++)
if (r = l(e, t[i], n)) return r;
return r
}, mt.parseInt = function(e, t) {
var n = mt.parseFloat(e, t);
return n && (n = 0 | n), n
}, mt.parseFloat = function(e, t, n) {
if (!e && 0 !== e) return null;
if (typeof e === Pt) return e;
e = "" + e, t = mt.getCulture(t);
var i, r, o = t.numberFormat,
a = o.percent,
s = o.currency,
l = s.symbol,
c = a.symbol,
h = e.indexOf("-");
return u.test(e) ? (e = parseFloat(e.replace(o["."], ".")), isNaN(e) && (e = null), e) : h > 0 ? null : (h = h > -1, e.indexOf(l) > -1 || n && n.toLowerCase().indexOf("c") > -1 ? (o = s, i = o.pattern[0].replace("$", l).split("n"), e.indexOf(i[0]) > -1 && e.indexOf(i[1]) > -1 && (e = e.replace(i[0], "").replace(i[1], ""), h = !0)) : e.indexOf(c) > -1 && (r = !0, o = a, l = c), e = e.replace("-", "").replace(l, "").replace(d, " ").split(o[","].replace(d, " ")).join("").replace(o["."], "."), e = parseFloat(e), isNaN(e) ? e = null : h && (e *= -1), e && r && (e /= 100), e)
}, Nt && !Nt.load && (mt.parseDate = function(e, t, n) {
return "[object Date]" === _.call(e) ? e : Nt.parseDate(e, t, n)
}, mt.parseFloat = function(t, i) {
return typeof t === Pt ? t : t === n || null === t ? null : (e.isPlainObject(i) && (i = i.name), t = Nt.parseFloat(t, i), isNaN(t) ? null : t)
})
}(),
function() {
var i, r, o, a, s, l, c;
Ct._scrollbar = n, Ct.scrollbar = function(e) {
if (isNaN(Ct._scrollbar) || e) {
var t, n = document.createElement("div");
return n.style.cssText = "overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block", n.innerHTML = " ", document.body.appendChild(n), Ct._scrollbar = t = n.offsetWidth - n.scrollWidth, document.body.removeChild(n), t
}
return Ct._scrollbar
}, Ct.isRtl = function(t) {
return e(t).closest(".k-rtl").length > 0
}, i = document.createElement("table");
try {
i.innerHTML = "
", Ct.tbodyInnerHtml = !0
} catch (u) {
Ct.tbodyInnerHtml = !1
}
Ct.touch = "ontouchstart" in t, Ct.msPointers = t.MSPointerEvent, Ct.pointers = t.PointerEvent, r = Ct.transitions = !1, o = Ct.transforms = !1, a = "HTMLElement" in t ? HTMLElement.prototype : [], Ct.hasHW3D = "WebKitCSSMatrix" in t && "m11" in new t.WebKitCSSMatrix || "MozPerspective" in document.documentElement.style || "msPerspective" in document.documentElement.style, _t(["Moz", "webkit", "O", "ms"], function() {
var e, t = "" + this,
a = typeof i.style[t + "Transition"] === It;
return a || typeof i.style[t + "Transform"] === It ? (e = t.toLowerCase(), o = {
css: "ms" != e ? "-" + e + "-" : "",
prefix: t,
event: "o" === e || "webkit" === e ? e : ""
}, a && (r = o, r.event = r.event ? r.event + "TransitionEnd" : "transitionend"), !1) : n
}), i = null, Ct.transforms = o, Ct.transitions = r, Ct.devicePixelRatio = t.devicePixelRatio === n ? 1 : t.devicePixelRatio;
try {
Ct.screenWidth = t.outerWidth || t.screen ? t.screen.availWidth : t.innerWidth, Ct.screenHeight = t.outerHeight || t.screen ? t.screen.availHeight : t.innerHeight
} catch (u) {
Ct.screenWidth = t.screen.availWidth, Ct.screenHeight = t.screen.availHeight
}
Ct.detectOS = function(e) {
var n, i, r = !1,
o = [],
a = !/mobile safari/i.test(e),
s = {
wp: /(Windows Phone(?: OS)?)\s(\d+)\.(\d+(\.\d+)?)/,
fire: /(Silk)\/(\d+)\.(\d+(\.\d+)?)/,
android: /(Android|Android.*(?:Opera|Firefox).*?\/)\s*(\d+)\.(\d+(\.\d+)?)/,
iphone: /(iPhone|iPod).*OS\s+(\d+)[\._]([\d\._]+)/,
ipad: /(iPad).*OS\s+(\d+)[\._]([\d_]+)/,
meego: /(MeeGo).+NokiaBrowser\/(\d+)\.([\d\._]+)/,
webos: /(webOS)\/(\d+)\.(\d+(\.\d+)?)/,
blackberry: /(BlackBerry|BB10).*?Version\/(\d+)\.(\d+(\.\d+)?)/,
playbook: /(PlayBook).*?Tablet\s*OS\s*(\d+)\.(\d+(\.\d+)?)/,
windows: /(MSIE)\s+(\d+)\.(\d+(\.\d+)?)/,
tizen: /(tizen).*?Version\/(\d+)\.(\d+(\.\d+)?)/i,
sailfish: /(sailfish).*rv:(\d+)\.(\d+(\.\d+)?).*firefox/i,
ffos: /(Mobile).*rv:(\d+)\.(\d+(\.\d+)?).*Firefox/
},
l = {
ios: /^i(phone|pad|pod)$/i,
android: /^android|fire$/i,
blackberry: /^blackberry|playbook/i,
windows: /windows/,
wp: /wp/,
flat: /sailfish|ffos|tizen/i,
meego: /meego/
},
c = {
tablet: /playbook|ipad|fire/i
},
u = {
omini: /Opera\sMini/i,
omobile: /Opera\sMobi/i,
firefox: /Firefox|Fennec/i,
mobilesafari: /version\/.*safari/i,
ie: /MSIE|Windows\sPhone/i,
chrome: /chrome|crios/i,
webkit: /webkit/i
};
for (i in s)
if (s.hasOwnProperty(i) && (o = e.match(s[i]))) {
if ("windows" == i && "plugins" in navigator) return !1;
r = {}, r.device = i, r.tablet = d(i, c, !1), r.browser = d(e, u, "default"), r.name = d(i, l), r[r.name] = !0, r.majorVersion = o[2], r.minorVersion = o[3].replace("_", "."), n = r.minorVersion.replace(".", "").substr(0, 2), r.flatVersion = r.majorVersion + n + Array(3 - (3 > n.length ? n.length : 2)).join("0"), r.cordova = typeof t.PhoneGap !== Rt || typeof t.cordova !== Rt, r.appMode = t.navigator.standalone || /file|local|wmapp/.test(t.location.protocol) || r.cordova, r.android && (1.5 > Ct.devicePixelRatio && 400 > r.flatVersion || a) && (Ct.screenWidth > 800 || Ct.screenHeight > 800) && (r.tablet = i);
break
}
return r
}, s = Ct.mobileOS = Ct.detectOS(navigator.userAgent), Ct.wpDevicePixelRatio = s.wp ? screen.width / 320 : 0, Ct.kineticScrollNeeded = s && (Ct.touch || Ct.msPointers || Ct.pointers), Ct.hasNativeScrolling = !1, (s.ios || s.android && s.majorVersion > 2 || s.wp) && (Ct.hasNativeScrolling = s), Ct.mouseAndTouchPresent = Ct.touch && !(Ct.mobileOS.ios || Ct.mobileOS.android), Ct.detectBrowser = function(e) {
var t, n = !1,
i = [],
r = {
webkit: /(chrome)[ \/]([\w.]+)/i,
safari: /(webkit)[ \/]([\w.]+)/i,
opera: /(opera)(?:.*version|)[ \/]([\w.]+)/i,
edge: /(edge)[ \/]([\w.]+)/i,
msie: /(msie\s|trident.*? rv:)([\w.]+)/i,
mozilla: /(mozilla)(?:.*? rv:([\w.]+)|)/i
};
for (t in r)
if (r.hasOwnProperty(t) && (i = e.match(r[t]))) {
n = {}, n[t] = !0, n[i[1].toLowerCase().split(" ")[0].split("/")[0]] = !0, n.version = parseInt(document.documentMode || i[2], 10);
break
}
return n
}, Ct.browser = Ct.detectBrowser(navigator.userAgent), Ct.zoomLevel = function() {
var e, n, i;
try {
return e = Ct.browser, n = 0, i = document.documentElement, e.msie && 11 == e.version && i.scrollHeight > i.clientHeight && !Ct.touch && (n = Ct.scrollbar()), Ct.touch ? i.clientWidth / t.innerWidth : e.msie && e.version >= 10 ? ((top || t).document.documentElement.offsetWidth + n) / (top || t).innerWidth : 1
} catch (r) {
return 1
}
}, Ct.cssBorderSpacing = n !== document.documentElement.style.borderSpacing && !(Ct.browser.msie && 8 > Ct.browser.version),
function(t) {
var n = "",
i = e(document.documentElement),
r = parseInt(t.version, 10);
t.msie ? n = "ie" : t.mozilla ? n = "ff" : t.safari ? n = "safari" : t.webkit ? n = "webkit" : t.opera && (n = "opera"), n && (n = "k-" + n + " k-" + n + r), Ct.mobileOS && (n += " k-mobile"), i.addClass(n)
}(Ct.browser), Ct.eventCapture = document.documentElement.addEventListener, l = document.createElement("input"), Ct.placeholder = "placeholder" in l, Ct.propertyChangeEvent = "onpropertychange" in l, Ct.input = function() {
for (var e, t = ["number", "date", "time", "month", "week", "datetime", "datetime-local"], n = t.length, i = "test", r = {}, o = 0; n > o; o++) e = t[o], l.setAttribute("type", e), l.value = i, r[e.replace("-", "")] = "text" !== l.type && l.value !== i;
return r
}(), l.style.cssText = "float:left;", Ct.cssFloat = !!l.style.cssFloat, l = null, Ct.stableSort = function() {
var e, t = 513,
n = [{
index: 0,
field: "b"
}];
for (e = 1; t > e; e++) n.push({
index: e,
field: "a"
});
return n.sort(function(e, t) {
return e.field > t.field ? 1 : t.field > e.field ? -1 : 0
}), 1 === n[0].index
}(), Ct.matchesSelector = a.webkitMatchesSelector || a.mozMatchesSelector || a.msMatchesSelector || a.oMatchesSelector || a.matchesSelector || a.matches || function(t) {
for (var n = document.querySelectorAll ? (this.parentNode || document).querySelectorAll(t) || [] : e(t), i = n.length; i--;)
if (n[i] == this) return !0;
return !1
}, Ct.pushState = t.history && t.history.pushState, c = document.documentMode, Ct.hashChange = "onhashchange" in t && !(Ct.browser.msie && (!c || 8 >= c))
}(), U = {
left: {
reverse: "right"
},
right: {
reverse: "left"
},
down: {
reverse: "up"
},
up: {
reverse: "down"
},
top: {
reverse: "bottom"
},
bottom: {
reverse: "top"
},
"in": {
reverse: "out"
},
out: {
reverse: "in"
}
}, W = {}, e.extend(W, {
enabled: !0,
Element: function(t) {
this.element = e(t)
},
promise: function(e, t) {
e.is(":visible") || e.css({
display: e.data("olddisplay") || "block"
}).css("display"), t.hide && e.data("olddisplay", e.css("display")).hide(), t.init && t.init(), t.completeCallback && t.completeCallback(e), e.dequeue()
},
disable: function() {
this.enabled = !1, this.promise = this.promiseShim
},
enable: function() {
this.enabled = !0, this.promise = this.animatedPromise
}
}), W.promiseShim = W.promise, "kendoAnimate" in e.fn || vt(e.fn, {
kendoStop: function(e, t) {
return this.stop(e, t)
},
kendoAnimate: function(e, t, n, i) {
return b(this, e, t, n, i)
},
kendoAddClass: function(e, t) {
return mt.toggleClass(this, e, t, !0)
},
kendoRemoveClass: function(e, t) {
return mt.toggleClass(this, e, t, !1)
},
kendoToggleClass: function(e, t, n) {
return mt.toggleClass(this, e, t, n)
}
}), j = /&/g, G = //g, Q = function(e) {
return e.target
}, Ct.touch && (Q = function(e) {
var t = "originalEvent" in e ? e.originalEvent.changedTouches : "changedTouches" in e ? e.changedTouches : null;
return t ? document.elementFromPoint(t[0].clientX, t[0].clientY) : e.target
}, _t(["swipe", "swipeLeft", "swipeRight", "swipeUp", "swipeDown", "doubleTap", "tap"], function(t, n) {
e.fn[n] = function(e) {
return this.bind(n, e)
}
})), Ct.touch ? Ct.mobileOS ? (Ct.mousedown = "touchstart", Ct.mouseup = "touchend", Ct.mousemove = "touchmove", Ct.mousecancel = "touchcancel", Ct.click = "touchend", Ct.resize = "orientationchange") : (Ct.mousedown = "mousedown touchstart", Ct.mouseup = "mouseup touchend", Ct.mousemove = "mousemove touchmove", Ct.mousecancel = "mouseleave touchcancel", Ct.click = "click", Ct.resize = "resize") : Ct.pointers ? (Ct.mousemove = "pointermove", Ct.mousedown = "pointerdown", Ct.mouseup = "pointerup", Ct.mousecancel = "pointercancel", Ct.click = "pointerup", Ct.resize = "orientationchange resize") : Ct.msPointers ? (Ct.mousemove = "MSPointerMove", Ct.mousedown = "MSPointerDown", Ct.mouseup = "MSPointerUp", Ct.mousecancel = "MSPointerCancel", Ct.click = "MSPointerUp", Ct.resize = "orientationchange resize") : (Ct.mousemove = "mousemove", Ct.mousedown = "mousedown", Ct.mouseup = "mouseup", Ct.mousecancel = "mouseleave", Ct.click = "click", Ct.resize = "resize"), K = function(e, t) {
var n, i, r, o, a = t || "d",
s = 1;
for (i = 0, r = e.length; r > i; i++) o = e[i], "" !== o && (n = o.indexOf("["), 0 !== n && (-1 == n ? o = "." + o : (s++, o = "." + o.substring(0, n) + " || {})" + o.substring(n))), s++, a += o + (r - 1 > i ? " || {})" : ")"));
return Array(s).join("(") + a
}, X = /^([a-z]+:)?\/\//i, vt(mt, {
ui: mt.ui || {},
fx: mt.fx || _,
effects: mt.effects || W,
mobile: mt.mobile || {},
data: mt.data || {},
dataviz: mt.dataviz || {},
keys: {
INSERT: 45,
DELETE: 46,
BACKSPACE: 8,
TAB: 9,
ENTER: 13,
ESC: 27,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
END: 35,
HOME: 36,
SPACEBAR: 32,
PAGEUP: 33,
PAGEDOWN: 34,
F2: 113,
F10: 121,
F12: 123,
NUMPAD_PLUS: 107,
NUMPAD_MINUS: 109,
NUMPAD_DOT: 110
},
support: mt.support || Ct,
animate: mt.animate || b,
ns: "",
attr: function(e) {
return "data-" + mt.ns + e
},
getShadows: a,
wrap: s,
deepExtend: l,
getComputedStyles: p,
isScrollable: f,
size: g,
toCamelCase: h,
toHyphens: u,
getOffset: mt.getOffset || m,
parseEffects: mt.parseEffects || v,
toggleClass: mt.toggleClass || y,
directions: mt.directions || U,
Observable: F,
Class: i,
Template: I,
template: bt(I.compile, I),
render: bt(I.render, I),
stringify: bt(xt.stringify, xt),
eventTarget: Q,
htmlEncode: k,
isLocalUrl: function(e) {
return e && !X.test(e)
},
expr: function(e, t, n) {
return e = e || "", typeof t == It && (n = t, t = !1), n = n || "d", e && "[" !== e.charAt(0) && (e = "." + e), t ? (e = e.replace(/"([^.]*)\.([^"]*)"/g, '"$1_$DOT$_$2"'), e = e.replace(/'([^.]*)\.([^']*)'/g, "'$1_$DOT$_$2'"), e = K(e.split("."), n), e = e.replace(/_\$DOT\$_/g, ".")) : e = n + e, e
},
getter: function(e, t) {
var n = e + t;
return Ht[n] = Ht[n] || Function("d", "return " + mt.expr(e, t))
},
setter: function(e) {
return Bt[e] = Bt[e] || Function("d,value", mt.expr(e) + "=value")
},
accessor: function(e) {
return {
get: mt.getter(e),
set: mt.setter(e)
}
},
guid: function() {
var e, t, n = "";
for (e = 0; 32 > e; e++) t = 16 * kt.random() | 0, (8 == e || 12 == e || 16 == e || 20 == e) && (n += "-"), n += (12 == e ? 4 : 16 == e ? 3 & t | 8 : t).toString(16);
return n
},
roleSelector: function(e) {
return e.replace(/(\S+)/g, "[" + mt.attr("role") + "=$1],").slice(0, -1)
},
directiveSelector: function(e) {
var t, n = e.split(" ");
if (n)
for (t = 0; n.length > t; t++) "view" != n[t] && (n[t] = n[t].replace(/(\w*)(view|bar|strip|over)$/, "$1-$2"));
return n.join(" ").replace(/(\S+)/g, "kendo-mobile-$1,").slice(0, -1)
},
triggeredByInput: function(e) {
return /^(label|input|textarea|select)$/i.test(e.target.tagName)
},
logToConsole: function(e) {
var i = t.console;
!mt.suppressLog && n !== i && i.log && i.log(e)
}
}), Z = F.extend({
init: function(e, t) {
var n, i = this;
i.element = mt.jQuery(e).handler(i), i.angular("init", t), F.fn.init.call(i), n = t ? t.dataSource : null, n && (t = vt({}, t, {
dataSource: {}
})), t = i.options = vt(!0, {}, i.options, t), n && (t.dataSource = n), i.element.attr(mt.attr("role")) || i.element.attr(mt.attr("role"), (t.name || "").toLowerCase()), i.element.data("kendo" + t.prefix + t.name, i), i.bind(i.events, t)
},
events: [],
options: {
prefix: ""
},
_hasBindingTarget: function() {
return !!this.element[0].kendoBindingTarget
},
_tabindex: function(e) {
e = e || this.wrapper;
var t = this.element,
n = "tabindex",
i = e.attr(n) || t.attr(n);
t.removeAttr(n), e.attr(n, isNaN(i) ? 0 : i)
},
setOptions: function(t) {
this._setEvents(t), e.extend(this.options, t)
},
_setEvents: function(e) {
for (var t, n = this, i = 0, r = n.events.length; r > i; i++) t = n.events[i], n.options[t] && e[t] && n.unbind(t, n.options[t]);
n.bind(n.events, e)
},
resize: function(e) {
var t = this.getSize(),
n = this._size;
(e || (t.width > 0 || t.height > 0) && (!n || t.width !== n.width || t.height !== n.height)) && (this._size = t, this._resize(t, e), this.trigger("resize", t))
},
getSize: function() {
return mt.dimensions(this.element)
},
size: function(e) {
return e ? (this.setSize(e), n) : this.getSize()
},
setSize: e.noop,
_resize: e.noop,
destroy: function() {
var e = this;
e.element.removeData("kendo" + e.options.prefix + e.options.name), e.element.removeData("handler"), e.unbind()
},
_destroy: function() {
this.destroy()
},
angular: function() {}
}), J = Z.extend({
dataItems: function() {
return this.dataSource.flatView()
},
_angularItems: function(t) {
var n = this;
n.angular(t, function() {
return {
elements: n.items(),
data: e.map(n.dataItems(), function(e) {
return {
dataItem: e
}
})
}
})
}
}), mt.dimensions = function(e, t) {
var n = e[0];
return t && e.css(t), {
width: n.offsetWidth,
height: n.offsetHeight
}
}, mt.notify = yt, et = /template$/i, tt = /^\s*(?:\{(?:.|\r\n|\n)*\}|\[(?:.|\r\n|\n)*\])\s*$/, nt = /^\{(\d+)(:[^\}]+)?\}|^\[[A-Za-z_]*\]$/, it = /([A-Z])/g, mt.initWidget = function(i, r, o) {
var a, s, l, c, d, u, h, p, f, g, m, v, _;
if (o ? o.roles && (o = o.roles) : o = mt.ui.roles, i = i.nodeType ? i : i[0], u = i.getAttribute("data-" + mt.ns + "role")) {
f = -1 === u.indexOf("."), l = f ? o[u] : mt.getter(u)(t), m = e(i).data(), v = l ? "kendo" + l.fn.options.prefix + l.fn.options.name : "", g = f ? RegExp("^kendo.*" + u + "$", "i") : RegExp("^" + v + "$", "i");
for (_ in m)
if (_.match(g)) {
if (_ !== v) return m[_];
a = m[_]
}
if (l) {
for (p = x(i, "dataSource"), r = e.extend({}, C(i, l.fn.options), r), p && (r.dataSource = typeof p === It ? mt.getter(p)(t) : p), c = 0, d = l.fn.events.length; d > c; c++) s = l.fn.events[c], h = x(i, s), h !== n && (r[s] = mt.getter(h)(t));
return a ? e.isEmptyObject(r) || a.setOptions(r) : a = new l(i, r), a
}
}
}, mt.rolesFromNamespaces = function(e) {
var t, n, i = [];
for (e[0] || (e = [mt.ui, mt.dataviz.ui]), t = 0, n = e.length; n > t; t++) i[t] = e[t].roles;
return vt.apply(null, [{}].concat(i.reverse()))
}, mt.init = function(t) {
var n = mt.rolesFromNamespaces(Lt.call(arguments, 1));
e(t).find("[data-" + mt.ns + "role]").addBack().each(function() {
mt.initWidget(this, {}, n)
})
}, mt.destroy = function(t) {
e(t).find("[data-" + mt.ns + "role]").addBack().each(function() {
var t, n = e(this).data();
for (t in n) 0 === t.indexOf("kendo") && typeof n[t].destroy === Et && n[t].destroy()
})
}, mt.resize = function(t, n) {
var i, r = e(t).find("[data-" + mt.ns + "role]").addBack().filter(T);
r.length && (i = e.makeArray(r), i.sort(S), e.each(i, function() {
var t = mt.widgetInstance(e(this));
t && t.resize(n)
}))
}, mt.parseOptions = C, vt(mt.ui, {
Widget: Z,
DataBoundWidget: J,
roles: {},
progress: function(t, n) {
var i, r, o, a, s = t.find(".k-loading-mask"),
l = mt.support,
c = l.browser;
n ? s.length || (i = l.isRtl(t), r = i ? "right" : "left", a = t.scrollLeft(), o = c.webkit && i ? t[0].scrollWidth - t.width() - 2 * a : 0, s = e("
Loading...
").width("100%").height("100%").css("top", t.scrollTop()).css(r, Math.abs(a) + o).prependTo(t)) : s && s.remove()
},
plugin: function(t, i, r) {
var o, a = t.fn.options.name;
i = i || mt.ui, r = r || "", i[a] = t, i.roles[a.toLowerCase()] = t, o = "getKendo" + r + a, a = "kendo" + r + a, e.fn[a] = function(i) {
var r, o = this;
return typeof i === It ? (r = Lt.call(arguments, 1), this.each(function() {
var t, s, l = e.data(this, a);
if (!l) throw Error(mt.format("Cannot call method '{0}' of {1} before it is initialized", i, a));
if (t = l[i], typeof t !== Et) throw Error(mt.format("Cannot find method '{0}' of {1}", i, a));
return s = t.apply(l, r), s !== n ? (o = s, !1) : n
})) : this.each(function() {
new t(this, i)
}), o
}, e.fn[a].widget = t, e.fn[o] = function() {
return this.data(a)
}
}
}), rt = {
bind: function() {
return this
},
nullObject: !0,
options: {}
}, ot = Z.extend({
init: function(e, t) {
Z.fn.init.call(this, e, t), this.element.autoApplyNS(), this.wrapper = this.element, this.element.addClass("km-widget")
},
destroy: function() {
Z.fn.destroy.call(this), this.element.kendoDestroy()
},
options: {
prefix: "Mobile"
},
events: [],
view: function() {
var e = this.element.closest(mt.roleSelector("view splitview modalview drawer"));
return mt.widgetInstance(e, mt.mobile.ui) || rt
},
viewHasNativeScrolling: function() {
var e = this.view();
return e && e.options.useNativeScrolling
},
container: function() {
var e = this.element.closest(mt.roleSelector("view layout modalview drawer splitview"));
return mt.widgetInstance(e.eq(0), mt.mobile.ui) || rt
}
}), vt(mt.mobile, {
init: function(e) {
mt.init(e, mt.mobile.ui, mt.ui, mt.dataviz.ui)
},
appLevelNativeScrolling: function() {
return mt.mobile.application && mt.mobile.application.options && mt.mobile.application.options.useNativeScrolling
},
roles: {},
ui: {
Widget: ot,
DataBoundWidget: J.extend(ot.prototype),
roles: {},
plugin: function(e) {
mt.ui.plugin(e, mt.mobile.ui, "Mobile")
}
}
}), l(mt.dataviz, {
init: function(e) {
mt.init(e, mt.dataviz.ui)
},
ui: {
roles: {},
themes: {},
views: [],
plugin: function(e) {
mt.ui.plugin(e, mt.dataviz.ui)
}
},
roles: {}
}), mt.touchScroller = function(t, n) {
return e(t).map(function(t, i) {
return i = e(i), Ct.kineticScrollNeeded && mt.mobile.ui.Scroller && !i.data("kendoMobileScroller") ? (i.kendoMobileScroller(n), i.data("kendoMobileScroller")) : !1
})[0]
}, mt.preventDefault = function(e) {
e.preventDefault()
}, mt.widgetInstance = function(e, n) {
var i, r, o, a, s = e.data(mt.ns + "role"),
l = [];
if (s) {
if ("content" === s && (s = "scroller"), n)
if (n[0])
for (i = 0, r = n.length; r > i; i++) l.push(n[i].roles[s]);
else l.push(n.roles[s]);
else l = [mt.ui.roles[s], mt.dataviz.ui.roles[s], mt.mobile.ui.roles[s]];
for (s.indexOf(".") >= 0 && (l = [mt.getter(s)(t)]), i = 0, r = l.length; r > i; i++)
if (o = l[i], o && (a = e.data("kendo" + o.fn.options.prefix + o.fn.options.name))) return a
}
}, mt.onResize = function(n) {
var i = n;
return Ct.mobileOS.android && (i = function() {
setTimeout(n, 600)
}), e(t).on(Ct.resize, i), i
}, mt.unbindResize = function(n) {
e(t).off(Ct.resize, n)
}, mt.attrValue = function(e, t) {
return e.data(mt.ns + t)
}, mt.days = {
Sunday: 0,
Monday: 1,
Tuesday: 2,
Wednesday: 3,
Thursday: 4,
Friday: 5,
Saturday: 6
}, e.extend(e.expr[":"], {
kendoFocusable: function(t) {
var n = e.attr(t, "tabindex");
return D(t, !isNaN(n) && n > -1)
}
}), at = ["mousedown", "mousemove", "mouseenter", "mouseleave", "mouseover", "mouseout", "mouseup", "click"], st = "label, input, [data-rel=external]", lt = {
setupMouseMute: function() {
var t, n = 0,
i = at.length,
r = document.documentElement;
if (!lt.mouseTrap && Ct.eventCapture)
for (lt.mouseTrap = !0, lt.bustClick = !1, lt.captureMouse = !1, t = function(t) {
lt.captureMouse && ("click" === t.type ? lt.bustClick && !e(t.target).is(st) && (t.preventDefault(), t.stopPropagation()) : t.stopPropagation())
}; i > n; n++) r.addEventListener(at[n], t, !0)
},
muteMouse: function(e) {
lt.captureMouse = !0, e.data.bustClick && (lt.bustClick = !0), clearTimeout(lt.mouseTrapTimeoutID)
},
unMuteMouse: function() {
clearTimeout(lt.mouseTrapTimeoutID), lt.mouseTrapTimeoutID = setTimeout(function() {
lt.captureMouse = !1, lt.bustClick = !1
}, 400)
}
}, ct = {
down: "touchstart mousedown",
move: "mousemove touchmove",
up: "mouseup touchend touchcancel",
cancel: "mouseleave touchcancel"
}, Ct.touch && (Ct.mobileOS.ios || Ct.mobileOS.android) ? ct = {
down: "touchstart",
move: "touchmove",
up: "touchend touchcancel",
cancel: "touchcancel"
} : Ct.pointers ? ct = {
down: "pointerdown",
move: "pointermove",
up: "pointerup",
cancel: "pointercancel pointerleave"
} : Ct.msPointers && (ct = {
down: "MSPointerDown",
move: "MSPointerMove",
up: "MSPointerUp",
cancel: "MSPointerCancel MSPointerLeave"
}), !Ct.msPointers || "onmspointerenter" in t || e.each({
MSPointerEnter: "MSPointerOver",
MSPointerLeave: "MSPointerOut"
}, function(t, n) {
e.event.special[t] = {
delegateType: n,
bindType: n,
handle: function(t) {
var i, r = this,
o = t.relatedTarget,
a = t.handleObj;
return (!o || o !== r && !e.contains(r, o)) && (t.type = a.origType, i = a.handler.apply(this, arguments), t.type = n), i
}
}
}), dt = function(e) {
return ct[e] || e
}, ut = /([^ ]+)/g, mt.applyEventMap = function(e, t) {
return e = e.replace(ut, dt), t && (e = e.replace(ut, "$1." + t)), e
}, ht = e.fn.on, vt(!0, E, e), E.fn = E.prototype = new e, E.fn.constructor = E, E.fn.init = function(t, n) {
return n && n instanceof e && !(n instanceof E) && (n = E(n)), e.fn.init.call(this, t, n, pt)
}, E.fn.init.prototype = E.fn, pt = E(document), vt(E.fn, {
handler: function(e) {
return this.data("handler", e), this
},
autoApplyNS: function(e) {
return this.data("kendoNS", e || mt.guid()), this
},
on: function() {
var e, t, n, i, r, o, a = this,
s = a.data("kendoNS");
return 1 === arguments.length ? ht.call(a, arguments[0]) : (e = a, t = Lt.call(arguments), typeof t[t.length - 1] === Rt && t.pop(), n = t[t.length - 1], i = mt.applyEventMap(t[0], s), Ct.mouseAndTouchPresent && i.search(/mouse|click/) > -1 && this[0] !== document.documentElement && (lt.setupMouseMute(), r = 2 === t.length ? null : t[1], o = i.indexOf("click") > -1 && i.indexOf("touchend") > -1, ht.call(this, {
touchstart: lt.muteMouse,
touchend: lt.unMuteMouse
}, r, {
bustClick: o
})), typeof n === It && (e = a.data("handler"), n = e[n], t[t.length - 1] = function(t) {
n.call(e, t)
}), t[0] = i, ht.apply(a, t), a)
},
kendoDestroy: function(e) {
return e = e || this.data("kendoNS"), e && this.off("." + e), this
}
}), mt.jQuery = E, mt.eventMap = ct, mt.timezone = function() {
function e(e, t) {
var n, i, r, o = t[3],
a = t[4],
s = t[5],
l = t[8];
return l || (t[8] = l = {}), l[e] ? l[e] : (isNaN(a) ? 0 === a.indexOf("last") ? (n = new Date(Date.UTC(e, d[o] + 1, 1, s[0] - 24, s[1], s[2], 0)), i = u[a.substr(4, 3)], r = n.getUTCDay(), n.setUTCDate(n.getUTCDate() + i - r - (i > r ? 7 : 0))) : a.indexOf(">=") >= 0 && (n = new Date(Date.UTC(e, d[o], a.substr(5), s[0], s[1], s[2], 0)), i = u[a.substr(0, 3)], r = n.getUTCDay(), n.setUTCDate(n.getUTCDate() + i - r + (r > i ? 7 : 0))) : n = new Date(Date.UTC(e, d[o], a, s[0], s[1], s[2], 0)), l[e] = n)
}
function t(t, n, i) {
var r, o, a, s;
return (n = n[i]) ? (a = new Date(t).getUTCFullYear(), n = jQuery.grep(n, function(e) {
var t = e[0],
n = e[1];
return a >= t && (n >= a || t == a && "only" == n || "max" == n)
}), n.push(t), n.sort(function(t, n) {
return "number" != typeof t && (t = +e(a, t)), "number" != typeof n && (n = +e(a, n)), t - n
}), s = n[jQuery.inArray(t, n) - 1] || n[n.length - 1], isNaN(s) ? s : null) : (r = i.split(":"), o = 0, r.length > 1 && (o = 60 * r[0] + +r[1]), [-1e6, "max", "-", "Jan", 1, [0, 0, 0], o, "-"])
}
function n(e, t, n) {
var i, r, o, a = t[n];
if ("string" == typeof a && (a = t[a]), !a) throw Error('Timezone "' + n + '" is either incorrect, or kendo.timezones.min.js is not included.');
for (i = a.length - 1; i >= 0 && (r = a[i][3], !(r && e > r)); i--);
if (o = a[i + 1], !o) throw Error('Timezone "' + n + '" not found on ' + e + ".");
return o
}
function i(e, i, r, o) {
typeof e != Pt && (e = Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()));
var a = n(e, i, o);
return {
zone: a,
rule: t(e, r, a[1])
}
}
function r(e, t) {
var n, r, o;
return "Etc/UTC" == t || "Etc/GMT" == t ? 0 : (n = i(e, this.zones, this.rules, t), r = n.zone, o = n.rule, mt.parseFloat(o ? r[0] - o[6] : r[0]))
}
function o(e, t) {
var n = i(e, this.zones, this.rules, t),
r = n.zone,
o = n.rule,
a = r[2];
return a.indexOf("/") >= 0 ? a.split("/")[o && +o[6] ? 1 : 0] : a.indexOf("%s") >= 0 ? a.replace("%s", o && "-" != o[7] ? o[7] : "") : a
}
function a(e, t, n) {
var i, r;
return typeof t == It && (t = this.offset(e, t)), typeof n == It && (n = this.offset(e, n)), i = e.getTimezoneOffset(), e = new Date(e.getTime() + 6e4 * (t - n)), r = e.getTimezoneOffset(), new Date(e.getTime() + 6e4 * (r - i))
}
function s(e, t) {
return this.convert(e, e.getTimezoneOffset(), t)
}
function l(e, t) {
return this.convert(e, t, e.getTimezoneOffset())
}
function c(e) {
return this.apply(new Date(e), "Etc/UTC")
}
var d = {
Jan: 0,
Feb: 1,
Mar: 2,
Apr: 3,
May: 4,
Jun: 5,
Jul: 6,
Aug: 7,
Sep: 8,
Oct: 9,
Nov: 10,
Dec: 11
},
u = {
Sun: 0,
Mon: 1,
Tue: 2,
Wed: 3,
Thu: 4,
Fri: 5,
Sat: 6
};
return {
zones: {},
rules: {},
offset: r,
convert: a,
apply: s,
remove: l,
abbr: o,
toLocalDate: c
}
}(), mt.date = function() {
function e(e, t) {
return 0 === t && 23 === e.getHours() ? (e.setHours(e.getHours() + 2), !0) : !1
}
function t(t, n, i) {
var r = t.getHours();
i = i || 1, n = (n - t.getDay() + 7 * i) % 7, t.setDate(t.getDate() + n), e(t, r)
}
function n(e, n, i) {
return e = new Date(e), t(e, n, i), e
}
function i(e) {
return new Date(e.getFullYear(), e.getMonth(), 1)
}
function r(e) {
var t = new Date(e.getFullYear(), e.getMonth() + 1, 0),
n = i(e),
r = Math.abs(t.getTimezoneOffset() - n.getTimezoneOffset());
return r && t.setHours(n.getHours() + r / 60), t
}
function o(t) {
return t = new Date(t.getFullYear(), t.getMonth(), t.getDate(), 0, 0, 0), e(t, 0), t
}
function a(e) {
return Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds())
}
function s(e) {
return e.getTime() - o(e)
}
function l(e, t, n) {
var i, r = s(t),
o = s(n);
return e && r != o ? (t >= n && (n += m), i = s(e), r > i && (i += m), r > o && (o += m), i >= r && o >= i) : !0
}
function c(e, t, n) {
var i, r = t.getTime(),
o = n.getTime();
return r >= o && (o += m), i = e.getTime(), i >= r && o >= i
}
function d(t, n) {
var i = t.getHours();
return t = new Date(t), u(t, n * m), e(t, i), t
}
function u(e, t, n) {
var i, r = e.getTimezoneOffset();
e.setTime(e.getTime() + t), n || (i = e.getTimezoneOffset() - r, e.setTime(e.getTime() + i * g))
}
function h() {
return o(new Date)
}
function p(e) {
return o(e).getTime() == h().getTime()
}
function f(e) {
var t = new Date(1980, 1, 1, 0, 0, 0);
return e && t.setHours(e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()), t
}
var g = 6e4,
m = 864e5;
return {
adjustDST: e,
dayOfWeek: n,
setDayOfWeek: t,
getDate: o,
isInDateRange: c,
isInTimeRange: l,
isToday: p,
nextDay: function(e) {
return d(e, 1)
},
previousDay: function(e) {
return d(e, -1)
},
toUtcTime: a,
MS_PER_DAY: m,
MS_PER_HOUR: 60 * g,
MS_PER_MINUTE: g,
setTime: u,
addDays: d,
today: h,
toInvariantTime: f,
firstDayOfMonth: i,
lastDayOfMonth: r,
getMilliseconds: s
}
}(), mt.stripWhitespace = function(e) {
var t, n, i;
if (document.createNodeIterator)
for (t = document.createNodeIterator(e, NodeFilter.SHOW_TEXT, function(t) {
return t.parentNode == e ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT
}, !1); t.nextNode();) t.referenceNode && !t.referenceNode.textContent.trim() && t.referenceNode.parentNode.removeChild(t.referenceNode);
else
for (n = 0; e.childNodes.length > n; n++) i = e.childNodes[n], 3 != i.nodeType || /\S/.test(i.nodeValue) || (e.removeChild(i), n--), 1 == i.nodeType && mt.stripWhitespace(i)
}, ft = t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame || t.msRequestAnimationFrame || function(e) {
setTimeout(e, 1e3 / 60)
}, mt.animationFrame = function(e) {
ft.call(t, e)
}, gt = [], mt.queueAnimation = function(e) {
gt[gt.length] = e, 1 === gt.length && mt.runNextAnimation()
}, mt.runNextAnimation = function() {
mt.animationFrame(function() {
gt[0] && (gt.shift()(), gt[0] && mt.runNextAnimation())
})
}, mt.parseQueryStringParams = function(e) {
for (var t = e.split("?")[1] || "", n = {}, i = t.split(/&|=/), r = i.length, o = 0; r > o; o += 2) "" !== i[o] && (n[decodeURIComponent(i[o])] = decodeURIComponent(i[o + 1]));
return n
}, mt.elementUnderCursor = function(e) {
return n !== e.x.client ? document.elementFromPoint(e.x.client, e.y.client) : n
}, mt.wheelDeltaY = function(e) {
var t, i = e.originalEvent,
r = i.wheelDeltaY;
return i.wheelDelta ? (r === n || r) && (t = i.wheelDelta) : i.detail && i.axis === i.VERTICAL_AXIS && (t = 10 * -i.detail), t
}, mt.throttle = function(e, t) {
var i, r, o = 0;
return !t || 0 >= t ? e : (r = function() {
function r() {
e.apply(a, l), o = +new Date
}
var a = this,
s = +new Date - o,
l = arguments;
return o ? (i && clearTimeout(i), s > t ? r() : i = setTimeout(r, t - s), n) : r()
}, r.cancel = function() {
clearTimeout(i)
}, r)
}, mt.caret = function(t, i, r) {
var o, a, s, l, c = i !== n;
if (r === n && (r = i), t[0] && (t = t[0]), !c || !t.disabled) {
try {
t.selectionStart !== n ? c ? (t.focus(), t.setSelectionRange(i, r)) : i = [t.selectionStart, t.selectionEnd] : document.selection && (e(t).is(":visible") && t.focus(), o = t.createTextRange(), c ? (o.collapse(!0), o.moveStart("character", i), o.moveEnd("character", r - i), o.select()) : (a = o.duplicate(), o.moveToBookmark(document.selection.createRange().getBookmark()), a.setEndPoint("EndToStart", o), s = a.text.length, l = s + o.text.length, i = [s, l]))
} catch (d) {
i = []
}
return i
}
}, mt.compileMobileDirective = function(e, n) {
var i = t.angular;
return e.attr("data-" + mt.ns + "role", e[0].tagName.toLowerCase().replace("kendo-mobile-", "").replace("-", "")), i.element(e).injector().invoke(["$compile",
function(t) {
t(e)(n), /^\$(digest|apply)$/.test(n.$$phase) || n.$digest()
}
]), mt.widgetInstance(e, mt.mobile.ui)
}, mt.antiForgeryTokens = function() {
var t = {},
i = e("meta[name=csrf-token],meta[name=_csrf]").attr("content"),
r = e("meta[name=csrf-param],meta[name=_csrf_header]").attr("content");
return e("input[name^='__RequestVerificationToken']").each(function() {
t[this.name] = this.value
}), r !== n && i !== n && (t[r] = i), t
}, mt.cycleForm = function(e) {
function t(e) {
var t = mt.widgetInstance(e);
t && t.focus ? t.focus() : e.focus()
}
var n = e.find("input, .k-widget").first(),
i = e.find("button, .k-button").last();
i.on("keydown", function(e) {
e.keyCode != mt.keys.TAB || e.shiftKey || (e.preventDefault(), t(n))
}), n.on("keydown", function(e) {
e.keyCode == mt.keys.TAB && e.shiftKey && (e.preventDefault(), t(i))
})
},
function() {
function n(t, n, i, r) {
var o, a, s = e("