PageSourceSearch

https://kjapi.com/template/lottery/news/js/jquery.flexslider-min.js

js kjapi.com collected 2026-10-08 09:40:43 UTC 57,788 bytes, 1,641 lines download raw bytes

1/*
2 * jQuery FlexSlider v2.2.2
3 * Copyright 2012 WooThemes
4 * Contributing Author: Tyler Smith
5 */
6(function(e) {
7	e.flexslider = function(t, n) {
8		var r = e(t);
9		r.vars = e.extend({}, e.flexslider.defaults, n);
10		var i = r.vars.namespace,
11			s = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
12			o = ("ontouchstart" in window || s || window.DocumentTouch && document instanceof DocumentTouch) && r.vars.touch,
13			u = "click touchend MSPointerUp",
14			a = "",
15			f, l = r.vars.direction === "vertical",
16			c = r.vars.reverse,
17			h = r.vars.itemWidth > 0,
18			p = r.vars.animation === "fade",
19			d = r.vars.asNavFor !== "",
20			v = {},
21			m = !0;
22		e.data(t, "flexslider", r);
23		v = {
24			init: function() {
25				r.animating = !1;
26				r.currentSlide = parseInt(r.vars.startAt ? r.vars.startAt : 0, 10);
27				isNaN(r.currentSlide) && (r.currentSlide = 0);
28				r.animatingTo = r.currentSlide;
29				r.atEnd = r.currentSlide === 0 || r.currentSlide === r.last;
30				r.containerSelector = r.vars.selector.substr(0, r.vars.selector.search(" "));
31				r.slides = e(r.vars.selector, r);
32				r.container = e(r.containerSelector, r);
33				r.count = r.slides.length;
34				r.syncExists = e(r.vars.sync).length > 0;
35				r.vars.animation === "slide" && (r.vars.animation = "swing");
36				r.prop = l ? "top" : "marginLeft";
37				r.args = {};
38				r.manualPause = !1;
39				r.stopped = !1;
40				r.started = !1;
41				r.startTimeout = null;
42				r.transitions = !r.vars.video && !p && r.vars.useCSS && function() {
43					var e = document.createElement("div"),
44						t = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
45					for(var n in t)
46						if(e.style[t[n]] !== undefined) {
47							r.pfx = t[n].replace("Perspective", "").toLowerCase();
48							r.prop = "-" + r.pfx + "-transform";
49							return !0
50						}
51					return !1
52				}();
53				r.vars.controlsContainer !== "" && (r.controlsContainer = e(r.vars.controlsContainer).length > 0 && e(r.vars.controlsContainer));
54				r.vars.manualControls !== "" && (r.manualControls = e(r.vars.manualControls).length > 0 && e(r.vars.manualControls));
55				if(r.vars.randomize) {
56					r.slides.sort(function() {
57						return Math.round(Math.random()) - .5
58					});
59					r.container.empty().append(r.slides)
60				}
61				r.doMath();
62				r.setup("init");
63				r.vars.controlNav && v.controlNav.setup();
64				r.vars.directionNav && v.directionNav.setup();
65				r.vars.keyboard && (e(r.containerSelector).length === 1 || r.vars.multipleKeyboard) && e(document).bind("keyup", function(e) {
66					var t = e.keyCode;
67					if(!r.animating && (t === 39 || t === 37)) {
68						var n = t === 39 ? r.getTarget("next") : t === 37 ? r.getTarget("prev") : !1;
69						r.flexAnimate(n, r.vars.pauseOnAction)
70					}
71				});
72				r.vars.mousewheel && r.bind("mousewheel", function(e, t, n, i) {
73					e.preventDefault();
74					var s = t < 0 ? r.getTarget("next") : r.getTarget("prev");
75					r.flexAnimate(s, r.vars.pauseOnAction)
76				});
77				r.vars.pausePlay && v.pausePlay.setup();
78				r.vars.slideshow && r.vars.pauseInvisible && v.pauseInvisible.init();
79				if(r.vars.slideshow) {
80					r.vars.pauseOnHover && r.hover(function() {
81						!r.manualPlay && !r.manualPause && r.pause()
82					}, function() {
83						!r.manualPause && !r.manualPlay && !r.stopped && r.play()
84					});
85					if(!r.vars.pauseInvisible || !v.pauseInvisible.isHidden()) r.vars.initDelay > 0 ? r.startTimeout = setTimeout(r.play, r.vars.initDelay) : r.play()
86				}
87				d && v.asNav.setup();
88				o && r.vars.touch && v.touch();
89				(!p || p && r.vars.smoothHeight) && e(window).bind("resize orientationchange focus", v.resize);
90				r.find("img").attr("draggable", "false");
91				setTimeout(function() {
92					r.vars.start(r)
93				}, 200)
94			},
95			asNav: {
96				setup: function() {
97					r.asNav = !0;
98					r.animatingTo = Math.floor(r.currentSlide / r.move);
99					r.currentItem = r.currentSlide;
100					r.slides.removeClass(i + "active-slide").eq(r.currentItem).addClass(i + "active-slide");
101					if(!s) r.slides.on(u, function(t) {
102						t.preventDefault();
103						var n = e(this),
104							s = n.index(),
105							o = n.offset().left - e(r).scrollLeft();
106						if(o <= 0 && n.hasClass(i + "active-slide")) r.flexAnimate(r.getTarget("prev"), !0);
107						else if(!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass(i + "active-slide")) {
108							r.direction = r.currentItem < s ? "next" : "prev";
109							r.flexAnimate(s, r.vars.pauseOnAction, !1, !0, !0)
110						}
111					});
112					else {
113						t._slider = r;
114						r.slides.each(function() {
115							var t = this;
116							t._gesture = new MSGesture;
117							t._gesture.target = t;
118							t.addEventListener("MSPointerDown", function(e) {
119								e.preventDefault();
120								e.currentTarget._gesture && e.currentTarget._gesture.addPointer(e.pointerId)
121							}, !1);
122							t.addEventListener("MSGestureTap", function(t) {
123								t.preventDefault();
124								var n = e(this),
125									i = n.index();
126								if(!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass("active")) {
127									r.direction = r.currentItem < i ? "next" : "prev";
128									r.flexAnimate(i, r.vars.pauseOnAction, !1, !0, !0)
129								}
130							})
131						})
132					}
133				}
134			},
135			controlNav: {
136				setup: function() {
137					r.manualControls ? v.controlNav.setupManual() : v.controlNav.setupPaging()
138				},
139				setupPaging: function() {
140					var t = r.vars.controlNav === "thumbnails" ? "control-thumbs" : "control-paging",
141						n = 1,
142						s, o;
143					r.controlNavScaffold = e('<ol class="' + i + "control-nav " + i + t + '"></ol>');
144					if(r.pagingCount > 1)
145						for(var f = 0; f < r.pagingCount; f++) {
146							o = r.slides.eq(f);
147							s = r.vars.controlNav === "thumbnails" ? '<img src="' + o.attr("data-thumb") + '"/>' : "<a>" + n + "</a>";
148							if("thumbnails" === r.vars.controlNav && !0 === r.vars.thumbCaptions) {
149								var l = o.attr("data-thumbcaption");
150								"" != l && undefined != l && (s += '<span class="' + i + 'caption">' + l + "</span>")
151							}
152							r.controlNavScaffold.append("<li>" + s + "</li>");
153							n++
154						}
155					r.controlsContainer ? e(r.controlsContainer).append(r.controlNavScaffold) : r.append(r.controlNavScaffold);
156					v.controlNav.set();
157					v.controlNav.active();
158					r.controlNavScaffold.delegate("a, img", u, function(t) {
159						t.preventDefault();
160						if(a === "" || a === t.type) {
161							var n = e(this),
162								s = r.controlNav.index(n);
163							if(!n.hasClass(i + "active")) {
164								r.direction = s > r.currentSlide ? "next" : "prev";
165								r.flexAnimate(s, r.vars.pauseOnAction)
166							}
167						}
168						a === "" && (a = t.type);
169						v.setToClearWatchedEvent()
170					})
171				},
172				setupManual: function() {
173					r.controlNav = r.manualControls;
174					v.controlNav.active();
175					r.controlNav.bind(u, function(t) {
176						t.preventDefault();
177						if(a === "" || a === t.type) {
178							var n = e(this),
179								s = r.controlNav.index(n);
180							if(!n.hasClass(i + "active")) {
181								s > r.currentSlide ? r.direction = "next" : r.direction = "prev";
182								r.flexAnimate(s, r.vars.pauseOnAction)
183							}
184						}
185						a === "" && (a = t.type);
186						v.setToClearWatchedEvent()
187					})
188				},
189				set: function() {
190					var t = r.vars.controlNav === "thumbnails" ? "img" : "a";
191					r.controlNav = e("." + i + "control-nav li " + t, r.controlsContainer ? r.controlsContainer : r)
192				},
193				active: function() {
194					r.controlNav.removeClass(i + "active").eq(r.animatingTo).addClass(i + "active")
195				},
196				update: function(t, n) {
197					r.pagingCount > 1 && t === "add" ? r.controlNavScaffold.append(e("<li><a>" + r.count + "</a></li>")) : r.pagingCount === 1 ? r.controlNavScaffold.find("li").remove() : r.controlNav.eq(n).closest("li").remove();
198					v.controlNav.set();
199					r.pagingCount > 1 && r.pagingCount !== r.controlNav.length ? r.update(n, t) : v.controlNav.active()
200				}
201			},
202			directionNav: {
203				setup: function() {
204					var t = e('<ul class="' + i + 'direction-nav"><li><a class="' + i + 'prev" href="#">' + r.vars.prevText + '</a></li><li><a class="' + i + 'next" href="#">' + r.vars.nextText + "</a></li></ul>");
205					if(r.controlsContainer) {
206						e(r.controlsContainer).append(t);
207						r.directionNav = e("." + i + "direction-nav li a", r.controlsContainer)
208					} else {
209						r.append(t);
210						r.directionNav = e("." + i + "direction-nav li a", r)
211					}
212					v.directionNav.update();
213					r.directionNav.bind(u, function(t) {
214						t.preventDefault();
215						var n;
216						if(a === "" || a === t.type) {
217							n = e(this).hasClass(i + "next") ? r.getTarget("next") : r.getTarget("prev");
218							r.flexAnimate(n, r.vars.pauseOnAction)
219						}
220						a === "" && (a = t.type);
221						v.setToClearWatchedEvent()
222					})
223				},
224				update: function() {
225					var e = i + "disabled";
226					r.pagingCount === 1 ? r.directionNav.addClass(e).attr("tabindex", "-1") : r.vars.animationLoop ? r.directionNav.removeClass(e).removeAttr("tabindex") : r.animatingTo === 0 ? r.directionNav.removeClass(e).filter("." + i + "prev").addClass(e).attr("tabindex", "-1") : r.animatingTo === r.last ? r.directionNav.removeClass(e).filter("." + i + "next").addClass(e).attr("tabindex", "-1") : r.directionNav.removeClass(e).removeAttr("tabindex")
227				}
228			},
229			pausePlay: {
230				setup: function() {
231					var t = e('<div class="' + i + 'pauseplay"><a></a></div>');
232					if(r.controlsContainer) {
233						r.controlsContainer.append(t);
234						r.pausePlay = e("." + i + "pauseplay a", r.controlsContainer)
235					} else {
236						r.append(t);
237						r.pausePlay = e("." + i + "pauseplay a", r)
238					}
239					v.pausePlay.update(r.vars.slideshow ? i + "pause" : i + "play");
240					r.pausePlay.bind(u, function(t) {
241						t.preventDefault();
242						if(a === "" || a === t.type)
243							if(e(this).hasClass(i + "pause")) {
244								r.manualPause = !0;
245								r.manualPlay = !1;
246								r.pause()
247							} else {
248								r.manualPause = !1;
249								r.manualPlay = !0;
250								r.play()
251							}
252						a === "" && (a = t.type);
253						v.setToClearWatchedEvent()
254					})
255				},
256				update: function(e) {
257					e === "play" ? r.pausePlay.removeClass(i + "pause").addClass(i + "play").html(r.vars.playText) : r.pausePlay.removeClass(i + "play").addClass(i + "pause").html(r.vars.pauseText)
258				}
259			},
260			touch: function() {
261				var e, n, i, o, u, a, f = !1,
262					d = 0,
263					v = 0,
264					m = 0;
265				if(!s) {
266					t.addEventListener("touchstart", g, !1);
267
268					function g(s) {
269						if(r.animating) s.preventDefault();
270						else if(window.navigator.msPointerEnabled || s.touches.length === 1) {
271							r.pause();
272							o = l ? r.h : r.w;
273							a = Number(new Date);
274							d = s.touches[0].pageX;
275							v = s.touches[0].pageY;
276							i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o;
277							e = l ? v : d;
278							n = l ? d : v;
279							t.addEventListener("touchmove", y, !1);
280							t.addEventListener("touchend", b, !1)
281						}
282					}
283
284					function y(t) {
285						d = t.touches[0].pageX;
286						v = t.touches[0].pageY;
287						u = l ? e - v : e - d;
288						f = l ? Math.abs(u) < Math.abs(d - n) : Math.abs(u) < Math.abs(v - n);
289						var s = 500;
290						if(!f || Number(new Date) - a > s) {
291							t.preventDefault();
292							if(!p && r.transitions) {
293								r.vars.animationLoop || (u /= r.currentSlide === 0 && u < 0 || r.currentSlide === r.last && u > 0 ? Math.abs(u) / o + 2 : 1);
294								r.setProps(i + u, "setTouch")
295							}
296						}
297					}
298
299					function b(s) {
300						t.removeEventListener("touchmove", y, !1);
301						if(r.animatingTo === r.currentSlide && !f && u !== null) {
302							var l = c ? -u : u,
303								h = l > 0 ? r.getTarget("next") : r.getTarget("prev");
304							r.canAdvance(h) && (Number(new Date) - a < 550 && Math.abs(l) > 50 || Math.abs(l) > o / 2) ? r.flexAnimate(h, r.vars.pauseOnAction) : p || r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, !0)
305						}
306						t.removeEventListener("touchend", b, !1);
307						e = null;
308						n = null;
309						u = null;
310						i = null
311					}
312				} else {
313					t.style.msTouchAction = "none";
314					t._gesture = new MSGesture;
315					t._gesture.target = t;
316					t.addEventListener("MSPointerDown", w, !1);
317					t._slider = r;
318					t.addEventListener("MSGestureChange", E, !1);
319					t.addEventListener("MSGestureEnd", S, !1);
320
321					function w(e) {
322						e.stopPropagation();
323						if(r.animating) e.preventDefault();
324						else {
325							r.pause();
326							t._gesture.addPointer(e.pointerId);
327							m = 0;
328							o = l ? r.h : r.w;
329							a = Number(new Date);
330							i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o
331						}
332					}
333
334					function E(e) {
335						e.stopPropagation();
336						var n = e.target._slider;
337						if(!n) return;
338						var r = -e.translationX,
339							s = -e.translationY;
340						m += l ? s : r;
341						u = m;
342						f = l ? Math.abs(m) < Math.abs(-r) : Math.abs(m) < Math.abs(-s);
343						if(e.detail === e.MSGESTURE_FLAG_INERTIA) {
344							setImmediate(function() {
345								t._gesture.stop()
346							});
347							return
348						}
349						if(!f || Number(new Date) - a > 500) {
350							e.preventDefault();
351							if(!p && n.transitions) {
352								n.vars.animationLoop || (u = m / (n.currentSlide === 0 && m < 0 || n.currentSlide === n.last && m > 0 ? Math.abs(m) / o + 2 : 1));
353								n.setProps(i + u, "setTouch")
354							}
355						}
356					}
357
358					function S(t) {
359						t.stopPropagation();
360						var r = t.target._slider;
361						if(!r) return;
362						if(r.animatingTo === r.currentSlide && !f && u !== null) {
363							var s = c ? -u : u,
364								l = s > 0 ? r.getTarget("next") : r.getTarget("prev");
365							r.canAdvance(l) && (Number(new Date) - a < 550 && Math.abs(s) > 50 || Math.abs(s) > o / 2) ? r.flexAnimate(l, r.vars.pauseOnAction) : p || r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, !0)
366						}
367						e = null;
368						n = null;
369						u = null;
370						i = null;
371						m = 0
372					}
373				}
374			},
375			resize: function() {
376				if(!r.animating && r.is(":visible")) {
377					h || r.doMath();
378					if(p) v.smoothHeight();
379					else if(h) {
380						r.slides.width(r.computedW);
381						r.update(r.pagingCount);
382						r.setProps()
383					} else if(l) {
384						r.viewport.height(r.h);
385						r.setProps(r.h, "setTotal")
386					} else {
387						r.vars.smoothHeight && v.smoothHeight();
388						r.newSlides.width(r.computedW);
389						r.setProps(r.computedW, "setTotal")
390					}
391				}
392			},
393			smoothHeight: function(e) {
394				if(!l || p) {
395					var t = p ? r : r.viewport;
396					e ? t.animate({
397						height: r.slides.eq(r.animatingTo).height()
398					}, e) : t.height(r.slides.eq(r.animatingTo).height())
399				}
400			},
401			sync: function(t) {
402				var n = e(r.vars.sync).data("flexslider"),
403					i = r.animatingTo;
404				switch(t) {
405					case "animate":
406						n.flexAnimate(i, r.vars.pauseOnAction, !1, !0);
407						break;
408					case "play":
409						!n.playing && !n.asNav && n.play();
410						break;
411					case "pause":
412						n.pause()
413				}
414			},
415			uniqueID: function(t) {
416				t.find("[id]").each(function() {
417					var t = e(this);
418					t.attr("id", t.attr("id") + "_clone")
419				});
420				return t
421			},
422			pauseInvisible: {
423				visProp: null,
424				init: function() {
425					var e = ["webkit", "moz", "ms", "o"];
426					if("hidden" in document) return "hidden";
427					for(var t = 0; t < e.length; t++) e[t] + "Hidden" in document && (v.pauseInvisible.visProp = e[t] + "Hidden");
428					if(v.pauseInvisible.visProp) {
429						var n = v.pauseInvisible.visProp.replace(/[H|h]idden/, "") + "visibilitychange";
430						document.addEventListener(n, function() {
431							v.pauseInvisible.isHidden() ? r.startTimeout ? clearTimeout(r.startTimeout) : r.pause() : r.started ? r.play() : r.vars.initDelay > 0 ? setTimeout(r.play, r.vars.initDelay) : r.play()
432						})
433					}
434				},
435				isHidden: function() {
436					return document[v.pauseInvisible.visProp] || !1
437				}
438			},
439			setToClearWatchedEvent: function() {
440				clearTimeout(f);
441				f = setTimeout(function() {
442					a = ""
443				}, 3e3)
444			}
445		};
446		r.flexAnimate = function(t, n, s, u, a) {
447			!r.vars.animationLoop && t !== r.currentSlide && (r.direction = t > r.currentSlide ? "next" : "prev");
448			d && r.pagingCount === 1 && (r.direction = r.currentItem < t ? "next" : "prev");
449			if(!r.animating && (r.canAdvance(t, a) || s) && r.is(":visible")) {
450				if(d && u) {
451					var f = e(r.vars.asNavFor).data("flexslider");
452					r.atEnd = t === 0 || t === r.count - 1;
453					f.flexAnimate(t, !0, !1, !0, a);
454					r.direction = r.currentItem < t ? "next" : "prev";
455					f.direction = r.direction;
456					if(Math.ceil((t + 1) / r.visible) - 1 === r.currentSlide || t === 0) {
457						r.currentItem = t;
458						r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
459						return !1
460					}
461					r.currentItem = t;
462					r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
463					t = Math.floor(t / r.visible)
464				}
465				r.animating = !0;
466				r.animatingTo = t;
467				n && r.pause();
468				r.vars.before(r);
469				r.syncExists && !a && v.sync("animate");
470				r.vars.controlNav && v.controlNav.active();
471				h || r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
472				r.atEnd = t === 0 || t === r.last;
473				r.vars.directionNav && v.directionNav.update();
474				if(t === r.last) {
475					r.vars.end(r);
476					r.vars.animationLoop || r.pause()
477				}
478				if(!p) {
479					var m = l ? r.slides.filter(":first").height() : r.computedW,
480						g, y, b;
481					if(h) {
482						g = r.vars.itemMargin;
483						b = (r.itemW + g) * r.move * r.animatingTo;
484						y = b > r.limit && r.visible !== 1 ? r.limit : b
485					} else r.currentSlide === 0 && t === r.count - 1 && r.vars.animationLoop && r.direction !== "next" ? y = c ? (r.count + r.cloneOffset) * m : 0 : r.currentSlide === r.last && t === 0 && r.vars.animationLoop && r.direction !== "prev" ? y = c ? 0 : (r.count + 1) * m : y = c ? (r.count - 1 - t + r.cloneOffset) * m : (t + r.cloneOffset) * m;
486					r.setProps(y, "", r.vars.animationSpeed);
487					if(r.transitions) {
488						if(!r.vars.animationLoop || !r.atEnd) {
489							r.animating = !1;
490							r.currentSlide = r.animatingTo
491						}
492						r.container.unbind("webkitTransitionEnd transitionend");
493						r.container.bind("webkitTransitionEnd transitionend", function() {
494							r.wrapup(m)
495						})
496					} else r.container.animate(r.args, r.vars.animationSpeed, r.vars.easing, function() {
497						r.wrapup(m)
498					})
499				} else if(!o) {
500					r.slides.eq(r.currentSlide).css({
501						zIndex: 1
502					}).animate({
503						opacity: 0
504					}, r.vars.animationSpeed, r.vars.easing);
505					r.slides.eq(t).css({
506						zIndex: 2
507					}).animate({
508						opacity: 1
509					}, r.vars.animationSpeed, r.vars.easing, r.wrapup)
510				} else {
511					r.slides.eq(r.currentSlide).css({
512						opacity: 0,
513						zIndex: 1
514					});
515					r.slides.eq(t).css({
516						opacity: 1,
517						zIndex: 2
518					});
519					r.wrapup(m)
520				}
521				r.vars.smoothHeight && v.smoothHeight(r.vars.animationSpeed)
522			}
523		};
524		r.wrapup = function(e) {
525			!p && !h && (r.currentSlide === 0 && r.animatingTo === r.last && r.vars.animationLoop ? r.setProps(e, "jumpEnd") : r.currentSlide === r.last && r.animatingTo === 0 && r.vars.animationLoop && r.setProps(e, "jumpStart"));
526			r.animating = !1;
527			r.currentSlide = r.animatingTo;
528			r.vars.after(r)
529		};
530		r.animateSlides = function() {
531			!r.animating && m && r.flexAnimate(r.getTarget("next"))
532		};
533		r.pause = function() {
534			clearInterval(r.animatedSlides);
535			r.animatedSlides = null;
536			r.playing = !1;
537			r.vars.pausePlay && v.pausePlay.update("play");
538			r.syncExists && v.sync("pause")
539		};
540		r.play = function() {
541			r.playing && clearInterval(r.animatedSlides);
542			r.animatedSlides = r.animatedSlides || setInterval(r.animateSlides, r.vars.slideshowSpeed);
543			r.started = r.playing = !0;
544			r.vars.pausePlay && v.pausePlay.update("pause");
545			r.syncExists && v.sync("play")
546		};
547		r.stop = function() {
548			r.pause();
549			r.stopped = !0
550		};
551		r.canAdvance = function(e, t) {
552			var n = d ? r.pagingCount - 1 : r.last;
553			return t ? !0 : d && r.currentItem === r.count - 1 && e === 0 && r.direction === "prev" ? !0 : d && r.currentItem === 0 && e === r.pagingCount - 1 && r.direction !== "next" ? !1 : e === r.currentSlide && !d ? !1 : r.vars.animationLoop ? !0 : r.atEnd && r.currentSlide === 0 && e === n && r.direction !== "next" ? !1 : r.atEnd && r.currentSlide === n && e === 0 && r.direction === "next" ? !1 : !0
554		};
555		r.getTarget = function(e) {
556			r.direction = e;
557			return e === "next" ? r.currentSlide === r.last ? 0 : r.currentSlide + 1 : r.currentSlide === 0 ? r.last : r.currentSlide - 1
558		};
559		r.setProps = function(e, t, n) {
560			var i = function() {
561				var n = e ? e : (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo,
562					i = function() {
563						if(h) return t === "setTouch" ? e : c && r.animatingTo === r.last ? 0 : c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : r.animatingTo === r.last ? r.limit : n;
564						switch(t) {
565							case "setTotal":
566								return c ? (r.count - 1 - r.currentSlide + r.cloneOffset) * e : (r.currentSlide + r.cloneOffset) * e;
567							case "setTouch":
568								return c ? e : e;
569							case "jumpEnd":
570								return c ? e : r.count * e;
571							case "jumpStart":
572								return c ? r.count * e : e;
573							default:
574								return e
575						}
576					}();
577				return i * -1 + "px"
578			}();
579			if(r.transitions) {
580				i = l ? "translate3d(0," + i + ",0)" : "translate3d(" + i + ",0,0)";
581				n = n !== undefined ? n / 1e3 + "s" : "0s";
582				r.container.css("-" + r.pfx + "-transition-duration", n);
583				r.container.css("transition-duration", n)
584			}
585			r.args[r.prop] = i;
586			(r.transitions || n === undefined) && r.container.css(r.args);
587			r.container.css("transform", i)
588		};
589		r.setup = function(t) {
590			if(!p) {
591				var n, s;
592				if(t === "init") {
593					r.viewport = e('<div class="' + i + 'viewport"></div>').css({
594						overflow: "hidden",
595						position: "relative"
596					}).appendTo(r).append(r.container);
597					r.cloneCount = 0;
598					r.cloneOffset = 0;
599					if(c) {
600						s = e.makeArray(r.slides).reverse();
601						r.slides = e(s);
602						r.container.empty().append(r.slides)
603					}
604				}
605				if(r.vars.animationLoop && !h) {
606					r.cloneCount = 2;
607					r.cloneOffset = 1;
608					t !== "init" && r.container.find(".clone").remove();
609					r.container.append(r.slides.first().clone().addClass("clone").attr("aria-hidden", "true")).prepend(r.slides.last().clone().addClass("clone").attr("aria-hidden", "true"));
610					v.uniqueID(r.slides.first().clone().addClass("clone")).appendTo(r.container);
611					v.uniqueID(r.slides.last().clone().addClass("clone")).prependTo(r.container)
612				}
613				r.newSlides = e(r.vars.selector, r);
614				n = c ? r.count - 1 - r.currentSlide + r.cloneOffset : r.currentSlide + r.cloneOffset;
615				if(l && !h) {
616					r.container.height((r.count + r.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
617					setTimeout(function() {
618						r.newSlides.css({
619							display: "block"
620						});
621						r.doMath();
622						r.viewport.height(r.h);
623						r.setProps(n * r.h, "init")
624					}, t === "init" ? 100 : 0)
625				} else {
626					r.container.width((r.count + r.cloneCount) * 200 + "%");
627					r.setProps(n * r.computedW, "init");
628					setTimeout(function() {
629						r.doMath();
630						r.newSlides.css({
631							width: r.computedW,
632							"float": "left",
633							display: "block"
634						});
635						r.vars.smoothHeight && v.smoothHeight()
636					}, t === "init" ? 100 : 0)
637				}
638			} else {
639				r.slides.css({
640					width: "100%",
641					"float": "left",
642					marginRight: "-100%",
643					position: "relative"
644				});
645				t === "init" && (o ? r.slides.css({
646					opacity: 0,
647					display: "block",
648					webkitTransition: "opacity " + r.vars.animationSpeed / 1e3 + "s ease",
649					zIndex: 1
650				}).eq(r.currentSlide).css({
651					opacity: 1,
652					zIndex: 2
653				}) : r.slides.css({
654					opacity: 0,
655					display: "block",
656					zIndex: 1
657				}).eq(r.currentSlide).css({
658					zIndex: 2
659				}).animate({
660					opacity: 1
661				}, r.vars.animationSpeed, r.vars.easing));
662				r.vars.smoothHeight && v.smoothHeight()
663			}
664			h || r.slides.removeClass(i + "active-slide").eq(r.currentSlide).addClass(i + "active-slide");
665			r.vars.init(r)
666		};
667		r.doMath = function() {
668			var e = r.slides.first(),
669				t = r.vars.itemMargin,
670				n = r.vars.minItems,
671				i = r.vars.maxItems;
672			r.w = r.viewport === undefined ? r.width() : r.viewport.width();
673			r.h = e.height();
674			r.boxPadding = e.outerWidth() - e.width();
675			if(h) {
676				r.itemT = r.vars.itemWidth + t;
677				r.minW = n ? n * r.itemT : r.w;
678				r.maxW = i ? i * r.itemT - t : r.w;
679				r.itemW = r.minW > r.w ? (r.w - t * (n - 1)) / n : r.maxW < r.w ? (r.w - t * (i - 1)) / i : r.vars.itemWidth > r.w ? r.w : r.vars.itemWidth;
680				r.visible = Math.floor(r.w / r.itemW);
681				r.move = r.vars.move > 0 && r.vars.move < r.visible ? r.vars.move : r.visible;
682				r.pagingCount = Math.ceil((r.count - r.visible) / r.move + 1);
683				r.last = r.pagingCount - 1;
684				r.limit = r.pagingCount === 1 ? 0 : r.vars.itemWidth > r.w ? r.itemW * (r.count - 1) + t * (r.count - 1) : (r.itemW + t) * r.count - r.w - t
685			} else {
686				r.itemW = r.w;
687				r.pagingCount = r.count;
688				r.last = r.count - 1
689			}
690			r.computedW = r.itemW - r.boxPadding
691		};
692		r.update = function(e, t) {
693			r.doMath();
694			if(!h) {
695				e < r.currentSlide ? r.currentSlide += 1 : e <= r.currentSlide && e !== 0 && (r.currentSlide -= 1);
696				r.animatingTo = r.currentSlide
697			}
698			if(r.vars.controlNav && !r.manualControls)
699				if(t === "add" && !h || r.pagingCount > r.controlNav.length) v.controlNav.update("add");
700				else if(t === "remove" && !h || r.pagingCount < r.controlNav.length) {
701				if(h && r.currentSlide > r.last) {
702					r.currentSlide -= 1;
703					r.animatingTo -= 1
704				}
705				v.controlNav.update("remove", r.last)
706			}
707			r.vars.directionNav && v.directionNav.update()
708		};
709		r.addSlide = function(t, n) {
710			var i = e(t);
711			r.count += 1;
712			r.last = r.count - 1;
713			l && c ? n !== undefined ? r.slides.eq(r.count - n).after(i) : r.container.prepend(i) : n !== undefined ? r.slides.eq(n).before(i) : r.container.append(i);
714			r.update(n, "add");
715			r.slides = e(r.vars.selector + ":not(.clone)", r);
716			r.setup();
717			r.vars.added(r)
718		};
719		r.removeSlide = function(t) {
720			var n = isNaN(t) ? r.slides.index(e(t)) : t;
721			r.count -= 1;
722			r.last = r.count - 1;
723			isNaN(t) ? e(t, r.slides).remove() : l && c ? r.slides.eq(r.last).remove() : r.slides.eq(t).remove();
724			r.doMath();
725			r.update(n, "remove");
726			r.slides = e(r.vars.selector + ":not(.clone)", r);
727			r.setup();
728			r.vars.removed(r)
729		};
730		v.init()
731	};
732	e(window).blur(function(e) {
733		focused = !1
734	}).focus(function(e) {
735		focused = !0
736	});
737	e.flexslider.defaults = {
738		namespace: "flex-",
739		selector: ".slides > li",
740		animation: "fade",
741		easing: "swing",
742		direction: "horizontal",
743		reverse: !1,
744		animationLoop: !0,
745		smoothHeight: !1,
746		startAt: 0,
747		slideshow: !0,
748		slideshowSpeed: 7e3,
749		animationSpeed: 600,
750		initDelay: 0,
751		randomize: !1,
752		thumbCaptions: !1,
753		pauseOnAction: !0,
754		pauseOnHover: !1,
755		pauseInvisible: !0,
756		useCSS: !0,
757		touch: !0,
758		video: !1,
759		controlNav: !0,
760		directionNav: !0,
761		prevText: "Previous",
762		nextText: "Next",
763		keyboard: !0,
764		multipleKeyboard: !1,
765		mousewheel: !1,
766		pausePlay: !1,
767		pauseText: "Pause",
768		playText: "Play",
769		controlsContainer: "",
770		manualControls: "",
771		sync: "",
772		asNavFor: "",
773		itemWidth: 0,
774		itemMargin: 0,
775		minItems: 1,
776		maxItems: 0,
777		move: 0,
778		allowOneSlide: !0,
779		start: function() {},
780		before: function() {},
781		after: function() {},
782		end: function() {},
783		added: function() {},
784		removed: function() {},
785		init: function() {}
786	};
787	e.fn.flexslider = function(t) {
788		t === undefined && (t = {});
789		if(typeof t == "object") return this.each(function() {
790			var n = e(this),
791				r = t.selector ? t.selector : ".slides > li",
792				i = n.find(r);
793			if(i.length === 1 && t.allowOneSlide === !0 || i.length === 0) {
794				i.fadeIn(400);
795				t.start && t.start(n)
796			} else n.data("flexslider") === undefined && new e.flexslider(this, t)
797		});
798		var n = e(this).data("flexslider");
799		switch(t) {
800			case "play":
801				n.play();
802				break;
803			case "pause":
804				n.pause();
805				break;
806			case "stop":
807				n.stop();
808				break;
809			case "next":
810				n.flexAnimate(n.getTarget("next"), !0);
811				break;
812			case "prev":
813			case "previous":
814				n.flexAnimate(n.getTarget("prev"), !0);
815				break;
816			default:
817				typeof t == "number" && n.flexAnimate(t, !0)
818		}
819	}
820})(jQuery);
821(function(e) {
822	e.flexslider = function(t, n) {
823		var r = e(t);
824		r.vars = e.extend({}, e.flexslider.defaults, n);
825		var i = r.vars.namespace,
826			s = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
827			o = ("ontouchstart" in window || s || window.DocumentTouch && document instanceof DocumentTouch) && r.vars.touch,
828			u = "click touchend MSPointerUp",
829			a = "",
830			f, l = r.vars.direction === "vertical",
831			c = r.vars.reverse,
832			h = r.vars.itemWidth > 0,
833			p = r.vars.animation === "fade",
834			d = r.vars.asNavFor !== "",
835			v = {},
836			m = !0;
837		e.data(t, "flexslider", r);
838		v = {
839			init: function() {
840				r.animating = !1;
841				r.currentSlide = parseInt(r.vars.startAt ? r.vars.startAt : 0, 10);
842				isNaN(r.currentSlide) && (r.currentSlide = 0);
843				r.animatingTo = r.currentSlide;
844				r.atEnd = r.currentSlide === 0 || r.currentSlide === r.last;
845				r.containerSelector = r.vars.selector.substr(0, r.vars.selector.search(" "));
846				r.slides = e(r.vars.selector, r);
847				r.container = e(r.containerSelector, r);
848				r.count = r.slides.length;
849				r.syncExists = e(r.vars.sync).length > 0;
850				r.vars.animation === "slide" && (r.vars.animation = "swing");
851				r.prop = l ? "top" : "marginLeft";
852				r.args = {};
853				r.manualPause = !1;
854				r.stopped = !1;
855				r.started = !1;
856				r.startTimeout = null;
857				r.transitions = !r.vars.video && !p && r.vars.useCSS && function() {
858					var e = document.createElement("div"),
859						t = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
860					for(var n in t)
861						if(e.style[t[n]] !== undefined) {
862							r.pfx = t[n].replace("Perspective", "").toLowerCase();
863							r.prop = "-" + r.pfx + "-transform";
864							return !0
865						}
866					return !1
867				}();
868				r.vars.controlsContainer !== "" && (r.controlsContainer = e(r.vars.controlsContainer).length > 0 && e(r.vars.controlsContainer));
869				r.vars.manualControls !== "" && (r.manualControls = e(r.vars.manualControls).length > 0 && e(r.vars.manualControls));
870				if(r.vars.randomize) {
871					r.slides.sort(function() {
872						return Math.round(Math.random()) - .5
873					});
874					r.container.empty().append(r.slides)
875				}
876				r.doMath();
877				r.setup("init");
878				r.vars.controlNav && v.controlNav.setup();
879				r.vars.directionNav && v.directionNav.setup();
880				r.vars.keyboard && (e(r.containerSelector).length === 1 || r.vars.multipleKeyboard) && e(document).bind("keyup", function(e) {
881					var t = e.keyCode;
882					if(!r.animating && (t === 39 || t === 37)) {
883						var n = t === 39 ? r.getTarget("next") : t === 37 ? r.getTarget("prev") : !1;
884						r.flexAnimate(n, r.vars.pauseOnAction)
885					}
886				});
887				r.vars.mousewheel && r.bind("mousewheel", function(e, t, n, i) {
888					e.preventDefault();
889					var s = t < 0 ? r.getTarget("next") : r.getTarget("prev");
890					r.flexAnimate(s, r.vars.pauseOnAction)
891				});
892				r.vars.pausePlay && v.pausePlay.setup();
893				r.vars.slideshow && r.vars.pauseInvisible && v.pauseInvisible.init(
893);
894				if(r.vars.slideshow) {
895					r.vars.pauseOnHover && r.hover(function() {
896						!r.manualPlay && !r.manualPause && r.pause()
897					}, function() {
898						!r.manualPause && !r.manualPlay && !r.stopped && r.play()
899					});
900					if(!r.vars.pauseInvisible || !v.pauseInvisible.isHidden()) r.vars.initDelay > 0 ? r.startTimeout = setTimeout(r.play, r.vars.initDelay) : r.play()
901				}
902				d && v.asNav.setup();
903				o && r.vars.touch && v.touch();
904				(!p || p && r.vars.smoothHeight) && e(window).bind("resize orientationchange focus", v.resize);
905				r.find("img").attr("draggable", "false");
906				setTimeout(function() {
907					r.vars.start(r)
908				}, 200)
909			},
910			asNav: {
911				setup: function() {
912					r.asNav = !0;
913					r.animatingTo = Math.floor(r.currentSlide / r.move);
914					r.currentItem = r.currentSlide;
915					r.slides.removeClass(i + "active-slide").eq(r.currentItem).addClass(i + "active-slide");
916					if(!s) r.slides.on(u, function(t) {
917						t.preventDefault();
918						var n = e(this),
919							s = n.index(),
920							o = n.offset().left - e(r).scrollLeft();
921						if(o <= 0 && n.hasClass(i + "active-slide")) r.flexAnimate(r.getTarget("prev"), !0);
922						else if(!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass(i + "active-slide")) {
923							r.direction = r.currentItem < s ? "next" : "prev";
924							r.flexAnimate(s, r.vars.pauseOnAction, !1, !0, !0)
925						}
926					});
927					else {
928						t._slider = r;
929						r.slides.each(function() {
930							var t = this;
931							t._gesture = new MSGesture;
932							t._gesture.target = t;
933							t.addEventListener("MSPointerDown", function(e) {
934								e.preventDefault();
935								e.currentTarget._gesture && e.currentTarget._gesture.addPointer(e.pointerId)
936							}, !1);
937							t.addEventListener("MSGestureTap", function(t) {
938								t.preventDefault();
939								var n = e(this),
940									i = n.index();
941								if(!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass("active")) {
942									r.direction = r.currentItem < i ? "next" : "prev";
943									r.flexAnimate(i, r.vars.pauseOnAction, !1, !0, !0)
944								}
945							})
946						})
947					}
948				}
949			},
950			controlNav: {
951				setup: function() {
952					r.manualControls ? v.controlNav.setupManual() : v.controlNav.setupPaging()
953				},
954				setupPaging: function() {
955					var t = r.vars.controlNav === "thumbnails" ? "control-thumbs" : "control-paging",
956						n = 1,
957						s, o;
958					r.controlNavScaffold = e('<ol class="' + i + "control-nav " + i + t + '"></ol>');
959					if(r.pagingCount > 1)
960						for(var f = 0; f < r.pagingCount; f++) {
961							o = r.slides.eq(f);
962							s = r.vars.controlNav === "thumbnails" ? '<img src="' + o.attr("data-thumb") + '"/>' : "<a>" + n + "</a>";
963							if("thumbnails" === r.vars.controlNav && !0 === r.vars.thumbCaptions) {
964								var l = o.attr("data-thumbcaption");
965								"" != l && undefined != l && (s += '<span class="' + i + 'caption">' + l + "</span>")
966							}
967							r.controlNavScaffold.append("<li>" + s + "</li>");
968							n++
969						}
970					r.controlsContainer ? e(r.controlsContainer).append(r.controlNavScaffold) : r.append(r.controlNavScaffold);
971					v.controlNav.set();
972					v.controlNav.active();
973					r.controlNavScaffold.delegate("a, img", u, function(t) {
974						t.preventDefault();
975						if(a === "" || a === t.type) {
976							var n = e(this),
977								s = r.controlNav.index(n);
978							if(!n.hasClass(i + "active")) {
979								r.direction = s > r.currentSlide ? "next" : "prev";
980								r.flexAnimate(s, r.vars.pauseOnAction)
981							}
982						}
983						a === "" && (a = t.type);
984						v.setToClearWatchedEvent()
985					})
986				},
987				setupManual: function() {
988					r.controlNav = r.manualControls;
989					v.controlNav.active();
990					r.controlNav.bind(u, function(t) {
991						t.preventDefault();
992						if(a === "" || a === t.type) {
993							var n = e(this),
994								s = r.controlNav.index(n);
995							if(!n.hasClass(i + "active")) {
996								s > r.currentSlide ? r.direction = "next" : r.direction = "prev";
997								r.flexAnimate(s, r.vars.pauseOnAction)
998							}
999						}
1000						a === "" && (a = t.type);
1001						v.setToClearWatchedEvent()
1002					})
1003				},
1004				set: function() {
1005					var t = r.vars.controlNav === "thumbnails" ? "img" : "a";
1006					r.controlNav = e("." + i + "control-nav li " + t, r.controlsContainer ? r.controlsContainer : r)
1007				},
1008				active: function() {
1009					r.controlNav.removeClass(i + "active").eq(r.animatingTo).addClass(i + "active")
1010				},
1011				update: function(t, n) {
1012					r.pagingCount > 1 && t === "add" ? r.controlNavScaffold.append(e("<li><a>" + r.count + "</a></li>")) : r.pagingCount === 1 ? r.controlNavScaffold.find("li").remove() : r.controlNav.eq(n).closest("li").remove();
1013					v.controlNav.set();
1014					r.pagingCount > 1 && r.pagingCount !== r.controlNav.length ? r.update(n, t) : v.controlNav.active()
1015				}
1016			},
1017			directionNav: {
1018				setup: function() {
1019					var t = e('<ul class="' + i + 'direction-nav"><li><a class="' + i + 'prev" href="#">
1019' + r.vars.prevText + '</a></li><li><a class="' + i + 'next" href="#">' + r.vars.nextText + "</a></li></ul>");
1020					if(r.controlsContainer) {
1021						e(r.controlsContainer).append(t);
1022						r.directionNav = e("." + i + "direction-nav li a", r.controlsContainer)
1023					} else {
1024						r.append(t);
1025						r.directionNav = e("." + i + "direction-nav li a", r)
1026					}
1027					v.directionNav.update();
1028					r.directionNav.bind(u, function(t) {
1029						t.preventDefault();
1030						var n;
1031						if(a === "" || a === t.type) {
1032							n = e(this).hasClass(i + "next") ? r.getTarget("next") : r.getTarget("prev");
1033							r.flexAnimate(n, r.vars.pauseOnAction)
1034						}
1035						a === "" && (a = t.type);
1036						v.setToClearWatchedEvent()
1037					})
1038				},
1039				update: function() {
1040					var e = i + "disabled";
1041					r.pagingCount === 1 ? r.directionNav.addClass(e).attr("tabindex", "-1") : r.vars.animationLoop ? r.directionNav.removeClass(e).removeAttr("tabindex") : r.animatingTo === 0 ? r.directionNav.removeClass(e).filter("." + i + "prev").addClass(e).attr("tabindex", "-1") : r.animatingTo === r.last ? r.directionNav.removeClass(e).filter("." + i + "next").addClass(e).attr("tabindex", "-1") : r.directionNav.removeClass(e).removeAttr("tabindex")
1042				}
1043			},
1044			pausePlay: {
1045				setup: function() {
1046					var t = e('<div class="' + i + 'pauseplay"><a></a></div>');
1047					if(r.controlsContainer) {
1048						r.controlsContainer.append(t);
1049						r.pausePlay = e("." + i + "pauseplay a", r.controlsContainer)
1050					} else {
1051						r.append(t);
1052						r.pausePlay = e("." + i + "pauseplay a", r)
1053					}
1054					v.pausePlay.update(r.vars.slideshow ? i + "pause" : i + "play");
1055					r.pausePlay.bind(u, function(t) {
1056						t.preventDefault();
1057						if(a === "" || a === t.type)
1058							if(e(this).hasClass(i + "pause")) {
1059								r.manualPause = !0;
1060								r.manualPlay = !1;
1061								r.pause()
1062							} else {
1063								r.manualPause = !1;
1064								r.manualPlay = !0;
1065								r.play()
1066							}
1067						a === "" && (a = t.type);
1068						v.setToClearWatchedEvent()
1069					})
1070				},
1071				update: function(e) {
1072					e === "play" ? r.pausePlay.removeClass(i + "pause").addClass(i + "play").html(r.vars.playText) : r.pausePlay.removeClass(i + "play").addClass(i + "pause").html(r.vars.pauseText)
1073				}
1074			},
1075			touch: function() {
1076				var e, n, i, o, u, a, f = !1,
1077					d = 0,
1078					v = 0,
1079					m = 0;
1080				if(!s) {
1081					t.addEventListener("touchstart", g, !1);
1082
1083					function g(s) {
1084						if(r.animating) s.preventDefault();
1085						else if(window.navigator.msPointerEnabled || s.touches.length === 1) {
1086							r.pause();
1087							o = l ? r.h : r.w;
1088							a = Number(new Date);
1089							d = s.touches[0].pageX;
1090							v = s.touches[0].pageY;
1091							i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o;
1092							e = l ? v : d;
1093							n = l ? d : v;
1094							t.addEventListener("touchmove", y, !1);
1095							t.addEventListener("touchend", b, !1)
1096						}
1097					}
1098
1099					function y(t) {
1100						d = t.touches[0].pageX;
1101						v = t.touches[0].pageY;
1102						u = l ? e - v : e - d;
1103						f = l ? Math.abs(u) < Math.abs(d - n) : Math.abs(u) < Math.abs(v - n);
1104						var s = 500;
1105						if(!f || Number(new Date) - a > s) {
1106							t.preventDefault();
1107							if(!p && r.transitions) {
1108								r.vars.animationLoop || (u /= r.currentSlide === 0 && u < 0 || r.currentSlide === r.last && u > 0 ? Math.abs(u) / o + 2 : 1);
1109								r.setProps(i + u, "setTouch")
1110							}
1111						}
1112					}
1113
1114					function b(s) {
1115						t.removeEventListener("touchmove", y, !1);
1116						if(r.animatingTo === r.currentSlide && !f && u !== null) {
1117							var l = c ? -u : u,
1118								h = l > 0 ? r.getTarget("next") : r.getTarget("prev");
1119							r.canAdvance(h) && (Number(new Date) - a < 550 && Math.abs(l) > 50 || Math.abs(l) > o / 2) ? r.flexAnimate(h, r.vars.pauseOnAction) : p || r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, !0)
1120						}
1121						t.removeEventListener("touchend", b, !1);
1122						e = null;
1123						n = null;
1124						u = null;
1125						i = null
1126					}
1127				} else {
1128					t.style.msTouchAction = "none";
1129					t._gesture = new MSGesture;
1130					t._gesture.target = t;
1131					t.addEventListener("MSPointerDown", w, !1);
1132					t._slider = r;
1133					t.addEventListener("MSGestureChange", E, !1);
1134					t.addEventListener("MSGestureEnd", S, !1);
1135
1136					function w(e) {
1137						e.stopPropagation();
1138						if(r.animating) e.preventDefault();
1139						else {
1140							r.pause();
1141							t._gesture.addPointer(e.pointerId);
1142							m = 0;
1143							o = l ? r.h : r.w;
1144							a = Number(new Date);
1145							i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o
1146						}
1147					}
1148
1149					function E(e) {
1150						e.stopPropagation();
1151						var n = e.target._slider;
1152						if(!n) return;
1153						var r = -e.translationX,
1154							s = -e.translationY;
1155						m += l ? s : r;
1156						u = m;
1157						f = l ? Math.abs(m) < Math.abs(-r) : Math.abs(m) < Math.abs(-s);
1158						if(e.detail === e.MSGESTURE_FLAG_INERTIA) {
1159							setImmediate(function() {
1160								t._gesture.stop()
1161							});
1162							return
1163						}
1164						if(!f || Number(new Date) - a > 500) {
1165							e.preventDefault();
1166							if(!p && n.transitions) {
1167								n.vars.animationLoop || (u = m / (n.currentSlide === 0 && m < 0 || n.currentSlide === n.last && m > 0 ? Math.abs(m) / o + 2 : 1));
1168								n.setProps(i + u, "setTouch")
1169							}
1170						}
1171					}
1172
1173					function S(t) {
1174						t.stopPropagation();
1175						var r = t.target._slider;
1176						if(!r) return;
1177						if(r.animatingTo === r.currentSlide && !f && u !== null) {
1178							var s = c ? -u : u,
1179								l = s > 0 ? r.getTarget("next") : r.getTarget("prev");
1180							r.canAdvance(l) && (Number(new Date) - a < 550 && Math.abs(s) > 50 || Math.abs(s) > o / 2) ? r.flexAnimate(l, r.vars.pauseOnAction) : p || r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, !0)
1181						}
1182						e = null;
1183						n = null;
1184						u = null;
1185						i = null;
1186						m = 0
1187					}
1188				}
1189			},
1190			resize: function() {
1191				if(!r.animating && r.is(":visible")) {
1192					h || r.doMath();
1193					if(p) v.smoothHeight();
1194					else if(h) {
1195						r.slides.width(r.computedW);
1196						r.update(r.pagingCount);
1197						r.setProps()
1198					} else if(l) {
1199						r.viewport.height(r.h);
1200						r.setProps(r.h, "setTotal")
1201					} else {
1202						r.vars.smoothHeight && v.smoothHeight();
1203						r.vars.smoothHeight && v.smoothHeight();
1204						r.newSlides.width(r.computedW);
1205						r.setProps(r.computedW, "setTotal")
1206					}
1207				}
1208			},
1209			smoothHeight: function(e) {
1210				if(!l || p) {
1211					var t = p ? r : r.viewport;
1212					e ? t.animate({
1213						height: r.slides.eq(r.animatingTo).height()
1214					}, e) : t.height(r.slides.eq(r.animatingTo).height())
1215				}
1216			},
1217			sync: function(t) {
1218				var n = e(r.vars.sync).data("flexslider"),
1219					i = r.animatingTo;
1220				switch(t) {
1221					case "animate":
1222						n.flexAnimate(i, r.vars.pauseOnAction, !1, !0);
1223						break;
1224					case "play":
1225						!n.playing && !n.asNav && n.play();
1226						break;
1227					case "pause":
1228						n.pause()
1229				}
1230			},
1231			uniqueID: function(t) {
1232				t.find("[id]").each(function() {
1233					var t = e(this);
1234					t.attr("id", t.attr("id") + "_clone")
1235				});
1236				return t
1237			},
1238			pauseInvisible: {
1239				visProp: null,
1240				init: function() {
1241					var e = ["webkit", "moz", "ms", "o"];
1242					if("hidden" in document) return "hidden";
1243					for(var t = 0; t < e.length; t++) e[t] + "Hidden" in document && (v.pauseInvisible.visProp = e[t] + "Hidden");
1244					if(v.pauseInvisible.visProp) {
1245						var n = v.pauseInvisible.visProp.replace(/[H|h]idden/, "") + "visibilitychange";
1246						document.addEventListener(n, function() {
1247							v.pauseInvisible.isHidden() ? r.startTimeout ? clearTimeout(r.startTimeout) : r.pause() : r.started ? r.play() : r.vars.initDelay > 0 ? setTimeout(r.play, r.vars.initDelay) : r.play()
1248						})
1249					}
1250				},
1251				isHidden: function() {
1252					return document[v.pauseInvisible.visProp] || !1
1253				}
1254			},
1255			setToClearWatchedEvent: function() {
1256				clearTimeout(f);
1257				f = setTimeout(function() {
1258					a = ""
1259				}, 3e3)
1260			}
1261		};
1262		r.flexAnimate = function(t, n, s, u, a) {
1263			!r.vars.animationLoop && t !== r.currentSlide && (r.direction = t > r.currentSlide ? "next" : "prev");
1264			d && r.pagingCount === 1 && (r.direction = r.currentItem < t ? "next" : "prev");
1265			if(!r.animating && (r.canAdvance(t, a) || s) && r.is(":visible")) {
1266				if(d && u) {
1267					var f = e(r.vars.asNavFor).data("flexslider");
1268					r.atEnd = t === 0 || t === r.count - 1;
1269					f.flexAnimate(t, !0, !1, !0, a);
1270					r.direction = r.currentItem < t ? "next" : "prev";
1271					f.direction = r.direction;
1272					if(Math.ceil((t + 1) / r.visible) - 1 === r.currentSlide || t === 0) {
1273						r.currentItem = t;
1274						r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
1275						return !1
1276					}
1277					r.currentItem = t;
1278					r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
1279					t = Math.floor(t / r.visible)
1280				}
1281				r.animating = !0;
1282				r.animatingTo = t;
1283				n && r.pause();
1284				r.vars.before(r);
1285				r.syncExists && !a && v.sync("animate");
1286				r.vars.controlNav && v.controlNav.active();
1287				h || r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
1288				r.atEnd = t === 0 || t === r.last;
1289				r.vars.directionNav && v.directionNav.update();
1290				if(t === r.last) {
1291					r.vars.end(r);
1292					r.vars.animationLoop || r.pause()
1293				}
1294				if(!p) {
1295					var m = l ? r.slides.filter(":first").height() : r.computedW,
1296						g, y, b;
1297					if(h) {
1298						g = r.vars.itemMargin;
1299						b = (r.itemW + g) * r.move * r.animatingTo;
1300						y = b > r.limit && r.visible !== 1 ? r.limit : b
1301					} else r.currentSlide === 0 && t === r.count - 1 && r.vars.animationLoop && r.direction !== "next" ? y = c ? (r.count + r.cloneOffset) * m : 0 : r.currentSlide === r.last && t === 0 && r.vars.animationLoop && r.direction !== "prev" ? y = c ? 0 : (r.count + 1) * m : y = c ? (r.count - 1 - t + r.cloneOffset) * m : (t + r.cloneOffset) * m;
1302					r.setProps(y, "", r.vars.animationSpeed);
1303					if(r.transitions) {
1304						if(!r.vars.animationLoop || !r.atEnd) {
1305							r.animating = !1;
1306							r.currentSlide = r.animatingTo
1307						}
1308						r.container.unbind("webkitTransitionEnd transitionend");
1309						r.container.bind("webkitTransitionEnd transitionend", function() {
1310							r.wrapup(m)
1311						})
1312					} else r.container.animate(r.args, r.vars.animationSpeed, r.vars.easing, function() {
1313						r.wrapup(m)
1314					})
1315				} else if(!o) {
1316					r.slides.eq(r.currentSlide).css({
1317						zIndex: 1
1318					}).animate({
1319						opacity: 0
1320					}, r.vars.animationSpeed, r.vars.easing);
1321					r.slides.eq(t).css({
1322						zIndex: 2
1323					}).animate({
1324						opacity: 1
1325					}, r.vars.animationSpeed, r.vars.easing, r.wrapup)
1326				} else {
1327					r.slides.eq(r.currentSlide).css({
1328						opacity: 0,
1329						zIndex: 1
1330					});
1331					r.slides.eq(t).css({
1332						opacity: 1,
1333						zIndex: 2
1334					});
1335					r.wrapup(m)
1336				}
1337				r.vars.smoothHeight && v.smoothHeight(r.vars.animationSpeed)
1338			}
1339		};
1340		r.wrapup = function(e) {
1341			!p && !h && (r.currentSlide === 0 && r.animatingTo === r.last && r.vars.animationLoop ? r.setProps(e, "jumpEnd") : r.currentSlide === r.last && r.animatingTo === 0 && r.vars.animationLoop && r.setProps(e, "jumpStart"));
1342			r.animating = !1;
1343			r.currentSlide = r.animatingTo;
1344			r.vars.after(r)
1345		};
1346		r.animateSlides = function() {
1347			!r.animating && m && r.flexAnimate(r.getTarget("next"))
1348		};
1349		r.pause = function() {
1350			clearInterval(r.animatedSlides);
1351			r.animatedSlides = null;
1352			r.playing = !1;
1353			r.vars.pausePlay && v.pausePlay.update("play");
1354			r.syncExists && v.sync("pause")
1355		};
1356		r.play = function() {
1357			r.playing && clearInterval(r.animatedSlides);
1358			r.animatedSlides = r.animatedSlides || setInterval(r.animateSlides, r.vars.slideshowSpeed);
1359			r.started = r.playing = !0;
1360			r.vars.pausePlay && v.pausePlay.update("pause");
1361			r.syncExists && v.sync("play")
1362		};
1363		r.stop = function() {
1364			r.pause();
1365			r.stopped = !0
1366		};
1367		r.canAdvance = function(e, t) {
1368			var n = d ? r.pagingCount - 1 : r.last;
1369			return t ? !0 : d && r.currentItem === r.count - 1 && e === 0 && r.direction === "prev" ? !0 : d && r.currentItem === 0 && e === r.pagingCount - 1 && r.direction !== "next" ? !1 : e === r.currentSlide && !d ? !1 : r.vars.animationLoop ? !0 : r.atEnd && r.currentSlide === 0 && e === n && r.direction !== "next" ? !1 : r.atEnd && r.currentSlide === n && e === 0 && r.direction === "next" ? !1 : !0
1370		};
1371		r.getTarget = function(e) {
1372			r.direction = e;
1373			return e === "next" ? r.currentSlide === r.last ? 0 : r.currentSlide + 1 : r.currentSlide === 0 ? r.last : r.currentSlide - 1
1374		};
1375		r.setProps = function(e, t, n) {
1376			var i = function() {
1377				var n = e ? e : (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo,
1378					i = function() {
1379						if(h) return t === "setTouch" ? e : c && r.animatingTo === r.last ? 0 : c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : r.animatingTo === r.last ? r.limit : n;
1380						switch(t) {
1381							case "setTotal":
1382								return c ? (r.count - 1 - r.currentSlide + r.cloneOffset) * e : (r.currentSlide + r.cloneOffset) * e;
1383							case "setTouch":
1384								return c ? e : e;
1385							case "jumpEnd":
1386								return c ? e : r.count * e;
1387							case "jumpStart":
1388								return c ? r.count * e : e;
1389							default:
1390								return e
1391						}
1392					}();
1393				return i * -1 + "px"
1394			}();
1395			if(r.transitions) {
1396				i = l ? "translate3d(0," + i + ",0)" : "translate3d(" + i + ",0,0)";
1397				n = n !== undefined ? n / 1e3 + "s" : "0s";
1398				r.container.css("-" + r.pfx + "-transition-duration", n);
1399				r.container.css("transition-duration", n)
1400			}
1401			r.args[r.prop] = i;
1402			(r.transitions || n === undefined) && r.container.css(r.args);
1403			r.container.css("transform", i)
1404		};
1405		r.setup = function(t) {
1406			if(!p) {
1407				var n, s;
1408				if(t === "init") {
1409					r.viewport = e('<div class="' + i + 'viewport"></div>').css({
1410						overflow: "hidden",
1411						position: "relative"
1412					}).appendTo(r).append(r.container);
1413					r.cloneCount = 0;
1414					r.cloneOffset = 0;
1415					if(c) {
1416						s = e.makeArray(r.slides).reverse();
1417						r.slides = e(s);
1418						r.container.empty().append(r.slides)
1419					}
1420				}
1421				if(r.vars.animationLoop && !h) {
1422					r.cloneCount = 2;
1423					r.cloneOffset = 1;
1424					t !== "init" && r.container.find(".clone").remove();
1425					r.container.append(r.slides.first().clone().addClass("clone").attr("aria-hidden", "true")).prepend(r.slides.last().clone().addClass("clone").attr("aria-hidden", "true"));
1426					v.uniqueID(r.slides.first().clone().addClass("clone")).appendTo(r.container);
1427					v.uniqueID(r.slides.last().clone().addClass("clone")).prependTo(r.container)
1428				}
1429				r.newSlides = e(r.vars.selector, r);
1430				n = c ? r.count - 1 - r.currentSlide + r.cloneOffset : r.currentSlide + r.cloneOffset;
1431				if(l && !h) {
1432					r.container.height((r.count + r.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
1433					setTimeout(function() {
1434						r.newSlides.css({
1435							display: "block"
1436						});
1437						r.doMath();
1438						r.viewport.height(r.h);
1439						r.setProps(n * r.h, "init")
1440					}, t === "init" ? 100 : 0)
1441				} else {
1442					r.container.width((r.count + r.cloneCount) * 200 + "%");
1443					r.setProps(n * r.computedW, "init");
1444					setTimeout(function() {
1445						r.doMath();
1446						r.newSlides.css({
1447							width: r.computedW,
1448							"float": "left",
1449							display: "block"
1450						});
1451						r.vars.smoothHeight && v.smoothHeight()
1452					}, t === "init" ? 100 : 0)
1453				}
1454			} else {
1455				r.slides.css({
1456					width: "100%",
1457					"float": "left",
1458					marginRight: "-100%",
1459					position: "relative"
1460				});
1461				t === "init" && (o ? r.slides.css({
1462					opacity: 0,
1463					display: "block",
1464					webkitTransition: "opacity " + r.vars.animationSpeed / 1e3 + "s ease",
1465					zIndex: 1
1466				}).eq(r.currentSlide).css({
1467					opacity: 1,
1468					zIndex: 2
1469				}) : r.slides.css({
1470					opacity: 0,
1471					display: "block",
1472					zIndex: 1
1473				}).eq(r.currentSlide).css({
1474					zIndex: 2
1475				}).animate({
1476					opacity: 1
1477				}, r.vars.animationSpeed, r.vars.easing));
1478				r.vars.smoothHeight && v.smoothHeight()
1479			}
1480			h || r.slides.removeClass(i + "active-slide").eq(r.currentSlide).addClass(i + "active-slide");
1481			r.vars.init(r)
1482		};
1483		r.doMath = function() {
1484			var e = r.slides.first(),
1485				t = r.vars.itemMargin,
1486				n = r.vars.minItems,
1487				i = r.vars.maxItems;
1488			r.w = r.viewport === undefined ? r.width() : r.viewport.width();
1489			r.h = e.height();
1490			r.boxPadding = e.outerWidth() - e.width();
1491			if(h) {
1492				//;
1493				r.itemT = r.vars.itemWidth + t;
1494				r.minW = n ? n * r.itemT : r.w;
1495				r.maxW = i ? i * r.itemT - t : r.w;
1496				if(r.vars.ifautoW){
1497					r.itemW = r.minW > r.w ? (r.w - t * (n - 1)) / n : r.maxW < r.w ? (r.w - t * (i - 1)) / i : r.vars.itemWidth > r.w ? r.w : r.vars.itemWidth;
1498				}else{
1499					r.itemW = r.vars.itemWidth;
1500				}
1501				r.visible = Math.floor(r.w / r.itemW);
1502				r.move = r.vars.move > 0 && r.vars.move < r.visible ? r.vars.move : r.visible;
1503				r.pagingCount = Math.ceil((r.count - r.visible) / r.move + 1);
1504				r.last = r.pagingCount - 1;
1505				r.limit = r.pagingCount === 1 ? 0 : r.vars.itemWidth > r.w ? r.itemW * (r.count - 1) + t * (r.count - 1) : (r.itemW + t) * r.count - r.w - t
1506			} else {
1507				r.itemW = r.w;
1508				r.pagingCount = r.count;
1509				r.last = r.count - 1
1510			}
1511			r.computedW = r.itemW - r.boxPadding
1512		};
1513		r.update = function(e, t) {
1514			r.doMath();
1515			if(!h) {
1516				e < r.currentSlide ? r.currentSlide += 1 : e <= r.currentSlide && e !== 0 && (r.currentSlide -= 1);
1517				r.animatingTo = r.currentSlide
1518			}
1519			if(r.vars.controlNav && !r.manualControls)
1520				if(t === "add" && !h || r.pagingCount > r.controlNav.length) v.controlNav.update("add");
1521				else if(t === "remove" && !h || r.pagingCount < r.controlNav.length) {
1522				if(h && r.currentSlide > r.last) {
1523					r.currentSlide -= 1;
1524					r.animatingTo -= 1
1525				}
1526				v.controlNav.update("remove", r.last)
1527			}
1528			r.vars.directionNav && v.directionNav.update()
1529		};
1530		r.addSlide = function(t, n) {
1531			var i = e(t);
1532			r.count += 1;
1533			r.last = r.count - 1;
1534			l && c ? n !== undefined ? r.slides.eq(r.count - n).after(i) : r.container.prepend(i) : n !== undefined ? r.slides.eq(n).before(i) : r.container.append(i);
1535			r.update(n, "add");
1536			r.slides = e(r.vars.selector + ":not(.clone)", r);
1537			r.setup();
1538			r.vars.added(r)
1539		};
1540		r.removeSlide = function(t) {
1541			var n = isNaN(t) ? r.slides.index(e(t)) : t;
1542			r.count -= 1;
1543			r.last = r.count - 1;
1544			isNaN(t) ? e(t, r.slides).remove() : l && c ? r.slides.eq(r.last).remove() : r.slides.eq(t).remove();
1545			r.doMath();
1546			r.update(n, "remove");
1547			r.slides = e(r.vars.selector + ":not(.clone)", r);
1548			r.setup();
1549			r.vars.removed(r)
1550		};
1551		v.init()
1552	};
1553	e(window).blur(function(e) {
1554		focused = !1
1555	}).focus(function(e) {
1556		focused = !0
1557	});
1558	e.flexslider.defaults = {
1559		namespace: "flex-",
1560		selector: ".slides > li",
1561		animation: "fade",
1562		easing: "swing",
1563		direction: "horizontal",
1564		reverse: !1,
1565		animationLoop: !0,
1566		smoothHeight: !1,
1567		startAt: 0,
1568		slideshow: !0,
1569		slideshowSpeed: 7e3,
1570		animationSpeed: 600,
1571		initDelay: 0,
1572		randomize: !1,
1573		thumbCaptions: !1,
1574		pauseOnAction: !0,
1575		pauseOnHover: !1,
1576		pauseInvisible: !0,
1577		useCSS: !0,
1578		touch: !0,
1579		video: !1,
1580		controlNav: !0,
1581		directionNav: !0,
1582		prevText: "Previous",
1583		nextText: "Next",
1584		keyboard: !0,
1585		multipleKeyboard: !1,
1586		mousewheel: !1,
1587		pausePlay: !1,
1588		pauseText: "Pause",
1589		playText: "Play",
1590		controlsContainer: "",
1591		manualControls: "",
1592		sync: "",
1593		asNavFor: "",
1594		itemWidth: 0,
1595		itemMargin: 0,
1596		minItems: 1,
1597		maxItems: 0,
1598		move: 0,
1599		allowOneSlide: !0,
1600		start: function() {},
1601		before: function() {},
1602		after: function() {},
1603		end: function() {},
1604		added: function() {},
1605		removed: function() {},
1606		init: function() {}
1607	};
1608	e.fn.flexslider = function(t) {
1609		t === undefined && (t = {});
1610		if(typeof t == "object") return this.each(function() {
1611			var n = e(this),
1612				r = t.selector ? t.selector : ".slides > li",
1613				i = n.find(r);
1614			if(i.length === 1 && t.allowOneSlide === !0 || i.length === 0) {
1615				i.fadeIn(400);
1616				t.start && t.start(n)
1617			} else n.data("flexslider") === undefined && new e.flexslider(this, t)
1618		});
1619		var n = e(this).data("flexslider");
1620		switch(t) {
1621			case "play":
1622				n.play();
1623				break;
1624			case "pause":
1625				n.pause();
1626				break;
1627			case "stop":
1628				n.stop();
1629				break;
1630			case "next":
1631				n.flexAnimate(n.getTarget("next"), !0);
1632				break;
1633			case "prev":
1634			case "previous":
1635				n.flexAnimate(n.getTarget("prev"), !0);
1636				break;
1637			default:
1638				typeof t == "number" && n.flexAnimate(t, !0)
1639		}
1640	}
1641})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.