vonin 4 年 前
コミット
c6a1ef1a12

+ 4 - 4
src/App.vue

@@ -11,20 +11,20 @@
 </template>
 
 <script>
-import AppHeader from '@/components/header.vue'
+// import AppHeader from '@/components/header.vue'
+
 
-// import 'assets/js/jquery.min.js'
-// import 'assets/js/bootstrap.min.js'
 
 export default {
   name: 'App',
   components: {
-    AppHeader
+    // AppHeader
   }
 }
 </script>
 <style src="@/assets/css/hyapp.css"></style>
 <style src="@/assets/font/iconfont.css"></style>
+<style src="@/assets/css/swiper-bundle.min.css"></style>
 <style>
 
 </style>

ファイルの差分が大きいため隠しています
+ 14 - 0
src/assets/css/swiper-bundle.min.css


+ 3396 - 0
src/assets/js/jquery.min.js

@@ -0,0 +1,3396 @@
+/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ ! function(a, b) {
+	"object" == typeof module && "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function(a) {
+		if(!a.document) throw new Error("jQuery requires a window with a document");
+		return b(a)
+	} : b(a)
+}("undefined" != typeof window ? window : this, function(a, b) {
+	var c = [],
+		d = a.document,
+		e = c.slice,
+		f = c.concat,
+		g = c.push,
+		h = c.indexOf,
+		i = {},
+		j = i.toString,
+		k = i.hasOwnProperty,
+		l = {},
+		m = "1.12.4",
+		n = function(a, b) {
+			return new n.fn.init(a, b)
+		},
+		o = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+		p = /^-ms-/,
+		q = /-([\da-z])/gi,
+		r = function(a, b) {
+			return b.toUpperCase()
+		};
+	n.fn = n.prototype = {
+		jquery: m,
+		constructor: n,
+		selector: "",
+		length: 0,
+		toArray: function() {
+			return e.call(this)
+		},
+		get: function(a) {
+			return null != a ? 0 > a ? this[a + this.length] : this[a] : e.call(this)
+		},
+		pushStack: function(a) {
+			var b = n.merge(this.constructor(), a);
+			return b.prevObject = this, b.context = this.context, b
+		},
+		each: function(a) {
+			return n.each(this, a)
+		},
+		map: function(a) {
+			return this.pushStack(n.map(this, function(b, c) {
+				return a.call(b, c, b)
+			}))
+		},
+		slice: function() {
+			return this.pushStack(e.apply(this, arguments))
+		},
+		first: function() {
+			return this.eq(0)
+		},
+		last: function() {
+			return this.eq(-1)
+		},
+		eq: function(a) {
+			var b = this.length,
+				c = +a + (0 > a ? b : 0);
+			return this.pushStack(c >= 0 && b > c ? [this[c]] : [])
+		},
+		end: function() {
+			return this.prevObject || this.constructor()
+		},
+		push: g,
+		sort: c.sort,
+		splice: c.splice
+	}, n.extend = n.fn.extend = function() {
+		var a, b, c, d, e, f, g = arguments[0] || {},
+			h = 1,
+			i = arguments.length,
+			j = !1;
+		for("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || n.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++)
+			if(null != (e = arguments[h]))
+				for(d in e) a = g[d], c = e[d], g !== c && (j && c && (n.isPlainObject(c) || (b = n.isArray(c))) ? (b ? (b = !1, f = a && n.isArray(a) ? a : []) : f = a && n.isPlainObject(a) ? a : {}, g[d] = n.extend(j, f, c)) : void 0 !== c && (g[d] = c));
+		return g
+	}, n.extend({
+		expando: "jQuery" + (m + Math.random()).replace(/\D/g, ""),
+		isReady: !0,
+		error: function(a) {
+			throw new Error(a)
+		},
+		noop: function() {},
+		isFunction: function(a) {
+			return "function" === n.type(a)
+		},
+		isArray: Array.isArray || function(a) {
+			return "array" === n.type(a)
+		},
+		isWindow: function(a) {
+			return null != a && a == a.window
+		},
+		isNumeric: function(a) {
+			var b = a && a.toString();
+			return !n.isArray(a) && b - parseFloat(b) + 1 >= 0
+		},
+		isEmptyObject: function(a) {
+			var b;
+			for(b in a) return !1;
+			return !0
+		},
+		isPlainObject: function(a) {
+			var b;
+			if(!a || "object" !== n.type(a) || a.nodeType || n.isWindow(a)) return !1;
+			try {
+				if(a.constructor && !k.call(a, "constructor") && !k.call(a.constructor.prototype, "isPrototypeOf")) return !1
+			} catch(c) {
+				return !1
+			}
+			if(!l.ownFirst)
+				for(b in a) return k.call(a, b);
+			for(b in a);
+			return void 0 === b || k.call(a, b)
+		},
+		type: function(a) {
+			return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? i[j.call(a)] || "object" : typeof a
+		},
+		globalEval: function(b) {
+			b && n.trim(b) && (a.execScript || function(b) {
+				a.eval.call(a, b)
+			})(b)
+		},
+		camelCase: function(a) {
+			return a.replace(p, "ms-").replace(q, r)
+		},
+		nodeName: function(a, b) {
+			return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
+		},
+		each: function(a, b) {
+			var c, d = 0;
+			if(s(a)) {
+				for(c = a.length; c > d; d++)
+					if(b.call(a[d], d, a[d]) === !1) break
+			} else
+				for(d in a)
+					if(b.call(a[d], d, a[d]) === !1) break;
+			return a
+		},
+		trim: function(a) {
+			return null == a ? "" : (a + "").replace(o, "")
+		},
+		makeArray: function(a, b) {
+			var c = b || [];
+			return null != a && (s(Object(a)) ? n.merge(c, "string" == typeof a ? [a] : a) : g.call(c, a)), c
+		},
+		inArray: function(a, b, c) {
+			var d;
+			if(b) {
+				if(h) return h.call(b, a, c);
+				for(d = b.length, c = c ? 0 > c ? Math.max(0, d + c) : c : 0; d > c; c++)
+					if(c in b && b[c] === a) return c
+			}
+			return -1
+		},
+		merge: function(a, b) {
+			var c = +b.length,
+				d = 0,
+				e = a.length;
+			while(c > d) a[e++] = b[d++];
+			if(c !== c)
+				while(void 0 !== b[d]) a[e++] = b[d++];
+			return a.length = e, a
+		},
+		grep: function(a, b, c) {
+			for(var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]);
+			return e
+		},
+		map: function(a, b, c) {
+			var d, e, g = 0,
+				h = [];
+			if(s(a))
+				for(d = a.length; d > g; g++) e = b(a[g], g, c), null != e && h.push(e);
+			else
+				for(g in a) e = b(a[g], g, c), null != e && h.push(e);
+			return f.apply([], h)
+		},
+		guid: 1,
+		proxy: function(a, b) {
+			var c, d, f;
+			return "string" == typeof b && (f = a[b], b = a, a = f), n.isFunction(a) ? (c = e.call(arguments, 2), d = function() {
+				return a.apply(b || this, c.concat(e.call(arguments)))
+			}, d.guid = a.guid = a.guid || n.guid++, d) : void 0
+		},
+		now: function() {
+			return +new Date
+		},
+		support: l
+	}), "function" == typeof Symbol && (n.fn[Symbol.iterator] = c[Symbol.iterator]), n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(a, b) {
+		i["[object " + b + "]"] = b.toLowerCase()
+	});
+
+	function s(a) {
+		var b = !!a && "length" in a && a.length,
+			c = n.type(a);
+		return "function" === c || n.isWindow(a) ? !1 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a
+	}
+	var t = function(a) {
+		var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = "sizzle" + 1 * new Date,
+			v = a.document,
+			w = 0,
+			x = 0,
+			y = ga(),
+			z = ga(),
+			A = ga(),
+			B = function(a, b) {
+				return a === b && (l = !0), 0
+			},
+			C = 1 << 31,
+			D = {}.hasOwnProperty,
+			E = [],
+			F = E.pop,
+			G = E.push,
+			H = E.push,
+			I = E.slice,
+			J = function(a, b) {
+				for(var c = 0, d = a.length; d > c; c++)
+					if(a[c] === b) return c;
+				return -1
+			},
+			K = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+			L = "[\\x20\\t\\r\\n\\f]",
+			M = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
+			N = "\\[" + L + "*(" + M + ")(?:" + L + "*([*^$|!~]?=)" + L + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + M + "))|)" + L + "*\\]",
+			O = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + N + ")*)|.*)\\)|)",
+			P = new RegExp(L + "+", "g"),
+			Q = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"),
+			R = new RegExp("^" + L + "*," + L + "*"),
+			S = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"),
+			T = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"),
+			U = new RegExp(O),
+			V = new RegExp("^" + M + "$"),
+			W = {
+				ID: new RegExp("^#(" + M + ")"),
+				CLASS: new RegExp("^\\.(" + M + ")"),
+				TAG: new RegExp("^(" + M + "|[*])"),
+				ATTR: new RegExp("^" + N),
+				PSEUDO: new RegExp("^" + O),
+				CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + L + "*(even|odd|(([+-]|)(\\d*)n|)" + L + "*(?:([+-]|)" + L + "*(\\d+)|))" + L + "*\\)|)", "i"),
+				bool: new RegExp("^(?:" + K + ")$", "i"),
+				needsContext: new RegExp("^" + L + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + L + "*((?:-\\d)?\\d*)" + L + "*\\)|)(?=[^-]|$)", "i")
+			},
+			X = /^(?:input|select|textarea|button)$/i,
+			Y = /^h\d$/i,
+			Z = /^[^{]+\{\s*\[native \w/,
+			$ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+			_ = /[+~]/,
+			aa = /'|\\/g,
+			ba = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"),
+			ca = function(a, b, c) {
+				var d = "0x" + b - 65536;
+				return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320)
+			},
+			da = function() {
+				m()
+			};
+		try {
+			H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType
+		} catch(ea) {
+			H = {
+				apply: E.length ? function(a, b) {
+					G.apply(a, I.call(b))
+				} : function(a, b) {
+					var c = a.length,
+						d = 0;
+					while(a[c++] = b[d++]);
+					a.length = c - 1
+				}
+			}
+		}
+
+		function fa(a, b, d, e) {
+			var f, h, j, k, l, o, r, s, w = b && b.ownerDocument,
+				x = b ? b.nodeType : 9;
+			if(d = d || [], "string" != typeof a || !a || 1 !== x && 9 !== x && 11 !== x) return d;
+			if(!e && ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, p)) {
+				if(11 !== x && (o = $.exec(a)))
+					if(f = o[1]) {
+						if(9 === x) {
+							if(!(j = b.getElementById(f))) return d;
+							if(j.id === f) return d.push(j), d
+						} else if(w && (j = w.getElementById(f)) && t(b, j) && j.id === f) return d.push(j), d
+					} else {
+						if(o[2]) return H.apply(d, b.getElementsByTagName(a)), d;
+						if((f = o[3]) && c.getElementsByClassName && b.getElementsByClassName) return H.apply(d, b.getElementsByClassName(f)), d
+					}
+				if(c.qsa && !A[a + " "] && (!q || !q.test(a))) {
+					if(1 !== x) w = b, s = a;
+					else if("object" !== b.nodeName.toLowerCase()) {
+						(k = b.getAttribute("id")) ? k = k.replace(aa, "\\$&"): b.setAttribute("id", k = u), r = g(a), h = r.length, l = V.test(k) ? "#" + k : "[id='" + k + "']";
+						while(h--) r[h] = l + " " + qa(r[h]);
+						s = r.join(","), w = _.test(a) && oa(b.parentNode) || b
+					}
+					if(s) try {
+						return H.apply(d, w.querySelectorAll(s)), d
+					} catch(y) {} finally {
+						k === u && b.removeAttribute("id")
+					}
+				}
+			}
+			return i(a.replace(Q, "$1"), b, d, e)
+		}
+
+		function ga() {
+			var a = [];
+
+			function b(c, e) {
+				return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e
+			}
+			return b
+		}
+
+		function ha(a) {
+			return a[u] = !0, a
+		}
+
+		function ia(a) {
+			var b = n.createElement("div");
+			try {
+				return !!a(b)
+			} catch(c) {
+				return !1
+			} finally {
+				b.parentNode && b.parentNode.removeChild(b), b = null
+			}
+		}
+
+		function ja(a, b) {
+			var c = a.split("|"),
+				e = c.length;
+			while(e--) d.attrHandle[c[e]] = b
+		}
+
+		function ka(a, b) {
+			var c = b && a,
+				d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C);
+			if(d) return d;
+			if(c)
+				while(c = c.nextSibling)
+					if(c === b) return -1;
+			return a ? 1 : -1
+		}
+
+		function la(a) {
+			return function(b) {
+				var c = b.nodeName.toLowerCase();
+				return "input" === c && b.type === a
+			}
+		}
+
+		function ma(a) {
+			return function(b) {
+				var c = b.nodeName.toLowerCase();
+				return("input" === c || "button" === c) && b.type === a
+			}
+		}
+
+		function na(a) {
+			return ha(function(b) {
+				return b = +b, ha(function(c, d) {
+					var e, f = a([], c.length, b),
+						g = f.length;
+					while(g--) c[e = f[g]] && (c[e] = !(d[e] = c[e]))
+				})
+			})
+		}
+
+		function oa(a) {
+			return a && "undefined" != typeof a.getElementsByTagName && a
+		}
+		c = fa.support = {}, f = fa.isXML = function(a) {
+			var b = a && (a.ownerDocument || a).documentElement;
+			return b ? "HTML" !== b.nodeName : !1
+		}, m = fa.setDocument = function(a) {
+			var b, e, g = a ? a.ownerDocument || a : v;
+			return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = n.documentElement, p = !f(n), (e = n.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener("unload", da, !1) : e.attachEvent && e.attachEvent("onunload", da)), c.attributes = ia(function(a) {
+				return a.className = "i", !a.getAttribute("className")
+			}), c.getElementsByTagName = ia(function(a) {
+				return a.appendChild(n.createComment("")), !a.getElementsByTagName("*").length
+			}), c.getElementsByClassName = Z.test(n.getElementsByClassName), c.getById = ia(function(a) {
+				return o.appendChild(a).id = u, !n.getElementsByName || !n.getElementsByName(u).length
+			}), c.getById ? (d.find.ID = function(a, b) {
+				if("undefined" != typeof b.getElementById && p) {
+					var c = b.getElementById(a);
+					return c ? [c] : []
+				}
+			}, d.filter.ID = function(a) {
+				var b = a.replace(ba, ca);
+				return function(a) {
+					return a.getAttribute("id") === b
+				}
+			}) : (delete d.find.ID, d.filter.ID = function(a) {
+				var b = a.replace(ba, ca);
+				return function(a) {
+					var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id");
+					return c && c.value === b
+				}
+			}), d.find.TAG = c.getElementsByTagName ? function(a, b) {
+				return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0
+			} : function(a, b) {
+				var c, d = [],
+					e = 0,
+					f = b.getElementsByTagName(a);
+				if("*" === a) {
+					while(c = f[e++]) 1 === c.nodeType && d.push(c);
+					return d
+				}
+				return f
+			}, d.find.CLASS = c.getElementsByClassName && function(a, b) {
+				return "undefined" != typeof b.getElementsByClassName && p ? b.getElementsByClassName(a) : void 0
+			}, r = [], q = [], (c.qsa = Z.test(n.querySelectorAll)) && (ia(function(a) {
+				o.appendChild(a).innerHTML = "<a id='" + u + "'></a><select id='" + u + "-\r\\' msallowcapture=''><option selected=''></option></select>", a.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + L + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || q.push("\\[" + L + "*(?:value|" + K + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="), a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]")
+			}), ia(function(a) {
+				var b = n.createElement("input");
+				b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && q.push("name" + L + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || q.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), q.push(",.*:")
+			})), (c.matchesSelector = Z.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ia(function(a) {
+				c.disconnectedMatch = s.call(a, "div"), s.call(a, "[s!='']:x"), r.push("!=", O)
+			}), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = Z.test(o.compareDocumentPosition), t = b || Z.test(o.contains) ? function(a, b) {
+				var c = 9 === a.nodeType ? a.documentElement : a,
+					d = b && b.parentNode;
+				return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d)))
+			} : function(a, b) {
+				if(b)
+					while(b = b.parentNode)
+						if(b === a) return !0;
+				return !1
+			}, B = b ? function(a, b) {
+				if(a === b) return l = !0, 0;
+				var d = !a.compareDocumentPosition - !b.compareDocumentPosition;
+				return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === n || a.ownerDocument === v && t(v, a) ? -1 : b === n || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1)
+			} : function(a, b) {
+				if(a === b) return l = !0, 0;
+				var c, d = 0,
+					e = a.parentNode,
+					f = b.parentNode,
+					g = [a],
+					h = [b];
+				if(!e || !f) return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0;
+				if(e === f) return ka(a, b);
+				c = a;
+				while(c = c.parentNode) g.unshift(c);
+				c = b;
+				while(c = c.parentNode) h.unshift(c);
+				while(g[d] === h[d]) d++;
+				return d ? ka(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0
+			}, n) : n
+		}, fa.matches = function(a, b) {
+			return fa(a, null, null, b)
+		}, fa.matchesSelector = function(a, b) {
+			if((a.ownerDocument || a) !== n && m(a), b = b.replace(T, "='$1']"), c.matchesSelector && p && !A[b + " "] && (!r || !r.test(b)) && (!q || !q.test(b))) try {
+				var d = s.call(a, b);
+				if(d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d
+			} catch(e) {}
+			return fa(b, n, null, [a]).length > 0
+		}, fa.contains = function(a, b) {
+			return(a.ownerDocument || a) !== n && m(a), t(a, b)
+		}, fa.attr = function(a, b) {
+			(a.ownerDocument || a) !== n && m(a);
+			var e = d.attrHandle[b.toLowerCase()],
+				f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0;
+			return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null
+		}, fa.error = function(a) {
+			throw new Error("Syntax error, unrecognized expression: " + a)
+		}, fa.uniqueSort = function(a) {
+			var b, d = [],
+				e = 0,
+				f = 0;
+			if(l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) {
+				while(b = a[f++]) b === a[f] && (e = d.push(f));
+				while(e--) a.splice(d[e], 1)
+			}
+			return k = null, a
+		}, e = fa.getText = function(a) {
+			var b, c = "",
+				d = 0,
+				f = a.nodeType;
+			if(f) {
+				if(1 === f || 9 === f || 11 === f) {
+					if("string" == typeof a.textContent) return a.textContent;
+					for(a = a.firstChild; a; a = a.nextSibling) c += e(a)
+				} else if(3 === f || 4 === f) return a.nodeValue
+			} else
+				while(b = a[d++]) c += e(b);
+			return c
+		}, d = fa.selectors = {
+			cacheLength: 50,
+			createPseudo: ha,
+			match: W,
+			attrHandle: {},
+			find: {},
+			relative: {
+				">": {
+					dir: "parentNode",
+					first: !0
+				},
+				" ": {
+					dir: "parentNode"
+				},
+				"+": {
+					dir: "previousSibling",
+					first: !0
+				},
+				"~": {
+					dir: "previousSibling"
+				}
+			},
+			preFilter: {
+				ATTR: function(a) {
+					return a[1] = a[1].replace(ba, ca), a[3] = (a[3] || a[4] || a[5] || "").replace(ba, ca), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4)
+				},
+				CHILD: function(a) {
+					return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || fa.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && fa.error(a[0]), a
+				},
+				PSEUDO: function(a) {
+					var b, c = !a[6] && a[2];
+					return W.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && U.test(c) && (b = g(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))
+				}
+			},
+			filter: {
+				TAG: function(a) {
+					var b = a.replace(ba, ca).toLowerCase();
+					return "*" === a ? function() {
+						return !0
+					} : function(a) {
+						return a.nodeName && a.nodeName.toLowerCase() === b
+					}
+				},
+				CLASS: function(a) {
+					var b = y[a + " "];
+					return b || (b = new RegExp("(^|" + L + ")" + a + "(" + L + "|$)")) && y(a, function(a) {
+						return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "")
+					})
+				},
+				ATTR: function(a, b, c) {
+					return function(d) {
+						var e = fa.attr(d, a);
+						return null == e ? "!=" === b : b ? (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c && 0 === e.indexOf(c) : "*=" === b ? c && e.indexOf(c) > -1 : "$=" === b ? c && e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(P, " ") + " ").indexOf(c) > -1 : "|=" === b ? e === c || e.slice(0, c.length + 1) === c + "-" : !1) : !0
+					}
+				},
+				CHILD: function(a, b, c, d, e) {
+					var f = "nth" !== a.slice(0, 3),
+						g = "last" !== a.slice(-4),
+						h = "of-type" === b;
+					return 1 === d && 0 === e ? function(a) {
+						return !!a.parentNode
+					} : function(b, c, i) {
+						var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling",
+							q = b.parentNode,
+							r = h && b.nodeName.toLowerCase(),
+							s = !i && !h,
+							t = !1;
+						if(q) {
+							if(f) {
+								while(p) {
+									m = b;
+									while(m = m[p])
+										if(h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1;
+									o = p = "only" === a && !o && "nextSibling"
+								}
+								return !0
+							}
+							if(o = [g ? q.firstChild : q.lastChild], g && s) {
+								m = q, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n && j[2], m = n && q.childNodes[n];
+								while(m = ++n && m && m[p] || (t = n = 0) || o.pop())
+									if(1 === m.nodeType && ++t && m === b) {
+										k[a] = [w, n, t];
+										break
+									}
+							} else if(s && (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n), t === !1)
+								while(m = ++n && m && m[p] || (t = n = 0) || o.pop())
+									if((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) && ++t && (s && (l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [w, t]), m === b)) break;
+							return t -= e, t === d || t % d === 0 && t / d >= 0
+						}
+					}
+				},
+				PSEUDO: function(a, b) {
+					var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || fa.error("unsupported pseudo: " + a);
+					return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ha(function(a, c) {
+						var d, f = e(a, b),
+							g = f.length;
+						while(g--) d = J(a, f[g]), a[d] = !(c[d] = f[g])
+					}) : function(a) {
+						return e(a, 0, c)
+					}) : e
+				}
+			},
+			pseudos: {
+				not: ha(function(a) {
+					var b = [],
+						c = [],
+						d = h(a.replace(Q, "$1"));
+					return d[u] ? ha(function(a, b, c, e) {
+						var f, g = d(a, null, e, []),
+							h = a.length;
+						while(h--)(f = g[h]) && (a[h] = !(b[h] = f))
+					}) : function(a, e, f) {
+						return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop()
+					}
+				}),
+				has: ha(function(a) {
+					return function(b) {
+						return fa(a, b).length > 0
+					}
+				}),
+				contains: ha(function(a) {
+					return a = a.replace(ba, ca),
+						function(b) {
+							return(b.textContent || b.innerText || e(b)).indexOf(a) > -1
+						}
+				}),
+				lang: ha(function(a) {
+					return V.test(a || "") || fa.error("unsupported lang: " + a), a = a.replace(ba, ca).toLowerCase(),
+						function(b) {
+							var c;
+							do
+								if(c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType);
+							return !1
+						}
+				}),
+				target: function(b) {
+					var c = a.location && a.location.hash;
+					return c && c.slice(1) === b.id
+				},
+				root: function(a) {
+					return a === o
+				},
+				focus: function(a) {
+					return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)
+				},
+				enabled: function(a) {
+					return a.disabled === !1
+				},
+				disabled: function(a) {
+					return a.disabled === !0
+				},
+				checked: function(a) {
+					var b = a.nodeName.toLowerCase();
+					return "input" === b && !!a.checked || "option" === b && !!a.selected
+				},
+				selected: function(a) {
+					return a.parentNode && a.parentNode.selectedIndex, a.selected === !0
+				},
+				empty: function(a) {
+					for(a = a.firstChild; a; a = a.nextSibling)
+						if(a.nodeType < 6) return !1;
+					return !0
+				},
+				parent: function(a) {
+					return !d.pseudos.empty(a)
+				},
+				header: function(a) {
+					return Y.test(a.nodeName)
+				},
+				input: function(a) {
+					return X.test(a.nodeName)
+				},
+				button: function(a) {
+					var b = a.nodeName.toLowerCase();
+					return "input" === b && "button" === a.type || "button" === b
+				},
+				text: function(a) {
+					var b;
+					return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase())
+				},
+				first: na(function() {
+					return [0]
+				}),
+				last: na(function(a, b) {
+					return [b - 1]
+				}),
+				eq: na(function(a, b, c) {
+					return [0 > c ? c + b : c]
+				}),
+				even: na(function(a, b) {
+					for(var c = 0; b > c; c += 2) a.push(c);
+					return a
+				}),
+				odd: na(function(a, b) {
+					for(var c = 1; b > c; c += 2) a.push(c);
+					return a
+				}),
+				lt: na(function(a, b, c) {
+					for(var d = 0 > c ? c + b : c; --d >= 0;) a.push(d);
+					return a
+				}),
+				gt: na(function(a, b, c) {
+					for(var d = 0 > c ? c + b : c; ++d < b;) a.push(d);
+					return a
+				})
+			}
+		}, d.pseudos.nth = d.pseudos.eq;
+		for(b in {
+				radio: !0,
+				checkbox: !0,
+				file: !0,
+				password: !0,
+				image: !0
+			}) d.pseudos[b] = la(b);
+		for(b in {
+				submit: !0,
+				reset: !0
+			}) d.pseudos[b] = ma(b);
+
+		function pa() {}
+		pa.prototype = d.filters = d.pseudos, d.setFilters = new pa, g = fa.tokenize = function(a, b) {
+			var c, e, f, g, h, i, j, k = z[a + " "];
+			if(k) return b ? 0 : k.slice(0);
+			h = a, i = [], j = d.preFilter;
+			while(h) {
+				c && !(e = R.exec(h)) || (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = S.exec(h)) && (c = e.shift(), f.push({
+					value: c,
+					type: e[0].replace(Q, " ")
+				}), h = h.slice(c.length));
+				for(g in d.filter) !(e = W[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({
+					value: c,
+					type: g,
+					matches: e
+				}), h = h.slice(c.length));
+				if(!c) break
+			}
+			return b ? h.length : h ? fa.error(a) : z(a, i).slice(0)
+		};
+
+		function qa(a) {
+			for(var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value;
+			return d
+		}
+
+		function ra(a, b, c) {
+			var d = b.dir,
+				e = c && "parentNode" === d,
+				f = x++;
+			return b.first ? function(b, c, f) {
+				while(b = b[d])
+					if(1 === b.nodeType || e) return a(b, c, f)
+			} : function(b, c, g) {
+				var h, i, j, k = [w, f];
+				if(g) {
+					while(b = b[d])
+						if((1 === b.nodeType || e) && a(b, c, g)) return !0
+				} else
+					while(b = b[d])
+						if(1 === b.nodeType || e) {
+							if(j = b[u] || (b[u] = {}), i = j[b.uniqueID] || (j[b.uniqueID] = {}), (h = i[d]) && h[0] === w && h[1] === f) return k[2] = h[2];
+							if(i[d] = k, k[2] = a(b, c, g)) return !0
+						}
+			}
+		}
+
+		function sa(a) {
+			return a.length > 1 ? function(b, c, d) {
+				var e = a.length;
+				while(e--)
+					if(!a[e](b, c, d)) return !1;
+				return !0
+			} : a[0]
+		}
+
+		function ta(a, b, c) {
+			for(var d = 0, e = b.length; e > d; d++) fa(a, b[d], c);
+			return c
+		}
+
+		function ua(a, b, c, d, e) {
+			for(var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (c && !c(f, d, e) || (g.push(f), j && b.push(h)));
+			return g
+		}
+
+		function va(a, b, c, d, e, f) {
+			return d && !d[u] && (d = va(d)), e && !e[u] && (e = va(e, f)), ha(function(f, g, h, i) {
+				var j, k, l, m = [],
+					n = [],
+					o = g.length,
+					p = f || ta(b || "*", h.nodeType ? [h] : h, []),
+					q = !a || !f && b ? p : ua(p, m, a, h, i),
+					r = c ? e || (f ? a : o || d) ? [] : g : q;
+				if(c && c(q, r, h, i), d) {
+					j = ua(r, n), d(j, [], h, i), k = j.length;
+					while(k--)(l = j[k]) && (r[n[k]] = !(q[n[k]] = l))
+				}
+				if(f) {
+					if(e || a) {
+						if(e) {
+							j = [], k = r.length;
+							while(k--)(l = r[k]) && j.push(q[k] = l);
+							e(null, r = [], j, i)
+						}
+						k = r.length;
+						while(k--)(l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l))
+					}
+				} else r = ua(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r)
+			})
+		}
+
+		function wa(a) {
+			for(var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = ra(function(a) {
+					return a === b
+				}, h, !0), l = ra(function(a) {
+					return J(b, a) > -1
+				}, h, !0), m = [function(a, c, d) {
+					var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d));
+					return b = null, e
+				}]; f > i; i++)
+				if(c = d.relative[a[i].type]) m = [ra(sa(m), c)];
+				else {
+					if(c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) {
+						for(e = ++i; f > e; e++)
+							if(d.relative[a[e].type]) break;
+						return va(i > 1 && sa(m), i > 1 && qa(a.slice(0, i - 1).concat({
+							value: " " === a[i - 2].type ? "*" : ""
+						})).replace(Q, "$1"), c, e > i && wa(a.slice(i, e)), f > e && wa(a = a.slice(e)), f > e && qa(a))
+					}
+					m.push(c)
+				}
+			return sa(m)
+		}
+
+		function xa(a, b) {
+			var c = b.length > 0,
+				e = a.length > 0,
+				f = function(f, g, h, i, k) {
+					var l, o, q, r = 0,
+						s = "0",
+						t = f && [],
+						u = [],
+						v = j,
+						x = f || e && d.find.TAG("*", k),
+						y = w += null == v ? 1 : Math.random() || .1,
+						z = x.length;
+					for(k && (j = g === n || g || k); s !== z && null != (l = x[s]); s++) {
+						if(e && l) {
+							o = 0, g || l.ownerDocument === n || (m(l), h = !p);
+							while(q = a[o++])
+								if(q(l, g || n, h)) {
+									i.push(l);
+									break
+								}
+							k && (w = y)
+						}
+						c && ((l = !q && l) && r--, f && t.push(l))
+					}
+					if(r += s, c && s !== r) {
+						o = 0;
+						while(q = b[o++]) q(t, u, g, h);
+						if(f) {
+							if(r > 0)
+								while(s--) t[s] || u[s] || (u[s] = F.call(i));
+							u = ua(u)
+						}
+						H.apply(i, u), k && !f && u.length > 0 && r + b.length > 1 && fa.uniqueSort(i)
+					}
+					return k && (w = y, j = v), t
+				};
+			return c ? ha(f) : f
+		}
+		return h = fa.compile = function(a, b) {
+			var c, d = [],
+				e = [],
+				f = A[a + " "];
+			if(!f) {
+				b || (b = g(a)), c = b.length;
+				while(c--) f = wa(b[c]), f[u] ? d.push(f) : e.push(f);
+				f = A(a, xa(e, d)), f.selector = a
+			}
+			return f
+		}, i = fa.select = function(a, b, e, f) {
+			var i, j, k, l, m, n = "function" == typeof a && a,
+				o = !f && g(a = n.selector || a);
+			if(e = e || [], 1 === o.length) {
+				if(j = o[0] = o[0].slice(0), j.length > 2 && "ID" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) {
+					if(b = (d.find.ID(k.matches[0].replace(ba, ca), b) || [])[0], !b) return e;
+					n && (b = b.parentNode), a = a.slice(j.shift().value.length)
+				}
+				i = W.needsContext.test(a) ? 0 : j.length;
+				while(i--) {
+					if(k = j[i], d.relative[l = k.type]) break;
+					if((m = d.find[l]) && (f = m(k.matches[0].replace(ba, ca), _.test(j[0].type) && oa(b.parentNode) || b))) {
+						if(j.splice(i, 1), a = f.length && qa(j), !a) return H.apply(e, f), e;
+						break
+					}
+				}
+			}
+			return(n || h(a, o))(f, b, !p, e, !b || _.test(a) && oa(b.parentNode) || b), e
+		}, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ia(function(a) {
+			return 1 & a.compareDocumentPosition(n.createElement("div"))
+		}), ia(function(a) {
+			return a.innerHTML = "<a href='#'></a>", "#" === a.firstChild.getAttribute("href")
+		}) || ja("type|href|height|width", function(a, b, c) {
+			return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2)
+		}), c.attributes && ia(function(a) {
+			return a.innerHTML = "<input/>", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value")
+		}) || ja("value", function(a, b, c) {
+			return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue
+		}), ia(function(a) {
+			return null == a.getAttribute("disabled")
+		}) || ja(K, function(a, b, c) {
+			var d;
+			return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null
+		}), fa
+	}(a);
+	n.find = t, n.expr = t.selectors, n.expr[":"] = n.expr.pseudos, n.uniqueSort = n.unique = t.uniqueSort, n.text = t.getText, n.isXMLDoc = t.isXML, n.contains = t.contains;
+	var u = function(a, b, c) {
+			var d = [],
+				e = void 0 !== c;
+			while((a = a[b]) && 9 !== a.nodeType)
+				if(1 === a.nodeType) {
+					if(e && n(a).is(c)) break;
+					d.push(a)
+				}
+			return d
+		},
+		v = function(a, b) {
+			for(var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);
+			return c
+		},
+		w = n.expr.match.needsContext,
+		x = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
+		y = /^.[^:#\[\.,]*$/;
+
+	function z(a, b, c) {
+		if(n.isFunction(b)) return n.grep(a, function(a, d) {
+			return !!b.call(a, d, a) !== c
+		});
+		if(b.nodeType) return n.grep(a, function(a) {
+			return a === b !== c
+		});
+		if("string" == typeof b) {
+			if(y.test(b)) return n.filter(b, a, c);
+			b = n.filter(b, a)
+		}
+		return n.grep(a, function(a) {
+			return n.inArray(a, b) > -1 !== c
+		})
+	}
+	n.filter = function(a, b, c) {
+		var d = b[0];
+		return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] : n.find.matches(a, n.grep(b, function(a) {
+			return 1 === a.nodeType
+		}))
+	}, n.fn.extend({
+		find: function(a) {
+			var b, c = [],
+				d = this,
+				e = d.length;
+			if("string" != typeof a) return this.pushStack(n(a).filter(function() {
+				for(b = 0; e > b; b++)
+					if(n.contains(d[b], this)) return !0
+			}));
+			for(b = 0; e > b; b++) n.find(a, d[b], c);
+			return c = this.pushStack(e > 1 ? n.unique(c) : c), c.selector = this.selector ? this.selector + " " + a : a, c
+		},
+		filter: function(a) {
+			return this.pushStack(z(this, a || [], !1))
+		},
+		not: function(a) {
+			return this.pushStack(z(this, a || [], !0))
+		},
+		is: function(a) {
+			return !!z(this, "string" == typeof a && w.test(a) ? n(a) : a || [], !1).length
+		}
+	});
+	var A, B = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+		C = n.fn.init = function(a, b, c) {
+			var e, f;
+			if(!a) return this;
+			if(c = c || A, "string" == typeof a) {
+				if(e = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && a.length >= 3 ? [null, a, null] : B.exec(a), !e || !e[1] && b) return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a);
+				if(e[1]) {
+					if(b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : d, !0)), x.test(e[1]) && n.isPlainObject(b))
+						for(e in b) n.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]);
+					return this
+				}
+				if(f = d.getElementById(e[2]), f && f.parentNode) {
+					if(f.id !== e[2]) return A.find(a);
+					this.length = 1, this[0] = f
+				}
+				return this.context = d, this.selector = a, this
+			}
+			return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? "undefined" != typeof c.ready ? c.ready(a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this))
+		};
+	C.prototype = n.fn, A = n(d);
+	var D = /^(?:parents|prev(?:Until|All))/,
+		E = {
+			children: !0,
+			contents: !0,
+			next: !0,
+			prev: !0
+		};
+	n.fn.extend({
+		has: function(a) {
+			var b, c = n(a, this),
+				d = c.length;
+			return this.filter(function() {
+				for(b = 0; d > b; b++)
+					if(n.contains(this, c[b])) return !0
+			})
+		},
+		closest: function(a, b) {
+			for(var c, d = 0, e = this.length, f = [], g = w.test(a) || "string" != typeof a ? n(a, b || this.context) : 0; e > d; d++)
+				for(c = this[d]; c && c !== b; c = c.parentNode)
+					if(c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && n.find.matchesSelector(c, a))) {
+						f.push(c);
+						break
+					}
+			return this.pushStack(f.length > 1 ? n.uniqueSort(f) : f)
+		},
+		index: function(a) {
+			return a ? "string" == typeof a ? n.inArray(this[0], n(a)) : n.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
+		},
+		add: function(a, b) {
+			return this.pushStack(n.uniqueSort(n.merge(this.get(), n(a, b))))
+		},
+		addBack: function(a) {
+			return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
+		}
+	});
+
+	function F(a, b) {
+		do a = a[b]; while (a && 1 !== a.nodeType);
+		return a
+	}
+	n.each({
+		parent: function(a) {
+			var b = a.parentNode;
+			return b && 11 !== b.nodeType ? b : null
+		},
+		parents: function(a) {
+			return u(a, "parentNode")
+		},
+		parentsUntil: function(a, b, c) {
+			return u(a, "parentNode", c)
+		},
+		next: function(a) {
+			return F(a, "nextSibling")
+		},
+		prev: function(a) {
+			return F(a, "previousSibling")
+		},
+		nextAll: function(a) {
+			return u(a, "nextSibling")
+		},
+		prevAll: function(a) {
+			return u(a, "previousSibling")
+		},
+		nextUntil: function(a, b, c) {
+			return u(a, "nextSibling", c)
+		},
+		prevUntil: function(a, b, c) {
+			return u(a, "previousSibling", c)
+		},
+		siblings: function(a) {
+			return v((a.parentNode || {}).firstChild, a)
+		},
+		children: function(a) {
+			return v(a.firstChild)
+		},
+		contents: function(a) {
+			return n.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : n.merge([], a.childNodes)
+		}
+	}, function(a, b) {
+		n.fn[a] = function(c, d) {
+			var e = n.map(this, b, c);
+			return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = n.filter(d, e)), this.length > 1 && (E[a] || (e = n.uniqueSort(e)), D.test(a) && (e = e.reverse())), this.pushStack(e)
+		}
+	});
+	var G = /\S+/g;
+
+	function H(a) {
+		var b = {};
+		return n.each(a.match(G) || [], function(a, c) {
+			b[c] = !0
+		}), b
+	}
+	n.Callbacks = function(a) {
+		a = "string" == typeof a ? H(a) : n.extend({}, a);
+		var b, c, d, e, f = [],
+			g = [],
+			h = -1,
+			i = function() {
+				for(e = a.once, d = b = !0; g.length; h = -1) {
+					c = g.shift();
+					while(++h < f.length) f[h].apply(c[0], c[1]) === !1 && a.stopOnFalse && (h = f.length, c = !1)
+				}
+				a.memory || (c = !1), b = !1, e && (f = c ? [] : "")
+			},
+			j = {
+				add: function() {
+					return f && (c && !b && (h = f.length - 1, g.push(c)), function d(b) {
+						n.each(b, function(b, c) {
+							n.isFunction(c) ? a.unique && j.has(c) || f.push(c) : c && c.length && "string" !== n.type(c) && d(c)
+						})
+					}(arguments), c && !b && i()), this
+				},
+				remove: function() {
+					return n.each(arguments, function(a, b) {
+						var c;
+						while((c = n.inArray(b, f, c)) > -1) f.splice(c, 1), h >= c && h--
+					}), this
+				},
+				has: function(a) {
+					return a ? n.inArray(a, f) > -1 : f.length > 0
+				},
+				empty: function() {
+					return f && (f = []), this
+				},
+				disable: function() {
+					return e = g = [], f = c = "", this
+				},
+				disabled: function() {
+					return !f
+				},
+				lock: function() {
+					return e = !0, c || j.disable(), this
+				},
+				locked: function() {
+					return !!e
+				},
+				fireWith: function(a, c) {
+					return e || (c = c || [], c = [a, c.slice ? c.slice() : c], g.push(c), b || i()), this
+				},
+				fire: function() {
+					return j.fireWith(this, arguments), this
+				},
+				fired: function() {
+					return !!d
+				}
+			};
+		return j
+	}, n.extend({
+		Deferred: function(a) {
+			var b = [
+					["resolve", "done", n.Callbacks("once memory"), "resolved"],
+					["reject", "fail", n.Callbacks("once memory"), "rejected"],
+					["notify", "progress", n.Callbacks("memory")]
+				],
+				c = "pending",
+				d = {
+					state: function() {
+						return c
+					},
+					always: function() {
+						return e.done(arguments).fail(arguments), this
+					},
+					then: function() {
+						var a = arguments;
+						return n.Deferred(function(c) {
+							n.each(b, function(b, f) {
+								var g = n.isFunction(a[b]) && a[b];
+								e[f[1]](function() {
+									var a = g && g.apply(this, arguments);
+									a && n.isFunction(a.promise) ? a.promise().progress(c.notify).done(c.resolve).fail(c.reject) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments)
+								})
+							}), a = null
+						}).promise()
+					},
+					promise: function(a) {
+						return null != a ? n.extend(a, d) : d
+					}
+				},
+				e = {};
+			return d.pipe = d.then, n.each(b, function(a, f) {
+				var g = f[2],
+					h = f[3];
+				d[f[1]] = g.add, h && g.add(function() {
+					c = h
+				}, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function() {
+					return e[f[0] + "With"](this === e ? d : this, arguments), this
+				}, e[f[0] + "With"] = g.fireWith
+			}), d.promise(e), a && a.call(e, e), e
+		},
+		when: function(a) {
+			var b = 0,
+				c = e.call(arguments),
+				d = c.length,
+				f = 1 !== d || a && n.isFunction(a.promise) ? d : 0,
+				g = 1 === f ? a : n.Deferred(),
+				h = function(a, b, c) {
+					return function(d) {
+						b[a] = this, c[a] = arguments.length > 1 ? e.call(arguments) : d, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c)
+					}
+				},
+				i, j, k;
+			if(d > 1)
+				for(i = new Array(d), j = new Array(d), k = new Array(d); d > b; b++) c[b] && n.isFunction(c[b].promise) ? c[b].promise().progress(h(b, j, i)).done(h(b, k, c)).fail(g.reject) : --f;
+			return f || g.resolveWith(k, c), g.promise()
+		}
+	});
+	var I;
+	n.fn.ready = function(a) {
+		return n.ready.promise().done(a), this
+	}, n.extend({
+		isReady: !1,
+		readyWait: 1,
+		holdReady: function(a) {
+			a ? n.readyWait++ : n.ready(!0)
+		},
+		ready: function(a) {
+			(a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (I.resolveWith(d, [n]), n.fn.triggerHandler && (n(d).triggerHandler("ready"), n(d).off("ready"))))
+		}
+	});
+
+	function J() {
+		d.addEventListener ? (d.removeEventListener("DOMContentLoaded", K), a.removeEventListener("load", K)) : (d.detachEvent("onreadystatechange", K), a.detachEvent("onload", K))
+	}
+
+	function K() {
+		(d.addEventListener || "load" === a.event.type || "complete" === d.readyState) && (J(), n.ready())
+	}
+	n.ready.promise = function(b) {
+		if(!I)
+			if(I = n.Deferred(), "complete" === d.readyState || "loading" !== d.readyState && !d.documentElement.doScroll) a.setTimeout(n.ready);
+			else if(d.addEventListener) d.addEventListener("DOMContentLoaded", K), a.addEventListener("load", K);
+		else {
+			d.attachEvent("onreadystatechange", K), a.attachEvent("onload", K);
+			var c = !1;
+			try {
+				c = null == a.frameElement && d.documentElement
+			} catch(e) {}
+			c && c.doScroll && ! function f() {
+				if(!n.isReady) {
+					try {
+						c.doScroll("left")
+					} catch(b) {
+						return a.setTimeout(f, 50)
+					}
+					J(), n.ready()
+				}
+			}()
+		}
+		return I.promise(b)
+	}, n.ready.promise();
+	var L;
+	for(L in n(l)) break;
+	l.ownFirst = "0" === L, l.inlineBlockNeedsLayout = !1, n(function() {
+			var a, b, c, e;
+			c = d.getElementsByTagName("body")[0], c && c.style && (b = d.createElement("div"), e = d.createElement("div"), e.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(e).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", l.inlineBlockNeedsLayout = a = 3 === b.offsetWidth, a && (c.style.zoom = 1)), c.removeChild(e))
+		}),
+		function() {
+			var a = d.createElement("div");
+			l.deleteExpando = !0;
+			try {
+				delete a.test
+			} catch(b) {
+				l.deleteExpando = !1
+			}
+			a = null
+		}();
+	var M = function(a) {
+			var b = n.noData[(a.nodeName + " ").toLowerCase()],
+				c = +a.nodeType || 1;
+			return 1 !== c && 9 !== c ? !1 : !b || b !== !0 && a.getAttribute("classid") === b
+		},
+		N = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+		O = /([A-Z])/g;
+
+	function P(a, b, c) {
+		if(void 0 === c && 1 === a.nodeType) {
+			var d = "data-" + b.replace(O, "-$1").toLowerCase();
+			if(c = a.getAttribute(d), "string" == typeof c) {
+				try {
+					c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : N.test(c) ? n.parseJSON(c) : c
+				} catch(e) {}
+				n.data(a, b, c)
+			} else c = void 0;
+		}
+		return c
+	}
+
+	function Q(a) {
+		var b;
+		for(b in a)
+			if(("data" !== b || !n.isEmptyObject(a[b])) && "toJSON" !== b) return !1;
+		return !0
+	}
+
+	function R(a, b, d, e) {
+		if(M(a)) {
+			var f, g, h = n.expando,
+				i = a.nodeType,
+				j = i ? n.cache : a,
+				k = i ? a[h] : a[h] && h;
+			if(k && j[k] && (e || j[k].data) || void 0 !== d || "string" != typeof b) return k || (k = i ? a[h] = c.pop() || n.guid++ : h), j[k] || (j[k] = i ? {} : {
+				toJSON: n.noop
+			}), "object" != typeof b && "function" != typeof b || (e ? j[k] = n.extend(j[k], b) : j[k].data = n.extend(j[k].data, b)), g = j[k], e || (g.data || (g.data = {}), g = g.data), void 0 !== d && (g[n.camelCase(b)] = d), "string" == typeof b ? (f = g[b], null == f && (f = g[n.camelCase(b)])) : f = g, f
+		}
+	}
+
+	function S(a, b, c) {
+		if(M(a)) {
+			var d, e, f = a.nodeType,
+				g = f ? n.cache : a,
+				h = f ? a[n.expando] : n.expando;
+			if(g[h]) {
+				if(b && (d = c ? g[h] : g[h].data)) {
+					n.isArray(b) ? b = b.concat(n.map(b, n.camelCase)) : b in d ? b = [b] : (b = n.camelCase(b), b = b in d ? [b] : b.split(" ")), e = b.length;
+					while(e--) delete d[b[e]];
+					if(c ? !Q(d) : !n.isEmptyObject(d)) return
+				}(c || (delete g[h].data, Q(g[h]))) && (f ? n.cleanData([a], !0) : l.deleteExpando || g != g.window ? delete g[h] : g[h] = void 0)
+			}
+		}
+	}
+	n.extend({
+			cache: {},
+			noData: {
+				"applet ": !0,
+				"embed ": !0,
+				"object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
+			},
+			hasData: function(a) {
+				return a = a.nodeType ? n.cache[a[n.expando]] : a[n.expando], !!a && !Q(a)
+			},
+			data: function(a, b, c) {
+				return R(a, b, c)
+			},
+			removeData: function(a, b) {
+				return S(a, b)
+			},
+			_data: function(a, b, c) {
+				return R(a, b, c, !0)
+			},
+			_removeData: function(a, b) {
+				return S(a, b, !0)
+			}
+		}), n.fn.extend({
+			data: function(a, b) {
+				var c, d, e, f = this[0],
+					g = f && f.attributes;
+				if(void 0 === a) {
+					if(this.length && (e = n.data(f), 1 === f.nodeType && !n._data(f, "parsedAttrs"))) {
+						c = g.length;
+						while(c--) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = n.camelCase(d.slice(5)), P(f, d, e[d])));
+						n._data(f, "parsedAttrs", !0)
+					}
+					return e
+				}
+				return "object" == typeof a ? this.each(function() {
+					n.data(this, a)
+				}) : arguments.length > 1 ? this.each(function() {
+					n.data(this, a, b)
+				}) : f ? P(f, a, n.data(f, a)) : void 0
+			},
+			removeData: function(a) {
+				return this.each(function() {
+					n.removeData(this, a)
+				})
+			}
+		}), n.extend({
+			queue: function(a, b, c) {
+				var d;
+				return a ? (b = (b || "fx") + "queue", d = n._data(a, b), c && (!d || n.isArray(c) ? d = n._data(a, b, n.makeArray(c)) : d.push(c)), d || []) : void 0
+			},
+			dequeue: function(a, b) {
+				b = b || "fx";
+				var c = n.queue(a, b),
+					d = c.length,
+					e = c.shift(),
+					f = n._queueHooks(a, b),
+					g = function() {
+						n.dequeue(a, b)
+					};
+				"inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()
+			},
+			_queueHooks: function(a, b) {
+				var c = b + "queueHooks";
+				return n._data(a, c) || n._data(a, c, {
+					empty: n.Callbacks("once memory").add(function() {
+						n._removeData(a, b + "queue"), n._removeData(a, c)
+					})
+				})
+			}
+		}), n.fn.extend({
+			queue: function(a, b) {
+				var c = 2;
+				return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? n.queue(this[0], a) : void 0 === b ? this : this.each(function() {
+					var c = n.queue(this, a, b);
+					n._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && n.dequeue(this, a)
+				})
+			},
+			dequeue: function(a) {
+				return this.each(function() {
+					n.dequeue(this, a)
+				})
+			},
+			clearQueue: function(a) {
+				return this.queue(a || "fx", [])
+			},
+			promise: function(a, b) {
+				var c, d = 1,
+					e = n.Deferred(),
+					f = this,
+					g = this.length,
+					h = function() {
+						--d || e.resolveWith(f, [f])
+					};
+				"string" != typeof a && (b = a, a = void 0), a = a || "fx";
+				while(g--) c = n._data(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h));
+				return h(), e.promise(b)
+			}
+		}),
+		function() {
+			var a;
+			l.shrinkWrapBlocks = function() {
+				if(null != a) return a;
+				a = !1;
+				var b, c, e;
+				return c = d.getElementsByTagName("body")[0], c && c.style ? (b = d.createElement("div"), e = d.createElement("div"), e.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(e).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", b.appendChild(d.createElement("div")).style.width = "5px", a = 3 !== b.offsetWidth), c.removeChild(e), a) : void 0
+			}
+		}();
+	var T = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
+		U = new RegExp("^(?:([+-])=|)(" + T + ")([a-z%]*)$", "i"),
+		V = ["Top", "Right", "Bottom", "Left"],
+		W = function(a, b) {
+			return a = b || a, "none" === n.css(a, "display") || !n.contains(a.ownerDocument, a)
+		};
+
+	function X(a, b, c, d) {
+		var e, f = 1,
+			g = 20,
+			h = d ? function() {
+				return d.cur()
+			} : function() {
+				return n.css(a, b, "")
+			},
+			i = h(),
+			j = c && c[3] || (n.cssNumber[b] ? "" : "px"),
+			k = (n.cssNumber[b] || "px" !== j && +i) && U.exec(n.css(a, b));
+		if(k && k[3] !== j) {
+			j = j || k[3], c = c || [], k = +i || 1;
+			do f = f || ".5", k /= f, n.style(a, b, k + j); while (f !== (f = h() / i) && 1 !== f && --g)
+		}
+		return c && (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d && (d.unit = j, d.start = k, d.end = e)), e
+	}
+	var Y = function(a, b, c, d, e, f, g) {
+			var h = 0,
+				i = a.length,
+				j = null == c;
+			if("object" === n.type(c)) {
+				e = !0;
+				for(h in c) Y(a, b, h, c[h], !0, f, g)
+			} else if(void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function(a, b, c) {
+					return j.call(n(a), c)
+				})), b))
+				for(; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c)));
+			return e ? a : j ? b.call(a) : i ? b(a[0], c) : f
+		},
+		Z = /^(?:checkbox|radio)$/i,
+		$ = /<([\w:-]+)/,
+		_ = /^$|\/(?:java|ecma)script/i,
+		aa = /^\s+/,
+		ba = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";
+
+	function ca(a) {
+		var b = ba.split("|"),
+			c = a.createDocumentFragment();
+		if(c.createElement)
+			while(b.length) c.createElement(b.pop());
+		return c
+	}! function() {
+		var a = d.createElement("div"),
+			b = d.createDocumentFragment(),
+			c = d.createElement("input");
+		a.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", l.leadingWhitespace = 3 === a.firstChild.nodeType, l.tbody = !a.getElementsByTagName("tbody").length, l.htmlSerialize = !!a.getElementsByTagName("link").length, l.html5Clone = "<:nav></:nav>" !== d.createElement("nav").cloneNode(!0).outerHTML, c.type = "checkbox", c.checked = !0, b.appendChild(c), l.appendChecked = c.checked, a.innerHTML = "<textarea>x</textarea>", l.noCloneChecked = !!a.cloneNode(!0).lastChild.defaultValue, b.appendChild(a), c = d.createElement("input"), c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), a.appendChild(c), l.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, l.noCloneEvent = !!a.addEventListener, a[n.expando] = 1, l.attributes = !a.getAttribute(n.expando)
+	}();
+	var da = {
+		option: [1, "<select multiple='multiple'>", "</select>"],
+		legend: [1, "<fieldset>", "</fieldset>"],
+		area: [1, "<map>", "</map>"],
+		param: [1, "<object>", "</object>"],
+		thead: [1, "<table>", "</table>"],
+		tr: [2, "<table><tbody>", "</tbody></table>"],
+		col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
+		td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
+		_default: l.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
+	};
+	da.optgroup = da.option, da.tbody = da.tfoot = da.colgroup = da.caption = da.thead, da.th = da.td;
+
+	function ea(a, b) {
+		var c, d, e = 0,
+			f = "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || "*") : "undefined" != typeof a.querySelectorAll ? a.querySelectorAll(b || "*") : void 0;
+		if(!f)
+			for(f = [], c = a.childNodes || a; null != (d = c[e]); e++) !b || n.nodeName(d, b) ? f.push(d) : n.merge(f, ea(d, b));
+		return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], f) : f
+	}
+
+	function fa(a, b) {
+		for(var c, d = 0; null != (c = a[d]); d++) n._data(c, "globalEval", !b || n._data(b[d], "globalEval"))
+	}
+	var ga = /<|&#?\w+;/,
+		ha = /<tbody/i;
+
+	function ia(a) {
+		Z.test(a.type) && (a.defaultChecked = a.checked)
+	}
+
+	function ja(a, b, c, d, e) {
+		for(var f, g, h, i, j, k, m, o = a.length, p = ca(b), q = [], r = 0; o > r; r++)
+			if(g = a[r], g || 0 === g)
+				if("object" === n.type(g)) n.merge(q, g.nodeType ? [g] : g);
+				else if(ga.test(g)) {
+			i = i || p.appendChild(b.createElement("div")), j = ($.exec(g) || ["", ""])[1].toLowerCase(), m = da[j] || da._default, i.innerHTML = m[1] + n.htmlPrefilter(g) + m[2], f = m[0];
+			while(f--) i = i.lastChild;
+			if(!l.leadingWhitespace && aa.test(g) && q.push(b.createTextNode(aa.exec(g)[0])), !l.tbody) {
+				g = "table" !== j || ha.test(g) ? "<table>" !== m[1] || ha.test(g) ? 0 : i : i.firstChild, f = g && g.childNodes.length;
+				while(f--) n.nodeName(k = g.childNodes[f], "tbody") && !k.childNodes.length && g.removeChild(k)
+			}
+			n.merge(q, i.childNodes), i.textContent = "";
+			while(i.firstChild) i.removeChild(i.firstChild);
+			i = p.lastChild
+		} else q.push(b.createTextNode(g));
+		i && p.removeChild(i), l.appendChecked || n.grep(ea(q, "input"), ia), r = 0;
+		while(g = q[r++])
+			if(d && n.inArray(g, d) > -1) e && e.push(g);
+			else if(h = n.contains(g.ownerDocument, g), i = ea(p.appendChild(g), "script"), h && fa(i), c) {
+			f = 0;
+			while(g = i[f++]) _.test(g.type || "") && c.push(g)
+		}
+		return i = null, p
+	}! function() {
+		var b, c, e = d.createElement("div");
+		for(b in {
+				submit: !0,
+				change: !0,
+				focusin: !0
+			}) c = "on" + b, (l[b] = c in a) || (e.setAttribute(c, "t"), l[b] = e.attributes[c].expando === !1);
+		e = null
+	}();
+	var ka = /^(?:input|select|textarea)$/i,
+		la = /^key/,
+		ma = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+		na = /^(?:focusinfocus|focusoutblur)$/,
+		oa = /^([^.]*)(?:\.(.+)|)/;
+
+	function pa() {
+		return !0
+	}
+
+	function qa() {
+		return !1
+	}
+
+	function ra() {
+		try {
+			return d.activeElement
+		} catch(a) {}
+	}
+
+	function sa(a, b, c, d, e, f) {
+		var g, h;
+		if("object" == typeof b) {
+			"string" != typeof c && (d = d || c, c = void 0);
+			for(h in b) sa(a, h, c, d, b[h], f);
+			return a
+		}
+		if(null == d && null == e ? (e = c, d = c = void 0) : null == e && ("string" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1) e = qa;
+		else if(!e) return a;
+		return 1 === f && (g = e, e = function(a) {
+			return n().off(a), g.apply(this, arguments)
+		}, e.guid = g.guid || (g.guid = n.guid++)), a.each(function() {
+			n.event.add(this, b, e, d, c)
+		})
+	}
+	n.event = {
+		global: {},
+		add: function(a, b, c, d, e) {
+			var f, g, h, i, j, k, l, m, o, p, q, r = n._data(a);
+			if(r) {
+				c.handler && (i = c, c = i.handler, e = i.selector), c.guid || (c.guid = n.guid++), (g = r.events) || (g = r.events = {}), (k = r.handle) || (k = r.handle = function(a) {
+					return "undefined" == typeof n || a && n.event.triggered === a.type ? void 0 : n.event.dispatch.apply(k.elem, arguments)
+				}, k.elem = a), b = (b || "").match(G) || [""], h = b.length;
+				while(h--) f = oa.exec(b[h]) || [], o = q = f[1], p = (f[2] || "").split(".").sort(), o && (j = n.event.special[o] || {}, o = (e ? j.delegateType : j.bindType) || o, j = n.event.special[o] || {}, l = n.extend({
+					type: o,
+					origType: q,
+					data: d,
+					handler: c,
+					guid: c.guid,
+					selector: e,
+					needsContext: e && n.expr.match.needsContext.test(e),
+					namespace: p.join(".")
+				}, i), (m = g[o]) || (m = g[o] = [], m.delegateCount = 0, j.setup && j.setup.call(a, d, p, k) !== !1 || (a.addEventListener ? a.addEventListener(o, k, !1) : a.attachEvent && a.attachEvent("on" + o, k))), j.add && (j.add.call(a, l), l.handler.guid || (l.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, l) : m.push(l), n.event.global[o] = !0);
+				a = null
+			}
+		},
+		remove: function(a, b, c, d, e) {
+			var f, g, h, i, j, k, l, m, o, p, q, r = n.hasData(a) && n._data(a);
+			if(r && (k = r.events)) {
+				b = (b || "").match(G) || [""], j = b.length;
+				while(j--)
+					if(h = oa.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) {
+						l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = k[o] || [], h = h[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), i = f = m.length;
+						while(f--) g = m[f], !e && q !== g.origType || c && c.guid !== g.guid || h && !h.test(g.namespace) || d && d !== g.selector && ("**" !== d || !g.selector) || (m.splice(f, 1), g.selector && m.delegateCount--, l.remove && l.remove.call(a, g));
+						i && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle), delete k[o])
+					} else
+						for(o in k) n.event.remove(a, o + b[j], c, d, !0);
+				n.isEmptyObject(k) && (delete r.handle, n._removeData(a, "events"))
+			}
+		},
+		trigger: function(b, c, e, f) {
+			var g, h, i, j, l, m, o, p = [e || d],
+				q = k.call(b, "type") ? b.type : b,
+				r = k.call(b, "namespace") ? b.namespace.split(".") : [];
+			if(i = m = e = e || d, 3 !== e.nodeType && 8 !== e.nodeType && !na.test(q + n.event.triggered) && (q.indexOf(".") > -1 && (r = q.split("."), q = r.shift(), r.sort()), h = q.indexOf(":") < 0 && "on" + q, b = b[n.expando] ? b : new n.Event(q, "object" == typeof b && b), b.isTrigger = f ? 2 : 3, b.namespace = r.join("."), b.rnamespace = b.namespace ? new RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = e), c = null == c ? [b] : n.makeArray(c, [b]), l = n.event.special[q] || {}, f || !l.trigger || l.trigger.apply(e, c) !== !1)) {
+				if(!f && !l.noBubble && !n.isWindow(e)) {
+					for(j = l.delegateType || q, na.test(j + q) || (i = i.parentNode); i; i = i.parentNode) p.push(i), m = i;
+					m === (e.ownerDocument || d) && p.push(m.defaultView || m.parentWindow || a)
+				}
+				o = 0;
+				while((i = p[o++]) && !b.isPropagationStopped()) b.type = o > 1 ? j : l.bindType || q, g = (n._data(i, "events") || {})[b.type] && n._data(i, "handle"), g && g.apply(i, c), g = h && i[h], g && g.apply && M(i) && (b.result = g.apply(i, c), b.result === !1 && b.preventDefault());
+				if(b.type = q, !f && !b.isDefaultPrevented() && (!l._default || l._default.apply(p.pop(), c) === !1) && M(e) && h && e[q] && !n.isWindow(e)) {
+					m = e[h], m && (e[h] = null), n.event.triggered = q;
+					try {
+						e[q]()
+					} catch(s) {}
+					n.event.triggered = void 0, m && (e[h] = m)
+				}
+				return b.result
+			}
+		},
+		dispatch: function(a) {
+			a = n.event.fix(a);
+			var b, c, d, f, g, h = [],
+				i = e.call(arguments),
+				j = (n._data(this, "events") || {})[a.type] || [],
+				k = n.event.special[a.type] || {};
+			if(i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) {
+				h = n.event.handlers.call(this, a, j), b = 0;
+				while((f = h[b++]) && !a.isPropagationStopped()) {
+					a.currentTarget = f.elem, c = 0;
+					while((g = f.handlers[c++]) && !a.isImmediatePropagationStopped()) a.rnamespace && !a.rnamespace.test(g.namespace) || (a.handleObj = g, a.data = g.data, d = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== d && (a.result = d) === !1 && (a.preventDefault(), a.stopPropagation()))
+				}
+				return k.postDispatch && k.postDispatch.call(this, a), a.result
+			}
+		},
+		handlers: function(a, b) {
+			var c, d, e, f, g = [],
+				h = b.delegateCount,
+				i = a.target;
+			if(h && i.nodeType && ("click" !== a.type || isNaN(a.button) || a.button < 1))
+				for(; i != this; i = i.parentNode || this)
+					if(1 === i.nodeType && (i.disabled !== !0 || "click" !== a.type)) {
+						for(d = [], c = 0; h > c; c++) f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? n(e, this).index(i) > -1 : n.find(e, this, null, [i]).length), d[e] && d.push(f);
+						d.length && g.push({
+							elem: i,
+							handlers: d
+						})
+					}
+			return h < b.length && g.push({
+				elem: this,
+				handlers: b.slice(h)
+			}), g
+		},
+		fix: function(a) {
+			if(a[n.expando]) return a;
+			var b, c, e, f = a.type,
+				g = a,
+				h = this.fixHooks[f];
+			h || (this.fixHooks[f] = h = ma.test(f) ? this.mouseHooks : la.test(f) ? this.keyHooks : {}), e = h.props ? this.props.concat(h.props) : this.props, a = new n.Event(g), b = e.length;
+			while(b--) c = e[b], a[c] = g[c];
+			return a.target || (a.target = g.srcElement || d), 3 === a.target.nodeType && (a.target = a.target.parentNode), a.metaKey = !!a.metaKey, h.filter ? h.filter(a, g) : a
+		},
+		props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+		fixHooks: {},
+		keyHooks: {
+			props: "char charCode key keyCode".split(" "),
+			filter: function(a, b) {
+				return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a
+			}
+		},
+		mouseHooks: {
+			props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+			filter: function(a, b) {
+				var c, e, f, g = b.button,
+					h = b.fromElement;
+				return null == a.pageX && null != b.clientX && (e = a.target.ownerDocument || d, f = e.documentElement, c = e.body, a.pageX = b.clientX + (f && f.scrollLeft || c && c.scrollLeft || 0) - (f && f.clientLeft || c && c.clientLeft || 0), a.pageY = b.clientY + (f && f.scrollTop || c && c.scrollTop || 0) - (f && f.clientTop || c && c.clientTop || 0)), !a.relatedTarget && h && (a.relatedTarget = h === a.target ? b.toElement : h), a.which || void 0 === g || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0), a
+			}
+		},
+		special: {
+			load: {
+				noBubble: !0
+			},
+			focus: {
+				trigger: function() {
+					if(this !== ra() && this.focus) try {
+						return this.focus(), !1
+					} catch(a) {}
+				},
+				delegateType: "focusin"
+			},
+			blur: {
+				trigger: function() {
+					return this === ra() && this.blur ? (this.blur(), !1) : void 0
+				},
+				delegateType: "focusout"
+			},
+			click: {
+				trigger: function() {
+					return n.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0
+				},
+				_default: function(a) {
+					return n.nodeName(a.target, "a")
+				}
+			},
+			beforeunload: {
+				postDispatch: function(a) {
+					void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result)
+				}
+			}
+		},
+		simulate: function(a, b, c) {
+			var d = n.extend(new n.Event, c, {
+				type: a,
+				isSimulated: !0
+			});
+			n.event.trigger(d, null, b), d.isDefaultPrevented() && c.preventDefault()
+		}
+	}, n.removeEvent = d.removeEventListener ? function(a, b, c) {
+		a.removeEventListener && a.removeEventListener(b, c)
+	} : function(a, b, c) {
+		var d = "on" + b;
+		a.detachEvent && ("undefined" == typeof a[d] && (a[d] = null), a.detachEvent(d, c))
+	}, n.Event = function(a, b) {
+		return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? pa : qa) : this.type = a, b && n.extend(this, b), this.timeStamp = a && a.timeStamp || n.now(), void(this[n.expando] = !0)) : new n.Event(a, b)
+	}, n.Event.prototype = {
+		constructor: n.Event,
+		isDefaultPrevented: qa,
+		isPropagationStopped: qa,
+		isImmediatePropagationStopped: qa,
+		preventDefault: function() {
+			var a = this.originalEvent;
+			this.isDefaultPrevented = pa, a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
+		},
+		stopPropagation: function() {
+			var a = this.originalEvent;
+			this.isPropagationStopped = pa, a && !this.isSimulated && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0)
+		},
+		stopImmediatePropagation: function() {
+			var a = this.originalEvent;
+			this.isImmediatePropagationStopped = pa, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation()
+		}
+	}, n.each({
+		mouseenter: "mouseover",
+		mouseleave: "mouseout",
+		pointerenter: "pointerover",
+		pointerleave: "pointerout"
+	}, function(a, b) {
+		n.event.special[a] = {
+			delegateType: b,
+			bindType: b,
+			handle: function(a) {
+				var c, d = this,
+					e = a.relatedTarget,
+					f = a.handleObj;
+				return e && (e === d || n.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c
+			}
+		}
+	}), l.submit || (n.event.special.submit = {
+		setup: function() {
+			return n.nodeName(this, "form") ? !1 : void n.event.add(this, "click._submit keypress._submit", function(a) {
+				var b = a.target,
+					c = n.nodeName(b, "input") || n.nodeName(b, "button") ? n.prop(b, "form") : void 0;
+				c && !n._data(c, "submit") && (n.event.add(c, "submit._submit", function(a) {
+					a._submitBubble = !0
+				}), n._data(c, "submit", !0))
+			})
+		},
+		postDispatch: function(a) {
+			a._submitBubble && (delete a._submitBubble, this.parentNode && !a.isTrigger && n.event.simulate("submit", this.parentNode, a))
+		},
+		teardown: function() {
+			return n.nodeName(this, "form") ? !1 : void n.event.remove(this, "._submit")
+		}
+	}), l.change || (n.event.special.change = {
+		setup: function() {
+			return ka.test(this.nodeName) ? ("checkbox" !== this.type && "radio" !== this.type || (n.event.add(this, "propertychange._change", function(a) {
+				"checked" === a.originalEvent.propertyName && (this._justChanged = !0)
+			}), n.event.add(this, "click._change", function(a) {
+				this._justChanged && !a.isTrigger && (this._justChanged = !1), n.event.simulate("change", this, a)
+			})), !1) : void n.event.add(this, "beforeactivate._change", function(a) {
+				var b = a.target;
+				ka.test(b.nodeName) && !n._data(b, "change") && (n.event.add(b, "change._change", function(a) {
+					!this.parentNode || a.isSimulated || a.isTrigger || n.event.simulate("change", this.parentNode, a)
+				}), n._data(b, "change", !0))
+			})
+		},
+		handle: function(a) {
+			var b = a.target;
+			return this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type ? a.handleObj.handler.apply(this, arguments) : void 0
+		},
+		teardown: function() {
+			return n.event.remove(this, "._change"), !ka.test(this.nodeName)
+		}
+	}), l.focusin || n.each({
+		focus: "focusin",
+		blur: "focusout"
+	}, function(a, b) {
+		var c = function(a) {
+			n.event.simulate(b, a.target, n.event.fix(a))
+		};
+		n.event.special[b] = {
+			setup: function() {
+				var d = this.ownerDocument || this,
+					e = n._data(d, b);
+				e || d.addEventListener(a, c, !0), n._data(d, b, (e || 0) + 1)
+			},
+			teardown: function() {
+				var d = this.ownerDocument || this,
+					e = n._data(d, b) - 1;
+				e ? n._data(d, b, e) : (d.removeEventListener(a, c, !0), n._removeData(d, b))
+			}
+		}
+	}), n.fn.extend({
+		on: function(a, b, c, d) {
+			return sa(this, a, b, c, d)
+		},
+		one: function(a, b, c, d) {
+			return sa(this, a, b, c, d, 1)
+		},
+		off: function(a, b, c) {
+			var d, e;
+			if(a && a.preventDefault && a.handleObj) return d = a.handleObj, n(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this;
+			if("object" == typeof a) {
+				for(e in a) this.off(e, b, a[e]);
+				return this
+			}
+			return b !== !1 && "function" != typeof b || (c = b, b = void 0), c === !1 && (c = qa), this.each(function() {
+				n.event.remove(this, a, c, b)
+			})
+		},
+		trigger: function(a, b) {
+			return this.each(function() {
+				n.event.trigger(a, b, this)
+			})
+		},
+		triggerHandler: function(a, b) {
+			var c = this[0];
+			return c ? n.event.trigger(a, b, c, !0) : void 0
+		}
+	});
+	var ta = / jQuery\d+="(?:null|\d+)"/g,
+		ua = new RegExp("<(?:" + ba + ")[\\s/>]", "i"),
+		va = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
+		wa = /<script|<style|<link/i,
+		xa = /checked\s*(?:[^=]|=\s*.checked.)/i,
+		ya = /^true\/(.*)/,
+		za = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
+		Aa = ca(d),
+		Ba = Aa.appendChild(d.createElement("div"));
+
+	function Ca(a, b) {
+		return n.nodeName(a, "table") && n.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a
+	}
+
+	function Da(a) {
+		return a.type = (null !== n.find.attr(a, "type")) + "/" + a.type, a
+	}
+
+	function Ea(a) {
+		var b = ya.exec(a.type);
+		return b ? a.type = b[1] : a.removeAttribute("type"), a
+	}
+
+	function Fa(a, b) {
+		if(1 === b.nodeType && n.hasData(a)) {
+			var c, d, e, f = n._data(a),
+				g = n._data(b, f),
+				h = f.events;
+			if(h) {
+				delete g.handle, g.events = {};
+				for(c in h)
+					for(d = 0, e = h[c].length; e > d; d++) n.event.add(b, c, h[c][d])
+			}
+			g.data && (g.data = n.extend({}, g.data))
+		}
+	}
+
+	function Ga(a, b) {
+		var c, d, e;
+		if(1 === b.nodeType) {
+			if(c = b.nodeName.toLowerCase(), !l.noCloneEvent && b[n.expando]) {
+				e = n._data(b);
+				for(d in e.events) n.removeEvent(b, d, e.handle);
+				b.removeAttribute(n.expando)
+			}
+			"script" === c && b.text !== a.text ? (Da(b).text = a.text, Ea(b)) : "object" === c ? (b.parentNode && (b.outerHTML = a.outerHTML), l.html5Clone && a.innerHTML && !n.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : "input" === c && Z.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : "option" === c ? b.defaultSelected = b.selected = a.defaultSelected : "input" !== c && "textarea" !== c || (b.defaultValue = a.defaultValue)
+		}
+	}
+
+	function Ha(a, b, c, d) {
+		b = f.apply([], b);
+		var e, g, h, i, j, k, m = 0,
+			o = a.length,
+			p = o - 1,
+			q = b[0],
+			r = n.isFunction(q);
+		if(r || o > 1 && "string" == typeof q && !l.checkClone && xa.test(q)) return a.each(function(e) {
+			var f = a.eq(e);
+			r && (b[0] = q.call(this, e, f.html())), Ha(f, b, c, d)
+		});
+		if(o && (k = ja(b, a[0].ownerDocument, !1, a, d), e = k.firstChild, 1 === k.childNodes.length && (k = e), e || d)) {
+			for(i = n.map(ea(k, "script"), Da), h = i.length; o > m; m++) g = k, m !== p && (g = n.clone(g, !0, !0), h && n.merge(i, ea(g, "script"))), c.call(a[m], g, m);
+			if(h)
+				for(j = i[i.length - 1].ownerDocument, n.map(i, Ea), m = 0; h > m; m++) g = i[m], _.test(g.type || "") && !n._data(g, "globalEval") && n.contains(j, g) && (g.src ? n._evalUrl && n._evalUrl(g.src) : n.globalEval((g.text || g.textContent || g.innerHTML || "").replace(za, "")));
+			k = e = null
+		}
+		return a
+	}
+
+	function Ia(a, b, c) {
+		for(var d, e = b ? n.filter(b, a) : a, f = 0; null != (d = e[f]); f++) c || 1 !== d.nodeType || n.cleanData(ea(d)), d.parentNode && (c && n.contains(d.ownerDocument, d) && fa(ea(d, "script")), d.parentNode.removeChild(d));
+		return a
+	}
+	n.extend({
+		htmlPrefilter: function(a) {
+			return a.replace(va, "<$1></$2>")
+		},
+		clone: function(a, b, c) {
+			var d, e, f, g, h, i = n.contains(a.ownerDocument, a);
+			if(l.html5Clone || n.isXMLDoc(a) || !ua.test("<" + a.nodeName + ">") ? f = a.cloneNode(!0) : (Ba.innerHTML = a.outerHTML, Ba.removeChild(f = Ba.firstChild)), !(l.noCloneEvent && l.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || n.isXMLDoc(a)))
+				for(d = ea(f), h = ea(a), g = 0; null != (e = h[g]); ++g) d[g] && Ga(e, d[g]);
+			if(b)
+				if(c)
+					for(h = h || ea(a), d = d || ea(f), g = 0; null != (e = h[g]); g++) Fa(e, d[g]);
+				else Fa(a, f);
+			return d = ea(f, "script"), d.length > 0 && fa(d, !i && ea(a, "script")), d = h = e = null, f
+		},
+		cleanData: function(a, b) {
+			for(var d, e, f, g, h = 0, i = n.expando, j = n.cache, k = l.attributes, m = n.event.special; null != (d = a[h]); h++)
+				if((b || M(d)) && (f = d[i], g = f && j[f])) {
+					if(g.events)
+						for(e in g.events) m[e] ? n.event.remove(d, e) : n.removeEvent(d, e, g.handle);
+					j[f] && (delete j[f], k || "undefined" == typeof d.removeAttribute ? d[i] = void 0 : d.removeAttribute(i), c.push(f))
+				}
+		}
+	}), n.fn.extend({
+		domManip: Ha,
+		detach: function(a) {
+			return Ia(this, a, !0)
+		},
+		remove: function(a) {
+			return Ia(this, a)
+		},
+		text: function(a) {
+			return Y(this, function(a) {
+				return void 0 === a ? n.text(this) : this.empty().append((this[0] && this[0].ownerDocument || d).createTextNode(a))
+			}, null, a, arguments.length)
+		},
+		append: function() {
+			return Ha(this, arguments, function(a) {
+				if(1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
+					var b = Ca(this, a);
+					b.appendChild(a)
+				}
+			})
+		},
+		prepend: function() {
+			return Ha(this, arguments, function(a) {
+				if(1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
+					var b = Ca(this, a);
+					b.insertBefore(a, b.firstChild)
+				}
+			})
+		},
+		before: function() {
+			return Ha(this, arguments, function(a) {
+				this.parentNode && this.parentNode.insertBefore(a, this)
+			})
+		},
+		after: function() {
+			return Ha(this, arguments, function(a) {
+				this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)
+			})
+		},
+		empty: function() {
+			for(var a, b = 0; null != (a = this[b]); b++) {
+				1 === a.nodeType && n.cleanData(ea(a, !1));
+				while(a.firstChild) a.removeChild(a.firstChild);
+				a.options && n.nodeName(a, "select") && (a.options.length = 0)
+			}
+			return this
+		},
+		clone: function(a, b) {
+			return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function() {
+				return n.clone(this, a, b)
+			})
+		},
+		html: function(a) {
+			return Y(this, function(a) {
+				var b = this[0] || {},
+					c = 0,
+					d = this.length;
+				if(void 0 === a) return 1 === b.nodeType ? b.innerHTML.replace(ta, "") : void 0;
+				if("string" == typeof a && !wa.test(a) && (l.htmlSerialize || !ua.test(a)) && (l.leadingWhitespace || !aa.test(a)) && !da[($.exec(a) || ["", ""])[1].toLowerCase()]) {
+					a = n.htmlPrefilter(a);
+					try {
+						for(; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (n.cleanData(ea(b, !1)), b.innerHTML = a);
+						b = 0
+					} catch(e) {}
+				}
+				b && this.empty().append(a)
+			}, null, a, arguments.length)
+		},
+		replaceWith: function() {
+			var a = [];
+			return Ha(this, arguments, function(b) {
+				var c = this.parentNode;
+				n.inArray(this, a) < 0 && (n.cleanData(ea(this)), c && c.replaceChild(b, this))
+			}, a)
+		}
+	}), n.each({
+		appendTo: "append",
+		prependTo: "prepend",
+		insertBefore: "before",
+		insertAfter: "after",
+		replaceAll: "replaceWith"
+	}, function(a, b) {
+		n.fn[a] = function(a) {
+			for(var c, d = 0, e = [], f = n(a), h = f.length - 1; h >= d; d++) c = d === h ? this : this.clone(!0), n(f[d])[b](c), g.apply(e, c.get());
+			return this.pushStack(e)
+		}
+	});
+	var Ja, Ka = {
+		HTML: "block",
+		BODY: "block"
+	};
+
+	function La(a, b) {
+		var c = n(b.createElement(a)).appendTo(b.body),
+			d = n.css(c[0], "display");
+		return c.detach(), d
+	}
+
+	function Ma(a) {
+		var b = d,
+			c = Ka[a];
+		return c || (c = La(a, b), "none" !== c && c || (Ja = (Ja || n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement), b = (Ja[0].contentWindow || Ja[0].contentDocument).document, b.write(), b.close(), c = La(a, b), Ja.detach()), Ka[a] = c), c
+	}
+	var Na = /^margin/,
+		Oa = new RegExp("^(" + T + ")(?!px)[a-z%]+$", "i"),
+		Pa = function(a, b, c, d) {
+			var e, f, g = {};
+			for(f in b) g[f] = a.style[f], a.style[f] = b[f];
+			e = c.apply(a, d || []);
+			for(f in b) a.style[f] = g[f];
+			return e
+		},
+		Qa = d.documentElement;
+	! function() {
+		var b, c, e, f, g, h, i = d.createElement("div"),
+			j = d.createElement("div");
+		if(j.style) {
+			j.style.cssText = "float:left;opacity:.5", l.opacity = "0.5" === j.style.opacity, l.cssFloat = !!j.style.cssFloat, j.style.backgroundClip = "content-box", j.cloneNode(!0).style.backgroundClip = "", l.clearCloneStyle = "content-box" === j.style.backgroundClip, i = d.createElement("div"), i.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", j.innerHTML = "", i.appendChild(j), l.boxSizing = "" === j.style.boxSizing || "" === j.style.MozBoxSizing || "" === j.style.WebkitBoxSizing, n.extend(l, {
+				reliableHiddenOffsets: function() {
+					return null == b && k(), f
+				},
+				boxSizingReliable: function() {
+					return null == b && k(), e
+				},
+				pixelMarginRight: function() {
+					return null == b && k(), c
+				},
+				pixelPosition: function() {
+					return null == b && k(), b
+				},
+				reliableMarginRight: function() {
+					return null == b && k(), g
+				},
+				reliableMarginLeft: function() {
+					return null == b && k(), h
+				}
+			});
+
+			function k() {
+				var k, l, m = d.documentElement;
+				m.appendChild(i), j.style.cssText = "-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", b = e = h = !1, c = g = !0, a.getComputedStyle && (l = a.getComputedStyle(j), b = "1%" !== (l || {}).top, h = "2px" === (l || {}).marginLeft, e = "4px" === (l || {
+					width: "4px"
+				}).width, j.style.marginRight = "50%", c = "4px" === (l || {
+					marginRight: "4px"
+				}).marginRight, k = j.appendChild(d.createElement("div")), k.style.cssText = j.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", k.style.marginRight = k.style.width = "0", j.style.width = "1px", g = !parseFloat((a.getComputedStyle(k) || {}).marginRight), j.removeChild(k)), j.style.display = "none", f = 0 === j.getClientRects().length, f && (j.style.display = "", j.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", j.childNodes[0].style.borderCollapse = "separate", k = j.getElementsByTagName("td"), k[0].style.cssText = "margin:0;border:0;padding:0;display:none", f = 0 === k[0].offsetHeight, f && (k[0].style.display = "", k[1].style.display = "none", f = 0 === k[0].offsetHeight)), m.removeChild(i)
+			}
+		}
+	}();
+	var Ra, Sa, Ta = /^(top|right|bottom|left)$/;
+	a.getComputedStyle ? (Ra = function(b) {
+		var c = b.ownerDocument.defaultView;
+		return c && c.opener || (c = a), c.getComputedStyle(b)
+	}, Sa = function(a, b, c) {
+		var d, e, f, g, h = a.style;
+		return c = c || Ra(a), g = c ? c.getPropertyValue(b) || c[b] : void 0, "" !== g && void 0 !== g || n.contains(a.ownerDocument, a) || (g = n.style(a, b)), c && !l.pixelMarginRight() && Oa.test(g) && Na.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f), void 0 === g ? g : g + ""
+	}) : Qa.currentStyle && (Ra = function(a) {
+		return a.currentStyle
+	}, Sa = function(a, b, c) {
+		var d, e, f, g, h = a.style;
+		return c = c || Ra(a), g = c ? c[b] : void 0, null == g && h && h[b] && (g = h[b]), Oa.test(g) && !Ta.test(b) && (d = h.left, e = a.runtimeStyle, f = e && e.left, f && (e.left = a.currentStyle.left), h.left = "fontSize" === b ? "1em" : g, g = h.pixelLeft + "px", h.left = d, f && (e.left = f)), void 0 === g ? g : g + "" || "auto"
+	});
+
+	function Ua(a, b) {
+		return {
+			get: function() {
+				return a() ? void delete this.get : (this.get = b).apply(this, arguments)
+			}
+		}
+	}
+	var Va = /alpha\([^)]*\)/i,
+		Wa = /opacity\s*=\s*([^)]*)/i,
+		Xa = /^(none|table(?!-c[ea]).+)/,
+		Ya = new RegExp("^(" + T + ")(.*)$", "i"),
+		Za = {
+			position: "absolute",
+			visibility: "hidden",
+			display: "block"
+		},
+		$a = {
+			letterSpacing: "0",
+			fontWeight: "400"
+		},
+		_a = ["Webkit", "O", "Moz", "ms"],
+		ab = d.createElement("div").style;
+
+	function bb(a) {
+		if(a in ab) return a;
+		var b = a.charAt(0).toUpperCase() + a.slice(1),
+			c = _a.length;
+		while(c--)
+			if(a = _a[c] + b, a in ab) return a
+	}
+
+	function cb(a, b) {
+		for(var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = n._data(d, "olddisplay"), c = d.style.display, b ? (f[g] || "none" !== c || (d.style.display = ""), "" === d.style.display && W(d) && (f[g] = n._data(d, "olddisplay", Ma(d.nodeName)))) : (e = W(d), (c && "none" !== c || !e) && n._data(d, "olddisplay", e ? c : n.css(d, "display"))));
+		for(g = 0; h > g; g++) d = a[g], d.style && (b && "none" !== d.style.display && "" !== d.style.display || (d.style.display = b ? f[g] || "" : "none"));
+		return a
+	}
+
+	function db(a, b, c) {
+		var d = Ya.exec(b);
+		return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b
+	}
+
+	function eb(a, b, c, d, e) {
+		for(var f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, g = 0; 4 > f; f += 2) "margin" === c && (g += n.css(a, c + V[f], !0, e)), d ? ("content" === c && (g -= n.css(a, "padding" + V[f], !0, e)), "margin" !== c && (g -= n.css(a, "border" + V[f] + "Width", !0, e))) : (g += n.css(a, "padding" + V[f], !0, e), "padding" !== c && (g += n.css(a, "border" + V[f] + "Width", !0, e)));
+		return g
+	}
+
+	function fb(a, b, c) {
+		var d = !0,
+			e = "width" === b ? a.offsetWidth : a.offsetHeight,
+			f = Ra(a),
+			g = l.boxSizing && "border-box" === n.css(a, "boxSizing", !1, f);
+		if(0 >= e || null == e) {
+			if(e = Sa(a, b, f), (0 > e || null == e) && (e = a.style[b]), Oa.test(e)) return e;
+			d = g && (l.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0
+		}
+		return e + eb(a, b, c || (g ? "border" : "content"), d, f) + "px"
+	}
+	n.extend({
+		cssHooks: {
+			opacity: {
+				get: function(a, b) {
+					if(b) {
+						var c = Sa(a, "opacity");
+						return "" === c ? "1" : c
+					}
+				}
+			}
+		},
+		cssNumber: {
+			animationIterationCount: !0,
+			columnCount: !0,
+			fillOpacity: !0,
+			flexGrow: !0,
+			flexShrink: !0,
+			fontWeight: !0,
+			lineHeight: !0,
+			opacity: !0,
+			order: !0,
+			orphans: !0,
+			widows: !0,
+			zIndex: !0,
+			zoom: !0
+		},
+		cssProps: {
+			"float": l.cssFloat ? "cssFloat" : "styleFloat"
+		},
+		style: function(a, b, c, d) {
+			if(a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) {
+				var e, f, g, h = n.camelCase(b),
+					i = a.style;
+				if(b = n.cssProps[h] || (n.cssProps[h] = bb(h) || h), g = n.cssHooks[b] || n.cssHooks[h], void 0 === c) return g && "get" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b];
+				if(f = typeof c, "string" === f && (e = U.exec(c)) && e[1] && (c = X(a, b, e), f = "number"), null != c && c === c && ("number" === f && (c += e && e[3] || (n.cssNumber[h] ? "" : "px")), l.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), !(g && "set" in g && void 0 === (c = g.set(a, c, d))))) try {
+					i[b] = c
+				} catch(j) {}
+			}
+		},
+		css: function(a, b, c, d) {
+			var e, f, g, h = n.camelCase(b);
+			return b = n.cssProps[h] || (n.cssProps[h] = bb(h) || h), g = n.cssHooks[b] || n.cssHooks[h], g && "get" in g && (f = g.get(a, !0, c)), void 0 === f && (f = Sa(a, b, d)), "normal" === f && b in $a && (f = $a[b]), "" === c || c ? (e = parseFloat(f), c === !0 || isFinite(e) ? e || 0 : f) : f
+		}
+	}), n.each(["height", "width"], function(a, b) {
+		n.cssHooks[b] = {
+			get: function(a, c, d) {
+				return c ? Xa.test(n.css(a, "display")) && 0 === a.offsetWidth ? Pa(a, Za, function() {
+					return fb(a, b, d)
+				}) : fb(a, b, d) : void 0
+			},
+			set: function(a, c, d) {
+				var e = d && Ra(a);
+				return db(a, c, d ? eb(a, b, d, l.boxSizing && "border-box" === n.css(a, "boxSizing", !1, e), e) : 0)
+			}
+		}
+	}), l.opacity || (n.cssHooks.opacity = {
+		get: function(a, b) {
+			return Wa.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : b ? "1" : ""
+		},
+		set: function(a, b) {
+			var c = a.style,
+				d = a.currentStyle,
+				e = n.isNumeric(b) ? "alpha(opacity=" + 100 * b + ")" : "",
+				f = d && d.filter || c.filter || "";
+			c.zoom = 1, (b >= 1 || "" === b) && "" === n.trim(f.replace(Va, "")) && c.removeAttribute && (c.removeAttribute("filter"), "" === b || d && !d.filter) || (c.filter = Va.test(f) ? f.replace(Va, e) : f + " " + e)
+		}
+	}), n.cssHooks.marginRight = Ua(l.reliableMarginRight, function(a, b) {
+		return b ? Pa(a, {
+			display: "inline-block"
+		}, Sa, [a, "marginRight"]) : void 0
+	}), n.cssHooks.marginLeft = Ua(l.reliableMarginLeft, function(a, b) {
+		return b ? (parseFloat(Sa(a, "marginLeft")) || (n.contains(a.ownerDocument, a) ? a.getBoundingClientRect().left - Pa(a, {
+			marginLeft: 0
+		}, function() {
+			return a.getBoundingClientRect().left
+		}) : 0)) + "px" : void 0
+	}), n.each({
+		margin: "",
+		padding: "",
+		border: "Width"
+	}, function(a, b) {
+		n.cssHooks[a + b] = {
+			expand: function(c) {
+				for(var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [c]; 4 > d; d++) e[a + V[d] + b] = f[d] || f[d - 2] || f[0];
+				return e
+			}
+		}, Na.test(a) || (n.cssHooks[a + b].set = db)
+	}), n.fn.extend({
+		css: function(a, b) {
+			return Y(this, function(a, b, c) {
+				var d, e, f = {},
+					g = 0;
+				if(n.isArray(b)) {
+					for(d = Ra(a), e = b.length; e > g; g++) f[b[g]] = n.css(a, b[g], !1, d);
+					return f
+				}
+				return void 0 !== c ? n.style(a, b, c) : n.css(a, b)
+			}, a, b, arguments.length > 1)
+		},
+		show: function() {
+			return cb(this, !0)
+		},
+		hide: function() {
+			return cb(this)
+		},
+		toggle: function(a) {
+			return "boolean" == typeof a ? a ? this.show() : this.hide() : this.each(function() {
+				W(this) ? n(this).show() : n(this).hide()
+			})
+		}
+	});
+
+	function gb(a, b, c, d, e) {
+		return new gb.prototype.init(a, b, c, d, e)
+	}
+	n.Tween = gb, gb.prototype = {
+		constructor: gb,
+		init: function(a, b, c, d, e, f) {
+			this.elem = a, this.prop = c, this.easing = e || n.easing._default, this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (n.cssNumber[c] ? "" : "px")
+		},
+		cur: function() {
+			var a = gb.propHooks[this.prop];
+			return a && a.get ? a.get(this) : gb.propHooks._default.get(this)
+		},
+		run: function(a) {
+			var b, c = gb.propHooks[this.prop];
+			return this.options.duration ? this.pos = b = n.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : gb.propHooks._default.set(this), this
+		}
+	}, gb.prototype.init.prototype = gb.prototype, gb.propHooks = {
+		_default: {
+			get: function(a) {
+				var b;
+				return 1 !== a.elem.nodeType || null != a.elem[a.prop] && null == a.elem.style[a.prop] ? a.elem[a.prop] : (b = n.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0)
+			},
+			set: function(a) {
+				n.fx.step[a.prop] ? n.fx.step[a.prop](a) : 1 !== a.elem.nodeType || null == a.elem.style[n.cssProps[a.prop]] && !n.cssHooks[a.prop] ? a.elem[a.prop] = a.now : n.style(a.elem, a.prop, a.now + a.unit)
+			}
+		}
+	}, gb.propHooks.scrollTop = gb.propHooks.scrollLeft = {
+		set: function(a) {
+			a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
+		}
+	}, n.easing = {
+		linear: function(a) {
+			return a
+		},
+		swing: function(a) {
+			return .5 - Math.cos(a * Math.PI) / 2
+		},
+		_default: "swing"
+	}, n.fx = gb.prototype.init, n.fx.step = {};
+	var hb, ib, jb = /^(?:toggle|show|hide)$/,
+		kb = /queueHooks$/;
+
+	function lb() {
+		return a.setTimeout(function() {
+			hb = void 0
+		}), hb = n.now()
+	}
+
+	function mb(a, b) {
+		var c, d = {
+				height: a
+			},
+			e = 0;
+		for(b = b ? 1 : 0; 4 > e; e += 2 - b) c = V[e], d["margin" + c] = d["padding" + c] = a;
+		return b && (d.opacity = d.width = a), d
+	}
+
+	function nb(a, b, c) {
+		for(var d, e = (qb.tweeners[b] || []).concat(qb.tweeners["*"]), f = 0, g = e.length; g > f; f++)
+			if(d = e[f].call(c, b, a)) return d
+	}
+
+	function ob(a, b, c) {
+		var d, e, f, g, h, i, j, k, m = this,
+			o = {},
+			p = a.style,
+			q = a.nodeType && W(a),
+			r = n._data(a, "fxshow");
+		c.queue || (h = n._queueHooks(a, "fx"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function() {
+			h.unqueued || i()
+		}), h.unqueued++, m.always(function() {
+			m.always(function() {
+				h.unqueued--, n.queue(a, "fx").length || h.empty.fire()
+			})
+		})), 1 === a.nodeType && ("height" in b || "width" in b) && (c.overflow = [p.overflow, p.overflowX, p.overflowY], j = n.css(a, "display"), k = "none" === j ? n._data(a, "olddisplay") || Ma(a.nodeName) : j, "inline" === k && "none" === n.css(a, "float") && (l.inlineBlockNeedsLayout && "inline" !== Ma(a.nodeName) ? p.zoom = 1 : p.display = "inline-block")), c.overflow && (p.overflow = "hidden", l.shrinkWrapBlocks() || m.always(function() {
+			p.overflow = c.overflow[0], p.overflowX = c.overflow[1], p.overflowY = c.overflow[2]
+		}));
+		for(d in b)
+			if(e = b[d], jb.exec(e)) {
+				if(delete b[d], f = f || "toggle" === e, e === (q ? "hide" : "show")) {
+					if("show" !== e || !r || void 0 === r[d]) continue;
+					q = !0
+				}
+				o[d] = r && r[d] || n.style(a, d)
+			} else j = void 0;
+		if(n.isEmptyObject(o)) "inline" === ("none" === j ? Ma(a.nodeName) : j) && (p.display = j);
+		else {
+			r ? "hidden" in r && (q = r.hidden) : r = n._data(a, "fxshow", {}), f && (r.hidden = !q), q ? n(a).show() : m.done(function() {
+				n(a).hide()
+			}), m.done(function() {
+				var b;
+				n._removeData(a, "fxshow");
+				for(b in o) n.style(a, b, o[b])
+			});
+			for(d in o) g = nb(q ? r[d] : 0, d, m), d in r || (r[d] = g.start, q && (g.end = g.start, g.start = "width" === d || "height" === d ? 1 : 0))
+		}
+	}
+
+	function pb(a, b) {
+		var c, d, e, f, g;
+		for(c in a)
+			if(d = n.camelCase(c), e = b[d], f = a[c], n.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = n.cssHooks[d], g && "expand" in g) {
+				f = g.expand(f), delete a[d];
+				for(c in f) c in a || (a[c] = f[c], b[c] = e)
+			} else b[d] = e
+	}
+
+	function qb(a, b, c) {
+		var d, e, f = 0,
+			g = qb.prefilters.length,
+			h = n.Deferred().always(function() {
+				delete i.elem
+			}),
+			i = function() {
+				if(e) return !1;
+				for(var b = hb || lb(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f);
+				return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1)
+			},
+			j = h.promise({
+				elem: a,
+				props: n.extend({}, b),
+				opts: n.extend(!0, {
+					specialEasing: {},
+					easing: n.easing._default
+				}, c),
+				originalProperties: b,
+				originalOptions: c,
+				startTime: hb || lb(),
+				duration: c.duration,
+				tweens: [],
+				createTween: function(b, c) {
+					var d = n.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);
+					return j.tweens.push(d), d
+				},
+				stop: function(b) {
+					var c = 0,
+						d = b ? j.tweens.length : 0;
+					if(e) return this;
+					for(e = !0; d > c; c++) j.tweens[c].run(1);
+					return b ? (h.notifyWith(a, [j, 1, 0]), h.resolveWith(a, [j, b])) : h.rejectWith(a, [j, b]), this
+				}
+			}),
+			k = j.props;
+		for(pb(k, j.opts.specialEasing); g > f; f++)
+			if(d = qb.prefilters[f].call(j, a, k, j.opts)) return n.isFunction(d.stop) && (n._queueHooks(j.elem, j.opts.queue).stop = n.proxy(d.stop, d)), d;
+		return n.map(k, nb, j), n.isFunction(j.opts.start) && j.opts.start.call(a, j), n.fx.timer(n.extend(i, {
+			elem: a,
+			anim: j,
+			queue: j.opts.queue
+		})), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)
+	}
+	n.Animation = n.extend(qb, {
+			tweeners: {
+				"*": [function(a, b) {
+					var c = this.createTween(a, b);
+					return X(c.elem, a, U.exec(b), c), c
+				}]
+			},
+			tweener: function(a, b) {
+				n.isFunction(a) ? (b = a, a = ["*"]) : a = a.match(G);
+				for(var c, d = 0, e = a.length; e > d; d++) c = a[d], qb.tweeners[c] = qb.tweeners[c] || [], qb.tweeners[c].unshift(b)
+			},
+			prefilters: [ob],
+			prefilter: function(a, b) {
+				b ? qb.prefilters.unshift(a) : qb.prefilters.push(a)
+			}
+		}), n.speed = function(a, b, c) {
+			var d = a && "object" == typeof a ? n.extend({}, a) : {
+				complete: c || !c && b || n.isFunction(a) && a,
+				duration: a,
+				easing: c && b || b && !n.isFunction(b) && b
+			};
+			return d.duration = n.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in n.fx.speeds ? n.fx.speeds[d.duration] : n.fx.speeds._default, null != d.queue && d.queue !== !0 || (d.queue = "fx"), d.old = d.complete, d.complete = function() {
+				n.isFunction(d.old) && d.old.call(this), d.queue && n.dequeue(this, d.queue)
+			}, d
+		}, n.fn.extend({
+			fadeTo: function(a, b, c, d) {
+				return this.filter(W).css("opacity", 0).show().end().animate({
+					opacity: b
+				}, a, c, d)
+			},
+			animate: function(a, b, c, d) {
+				var e = n.isEmptyObject(a),
+					f = n.speed(b, c, d),
+					g = function() {
+						var b = qb(this, n.extend({}, a), f);
+						(e || n._data(this, "finish")) && b.stop(!0)
+					};
+				return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)
+			},
+			stop: function(a, b, c) {
+				var d = function(a) {
+					var b = a.stop;
+					delete a.stop, b(c)
+				};
+				return "string" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || "fx", []), this.each(function() {
+					var b = !0,
+						e = null != a && a + "queueHooks",
+						f = n.timers,
+						g = n._data(this);
+					if(e) g[e] && g[e].stop && d(g[e]);
+					else
+						for(e in g) g[e] && g[e].stop && kb.test(e) && d(g[e]);
+					for(e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1));
+					!b && c || n.dequeue(this, a)
+				})
+			},
+			finish: function(a) {
+				return a !== !1 && (a = a || "fx"), this.each(function() {
+					var b, c = n._data(this),
+						d = c[a + "queue"],
+						e = c[a + "queueHooks"],
+						f = n.timers,
+						g = d ? d.length : 0;
+					for(c.finish = !0, n.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));
+					for(b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this);
+					delete c.finish
+				})
+			}
+		}), n.each(["toggle", "show", "hide"], function(a, b) {
+			var c = n.fn[b];
+			n.fn[b] = function(a, d, e) {
+				return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(mb(b, !0), a, d, e)
+			}
+		}), n.each({
+			slideDown: mb("show"),
+			slideUp: mb("hide"),
+			slideToggle: mb("toggle"),
+			fadeIn: {
+				opacity: "show"
+			},
+			fadeOut: {
+				opacity: "hide"
+			},
+			fadeToggle: {
+				opacity: "toggle"
+			}
+		}, function(a, b) {
+			n.fn[a] = function(a, c, d) {
+				return this.animate(b, a, c, d)
+			}
+		}), n.timers = [], n.fx.tick = function() {
+			var a, b = n.timers,
+				c = 0;
+			for(hb = n.now(); c < b.length; c++) a = b[c], a() || b[c] !== a || b.splice(c--, 1);
+			b.length || n.fx.stop(), hb = void 0
+		}, n.fx.timer = function(a) {
+			n.timers.push(a), a() ? n.fx.start() : n.timers.pop()
+		}, n.fx.interval = 13, n.fx.start = function() {
+			ib || (ib = a.setInterval(n.fx.tick, n.fx.interval))
+		}, n.fx.stop = function() {
+			a.clearInterval(ib), ib = null
+		}, n.fx.speeds = {
+			slow: 600,
+			fast: 200,
+			_default: 400
+		}, n.fn.delay = function(b, c) {
+			return b = n.fx ? n.fx.speeds[b] || b : b, c = c || "fx", this.queue(c, function(c, d) {
+				var e = a.setTimeout(c, b);
+				d.stop = function() {
+					a.clearTimeout(e)
+				}
+			})
+		},
+		function() {
+			var a, b = d.createElement("input"),
+				c = d.createElement("div"),
+				e = d.createElement("select"),
+				f = e.appendChild(d.createElement("option"));
+			c = d.createElement("div"), c.setAttribute("className", "t"), c.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", a = c.getElementsByTagName("a")[0], b.setAttribute("type", "checkbox"), c.appendChild(b), a = c.getElementsByTagName("a")[0], a.style.cssText = "top:1px", l.getSetAttribute = "t" !== c.className, l.style = /top/.test(a.getAttribute("style")), l.hrefNormalized = "/a" === a.getAttribute("href"), l.checkOn = !!b.value, l.optSelected = f.selected, l.enctype = !!d.createElement("form").enctype, e.disabled = !0, l.optDisabled = !f.disabled, b = d.createElement("input"), b.setAttribute("value", ""), l.input = "" === b.getAttribute("value"), b.value = "t", b.setAttribute("type", "radio"), l.radioValue = "t" === b.value
+		}();
+	var rb = /\r/g,
+		sb = /[\x20\t\r\n\f]+/g;
+	n.fn.extend({
+		val: function(a) {
+			var b, c, d, e = this[0]; {
+				if(arguments.length) return d = n.isFunction(a), this.each(function(c) {
+					var e;
+					1 === this.nodeType && (e = d ? a.call(this, c, n(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : n.isArray(e) && (e = n.map(e, function(a) {
+						return null == a ? "" : a + ""
+					})), b = n.valHooks[this.type] || n.valHooks[this.nodeName.toLowerCase()], b && "set" in b && void 0 !== b.set(this, e, "value") || (this.value = e))
+				});
+				if(e) return b = n.valHooks[e.type] || n.valHooks[e.nodeName.toLowerCase()], b && "get" in b && void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(rb, "") : null == c ? "" : c)
+			}
+		}
+	}), n.extend({
+		valHooks: {
+			option: {
+				get: function(a) {
+					var b = n.find.attr(a, "value");
+					return null != b ? b : n.trim(n.text(a)).replace(sb, " ")
+				}
+			},
+			select: {
+				get: function(a) {
+					for(var b, c, d = a.options, e = a.selectedIndex, f = "select-one" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++)
+						if(c = d[i], (c.selected || i === e) && (l.optDisabled ? !c.disabled : null === c.getAttribute("disabled")) && (!c.parentNode.disabled || !n.nodeName(c.parentNode, "optgroup"))) {
+							if(b = n(c).val(), f) return b;
+							g.push(b)
+						}
+					return g
+				},
+				set: function(a, b) {
+					var c, d, e = a.options,
+						f = n.makeArray(b),
+						g = e.length;
+					while(g--)
+						if(d = e[g], n.inArray(n.valHooks.option.get(d), f) > -1) try {
+							d.selected = c = !0
+						} catch(h) {
+							d.scrollHeight
+						} else d.selected = !1;
+					return c || (a.selectedIndex = -1), e
+				}
+			}
+		}
+	}), n.each(["radio", "checkbox"], function() {
+		n.valHooks[this] = {
+			set: function(a, b) {
+				return n.isArray(b) ? a.checked = n.inArray(n(a).val(), b) > -1 : void 0
+			}
+		}, l.checkOn || (n.valHooks[this].get = function(a) {
+			return null === a.getAttribute("value") ? "on" : a.value
+		})
+	});
+	var tb, ub, vb = n.expr.attrHandle,
+		wb = /^(?:checked|selected)$/i,
+		xb = l.getSetAttribute,
+		yb = l.input;
+	n.fn.extend({
+		attr: function(a, b) {
+			return Y(this, n.attr, a, b, arguments.length > 1)
+		},
+		removeAttr: function(a) {
+			return this.each(function() {
+				n.removeAttr(this, a)
+			})
+		}
+	}), n.extend({
+		attr: function(a, b, c) {
+			var d, e, f = a.nodeType;
+			if(3 !== f && 8 !== f && 2 !== f) return "undefined" == typeof a.getAttribute ? n.prop(a, b, c) : (1 === f && n.isXMLDoc(a) || (b = b.toLowerCase(), e = n.attrHooks[b] || (n.expr.match.bool.test(b) ? ub : tb)), void 0 !== c ? null === c ? void n.removeAttr(a, b) : e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : (a.setAttribute(b, c + ""), c) : e && "get" in e && null !== (d = e.get(a, b)) ? d : (d = n.find.attr(a, b), null == d ? void 0 : d))
+		},
+		attrHooks: {
+			type: {
+				set: function(a, b) {
+					if(!l.radioValue && "radio" === b && n.nodeName(a, "input")) {
+						var c = a.value;
+						return a.setAttribute("type", b), c && (a.value = c), b
+					}
+				}
+			}
+		},
+		removeAttr: function(a, b) {
+			var c, d, e = 0,
+				f = b && b.match(G);
+			if(f && 1 === a.nodeType)
+				while(c = f[e++]) d = n.propFix[c] || c, n.expr.match.bool.test(c) ? yb && xb || !wb.test(c) ? a[d] = !1 : a[n.camelCase("default-" + c)] = a[d] = !1 : n.attr(a, c, ""), a.removeAttribute(xb ? c : d)
+		}
+	}), ub = {
+		set: function(a, b, c) {
+			return b === !1 ? n.removeAttr(a, c) : yb && xb || !wb.test(c) ? a.setAttribute(!xb && n.propFix[c] || c, c) : a[n.camelCase("default-" + c)] = a[c] = !0, c
+		}
+	}, n.each(n.expr.match.bool.source.match(/\w+/g), function(a, b) {
+		var c = vb[b] || n.find.attr;
+		yb && xb || !wb.test(b) ? vb[b] = function(a, b, d) {
+			var e, f;
+			return d || (f = vb[b], vb[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, vb[b] = f), e
+		} : vb[b] = function(a, b, c) {
+			return c ? void 0 : a[n.camelCase("default-" + b)] ? b.toLowerCase() : null
+		}
+	}), yb && xb || (n.attrHooks.value = {
+		set: function(a, b, c) {
+			return n.nodeName(a, "input") ? void(a.defaultValue = b) : tb && tb.set(a, b, c)
+		}
+	}), xb || (tb = {
+		set: function(a, b, c) {
+			var d = a.getAttributeNode(c);
+			return d || a.setAttributeNode(d = a.ownerDocument.createAttribute(c)), d.value = b += "", "value" === c || b === a.getAttribute(c) ? b : void 0
+		}
+	}, vb.id = vb.name = vb.coords = function(a, b, c) {
+		var d;
+		return c ? void 0 : (d = a.getAttributeNode(b)) && "" !== d.value ? d.value : null
+	}, n.valHooks.button = {
+		get: function(a, b) {
+			var c = a.getAttributeNode(b);
+			return c && c.specified ? c.value : void 0
+		},
+		set: tb.set
+	}, n.attrHooks.contenteditable = {
+		set: function(a, b, c) {
+			tb.set(a, "" === b ? !1 : b, c)
+		}
+	}, n.each(["width", "height"], function(a, b) {
+		n.attrHooks[b] = {
+			set: function(a, c) {
+				return "" === c ? (a.setAttribute(b, "auto"), c) : void 0
+			}
+		}
+	})), l.style || (n.attrHooks.style = {
+		get: function(a) {
+			return a.style.cssText || void 0
+		},
+		set: function(a, b) {
+			return a.style.cssText = b + ""
+		}
+	});
+	var zb = /^(?:input|select|textarea|button|object)$/i,
+		Ab = /^(?:a|area)$/i;
+	n.fn.extend({
+		prop: function(a, b) {
+			return Y(this, n.prop, a, b, arguments.length > 1)
+		},
+		removeProp: function(a) {
+			return a = n.propFix[a] || a, this.each(function() {
+				try {
+					this[a] = void 0, delete this[a]
+				} catch(b) {}
+			})
+		}
+	}), n.extend({
+		prop: function(a, b, c) {
+			var d, e, f = a.nodeType;
+			if(3 !== f && 8 !== f && 2 !== f) return 1 === f && n.isXMLDoc(a) || (b = n.propFix[b] || b, e = n.propHooks[b]), void 0 !== c ? e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && "get" in e && null !== (d = e.get(a, b)) ? d : a[b]
+		},
+		propHooks: {
+			tabIndex: {
+				get: function(a) {
+					var b = n.find.attr(a, "tabindex");
+					return b ? parseInt(b, 10) : zb.test(a.nodeName) || Ab.test(a.nodeName) && a.href ? 0 : -1
+				}
+			}
+		},
+		propFix: {
+			"for": "htmlFor",
+			"class": "className"
+		}
+	}), l.hrefNormalized || n.each(["href", "src"], function(a, b) {
+		n.propHooks[b] = {
+			get: function(a) {
+				return a.getAttribute(b, 4)
+			}
+		}
+	}), l.optSelected || (n.propHooks.selected = {
+		get: function(a) {
+			var b = a.parentNode;
+			return b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex), null
+		},
+		set: function(a) {
+			var b = a.parentNode;
+			b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex)
+		}
+	}), n.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
+		n.propFix[this.toLowerCase()] = this
+	}), l.enctype || (n.propFix.enctype = "encoding");
+	var Bb = /[\t\r\n\f]/g;
+
+	function Cb(a) {
+		return n.attr(a, "class") || ""
+	}
+	n.fn.extend({
+		addClass: function(a) {
+			var b, c, d, e, f, g, h, i = 0;
+			if(n.isFunction(a)) return this.each(function(b) {
+				n(this).addClass(a.call(this, b, Cb(this)))
+			});
+			if("string" == typeof a && a) {
+				b = a.match(G) || [];
+				while(c = this[i++])
+					if(e = Cb(c), d = 1 === c.nodeType && (" " + e + " ").replace(Bb, " ")) {
+						g = 0;
+						while(f = b[g++]) d.indexOf(" " + f + " ") < 0 && (d += f + " ");
+						h = n.trim(d), e !== h && n.attr(c, "class", h)
+					}
+			}
+			return this
+		},
+		removeClass: function(a) {
+			var b, c, d, e, f, g, h, i = 0;
+			if(n.isFunction(a)) return this.each(function(b) {
+				n(this).removeClass(a.call(this, b, Cb(this)))
+			});
+			if(!arguments.length) return this.attr("class", "");
+			if("string" == typeof a && a) {
+				b = a.match(G) || [];
+				while(c = this[i++])
+					if(e = Cb(c), d = 1 === c.nodeType && (" " + e + " ").replace(Bb, " ")) {
+						g = 0;
+						while(f = b[g++])
+							while(d.indexOf(" " + f + " ") > -1) d = d.replace(" " + f + " ", " ");
+						h = n.trim(d), e !== h && n.attr(c, "class", h)
+					}
+			}
+			return this
+		},
+		toggleClass: function(a, b) {
+			var c = typeof a;
+			return "boolean" == typeof b && "string" === c ? b ? this.addClass(a) : this.removeClass(a) : n.isFunction(a) ? this.each(function(c) {
+				n(this).toggleClass(a.call(this, c, Cb(this), b), b)
+			}) : this.each(function() {
+				var b, d, e, f;
+				if("string" === c) {
+					d = 0, e = n(this), f = a.match(G) || [];
+					while(b = f[d++]) e.hasClass(b) ? e.removeClass(b) : e.addClass(b)
+				} else void 0 !== a && "boolean" !== c || (b = Cb(this), b && n._data(this, "__className__", b), n.attr(this, "class", b || a === !1 ? "" : n._data(this, "__className__") || ""))
+			})
+		},
+		hasClass: function(a) {
+			var b, c, d = 0;
+			b = " " + a + " ";
+			while(c = this[d++])
+				if(1 === c.nodeType && (" " + Cb(c) + " ").replace(Bb, " ").indexOf(b) > -1) return !0;
+			return !1
+		}
+	}), n.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(a, b) {
+		n.fn[b] = function(a, c) {
+			return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)
+		}
+	}), n.fn.extend({
+		hover: function(a, b) {
+			return this.mouseenter(a).mouseleave(b || a)
+		}
+	});
+	var Db = a.location,
+		Eb = n.now(),
+		Fb = /\?/,
+		Gb = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;
+	n.parseJSON = function(b) {
+		if(a.JSON && a.JSON.parse) return a.JSON.parse(b + "");
+		var c, d = null,
+			e = n.trim(b + "");
+		return e && !n.trim(e.replace(Gb, function(a, b, e, f) {
+			return c && b && (d = 0), 0 === d ? a : (c = e || b, d += !f - !e, "")
+		})) ? Function("return " + e)() : n.error("Invalid JSON: " + b)
+	}, n.parseXML = function(b) {
+		var c, d;
+		if(!b || "string" != typeof b) return null;
+		try {
+			a.DOMParser ? (d = new a.DOMParser, c = d.parseFromString(b, "text/xml")) : (c = new a.ActiveXObject("Microsoft.XMLDOM"), c.async = "false", c.loadXML(b))
+		} catch(e) {
+			c = void 0
+		}
+		return c && c.documentElement && !c.getElementsByTagName("parsererror").length || n.error("Invalid XML: " + b), c
+	};
+	var Hb = /#.*$/,
+		Ib = /([?&])_=[^&]*/,
+		Jb = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
+		Kb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+		Lb = /^(?:GET|HEAD)$/,
+		Mb = /^\/\//,
+		Nb = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
+		Ob = {},
+		Pb = {},
+		Qb = "*/".concat("*"),
+		Rb = Db.href,
+		Sb = Nb.exec(Rb.toLowerCase()) || [];
+
+	function Tb(a) {
+		return function(b, c) {
+			"string" != typeof b && (c = b, b = "*");
+			var d, e = 0,
+				f = b.toLowerCase().match(G) || [];
+			if(n.isFunction(c))
+				while(d = f[e++]) "+" === d.charAt(0) ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c)
+		}
+	}
+
+	function Ub(a, b, c, d) {
+		var e = {},
+			f = a === Pb;
+
+		function g(h) {
+			var i;
+			return e[h] = !0, n.each(a[h] || [], function(a, h) {
+				var j = h(b, c, d);
+				return "string" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1)
+			}), i
+		}
+		return g(b.dataTypes[0]) || !e["*"] && g("*")
+	}
+
+	function Vb(a, b) {
+		var c, d, e = n.ajaxSettings.flatOptions || {};
+		for(d in b) void 0 !== b[d] && ((e[d] ? a : c || (c = {}))[d] = b[d]);
+		return c && n.extend(!0, a, c), a
+	}
+
+	function Wb(a, b, c) {
+		var d, e, f, g, h = a.contents,
+			i = a.dataTypes;
+		while("*" === i[0]) i.shift(), void 0 === e && (e = a.mimeType || b.getResponseHeader("Content-Type"));
+		if(e)
+			for(g in h)
+				if(h[g] && h[g].test(e)) {
+					i.unshift(g);
+					break
+				}
+		if(i[0] in c) f = i[0];
+		else {
+			for(g in c) {
+				if(!i[0] || a.converters[g + " " + i[0]]) {
+					f = g;
+					break
+				}
+				d || (d = g)
+			}
+			f = f || d
+		}
+		return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0
+	}
+
+	function Xb(a, b, c, d) {
+		var e, f, g, h, i, j = {},
+			k = a.dataTypes.slice();
+		if(k[1])
+			for(g in a.converters) j[g.toLowerCase()] = a.converters[g];
+		f = k.shift();
+		while(f)
+			if(a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift())
+				if("*" === f) f = i;
+				else if("*" !== i && i !== f) {
+			if(g = j[i + " " + f] || j["* " + f], !g)
+				for(e in j)
+					if(h = e.split(" "), h[1] === f && (g = j[i + " " + h[0]] || j["* " + h[0]])) {
+						g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1]));
+						break
+					}
+			if(g !== !0)
+				if(g && a["throws"]) b = g(b);
+				else try {
+					b = g(b)
+				} catch(l) {
+					return {
+						state: "parsererror",
+						error: g ? l : "No conversion from " + i + " to " + f
+					}
+				}
+		}
+		return {
+			state: "success",
+			data: b
+		}
+	}
+	n.extend({
+		active: 0,
+		lastModified: {},
+		etag: {},
+		ajaxSettings: {
+			url: Rb,
+			type: "GET",
+			isLocal: Kb.test(Sb[1]),
+			global: !0,
+			processData: !0,
+			async: !0,
+			contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+			accepts: {
+				"*": Qb,
+				text: "text/plain",
+				html: "text/html",
+				xml: "application/xml, text/xml",
+				json: "application/json, text/javascript"
+			},
+			contents: {
+				xml: /\bxml\b/,
+				html: /\bhtml/,
+				json: /\bjson\b/
+			},
+			responseFields: {
+				xml: "responseXML",
+				text: "responseText",
+				json: "responseJSON"
+			},
+			converters: {
+				"* text": String,
+				"text html": !0,
+				"text json": n.parseJSON,
+				"text xml": n.parseXML
+			},
+			flatOptions: {
+				url: !0,
+				context: !0
+			}
+		},
+		ajaxSetup: function(a, b) {
+			return b ? Vb(Vb(a, n.ajaxSettings), b) : Vb(n.ajaxSettings, a)
+		},
+		ajaxPrefilter: Tb(Ob),
+		ajaxTransport: Tb(Pb),
+		ajax: function(b, c) {
+			"object" == typeof b && (c = b, b = void 0), c = c || {};
+			var d, e, f, g, h, i, j, k, l = n.ajaxSetup({}, c),
+				m = l.context || l,
+				o = l.context && (m.nodeType || m.jquery) ? n(m) : n.event,
+				p = n.Deferred(),
+				q = n.Callbacks("once memory"),
+				r = l.statusCode || {},
+				s = {},
+				t = {},
+				u = 0,
+				v = "canceled",
+				w = {
+					readyState: 0,
+					getResponseHeader: function(a) {
+						var b;
+						if(2 === u) {
+							if(!k) {
+								k = {};
+								while(b = Jb.exec(g)) k[b[1].toLowerCase()] = b[2]
+							}
+							b = k[a.toLowerCase()]
+						}
+						return null == b ? null : b
+					},
+					getAllResponseHeaders: function() {
+						return 2 === u ? g : null
+					},
+					setRequestHeader: function(a, b) {
+						var c = a.toLowerCase();
+						return u || (a = t[c] = t[c] || a, s[a] = b), this
+					},
+					overrideMimeType: function(a) {
+						return u || (l.mimeType = a), this
+					},
+					statusCode: function(a) {
+						var b;
+						if(a)
+							if(2 > u)
+								for(b in a) r[b] = [r[b], a[b]];
+							else w.always(a[w.status]);
+						return this
+					},
+					abort: function(a) {
+						var b = a || v;
+						return j && j.abort(b), y(0, b), this
+					}
+				};
+			if(p.promise(w).complete = q.add, w.success = w.done, w.error = w.fail, l.url = ((b || l.url || Rb) + "").replace(Hb, "").replace(Mb, Sb[1] + "//"), l.type = c.method || c.type || l.method || l.type, l.dataTypes = n.trim(l.dataType || "*").toLowerCase().match(G) || [""], null == l.crossDomain && (d = Nb.exec(l.url.toLowerCase()), l.crossDomain = !(!d || d[1] === Sb[1] && d[2] === Sb[2] && (d[3] || ("http:" === d[1] ? "80" : "443")) === (Sb[3] || ("http:" === Sb[1] ? "80" : "443")))), l.data && l.processData && "string" != typeof l.data && (l.data = n.param(l.data, l.traditional)), Ub(Ob, l, c, w), 2 === u) return w;
+			i = n.event && l.global, i && 0 === n.active++ && n.event.trigger("ajaxStart"), l.type = l.type.toUpperCase(), l.hasContent = !Lb.test(l.type), f = l.url, l.hasContent || (l.data && (f = l.url += (Fb.test(f) ? "&" : "?") + l.data, delete l.data), l.cache === !1 && (l.url = Ib.test(f) ? f.replace(Ib, "$1_=" + Eb++) : f + (Fb.test(f) ? "&" : "?") + "_=" + Eb++)), l.ifModified && (n.lastModified[f] && w.setRequestHeader("If-Modified-Since", n.lastModified[f]), n.etag[f] && w.setRequestHeader("If-None-Match", n.etag[f])), (l.data && l.hasContent && l.contentType !== !1 || c.contentType) && w.setRequestHeader("Content-Type", l.contentType), w.setRequestHeader("Accept", l.dataTypes[0] && l.accepts[l.dataTypes[0]] ? l.accepts[l.dataTypes[0]] + ("*" !== l.dataTypes[0] ? ", " + Qb + "; q=0.01" : "") : l.accepts["*"]);
+			for(e in l.headers) w.setRequestHeader(e, l.headers[e]);
+			if(l.beforeSend && (l.beforeSend.call(m, w, l) === !1 || 2 === u)) return w.abort();
+			v = "abort";
+			for(e in {
+					success: 1,
+					error: 1,
+					complete: 1
+				}) w[e](l[e]);
+			if(j = Ub(Pb, l, c, w)) {
+				if(w.readyState = 1, i && o.trigger("ajaxSend", [w, l]), 2 === u) return w;
+				l.async && l.timeout > 0 && (h = a.setTimeout(function() {
+					w.abort("timeout")
+				}, l.timeout));
+				try {
+					u = 1, j.send(s, y)
+				} catch(x) {
+					if(!(2 > u)) throw x;
+					y(-1, x)
+				}
+			} else y(-1, "No Transport");
+
+			function y(b, c, d, e) {
+				var k, s, t, v, x, y = c;
+				2 !== u && (u = 2, h && a.clearTimeout(h), j = void 0, g = e || "", w.readyState = b > 0 ? 4 : 0, k = b >= 200 && 300 > b || 304 === b, d && (v = Wb(l, w, d)), v = Xb(l, v, w, k), k ? (l.ifModified && (x = w.getResponseHeader("Last-Modified"), x && (n.lastModified[f] = x), x = w.getResponseHeader("etag"), x && (n.etag[f] = x)), 204 === b || "HEAD" === l.type ? y = "nocontent" : 304 === b ? y = "notmodified" : (y = v.state, s = v.data, t = v.error, k = !t)) : (t = y, !b && y || (y = "error", 0 > b && (b = 0))), w.status = b, w.statusText = (c || y) + "", k ? p.resolveWith(m, [s, y, w]) : p.rejectWith(m, [w, y, t]), w.statusCode(r), r = void 0, i && o.trigger(k ? "ajaxSuccess" : "ajaxError", [w, l, k ? s : t]), q.fireWith(m, [w, y]), i && (o.trigger("ajaxComplete", [w, l]), --n.active || n.event.trigger("ajaxStop")))
+			}
+			return w
+		},
+		getJSON: function(a, b, c) {
+			return n.get(a, b, c, "json")
+		},
+		getScript: function(a, b) {
+			return n.get(a, void 0, b, "script")
+		}
+	}), n.each(["get", "post"], function(a, b) {
+		n[b] = function(a, c, d, e) {
+			return n.isFunction(c) && (e = e || d, d = c, c = void 0), n.ajax(n.extend({
+				url: a,
+				type: b,
+				dataType: e,
+				data: c,
+				success: d
+			}, n.isPlainObject(a) && a))
+		}
+	}), n._evalUrl = function(a) {
+		return n.ajax({
+			url: a,
+			type: "GET",
+			dataType: "script",
+			cache: !0,
+			async: !1,
+			global: !1,
+			"throws": !0
+		})
+	}, n.fn.extend({
+		wrapAll: function(a) {
+			if(n.isFunction(a)) return this.each(function(b) {
+				n(this).wrapAll(a.call(this, b))
+			});
+			if(this[0]) {
+				var b = n(a, this[0].ownerDocument).eq(0).clone(!0);
+				this[0].parentNode && b.insertBefore(this[0]), b.map(function() {
+					var a = this;
+					while(a.firstChild && 1 === a.firstChild.nodeType) a = a.firstChild;
+					return a
+				}).append(this)
+			}
+			return this
+		},
+		wrapInner: function(a) {
+			return n.isFunction(a) ? this.each(function(b) {
+				n(this).wrapInner(a.call(this, b))
+			}) : this.each(function() {
+				var b = n(this),
+					c = b.contents();
+				c.length ? c.wrapAll(a) : b.append(a)
+			})
+		},
+		wrap: function(a) {
+			var b = n.isFunction(a);
+			return this.each(function(c) {
+				n(this).wrapAll(b ? a.call(this, c) : a)
+			})
+		},
+		unwrap: function() {
+			return this.parent().each(function() {
+				n.nodeName(this, "body") || n(this).replaceWith(this.childNodes)
+			}).end()
+		}
+	});
+
+	function Yb(a) {
+		return a.style && a.style.display || n.css(a, "display")
+	}
+
+	function Zb(a) {
+		if(!n.contains(a.ownerDocument || d, a)) return !0;
+		while(a && 1 === a.nodeType) {
+			if("none" === Yb(a) || "hidden" === a.type) return !0;
+			a = a.parentNode
+		}
+		return !1
+	}
+	n.expr.filters.hidden = function(a) {
+		return l.reliableHiddenOffsets() ? a.offsetWidth <= 0 && a.offsetHeight <= 0 && !a.getClientRects().length : Zb(a)
+	}, n.expr.filters.visible = function(a) {
+		return !n.expr.filters.hidden(a)
+	};
+	var $b = /%20/g,
+		_b = /\[\]$/,
+		ac = /\r?\n/g,
+		bc = /^(?:submit|button|image|reset|file)$/i,
+		cc = /^(?:input|select|textarea|keygen)/i;
+
+	function dc(a, b, c, d) {
+		var e;
+		if(n.isArray(b)) n.each(b, function(b, e) {
+			c || _b.test(a) ? d(a, e) : dc(a + "[" + ("object" == typeof e && null != e ? b : "") + "]", e, c, d)
+		});
+		else if(c || "object" !== n.type(b)) d(a, b);
+		else
+			for(e in b) dc(a + "[" + e + "]", b[e], c, d)
+	}
+	n.param = function(a, b) {
+		var c, d = [],
+			e = function(a, b) {
+				b = n.isFunction(b) ? b() : null == b ? "" : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
+			};
+		if(void 0 === b && (b = n.ajaxSettings && n.ajaxSettings.traditional), n.isArray(a) || a.jquery && !n.isPlainObject(a)) n.each(a, function() {
+			e(this.name, this.value)
+		});
+		else
+			for(c in a) dc(c, a[c], b, e);
+		return d.join("&").replace($b, "+")
+	}, n.fn.extend({
+		serialize: function() {
+			return n.param(this.serializeArray())
+		},
+		serializeArray: function() {
+			return this.map(function() {
+				var a = n.prop(this, "elements");
+				return a ? n.makeArray(a) : this
+			}).filter(function() {
+				var a = this.type;
+				return this.name && !n(this).is(":disabled") && cc.test(this.nodeName) && !bc.test(a) && (this.checked || !Z.test(a))
+			}).map(function(a, b) {
+				var c = n(this).val();
+				return null == c ? null : n.isArray(c) ? n.map(c, function(a) {
+					return {
+						name: b.name,
+						value: a.replace(ac, "\r\n")
+					}
+				}) : {
+					name: b.name,
+					value: c.replace(ac, "\r\n")
+				}
+			}).get()
+		}
+	}), n.ajaxSettings.xhr = void 0 !== a.ActiveXObject ? function() {
+		return this.isLocal ? ic() : d.documentMode > 8 ? hc() : /^(get|post|head|put|delete|options)$/i.test(this.type) && hc() || ic()
+	} : hc;
+	var ec = 0,
+		fc = {},
+		gc = n.ajaxSettings.xhr();
+	a.attachEvent && a.attachEvent("onunload", function() {
+		for(var a in fc) fc[a](void 0, !0)
+	}), l.cors = !!gc && "withCredentials" in gc, gc = l.ajax = !!gc, gc && n.ajaxTransport(function(b) {
+		if(!b.crossDomain || l.cors) {
+			var c;
+			return {
+				send: function(d, e) {
+					var f, g = b.xhr(),
+						h = ++ec;
+					if(g.open(b.type, b.url, b.async, b.username, b.password), b.xhrFields)
+						for(f in b.xhrFields) g[f] = b.xhrFields[f];
+					b.mimeType && g.overrideMimeType && g.overrideMimeType(b.mimeType), b.crossDomain || d["X-Requested-With"] || (d["X-Requested-With"] = "XMLHttpRequest");
+					for(f in d) void 0 !== d[f] && g.setRequestHeader(f, d[f] + "");
+					g.send(b.hasContent && b.data || null), c = function(a, d) {
+						var f, i, j;
+						if(c && (d || 4 === g.readyState))
+							if(delete fc[h], c = void 0, g.onreadystatechange = n.noop, d) 4 !== g.readyState && g.abort();
+							else {
+								j = {}, f = g.status, "string" == typeof g.responseText && (j.text = g.responseText);
+								try {
+									i = g.statusText
+								} catch(k) {
+									i = ""
+								}
+								f || !b.isLocal || b.crossDomain ? 1223 === f && (f = 204) : f = j.text ? 200 : 404
+							}
+						j && e(f, i, j, g.getAllResponseHeaders())
+					}, b.async ? 4 === g.readyState ? a.setTimeout(c) : g.onreadystatechange = fc[h] = c : c()
+				},
+				abort: function() {
+					c && c(void 0, !0)
+				}
+			}
+		}
+	});
+
+	function hc() {
+		try {
+			return new a.XMLHttpRequest
+		} catch(b) {}
+	}
+
+	function ic() {
+		try {
+			return new a.ActiveXObject("Microsoft.XMLHTTP")
+		} catch(b) {}
+	}
+	n.ajaxSetup({
+		accepts: {
+			script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
+		},
+		contents: {
+			script: /\b(?:java|ecma)script\b/
+		},
+		converters: {
+			"text script": function(a) {
+				return n.globalEval(a), a
+			}
+		}
+	}), n.ajaxPrefilter("script", function(a) {
+		void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1)
+	}), n.ajaxTransport("script", function(a) {
+		if(a.crossDomain) {
+			var b, c = d.head || n("head")[0] || d.documentElement;
+			return {
+				send: function(e, f) {
+					b = d.createElement("script"), b.async = !0, a.scriptCharset && (b.charset = a.scriptCharset), b.src = a.url, b.onload = b.onreadystatechange = function(a, c) {
+						(c || !b.readyState || /loaded|complete/.test(b.readyState)) && (b.onload = b.onreadystatechange = null, b.parentNode && b.parentNode.removeChild(b), b = null, c || f(200, "success"))
+					}, c.insertBefore(b, c.firstChild)
+				},
+				abort: function() {
+					b && b.onload(void 0, !0)
+				}
+			}
+		}
+	});
+	var jc = [],
+		kc = /(=)\?(?=&|$)|\?\?/;
+	n.ajaxSetup({
+		jsonp: "callback",
+		jsonpCallback: function() {
+			var a = jc.pop() || n.expando + "_" + Eb++;
+			return this[a] = !0, a
+		}
+	}), n.ajaxPrefilter("json jsonp", function(b, c, d) {
+		var e, f, g, h = b.jsonp !== !1 && (kc.test(b.url) ? "url" : "string" == typeof b.data && 0 === (b.contentType || "").indexOf("application/x-www-form-urlencoded") && kc.test(b.data) && "data");
+		return h || "jsonp" === b.dataTypes[0] ? (e = b.jsonpCallback = n.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(kc, "$1" + e) : b.jsonp !== !1 && (b.url += (Fb.test(b.url) ? "&" : "?") + b.jsonp + "=" + e), b.converters["script json"] = function() {
+			return g || n.error(e + " was not called"), g[0]
+		}, b.dataTypes[0] = "json", f = a[e], a[e] = function() {
+			g = arguments
+		}, d.always(function() {
+			void 0 === f ? n(a).removeProp(e) : a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, jc.push(e)), g && n.isFunction(f) && f(g[0]), g = f = void 0
+		}), "script") : void 0
+	}), n.parseHTML = function(a, b, c) {
+		if(!a || "string" != typeof a) return null;
+		"boolean" == typeof b && (c = b, b = !1), b = b || d;
+		var e = x.exec(a),
+			f = !c && [];
+		return e ? [b.createElement(e[1])] : (e = ja([a], b, f), f && f.length && n(f).remove(), n.merge([], e.childNodes))
+	};
+	var lc = n.fn.load;
+	n.fn.load = function(a, b, c) {
+		if("string" != typeof a && lc) return lc.apply(this, arguments);
+		var d, e, f, g = this,
+			h = a.indexOf(" ");
+		return h > -1 && (d = n.trim(a.slice(h, a.length)), a = a.slice(0, h)), n.isFunction(b) ? (c = b, b = void 0) : b && "object" == typeof b && (e = "POST"), g.length > 0 && n.ajax({
+			url: a,
+			type: e || "GET",
+			dataType: "html",
+			data: b
+		}).done(function(a) {
+			f = arguments, g.html(d ? n("<div>").append(n.parseHTML(a)).find(d) : a)
+		}).always(c && function(a, b) {
+			g.each(function() {
+				c.apply(this, f || [a.responseText, b, a])
+			})
+		}), this
+	}, n.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(a, b) {
+		n.fn[b] = function(a) {
+			return this.on(b, a)
+		}
+	}), n.expr.filters.animated = function(a) {
+		return n.grep(n.timers, function(b) {
+			return a === b.elem
+		}).length
+	};
+
+	function mc(a) {
+		return n.isWindow(a) ? a : 9 === a.nodeType ? a.defaultView || a.parentWindow : !1
+	}
+	n.offset = {
+		setOffset: function(a, b, c) {
+			var d, e, f, g, h, i, j, k = n.css(a, "position"),
+				l = n(a),
+				m = {};
+			"static" === k && (a.style.position = "relative"), h = l.offset(), f = n.css(a, "top"), i = n.css(a, "left"), j = ("absolute" === k || "fixed" === k) && n.inArray("auto", [f, i]) > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), n.isFunction(b) && (b = b.call(a, c, n.extend({}, h))), null != b.top && (m.top = b.top - h.top + g), null != b.left && (m.left = b.left - h.left + e), "using" in b ? b.using.call(a, m) : l.css(m)
+		}
+	}, n.fn.extend({
+		offset: function(a) {
+			if(arguments.length) return void 0 === a ? this : this.each(function(b) {
+				n.offset.setOffset(this, a, b)
+			});
+			var b, c, d = {
+					top: 0,
+					left: 0
+				},
+				e = this[0],
+				f = e && e.ownerDocument;
+			if(f) return b = f.documentElement, n.contains(b, e) ? ("undefined" != typeof e.getBoundingClientRect && (d = e.getBoundingClientRect()), c = mc(f), {
+				top: d.top + (c.pageYOffset || b.scrollTop) - (b.clientTop || 0),
+				left: d.left + (c.pageXOffset || b.scrollLeft) - (b.clientLeft || 0)
+			}) : d
+		},
+		position: function() {
+			if(this[0]) {
+				var a, b, c = {
+						top: 0,
+						left: 0
+					},
+					d = this[0];
+				return "fixed" === n.css(d, "position") ? b = d.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), n.nodeName(a[0], "html") || (c = a.offset()), c.top += n.css(a[0], "borderTopWidth", !0), c.left += n.css(a[0], "borderLeftWidth", !0)), {
+					top: b.top - c.top - n.css(d, "marginTop", !0),
+					left: b.left - c.left - n.css(d, "marginLeft", !0)
+				}
+			}
+		},
+		offsetParent: function() {
+			return this.map(function() {
+				var a = this.offsetParent;
+				while(a && !n.nodeName(a, "html") && "static" === n.css(a, "position")) a = a.offsetParent;
+				return a || Qa
+			})
+		}
+	}), n.each({
+		scrollLeft: "pageXOffset",
+		scrollTop: "pageYOffset"
+	}, function(a, b) {
+		var c = /Y/.test(b);
+		n.fn[a] = function(d) {
+			return Y(this, function(a, d, e) {
+				var f = mc(a);
+				return void 0 === e ? f ? b in f ? f[b] : f.document.documentElement[d] : a[d] : void(f ? f.scrollTo(c ? n(f).scrollLeft() : e, c ? e : n(f).scrollTop()) : a[d] = e)
+			}, a, d, arguments.length, null)
+		}
+	}), n.each(["top", "left"], function(a, b) {
+		n.cssHooks[b] = Ua(l.pixelPosition, function(a, c) {
+			return c ? (c = Sa(a, b), Oa.test(c) ? n(a).position()[b] + "px" : c) : void 0
+		})
+	}), n.each({
+		Height: "height",
+		Width: "width"
+	}, function(a, b) {
+		n.each({
+			padding: "inner" + a,
+			content: b,
+			"": "outer" + a
+		}, function(c, d) {
+			n.fn[d] = function(d, e) {
+				var f = arguments.length && (c || "boolean" != typeof d),
+					g = c || (d === !0 || e === !0 ? "margin" : "border");
+				return Y(this, function(b, c, d) {
+					var e;
+					return n.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body["scroll" + a], e["scroll" + a], b.body["offset" + a], e["offset" + a], e["client" + a])) : void 0 === d ? n.css(b, c, g) : n.style(b, c, d, g)
+				}, b, f ? d : void 0, f, null)
+			}
+		})
+	}), n.fn.extend({
+		bind: function(a, b, c) {
+			return this.on(a, null, b, c)
+		},
+		unbind: function(a, b) {
+			return this.off(a, null, b)
+		},
+		delegate: function(a, b, c, d) {
+			return this.on(b, a, c, d)
+		},
+		undelegate: function(a, b, c) {
+			return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c)
+		}
+	}), n.fn.size = function() {
+		return this.length
+	}, n.fn.andSelf = n.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() {
+		return n
+	});
+	var nc = a.jQuery,
+		oc = a.$;
+	return n.noConflict = function(b) {
+		return a.$ === n && (a.$ = oc), b && a.jQuery === n && (a.jQuery = nc), n
+	}, b || (a.jQuery = a.$ = n), n
+});

+ 4348 - 0
src/assets/js/swiper-bundle.min.js

@@ -0,0 +1,4348 @@
+/**
+ * Swiper 6.4.15
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
+ * https://swiperjs.com
+ *
+ * Copyright 2014-2021 Vladimir Kharlampidi
+ *
+ * Released under the MIT License
+ *
+ * Released on: February 18, 2021
+ */
+
+! function(e, t) {
+	"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).Swiper = t()
+}(this, (function() {
+	"use strict";
+
+	function e(e, t) {
+		for(var a = 0; a < t.length; a++) {
+			var i = t[a];
+			i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
+		}
+	}
+
+	function t() {
+		return(t = Object.assign || function(e) {
+			for(var t = 1; t < arguments.length; t++) {
+				var a = arguments[t];
+				for(var i in a) Object.prototype.hasOwnProperty.call(a, i) && (e[i] = a[i])
+			}
+			return e
+		}).apply(this, arguments)
+	}
+
+	function a(e) {
+		return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object
+	}
+
+	function i(e, t) {
+		void 0 === e && (e = {}), void 0 === t && (t = {}), Object.keys(t).forEach((function(s) {
+			void 0 === e[s] ? e[s] = t[s] : a(t[s]) && a(e[s]) && Object.keys(t[s]).length > 0 && i(e[s], t[s])
+		}))
+	}
+	var s = {
+		body: {},
+		addEventListener: function() {},
+		removeEventListener: function() {},
+		activeElement: {
+			blur: function() {},
+			nodeName: ""
+		},
+		querySelector: function() {
+			return null
+		},
+		querySelectorAll: function() {
+			return []
+		},
+		getElementById: function() {
+			return null
+		},
+		createEvent: function() {
+			return {
+				initEvent: function() {}
+			}
+		},
+		createElement: function() {
+			return {
+				children: [],
+				childNodes: [],
+				style: {},
+				setAttribute: function() {},
+				getElementsByTagName: function() {
+					return []
+				}
+			}
+		},
+		createElementNS: function() {
+			return {}
+		},
+		importNode: function() {
+			return null
+		},
+		location: {
+			hash: "",
+			host: "",
+			hostname: "",
+			href: "",
+			origin: "",
+			pathname: "",
+			protocol: "",
+			search: ""
+		}
+	};
+
+	function r() {
+		var e = "undefined" != typeof document ? document : {};
+		return i(e, s), e
+	}
+	var n = {
+		document: s,
+		navigator: {
+			userAgent: ""
+		},
+		location: {
+			hash: "",
+			host: "",
+			hostname: "",
+			href: "",
+			origin: "",
+			pathname: "",
+			protocol: "",
+			search: ""
+		},
+		history: {
+			replaceState: function() {},
+			pushState: function() {},
+			go: function() {},
+			back: function() {}
+		},
+		CustomEvent: function() {
+			return this
+		},
+		addEventListener: function() {},
+		removeEventListener: function() {},
+		getComputedStyle: function() {
+			return {
+				getPropertyValue: function() {
+					return ""
+				}
+			}
+		},
+		Image: function() {},
+		Date: function() {},
+		screen: {},
+		setTimeout: function() {},
+		clearTimeout: function() {},
+		matchMedia: function() {
+			return {}
+		},
+		requestAnimationFrame: function(e) {
+			return "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0)
+		},
+		cancelAnimationFrame: function(e) {
+			"undefined" != typeof setTimeout && clearTimeout(e)
+		}
+	};
+
+	function l() {
+		var e = "undefined" != typeof window ? window : {};
+		return i(e, n), e
+	}
+
+	function o(e) {
+		return(o = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
+			return e.__proto__ || Object.getPrototypeOf(e)
+		})(e)
+	}
+
+	function d(e, t) {
+		return(d = Object.setPrototypeOf || function(e, t) {
+			return e.__proto__ = t, e
+		})(e, t)
+	}
+
+	function p() {
+		if("undefined" == typeof Reflect || !Reflect.construct) return !1;
+		if(Reflect.construct.sham) return !1;
+		if("function" == typeof Proxy) return !0;
+		try {
+			return Date.prototype.toString.call(Reflect.construct(Date, [], (function() {}))), !0
+		} catch(e) {
+			return !1
+		}
+	}
+
+	function u(e, t, a) {
+		return(u = p() ? Reflect.construct : function(e, t, a) {
+			var i = [null];
+			i.push.apply(i, t);
+			var s = new(Function.bind.apply(e, i));
+			return a && d(s, a.prototype), s
+		}).apply(null, arguments)
+	}
+
+	function c(e) {
+		var t = "function" == typeof Map ? new Map : void 0;
+		return(c = function(e) {
+			if(null === e || (a = e, -1 === Function.toString.call(a).indexOf("[native code]"))) return e;
+			var a;
+			if("function" != typeof e) throw new TypeError("Super expression must either be null or a function");
+			if(void 0 !== t) {
+				if(t.has(e)) return t.get(e);
+				t.set(e, i)
+			}
+
+			function i() {
+				return u(e, arguments, o(this).constructor)
+			}
+			return i.prototype = Object.create(e.prototype, {
+				constructor: {
+					value: i,
+					enumerable: !1,
+					writable: !0,
+					configurable: !0
+				}
+			}), d(i, e)
+		})(e)
+	}
+	var h = function(e) {
+		var t, a;
+
+		function i(t) {
+			var a, i, s;
+			return a = e.call.apply(e, [this].concat(t)) || this, i = function(e) {
+				if(void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+				return e
+			}(a), s = i.__proto__, Object.defineProperty(i, "__proto__", {
+				get: function() {
+					return s
+				},
+				set: function(e) {
+					s.__proto__ = e
+				}
+			}), a
+		}
+		return a = e, (t = i).prototype = Object.create(a.prototype), t.prototype.constructor = t, t.__proto__ = a, i
+	}(c(Array));
+
+	function v(e) {
+		void 0 === e && (e = []);
+		var t = [];
+		return e.forEach((function(e) {
+			Array.isArray(e) ? t.push.apply(t, v(e)) : t.push(e)
+		})), t
+	}
+
+	function f(e, t) {
+		return Array.prototype.filter.call(e, t)
+	}
+
+	function m(e, t) {
+		var a = l(),
+			i = r(),
+			s = [];
+		if(!t && e instanceof h) return e;
+		if(!e) return new h(s);
+		if("string" == typeof e) {
+			var n = e.trim();
+			if(n.indexOf("<") >= 0 && n.indexOf(">") >= 0) {
+				var o = "div";
+				0 === n.indexOf("<li") && (o = "ul"), 0 === n.indexOf("<tr") && (o = "tbody"), 0 !== n.indexOf("<td") && 0 !== n.indexOf("<th") || (o = "tr"), 0 === n.indexOf("<tbody") && (o = "table"), 0 === n.indexOf("<option") && (o = "select");
+				var d = i.createElement(o);
+				d.innerHTML = n;
+				for(var p = 0; p < d.childNodes.length; p += 1) s.push(d.childNodes[p])
+			} else s = function(e, t) {
+				if("string" != typeof e) return [e];
+				for(var a = [], i = t.querySelectorAll(e), s = 0; s < i.length; s += 1) a.push(i[s]);
+				return a
+			}(e.trim(), t || i)
+		} else if(e.nodeType || e === a || e === i) s.push(e);
+		else if(Array.isArray(e)) {
+			if(e instanceof h) return e;
+			s = e
+		}
+		return new h(function(e) {
+			for(var t = [], a = 0; a < e.length; a += 1) - 1 === t.indexOf(e[a]) && t.push(e[a]);
+			return t
+		}(s))
+	}
+	m.fn = h.prototype;
+	var g, w, y, b = {
+		addClass: function() {
+			for(var e = arguments.length, t = new Array(e), a = 0; a < e; a++) t[a] = arguments[a];
+			var i = v(t.map((function(e) {
+				return e.split(" ")
+			})));
+			return this.forEach((function(e) {
+				var t;
+				(t = e.classList).add.apply(t, i)
+			})), this
+		},
+		removeClass: function() {
+			for(var e = arguments.length, t = new Array(e), a = 0; a < e; a++) t[a] = arguments[a];
+			var i = v(t.map((function(e) {
+				return e.split(" ")
+			})));
+			return this.forEach((function(e) {
+				var t;
+				(t = e.classList).remove.apply(t, i)
+			})), this
+		},
+		hasClass: function() {
+			for(var e = arguments.length, t = new Array(e), a = 0; a < e; a++) t[a] = arguments[a];
+			var i = v(t.map((function(e) {
+				return e.split(" ")
+			})));
+			return f(this, (function(e) {
+				return i.filter((function(t) {
+					return e.classList.contains(t)
+				})).length > 0
+			})).length > 0
+		},
+		toggleClass: function() {
+			for(var e = arguments.length, t = new Array(e), a = 0; a < e; a++) t[a] = arguments[a];
+			var i = v(t.map((function(e) {
+				return e.split(" ")
+			})));
+			this.forEach((function(e) {
+				i.forEach((function(t) {
+					e.classList.toggle(t)
+				}))
+			}))
+		},
+		attr: function(e, t) {
+			if(1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
+			for(var a = 0; a < this.length; a += 1)
+				if(2 === arguments.length) this[a].setAttribute(e, t);
+				else
+					for(var i in e) this[a][i] = e[i], this[a].setAttribute(i, e[i]);
+			return this
+		},
+		removeAttr: function(e) {
+			for(var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
+			return this
+		},
+		transform: function(e) {
+			for(var t = 0; t < this.length; t += 1) this[t].style.transform = e;
+			return this
+		},
+		transition: function(e) {
+			for(var t = 0; t < this.length; t += 1) this[t].style.transitionDuration = "string" != typeof e ? e + "ms" : e;
+			return this
+		},
+		on: function() {
+			for(var e = arguments.length, t = new Array(e), a = 0; a < e; a++) t[a] = arguments[a];
+			var i = t[0],
+				s = t[1],
+				r = t[2],
+				n = t[3];
+
+			function l(e) {
+				var t = e.target;
+				if(t) {
+					var a = e.target.dom7EventData || [];
+					if(a.indexOf(e) < 0 && a.unshift(e), m(t).is(s)) r.apply(t, a);
+					else
+						for(var i = m(t).parents(), n = 0; n < i.length; n += 1) m(i[n]).is(s) && r.apply(i[n], a)
+				}
+			}
+
+			function o(e) {
+				var t = e && e.target && e.target.dom7EventData || [];
+				t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t)
+			}
+			"function" == typeof t[1] && (i = t[0], r = t[1], n = t[2], s = void 0), n || (n = !1);
+			for(var d, p = i.split(" "), u = 0; u < this.length; u += 1) {
+				var c = this[u];
+				if(s)
+					for(d = 0; d < p.length; d += 1) {
+						var h = p[d];
+						c.dom7LiveListeners || (c.dom7LiveListeners = {}), c.dom7LiveListeners[h] || (c.dom7LiveListeners[h] = []), c.dom7LiveListeners[h].push({
+							listener: r,
+							proxyListener: l
+						}), c.addEventListener(h, l, n)
+					} else
+						for(d = 0; d < p.length; d += 1) {
+							var v = p[d];
+							c.dom7Listeners || (c.dom7Listeners = {}), c.dom7Listeners[v] || (c.dom7Listeners[v] = []), c.dom7Listeners[v].push({
+								listener: r,
+								proxyListener: o
+							}), c.addEventListener(v, o, n)
+						}
+			}
+			return this
+		},
+		off: function() {
+			for(var e = arguments.length, t = new Array(e), a = 0; a < e; a++) t[a] = arguments[a];
+			var i = t[0],
+				s = t[1],
+				r = t[2],
+				n = t[3];
+			"function" == typeof t[1] && (i = t[0], r = t[1], n = t[2], s = void 0), n || (n = !1);
+			for(var l = i.split(" "), o = 0; o < l.length; o += 1)
+				for(var d = l[o], p = 0; p < this.length; p += 1) {
+					var u = this[p],
+						c = void 0;
+					if(!s && u.dom7Listeners ? c = u.dom7Listeners[d] : s && u.dom7LiveListeners && (c = u.dom7LiveListeners[d]), c && c.length)
+						for(var h = c.length - 1; h >= 0; h -= 1) {
+							var v = c[h];
+							r && v.listener === r || r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r ? (u.removeEventListener(d, v.proxyListener, n), c.splice(h, 1)) : r || (u.removeEventListener(d, v.proxyListener, n), c.splice(h, 1))
+						}
+				}
+			return this
+		},
+		trigger: function() {
+			for(var e = l(), t = arguments.length, a = new Array(t), i = 0; i < t; i++) a[i] = arguments[i];
+			for(var s = a[0].split(" "), r = a[1], n = 0; n < s.length; n += 1)
+				for(var o = s[n], d = 0; d < this.length; d += 1) {
+					var p = this[d];
+					if(e.CustomEvent) {
+						var u = new e.CustomEvent(o, {
+							detail: r,
+							bubbles: !0,
+							cancelable: !0
+						});
+						p.dom7EventData = a.filter((function(e, t) {
+							return t > 0
+						})), p.dispatchEvent(u), p.dom7EventData = [], delete p.dom7EventData
+					}
+				}
+			return this
+		},
+		transitionEnd: function(e) {
+			var t = this;
+			return e && t.on("transitionend", (function a(i) {
+				i.target === this && (e.call(this, i), t.off("transitionend", a))
+			})), this
+		},
+		outerWidth: function(e) {
+			if(this.length > 0) {
+				if(e) {
+					var t = this.styles();
+					return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
+				}
+				return this[0].offsetWidth
+			}
+			return null
+		},
+		outerHeight: function(e) {
+			if(this.length > 0) {
+				if(e) {
+					var t = this.styles();
+					return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
+				}
+				return this[0].offsetHeight
+			}
+			return null
+		},
+		styles: function() {
+			var e = l();
+			return this[0] ? e.getComputedStyle(this[0], null) : {}
+		},
+		offset: function() {
+			if(this.length > 0) {
+				var e = l(),
+					t = r(),
+					a = this[0],
+					i = a.getBoundingClientRect(),
+					s = t.body,
+					n = a.clientTop || s.clientTop || 0,
+					o = a.clientLeft || s.clientLeft || 0,
+					d = a === e ? e.scrollY : a.scrollTop,
+					p = a === e ? e.scrollX : a.scrollLeft;
+				return {
+					top: i.top + d - n,
+					left: i.left + p - o
+				}
+			}
+			return null
+		},
+		css: function(e, t) {
+			var a, i = l();
+			if(1 === arguments.length) {
+				if("string" != typeof e) {
+					for(a = 0; a < this.length; a += 1)
+						for(var s in e) this[a].style[s] = e[s];
+					return this
+				}
+				if(this[0]) return i.getComputedStyle(this[0], null).getPropertyValue(e)
+			}
+			if(2 === arguments.length && "string" == typeof e) {
+				for(a = 0; a < this.length; a += 1) this[a].style[e] = t;
+				return this
+			}
+			return this
+		},
+		each: function(e) {
+			return e ? (this.forEach((function(t, a) {
+				e.apply(t, [t, a])
+			})), this) : this
+		},
+		html: function(e) {
+			if(void 0 === e) return this[0] ? this[0].innerHTML : null;
+			for(var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
+			return this
+		},
+		text: function(e) {
+			if(void 0 === e) return this[0] ? this[0].textContent.trim() : null;
+			for(var t = 0; t < this.length; t += 1) this[t].textContent = e;
+			return this
+		},
+		is: function(e) {
+			var t, a, i = l(),
+				s = r(),
+				n = this[0];
+			if(!n || void 0 === e) return !1;
+			if("string" == typeof e) {
+				if(n.matches) return n.matches(e);
+				if(n.webkitMatchesSelector) return n.webkitMatchesSelector(e);
+				if(n.msMatchesSelector) return n.msMatchesSelector(e);
+				for(t = m(e), a = 0; a < t.length; a += 1)
+					if(t[a] === n) return !0;
+				return !1
+			}
+			if(e === s) return n === s;
+			if(e === i) return n === i;
+			if(e.nodeType || e instanceof h) {
+				for(t = e.nodeType ? [e] : e, a = 0; a < t.length; a += 1)
+					if(t[a] === n) return !0;
+				return !1
+			}
+			return !1
+		},
+		index: function() {
+			var e, t = this[0];
+			if(t) {
+				for(e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
+				return e
+			}
+		},
+		eq: function(e) {
+			if(void 0 === e) return this;
+			var t = this.length;
+			if(e > t - 1) return m([]);
+			if(e < 0) {
+				var a = t + e;
+				return m(a < 0 ? [] : [this[a]])
+			}
+			return m([this[e]])
+		},
+		append: function() {
+			for(var e, t = r(), a = 0; a < arguments.length; a += 1) {
+				e = a < 0 || arguments.length <= a ? void 0 : arguments[a];
+				for(var i = 0; i < this.length; i += 1)
+					if("string" == typeof e) {
+						var s = t.createElement("div");
+						for(s.innerHTML = e; s.firstChild;) this[i].appendChild(s.firstChild)
+					} else if(e instanceof h)
+					for(var n = 0; n < e.length; n += 1) this[i].appendChild(e[n]);
+				else this[i].appendChild(e)
+			}
+			return this
+		},
+		prepend: function(e) {
+			var t, a, i = r();
+			for(t = 0; t < this.length; t += 1)
+				if("string" == typeof e) {
+					var s = i.createElement("div");
+					for(s.innerHTML = e, a = s.childNodes.length - 1; a >= 0; a -= 1) this[t].insertBefore(s.childNodes[a], this[t].childNodes[0])
+				} else if(e instanceof h)
+				for(a = 0; a < e.length; a += 1) this[t].insertBefore(e[a], this[t].childNodes[0]);
+			else this[t].insertBefore(e, this[t].childNodes[0]);
+			return this
+		},
+		next: function(e) {
+			return this.length > 0 ? e ? this[0].nextElementSibling && m(this[0].nextElementSibling).is(e) ? m([this[0].nextElementSibling]) : m([]) : this[0].nextElementSibling ? m([this[0].nextElementSibling]) : m([]) : m([])
+		},
+		nextAll: function(e) {
+			var t = [],
+				a = this[0];
+			if(!a) return m([]);
+			for(; a.nextElementSibling;) {
+				var i = a.nextElementSibling;
+				e ? m(i).is(e) && t.push(i) : t.push(i), a = i
+			}
+			return m(t)
+		},
+		prev: function(e) {
+			if(this.length > 0) {
+				var t = this[0];
+				return e ? t.previousElementSibling && m(t.previousElementSibling).is(e) ? m([t.previousElementSibling]) : m([]) : t.previousElementSibling ? m([t.previousElementSibling]) : m([])
+			}
+			return m([])
+		},
+		prevAll: function(e) {
+			var t = [],
+				a = this[0];
+			if(!a) return m([]);
+			for(; a.previousElementSibling;) {
+				var i = a.previousElementSibling;
+				e ? m(i).is(e) && t.push(i) : t.push(i), a = i
+			}
+			return m(t)
+		},
+		parent: function(e) {
+			for(var t = [], a = 0; a < this.length; a += 1) null !== this[a].parentNode && (e ? m(this[a].parentNode).is(e) && t.push(this[a].parentNode) : t.push(this[a].parentNode));
+			return m(t)
+		},
+		parents: function(e) {
+			for(var t = [], a = 0; a < this.length; a += 1)
+				for(var i = this[a].parentNode; i;) e ? m(i).is(e) && t.push(i) : t.push(i), i = i.parentNode;
+			return m(t)
+		},
+		closest: function(e) {
+			var t = this;
+			return void 0 === e ? m([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
+		},
+		find: function(e) {
+			for(var t = [], a = 0; a < this.length; a += 1)
+				for(var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1) t.push(i[s]);
+			return m(t)
+		},
+		children: function(e) {
+			for(var t = [], a = 0; a < this.length; a += 1)
+				for(var i = this[a].children, s = 0; s < i.length; s += 1) e && !m(i[s]).is(e) || t.push(i[s]);
+			return m(t)
+		},
+		filter: function(e) {
+			return m(f(this, e))
+		},
+		remove: function() {
+			for(var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
+			return this
+		}
+	};
+
+	function E(e, t) {
+		return void 0 === t && (t = 0), setTimeout(e, t)
+	}
+
+	function x() {
+		return Date.now()
+	}
+
+	function T(e, t) {
+		void 0 === t && (t = "x");
+		var a, i, s, r = l(),
+			n = r.getComputedStyle(e, null);
+		return r.WebKitCSSMatrix ? ((i = n.transform || n.webkitTransform).split(",").length > 6 && (i = i.split(", ").map((function(e) {
+			return e.replace(",", ".")
+		})).join(", ")), s = new r.WebKitCSSMatrix("none" === i ? "" : i)) : a = (s = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform || n.transform || n.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (i = r.WebKitCSSMatrix ? s.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = r.WebKitCSSMatrix ? s.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0
+	}
+
+	function C(e) {
+		return "object" == typeof e && null !== e && e.constructor && e.constructor === Object
+	}
+
+	function S() {
+		for(var e = Object(arguments.length <= 0 ? void 0 : arguments[0]), t = 1; t < arguments.length; t += 1) {
+			var a = t < 0 || arguments.length <= t ? void 0 : arguments[t];
+			if(null != a)
+				for(var i = Object.keys(Object(a)), s = 0, r = i.length; s < r; s += 1) {
+					var n = i[s],
+						l = Object.getOwnPropertyDescriptor(a, n);
+					void 0 !== l && l.enumerable && (C(e[n]) && C(a[n]) ? S(e[n], a[n]) : !C(e[n]) && C(a[n]) ? (e[n] = {}, S(e[n], a[n])) : e[n] = a[n])
+				}
+		}
+		return e
+	}
+
+	function M(e, t) {
+		Object.keys(t).forEach((function(a) {
+			C(t[a]) && Object.keys(t[a]).forEach((function(i) {
+				"function" == typeof t[a][i] && (t[a][i] = t[a][i].bind(e))
+			})), e[a] = t[a]
+		}))
+	}
+
+	function z() {
+		return g || (g = function() {
+			var e = l(),
+				t = r();
+			return {
+				touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch),
+				pointerEvents: !!e.PointerEvent && "maxTouchPoints" in e.navigator && e.navigator.maxTouchPoints >= 0,
+				observer: "MutationObserver" in e || "WebkitMutationObserver" in e,
+				passiveListener: function() {
+					var t = !1;
+					try {
+						var a = Object.defineProperty({}, "passive", {
+							get: function() {
+								t = !0
+							}
+						});
+						e.addEventListener("testPassiveListener", null, a)
+					} catch(e) {}
+					return t
+				}(),
+				gestures: "ongesturestart" in e
+			}
+		}()), g
+	}
+
+	function P(e) {
+		return void 0 === e && (e = {}), w || (w = function(e) {
+			var t = (void 0 === e ? {} : e).userAgent,
+				a = z(),
+				i = l(),
+				s = i.navigator.platform,
+				r = t || i.navigator.userAgent,
+				n = {
+					ios: !1,
+					android: !1
+				},
+				o = i.screen.width,
+				d = i.screen.height,
+				p = r.match(/(Android);?[\s\/]+([\d.]+)?/),
+				u = r.match(/(iPad).*OS\s([\d_]+)/),
+				c = r.match(/(iPod)(.*OS\s([\d_]+))?/),
+				h = !u && r.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
+				v = "Win32" === s,
+				f = "MacIntel" === s;
+			return !u && f && a.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(o + "x" + d) >= 0 && ((u = r.match(/(Version)\/([\d.]+)/)) || (u = [0, 1, "13_0_0"]), f = !1), p && !v && (n.os = "android", n.android = !0), (u || h || c) && (n.os = "ios", n.ios = !0), n
+		}(e)), w
+	}
+
+	function k() {
+		return y || (y = function() {
+			var e, t = l();
+			return {
+				isEdge: !!t.navigator.userAgent.match(/Edge/g),
+				isSafari: (e = t.navigator.userAgent.toLowerCase(), e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0),
+				isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)
+			}
+		}()), y
+	}
+	Object.keys(b).forEach((function(e) {
+		m.fn[e] = b[e]
+	}));
+	var L = {
+			name: "resize",
+			create: function() {
+				var e = this;
+				S(e, {
+					resize: {
+						resizeHandler: function() {
+							e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize"))
+						},
+						orientationChangeHandler: function() {
+							e && !e.destroyed && e.initialized && e.emit("orientationchange")
+						}
+					}
+				})
+			},
+			on: {
+				init: function(e) {
+					var t = l();
+					t.addEventListener("resize", e.resize.resizeHandler), t.addEventListener("orientationchange", e.resize.orientationChangeHandler)
+				},
+				destroy: function(e) {
+					var t = l();
+					t.removeEventListener("resize", e.resize.resizeHandler), t.removeEventListener("orientationchange", e.resize.orientationChangeHandler)
+				}
+			}
+		},
+		$ = {
+			attach: function(e, t) {
+				void 0 === t && (t = {});
+				var a = l(),
+					i = this,
+					s = new(a.MutationObserver || a.WebkitMutationObserver)((function(e) {
+						if(1 !== e.length) {
+							var t = function() {
+								i.emit("observerUpdate", e[0])
+							};
+							a.requestAnimationFrame ? a.requestAnimationFrame(t) : a.setTimeout(t, 0)
+						} else i.emit("observerUpdate", e[0])
+					}));
+				s.observe(e, {
+					attributes: void 0 === t.attributes || t.attributes,
+					childList: void 0 === t.childList || t.childList,
+					characterData: void 0 === t.characterData || t.characterData
+				}), i.observer.observers.push(s)
+			},
+			init: function() {
+				var e = this;
+				if(e.support.observer && e.params.observer) {
+					if(e.params.observeParents)
+						for(var t = e.$el.parents(), a = 0; a < t.length; a += 1) e.observer.attach(t[a]);
+					e.observer.attach(e.$el[0], {
+						childList: e.params.observeSlideChildren
+					}), e.observer.attach(e.$wrapperEl[0], {
+						attributes: !1
+					})
+				}
+			},
+			destroy: function() {
+				this.observer.observers.forEach((function(e) {
+					e.disconnect()
+				})), this.observer.observers = []
+			}
+		},
+		I = {
+			name: "observer",
+			params: {
+				observer: !1,
+				observeParents: !1,
+				observeSlideChildren: !1
+			},
+			create: function() {
+				M(this, {
+					observer: t({}, $, {
+						observers: []
+					})
+				})
+			},
+			on: {
+				init: function(e) {
+					e.observer.init()
+				},
+				destroy: function(e) {
+					e.observer.destroy()
+				}
+			}
+		};
+
+	function O(e) {
+		var t = this,
+			a = r(),
+			i = l(),
+			s = t.touchEventsData,
+			n = t.params,
+			o = t.touches;
+		if(!t.animating || !n.preventInteractionOnTransition) {
+			var d = e;
+			d.originalEvent && (d = d.originalEvent);
+			var p = m(d.target);
+			if("wrapper" !== n.touchEventsTarget || p.closest(t.wrapperEl).length)
+				if(s.isTouchEvent = "touchstart" === d.type, s.isTouchEvent || !("which" in d) || 3 !== d.which)
+					if(!(!s.isTouchEvent && "button" in d && d.button > 0))
+						if(!s.isTouched || !s.isMoved)
+							if(!!n.noSwipingClass && "" !== n.noSwipingClass && d.target && d.target.shadowRoot && e.path && e.path[0] && (p = m(e.path[0])), n.noSwiping && p.closest(n.noSwipingSelector ? n.noSwipingSelector : "." + n.noSwipingClass)[0]) t.allowClick = !0;
+							else if(!n.swipeHandler || p.closest(n.swipeHandler)[0]) {
+				o.currentX = "touchstart" === d.type ? d.targetTouches[0].pageX : d.pageX, o.currentY = "touchstart" === d.type ? d.targetTouches[0].pageY : d.pageY;
+				var u = o.currentX,
+					c = o.currentY,
+					h = n.edgeSwipeDetection || n.iOSEdgeSwipeDetection,
+					v = n.edgeSwipeThreshold || n.iOSEdgeSwipeThreshold;
+				if(h && (u <= v || u >= i.innerWidth - v)) {
+					if("prevent" !== h) return;
+					e.preventDefault()
+				}
+				if(S(s, {
+						isTouched: !0,
+						isMoved: !1,
+						allowTouchCallbacks: !0,
+						isScrolling: void 0,
+						startMoving: void 0
+					}), o.startX = u, o.startY = c, s.touchStartTime = x(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, n.threshold > 0 && (s.allowThresholdMove = !1), "touchstart" !== d.type) {
+					var f = !0;
+					p.is(s.formElements) && (f = !1), a.activeElement && m(a.activeElement).is(s.formElements) && a.activeElement !== p[0] && a.activeElement.blur();
+					var g = f && t.allowTouchMove && n.touchStartPreventDefault;
+					!n.touchStartForcePreventDefault && !g || p[0].isContentEditable || d.preventDefault()
+				}
+				t.emit("touchStart", d)
+			}
+		}
+	}
+
+	function A(e) {
+		var t = r(),
+			a = this,
+			i = a.touchEventsData,
+			s = a.params,
+			n = a.touches,
+			l = a.rtlTranslate,
+			o = e;
+		if(o.originalEvent && (o = o.originalEvent), i.isTouched) {
+			if(!i.isTouchEvent || "touchmove" === o.type) {
+				var d = "touchmove" === o.type && o.targetTouches && (o.targetTouches[0] || o.changedTouches[0]),
+					p = "touchmove" === o.type ? d.pageX : o.pageX,
+					u = "touchmove" === o.type ? d.pageY : o.pageY;
+				if(o.preventedByNestedSwiper) return n.startX = p, void(n.startY = u);
+				if(!a.allowTouchMove) return a.allowClick = !1, void(i.isTouched && (S(n, {
+					startX: p,
+					startY: u,
+					currentX: p,
+					currentY: u
+				}), i.touchStartTime = x()));
+				if(i.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
+					if(a.isVertical()) {
+						if(u < n.startY && a.translate <= a.maxTranslate() || u > n.startY && a.translate >= a.minTranslate()) return i.isTouched = !1, void(i.isMoved = !1)
+					} else if(p < n.startX && a.translate <= a.maxTranslate() || p > n.startX && a.translate >= a.minTranslate()) return;
+				if(i.isTouchEvent && t.activeElement && o.target === t.activeElement && m(o.target).is(i.formElements)) return i.isMoved = !0, void(a.allowClick = !1);
+				if(i.allowTouchCallbacks && a.emit("touchMove", o), !(o.targetTouches && o.targetTouches.length > 1)) {
+					n.currentX = p, n.currentY = u;
+					var c = n.currentX - n.startX,
+						h = n.currentY - n.startY;
+					if(!(a.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(h, 2)) < a.params.threshold)) {
+						var v;
+						if(void 0 === i.isScrolling) a.isHorizontal() && n.currentY === n.startY || a.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : c * c + h * h >= 25 && (v = 180 * Math.atan2(Math.abs(h), Math.abs(c)) / Math.PI, i.isScrolling = a.isHorizontal() ? v > s.touchAngle : 90 - v > s.touchAngle);
+						if(i.isScrolling && a.emit("touchMoveOpposite", o), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling) i.isTouched = !1;
+						else if(i.startMoving) {
+							a.allowClick = !1, !s.cssMode && o.cancelable && o.preventDefault(), s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), i.isMoved || (s.loop && a.loopFix(), i.startTranslate = a.getTranslate(), a.setTransition(0), a.animating && a.$wrapperEl.trigger("webkitTransitionEnd transitionend"), i.allowMomentumBounce = !1, !s.grabCursor || !0 !== a.allowSlideNext && !0 !== a.allowSlidePrev || a.setGrabCursor(!0), a.emit("sliderFirstMove", o)), a.emit("sliderMove", o), i.isMoved = !0;
+							var f = a.isHorizontal() ? c : h;
+							n.diff = f, f *= s.touchRatio, l && (f = -f), a.swipeDirection = f > 0 ? "prev" : "next", i.currentTranslate = f + i.startTranslate;
+							var g = !0,
+								w = s.resistanceRatio;
+							if(s.touchReleaseOnEdges && (w = 0), f > 0 && i.currentTranslate > a.minTranslate() ? (g = !1, s.resistance && (i.currentTranslate = a.minTranslate() - 1 + Math.pow(-a.minTranslate() + i.startTranslate + f, w))) : f < 0 && i.currentTranslate < a.maxTranslate() && (g = !1, s.resistance && (i.currentTranslate = a.maxTranslate() + 1 - Math.pow(a.maxTranslate() - i.startTranslate - f, w))), g && (o.preventedByNestedSwiper = !0), !a.allowSlideNext && "next" === a.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !a.allowSlidePrev && "prev" === a.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), s.threshold > 0) {
+								if(!(Math.abs(f) > s.threshold || i.allowThresholdMove)) return void(i.currentTranslate = i.startTranslate);
+								if(!i.allowThresholdMove) return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void(n.diff = a.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY)
+							}
+							s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (a.updateActiveIndex(), a.updateSlidesClasses()), s.freeMode && (0 === i.velocities.length && i.velocities.push({
+								position: n[a.isHorizontal() ? "startX" : "startY"],
+								time: i.touchStartTime
+							}), i.velocities.push({
+								position: n[a.isHorizontal() ? "currentX" : "currentY"],
+								time: x()
+							})), a.updateProgress(i.currentTranslate), a.setTranslate(i.currentTranslate))
+						}
+					}
+				}
+			}
+		} else i.startMoving && i.isScrolling && a.emit("touchMoveOpposite", o)
+	}
+
+	function D(e) {
+		var t = this,
+			a = t.touchEventsData,
+			i = t.params,
+			s = t.touches,
+			r = t.rtlTranslate,
+			n = t.$wrapperEl,
+			l = t.slidesGrid,
+			o = t.snapGrid,
+			d = e;
+		if(d.originalEvent && (d = d.originalEvent), a.allowTouchCallbacks && t.emit("touchEnd", d), a.allowTouchCallbacks = !1, !a.isTouched) return a.isMoved && i.grabCursor && t.setGrabCursor(!1), a.isMoved = !1, void(a.startMoving = !1);
+		i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
+		var p, u = x(),
+			c = u - a.touchStartTime;
+		if(t.allowClick && (t.updateClickedSlide(d), t.emit("tap click", d), c < 300 && u - a.lastClickTime < 300 && t.emit("doubleTap doubleClick", d)), a.lastClickTime = x(), E((function() {
+				t.destroyed || (t.allowClick = !0)
+			})), !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a.currentTranslate === a.startTranslate) return a.isTouched = !1, a.isMoved = !1, void(a.startMoving = !1);
+		if(a.isTouched = !1, a.isMoved = !1, a.startMoving = !1, p = i.followFinger ? r ? t.translate : -t.translate : -a.currentTranslate, !i.cssMode)
+			if(i.freeMode) {
+				if(p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
+				if(p > -t.maxTranslate()) return void(t.slides.length < o.length ? t.slideTo(o.length - 1) : t.slideTo(t.slides.length - 1));
+				if(i.freeModeMomentum) {
+					if(a.velocities.length > 1) {
+						var h = a.velocities.pop(),
+							v = a.velocities.pop(),
+							f = h.position - v.position,
+							m = h.time - v.time;
+						t.velocity = f / m, t.velocity /= 2, Math.abs(t.velocity) < i.freeModeMinimumVelocity && (t.velocity = 0), (m > 150 || x() - h.time > 300) && (t.velocity = 0)
+					} else t.velocity = 0;
+					t.velocity *= i.freeModeMomentumVelocityRatio, a.velocities.length = 0;
+					var g = 1e3 * i.freeModeMomentumRatio,
+						w = t.velocity * g,
+						y = t.translate + w;
+					r && (y = -y);
+					var b, T, C = !1,
+						S = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio;
+					if(y < t.maxTranslate()) i.freeModeMomentumBounce ? (y + t.maxTranslate() < -S && (y = t.maxTranslate() - S), b = t.maxTranslate(), C = !0, a.allowMomentumBounce = !0) : y = t.maxTranslate(), i.loop && i.centeredSlides && (T = !0);
+					else if(y > t.minTranslate()) i.freeModeMomentumBounce ? (y - t.minTranslate() > S && (y = t.minTranslate() + S), b = t.minTranslate(), C = !0, a.allowMomentumBounce = !0) : y = t.minTranslate(), i.loop && i.centeredSlides && (T = !0);
+					else if(i.freeModeSticky) {
+						for(var M, z = 0; z < o.length; z += 1)
+							if(o[z] > -y) {
+								M = z;
+								break
+							}
+						y = -(y = Math.abs(o[M] - y) < Math.abs(o[M - 1] - y) || "next" === t.swipeDirection ? o[M] : o[M - 1])
+					}
+					if(T && t.once("transitionEnd", (function() {
+							t.loopFix()
+						})), 0 !== t.velocity) {
+						if(g = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t.translate) / t.velocity), i.freeModeSticky) {
+							var P = Math.abs((r ? -y : y) - t.translate),
+								k = t.slidesSizesGrid[t.activeIndex];
+							g = P < k ? i.speed : P < 2 * k ? 1.5 * i.speed : 2.5 * i.speed
+						}
+					} else if(i.freeModeSticky) return void t.slideToClosest();
+					i.freeModeMomentumBounce && C ? (t.updateProgress(b), t.setTransition(g), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating = !0, n.transitionEnd((function() {
+						t && !t.destroyed && a.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(i.speed), setTimeout((function() {
+							t.setTranslate(b), n.transitionEnd((function() {
+								t && !t.destroyed && t.transitionEnd()
+							}))
+						}), 0))
+					}))) : t.velocity ? (t.updateProgress(y), t.setTransition(g), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, n.transitionEnd((function() {
+						t && !t.destroyed && t.transitionEnd()
+					})))) : t.updateProgress(y), t.updateActiveIndex(), t.updateSlidesClasses()
+				} else if(i.freeModeSticky) return void t.slideToClosest();
+				(!i.freeModeMomentum || c >= i.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses())
+			} else {
+				for(var L = 0, $ = t.slidesSizesGrid[0], I = 0; I < l.length; I += I < i.slidesPerGroupSkip ? 1 : i.slidesPerGroup) {
+					var O = I < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
+					void 0 !== l[I + O] ? p >= l[I] && p < l[I + O] && (L = I, $ = l[I + O] - l[I]) : p >= l[I] && (L = I, $ = l[l.length - 1] - l[l.length - 2])
+				}
+				var A = (p - l[L]) / $,
+					D = L < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
+				if(c > i.longSwipesMs) {
+					if(!i.longSwipes) return void t.slideTo(t.activeIndex);
+					"next" === t.swipeDirection && (A >= i.longSwipesRatio ? t.slideTo(L + D) : t.slideTo(L)), "prev" === t.swipeDirection && (A > 1 - i.longSwipesRatio ? t.slideTo(L + D) : t.slideTo(L))
+				} else {
+					if(!i.shortSwipes) return void t.slideTo(t.activeIndex);
+					t.navigation && (d.target === t.navigation.nextEl || d.target === t.navigation.prevEl) ? d.target === t.navigation.nextEl ? t.slideTo(L + D) : t.slideTo(L) : ("next" === t.swipeDirection && t.slideTo(L + D), "prev" === t.swipeDirection && t.slideTo(L))
+				}
+			}
+	}
+
+	function G() {
+		var e = this,
+			t = e.params,
+			a = e.el;
+		if(!a || 0 !== a.offsetWidth) {
+			t.breakpoints && e.setBreakpoint();
+			var i = e.allowSlideNext,
+				s = e.allowSlidePrev,
+				r = e.snapGrid;
+			e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(), ("auto" === t.slidesPerView || t.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(), e.allowSlidePrev = s, e.allowSlideNext = i, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow()
+		}
+	}
+
+	function N(e) {
+		var t = this;
+		t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation()))
+	}
+
+	function B() {
+		var e = this,
+			t = e.wrapperEl,
+			a = e.rtlTranslate;
+		e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = a ? t.scrollWidth - t.offsetWidth - t.scrollLeft : -t.scrollLeft : e.translate = -t.scrollTop, -0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
+		var i = e.maxTranslate() - e.minTranslate();
+		(0 === i ? 0 : (e.translate - e.minTranslate()) / i) !== e.progress && e.updateProgress(a ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1)
+	}
+	var H = !1;
+
+	function X() {}
+	var Y = {
+			init: !0,
+			direction: "horizontal",
+			touchEventsTarget: "container",
+			initialSlide: 0,
+			speed: 300,
+			cssMode: !1,
+			updateOnWindowResize: !0,
+			nested: !1,
+			width: null,
+			height: null,
+			preventInteractionOnTransition: !1,
+			userAgent: null,
+			url: null,
+			edgeSwipeDetection: !1,
+			edgeSwipeThreshold: 20,
+			freeMode: !1,
+			freeModeMomentum: !0,
+			freeModeMomentumRatio: 1,
+			freeModeMomentumBounce: !0,
+			freeModeMomentumBounceRatio: 1,
+			freeModeMomentumVelocityRatio: 1,
+			freeModeSticky: !1,
+			freeModeMinimumVelocity: .02,
+			autoHeight: !1,
+			setWrapperSize: !1,
+			virtualTranslate: !1,
+			effect: "slide",
+			breakpoints: void 0,
+			spaceBetween: 0,
+			slidesPerView: 1,
+			slidesPerColumn: 1,
+			slidesPerColumnFill: "column",
+			slidesPerGroup: 1,
+			slidesPerGroupSkip: 0,
+			centeredSlides: !1,
+			centeredSlidesBounds: !1,
+			slidesOffsetBefore: 0,
+			slidesOffsetAfter: 0,
+			normalizeSlideIndex: !0,
+			centerInsufficientSlides: !1,
+			watchOverflow: !1,
+			roundLengths: !1,
+			touchRatio: 1,
+			touchAngle: 45,
+			simulateTouch: !0,
+			shortSwipes: !0,
+			longSwipes: !0,
+			longSwipesRatio: .5,
+			longSwipesMs: 300,
+			followFinger: !0,
+			allowTouchMove: !0,
+			threshold: 0,
+			touchMoveStopPropagation: !1,
+			touchStartPreventDefault: !0,
+			touchStartForcePreventDefault: !1,
+			touchReleaseOnEdges: !1,
+			uniqueNavElements: !0,
+			resistance: !0,
+			resistanceRatio: .85,
+			watchSlidesProgress: !1,
+			watchSlidesVisibility: !1,
+			grabCursor: !1,
+			preventClicks: !0,
+			preventClicksPropagation: !0,
+			slideToClickedSlide: !1,
+			preloadImages: !0,
+			updateOnImagesReady: !0,
+			loop: !1,
+			loopAdditionalSlides: 0,
+			loopedSlides: null,
+			loopFillGroupWithBlank: !1,
+			loopPreventsSlide: !0,
+			allowSlidePrev: !0,
+			allowSlideNext: !0,
+			swipeHandler: null,
+			noSwiping: !0,
+			noSwipingClass: "swiper-no-swiping",
+			noSwipingSelector: null,
+			passiveListeners: !0,
+			containerModifierClass: "swiper-container-",
+			slideClass: "swiper-slide",
+			slideBlankClass: "swiper-slide-invisible-blank",
+			slideActiveClass: "swiper-slide-active",
+			slideDuplicateActiveClass: "swiper-slide-duplicate-active",
+			slideVisibleClass: "swiper-slide-visible",
+			slideDuplicateClass: "swiper-slide-duplicate",
+			slideNextClass: "swiper-slide-next",
+			slideDuplicateNextClass: "swiper-slide-duplicate-next",
+			slidePrevClass: "swiper-slide-prev",
+			slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
+			wrapperClass: "swiper-wrapper",
+			runCallbacksOnInit: !0,
+			_emitClasses: !1
+		},
+		R = {
+			modular: {
+				useParams: function(e) {
+					var t = this;
+					t.modules && Object.keys(t.modules).forEach((function(a) {
+						var i = t.modules[a];
+						i.params && S(e, i.params)
+					}))
+				},
+				useModules: function(e) {
+					void 0 === e && (e = {});
+					var t = this;
+					t.modules && Object.keys(t.modules).forEach((function(a) {
+						var i = t.modules[a],
+							s = e[a] || {};
+						i.on && t.on && Object.keys(i.on).forEach((function(e) {
+							t.on(e, i.on[e])
+						})), i.create && i.create.bind(t)(s)
+					}))
+				}
+			},
+			eventsEmitter: {
+				on: function(e, t, a) {
+					var i = this;
+					if("function" != typeof t) return i;
+					var s = a ? "unshift" : "push";
+					return e.split(" ").forEach((function(e) {
+						i.eventsListeners[e] || (i.eventsListeners[e] = []), i.eventsListeners[e][s](t)
+					})), i
+				},
+				once: function(e, t, a) {
+					var i = this;
+					if("function" != typeof t) return i;
+
+					function s() {
+						i.off(e, s), s.__emitterProxy && delete s.__emitterProxy;
+						for(var a = arguments.length, r = new Array(a), n = 0; n < a; n++) r[n] = arguments[n];
+						t.apply(i, r)
+					}
+					return s.__emitterProxy = t, i.on(e, s, a)
+				},
+				onAny: function(e, t) {
+					var a = this;
+					if("function" != typeof e) return a;
+					var i = t ? "unshift" : "push";
+					return a.eventsAnyListeners.indexOf(e) < 0 && a.eventsAnyListeners[i](e), a
+				},
+				offAny: function(e) {
+					var t = this;
+					if(!t.eventsAnyListeners) return t;
+					var a = t.eventsAnyListeners.indexOf(e);
+					return a >= 0 && t.eventsAnyListeners.splice(a, 1), t
+				},
+				off: function(e, t) {
+					var a = this;
+					return a.eventsListeners ? (e.split(" ").forEach((function(e) {
+						void 0 === t ? a.eventsListeners[e] = [] : a.eventsListeners[e] && a.eventsListeners[e].forEach((function(i, s) {
+							(i === t || i.__emitterProxy && i.__emitterProxy === t) && a.eventsListeners[e].splice(s, 1)
+						}))
+					})), a) : a
+				},
+				emit: function() {
+					var e, t, a, i = this;
+					if(!i.eventsListeners) return i;
+					for(var s = arguments.length, r = new Array(s), n = 0; n < s; n++) r[n] = arguments[n];
+					"string" == typeof r[0] || Array.isArray(r[0]) ? (e = r[0], t = r.slice(1, r.length), a = i) : (e = r[0].events, t = r[0].data, a = r[0].context || i), t.unshift(a);
+					var l = Array.isArray(e) ? e : e.split(" ");
+					return l.forEach((function(e) {
+						i.eventsAnyListeners && i.eventsAnyListeners.length && i.eventsAnyListeners.forEach((function(i) {
+							i.apply(a, [e].concat(t))
+						})), i.eventsListeners && i.eventsListeners[e] && i.eventsListeners[e].forEach((function(e) {
+							e.apply(a, t)
+						}))
+					})), i
+				}
+			},
+			update: {
+				updateSize: function() {
+					var e, t, a = this,
+						i = a.$el;
+					e = void 0 !== a.params.width && null !== a.params.width ? a.params.width : i[0].clientWidth, t = void 0 !== a.params.height && null !== a.params.height ? a.params.height : i[0].clientHeight, 0 === e && a.isHorizontal() || 0 === t && a.isVertical() || (e = e - parseInt(i.css("padding-left") || 0, 10) - parseInt(i.css("padding-right") || 0, 10), t = t - parseInt(i.css("padding-top") || 0, 10) - parseInt(i.css("padding-bottom") || 0, 10), Number.isNaN(e) && (e = 0), Number.isNaN(t) && (t = 0), S(a, {
+						width: e,
+						height: t,
+						size: a.isHorizontal() ? e : t
+					}))
+				},
+				updateSlides: function() {
+					var e = this,
+						t = function(t) {
+							return e.isHorizontal() ? t : {
+								width: "height",
+								"margin-top": "margin-left",
+								"margin-bottom ": "margin-right",
+								"margin-left": "margin-top",
+								"margin-right": "margin-bottom",
+								"padding-left": "padding-top",
+								"padding-right": "padding-bottom",
+								marginRight: "marginBottom"
+							}[t]
+						},
+						a = function(e, a) {
+							return parseFloat(e.getPropertyValue(t(a)) || 0)
+						},
+						i = l(),
+						s = e.params,
+						r = e.$wrapperEl,
+						n = e.size,
+						o = e.rtlTranslate,
+						d = e.wrongRTL,
+						p = e.virtual && s.virtual.enabled,
+						u = p ? e.virtual.slides.length : e.slides.length,
+						c = r.children("." + e.params.slideClass),
+						h = p ? e.virtual.slides.length : c.length,
+						v = [],
+						f = [],
+						m = [],
+						g = s.slidesOffsetBefore;
+					"function" == typeof g && (g = s.slidesOffsetBefore.call(e));
+					var w = s.slidesOffsetAfter;
+					"function" == typeof w && (w = s.slidesOffsetAfter.call(e));
+					var y = e.snapGrid.length,
+						b = e.slidesGrid.length,
+						E = s.spaceBetween,
+						x = -g,
+						T = 0,
+						C = 0;
+					if(void 0 !== n) {
+						var M, z;
+						"string" == typeof E && E.indexOf("%") >= 0 && (E = parseFloat(E.replace("%", "")) / 100 * n), e.virtualSize = -E, o ? c.css({
+							marginLeft: "",
+							marginTop: ""
+						}) : c.css({
+							marginRight: "",
+							marginBottom: ""
+						}), s.slidesPerColumn > 1 && (M = Math.floor(h / s.slidesPerColumn) === h / e.params.slidesPerColumn ? h : Math.ceil(h / s.slidesPerColumn) * s.slidesPerColumn, "auto" !== s.slidesPerView && "row" === s.slidesPerColumnFill && (M = Math.max(M, s.slidesPerView * s.slidesPerColumn)));
+						for(var P, k, L, $ = s.slidesPerColumn, I = M / $, O = Math.floor(h / s.slidesPerColumn), A = 0; A < h; A += 1) {
+							z = 0;
+							var D = c.eq(A);
+							if(s.slidesPerColumn > 1) {
+								var G = void 0,
+									N = void 0,
+									B = void 0;
+								if("row" === s.slidesPerColumnFill && s.slidesPerGroup > 1) {
+									var H = Math.floor(A / (s.slidesPerGroup * s.slidesPerColumn)),
+										X = A - s.slidesPerColumn * s.slidesPerGroup * H,
+										Y = 0 === H ? s.slidesPerGroup : Math.min(Math.ceil((h - H * $ * s.slidesPerGroup) / $), s.slidesPerGroup);
+									G = (N = X - (B = Math.floor(X / Y)) * Y + H * s.slidesPerGroup) + B * M / $, D.css({
+										"-webkit-box-ordinal-group": G,
+										"-moz-box-ordinal-group": G,
+										"-ms-flex-order": G,
+										"-webkit-order": G,
+										order: G
+									})
+								} else "column" === s.slidesPerColumnFill ? (B = A - (N = Math.floor(A / $)) * $, (N > O || N === O && B === $ - 1) && (B += 1) >= $ && (B = 0, N += 1)) : N = A - (B = Math.floor(A / I)) * I;
+								D.css(t("margin-top"), 0 !== B && s.spaceBetween && s.spaceBetween + "px")
+							}
+							if("none" !== D.css("display")) {
+								if("auto" === s.slidesPerView) {
+									var R = i.getComputedStyle(D[0], null),
+										V = D[0].style.transform,
+										W = D[0].style.webkitTransform;
+									if(V && (D[0].style.transform = "none"), W && (D[0].style.webkitTransform = "none"), s.roundLengths) z = e.isHorizontal() ? D.outerWidth(!0) : D.outerHeight(!0);
+									else {
+										var F = a(R, "width"),
+											q = a(R, "padding-left"),
+											j = a(R, "padding-right"),
+											_ = a(R, "margin-left"),
+											U = a(R, "margin-right"),
+											K = R.getPropertyValue(R, "box-sizing");
+										if(K && "border-box" === K) z = F + _ + U;
+										else {
+											var Z = D[0],
+												J = Z.clientWidth;
+											z = F + q + j + _ + U + (Z.offsetWidth - J)
+										}
+									}
+									V && (D[0].style.transform = V), W && (D[0].style.webkitTransform = W), s.roundLengths && (z = Math.floor(z))
+								} else z = (n - (s.slidesPerView - 1) * E) / s.slidesPerView, s.roundLengths && (z = Math.floor(z)), c[A] && (c[A].style[t("width")] = z + "px");
+								c[A] && (c[A].swiperSlideSize = z), m.push(z), s.centeredSlides ? (x = x + z / 2 + T / 2 + E, 0 === T && 0 !== A && (x = x - n / 2 - E), 0 === A && (x = x - n / 2 - E), Math.abs(x) < .001 && (x = 0), s.roundLengths && (x = Math.floor(x)), C % s.slidesPerGroup == 0 && v.push(x), f.push(x)) : (s.roundLengths && (x = Math.floor(x)), (C - Math.min(e.params.slidesPerGroupSkip, C)) % e.params.slidesPerGroup == 0 && v.push(x), f.push(x), x = x + z + E), e.virtualSize += z + E, T = z, C += 1
+							}
+						}
+						if(e.virtualSize = Math.max(e.virtualSize, n) + w, o && d && ("slide" === s.effect || "coverflow" === s.effect) && r.css({
+								width: e.virtualSize + s.spaceBetween + "px"
+							}), s.setWrapperSize) r.css(((k = {})[t("width")] = e.virtualSize + s.spaceBetween + "px", k));
+						if(s.slidesPerColumn > 1)
+							if(e.virtualSize = (z + s.spaceBetween) * M, e.virtualSize = Math.ceil(e.virtualSize / s.slidesPerColumn) - s.spaceBetween, r.css(((L = {})[t("width")] = e.virtualSize + s.spaceBetween + "px", L)), s.centeredSlides) {
+								P = [];
+								for(var Q = 0; Q < v.length; Q += 1) {
+									var ee = v[Q];
+									s.roundLengths && (ee = Math.floor(ee)), v[Q] < e.virtualSize + v[0] && P.push(ee)
+								}
+								v = P
+							}
+						if(!s.centeredSlides) {
+							P = [];
+							for(var te = 0; te < v.length; te += 1) {
+								var ae = v[te];
+								s.roundLengths && (ae = Math.floor(ae)), v[te] <= e.virtualSize - n && P.push(ae)
+							}
+							v = P, Math.floor(e.virtualSize - n) - Math.floor(v[v.length - 1]) > 1 && v.push(e.virtualSize - n)
+						}
+						if(0 === v.length && (v = [0]), 0 !== s.spaceBetween) {
+							var ie, se = e.isHorizontal() && o ? "marginLeft" : t("marginRight");
+							c.filter((function(e, t) {
+								return !s.cssMode || t !== c.length - 1
+							})).css(((ie = {})[se] = E + "px", ie))
+						}
+						if(s.centeredSlides && s.centeredSlidesBounds) {
+							var re = 0;
+							m.forEach((function(e) {
+								re += e + (s.spaceBetween ? s.spaceBetween : 0)
+							}));
+							var ne = (re -= s.spaceBetween) - n;
+							v = v.map((function(e) {
+								return e < 0 ? -g : e > ne ? ne + w : e
+							}))
+						}
+						if(s.centerInsufficientSlides) {
+							var le = 0;
+							if(m.forEach((function(e) {
+									le += e + (s.spaceBetween ? s.spaceBetween : 0)
+								})), (le -= s.spaceBetween) < n) {
+								var oe = (n - le) / 2;
+								v.forEach((function(e, t) {
+									v[t] = e - oe
+								})), f.forEach((function(e, t) {
+									f[t] = e + oe
+								}))
+							}
+						}
+						S(e, {
+							slides: c,
+							snapGrid: v,
+							slidesGrid: f,
+							slidesSizesGrid: m
+						}), h !== u && e.emit("slidesLengthChange"), v.length !== y && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), f.length !== b && e.emit("slidesGridLengthChange"), (s.watchSlidesProgress || s.watchSlidesVisibility) && e.updateSlidesOffset()
+					}
+				},
+				updateAutoHeight: function(e) {
+					var t, a = this,
+						i = [],
+						s = 0;
+					if("number" == typeof e ? a.setTransition(e) : !0 === e && a.setTransition(a.params.speed), "auto" !== a.params.slidesPerView && a.params.slidesPerView > 1)
+						if(a.params.centeredSlides) a.visibleSlides.each((function(e) {
+							i.push(e)
+						}));
+						else
+							for(t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) {
+								var r = a.activeIndex + t;
+								if(r > a.slides.length) break;
+								i.push(a.slides.eq(r)[0])
+							} else i.push(a.slides.eq(a.activeIndex)[0]);
+					for(t = 0; t < i.length; t += 1)
+						if(void 0 !== i[t]) {
+							var n = i[t].offsetHeight;
+							s = n > s ? n : s
+						}
+					s && a.$wrapperEl.css("height", s + "px")
+				},
+				updateSlidesOffset: function() {
+					for(var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
+				},
+				updateSlidesProgress: function(e) {
+					void 0 === e && (e = this && this.translate || 0);
+					var t = this,
+						a = t.params,
+						i = t.slides,
+						s = t.rtlTranslate;
+					if(0 !== i.length) {
+						void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset();
+						var r = -e;
+						s && (r = e), i.removeClass(a.slideVisibleClass), t.visibleSlidesIndexes = [], t.visibleSlides = [];
+						for(var n = 0; n < i.length; n += 1) {
+							var l = i[n],
+								o = (r + (a.centeredSlides ? t.minTranslate() : 0) - l.swiperSlideOffset) / (l.swiperSlideSize + a.spaceBetween);
+							if(a.watchSlidesVisibility || a.centeredSlides && a.autoHeight) {
+								var d = -(r - l.swiperSlideOffset),
+									p = d + t.slidesSizesGrid[n];
+								(d >= 0 && d < t.size - 1 || p > 1 && p <= t.size || d <= 0 && p >= t.size) && (t.visibleSlides.push(l), t.visibleSlidesIndexes.push(n), i.eq(n).addClass(a.slideVisibleClass))
+							}
+							l.progress = s ? -o : o
+						}
+						t.visibleSlides = m(t.visibleSlides)
+					}
+				},
+				updateProgress: function(e) {
+					var t = this;
+					if(void 0 === e) {
+						var a = t.rtlTranslate ? -1 : 1;
+						e = t && t.translate && t.translate * a || 0
+					}
+					var i = t.params,
+						s = t.maxTranslate() - t.minTranslate(),
+						r = t.progress,
+						n = t.isBeginning,
+						l = t.isEnd,
+						o = n,
+						d = l;
+					0 === s ? (r = 0, n = !0, l = !0) : (n = (r = (e - t.minTranslate()) / s) <= 0, l = r >= 1), S(t, {
+						progress: r,
+						isBeginning: n,
+						isEnd: l
+					}), (i.watchSlidesProgress || i.watchSlidesVisibility || i.centeredSlides && i.autoHeight) && t.updateSlidesProgress(e), n && !o && t.emit("reachBeginning toEdge"), l && !d && t.emit("reachEnd toEdge"), (o && !n || d && !l) && t.emit("fromEdge"), t.emit("progress", r)
+				},
+				updateSlidesClasses: function() {
+					var e, t = this,
+						a = t.slides,
+						i = t.params,
+						s = t.$wrapperEl,
+						r = t.activeIndex,
+						n = t.realIndex,
+						l = t.virtual && i.virtual.enabled;
+					a.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), (e = l ? t.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + r + '"]') : a.eq(r)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + n + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + n + '"]').addClass(i.slideDuplicateActiveClass));
+					var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
+					i.loop && 0 === o.length && (o = a.eq(0)).addClass(i.slideNextClass);
+					var d = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
+					i.loop && 0 === d.length && (d = a.eq(-1)).addClass(i.slidePrevClass), i.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass), d.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass)), t.emitSlidesClasses()
+				},
+				updateActiveIndex: function(e) {
+					var t, a = this,
+						i = a.rtlTranslate ? a.translate : -a.translate,
+						s = a.slidesGrid,
+						r = a.snapGrid,
+						n = a.params,
+						l = a.activeIndex,
+						o = a.realIndex,
+						d = a.snapIndex,
+						p = e;
+					if(void 0 === p) {
+						for(var u = 0; u < s.length; u += 1) void 0 !== s[u + 1] ? i >= s[u] && i < s[u + 1] - (s[u + 1] - s[u]) / 2 ? p = u : i >= s[u] && i < s[u + 1] && (p = u + 1) : i >= s[u] && (p = u);
+						n.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0)
+					}
+					if(r.indexOf(i) >= 0) t = r.indexOf(i);
+					else {
+						var c = Math.min(n.slidesPerGroupSkip, p);
+						t = c + Math.floor((p - c) / n.slidesPerGroup)
+					}
+					if(t >= r.length && (t = r.length - 1), p !== l) {
+						var h = parseInt(a.slides.eq(p).attr("data-swiper-slide-index") || p, 10);
+						S(a, {
+							snapIndex: t,
+							realIndex: h,
+							previousIndex: l,
+							activeIndex: p
+						}), a.emit("activeIndexChange"), a.emit("snapIndexChange"), o !== h && a.emit("realIndexChange"), (a.initialized || a.params.runCallbacksOnInit) && a.emit("slideChange")
+					} else t !== d && (a.snapIndex = t, a.emit("snapIndexChange"))
+				},
+				updateClickedSlide: function(e) {
+					var t = this,
+						a = t.params,
+						i = m(e.target).closest("." + a.slideClass)[0],
+						s = !1;
+					if(i)
+						for(var r = 0; r < t.slides.length; r += 1) t.slides[r] === i && (s = !0);
+					if(!i || !s) return t.clickedSlide = void 0, void(t.clickedIndex = void 0);
+					t.clickedSlide = i, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(m(i).attr("data-swiper-slide-index"), 10) : t.clickedIndex = m(i).index(), a.slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide()
+				}
+			},
+			translate: {
+				getTranslate: function(e) {
+					void 0 === e && (e = this.isHorizontal() ? "x" : "y");
+					var t = this,
+						a = t.params,
+						i = t.rtlTranslate,
+						s = t.translate,
+						r = t.$wrapperEl;
+					if(a.virtualTranslate) return i ? -s : s;
+					if(a.cssMode) return s;
+					var n = T(r[0], e);
+					return i && (n = -n), n || 0
+				},
+				setTranslate: function(e, t) {
+					var a = this,
+						i = a.rtlTranslate,
+						s = a.params,
+						r = a.$wrapperEl,
+						n = a.wrapperEl,
+						l = a.progress,
+						o = 0,
+						d = 0;
+					a.isHorizontal() ? o = i ? -e : e : d = e, s.roundLengths && (o = Math.floor(o), d = Math.floor(d)), s.cssMode ? n[a.isHorizontal() ? "scrollLeft" : "scrollTop"] = a.isHorizontal() ? -o : -d : s.virtualTranslate || r.transform("translate3d(" + o + "px, " + d + "px, 0px)"), a.previousTranslate = a.translate, a.translate = a.isHorizontal() ? o : d;
+					var p = a.maxTranslate() - a.minTranslate();
+					(0 === p ? 0 : (e - a.minTranslate()) / p) !== l && a.updateProgress(e), a.emit("setTranslate", a.translate, t)
+				},
+				minTranslate: function() {
+					return -this.snapGrid[0]
+				},
+				maxTranslate: function() {
+					return -this.snapGrid[this.snapGrid.length - 1]
+				},
+				translateTo: function(e, t, a, i, s) {
+					void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0), void 0 === i && (i = !0);
+					var r = this,
+						n = r.params,
+						l = r.wrapperEl;
+					if(r.animating && n.preventInteractionOnTransition) return !1;
+					var o, d = r.minTranslate(),
+						p = r.maxTranslate();
+					if(o = i && e > d ? d : i && e < p ? p : e, r.updateProgress(o), n.cssMode) {
+						var u, c = r.isHorizontal();
+						if(0 === t) l[c ? "scrollLeft" : "scrollTop"] = -o;
+						else if(l.scrollTo) l.scrollTo(((u = {})[c ? "left" : "top"] = -o, u.behavior = "smooth", u));
+						else l[c ? "scrollLeft" : "scrollTop"] = -o;
+						return !0
+					}
+					return 0 === t ? (r.setTransition(0), r.setTranslate(o), a && (r.emit("beforeTransitionStart", t, s), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(o), a && (r.emit("beforeTransitionStart", t, s), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function(e) {
+						r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, a && r.emit("transitionEnd"))
+					}), r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))), !0
+				}
+			},
+			transition: {
+				setTransition: function(e, t) {
+					var a = this;
+					a.params.cssMode || a.$wrapperEl.transition(e), a.emit("setTransition", e, t)
+				},
+				transitionStart: function(e, t) {
+					void 0 === e && (e = !0);
+					var a = this,
+						i = a.activeIndex,
+						s = a.params,
+						r = a.previousIndex;
+					if(!s.cssMode) {
+						s.autoHeight && a.updateAutoHeight();
+						var n = t;
+						if(n || (n = i > r ? "next" : i < r ? "prev" : "reset"), a.emit("transitionStart"), e && i !== r) {
+							if("reset" === n) return void a.emit("slideResetTransitionStart");
+							a.emit("slideChangeTransitionStart"), "next" === n ? a.emit("slideNextTransitionStart") : a.emit("slidePrevTransitionStart")
+						}
+					}
+				},
+				transitionEnd: function(e, t) {
+					void 0 === e && (e = !0);
+					var a = this,
+						i = a.activeIndex,
+						s = a.previousIndex,
+						r = a.params;
+					if(a.animating = !1, !r.cssMode) {
+						a.setTransition(0);
+						var n = t;
+						if(n || (n = i > s ? "next" : i < s ? "prev" : "reset"), a.emit("transitionEnd"), e && i !== s) {
+							if("reset" === n) return void a.emit("slideResetTransitionEnd");
+							a.emit("slideChangeTransitionEnd"), "next" === n ? a.emit("slideNextTransitionEnd") : a.emit("slidePrevTransitionEnd")
+						}
+					}
+				}
+			},
+			slide: {
+				slideTo: function(e, t, a, i) {
+					if(void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0), "number" != typeof e && "string" != typeof e) throw new Error("The 'index' argument cannot have type other than 'number' or 'string'. [" + typeof e + "] given.");
+					if("string" == typeof e) {
+						var s = parseInt(e, 10);
+						if(!isFinite(s)) throw new Error("The passed-in 'index' (string) couldn't be converted to 'number'. [" + e + "] given.");
+						e = s
+					}
+					var r = this,
+						n = e;
+					n < 0 && (n = 0);
+					var l = r.params,
+						o = r.snapGrid,
+						d = r.slidesGrid,
+						p = r.previousIndex,
+						u = r.activeIndex,
+						c = r.rtlTranslate,
+						h = r.wrapperEl;
+					if(r.animating && l.preventInteractionOnTransition) return !1;
+					var v = Math.min(r.params.slidesPerGroupSkip, n),
+						f = v + Math.floor((n - v) / r.params.slidesPerGroup);
+					f >= o.length && (f = o.length - 1), (u || l.initialSlide || 0) === (p || 0) && a && r.emit("beforeSlideChangeStart");
+					var m, g = -o[f];
+					if(r.updateProgress(g), l.normalizeSlideIndex)
+						for(var w = 0; w < d.length; w += 1) {
+							var y = -Math.floor(100 * g),
+								b = Math.floor(100 * d[w]),
+								E = Math.floor(100 * d[w + 1]);
+							void 0 !== d[w + 1] ? y >= b && y < E - (E - b) / 2 ? n = w : y >= b && y < E && (n = w + 1) : y >= b && (n = w)
+						}
+					if(r.initialized && n !== u) {
+						if(!r.allowSlideNext && g < r.translate && g < r.minTranslate()) return !1;
+						if(!r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (u || 0) !== n) return !1
+					}
+					if(m = n > u ? "next" : n < u ? "prev" : "reset", c && -g === r.translate || !c && g === r.translate) return r.updateActiveIndex(n), l.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== l.effect && r.setTranslate(g), "reset" !== m && (r.transitionStart(a, m), r.transitionEnd(a, m)), !1;
+					if(l.cssMode) {
+						var x, T = r.isHorizontal(),
+							C = -g;
+						if(c && (C = h.scrollWidth - h.offsetWidth - C), 0 === t) h[T ? "scrollLeft" : "scrollTop"] = C;
+						else if(h.scrollTo) h.scrollTo(((x = {})[T ? "left" : "top"] = C, x.behavior = "smooth", x));
+						else h[T ? "scrollLeft" : "scrollTop"] = C;
+						return !0
+					}
+					return 0 === t ? (r.setTransition(0), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, i), r.transitionStart(a, m), r.transitionEnd(a, m)) : (r.setTransition(t), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, i), r.transitionStart(a, m), r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function(e) {
+						r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(a, m))
+					}), r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd))), !0
+				},
+				slideToLoop: function(e, t, a, i) {
+					void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0);
+					var s = this,
+						r = e;
+					return s.params.loop && (r += s.loopedSlides), s.slideTo(r, t, a, i)
+				},
+				slideNext: function(e, t, a) {
+					void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
+					var i = this,
+						s = i.params,
+						r = i.animating,
+						n = i.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
+					if(s.loop) {
+						if(r && s.loopPreventsSlide) return !1;
+						i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft
+					}
+					return i.slideTo(i.activeIndex + n, e, t, a)
+				},
+				slidePrev: function(e, t, a) {
+					void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
+					var i = this,
+						s = i.params,
+						r = i.animating,
+						n = i.snapGrid,
+						l = i.slidesGrid,
+						o = i.rtlTranslate;
+					if(s.loop) {
+						if(r && s.loopPreventsSlide) return !1;
+						i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft
+					}
+
+					function d(e) {
+						return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
+					}
+					var p = d(o ? i.translate : -i.translate),
+						u = n.map((function(e) {
+							return d(e)
+						}));
+					n[u.indexOf(p)];
+					var c, h = n[u.indexOf(p) - 1];
+					return void 0 === h && s.cssMode && n.forEach((function(e) {
+						!h && p >= e && (h = e)
+					})), void 0 !== h && (c = l.indexOf(h)) < 0 && (c = i.activeIndex - 1), i.slideTo(c, e, t, a)
+				},
+				slideReset: function(e, t, a) {
+					return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, a)
+				},
+				slideToClosest: function(e, t, a, i) {
+					void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 === i && (i = .5);
+					var s = this,
+						r = s.activeIndex,
+						n = Math.min(s.params.slidesPerGroupSkip, r),
+						l = n + Math.floor((r - n) / s.params.slidesPerGroup),
+						o = s.rtlTranslate ? s.translate : -s.translate;
+					if(o >= s.snapGrid[l]) {
+						var d = s.snapGrid[l];
+						o - d > (s.snapGrid[l + 1] - d) * i && (r += s.params.slidesPerGroup)
+					} else {
+						var p = s.snapGrid[l - 1];
+						o - p <= (s.snapGrid[l] - p) * i && (r -= s.params.slidesPerGroup)
+					}
+					return r = Math.max(r, 0), r = Math.min(r, s.slidesGrid.length - 1), s.slideTo(r, e, t, a)
+				},
+				slideToClickedSlide: function() {
+					var e, t = this,
+						a = t.params,
+						i = t.$wrapperEl,
+						s = "auto" === a.slidesPerView ? t.slidesPerViewDynamic() : a.slidesPerView,
+						r = t.clickedIndex;
+					if(a.loop) {
+						if(t.animating) return;
+						e = parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"), 10), a.centeredSlides ? r < t.loopedSlides - s / 2 || r > t.slides.length - t.loopedSlides + s / 2 ? (t.loopFix(), r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), E((function() {
+							t.slideTo(r)
+						}))) : t.slideTo(r) : r > t.slides.length - s ? (t.loopFix(), r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), E((function() {
+							t.slideTo(r)
+						}))) : t.slideTo(r)
+					} else t.slideTo(r)
+				}
+			},
+			loop: {
+				loopCreate: function() {
+					var e = this,
+						t = r(),
+						a = e.params,
+						i = e.$wrapperEl;
+					i.children("." + a.slideClass + "." + a.slideDuplicateClass).remove();
+					var s = i.children("." + a.slideClass);
+					if(a.loopFillGroupWithBlank) {
+						var n = a.slidesPerGroup - s.length % a.slidesPerGroup;
+						if(n !== a.slidesPerGroup) {
+							for(var l = 0; l < n; l += 1) {
+								var o = m(t.createElement("div")).addClass(a.slideClass + " " + a.slideBlankClass);
+								i.append(o)
+							}
+							s = i.children("." + a.slideClass)
+						}
+					}
+					"auto" !== a.slidesPerView || a.loopedSlides || (a.loopedSlides = s.length), e.loopedSlides = Math.ceil(parseFloat(a.loopedSlides || a.slidesPerView, 10)), e.loopedSlides += a.loopAdditionalSlides, e.loopedSlides > s.length && (e.loopedSlides = s.length);
+					var d = [],
+						p = [];
+					s.each((function(t, a) {
+						var i = m(t);
+						a < e.loopedSlides && p.push(t), a < s.length && a >= s.length - e.loopedSlides && d.push(t), i.attr("data-swiper-slide-index", a)
+					}));
+					for(var u = 0; u < p.length; u += 1) i.append(m(p[u].cloneNode(!0)).addClass(a.slideDuplicateClass));
+					for(var c = d.length - 1; c >= 0; c -= 1) i.prepend(m(d[c].cloneNode(!0)).addClass(a.slideDuplicateClass))
+				},
+				loopFix: function() {
+					var e = this;
+					e.emit("beforeLoopFix");
+					var t, a = e.activeIndex,
+						i = e.slides,
+						s = e.loopedSlides,
+						r = e.allowSlidePrev,
+						n = e.allowSlideNext,
+						l = e.snapGrid,
+						o = e.rtlTranslate;
+					e.allowSlidePrev = !0, e.allowSlideNext = !0;
+					var d = -l[a] - e.getTranslate();
+					if(a < s) t = i.length - 3 * s + a, t += s, e.slideTo(t, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d);
+					else if(a >= i.length - s) {
+						t = -i.length + a + s, t += s, e.slideTo(t, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d)
+					}
+					e.allowSlidePrev = r, e.allowSlideNext = n, e.emit("loopFix")
+				},
+				loopDestroy: function() {
+					var e = this,
+						t = e.$wrapperEl,
+						a = e.params,
+						i = e.slides;
+					t.children("." + a.slideClass + "." + a.slideDuplicateClass + ",." + a.slideClass + "." + a.slideBlankClass).remove(), i.removeAttr("data-swiper-slide-index")
+				}
+			},
+			grabCursor: {
+				setGrabCursor: function(e) {
+					var t = this;
+					if(!(t.support.touch || !t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode)) {
+						var a = t.el;
+						a.style.cursor = "move", a.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", a.style.cursor = e ? "-moz-grabbin" : "-moz-grab", a.style.cursor = e ? "grabbing" : "grab"
+					}
+				},
+				unsetGrabCursor: function() {
+					var e = this;
+					e.support.touch || e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.el.style.cursor = "")
+				}
+			},
+			manipulation: {
+				appendSlide: function(e) {
+					var t = this,
+						a = t.$wrapperEl,
+						i = t.params;
+					if(i.loop && t.loopDestroy(), "object" == typeof e && "length" in e)
+						for(var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]);
+					else a.append(e);
+					i.loop && t.loopCreate(), i.observer && t.support.observer || t.update()
+				},
+				prependSlide: function(e) {
+					var t = this,
+						a = t.params,
+						i = t.$wrapperEl,
+						s = t.activeIndex;
+					a.loop && t.loopDestroy();
+					var r = s + 1;
+					if("object" == typeof e && "length" in e) {
+						for(var n = 0; n < e.length; n += 1) e[n] && i.prepend(e[n]);
+						r = s + e.length
+					} else i.prepend(e);
+					a.loop && t.loopCreate(), a.observer && t.support.observer || t.update(), t.slideTo(r, 0, !1)
+				},
+				addSlide: function(e, t) {
+					var a = this,
+						i = a.$wrapperEl,
+						s = a.params,
+						r = a.activeIndex;
+					s.loop && (r -= a.loopedSlides, a.loopDestroy(), a.slides = i.children("." + s.slideClass));
+					var n = a.slides.length;
+					if(e <= 0) a.prependSlide(t);
+					else if(e >= n) a.appendSlide(t);
+					else {
+						for(var l = r > e ? r + 1 : r, o = [], d = n - 1; d >= e; d -= 1) {
+							var p = a.slides.eq(d);
+							p.remove(), o.unshift(p)
+						}
+						if("object" == typeof t && "length" in t) {
+							for(var u = 0; u < t.length; u += 1) t[u] && i.append(t[u]);
+							l = r > e ? r + t.length : r
+						} else i.append(t);
+						for(var c = 0; c < o.length; c += 1) i.append(o[c]);
+						s.loop && a.loopCreate(), s.observer && a.support.observer || a.update(), s.loop ? a.slideTo(l + a.loopedSlides, 0, !1) : a.slideTo(l, 0, !1)
+					}
+				},
+				removeSlide: function(e) {
+					var t = this,
+						a = t.params,
+						i = t.$wrapperEl,
+						s = t.activeIndex;
+					a.loop && (s -= t.loopedSlides, t.loopDestroy(), t.slides = i.children("." + a.slideClass));
+					var r, n = s;
+					if("object" == typeof e && "length" in e) {
+						for(var l = 0; l < e.length; l += 1) r = e[l], t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1);
+						n = Math.max(n, 0)
+					} else r = e, t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1), n = Math.max(n, 0);
+					a.loop && t.loopCreate(), a.observer && t.support.observer || t.update(), a.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1)
+				},
+				removeAllSlides: function() {
+					for(var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
+					this.removeSlide(e)
+				}
+			},
+			events: {
+				attachEvents: function() {
+					var e = this,
+						t = r(),
+						a = e.params,
+						i = e.touchEvents,
+						s = e.el,
+						n = e.wrapperEl,
+						l = e.device,
+						o = e.support;
+					e.onTouchStart = O.bind(e), e.onTouchMove = A.bind(e), e.onTouchEnd = D.bind(e), a.cssMode && (e.onScroll = B.bind(e)), e.onClick = N.bind(e);
+					var d = !!a.nested;
+					if(!o.touch && o.pointerEvents) s.addEventListener(i.start, e.onTouchStart, !1), t.addEventListener(i.move, e.onTouchMove, d), t.addEventListener(i.end, e.onTouchEnd, !1);
+					else {
+						if(o.touch) {
+							var p = !("touchstart" !== i.start || !o.passiveListener || !a.passiveListeners) && {
+								passive: !0,
+								capture: !1
+							};
+							s.addEventListener(i.start, e.onTouchStart, p), s.addEventListener(i.move, e.onTouchMove, o.passiveListener ? {
+								passive: !1,
+								capture: d
+							} : d), s.addEventListener(i.end, e.onTouchEnd, p), i.cancel && s.addEventListener(i.cancel, e.onTouchEnd, p), H || (t.addEventListener("touchstart", X), H = !0)
+						}(a.simulateTouch && !l.ios && !l.android || a.simulateTouch && !o.touch && l.ios) && (s.addEventListener("mousedown", e.onTouchStart, !1), t.addEventListener("mousemove", e.onTouchMove, d), t.addEventListener("mouseup", e.onTouchEnd, !1))
+					}(a.preventClicks || a.preventClicksPropagation) && s.addEventListener("click", e.onClick, !0), a.cssMode && n.addEventListener("scroll", e.onScroll), a.updateOnWindowResize ? e.on(l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", G, !0) : e.on("observerUpdate", G, !0)
+				},
+				detachEvents: function() {
+					var e = this,
+						t = r(),
+						a = e.params,
+						i = e.touchEvents,
+						s = e.el,
+						n = e.wrapperEl,
+						l = e.device,
+						o = e.support,
+						d = !!a.nested;
+					if(!o.touch && o.pointerEvents) s.removeEventListener(i.start, e.onTouchStart, !1), t.removeEventListener(i.move, e.onTouchMove, d), t.removeEventListener(i.end, e.onTouchEnd, !1);
+					else {
+						if(o.touch) {
+							var p = !("onTouchStart" !== i.start || !o.passiveListener || !a.passiveListeners) && {
+								passive: !0,
+								capture: !1
+							};
+							s.removeEventListener(i.start, e.onTouchStart, p), s.removeEventListener(i.move, e.onTouchMove, d), s.removeEventListener(i.end, e.onTouchEnd, p), i.cancel && s.removeEventListener(i.cancel, e.onTouchEnd, p)
+						}(a.simulateTouch && !l.ios && !l.android || a.simulateTouch && !o.touch && l.ios) && (s.removeEventListener("mousedown", e.onTouchStart, !1), t.removeEventListener("mousemove", e.onTouchMove, d), t.removeEventListener("mouseup", e.onTouchEnd, !1))
+					}(a.preventClicks || a.preventClicksPropagation) && s.removeEventListener("click", e.onClick, !0), a.cssMode && n.removeEventListener("scroll", e.onScroll), e.off(l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", G)
+				}
+			},
+			breakpoints: {
+				setBreakpoint: function() {
+					var e = this,
+						t = e.activeIndex,
+						a = e.initialized,
+						i = e.loopedSlides,
+						s = void 0 === i ? 0 : i,
+						r = e.params,
+						n = e.$el,
+						l = r.breakpoints;
+					if(l && (!l || 0 !== Object.keys(l).length)) {
+						var o = e.getBreakpoint(l);
+						if(o && e.currentBreakpoint !== o) {
+							var d = o in l ? l[o] : void 0;
+							d && ["slidesPerView", "spaceBetween", "slidesPerGroup", "slidesPerGroupSkip", "slidesPerColumn"].forEach((function(e) {
+								var t = d[e];
+								void 0 !== t && (d[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto")
+							}));
+							var p = d || e.originalParams,
+								u = r.slidesPerColumn > 1,
+								c = p.slidesPerColumn > 1;
+							u && !c ? (n.removeClass(r.containerModifierClass + "multirow " + r.containerModifierClass + "multirow-column"), e.emitContainerClasses()) : !u && c && (n.addClass(r.containerModifierClass + "multirow"), "column" === p.slidesPerColumnFill && n.addClass(r.containerModifierClass + "multirow-column"), e.emitContainerClasses());
+							var h = p.direction && p.direction !== r.direction,
+								v = r.loop && (p.slidesPerView !== r.slidesPerView || h);
+							h && a && e.changeDirection(), S(e.params, p), S(e, {
+								allowTouchMove: e.params.allowTouchMove,
+								allowSlideNext: e.params.allowSlideNext,
+								allowSlidePrev: e.params.allowSlidePrev
+							}), e.currentBreakpoint = o, e.emit("_beforeBreakpoint", p), v && a && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - s + e.loopedSlides, 0, !1)), e.emit("breakpoint", p)
+						}
+					}
+				},
+				getBreakpoint: function(e) {
+					var t = l();
+					if(e) {
+						var a = !1,
+							i = Object.keys(e).map((function(e) {
+								if("string" == typeof e && 0 === e.indexOf("@")) {
+									var a = parseFloat(e.substr(1));
+									return {
+										value: t.innerHeight * a,
+										point: e
+									}
+								}
+								return {
+									value: e,
+									point: e
+								}
+							}));
+						i.sort((function(e, t) {
+							return parseInt(e.value, 10) - parseInt(t.value, 10)
+						}));
+						for(var s = 0; s < i.length; s += 1) {
+							var r = i[s],
+								n = r.point;
+							r.value <= t.innerWidth && (a = n)
+						}
+						return a || "max"
+					}
+				}
+			},
+			checkOverflow: {
+				checkOverflow: function() {
+					var e = this,
+						t = e.params,
+						a = e.isLocked,
+						i = e.slides.length > 0 && t.slidesOffsetBefore + t.spaceBetween * (e.slides.length - 1) + e.slides[0].offsetWidth * e.slides.length;
+					t.slidesOffsetBefore && t.slidesOffsetAfter && i ? e.isLocked = i <= e.size : e.isLocked = 1 === e.snapGrid.length, e.allowSlideNext = !e.isLocked, e.allowSlidePrev = !e.isLocked, a !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"), a && a !== e.isLocked && (e.isEnd = !1, e.navigation && e.navigation.update())
+				}
+			},
+			classes: {
+				addClasses: function() {
+					var e, t, a, i = this,
+						s = i.classNames,
+						r = i.params,
+						n = i.rtl,
+						l = i.$el,
+						o = i.device,
+						d = i.support,
+						p = (e = ["initialized", r.direction, {
+							"pointer-events": d.pointerEvents && !d.touch
+						}, {
+							"free-mode": r.freeMode
+						}, {
+							autoheight: r.autoHeight
+						}, {
+							rtl: n
+						}, {
+							multirow: r.slidesPerColumn > 1
+						}, {
+							"multirow-column": r.slidesPerColumn > 1 && "column" === r.slidesPerColumnFill
+						}, {
+							android: o.android
+						}, {
+							ios: o.ios
+						}, {
+							"css-mode": r.cssMode
+						}], t = r.containerModifierClass, a = [], e.forEach((function(e) {
+							"object" == typeof e ? Object.entries(e).forEach((function(e) {
+								var i = e[0];
+								e[1] && a.push(t + i)
+							})) : "string" == typeof e && a.push(t + e)
+						})), a);
+					s.push.apply(s, p), l.addClass([].concat(s).join(" ")), i.emitContainerClasses()
+				},
+				removeClasses: function() {
+					var e = this,
+						t = e.$el,
+						a = e.classNames;
+					t.removeClass(a.join(" ")), e.emitContainerClasses()
+				}
+			},
+			images: {
+				loadImage: function(e, t, a, i, s, r) {
+					var n, o = l();
+
+					function d() {
+						r && r()
+					}
+					m(e).parent("picture")[0] || e.complete && s ? d() : t ? ((n = new o.Image).onload = d, n.onerror = d, i && (n.sizes = i), a && (n.srcset = a), t && (n.src = t)) : d()
+				},
+				preloadImages: function() {
+					var e = this;
+
+					function t() {
+						null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
+					}
+					e.imagesToLoad = e.$el.find("img");
+					for(var a = 0; a < e.imagesToLoad.length; a += 1) {
+						var i = e.imagesToLoad[a];
+						e.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute("srcset"), i.sizes || i.getAttribute("sizes"), !0, t)
+					}
+				}
+			}
+		},
+		V = {},
+		W = function() {
+			function t() {
+				for(var e, a, i = arguments.length, s = new Array(i), r = 0; r < i; r++) s[r] = arguments[r];
+				if(1 === s.length && s[0].constructor && s[0].constructor === Object ? a = s[0] : (e = s[0], a = s[1]), a || (a = {}), a = S({}, a), e && !a.el && (a.el = e), a.el && m(a.el).length > 1) {
+					var n = [];
+					return m(a.el).each((function(e) {
+						var i = S({}, a, {
+							el: e
+						});
+						n.push(new t(i))
+					})), n
+				}
+				var l = this;
+				l.support = z(), l.device = P({
+					userAgent: a.userAgent
+				}), l.browser = k(), l.eventsListeners = {}, l.eventsAnyListeners = [], void 0 === l.modules && (l.modules = {}), Object.keys(l.modules).forEach((function(e) {
+					var t = l.modules[e];
+					if(t.params) {
+						var i = Object.keys(t.params)[0],
+							s = t.params[i];
+						if("object" != typeof s || null === s) return;
+						if(!(i in a) || !("enabled" in s)) return;
+						!0 === a[i] && (a[i] = {
+							enabled: !0
+						}), "object" != typeof a[i] || "enabled" in a[i] || (a[i].enabled = !0), a[i] || (a[i] = {
+							enabled: !1
+						})
+					}
+				}));
+				var o, d, p = S({}, Y);
+				return l.useParams(p), l.params = S({}, p, V, a), l.originalParams = S({}, l.params), l.passedParams = S({}, a), l.params && l.params.on && Object.keys(l.params.on).forEach((function(e) {
+					l.on(e, l.params.on[e])
+				})), l.params && l.params.onAny && l.onAny(l.params.onAny), l.$ = m, S(l, {
+					el: e,
+					classNames: [],
+					slides: m(),
+					slidesGrid: [],
+					snapGrid: [],
+					slidesSizesGrid: [],
+					isHorizontal: function() {
+						return "horizontal" === l.params.direction
+					},
+					isVertical: function() {
+						return "vertical" === l.params.direction
+					},
+					activeIndex: 0,
+					realIndex: 0,
+					isBeginning: !0,
+					isEnd: !1,
+					translate: 0,
+					previousTranslate: 0,
+					progress: 0,
+					velocity: 0,
+					animating: !1,
+					allowSlideNext: l.params.allowSlideNext,
+					allowSlidePrev: l.params.allowSlidePrev,
+					touchEvents: (o = ["touchstart", "touchmove", "touchend", "touchcancel"], d = ["mousedown", "mousemove", "mouseup"], l.support.pointerEvents && (d = ["pointerdown", "pointermove", "pointerup"]), l.touchEventsTouch = {
+						start: o[0],
+						move: o[1],
+						end: o[2],
+						cancel: o[3]
+					}, l.touchEventsDesktop = {
+						start: d[0],
+						move: d[1],
+						end: d[2]
+					}, l.support.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop),
+					touchEventsData: {
+						isTouched: void 0,
+						isMoved: void 0,
+						allowTouchCallbacks: void 0,
+						touchStartTime: void 0,
+						isScrolling: void 0,
+						currentTranslate: void 0,
+						startTranslate: void 0,
+						allowThresholdMove: void 0,
+						formElements: "input, select, option, textarea, button, video, label",
+						lastClickTime: x(),
+						clickTimeout: void 0,
+						velocities: [],
+						allowMomentumBounce: void 0,
+						isTouchEvent: void 0,
+						startMoving: void 0
+					},
+					allowClick: !0,
+					allowTouchMove: l.params.allowTouchMove,
+					touches: {
+						startX: 0,
+						startY: 0,
+						currentX: 0,
+						currentY: 0,
+						diff: 0
+					},
+					imagesToLoad: [],
+					imagesLoaded: 0
+				}), l.useModules(), l.emit("_swiper"), l.params.init && l.init(), l
+			}
+			var a, i, s, r = t.prototype;
+			return r.emitContainerClasses = function() {
+				var e = this;
+				if(e.params._emitClasses && e.el) {
+					var t = e.el.className.split(" ").filter((function(t) {
+						return 0 === t.indexOf("swiper-container") || 0 === t.indexOf(e.params.containerModifierClass)
+					}));
+					e.emit("_containerClasses", t.join(" "))
+				}
+			}, r.getSlideClasses = function(e) {
+				var t = this;
+				return e.className.split(" ").filter((function(e) {
+					return 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass)
+				})).join(" ")
+			}, r.emitSlidesClasses = function() {
+				var e = this;
+				if(e.params._emitClasses && e.el) {
+					var t = [];
+					e.slides.each((function(a) {
+						var i = e.getSlideClasses(a);
+						t.push({
+							slideEl: a,
+							classNames: i
+						}), e.emit("_slideClass", a, i)
+					})), e.emit("_slideClasses", t)
+				}
+			}, r.slidesPerViewDynamic = function() {
+				var e = this,
+					t = e.params,
+					a = e.slides,
+					i = e.slidesGrid,
+					s = e.size,
+					r = e.activeIndex,
+					n = 1;
+				if(t.centeredSlides) {
+					for(var l, o = a[r].swiperSlideSize, d = r + 1; d < a.length; d += 1) a[d] && !l && (n += 1, (o += a[d].swiperSlideSize) > s && (l = !0));
+					for(var p = r - 1; p >= 0; p -= 1) a[p] && !l && (n += 1, (o += a[p].swiperSlideSize) > s && (l = !0))
+				} else
+					for(var u = r + 1; u < a.length; u += 1) i[u] - i[r] < s && (n += 1);
+				return n
+			}, r.update = function() {
+				var e = this;
+				if(e && !e.destroyed) {
+					var t = e.snapGrid,
+						a = e.params;
+					a.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? (i(), e.params.autoHeight && e.updateAutoHeight()) : (("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)) || i(), a.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update")
+				}
+
+				function i() {
+					var t = e.rtlTranslate ? -1 * e.translate : e.translate,
+						a = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
+					e.setTranslate(a), e.updateActiveIndex(), e.updateSlidesClasses()
+				}
+			}, r.changeDirection = function(e, t) {
+				void 0 === t && (t = !0);
+				var a = this,
+					i = a.params.direction;
+				return e || (e = "horizontal" === i ? "vertical" : "horizontal"), e === i || "horizontal" !== e && "vertical" !== e || (a.$el.removeClass("" + a.params.containerModifierClass + i).addClass("" + a.params.containerModifierClass + e), a.emitContainerClasses(), a.params.direction = e, a.slides.each((function(t) {
+					"vertical" === e ? t.style.width = "" : t.style.height = ""
+				})), a.emit("changeDirection"), t && a.update()), a
+			}, r.mount = function(e) {
+				var t = this;
+				if(t.mounted) return !0;
+				var a, i = m(e || t.params.el);
+				return !!(e = i[0]) && (e.swiper = t, e && e.shadowRoot && e.shadowRoot.querySelector ? (a = m(e.shadowRoot.querySelector("." + t.params.wrapperClass))).children = function(e) {
+					return i.children(e)
+				} : a = i.children("." + t.params.wrapperClass), S(t, {
+					$el: i,
+					el: e,
+					$wrapperEl: a,
+					wrapperEl: a[0],
+					mounted: !0,
+					rtl: "rtl" === e.dir.toLowerCase() || "rtl" === i.css("direction"),
+					rtlTranslate: "horizontal" === t.params.direction && ("rtl" === e.dir.toLowerCase() || "rtl" === i.css("direction")),
+					wrongRTL: "-webkit-box" === a.css("display")
+				}), !0)
+			}, r.init = function(e) {
+				var t = this;
+				return t.initialized || !1 === t.mount(e) || (t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.params.loop && t.loopCreate(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.setGrabCursor(), t.params.preloadImages && t.preloadImages(), t.params.loop ? t.slideTo(t.params.initialSlide + t.loopedSlides, 0, t.params.runCallbacksOnInit) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit), t.attachEvents(), t.initialized = !0, t.emit("init"), t.emit("afterInit")), t
+			}, r.destroy = function(e, t) {
+				void 0 === e && (e = !0), void 0 === t && (t = !0);
+				var a, i = this,
+					s = i.params,
+					r = i.$el,
+					n = i.$wrapperEl,
+					l = i.slides;
+				return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), r.removeAttr("style"), n.removeAttr("style"), l && l.length && l.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), i.emit("destroy"), Object.keys(i.eventsListeners).forEach((function(e) {
+					i.off(e)
+				})), !1 !== e && (i.$el[0].swiper = null, a = i, Object.keys(a).forEach((function(e) {
+					try {
+						a[e] = null
+					} catch(e) {}
+					try {
+						delete a[e]
+					} catch(e) {}
+				}))), i.destroyed = !0), null
+			}, t.extendDefaults = function(e) {
+				S(V, e)
+			}, t.installModule = function(e) {
+				t.prototype.modules || (t.prototype.modules = {});
+				var a = e.name || Object.keys(t.prototype.modules).length + "_" + x();
+				t.prototype.modules[a] = e
+			}, t.use = function(e) {
+				return Array.isArray(e) ? (e.forEach((function(e) {
+					return t.installModule(e)
+				})), t) : (t.installModule(e), t)
+			}, a = t, s = [{
+				key: "extendedDefaults",
+				get: function() {
+					return V
+				}
+			}, {
+				key: "defaults",
+				get: function() {
+					return Y
+				}
+			}], (i = null) && e(a.prototype, i), s && e(a, s), t
+		}();
+	Object.keys(R).forEach((function(e) {
+		Object.keys(R[e]).forEach((function(t) {
+			W.prototype[t] = R[e][t]
+		}))
+	})), W.use([L, I]);
+	var F = {
+			update: function(e) {
+				var t = this,
+					a = t.params,
+					i = a.slidesPerView,
+					s = a.slidesPerGroup,
+					r = a.centeredSlides,
+					n = t.params.virtual,
+					l = n.addSlidesBefore,
+					o = n.addSlidesAfter,
+					d = t.virtual,
+					p = d.from,
+					u = d.to,
+					c = d.slides,
+					h = d.slidesGrid,
+					v = d.renderSlide,
+					f = d.offset;
+				t.updateActiveIndex();
+				var m, g, w, y = t.activeIndex || 0;
+				m = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (g = Math.floor(i / 2) + s + o, w = Math.floor(i / 2) + s + l) : (g = i + (s - 1) + o, w = s + l);
+				var b = Math.max((y || 0) - w, 0),
+					E = Math.min((y || 0) + g, c.length - 1),
+					x = (t.slidesGrid[b] || 0) - (t.slidesGrid[0] || 0);
+
+				function T() {
+					t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load()
+				}
+				if(S(t.virtual, {
+						from: b,
+						to: E,
+						offset: x,
+						slidesGrid: t.slidesGrid
+					}), p === b && u === E && !e) return t.slidesGrid !== h && x !== f && t.slides.css(m, x + "px"), void t.updateProgress();
+				if(t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, {
+					offset: x,
+					from: b,
+					to: E,
+					slides: function() {
+						for(var e = [], t = b; t <= E; t += 1) e.push(c[t]);
+						return e
+					}()
+				}), void(t.params.virtual.renderExternalUpdate && T());
+				var C = [],
+					M = [];
+				if(e) t.$wrapperEl.find("." + t.params.slideClass).remove();
+				else
+					for(var z = p; z <= u; z += 1)(z < b || z > E) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + z + '"]').remove();
+				for(var P = 0; P < c.length; P += 1) P >= b && P <= E && (void 0 === u || e ? M.push(P) : (P > u && M.push(P), P < p && C.push(P)));
+				M.forEach((function(e) {
+					t.$wrapperEl.append(v(c[e], e))
+				})), C.sort((function(e, t) {
+					return t - e
+				})).forEach((function(e) {
+					t.$wrapperEl.prepend(v(c[e], e))
+				})), t.$wrapperEl.children(".swiper-slide").css(m, x + "px"), T()
+			},
+			renderSlide: function(e, t) {
+				var a = this,
+					i = a.params.virtual;
+				if(i.cache && a.virtual.cache[t]) return a.virtual.cache[t];
+				var s = i.renderSlide ? m(i.renderSlide.call(a, e, t)) : m('<div class="' + a.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>");
+				return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (a.virtual.cache[t] = s), s
+			},
+			appendSlide: function(e) {
+				var t = this;
+				if("object" == typeof e && "length" in e)
+					for(var a = 0; a < e.length; a += 1) e[a] && t.virtual.slides.push(e[a]);
+				else t.virtual.slides.push(e);
+				t.virtual.update(!0)
+			},
+			prependSlide: function(e) {
+				var t = this,
+					a = t.activeIndex,
+					i = a + 1,
+					s = 1;
+				if(Array.isArray(e)) {
+					for(var r = 0; r < e.length; r += 1) e[r] && t.virtual.slides.unshift(e[r]);
+					i = a + e.length, s = e.length
+				} else t.virtual.slides.unshift(e);
+				if(t.params.virtual.cache) {
+					var n = t.virtual.cache,
+						l = {};
+					Object.keys(n).forEach((function(e) {
+						var t = n[e],
+							a = t.attr("data-swiper-slide-index");
+						a && t.attr("data-swiper-slide-index", parseInt(a, 10) + 1), l[parseInt(e, 10) + s] = t
+					})), t.virtual.cache = l
+				}
+				t.virtual.update(!0), t.slideTo(i, 0)
+			},
+			removeSlide: function(e) {
+				var t = this;
+				if(null != e) {
+					var a = t.activeIndex;
+					if(Array.isArray(e))
+						for(var i = e.length - 1; i >= 0; i -= 1) t.virtual.slides.splice(e[i], 1), t.params.virtual.cache && delete t.virtual.cache[e[i]], e[i] < a && (a -= 1), a = Math.max(a, 0);
+					else t.virtual.slides.splice(e, 1), t.params.virtual.cache && delete t.virtual.cache[e], e < a && (a -= 1), a = Math.max(a, 0);
+					t.virtual.update(!0), t.slideTo(a, 0)
+				}
+			},
+			removeAllSlides: function() {
+				var e = this;
+				e.virtual.slides = [], e.params.virtual.cache && (e.virtual.cache = {}), e.virtual.update(!0), e.slideTo(0, 0)
+			}
+		},
+		q = {
+			name: "virtual",
+			params: {
+				virtual: {
+					enabled: !1,
+					slides: [],
+					cache: !0,
+					renderSlide: null,
+					renderExternal: null,
+					renderExternalUpdate: !0,
+					addSlidesBefore: 0,
+					addSlidesAfter: 0
+				}
+			},
+			create: function() {
+				M(this, {
+					virtual: t({}, F, {
+						slides: this.params.virtual.slides,
+						cache: {}
+					})
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					if(e.params.virtual.enabled) {
+						e.classNames.push(e.params.containerModifierClass + "virtual");
+						var t = {
+							watchSlidesProgress: !0
+						};
+						S(e.params, t), S(e.originalParams, t), e.params.initialSlide || e.virtual.update()
+					}
+				},
+				setTranslate: function(e) {
+					e.params.virtual.enabled && e.virtual.update()
+				}
+			}
+		},
+		j = {
+			handle: function(e) {
+				var t = this,
+					a = l(),
+					i = r(),
+					s = t.rtlTranslate,
+					n = e;
+				n.originalEvent && (n = n.originalEvent);
+				var o = n.keyCode || n.charCode,
+					d = t.params.keyboard.pageUpDown,
+					p = d && 33 === o,
+					u = d && 34 === o,
+					c = 37 === o,
+					h = 39 === o,
+					v = 38 === o,
+					f = 40 === o;
+				if(!t.allowSlideNext && (t.isHorizontal() && h || t.isVertical() && f || u)) return !1;
+				if(!t.allowSlidePrev && (t.isHorizontal() && c || t.isVertical() && v || p)) return !1;
+				if(!(n.shiftKey || n.altKey || n.ctrlKey || n.metaKey || i.activeElement && i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() || "textarea" === i.activeElement.nodeName.toLowerCase()))) {
+					if(t.params.keyboard.onlyInViewport && (p || u || c || h || v || f)) {
+						var m = !1;
+						if(t.$el.parents("." + t.params.slideClass).length > 0 && 0 === t.$el.parents("." + t.params.slideActiveClass).length) return;
+						var g = a.innerWidth,
+							w = a.innerHeight,
+							y = t.$el.offset();
+						s && (y.left -= t.$el[0].scrollLeft);
+						for(var b = [
+								[y.left, y.top],
+								[y.left + t.width, y.top],
+								[y.left, y.top + t.height],
+								[y.left + t.width, y.top + t.height]
+							], E = 0; E < b.length; E += 1) {
+							var x = b[E];
+							if(x[0] >= 0 && x[0] <= g && x[1] >= 0 && x[1] <= w) {
+								if(0 === x[0] && 0 === x[1]) continue;
+								m = !0
+							}
+						}
+						if(!m) return
+					}
+					t.isHorizontal() ? ((p || u || c || h) && (n.preventDefault ? n.preventDefault() : n.returnValue = !1), ((u || h) && !s || (p || c) && s) && t.slideNext(), ((p || c) && !s || (u || h) && s) && t.slidePrev()) : ((p || u || v || f) && (n.preventDefault ? n.preventDefault() : n.returnValue = !1), (u || f) && t.slideNext(), (p || v) && t.slidePrev()), t.emit("keyPress", o)
+				}
+			},
+			enable: function() {
+				var e = this,
+					t = r();
+				e.keyboard.enabled || (m(t).on("keydown", e.keyboard.handle), e.keyboard.enabled = !0)
+			},
+			disable: function() {
+				var e = this,
+					t = r();
+				e.keyboard.enabled && (m(t).off("keydown", e.keyboard.handle), e.keyboard.enabled = !1)
+			}
+		},
+		_ = {
+			name: "keyboard",
+			params: {
+				keyboard: {
+					enabled: !1,
+					onlyInViewport: !0,
+					pageUpDown: !0
+				}
+			},
+			create: function() {
+				M(this, {
+					keyboard: t({
+						enabled: !1
+					}, j)
+				})
+			},
+			on: {
+				init: function(e) {
+					e.params.keyboard.enabled && e.keyboard.enable()
+				},
+				destroy: function(e) {
+					e.keyboard.enabled && e.keyboard.disable()
+				}
+			}
+		};
+	var U = {
+			lastScrollTime: x(),
+			lastEventBeforeSnap: void 0,
+			recentWheelEvents: [],
+			event: function() {
+				return l().navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : function() {
+					var e = r(),
+						t = "onwheel",
+						a = t in e;
+					if(!a) {
+						var i = e.createElement("div");
+						i.setAttribute(t, "return;"), a = "function" == typeof i.onwheel
+					}
+					return !a && e.implementation && e.implementation.hasFeature && !0 !== e.implementation.hasFeature("", "") && (a = e.implementation.hasFeature("Events.wheel", "3.0")), a
+				}() ? "wheel" : "mousewheel"
+			},
+			normalize: function(e) {
+				var t = 0,
+					a = 0,
+					i = 0,
+					s = 0;
+				return "detail" in e && (a = e.detail), "wheelDelta" in e && (a = -e.wheelDelta / 120), "wheelDeltaY" in e && (a = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = a, a = 0), i = 10 * t, s = 10 * a, "deltaY" in e && (s = e.deltaY), "deltaX" in e && (i = e.deltaX), e.shiftKey && !i && (i = s, s = 0), (i || s) && e.deltaMode && (1 === e.deltaMode ? (i *= 40, s *= 40) : (i *= 800, s *= 800)), i && !t && (t = i < 1 ? -1 : 1), s && !a && (a = s < 1 ? -1 : 1), {
+					spinX: t,
+					spinY: a,
+					pixelX: i,
+					pixelY: s
+				}
+			},
+			handleMouseEnter: function() {
+				this.mouseEntered = !0
+			},
+			handleMouseLeave: function() {
+				this.mouseEntered = !1
+			},
+			handle: function(e) {
+				var t = e,
+					a = this,
+					i = a.params.mousewheel;
+				a.params.cssMode && t.preventDefault();
+				var s = a.$el;
+				if("container" !== a.params.mousewheel.eventsTarget && (s = m(a.params.mousewheel.eventsTarget)), !a.mouseEntered && !s[0].contains(t.target) && !i.releaseOnEdges) return !0;
+				t.originalEvent && (t = t.originalEvent);
+				var r = 0,
+					n = a.rtlTranslate ? -1 : 1,
+					l = U.normalize(t);
+				if(i.forceToAxis)
+					if(a.isHorizontal()) {
+						if(!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return !0;
+						r = -l.pixelX * n
+					} else {
+						if(!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return !0;
+						r = -l.pixelY
+					}
+				else r = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * n : -l.pixelY;
+				if(0 === r) return !0;
+				i.invert && (r = -r);
+				var o = a.getTranslate() + r * i.sensitivity;
+				if(o >= a.minTranslate() && (o = a.minTranslate()), o <= a.maxTranslate() && (o = a.maxTranslate()), (!!a.params.loop || !(o === a.minTranslate() || o === a.maxTranslate())) && a.params.nested && t.stopPropagation(), a.params.freeMode) {
+					var d = {
+							time: x(),
+							delta: Math.abs(r),
+							direction: Math.sign(r)
+						},
+						p = a.mousewheel.lastEventBeforeSnap,
+						u = p && d.time < p.time + 500 && d.delta <= p.delta && d.direction === p.direction;
+					if(!u) {
+						a.mousewheel.lastEventBeforeSnap = void 0, a.params.loop && a.loopFix();
+						var c = a.getTranslate() + r * i.sensitivity,
+							h = a.isBeginning,
+							v = a.isEnd;
+						if(c >= a.minTranslate() && (c = a.minTranslate()), c <= a.maxTranslate() && (c = a.maxTranslate()), a.setTransition(0), a.setTranslate(c), a.updateProgress(), a.updateActiveIndex(), a.updateSlidesClasses(), (!h && a.isBeginning || !v && a.isEnd) && a.updateSlidesClasses(), a.params.freeModeSticky) {
+							clearTimeout(a.mousewheel.timeout), a.mousewheel.timeout = void 0;
+							var f = a.mousewheel.recentWheelEvents;
+							f.length >= 15 && f.shift();
+							var g = f.length ? f[f.length - 1] : void 0,
+								w = f[0];
+							if(f.push(d), g && (d.delta > g.delta || d.direction !== g.direction)) f.splice(0);
+							else if(f.length >= 15 && d.time - w.time < 500 && w.delta - d.delta >= 1 && d.delta <= 6) {
+								var y = r > 0 ? .8 : .2;
+								a.mousewheel.lastEventBeforeSnap = d, f.splice(0), a.mousewheel.timeout = E((function() {
+									a.slideToClosest(a.params.speed, !0, void 0, y)
+								}), 0)
+							}
+							a.mousewheel.timeout || (a.mousewheel.timeout = E((function() {
+								a.mousewheel.lastEventBeforeSnap = d, f.splice(0), a.slideToClosest(a.params.speed, !0, void 0, .5)
+							}), 500))
+						}
+						if(u || a.emit("scroll", t), a.params.autoplay && a.params.autoplayDisableOnInteraction && a.autoplay.stop(), c === a.minTranslate() || c === a.maxTranslate()) return !0
+					}
+				} else {
+					var b = {
+							time: x(),
+							delta: Math.abs(r),
+							direction: Math.sign(r),
+							raw: e
+						},
+						T = a.mousewheel.recentWheelEvents;
+					T.length >= 2 && T.shift();
+					var C = T.length ? T[T.length - 1] : void 0;
+					if(T.push(b), C ? (b.direction !== C.direction || b.delta > C.delta || b.time > C.time + 150) && a.mousewheel.animateSlider(b) : a.mousewheel.animateSlider(b), a.mousewheel.releaseScroll(b)) return !0
+				}
+				return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
+			},
+			animateSlider: function(e) {
+				var t = this,
+					a = l();
+				return !(this.params.mousewheel.thresholdDelta && e.delta < this.params.mousewheel.thresholdDelta) && (!(this.params.mousewheel.thresholdTime && x() - t.mousewheel.lastScrollTime < this.params.mousewheel.thresholdTime) && (e.delta >= 6 && x() - t.mousewheel.lastScrollTime < 60 || (e.direction < 0 ? t.isEnd && !t.params.loop || t.animating || (t.slideNext(), t.emit("scroll", e.raw)) : t.isBeginning && !t.params.loop || t.animating || (t.slidePrev(), t.emit("scroll", e.raw)), t.mousewheel.lastScrollTime = (new a.Date).getTime(), !1)))
+			},
+			releaseScroll: function(e) {
+				var t = this,
+					a = t.params.mousewheel;
+				if(e.direction < 0) {
+					if(t.isEnd && !t.params.loop && a.releaseOnEdges) return !0
+				} else if(t.isBeginning && !t.params.loop && a.releaseOnEdges) return !0;
+				return !1
+			},
+			enable: function() {
+				var e = this,
+					t = U.event();
+				if(e.params.cssMode) return e.wrapperEl.removeEventListener(t, e.mousewheel.handle), !0;
+				if(!t) return !1;
+				if(e.mousewheel.enabled) return !1;
+				var a = e.$el;
+				return "container" !== e.params.mousewheel.eventsTarget && (a = m(e.params.mousewheel.eventsTarget)), a.on("mouseenter", e.mousewheel.handleMouseEnter), a.on("mouseleave", e.mousewheel.handleMouseLeave), a.on(t, e.mousewheel.handle), e.mousewheel.enabled = !0, !0
+			},
+			disable: function() {
+				var e = this,
+					t = U.event();
+				if(e.params.cssMode) return e.wrapperEl.addEventListener(t, e.mousewheel.handle), !0;
+				if(!t) return !1;
+				if(!e.mousewheel.enabled) return !1;
+				var a = e.$el;
+				return "container" !== e.params.mousewheel.eventsTarget && (a = m(e.params.mousewheel.eventsTarget)), a.off(t, e.mousewheel.handle), e.mousewheel.enabled = !1, !0
+			}
+		},
+		K = {
+			update: function() {
+				var e = this,
+					t = e.params.navigation;
+				if(!e.params.loop) {
+					var a = e.navigation,
+						i = a.$nextEl,
+						s = a.$prevEl;
+					s && s.length > 0 && (e.isBeginning ? s.addClass(t.disabledClass) : s.removeClass(t.disabledClass), s[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass)), i && i.length > 0 && (e.isEnd ? i.addClass(t.disabledClass) : i.removeClass(t.disabledClass), i[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass))
+				}
+			},
+			onPrevClick: function(e) {
+				var t = this;
+				e.preventDefault(), t.isBeginning && !t.params.loop || t.slidePrev()
+			},
+			onNextClick: function(e) {
+				var t = this;
+				e.preventDefault(), t.isEnd && !t.params.loop || t.slideNext()
+			},
+			init: function() {
+				var e, t, a = this,
+					i = a.params.navigation;
+				(i.nextEl || i.prevEl) && (i.nextEl && (e = m(i.nextEl), a.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === a.$el.find(i.nextEl).length && (e = a.$el.find(i.nextEl))), i.prevEl && (t = m(i.prevEl), a.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === a.$el.find(i.prevEl).length && (t = a.$el.find(i.prevEl))), e && e.length > 0 && e.on("click", a.navigation.onNextClick), t && t.length > 0 && t.on("click", a.navigation.onPrevClick), S(a.navigation, {
+					$nextEl: e,
+					nextEl: e && e[0],
+					$prevEl: t,
+					prevEl: t && t[0]
+				}))
+			},
+			destroy: function() {
+				var e = this,
+					t = e.navigation,
+					a = t.$nextEl,
+					i = t.$prevEl;
+				a && a.length && (a.off("click", e.navigation.onNextClick), a.removeClass(e.params.navigation.disabledClass)), i && i.length && (i.off("click", e.navigation.onPrevClick), i.removeClass(e.params.navigation.disabledClass))
+			}
+		},
+		Z = {
+			update: function() {
+				var e = this,
+					t = e.rtl,
+					a = e.params.pagination;
+				if(a.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
+					var i, s = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
+						r = e.pagination.$el,
+						n = e.params.loop ? Math.ceil((s - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
+					if(e.params.loop ? ((i = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup)) > s - 1 - 2 * e.loopedSlides && (i -= s - 2 * e.loopedSlides), i > n - 1 && (i -= n), i < 0 && "bullets" !== e.params.paginationType && (i = n + i)) : i = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0, "bullets" === a.type && e.pagination.bullets && e.pagination.bullets.length > 0) {
+						var l, o, d, p = e.pagination.bullets;
+						if(a.dynamicBullets && (e.pagination.bulletSize = p.eq(0)[e.isHorizontal() ? "outerWidth" : "outerHeight"](!0), r.css(e.isHorizontal() ? "width" : "height", e.pagination.bulletSize * (a.dynamicMainBullets + 4) + "px"), a.dynamicMainBullets > 1 && void 0 !== e.previousIndex && (e.pagination.dynamicBulletIndex += i - e.previousIndex, e.pagination.dynamicBulletIndex > a.dynamicMainBullets - 1 ? e.pagination.dynamicBulletIndex = a.dynamicMainBullets - 1 : e.pagination.dynamicBulletIndex < 0 && (e.pagination.dynamicBulletIndex = 0)), l = i - e.pagination.dynamicBulletIndex, d = ((o = l + (Math.min(p.length, a.dynamicMainBullets) - 1)) + l) / 2), p.removeClass(a.bulletActiveClass + " " + a.bulletActiveClass + "-next " + a.bulletActiveClass + "-next-next " + a.bulletActiveClass + "-prev " + a.bulletActiveClass + "-prev-prev " + a.bulletActiveClass + "-main"), r.length > 1) p.each((function(e) {
+							var t = m(e),
+								s = t.index();
+							s === i && t.addClass(a.bulletActiveClass), a.dynamicBullets && (s >= l && s <= o && t.addClass(a.bulletActiveClass + "-main"), s === l && t.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), s === o && t.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next"))
+						}));
+						else {
+							var u = p.eq(i),
+								c = u.index();
+							if(u.addClass(a.bulletActiveClass), a.dynamicBullets) {
+								for(var h = p.eq(l), v = p.eq(o), f = l; f <= o; f += 1) p.eq(f).addClass(a.bulletActiveClass + "-main");
+								if(e.params.loop)
+									if(c >= p.length - a.dynamicMainBullets) {
+										for(var g = a.dynamicMainBullets; g >= 0; g -= 1) p.eq(p.length - g).addClass(a.bulletActiveClass + "-main");
+										p.eq(p.length - a.dynamicMainBullets - 1).addClass(a.bulletActiveClass + "-prev")
+									} else h.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), v.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next");
+								else h.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), v.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next")
+							}
+						}
+						if(a.dynamicBullets) {
+							var w = Math.min(p.length, a.dynamicMainBullets + 4),
+								y = (e.pagination.bulletSize * w - e.pagination.bulletSize) / 2 - d * e.pagination.bulletSize,
+								b = t ? "right" : "left";
+							p.css(e.isHorizontal() ? b : "top", y + "px")
+						}
+					}
+					if("fraction" === a.type && (r.find("." + a.currentClass).text(a.formatFractionCurrent(i + 1)), r.find("." + a.totalClass).text(a.formatFractionTotal(n))), "progressbar" === a.type) {
+						var E;
+						E = a.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e.isHorizontal() ? "horizontal" : "vertical";
+						var x = (i + 1) / n,
+							T = 1,
+							C = 1;
+						"horizontal" === E ? T = x : C = x, r.find("." + a.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + T + ") scaleY(" + C + ")").transition(e.params.speed)
+					}
+					"custom" === a.type && a.renderCustom ? (r.html(a.renderCustom(e, i + 1, n)), e.emit("paginationRender", r[0])) : e.emit("paginationUpdate", r[0]), r[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](a.lockClass)
+				}
+			},
+			render: function() {
+				var e = this,
+					t = e.params.pagination;
+				if(t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
+					var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
+						i = e.pagination.$el,
+						s = "";
+					if("bullets" === t.type) {
+						var r = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
+						e.params.freeMode && !e.params.loop && r > a && (r = a);
+						for(var n = 0; n < r; n += 1) t.renderBullet ? s += t.renderBullet.call(e, n, t.bulletClass) : s += "<" + t.bulletElement + ' class="' + t.bulletClass + '"></' + t.bulletElement + ">";
+						i.html(s), e.pagination.bullets = i.find("." + t.bulletClass.replace(/ /g, "."))
+					}
+					"fraction" === t.type && (s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : '<span class="' + t.currentClass + '"></span> / <span class="' + t.totalClass + '"></span>', i.html(s)), "progressbar" === t.type && (s = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : '<span class="' + t.progressbarFillClass + '"></span>', i.html(s)), "custom" !== t.type && e.emit("paginationRender", e.pagination.$el[0])
+				}
+			},
+			init: function() {
+				var e = this,
+					t = e.params.pagination;
+				if(t.el) {
+					var a = m(t.el);
+					0 !== a.length && (e.params.uniqueNavElements && "string" == typeof t.el && a.length > 1 && (a = e.$el.find(t.el)), "bullets" === t.type && t.clickable && a.addClass(t.clickableClass), a.addClass(t.modifierClass + t.type), "bullets" === t.type && t.dynamicBullets && (a.addClass("" + t.modifierClass + t.type + "-dynamic"), e.pagination.dynamicBulletIndex = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && a.addClass(t.progressbarOppositeClass), t.clickable && a.on("click", "." + t.bulletClass.replace(/ /g, "."), (function(t) {
+						t.preventDefault();
+						var a = m(this).index() * e.params.slidesPerGroup;
+						e.params.loop && (a += e.loopedSlides), e.slideTo(a)
+					})), S(e.pagination, {
+						$el: a,
+						el: a[0]
+					}))
+				}
+			},
+			destroy: function() {
+				var e = this,
+					t = e.params.pagination;
+				if(t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
+					var a = e.pagination.$el;
+					a.removeClass(t.hiddenClass), a.removeClass(t.modifierClass + t.type), e.pagination.bullets && e.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && a.off("click", "." + t.bulletClass.replace(/ /g, "."))
+				}
+			}
+		},
+		J = {
+			setTranslate: function() {
+				var e = this;
+				if(e.params.scrollbar.el && e.scrollbar.el) {
+					var t = e.scrollbar,
+						a = e.rtlTranslate,
+						i = e.progress,
+						s = t.dragSize,
+						r = t.trackSize,
+						n = t.$dragEl,
+						l = t.$el,
+						o = e.params.scrollbar,
+						d = s,
+						p = (r - s) * i;
+					a ? (p = -p) > 0 ? (d = s - p, p = 0) : -p + s > r && (d = r + p) : p < 0 ? (d = s + p, p = 0) : p + s > r && (d = r - p), e.isHorizontal() ? (n.transform("translate3d(" + p + "px, 0, 0)"), n[0].style.width = d + "px") : (n.transform("translate3d(0px, " + p + "px, 0)"), n[0].style.height = d + "px"), o.hide && (clearTimeout(e.scrollbar.timeout), l[0].style.opacity = 1, e.scrollbar.timeout = setTimeout((function() {
+						l[0].style.opacity = 0, l.transition(400)
+					}), 1e3))
+				}
+			},
+			setTransition: function(e) {
+				var t = this;
+				t.params.scrollbar.el && t.scrollbar.el && t.scrollbar.$dragEl.transition(e)
+			},
+			updateSize: function() {
+				var e = this;
+				if(e.params.scrollbar.el && e.scrollbar.el) {
+					var t = e.scrollbar,
+						a = t.$dragEl,
+						i = t.$el;
+					a[0].style.width = "", a[0].style.height = "";
+					var s, r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
+						n = e.size / e.virtualSize,
+						l = n * (r / e.size);
+					s = "auto" === e.params.scrollbar.dragSize ? r * n : parseInt(e.params.scrollbar.dragSize, 10), e.isHorizontal() ? a[0].style.width = s + "px" : a[0].style.height = s + "px", i[0].style.display = n >= 1 ? "none" : "", e.params.scrollbar.hide && (i[0].style.opacity = 0), S(t, {
+						trackSize: r,
+						divider: n,
+						moveDivider: l,
+						dragSize: s
+					}), t.$el[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](e.params.scrollbar.lockClass)
+				}
+			},
+			getPointerPosition: function(e) {
+				return this.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientX : e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientY : e.clientY
+			},
+			setDragPosition: function(e) {
+				var t, a = this,
+					i = a.scrollbar,
+					s = a.rtlTranslate,
+					r = i.$el,
+					n = i.dragSize,
+					l = i.trackSize,
+					o = i.dragStartPos;
+				t = (i.getPointerPosition(e) - r.offset()[a.isHorizontal() ? "left" : "top"] - (null !== o ? o : n / 2)) / (l - n), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t);
+				var d = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t;
+				a.updateProgress(d), a.setTranslate(d), a.updateActiveIndex(), a.updateSlidesClasses()
+			},
+			onDragStart: function(e) {
+				var t = this,
+					a = t.params.scrollbar,
+					i = t.scrollbar,
+					s = t.$wrapperEl,
+					r = i.$el,
+					n = i.$dragEl;
+				t.scrollbar.isTouched = !0, t.scrollbar.dragStartPos = e.target === n[0] || e.target === n ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), s.transition(100), n.transition(100), i.setDragPosition(e), clearTimeout(t.scrollbar.dragTimeout), r.transition(0), a.hide && r.css("opacity", 1), t.params.cssMode && t.$wrapperEl.css("scroll-snap-type", "none"), t.emit("scrollbarDragStart", e)
+			},
+			onDragMove: function(e) {
+				var t = this,
+					a = t.scrollbar,
+					i = t.$wrapperEl,
+					s = a.$el,
+					r = a.$dragEl;
+				t.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, a.setDragPosition(e), i.transition(0), s.transition(0), r.transition(0), t.emit("scrollbarDragMove", e))
+			},
+			onDragEnd: function(e) {
+				var t = this,
+					a = t.params.scrollbar,
+					i = t.scrollbar,
+					s = t.$wrapperEl,
+					r = i.$el;
+				t.scrollbar.isTouched && (t.scrollbar.isTouched = !1, t.params.cssMode && (t.$wrapperEl.css("scroll-snap-type", ""), s.transition("")), a.hide && (clearTimeout(t.scrollbar.dragTimeout), t.scrollbar.dragTimeout = E((function() {
+					r.css("opacity", 0), r.transition(400)
+				}), 1e3)), t.emit("scrollbarDragEnd", e), a.snapOnRelease && t.slideToClosest())
+			},
+			enableDraggable: function() {
+				var e = this;
+				if(e.params.scrollbar.el) {
+					var t = r(),
+						a = e.scrollbar,
+						i = e.touchEventsTouch,
+						s = e.touchEventsDesktop,
+						n = e.params,
+						l = e.support,
+						o = a.$el[0],
+						d = !(!l.passiveListener || !n.passiveListeners) && {
+							passive: !1,
+							capture: !1
+						},
+						p = !(!l.passiveListener || !n.passiveListeners) && {
+							passive: !0,
+							capture: !1
+						};
+					o && (l.touch ? (o.addEventListener(i.start, e.scrollbar.onDragStart, d), o.addEventListener(i.move, e.scrollbar.onDragMove, d), o.addEventListener(i.end, e.scrollbar.onDragEnd, p)) : (o.addEventListener(s.start, e.scrollbar.onDragStart, d), t.addEventListener(s.move, e.scrollbar.onDragMove, d), t.addEventListener(s.end, e.scrollbar.onDragEnd, p)))
+				}
+			},
+			disableDraggable: function() {
+				var e = this;
+				if(e.params.scrollbar.el) {
+					var t = r(),
+						a = e.scrollbar,
+						i = e.touchEventsTouch,
+						s = e.touchEventsDesktop,
+						n = e.params,
+						l = e.support,
+						o = a.$el[0],
+						d = !(!l.passiveListener || !n.passiveListeners) && {
+							passive: !1,
+							capture: !1
+						},
+						p = !(!l.passiveListener || !n.passiveListeners) && {
+							passive: !0,
+							capture: !1
+						};
+					o && (l.touch ? (o.removeEventListener(i.start, e.scrollbar.onDragStart, d), o.removeEventListener(i.move, e.scrollbar.onDragMove, d), o.removeEventListener(i.end, e.scrollbar.onDragEnd, p)) : (o.removeEventListener(s.start, e.scrollbar.onDragStart, d), t.removeEventListener(s.move, e.scrollbar.onDragMove, d), t.removeEventListener(s.end, e.scrollbar.onDragEnd, p)))
+				}
+			},
+			init: function() {
+				var e = this;
+				if(e.params.scrollbar.el) {
+					var t = e.scrollbar,
+						a = e.$el,
+						i = e.params.scrollbar,
+						s = m(i.el);
+					e.params.uniqueNavElements && "string" == typeof i.el && s.length > 1 && 1 === a.find(i.el).length && (s = a.find(i.el));
+					var r = s.find("." + e.params.scrollbar.dragClass);
+					0 === r.length && (r = m('<div class="' + e.params.scrollbar.dragClass + '"></div>'), s.append(r)), S(t, {
+						$el: s,
+						el: s[0],
+						$dragEl: r,
+						dragEl: r[0]
+					}), i.draggable && t.enableDraggable()
+				}
+			},
+			destroy: function() {
+				this.scrollbar.disableDraggable()
+			}
+		},
+		Q = {
+			setTransform: function(e, t) {
+				var a = this.rtl,
+					i = m(e),
+					s = a ? -1 : 1,
+					r = i.attr("data-swiper-parallax") || "0",
+					n = i.attr("data-swiper-parallax-x"),
+					l = i.attr("data-swiper-parallax-y"),
+					o = i.attr("data-swiper-parallax-scale"),
+					d = i.attr("data-swiper-parallax-opacity");
+				if(n || l ? (n = n || "0", l = l || "0") : this.isHorizontal() ? (n = r, l = "0") : (l = r, n = "0"), n = n.indexOf("%") >= 0 ? parseInt(n, 10) * t * s + "%" : n * t * s + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * t + "%" : l * t + "px", null != d) {
+					var p = d - (d - 1) * (1 - Math.abs(t));
+					i[0].style.opacity = p
+				}
+				if(null == o) i.transform("translate3d(" + n + ", " + l + ", 0px)");
+				else {
+					var u = o - (o - 1) * (1 - Math.abs(t));
+					i.transform("translate3d(" + n + ", " + l + ", 0px) scale(" + u + ")")
+				}
+			},
+			setTranslate: function() {
+				var e = this,
+					t = e.$el,
+					a = e.slides,
+					i = e.progress,
+					s = e.snapGrid;
+				t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t) {
+					e.parallax.setTransform(t, i)
+				})), a.each((function(t, a) {
+					var r = t.progress;
+					e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView && (r += Math.ceil(a / 2) - i * (s.length - 1)), r = Math.min(Math.max(r, -1), 1), m(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t) {
+						e.parallax.setTransform(t, r)
+					}))
+				}))
+			},
+			setTransition: function(e) {
+				void 0 === e && (e = this.params.speed);
+				this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t) {
+					var a = m(t),
+						i = parseInt(a.attr("data-swiper-parallax-duration"), 10) || e;
+					0 === e && (i = 0), a.transition(i)
+				}))
+			}
+		},
+		ee = {
+			getDistanceBetweenTouches: function(e) {
+				if(e.targetTouches.length < 2) return 1;
+				var t = e.targetTouches[0].pageX,
+					a = e.targetTouches[0].pageY,
+					i = e.targetTouches[1].pageX,
+					s = e.targetTouches[1].pageY;
+				return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2))
+			},
+			onGestureStart: function(e) {
+				var t = this,
+					a = t.support,
+					i = t.params.zoom,
+					s = t.zoom,
+					r = s.gesture;
+				if(s.fakeGestureTouched = !1, s.fakeGestureMoved = !1, !a.gestures) {
+					if("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return;
+					s.fakeGestureTouched = !0, r.scaleStart = ee.getDistanceBetweenTouches(e)
+				}
+				r.$slideEl && r.$slideEl.length || (r.$slideEl = m(e.target).closest("." + t.params.slideClass), 0 === r.$slideEl.length && (r.$slideEl = t.slides.eq(t.activeIndex)), r.$imageEl = r.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), r.$imageWrapEl = r.$imageEl.parent("." + i.containerClass), r.maxRatio = r.$imageWrapEl.attr("data-swiper-zoom") || i.maxRatio, 0 !== r.$imageWrapEl.length) ? (r.$imageEl && r.$imageEl.transition(0), t.zoom.isScaling = !0) : r.$imageEl = void 0
+			},
+			onGestureChange: function(e) {
+				var t = this,
+					a = t.support,
+					i = t.params.zoom,
+					s = t.zoom,
+					r = s.gesture;
+				if(!a.gestures) {
+					if("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
+					s.fakeGestureMoved = !0, r.scaleMove = ee.getDistanceBetweenTouches(e)
+				}
+				r.$imageEl && 0 !== r.$imageEl.length ? (a.gestures ? s.scale = e.scale * s.currentScale : s.scale = r.scaleMove / r.scaleStart * s.currentScale, s.scale > r.maxRatio && (s.scale = r.maxRatio - 1 + Math.pow(s.scale - r.maxRatio + 1, .5)), s.scale < i.minRatio && (s.scale = i.minRatio + 1 - Math.pow(i.minRatio - s.scale + 1, .5)), r.$imageEl.transform("translate3d(0,0,0) scale(" + s.scale + ")")) : "gesturechange" === e.type && s.onGestureStart(e)
+			},
+			onGestureEnd: function(e) {
+				var t = this,
+					a = t.device,
+					i = t.support,
+					s = t.params.zoom,
+					r = t.zoom,
+					n = r.gesture;
+				if(!i.gestures) {
+					if(!r.fakeGestureTouched || !r.fakeGestureMoved) return;
+					if("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !a.android) return;
+					r.fakeGestureTouched = !1, r.fakeGestureMoved = !1
+				}
+				n.$imageEl && 0 !== n.$imageEl.length && (r.scale = Math.max(Math.min(r.scale, n.maxRatio), s.minRatio), n.$imageEl.transition(t.params.speed).transform("translate3d(0,0,0) scale(" + r.scale + ")"), r.currentScale = r.scale, r.isScaling = !1, 1 === r.scale && (n.$slideEl = void 0))
+			},
+			onTouchStart: function(e) {
+				var t = this.device,
+					a = this.zoom,
+					i = a.gesture,
+					s = a.image;
+				i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (t.android && e.cancelable && e.preventDefault(), s.isTouched = !0, s.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))
+			},
+			onTouchMove: function(e) {
+				var t = this,
+					a = t.zoom,
+					i = a.gesture,
+					s = a.image,
+					r = a.velocity;
+				if(i.$imageEl && 0 !== i.$imageEl.length && (t.allowClick = !1, s.isTouched && i.$slideEl)) {
+					s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = T(i.$imageWrapEl[0], "x") || 0, s.startY = T(i.$imageWrapEl[0], "y") || 0, i.slideWidth = i.$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0), t.rtl && (s.startX = -s.startX, s.startY = -s.startY));
+					var n = s.width * a.scale,
+						l = s.height * a.scale;
+					if(!(n < i.slideWidth && l < i.slideHeight)) {
+						if(s.minX = Math.min(i.slideWidth / 2 - n / 2, 0), s.maxX = -s.minX, s.minY = Math.min(i.slideHeight / 2 - l / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !a.isScaling) {
+							if(t.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) return void(s.isTouched = !1);
+							if(!t.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) return void(s.isTouched = !1)
+						}
+						e.cancelable && e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), r.prevPositionX || (r.prevPositionX = s.touchesCurrent.x), r.prevPositionY || (r.prevPositionY = s.touchesCurrent.y), r.prevTime || (r.prevTime = Date.now()), r.x = (s.touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2, r.y = (s.touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2, Math.abs(s.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0), Math.abs(s.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0), r.prevPositionX = s.touchesCurrent.x, r.prevPositionY = s.touchesCurrent.y, r.prevTime = Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)")
+					}
+				}
+			},
+			onTouchEnd: function() {
+				var e = this.zoom,
+					t = e.gesture,
+					a = e.image,
+					i = e.velocity;
+				if(t.$imageEl && 0 !== t.$imageEl.length) {
+					if(!a.isTouched || !a.isMoved) return a.isTouched = !1, void(a.isMoved = !1);
+					a.isTouched = !1, a.isMoved = !1;
+					var s = 300,
+						r = 300,
+						n = i.x * s,
+						l = a.currentX + n,
+						o = i.y * r,
+						d = a.currentY + o;
+					0 !== i.x && (s = Math.abs((l - a.currentX) / i.x)), 0 !== i.y && (r = Math.abs((d - a.currentY) / i.y));
+					var p = Math.max(s, r);
+					a.currentX = l, a.currentY = d;
+					var u = a.width * e.scale,
+						c = a.height * e.scale;
+					a.minX = Math.min(t.slideWidth / 2 - u / 2, 0), a.maxX = -a.minX, a.minY = Math.min(t.slideHeight / 2 - c / 2, 0), a.maxY = -a.minY, a.currentX = Math.max(Math.min(a.currentX, a.maxX), a.minX), a.currentY = Math.max(Math.min(a.currentY, a.maxY), a.minY), t.$imageWrapEl.transition(p).transform("translate3d(" + a.currentX + "px, " + a.currentY + "px,0)")
+				}
+			},
+			onTransitionEnd: function() {
+				var e = this,
+					t = e.zoom,
+					a = t.gesture;
+				a.$slideEl && e.previousIndex !== e.activeIndex && (a.$imageEl && a.$imageEl.transform("translate3d(0,0,0) scale(1)"), a.$imageWrapEl && a.$imageWrapEl.transform("translate3d(0,0,0)"), t.scale = 1, t.currentScale = 1, a.$slideEl = void 0, a.$imageEl = void 0, a.$imageWrapEl = void 0)
+			},
+			toggle: function(e) {
+				var t = this.zoom;
+				t.scale && 1 !== t.scale ? t.out() : t.in(e)
+			},
+			in: function(e) {
+				var t, a, i, s, r, n, o, d, p, u, c, h, v, f, m, g, w = this,
+					y = l(),
+					b = w.zoom,
+					E = w.params.zoom,
+					x = b.gesture,
+					T = b.image;
+				(x.$slideEl || (w.params.virtual && w.params.virtual.enabled && w.virtual ? x.$slideEl = w.$wrapperEl.children("." + w.params.slideActiveClass) : x.$slideEl = w.slides.eq(w.activeIndex), x.$imageEl = x.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), x.$imageWrapEl = x.$imageEl.parent("." + E.containerClass)), x.$imageEl && 0 !== x.$imageEl.length) && (x.$slideEl.addClass("" + E.zoomedSlideClass), void 0 === T.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, a = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (t = T.touchesStart.x, a = T.touchesStart.y), b.scale = x.$imageWrapEl.attr("data-swiper-zoom") || E.maxRatio, b.currentScale = x.$imageWrapEl.attr("data-swiper-zoom") || E.maxRatio, e ? (m = x.$slideEl[0].offsetWidth, g = x.$slideEl[0].offsetHeight, i = x.$slideEl.offset().left + y.scrollX + m / 2 - t, s = x.$slideEl.offset().top + y.scrollY + g / 2 - a, o = x.$imageEl[0].offsetWidth, d = x.$imageEl[0].offsetHeight, p = o * b.scale, u = d * b.scale, v = -(c = Math.min(m / 2 - p / 2, 0)), f = -(h = Math.min(g / 2 - u / 2, 0)), (r = i * b.scale) < c && (r = c), r > v && (r = v), (n = s * b.scale) < h && (n = h), n > f && (n = f)) : (r = 0, n = 0), x.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), x.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + b.scale + ")"))
+			},
+			out: function() {
+				var e = this,
+					t = e.zoom,
+					a = e.params.zoom,
+					i = t.gesture;
+				i.$slideEl || (e.params.virtual && e.params.virtual.enabled && e.virtual ? i.$slideEl = e.$wrapperEl.children("." + e.params.slideActiveClass) : i.$slideEl = e.slides.eq(e.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), i.$imageWrapEl = i.$imageEl.parent("." + a.containerClass)), i.$imageEl && 0 !== i.$imageEl.length && (t.scale = 1, t.currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + a.zoomedSlideClass), i.$slideEl = void 0)
+			},
+			toggleGestures: function(e) {
+				var t = this,
+					a = t.zoom,
+					i = a.slideSelector,
+					s = a.passiveListener;
+				t.$wrapperEl[e]("gesturestart", i, a.onGestureStart, s), t.$wrapperEl[e]("gesturechange", i, a.onGestureChange, s), t.$wrapperEl[e]("gestureend", i, a.onGestureEnd, s)
+			},
+			enableGestures: function() {
+				this.zoom.gesturesEnabled || (this.zoom.gesturesEnabled = !0, this.zoom.toggleGestures("on"))
+			},
+			disableGestures: function() {
+				this.zoom.gesturesEnabled && (this.zoom.gesturesEnabled = !1, this.zoom.toggleGestures("off"))
+			},
+			enable: function() {
+				var e = this,
+					t = e.support,
+					a = e.zoom;
+				if(!a.enabled) {
+					a.enabled = !0;
+					var i = !("touchstart" !== e.touchEvents.start || !t.passiveListener || !e.params.passiveListeners) && {
+							passive: !0,
+							capture: !1
+						},
+						s = !t.passiveListener || {
+							passive: !1,
+							capture: !0
+						},
+						r = "." + e.params.slideClass;
+					e.zoom.passiveListener = i, e.zoom.slideSelector = r, t.gestures ? (e.$wrapperEl.on(e.touchEvents.start, e.zoom.enableGestures, i), e.$wrapperEl.on(e.touchEvents.end, e.zoom.disableGestures, i)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.on(e.touchEvents.start, r, a.onGestureStart, i), e.$wrapperEl.on(e.touchEvents.move, r, a.onGestureChange, s), e.$wrapperEl.on(e.touchEvents.end, r, a.onGestureEnd, i), e.touchEvents.cancel && e.$wrapperEl.on(e.touchEvents.cancel, r, a.onGestureEnd, i)), e.$wrapperEl.on(e.touchEvents.move, "." + e.params.zoom.containerClass, a.onTouchMove, s)
+				}
+			},
+			disable: function() {
+				var e = this,
+					t = e.zoom;
+				if(t.enabled) {
+					var a = e.support;
+					e.zoom.enabled = !1;
+					var i = !("touchstart" !== e.touchEvents.start || !a.passiveListener || !e.params.passiveListeners) && {
+							passive: !0,
+							capture: !1
+						},
+						s = !a.passiveListener || {
+							passive: !1,
+							capture: !0
+						},
+						r = "." + e.params.slideClass;
+					a.gestures ? (e.$wrapperEl.off(e.touchEvents.start, e.zoom.enableGestures, i), e.$wrapperEl.off(e.touchEvents.end, e.zoom.disableGestures, i)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.off(e.touchEvents.start, r, t.onGestureStart, i), e.$wrapperEl.off(e.touchEvents.move, r, t.onGestureChange, s), e.$wrapperEl.off(e.touchEvents.end, r, t.onGestureEnd, i), e.touchEvents.cancel && e.$wrapperEl.off(e.touchEvents.cancel, r, t.onGestureEnd, i)), e.$wrapperEl.off(e.touchEvents.move, "." + e.params.zoom.containerClass, t.onTouchMove, s)
+				}
+			}
+		},
+		te = {
+			loadInSlide: function(e, t) {
+				void 0 === t && (t = !0);
+				var a = this,
+					i = a.params.lazy;
+				if(void 0 !== e && 0 !== a.slides.length) {
+					var s = a.virtual && a.params.virtual.enabled ? a.$wrapperEl.children("." + a.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : a.slides.eq(e),
+						r = s.find("." + i.elementClass + ":not(." + i.loadedClass + "):not(." + i.loadingClass + ")");
+					!s.hasClass(i.elementClass) || s.hasClass(i.loadedClass) || s.hasClass(i.loadingClass) || r.push(s[0]), 0 !== r.length && r.each((function(e) {
+						var r = m(e);
+						r.addClass(i.loadingClass);
+						var n = r.attr("data-background"),
+							l = r.attr("data-src"),
+							o = r.attr("data-srcset"),
+							d = r.attr("data-sizes"),
+							p = r.parent("picture");
+						a.loadImage(r[0], l || n, o, d, !1, (function() {
+							if(null != a && a && (!a || a.params) && !a.destroyed) {
+								if(n ? (r.css("background-image", 'url("' + n + '")'), r.removeAttr("data-background")) : (o && (r.attr("srcset", o), r.removeAttr("data-srcset")), d && (r.attr("sizes", d), r.removeAttr("data-sizes")), p.length && p.children("source").each((function(e) {
+										var t = m(e);
+										t.attr("data-srcset") && (t.attr("srcset", t.attr("data-srcset")), t.removeAttr("data-srcset"))
+									})), l && (r.attr("src", l), r.removeAttr("data-src"))), r.addClass(i.loadedClass).removeClass(i.loadingClass), s.find("." + i.preloaderClass).remove(), a.params.loop && t) {
+									var e = s.attr("data-swiper-slide-index");
+									if(s.hasClass(a.params.slideDuplicateClass)) {
+										var u = a.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + a.params.slideDuplicateClass + ")");
+										a.lazy.loadInSlide(u.index(), !1)
+									} else {
+										var c = a.$wrapperEl.children("." + a.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]');
+										a.lazy.loadInSlide(c.index(), !1)
+									}
+								}
+								a.emit("lazyImageReady", s[0], r[0]), a.params.autoHeight && a.updateAutoHeight()
+							}
+						})), a.emit("lazyImageLoad", s[0], r[0])
+					}))
+				}
+			},
+			load: function() {
+				var e = this,
+					t = e.$wrapperEl,
+					a = e.params,
+					i = e.slides,
+					s = e.activeIndex,
+					r = e.virtual && a.virtual.enabled,
+					n = a.lazy,
+					l = a.slidesPerView;
+
+				function o(e) {
+					if(r) {
+						if(t.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0
+					} else if(i[e]) return !0;
+					return !1
+				}
+
+				function d(e) {
+					return r ? m(e).attr("data-swiper-slide-index") : m(e).index()
+				}
+				if("auto" === l && (l = 0), e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0), e.params.watchSlidesVisibility) t.children("." + a.slideVisibleClass).each((function(t) {
+					var a = r ? m(t).attr("data-swiper-slide-index") : m(t).index();
+					e.lazy.loadInSlide(a)
+				}));
+				else if(l > 1)
+					for(var p = s; p < s + l; p += 1) o(p) && e.lazy.loadInSlide(p);
+				else e.lazy.loadInSlide(s);
+				if(n.loadPrevNext)
+					if(l > 1 || n.loadPrevNextAmount && n.loadPrevNextAmount > 1) {
+						for(var u = n.loadPrevNextAmount, c = l, h = Math.min(s + c + Math.max(u, c), i.length), v = Math.max(s - Math.max(c, u), 0), f = s + l; f < h; f += 1) o(f) && e.lazy.loadInSlide(f);
+						for(var g = v; g < s; g += 1) o(g) && e.lazy.loadInSlide(g)
+					} else {
+						var w = t.children("." + a.slideNextClass);
+						w.length > 0 && e.lazy.loadInSlide(d(w));
+						var y = t.children("." + a.slidePrevClass);
+						y.length > 0 && e.lazy.loadInSlide(d(y))
+					}
+			},
+			checkInViewOnLoad: function() {
+				var e = l(),
+					t = this;
+				if(t && !t.destroyed) {
+					var a = t.params.lazy.scrollingElement ? m(t.params.lazy.scrollingElement) : m(e),
+						i = a[0] === e,
+						s = i ? e.innerWidth : a[0].offsetWidth,
+						r = i ? e.innerHeight : a[0].offsetHeight,
+						n = t.$el.offset(),
+						o = !1;
+					t.rtlTranslate && (n.left -= t.$el[0].scrollLeft);
+					for(var d = [
+							[n.left, n.top],
+							[n.left + t.width, n.top],
+							[n.left, n.top + t.height],
+							[n.left + t.width, n.top + t.height]
+						], p = 0; p < d.length; p += 1) {
+						var u = d[p];
+						if(u[0] >= 0 && u[0] <= s && u[1] >= 0 && u[1] <= r) {
+							if(0 === u[0] && 0 === u[1]) continue;
+							o = !0
+						}
+					}
+					o ? (t.lazy.load(), a.off("scroll", t.lazy.checkInViewOnLoad)) : t.lazy.scrollHandlerAttached || (t.lazy.scrollHandlerAttached = !0, a.on("scroll", t.lazy.checkInViewOnLoad))
+				}
+			}
+		},
+		ae = {
+			LinearSpline: function(e, t) {
+				var a, i, s, r, n, l = function(e, t) {
+					for(i = -1, a = e.length; a - i > 1;) e[s = a + i >> 1] <= t ? i = s : a = s;
+					return a
+				};
+				return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) {
+					return e ? (n = l(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0
+				}, this
+			},
+			getInterpolateFunction: function(e) {
+				var t = this;
+				t.controller.spline || (t.controller.spline = t.params.loop ? new ae.LinearSpline(t.slidesGrid, e.slidesGrid) : new ae.LinearSpline(t.snapGrid, e.snapGrid))
+			},
+			setTranslate: function(e, t) {
+				var a, i, s = this,
+					r = s.controller.control,
+					n = s.constructor;
+
+				function l(e) {
+					var t = s.rtlTranslate ? -s.translate : s.translate;
+					"slide" === s.params.controller.by && (s.controller.getInterpolateFunction(e), i = -s.controller.spline.interpolate(-t)), i && "container" !== s.params.controller.by || (a = (e.maxTranslate() - e.minTranslate()) / (s.maxTranslate() - s.minTranslate()), i = (t - s.minTranslate()) * a + e.minTranslate()), s.params.controller.inverse && (i = e.maxTranslate() - i), e.updateProgress(i), e.setTranslate(i, s), e.updateActiveIndex(), e.updateSlidesClasses()
+				}
+				if(Array.isArray(r))
+					for(var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof n && l(r[o]);
+				else r instanceof n && t !== r && l(r)
+			},
+			setTransition: function(e, t) {
+				var a, i = this,
+					s = i.constructor,
+					r = i.controller.control;
+
+				function n(t) {
+					t.setTransition(e, i), 0 !== e && (t.transitionStart(), t.params.autoHeight && E((function() {
+						t.updateAutoHeight()
+					})), t.$wrapperEl.transitionEnd((function() {
+						r && (t.params.loop && "slide" === i.params.controller.by && t.loopFix(), t.transitionEnd())
+					})))
+				}
+				if(Array.isArray(r))
+					for(a = 0; a < r.length; a += 1) r[a] !== t && r[a] instanceof s && n(r[a]);
+				else r instanceof s && t !== r && n(r)
+			}
+		},
+		ie = {
+			getRandomNumber: function(e) {
+				void 0 === e && (e = 16);
+				return "x".repeat(e).replace(/x/g, (function() {
+					return Math.round(16 * Math.random()).toString(16)
+				}))
+			},
+			makeElFocusable: function(e) {
+				return e.attr("tabIndex", "0"), e
+			},
+			makeElNotFocusable: function(e) {
+				return e.attr("tabIndex", "-1"), e
+			},
+			addElRole: function(e, t) {
+				return e.attr("role", t), e
+			},
+			addElRoleDescription: function(e, t) {
+				return e.attr("aria-role-description", t), e
+			},
+			addElControls: function(e, t) {
+				return e.attr("aria-controls", t), e
+			},
+			addElLabel: function(e, t) {
+				return e.attr("aria-label", t), e
+			},
+			addElId: function(e, t) {
+				return e.attr("id", t), e
+			},
+			addElLive: function(e, t) {
+				return e.attr("aria-live", t), e
+			},
+			disableEl: function(e) {
+				return e.attr("aria-disabled", !0), e
+			},
+			enableEl: function(e) {
+				return e.attr("aria-disabled", !1), e
+			},
+			onEnterKey: function(e) {
+				var t = this,
+					a = t.params.a11y;
+				if(13 === e.keyCode) {
+					var i = m(e.target);
+					t.navigation && t.navigation.$nextEl && i.is(t.navigation.$nextEl) && (t.isEnd && !t.params.loop || t.slideNext(), t.isEnd ? t.a11y.notify(a.lastSlideMessage) : t.a11y.notify(a.nextSlideMessage)), t.navigation && t.navigation.$prevEl && i.is(t.navigation.$prevEl) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? t.a11y.notify(a.firstSlideMessage) : t.a11y.notify(a.prevSlideMessage)), t.pagination && i.is("." + t.params.pagination.bulletClass.replace(/ /g, ".")) && i[0].click()
+				}
+			},
+			notify: function(e) {
+				var t = this.a11y.liveRegion;
+				0 !== t.length && (t.html(""), t.html(e))
+			},
+			updateNavigation: function() {
+				var e = this;
+				if(!e.params.loop && e.navigation) {
+					var t = e.navigation,
+						a = t.$nextEl,
+						i = t.$prevEl;
+					i && i.length > 0 && (e.isBeginning ? (e.a11y.disableEl(i), e.a11y.makeElNotFocusable(i)) : (e.a11y.enableEl(i), e.a11y.makeElFocusable(i))), a && a.length > 0 && (e.isEnd ? (e.a11y.disableEl(a), e.a11y.makeElNotFocusable(a)) : (e.a11y.enableEl(a), e.a11y.makeElFocusable(a)))
+				}
+			},
+			updatePagination: function() {
+				var e = this,
+					t = e.params.a11y;
+				e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.bullets.each((function(a) {
+					var i = m(a);
+					e.a11y.makeElFocusable(i), e.params.pagination.renderBullet || (e.a11y.addElRole(i, "button"), e.a11y.addElLabel(i, t.paginationBulletMessage.replace(/\{\{index\}\}/, i.index() + 1)))
+				}))
+			},
+			init: function() {
+				var e = this,
+					t = e.params.a11y;
+				e.$el.append(e.a11y.liveRegion);
+				var a = e.$el;
+				t.containerRoleDescriptionMessage && e.a11y.addElRoleDescription(a, t.containerRoleDescriptionMessage), t.containerMessage && e.a11y.addElLabel(a, t.containerMessage);
+				var i, s, r, n = e.$wrapperEl,
+					l = n.attr("id") || "swiper-wrapper-" + e.a11y.getRandomNumber(16);
+				e.a11y.addElId(n, l), i = e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite", e.a11y.addElLive(n, i), t.itemRoleDescriptionMessage && e.a11y.addElRoleDescription(m(e.slides), t.itemRoleDescriptionMessage), e.a11y.addElRole(m(e.slides), "group"), e.slides.each((function(t) {
+					var a = m(t);
+					e.a11y.addElLabel(a, a.index() + 1 + " / " + e.slides.length)
+				})), e.navigation && e.navigation.$nextEl && (s = e.navigation.$nextEl), e.navigation && e.navigation.$prevEl && (r = e.navigation.$prevEl), s && s.length && (e.a11y.makeElFocusable(s), "BUTTON" !== s[0].tagName && (e.a11y.addElRole(s, "button"), s.on("keydown", e.a11y.onEnterKey)), e.a11y.addElLabel(s, t.nextSlideMessage), e.a11y.addElControls(s, l)), r && r.length && (e.a11y.makeElFocusable(r), "BUTTON" !== r[0].tagName && (e.a11y.addElRole(r, "button"), r.on("keydown", e.a11y.onEnterKey)), e.a11y.addElLabel(r, t.prevSlideMessage), e.a11y.addElControls(r, l)), e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.on("keydown", "." + e.params.pagination.bulletClass.replace(/ /g, "."), e.a11y.onEnterKey)
+			},
+			destroy: function() {
+				var e, t, a = this;
+				a.a11y.liveRegion && a.a11y.liveRegion.length > 0 && a.a11y.liveRegion.remove(), a.navigation && a.navigation.$nextEl && (e = a.navigation.$nextEl), a.navigation && a.navigation.$prevEl && (t = a.navigation.$prevEl), e && e.off("keydown", a.a11y.onEnterKey), t && t.off("keydown", a.a11y.onEnterKey), a.pagination && a.params.pagination.clickable && a.pagination.bullets && a.pagination.bullets.length && a.pagination.$el.off("keydown", "." + a.params.pagination.bulletClass.replace(/ /g, "."), a.a11y.onEnterKey)
+			}
+		},
+		se = {
+			init: function() {
+				var e = this,
+					t = l();
+				if(e.params.history) {
+					if(!t.history || !t.history.pushState) return e.params.history.enabled = !1, void(e.params.hashNavigation.enabled = !0);
+					var a = e.history;
+					a.initialized = !0, a.paths = se.getPathValues(e.params.url), (a.paths.key || a.paths.value) && (a.scrollToSlide(0, a.paths.value, e.params.runCallbacksOnInit), e.params.history.replaceState || t.addEventListener("popstate", e.history.setHistoryPopState))
+				}
+			},
+			destroy: function() {
+				var e = l();
+				this.params.history.replaceState || e.removeEventListener("popstate", this.history.setHistoryPopState)
+			},
+			setHistoryPopState: function() {
+				var e = this;
+				e.history.paths = se.getPathValues(e.params.url), e.history.scrollToSlide(e.params.speed, e.history.paths.value, !1)
+			},
+			getPathValues: function(e) {
+				var t = l(),
+					a = (e ? new URL(e) : t.location).pathname.slice(1).split("/").filter((function(e) {
+						return "" !== e
+					})),
+					i = a.length;
+				return {
+					key: a[i - 2],
+					value: a[i - 1]
+				}
+			},
+			setHistory: function(e, t) {
+				var a = this,
+					i = l();
+				if(a.history.initialized && a.params.history.enabled) {
+					var s;
+					s = a.params.url ? new URL(a.params.url) : i.location;
+					var r = a.slides.eq(t),
+						n = se.slugify(r.attr("data-history"));
+					s.pathname.includes(e) || (n = e + "/" + n);
+					var o = i.history.state;
+					o && o.value === n || (a.params.history.replaceState ? i.history.replaceState({
+						value: n
+					}, null, n) : i.history.pushState({
+						value: n
+					}, null, n))
+				}
+			},
+			slugify: function(e) {
+				return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
+			},
+			scrollToSlide: function(e, t, a) {
+				var i = this;
+				if(t)
+					for(var s = 0, r = i.slides.length; s < r; s += 1) {
+						var n = i.slides.eq(s);
+						if(se.slugify(n.attr("data-history")) === t && !n.hasClass(i.params.slideDuplicateClass)) {
+							var l = n.index();
+							i.slideTo(l, e, a)
+						}
+					} else i.slideTo(0, e, a)
+			}
+		},
+		re = {
+			onHashCange: function() {
+				var e = this,
+					t = r();
+				e.emit("hashChange");
+				var a = t.location.hash.replace("#", "");
+				if(a !== e.slides.eq(e.activeIndex).attr("data-hash")) {
+					var i = e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + a + '"]').index();
+					if(void 0 === i) return;
+					e.slideTo(i)
+				}
+			},
+			setHash: function() {
+				var e = this,
+					t = l(),
+					a = r();
+				if(e.hashNavigation.initialized && e.params.hashNavigation.enabled)
+					if(e.params.hashNavigation.replaceState && t.history && t.history.replaceState) t.history.replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || ""), e.emit("hashSet");
+					else {
+						var i = e.slides.eq(e.activeIndex),
+							s = i.attr("data-hash") || i.attr("data-history");
+						a.location.hash = s || "", e.emit("hashSet")
+					}
+			},
+			init: function() {
+				var e = this,
+					t = r(),
+					a = l();
+				if(!(!e.params.hashNavigation.enabled || e.params.history && e.params.history.enabled)) {
+					e.hashNavigation.initialized = !0;
+					var i = t.location.hash.replace("#", "");
+					if(i)
+						for(var s = 0, n = e.slides.length; s < n; s += 1) {
+							var o = e.slides.eq(s);
+							if((o.attr("data-hash") || o.attr("data-history")) === i && !o.hasClass(e.params.slideDuplicateClass)) {
+								var d = o.index();
+								e.slideTo(d, 0, e.params.runCallbacksOnInit, !0)
+							}
+						}
+					e.params.hashNavigation.watchState && m(a).on("hashchange", e.hashNavigation.onHashCange)
+				}
+			},
+			destroy: function() {
+				var e = l();
+				this.params.hashNavigation.watchState && m(e).off("hashchange", this.hashNavigation.onHashCange)
+			}
+		},
+		ne = {
+			run: function() {
+				var e = this,
+					t = e.slides.eq(e.activeIndex),
+					a = e.params.autoplay.delay;
+				t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), e.autoplay.timeout = E((function() {
+					var t;
+					e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), t = e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (t = e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (t = e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), t = e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (t = e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (t = e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")), (e.params.cssMode && e.autoplay.running || !1 === t) && e.autoplay.run()
+				}), a)
+			},
+			start: function() {
+				var e = this;
+				return void 0 === e.autoplay.timeout && (!e.autoplay.running && (e.autoplay.running = !0, e.emit("autoplayStart"), e.autoplay.run(), !0))
+			},
+			stop: function() {
+				var e = this;
+				return !!e.autoplay.running && (void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (clearTimeout(e.autoplay.timeout), e.autoplay.timeout = void 0), e.autoplay.running = !1, e.emit("autoplayStop"), !0))
+			},
+			pause: function(e) {
+				var t = this;
+				t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && clearTimeout(t.autoplay.timeout), t.autoplay.paused = !0, 0 !== e && t.params.autoplay.waitForTransition ? (t.$wrapperEl[0].addEventListener("transitionend", t.autoplay.onTransitionEnd), t.$wrapperEl[0].addEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd)) : (t.autoplay.paused = !1, t.autoplay.run())))
+			},
+			onVisibilityChange: function() {
+				var e = this,
+					t = r();
+				"hidden" === t.visibilityState && e.autoplay.running && e.autoplay.pause(), "visible" === t.visibilityState && e.autoplay.paused && (e.autoplay.run(), e.autoplay.paused = !1)
+			},
+			onTransitionEnd: function(e) {
+				var t = this;
+				t && !t.destroyed && t.$wrapperEl && e.target === t.$wrapperEl[0] && (t.$wrapperEl[0].removeEventListener("transitionend", t.autoplay.onTransitionEnd), t.$wrapperEl[0].removeEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd), t.autoplay.paused = !1, t.autoplay.running ? t.autoplay.run() : t.autoplay.stop())
+			}
+		},
+		le = {
+			setTranslate: function() {
+				for(var e = this, t = e.slides, a = 0; a < t.length; a += 1) {
+					var i = e.slides.eq(a),
+						s = -i[0].swiperSlideOffset;
+					e.params.virtualTranslate || (s -= e.translate);
+					var r = 0;
+					e.isHorizontal() || (r = s, s = 0);
+					var n = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0);
+					i.css({
+						opacity: n
+					}).transform("translate3d(" + s + "px, " + r + "px, 0px)")
+				}
+			},
+			setTransition: function(e) {
+				var t = this,
+					a = t.slides,
+					i = t.$wrapperEl;
+				if(a.transition(e), t.params.virtualTranslate && 0 !== e) {
+					var s = !1;
+					a.transitionEnd((function() {
+						if(!s && t && !t.destroyed) {
+							s = !0, t.animating = !1;
+							for(var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) i.trigger(e[a])
+						}
+					}))
+				}
+			}
+		},
+		oe = {
+			setTranslate: function() {
+				var e, t = this,
+					a = t.$el,
+					i = t.$wrapperEl,
+					s = t.slides,
+					r = t.width,
+					n = t.height,
+					l = t.rtlTranslate,
+					o = t.size,
+					d = t.browser,
+					p = t.params.cubeEffect,
+					u = t.isHorizontal(),
+					c = t.virtual && t.params.virtual.enabled,
+					h = 0;
+				p.shadow && (u ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = m('<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
+					height: r + "px"
+				})) : 0 === (e = a.find(".swiper-cube-shadow")).length && (e = m('<div class="swiper-cube-shadow"></div>'), a.append(e)));
+				for(var v = 0; v < s.length; v += 1) {
+					var f = s.eq(v),
+						g = v;
+					c && (g = parseInt(f.attr("data-swiper-slide-index"), 10));
+					var w = 90 * g,
+						y = Math.floor(w / 360);
+					l && (w = -w, y = Math.floor(-w / 360));
+					var b = Math.max(Math.min(f[0].progress, 1), -1),
+						E = 0,
+						x = 0,
+						T = 0;
+					g % 4 == 0 ? (E = 4 * -y * o, T = 0) : (g - 1) % 4 == 0 ? (E = 0, T = 4 * -y * o) : (g - 2) % 4 == 0 ? (E = o + 4 * y * o, T = o) : (g - 3) % 4 == 0 && (E = -o, T = 3 * o + 4 * o * y), l && (E = -E), u || (x = E, E = 0);
+					var C = "rotateX(" + (u ? 0 : -w) + "deg) rotateY(" + (u ? w : 0) + "deg) translate3d(" + E + "px, " + x + "px, " + T + "px)";
+					if(b <= 1 && b > -1 && (h = 90 * g + 90 * b, l && (h = 90 * -g - 90 * b)), f.transform(C), p.slideShadows) {
+						var S = u ? f.find(".swiper-slide-shadow-left") : f.find(".swiper-slide-shadow-top"),
+							M = u ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom");
+						0 === S.length && (S = m('<div class="swiper-slide-shadow-' + (u ? "left" : "top") + '"></div>'), f.append(S)), 0 === M.length && (M = m('<div class="swiper-slide-shadow-' + (u ? "right" : "bottom") + '"></div>'), f.append(M)), S.length && (S[0].style.opacity = Math.max(-b, 0)), M.length && (M[0].style.opacity = Math.max(b, 0))
+					}
+				}
+				if(i.css({
+						"-webkit-transform-origin": "50% 50% -" + o / 2 + "px",
+						"-moz-transform-origin": "50% 50% -" + o / 2 + "px",
+						"-ms-transform-origin": "50% 50% -" + o / 2 + "px",
+						"transform-origin": "50% 50% -" + o / 2 + "px"
+					}), p.shadow)
+					if(u) e.transform("translate3d(0px, " + (r / 2 + p.shadowOffset) + "px, " + -r / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + p.shadowScale + ")");
+					else {
+						var z = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90),
+							P = 1.5 - (Math.sin(2 * z * Math.PI / 360) / 2 + Math.cos(2 * z * Math.PI / 360) / 2),
+							k = p.shadowScale,
+							L = p.shadowScale / P,
+							$ = p.shadowOffset;
+						e.transform("scale3d(" + k + ", 1, " + L + ") translate3d(0px, " + (n / 2 + $) + "px, " + -n / 2 / L + "px) rotateX(-90deg)")
+					}
+				var I = d.isSafari || d.isWebView ? -o / 2 : 0;
+				i.transform("translate3d(0px,0," + I + "px) rotateX(" + (t.isHorizontal() ? 0 : h) + "deg) rotateY(" + (t.isHorizontal() ? -h : 0) + "deg)")
+			},
+			setTransition: function(e) {
+				var t = this,
+					a = t.$el;
+				t.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.cubeEffect.shadow && !t.isHorizontal() && a.find(".swiper-cube-shadow").transition(e)
+			}
+		},
+		de = {
+			setTranslate: function() {
+				for(var e = this, t = e.slides, a = e.rtlTranslate, i = 0; i < t.length; i += 1) {
+					var s = t.eq(i),
+						r = s[0].progress;
+					e.params.flipEffect.limitRotation && (r = Math.max(Math.min(s[0].progress, 1), -1));
+					var n = -180 * r,
+						l = 0,
+						o = -s[0].swiperSlideOffset,
+						d = 0;
+					if(e.isHorizontal() ? a && (n = -n) : (d = o, o = 0, l = -n, n = 0), s[0].style.zIndex = -Math.abs(Math.round(r)) + t.length, e.params.flipEffect.slideShadows) {
+						var p = e.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"),
+							u = e.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom");
+						0 === p.length && (p = m('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "left" : "top") + '"></div>'), s.append(p)), 0 === u.length && (u = m('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "right" : "bottom") + '"></div>'), s.append(u)), p.length && (p[0].style.opacity = Math.max(-r, 0)), u.length && (u[0].style.opacity = Math.max(r, 0))
+					}
+					s.transform("translate3d(" + o + "px, " + d + "px, 0px) rotateX(" + l + "deg) rotateY(" + n + "deg)")
+				}
+			},
+			setTransition: function(e) {
+				var t = this,
+					a = t.slides,
+					i = t.activeIndex,
+					s = t.$wrapperEl;
+				if(a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.virtualTranslate && 0 !== e) {
+					var r = !1;
+					a.eq(i).transitionEnd((function() {
+						if(!r && t && !t.destroyed) {
+							r = !0, t.animating = !1;
+							for(var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) s.trigger(e[a])
+						}
+					}))
+				}
+			}
+		},
+		pe = {
+			setTranslate: function() {
+				for(var e = this, t = e.width, a = e.height, i = e.slides, s = e.slidesSizesGrid, r = e.params.coverflowEffect, n = e.isHorizontal(), l = e.translate, o = n ? t / 2 - l : a / 2 - l, d = n ? r.rotate : -r.rotate, p = r.depth, u = 0, c = i.length; u < c; u += 1) {
+					var h = i.eq(u),
+						v = s[u],
+						f = (o - h[0].swiperSlideOffset - v / 2) / v * r.modifier,
+						g = n ? d * f : 0,
+						w = n ? 0 : d * f,
+						y = -p * Math.abs(f),
+						b = r.stretch;
+					"string" == typeof b && -1 !== b.indexOf("%") && (b = parseFloat(r.stretch) / 100 * v);
+					var E = n ? 0 : b * f,
+						x = n ? b * f : 0,
+						T = 1 - (1 - r.scale) * Math.abs(f);
+					Math.abs(x) < .001 && (x = 0), Math.abs(E) < .001 && (E = 0), Math.abs(y) < .001 && (y = 0), Math.abs(g) < .001 && (g = 0), Math.abs(w) < .001 && (w = 0), Math.abs(T) < .001 && (T = 0);
+					var C = "translate3d(" + x + "px," + E + "px," + y + "px)  rotateX(" + w + "deg) rotateY(" + g + "deg) scale(" + T + ")";
+					if(h.transform(C), h[0].style.zIndex = 1 - Math.abs(Math.round(f)), r.slideShadows) {
+						var S = n ? h.find(".swiper-slide-shadow-left") : h.find(".swiper-slide-shadow-top"),
+							M = n ? h.find(".swiper-slide-shadow-right") : h.find(".swiper-slide-shadow-bottom");
+						0 === S.length && (S = m('<div class="swiper-slide-shadow-' + (n ? "left" : "top") + '"></div>'), h.append(S)), 0 === M.length && (M = m('<div class="swiper-slide-shadow-' + (n ? "right" : "bottom") + '"></div>'), h.append(M)), S.length && (S[0].style.opacity = f > 0 ? f : 0), M.length && (M[0].style.opacity = -f > 0 ? -f : 0)
+					}
+				}
+			},
+			setTransition: function(e) {
+				this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)
+			}
+		},
+		ue = {
+			init: function() {
+				var e = this,
+					t = e.params.thumbs;
+				if(e.thumbs.initialized) return !1;
+				e.thumbs.initialized = !0;
+				var a = e.constructor;
+				return t.swiper instanceof a ? (e.thumbs.swiper = t.swiper, S(e.thumbs.swiper.originalParams, {
+					watchSlidesProgress: !0,
+					slideToClickedSlide: !1
+				}), S(e.thumbs.swiper.params, {
+					watchSlidesProgress: !0,
+					slideToClickedSlide: !1
+				})) : C(t.swiper) && (e.thumbs.swiper = new a(S({}, t.swiper, {
+					watchSlidesVisibility: !0,
+					watchSlidesProgress: !0,
+					slideToClickedSlide: !1
+				})), e.thumbs.swiperCreated = !0), e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass), e.thumbs.swiper.on("tap", e.thumbs.onThumbClick), !0
+			},
+			onThumbClick: function() {
+				var e = this,
+					t = e.thumbs.swiper;
+				if(t) {
+					var a = t.clickedIndex,
+						i = t.clickedSlide;
+					if(!(i && m(i).hasClass(e.params.thumbs.slideThumbActiveClass) || null == a)) {
+						var s;
+						if(s = t.params.loop ? parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"), 10) : a, e.params.loop) {
+							var r = e.activeIndex;
+							e.slides.eq(r).hasClass(e.params.slideDuplicateClass) && (e.loopFix(), e._clientLeft = e.$wrapperEl[0].clientLeft, r = e.activeIndex);
+							var n = e.slides.eq(r).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(),
+								l = e.slides.eq(r).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0).index();
+							s = void 0 === n ? l : void 0 === l ? n : l - r < r - n ? l : n
+						}
+						e.slideTo(s)
+					}
+				}
+			},
+			update: function(e) {
+				var t = this,
+					a = t.thumbs.swiper;
+				if(a) {
+					var i = "auto" === a.params.slidesPerView ? a.slidesPerViewDynamic() : a.params.slidesPerView,
+						s = t.params.thumbs.autoScrollOffset,
+						r = s && !a.params.loop;
+					if(t.realIndex !== a.realIndex || r) {
+						var n, l, o = a.activeIndex;
+						if(a.params.loop) {
+							a.slides.eq(o).hasClass(a.params.slideDuplicateClass) && (a.loopFix(), a._clientLeft = a.$wrapperEl[0].clientLeft, o = a.activeIndex);
+							var d = a.slides.eq(o).prevAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index(),
+								p = a.slides.eq(o).nextAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index();
+							n = void 0 === d ? p : void 0 === p ? d : p - o == o - d ? o : p - o < o - d ? p : d, l = t.activeIndex > t.previousIndex ? "next" : "prev"
+						} else l = (n = t.realIndex) > t.previousIndex ? "next" : "prev";
+						r && (n += "next" === l ? s : -1 * s), a.visibleSlidesIndexes && a.visibleSlidesIndexes.indexOf(n) < 0 && (a.params.centeredSlides ? n = n > o ? n - Math.floor(i / 2) + 1 : n + Math.floor(i / 2) - 1 : n > o && (n = n - i + 1), a.slideTo(n, e ? 0 : void 0))
+					}
+					var u = 1,
+						c = t.params.thumbs.slideThumbActiveClass;
+					if(t.params.slidesPerView > 1 && !t.params.centeredSlides && (u = t.params.slidesPerView), t.params.thumbs.multipleActiveThumbs || (u = 1), u = Math.floor(u), a.slides.removeClass(c), a.params.loop || a.params.virtual && a.params.virtual.enabled)
+						for(var h = 0; h < u; h += 1) a.$wrapperEl.children('[data-swiper-slide-index="' + (t.realIndex + h) + '"]').addClass(c);
+					else
+						for(var v = 0; v < u; v += 1) a.slides.eq(t.realIndex + v).addClass(c)
+				}
+			}
+		},
+		ce = [q, _, {
+			name: "mousewheel",
+			params: {
+				mousewheel: {
+					enabled: !1,
+					releaseOnEdges: !1,
+					invert: !1,
+					forceToAxis: !1,
+					sensitivity: 1,
+					eventsTarget: "container",
+					thresholdDelta: null,
+					thresholdTime: null
+				}
+			},
+			create: function() {
+				M(this, {
+					mousewheel: {
+						enabled: !1,
+						lastScrollTime: x(),
+						lastEventBeforeSnap: void 0,
+						recentWheelEvents: [],
+						enable: U.enable,
+						disable: U.disable,
+						handle: U.handle,
+						handleMouseEnter: U.handleMouseEnter,
+						handleMouseLeave: U.handleMouseLeave,
+						animateSlider: U.animateSlider,
+						releaseScroll: U.releaseScroll
+					}
+				})
+			},
+			on: {
+				init: function(e) {
+					!e.params.mousewheel.enabled && e.params.cssMode && e.mousewheel.disable(), e.params.mousewheel.enabled && e.mousewheel.enable()
+				},
+				destroy: function(e) {
+					e.params.cssMode && e.mousewheel.enable(), e.mousewheel.enabled && e.mousewheel.disable()
+				}
+			}
+		}, {
+			name: "navigation",
+			params: {
+				navigation: {
+					nextEl: null,
+					prevEl: null,
+					hideOnClick: !1,
+					disabledClass: "swiper-button-disabled",
+					hiddenClass: "swiper-button-hidden",
+					lockClass: "swiper-button-lock"
+				}
+			},
+			create: function() {
+				M(this, {
+					navigation: t({}, K)
+				})
+			},
+			on: {
+				init: function(e) {
+					e.navigation.init(), e.navigation.update()
+				},
+				toEdge: function(e) {
+					e.navigation.update()
+				},
+				fromEdge: function(e) {
+					e.navigation.update()
+				},
+				destroy: function(e) {
+					e.navigation.destroy()
+				},
+				click: function(e, t) {
+					var a, i = e.navigation,
+						s = i.$nextEl,
+						r = i.$prevEl;
+					!e.params.navigation.hideOnClick || m(t.target).is(r) || m(t.target).is(s) || (s ? a = s.hasClass(e.params.navigation.hiddenClass) : r && (a = r.hasClass(e.params.navigation.hiddenClass)), !0 === a ? e.emit("navigationShow") : e.emit("navigationHide"), s && s.toggleClass(e.params.navigation.hiddenClass), r && r.toggleClass(e.params.navigation.hiddenClass))
+				}
+			}
+		}, {
+			name: "pagination",
+			params: {
+				pagination: {
+					el: null,
+					bulletElement: "span",
+					clickable: !1,
+					hideOnClick: !1,
+					renderBullet: null,
+					renderProgressbar: null,
+					renderFraction: null,
+					renderCustom: null,
+					progressbarOpposite: !1,
+					type: "bullets",
+					dynamicBullets: !1,
+					dynamicMainBullets: 1,
+					formatFractionCurrent: function(e) {
+						return e
+					},
+					formatFractionTotal: function(e) {
+						return e
+					},
+					bulletClass: "swiper-pagination-bullet",
+					bulletActiveClass: "swiper-pagination-bullet-active",
+					modifierClass: "swiper-pagination-",
+					currentClass: "swiper-pagination-current",
+					totalClass: "swiper-pagination-total",
+					hiddenClass: "swiper-pagination-hidden",
+					progressbarFillClass: "swiper-pagination-progressbar-fill",
+					progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
+					clickableClass: "swiper-pagination-clickable",
+					lockClass: "swiper-pagination-lock"
+				}
+			},
+			create: function() {
+				M(this, {
+					pagination: t({
+						dynamicBulletIndex: 0
+					}, Z)
+				})
+			},
+			on: {
+				init: function(e) {
+					e.pagination.init(), e.pagination.render(), e.pagination.update()
+				},
+				activeIndexChange: function(e) {
+					(e.params.loop || void 0 === e.snapIndex) && e.pagination.update()
+				},
+				snapIndexChange: function(e) {
+					e.params.loop || e.pagination.update()
+				},
+				slidesLengthChange: function(e) {
+					e.params.loop && (e.pagination.render(), e.pagination.update())
+				},
+				snapGridLengthChange: function(e) {
+					e.params.loop || (e.pagination.render(), e.pagination.update())
+				},
+				destroy: function(e) {
+					e.pagination.destroy()
+				},
+				click: function(e, t) {
+					e.params.pagination.el && e.params.pagination.hideOnClick && e.pagination.$el.length > 0 && !m(t.target).hasClass(e.params.pagination.bulletClass) && (!0 === e.pagination.$el.hasClass(e.params.pagination.hiddenClass) ? e.emit("paginationShow") : e.emit("paginationHide"), e.pagination.$el.toggleClass(e.params.pagination.hiddenClass))
+				}
+			}
+		}, {
+			name: "scrollbar",
+			params: {
+				scrollbar: {
+					el: null,
+					dragSize: "auto",
+					hide: !1,
+					draggable: !1,
+					snapOnRelease: !0,
+					lockClass: "swiper-scrollbar-lock",
+					dragClass: "swiper-scrollbar-drag"
+				}
+			},
+			create: function() {
+				M(this, {
+					scrollbar: t({
+						isTouched: !1,
+						timeout: null,
+						dragTimeout: null
+					}, J)
+				})
+			},
+			on: {
+				init: function(e) {
+					e.scrollbar.init(), e.scrollbar.updateSize(), e.scrollbar.setTranslate()
+				},
+				update: function(e) {
+					e.scrollbar.updateSize()
+				},
+				resize: function(e) {
+					e.scrollbar.updateSize()
+				},
+				observerUpdate: function(e) {
+					e.scrollbar.updateSize()
+				},
+				setTranslate: function(e) {
+					e.scrollbar.setTranslate()
+				},
+				setTransition: function(e, t) {
+					e.scrollbar.setTransition(t)
+				},
+				destroy: function(e) {
+					e.scrollbar.destroy()
+				}
+			}
+		}, {
+			name: "parallax",
+			params: {
+				parallax: {
+					enabled: !1
+				}
+			},
+			create: function() {
+				M(this, {
+					parallax: t({}, Q)
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					e.params.parallax.enabled && (e.params.watchSlidesProgress = !0, e.originalParams.watchSlidesProgress = !0)
+				},
+				init: function(e) {
+					e.params.parallax.enabled && e.parallax.setTranslate()
+				},
+				setTranslate: function(e) {
+					e.params.parallax.enabled && e.parallax.setTranslate()
+				},
+				setTransition: function(e, t) {
+					e.params.parallax.enabled && e.parallax.setTransition(t)
+				}
+			}
+		}, {
+			name: "zoom",
+			params: {
+				zoom: {
+					enabled: !1,
+					maxRatio: 3,
+					minRatio: 1,
+					toggle: !0,
+					containerClass: "swiper-zoom-container",
+					zoomedSlideClass: "swiper-slide-zoomed"
+				}
+			},
+			create: function() {
+				var e = this;
+				M(e, {
+					zoom: t({
+						enabled: !1,
+						scale: 1,
+						currentScale: 1,
+						isScaling: !1,
+						gesture: {
+							$slideEl: void 0,
+							slideWidth: void 0,
+							slideHeight: void 0,
+							$imageEl: void 0,
+							$imageWrapEl: void 0,
+							maxRatio: 3
+						},
+						image: {
+							isTouched: void 0,
+							isMoved: void 0,
+							currentX: void 0,
+							currentY: void 0,
+							minX: void 0,
+							minY: void 0,
+							maxX: void 0,
+							maxY: void 0,
+							width: void 0,
+							height: void 0,
+							startX: void 0,
+							startY: void 0,
+							touchesStart: {},
+							touchesCurrent: {}
+						},
+						velocity: {
+							x: void 0,
+							y: void 0,
+							prevPositionX: void 0,
+							prevPositionY: void 0,
+							prevTime: void 0
+						}
+					}, ee)
+				});
+				var a = 1;
+				Object.defineProperty(e.zoom, "scale", {
+					get: function() {
+						return a
+					},
+					set: function(t) {
+						if(a !== t) {
+							var i = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0,
+								s = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0;
+							e.emit("zoomChange", t, i, s)
+						}
+						a = t
+					}
+				})
+			},
+			on: {
+				init: function(e) {
+					e.params.zoom.enabled && e.zoom.enable()
+				},
+				destroy: function(e) {
+					e.zoom.disable()
+				},
+				touchStart: function(e, t) {
+					e.zoom.enabled && e.zoom.onTouchStart(t)
+				},
+				touchEnd: function(e, t) {
+					e.zoom.enabled && e.zoom.onTouchEnd(t)
+				},
+				doubleTap: function(e, t) {
+					e.params.zoom.enabled && e.zoom.enabled && e.params.zoom.toggle && e.zoom.toggle(t)
+				},
+				transitionEnd: function(e) {
+					e.zoom.enabled && e.params.zoom.enabled && e.zoom.onTransitionEnd()
+				},
+				slideChange: function(e) {
+					e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode && e.zoom.onTransitionEnd()
+				}
+			}
+		}, {
+			name: "lazy",
+			params: {
+				lazy: {
+					checkInView: !1,
+					enabled: !1,
+					loadPrevNext: !1,
+					loadPrevNextAmount: 1,
+					loadOnTransitionStart: !1,
+					scrollingElement: "",
+					elementClass: "swiper-lazy",
+					loadingClass: "swiper-lazy-loading",
+					loadedClass: "swiper-lazy-loaded",
+					preloaderClass: "swiper-lazy-preloader"
+				}
+			},
+			create: function() {
+				M(this, {
+					lazy: t({
+						initialImageLoaded: !1
+					}, te)
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					e.params.lazy.enabled && e.params.preloadImages && (e.params.preloadImages = !1)
+				},
+				init: function(e) {
+					e.params.lazy.enabled && !e.params.loop && 0 === e.params.initialSlide && (e.params.lazy.checkInView ? e.lazy.checkInViewOnLoad() : e.lazy.load())
+				},
+				scroll: function(e) {
+					e.params.freeMode && !e.params.freeModeSticky && e.lazy.load()
+				},
+				resize: function(e) {
+					e.params.lazy.enabled && e.lazy.load()
+				},
+				scrollbarDragMove: function(e) {
+					e.params.lazy.enabled && e.lazy.load()
+				},
+				transitionStart: function(e) {
+					e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || !e.params.lazy.loadOnTransitionStart && !e.lazy.initialImageLoaded) && e.lazy.load()
+				},
+				transitionEnd: function(e) {
+					e.params.lazy.enabled && !e.params.lazy.loadOnTransitionStart && e.lazy.load()
+				},
+				slideChange: function(e) {
+					e.params.lazy.enabled && e.params.cssMode && e.lazy.load()
+				}
+			}
+		}, {
+			name: "controller",
+			params: {
+				controller: {
+					control: void 0,
+					inverse: !1,
+					by: "slide"
+				}
+			},
+			create: function() {
+				M(this, {
+					controller: t({
+						control: this.params.controller.control
+					}, ae)
+				})
+			},
+			on: {
+				update: function(e) {
+					e.controller.control && e.controller.spline && (e.controller.spline = void 0, delete e.controller.spline)
+				},
+				resize: function(e) {
+					e.controller.control && e.controller.spline && (e.controller.spline = void 0, delete e.controller.spline)
+				},
+				observerUpdate: function(e) {
+					e.controller.control && e.controller.spline && (e.controller.spline = void 0, delete e.controller.spline)
+				},
+				setTranslate: function(e, t, a) {
+					e.controller.control && e.controller.setTranslate(t, a)
+				},
+				setTransition: function(e, t, a) {
+					e.controller.control && e.controller.setTransition(t, a)
+				}
+			}
+		}, {
+			name: "a11y",
+			params: {
+				a11y: {
+					enabled: !0,
+					notificationClass: "swiper-notification",
+					prevSlideMessage: "Previous slide",
+					nextSlideMessage: "Next slide",
+					firstSlideMessage: "This is the first slide",
+					lastSlideMessage: "This is the last slide",
+					paginationBulletMessage: "Go to slide {{index}}",
+					containerMessage: null,
+					containerRoleDescriptionMessage: null,
+					itemRoleDescriptionMessage: null
+				}
+			},
+			create: function() {
+				M(this, {
+					a11y: t({}, ie, {
+						liveRegion: m('<span class="' + this.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>')
+					})
+				})
+			},
+			on: {
+				afterInit: function(e) {
+					e.params.a11y.enabled && (e.a11y.init(), e.a11y.updateNavigation())
+				},
+				toEdge: function(e) {
+					e.params.a11y.enabled && e.a11y.updateNavigation()
+				},
+				fromEdge: function(e) {
+					e.params.a11y.enabled && e.a11y.updateNavigation()
+				},
+				paginationUpdate: function(e) {
+					e.params.a11y.enabled && e.a11y.updatePagination()
+				},
+				destroy: function(e) {
+					e.params.a11y.enabled && e.a11y.destroy()
+				}
+			}
+		}, {
+			name: "history",
+			params: {
+				history: {
+					enabled: !1,
+					replaceState: !1,
+					key: "slides"
+				}
+			},
+			create: function() {
+				M(this, {
+					history: t({}, se)
+				})
+			},
+			on: {
+				init: function(e) {
+					e.params.history.enabled && e.history.init()
+				},
+				destroy: function(e) {
+					e.params.history.enabled && e.history.destroy()
+				},
+				transitionEnd: function(e) {
+					e.history.initialized && e.history.setHistory(e.params.history.key, e.activeIndex)
+				},
+				slideChange: function(e) {
+					e.history.initialized && e.params.cssMode && e.history.setHistory(e.params.history.key, e.activeIndex)
+				}
+			}
+		}, {
+			name: "hash-navigation",
+			params: {
+				hashNavigation: {
+					enabled: !1,
+					replaceState: !1,
+					watchState: !1
+				}
+			},
+			create: function() {
+				M(this, {
+					hashNavigation: t({
+						initialized: !1
+					}, re)
+				})
+			},
+			on: {
+				init: function(e) {
+					e.params.hashNavigation.enabled && e.hashNavigation.init()
+				},
+				destroy: function(e) {
+					e.params.hashNavigation.enabled && e.hashNavigation.destroy()
+				},
+				transitionEnd: function(e) {
+					e.hashNavigation.initialized && e.hashNavigation.setHash()
+				},
+				slideChange: function(e) {
+					e.hashNavigation.initialized && e.params.cssMode && e.hashNavigation.setHash()
+				}
+			}
+		}, {
+			name: "autoplay",
+			params: {
+				autoplay: {
+					enabled: !1,
+					delay: 3e3,
+					waitForTransition: !0,
+					disableOnInteraction: !0,
+					stopOnLastSlide: !1,
+					reverseDirection: !1
+				}
+			},
+			create: function() {
+				M(this, {
+					autoplay: t({}, ne, {
+						running: !1,
+						paused: !1
+					})
+				})
+			},
+			on: {
+				init: function(e) {
+					e.params.autoplay.enabled && (e.autoplay.start(), r().addEventListener("visibilitychange", e.autoplay.onVisibilityChange))
+				},
+				beforeTransitionStart: function(e, t, a) {
+					e.autoplay.running && (a || !e.params.autoplay.disableOnInteraction ? e.autoplay.pause(t) : e.autoplay.stop())
+				},
+				sliderFirstMove: function(e) {
+					e.autoplay.running && (e.params.autoplay.disableOnInteraction ? e.autoplay.stop() : e.autoplay.pause())
+				},
+				touchEnd: function(e) {
+					e.params.cssMode && e.autoplay.paused && !e.params.autoplay.disableOnInteraction && e.autoplay.run()
+				},
+				destroy: function(e) {
+					e.autoplay.running && e.autoplay.stop(), r().removeEventListener("visibilitychange", e.autoplay.onVisibilityChange)
+				}
+			}
+		}, {
+			name: "effect-fade",
+			params: {
+				fadeEffect: {
+					crossFade: !1
+				}
+			},
+			create: function() {
+				M(this, {
+					fadeEffect: t({}, le)
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					if("fade" === e.params.effect) {
+						e.classNames.push(e.params.containerModifierClass + "fade");
+						var t = {
+							slidesPerView: 1,
+							slidesPerColumn: 1,
+							slidesPerGroup: 1,
+							watchSlidesProgress: !0,
+							spaceBetween: 0,
+							virtualTranslate: !0
+						};
+						S(e.params, t), S(e.originalParams, t)
+					}
+				},
+				setTranslate: function(e) {
+					"fade" === e.params.effect && e.fadeEffect.setTranslate()
+				},
+				setTransition: function(e, t) {
+					"fade" === e.params.effect && e.fadeEffect.setTransition(t)
+				}
+			}
+		}, {
+			name: "effect-cube",
+			params: {
+				cubeEffect: {
+					slideShadows: !0,
+					shadow: !0,
+					shadowOffset: 20,
+					shadowScale: .94
+				}
+			},
+			create: function() {
+				M(this, {
+					cubeEffect: t({}, oe)
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					if("cube" === e.params.effect) {
+						e.classNames.push(e.params.containerModifierClass + "cube"), e.classNames.push(e.params.containerModifierClass + "3d");
+						var t = {
+							slidesPerView: 1,
+							slidesPerColumn: 1,
+							slidesPerGroup: 1,
+							watchSlidesProgress: !0,
+							resistanceRatio: 0,
+							spaceBetween: 0,
+							centeredSlides: !1,
+							virtualTranslate: !0
+						};
+						S(e.params, t), S(e.originalParams, t)
+					}
+				},
+				setTranslate: function(e) {
+					"cube" === e.params.effect && e.cubeEffect.setTranslate()
+				},
+				setTransition: function(e, t) {
+					"cube" === e.params.effect && e.cubeEffect.setTransition(t)
+				}
+			}
+		}, {
+			name: "effect-flip",
+			params: {
+				flipEffect: {
+					slideShadows: !0,
+					limitRotation: !0
+				}
+			},
+			create: function() {
+				M(this, {
+					flipEffect: t({}, de)
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					if("flip" === e.params.effect) {
+						e.classNames.push(e.params.containerModifierClass + "flip"), e.classNames.push(e.params.containerModifierClass + "3d");
+						var t = {
+							slidesPerView: 1,
+							slidesPerColumn: 1,
+							slidesPerGroup: 1,
+							watchSlidesProgress: !0,
+							spaceBetween: 0,
+							virtualTranslate: !0
+						};
+						S(e.params, t), S(e.originalParams, t)
+					}
+				},
+				setTranslate: function(e) {
+					"flip" === e.params.effect && e.flipEffect.setTranslate()
+				},
+				setTransition: function(e, t) {
+					"flip" === e.params.effect && e.flipEffect.setTransition(t)
+				}
+			}
+		}, {
+			name: "effect-coverflow",
+			params: {
+				coverflowEffect: {
+					rotate: 50,
+					stretch: 0,
+					depth: 100,
+					scale: 1,
+					modifier: 1,
+					slideShadows: !0
+				}
+			},
+			create: function() {
+				M(this, {
+					coverflowEffect: t({}, pe)
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					"coverflow" === e.params.effect && (e.classNames.push(e.params.containerModifierClass + "coverflow"), e.classNames.push(e.params.containerModifierClass + "3d"), e.params.watchSlidesProgress = !0, e.originalParams.watchSlidesProgress = !0)
+				},
+				setTranslate: function(e) {
+					"coverflow" === e.params.effect && e.coverflowEffect.setTranslate()
+				},
+				setTransition: function(e, t) {
+					"coverflow" === e.params.effect && e.coverflowEffect.setTransition(t)
+				}
+			}
+		}, {
+			name: "thumbs",
+			params: {
+				thumbs: {
+					swiper: null,
+					multipleActiveThumbs: !0,
+					autoScrollOffset: 0,
+					slideThumbActiveClass: "swiper-slide-thumb-active",
+					thumbsContainerClass: "swiper-container-thumbs"
+				}
+			},
+			create: function() {
+				M(this, {
+					thumbs: t({
+						swiper: null,
+						initialized: !1
+					}, ue)
+				})
+			},
+			on: {
+				beforeInit: function(e) {
+					var t = e.params.thumbs;
+					t && t.swiper && (e.thumbs.init(), e.thumbs.update(!0))
+				},
+				slideChange: function(e) {
+					e.thumbs.swiper && e.thumbs.update()
+				},
+				update: function(e) {
+					e.thumbs.swiper && e.thumbs.update()
+				},
+				resize: function(e) {
+					e.thumbs.swiper && e.thumbs.update()
+				},
+				observerUpdate: function(e) {
+					e.thumbs.swiper && e.thumbs.update()
+				},
+				setTransition: function(e, t) {
+					var a = e.thumbs.swiper;
+					a && a.setTransition(t)
+				},
+				beforeDestroy: function(e) {
+					var t = e.thumbs.swiper;
+					t && e.thumbs.swiperCreated && t && t.destroy()
+				}
+			}
+		}];
+	return W.use(ce), W
+}));
+//# sourceMappingURL=swiper-bundle.min.js.map

+ 51 - 28
src/components/Banner.vue

@@ -1,36 +1,59 @@
 <template>
-  <div class="banner">
-      <img  src="../assets/img/index01.png" width="100%" alt="">
+  <div class="swiper-container von-in-ban">
+    <div class="swiper-wrapper">
+      <div class="swiper-slide">
+        <a href=""><img src="@/assets/img/index01.png" width="100%" /></a>
+      </div>
+      <div class="swiper-slide">
+        <a href=""><img src="@/assets/img/index01.png" width="100%" /></a>
+      </div>
+      <div class="swiper-slide">
+        <a href=""><img src="@/assets/img/index01.png" width="100%" /></a>
+      </div>
+      <div class="swiper-slide">
+        <a href=""><img src="@/assets/img/index01.png" width="100%" /></a>
+      </div>
+      <div class="swiper-slide">
+        <a href=""><img src="@/assets/img/index01.png" width="100%" /></a>
+      </div>
+    </div>
+    <div class="swiper-pagination"></div>
   </div>
 </template>
 
 <script>
-	export default{
-		name: 'banner',
-		props: {
-		    bannerRoute: {
-		        require: false,
-		        default: '',
-		    },
-		},
-		data(){
-			return{
-				
-			}
-		},
-		methods:{
-			setList(sz){
-			     /* this.topList=sz; */
-			    this.$nextTick(() => {
-			        var gallery = mui('.mui-slider');
-			        var slider = gallery.slider({
-			            interval: 5000, //自动轮播周期,若为0则不自动播放,默认为0;
-			         });
-			    })
-			}
-			
-		}
-	}
+import Swiper from '@/assets/js/swiper-bundle.min.js'
+export default {
+  name: "banner",
+  props: {
+    bannerRoute: {
+      require: false,
+      default: "",
+    },
+  },
+  data() {
+    return {};
+  },
+  methods: {
+    slider() {
+      new Swiper(".swiper-container.von-in-ban", {
+        spaceBetween: 30,
+        centeredSlides: true,
+        autoplay: {
+          delay: 2500,
+          disableOnInteraction: false,
+        },
+        pagination: {
+          el: ".swiper-pagination",
+          clickable: true,
+        },
+      });
+    },
+  },
+  mounted() {
+    this.slider();
+  },
+};
 </script>
 
 <style>

+ 95 - 91
src/components/Nav.vue

@@ -1,90 +1,96 @@
 <template>
-<nav>
-  <div class="nav">
-    <div class="menu" @click="isMenu=!isMenu">
-      <img class="img01" v-if="isMenu==false" src="@/assets/img/icon-caidan.png" alt="">
-      <img class="img02" v-if="isMenu==true" src="@/assets/img/icon-arrowup1.png" alt="">
-      
+  <nav>
+    <div class="nav">
+      <div class="menu" @click="isMenu = !isMenu">
+        <img
+          class="img01"
+          v-if="isMenu == false"
+          src="@/assets/img/icon-caidan.png"
+          alt=""
+        />
+        <img
+          class="img02"
+          v-if="isMenu == true"
+          src="@/assets/img/icon-arrowup1.png"
+          alt=""
+        />
+      </div>
+      <ul v-if="isMenu" class="list">
+        <li>
+          <a href="#/">首页</a>
+        </li>
+        <li>
+          <a href="#/djadmin">刀具管理</a>
+        </li>
+        <li>
+          <a href="#/fdj">非标刀具定制</a>
+        </li>
+        <li>
+          <a href="#/djxm">刀具修磨</a>
+        </li>
+        <li>
+          <a href="#/djlist">产品中心</a>
+        </li>
+        <li>
+          <a href="#/cplist" style="color: #ff9b6a">特价商品</a>
+        </li>
+        <li class="sanjiao">
+          <a href="#">VariMillTM GP<br />整硬立铣刀 </a>
+          <dl>
+            <dt><a href="#/cpdat01">整体概览</a></dt>
+            <dt><a href="#/cpdat02">详细参数</a></dt>
+          </dl>
+        </li>
+        <li class="sanjiao">
+          <a href="#">Victory<br />硬质合金车刀</a>
+          <dl>
+            <dt><a href="#/cpdat01">整体概览</a></dt>
+            <dt><a href="#/cpdat02">详细参数</a></dt>
+            <dd></dd>
+          </dl>
+        </li>
+        <li>
+          <a href="#/about">关于我们</a>
+        </li>
+      </ul>
     </div>
-    <ul v-if="isMenu" class="list">
-      <li>
-						<a href="#/">首页</a>
-					</li>
-					<li>
-						<a href="#/djadmin">刀具管理</a>
-					</li>
-					<li>
-						<a href="#/fdj">非标刀具定制</a>
-					</li>
-					<li>
-						<a href="#/djxm">刀具修磨</a>
-					</li>
-					<li>
-						 <a href="#/djlist">产品中心</a>
-					</li>
-          <li>
-						 <a href="#/cplist" style="color:#FF9B6A;">特价商品</a>
-					</li>
-					<li class="sanjiao">
-						<a href="#">VariMillTM GP<br>整硬立铣刀 </a>
-            <dl>
-              <dt><a href="#/cpdat01">整体概览</a></dt>
-              <dt><a href="#/cpdat02">详细参数</a></dt>
-             
-            </dl>
-					</li>
-					<li  class="sanjiao">
-						<a href="#">Victory<br>硬质合金车刀</a>
-            <dl>
-              <dt><a href="#/cpdat01">整体概览</a></dt>
-              <dt><a href="#/cpdat02">详细参数</a></dt>
-              <dd></dd>
-            </dl>
-					</li>
-					<li>
-						<a href="#/about">关于我们</a>
-					</li>
-    </ul>
-  </div>
-</nav>
-  
+  </nav>
 </template>
 
 <script>
-	export default{
-    data(){
-      return{
-        isMenu:false
-      }
-    }
-		
-	}
+export default {
+  data() {
+    return {
+      isMenu: false,
+    };
+  },
+};
 </script>
 
 <style scoped>
-nav{
+nav {
   position: fixed;
   left: 0;
   top: 0;
-  zoom:1;
+  zoom: 1;
+  z-index: 21000;
 }
-.nav{
+.nav {
   width: 100%;
 }
-.nav .menu, .list{
+.nav .menu,
+.list {
   position: fixed;
   left: 12px;
   box-shadow: 0 0 3px #666;
 }
-.nav .menu{
-top: 4%;
-z-index: 20000;
+.nav .menu {
+  top: 4%;
 }
-.list{
-top: 8%;
-z-index: 15000;
+.list {
+  top: 8%;
 }
-.nav .menu{
+.nav .menu {
   width: 52px;
   height: 52px;
   background: rgba(0, 0, 0, 1);
@@ -94,34 +100,33 @@ z-index: 15000;
   justify-content: center;
   align-items: center;
   box-shadow: 0 0 3px #333333;
-  
 }
-.nav .menu img.img01{
+.nav .menu img.img01 {
   width: 30px;
 }
-.nav .menu img.img02{
+.nav .menu img.img02 {
   width: 32px;
 }
-.list{
-  background: rgba(0, 0, 0, .6);
+.list {
+  background: rgba(0, 0, 0, 0.6);
   width: 130px;
   padding-top: 4%;
   padding-bottom: 3%;
 }
-.list li{
+.list li {
   width: 100%;
   padding-top: 8px;
   padding-bottom: 8px;
   position: relative;
 }
-.list li dl{
+.list li dl {
   display: none;
 }
-.list li:hover{
-   width: 100%;
-  background: rgba(0, 0, 0, .9);
+.list li:hover {
+  width: 100%;
+  background: rgba(0, 0, 0, 0.9);
 }
-.list li:hover dl{
+.list li:hover dl {
   display: block;
   position: absolute;
   top: -11px;
@@ -132,27 +137,26 @@ z-index: 15000;
   padding-bottom: 4%;
 }
 
-.list li:hover dl dt{
+.list li:hover dl dt {
   padding-top: 6%;
   padding-bottom: 6%;
 }
-.list li.sanjiao:hover:before{
-  content: '';
+.list li.sanjiao:hover:before {
+  content: "";
   display: block;
   position: absolute;
-right: 0;
-top: 15px;
-   border-top: .4rem solid transparent;
-    border-right: .6rem solid #333333;
-    border-bottom: .4rem solid transparent;
-}
-.list li:hover dl a{
- 
+  right: 0;
+  top: 15px;
+  border-top: 0.4rem solid transparent;
+  border-right: 0.6rem solid #333333;
+  border-bottom: 0.4rem solid transparent;
+}
+.list li:hover dl a {
   color: #ffffff;
   padding-left: 1rem;
 }
-.list li a{
-  font-size: .85rem;
+.list li a {
+  font-size: 0.85rem;
   color: #ffffff;
   padding-left: 1rem;
   text-align: left;

+ 0 - 28
src/components/Navsecond.vue

@@ -1,28 +0,0 @@
-<template>
- <div class="fixnav">
-          <ul>
-          <li><a href="">2槽</a></li>
-          <li><a href="">3槽</a></li>
-          <li><a href="">4槽</a></li>
-        </ul>
- </div>
-</template>
-
-<script>
-export default {
-
-}
-</script>
-
-<style>
-.fixnav{
-  position: fixed;
-  z-index: 0;
-  top:7rem;
-  left: 0;
-  width: 4.1rem;
-  height: 500px;
-  background: chocolate;
-  zoom: -1;
-}
-</style>

+ 3 - 0
src/main.js

@@ -8,6 +8,9 @@ Vue.use(VueAwesomeSwiper)
 Vue.config.productionTip = false
 Vue.use(AxiosPlugin);
 
+
+
+
 new Vue({
   router,
   render: h => h(App)

+ 6 - 6
src/views/djxm.vue

@@ -9,12 +9,12 @@
 						<button type="button" class="btn btn-warning">查看地图</button>
 					</div>
 					<!--弹窗-->
-					<div class="von-showpic">
-					    <span></span>
-					    <div class="dj-demo">
-					    	<img src="@/assets/img/dj04.png" alt="">
-					    	<img class="@/assets/dj-demo-off" src="@/assets/img/off.png" alt="">
-					    </div>
+				<div class="von-showpic">
+					<span></span>
+					<div class="dj-demo">
+						<img src="@/assets/img/dj04.png" alt="">
+						<img class="@/assets/dj-demo-off" src="@/assets/img/off.png" alt="">
+					</div>
 					</div>
 				</div>
 				<div class="von-in">

+ 12 - 4
src/views/index.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="con">
-    <app-nav/>
     <banner ref="mybanner"></banner>
+   <app-nav/>
+ 
      <ul>
       <li>
         <div class="conimg"><img src="@/assets/img/index02.png" alt=""></div>
@@ -56,7 +57,7 @@ import AppFooter from '@/components/footer.vue'
 	} from 'vuex'
 export default{
     components: {
-        Loading,
+        // Loading,
         Banner,
         AppNav,
         AppFooter
@@ -67,9 +68,13 @@ export default{
     }
 
   },
-  method:{
+  methods:{
+    
 
-  }
+  },
+  mounted() {
+		
+		}
 }
 </script>
 
@@ -192,4 +197,7 @@ height: auto;
     line-height: 1.5;
     border-radius: .25rem;
 }
+.con .von-in-ban{
+  z-index: 0;
+}
 </style>

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません