"Animated timeline Timeline"
Bootstrap 3.3.0 Snippet by Linkon

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="row" style="position: relative;margin: 0;/*-webkit-transform: translate(0,90%);transform: translate(0,17.5%);*/"> <img src="images-home/process.jpg" alt="Fastlane" class="app-image visible-sm" style="width: 100%;" /> <div class="col-md-12 apps hidden-sm section-svg"> <div class="section-head"> <h2 class="section-title"><span class="abt white">About Fastlane Information Tech</span></h2> <!-- <p class="section-description">Lorem Ipsum is simply dummy text of the inting and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p> --> </div> <div class="" style="position: absolute;width:100%;top:175px;"> <svg id="route1" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="350" viewBox="0 0 350 500"> <path id="path" fill="none" stroke="white" stroke-width="10" stroke-linecap="round" d="M600,0c-4.9,32.1-30.5,179.1-156,254c-14.9,8.9-155.1,90.3-230,22c-45.8-41.8-57.2-130.4-16-178 c48.8-56.4,155.3-36.6,208,6c80.1,64.8,88.6,225-2,388" /> </svg> </div> <div class="" style="position: absolute;left: calc(48% + 30px);top: 8%;"> <img src="https://goo.gl/images/8s3j7C" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="" style="position: absolute;left: calc(55% - 610px);top: 10%;"> <img src="images-home/img1.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div id="plan_text" class="" style="position: absolute;left: calc(50% + 15px);top: 530px;"> <img src="images-home/text4.png" alt="Fastlane"> </div> <div class="img2" style="position: absolute;left: calc(57.5% + 300px);top: 14%;"> <img src="images-home/img2.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="" style="position: absolute;left: calc(52% - 413px);top: 460px;"> <svg id="route2" xmlns="http://www.w3.org/2000/svg" version="1.1" width="230%" height="530" viewBox="0 0 350 500"> <path id="path" fill="none" stroke="white" stroke-width="6" stroke-linecap="round" d="M270,150c-36,82.2-169.3,26-230.7,65.7c-26.3,17-43.2,73.4-25.3,106.3c7.4,13.7,24.1,25.1,116,33 c132.7,11.4,175.2-5.9,212,24c17.6,14.3,38.7,43.4,40,110" /> </svg> </div> <div class="" style="position: absolute;left: calc(50% - 610px);top: 720px;"> <img src="images-home/img4.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div id="design_text" class="" style="position: absolute;left: calc(42% + 155px);top: 975px;"> <img src="images-home/text3.png" alt="Fastlane"> </div> <div class="" style="position: absolute;left: calc(50% - 82px);top: 1750px;"> <img src="images-home/img.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="" style="position: absolute;left: calc(52% - 375px);top: 1055px;"> <svg id="route4" xmlns="http://www.w3.org/2000/svg" version="1.1" width="200%" height="550" viewBox="0 0 500 611"> <path id="path" fill="none" stroke="white" stroke-width="7" stroke-linecap="round" d="M487,8c-13.5,131.5-51.1,182.2-83.3,204c-13.8,9.4-20.4,26-108.3,26c-119.9,0-153.1,3.6-173.2,18 c-41.9,29.9-61.9,93.3-50,136c15.4,55.4,104.4,55.2,138.2,132c12.3,27.9,10.7,58.6,6.7,82" /> </svg> </div> <div id="code_text" class="" style="position: absolute;left: calc(50% - 185px);top: 1605px;"> <img src="images-home/text2.png" alt="Fastlane"> </div> <div class="" style="position: absolute;left: calc(52% - 210px);top: 1692px;"> <svg id="route5" xmlns="http://www.w3.org/2000/svg" version="1.1" width="200%" height="550" viewBox="0 0 500 570"> <path id="path" fill="none" stroke="white" stroke-width="7" stroke-linecap="round" d="M0,0c-9.3,10.5-42.2,50.1-40,106c2.8,71.4,60.8,113.5,70,120c58.5,41,104.9,14.4,136,46 c22.2,22.6,34.5,72.9-14,196" /> </svg> </div> <div class="" style="position: absolute;left: calc(30% + 95px);top: 43%;"> <img src="images-home/img8.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="" style="position: absolute;left: calc(58% + 95px);top: 44%;"> <img src="images-home/img5.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="img6" style="position: absolute;left: calc(55.5% + 540px);top: 51%;"> <img src="images-home/img6.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="img9" style="position: absolute;left: calc(47% - 673px);top: 1210px;"> <img src="images-home/img9.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="" style="position: absolute;left: calc(45% - 526px);top: 60%;"> <img src="images-home/img10.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="" style="position: absolute;left: calc(45% - 400px);top: 53%;"> <img src="images-home/img11.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div id="qa_text" class="" style="position: absolute;left: calc(50% - 135px);top: 2170px;"> <img src="images-home/text1.png" alt="Fastlane"> </div> <div class="" style="position: absolute;left: calc(52% - 778px);top: 2271px;"> <svg id="route6" xmlns="http://www.w3.org/2000/svg" version="1.1" width="600%" height="700px" viewBox="0 0 400 800"> <path id="path" fill="none" stroke="white" stroke-width="7" stroke-linecap="round" d="M0,0c-14.8,65.4-45.5,149.7-117,186c-119.1,60.6-247.9-64.2-324,0c-56.9,48-51.2,173.5-6,255 c17.3,31.1,38.5,52.6,54,66" /> </svg> </div> <div class="" style="position: absolute;left: calc(50% + 370px);top: 60%;"> <img src="images-home/img7.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="img15" style="position: absolute;left: calc(62% + 370px);top: 69%;"> <img src="images-home/img15.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="img12" style="position: absolute;left: calc(46% - 654px);top: 85%;"> <img src="images-home/img12.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div id="deploy_text" class="" style="position: absolute;left: calc(50% - 495px);top: 2720px;"> <img src="images-home/text.png" alt="Fastlane"> </div> <div class="" style="position: absolute;left: calc(50% + 0px);top: 2400px;"> <img src="images-home/img14.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="" style="position: absolute;left: calc(48% - 375px);top: 83%;"> <img src="images-home/img3.png" class="" alt="Fastlane" style="width: 100%;height: auto;"> </div> <div class="section-svg" style="position: absolute;left: calc(50% + 520px);top: 2750px;"> <img src="images-home/img13.png" alt="Fastlane" style="width: 100%;height: auto;"> </div> </div> </div> </div>
.app-image { display: none; } .apps { height: 3000px; padding: 97px 0 0 0; background-image: url(https://www.google.co.in/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwjDzKP_85HSAhVG2LwKHdoaDmgQjRwIBw&url=http%3A%2F%2Fwallpaper-gallery.net%2Fwallpapers%2Fhd-blue-background-wallpapers.html&bvm=bv.146786187,d.dGc&psig=AFQjCNEDFDqNKvr3AU1CVN8SEpp8SN73JQ&ust=1487241342900862); background-repeat: no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; } @media all and (min-width: 991px) and (max-width: 1180px) { } @media screen and (min-width: 981px) and (max-width: 1320px) { } @media only screen and (min-width: 768px) and (max-width: 980px) { } @media only screen and (min-width: 480px) and (max-width: 767px) { .app-image { display: block; } .apps { display: none; } } .vid-container p { font-size: 14px; padding-right: 50px; font-family: Montserrat-Regular; } @media only screen and (min-width: 299px) and (max-width: 480px) { .app-image { display: block; } /*.apps { display: none; }*/ } /*.screen-section { padding-left: 6%; }*/ /*#banner-section-one .row { top: 5%; position: relative; }*/ .success { font-family: Montserrat-Bold; font-size: 54px; color: #34bcd0; } @-webkit-keyframes translate-up-animation { 0% { -moz-transform: translateY(1em); -ms-transform: translateY(1em); transform: translateY(1em); opacity: .5; } 100% { -moz-transform: translateY(0em); -ms-transform: translateY(0em); transform: translateY(0em); oapcity: 1; } } @-moz-keyframes translate-up-animation { 0% { -moz-transform: translateY(1em); -ms-transform: translateY(1em); transform: translateY(1em); opacity: .5; } 100% { -moz-transform: translateY(0em); -ms-transform: translateY(0em); transform: translateY(0em); oapcity: 1; } } .ink { position: absolute; display: block; -webkit-transform: scale(0); -moz-transform: scale(0); -o-transform: scale(0); transform: scale(0); border-radius: 100%; background: rgba(255, 255, 255, .3); } .animate { -webkit-animation: ripple .65s linear; -moz-animation: ripple .65s linear; -ms-animation: ripple .65s linear; -o-animation: ripple .65s linear; animation: ripple .65s linear; } @-webkit-keyframes ripple { 100% { -webkit-transform: scale(2.5); opacity: 0; } } @-moz-keyframes ripple { 100% { -moz-transform: scale(2.5); opacity: 0; } } @-o-keyframes ripple { 100% { -o-transform: scale(2.5); opacity: 0; } } @keyframes ripple { 100% { transform: scale(2.5); opacity: 0; } } @media all and (min-width: 375px) and (max-width: 480px) { } @media all and (min-width: 320px) and (max-width: 767px) { .apps { display: none; } .app-image { display: block !important; } .success { font-size: 30px; } } @media all and (min-width: 992px) and (max-width: 1024px) { .success { font-size: 36px; } .results { font-size: 48px; } } @media all and (min-width: 768px) and (max-width: 991px) { .apps { display: none; } .apps h1{ font-size: 48px !important; } .success { font-size: 36px; } } @media all and (min-width: 1100px) and (max-width: 1200px) { } @media all and (min-width: 1201px) and (max-width: 1365px) { } @media all and (min-width: 1024px) { } @media all and (min-width: 1680px) and (max-width: 1800px) { } @media only screen and (min-width: 1751px) { .img2 { left: calc(74.5% + 300px) !important; } .img6 { left: calc(77.5% + 540px) !important; } .img15 { left: calc(75.5% + 370px) !important; } .img9 { left: calc(23% - 673px) !important; } .img12 { top: 80% !important; left: calc(22.5% - 646px) !important; } } @media all and (min-width: 1801px) { } /*bannertext css end*/
function layoutSettings() { wW = window.innerWidth, wH = $(window).height(), iPhoneTransVal = -iPhone.height() - (wH - iPhone.height()) / 2, 740 >= wW ? slider || initSlider() : slider && (slider.destroy(), slider = null, $(".swiper-slide").width(""))} function initNavigation() { $("section").each(function(e) { sections[e] = new Section(e) }), getTransitionValues() } function drawLine(e, t) { var i = 0, n = e.parent().attr("id"), r = t.getTotalLength(), s = e.offset().top - $(window).scrollTop(), a = 1 - s / $(window).height(); "route1" == n && (a -= .2, a > 0 && (a = 1.35 * a), a >= 1 ? $("#plan_text").show("fast") : $("#plan_text").hide("fast")), "route2" == n && (a -= .45, a > 0 && (a = 1.7 * a), a >= 1 ? $("#design_text").show("fast") : $("#design_text").hide("fast")), "route4" == n && (a -= .55, a > 0 && (a = 1.6 * a), a >= 1 ? $("#code_text").show("fast") : $("#code_text").hide("fast")), "route5" == n && (a -= .45, a > 0 && (a = 1.8 * a), a >= 1 ? $("#qa_text").show("fast") : $("#qa_text").hide("fast")), "route6" == n && (a -= .47, a > 0 && (a = 1.5 * a), a >= 1 ? $("#deploy_text").show("fast") : $("#deploy_text").hide("fast")), i = a * r, 0 > i && (i = 0), t.style.strokeDasharray = [i, r].join(" ") } function drawallLines(e, t) { $.each($("path"), function(e, t) { var i = t; drawLine($(this), i) }) } // function TabletScroll() { this.init = function() { touchmoveDisabled = !0, $(document).on("touchend", initiPadVideo), $(document).swipe({ threshold: 100, allowPageScroll: "none", swipeUp: function() {!transitioning && currentSection < sections.length - 1 && (transitioning = !0, currentSection++, forward = !0, sections[currentSection].animate(forward)) }, swipeDown: function() {!transitioning && currentSection > 0 && (transitioning = !0, currentSection--, forward = !1, sections[currentSection].animate(forward)) } }) }, this.kill = function() { touchmoveDisabled = !1, $(document).swipe("destroy") } } function initiPadVideo() { video.play(), video.pause(), console.log("iPad video initiated."), $(document).off("touchend", initiPadVideo) } function getTransitionValues() { trValues[0] = { stripe: { duration: .5, values: { delay: 0, y: -30, rotationZ: 0, scaleX: 1, force3D: !0, ease: Quad.easeInOut } }, iPhone: { duration: .5, values: { delay: .7, y: 0, rotationZ: -15, force3D: !0, ease: Quad.easeInOut } }, article: { delay: { forward: 0, backward: 0 } }, timelineCtn: { duration: .5, values: { delay: 0, y: 0, opacity: 0, force3D: !0, ease: Quad.easeInOut } }, timeline: { duration: .5, values: { delay: 0, x: 0, force3D: !0, ease: Quad.easeInOut } }, video: { start: 0, end: 0 } }, trValues[1] = { stripe: { duration: 1.3, values: { delay: .2, y: -wH / 2, rotationZ: 0, scaleX: 1.3, force3D: !0, ease: Expo.easeInOut } }, iPhone: { duration: .8, values: { delay: .3, y: iPhoneTransVal, rotationZ: 0, force3D: !0, ease: Sine.easeInOut } }, article: { delay: { forward: 600, backward: 600 } }, timelineCtn: { duration: .8, values: { delay: .2, y: 130, rotationZ: 0, opacity: 1, force3D: !0, ease: Quint.easeInOut } }, timeline: { duration: .5, values: { delay: 0, x: "25%", force3D: !0, ease: Quad.easeInOut } }, video: { start: 2, end: 11 } }, trValues[2] = { stripe: { duration: 1.3, values: { delay: 0, y: -wH / 2, rotationZ: 180, force3D: !0, ease: Expo.easeInOut } }, iPhone: { duration: .8, values: { delay: .9, y: iPhoneTransVal, force3D: !0, ease: Quad.easeInOut } }, article: { delay: { forward: 600, backward: 600 } }, timelineCtn: { duration: .5, values: { delay: 0, y: -150, force3D: !0, ease: Quad.easeInOut } }, timeline: { duration: .5, values: { delay: 0, x: "50%", force3D: !0, ease: Quad.easeInOut } }, video: { start: 11, end: 23 } }, trValues[3] = { stripe: { duration: 1.3, values: { delay: 0, y: -wH / 2, rotationZ: 360, force3D: !0, ease: Expo.easeInOut } }, iPhone: { duration: .8, values: { delay: .9, y: iPhoneTransVal, force3D: !0, ease: Quad.easeInOut } }, article: { delay: { forward: 600, backward: 600 } }, timelineCtn: { duration: .5, values: { delay: 0, y: 130, force3D: !0, ease: Quad.easeInOut } }, timeline: { duration: .5, values: { delay: 0, x: "75%", force3D: !0, ease: Quad.easeInOut } }, video: { start: 23, end: 27.5 } }, trValues[4] = { stripe: { duration: 1.3, values: { delay: 0, y: -wH / 2, rotationZ: 540, force3D: !0, ease: Expo.easeInOut } }, iPhone: { duration: .7, values: { delay: 0, y: iPhoneTransVal, rotationZ: 0, force3D: !0, ease: Quad.easeOut } }, article: { delay: { forward: 600, backward: 0 } }, timelineCtn: { duration: .5, values: { delay: 0, y: -150, opacity: 1, force3D: !0, ease: Quad.easeInOut } }, timeline: { duration: .5, values: { delay: 0, x: "100%", force3D: !0, ease: Quad.easeInOut } }, video: { start: 27.5, end: video.duration } }, trValues[5] = { stripe: { duration: .5, values: { delay: .2, y: 0, rotationZ: 540, force3D: !0, ease: Sine.easeIn } }, iPhone: { duration: .7, values: { delay: 0, y: 2 * -wH, rotationZ: 15, force3D: !0, ease: Sine.easeIn } }, article: { delay: { forward: 0, backward: 0 } }, timelineCtn: { duration: .5, values: { delay: 0, y: 0, scaleX: 0, opacity: 0, force3D: !0, ease: Quad.easeInOut } }, timeline: { duration: .5, values: { delay: 0, x: "100%", force3D: !0, ease: Quad.easeInOut } } } } function rotateSlide(e, t) { var i, n = lastSwipeProgress - t, r = n * (slidesNumber - 1), s = $("#slider-images span").eq(e.activeIndex), a = $("#slider-images span").eq(0 > n ? e.activeIndex + 1 : e.activeIndex - 1), o = Math.min(90, 90 * r); r >= 0 ? i = Math.max(-90, -90 + 90 * r) : 0 > r && (i = Math.min(90, 90 - -90 * r)), s.css({ transform: "rotate(" + o + "deg)" }), a.css({ transform: "rotate(" + i + "deg)" }), lastViableProgress = t }! function(e, t) { "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return t(e) } : t(e) }("undefined" != typeof window ? window : this, function(e, t) { function i(e) { var t = e.length, i = J.type(e); return "function" === i || J.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === i || 0 === t || "number" == typeof t && t > 0 && t - 1 in e } function n(e, t, i) { if (J.isFunction(t)) return J.grep(e, function(e, n) { return !!t.call(e, n, e) !== i }); if (t.nodeType) return J.grep(e, function(e) { return e === t !== i }); if ("string" == typeof t) { if (oe.test(t)) return J.filter(t, e, i); t = J.filter(t, e) } return J.grep(e, function(e) { return V.call(t, e) >= 0 !== i }) } function r(e, t) { for (; (e = e[t]) && 1 !== e.nodeType;); return e } function s(e) { var t = fe[e] = {}; return J.each(e.match(de) || [], function(e, i) { t[i] = !0 }), t } function a() { Z.removeEventListener("DOMContentLoaded", a, !1), e.removeEventListener("load", a, !1), J.ready() } function o() { Object.defineProperty(this.cache = {}, 0, { get: function() { return {} } }), this.expando = J.expando + Math.random() } function l(e, t, i) { var n; if (void 0 === i && 1 === e.nodeType) if (n = "data-" + t.replace(we, "-$1").toLowerCase(), i = e.getAttribute(n), "string" == typeof i) { try { i = "true" === i ? !0 : "false" === i ? !1 : "null" === i ? null : +i + "" === i ? +i : ye.test(i) ? J.parseJSON(i) : i } catch (r) {} _e.set(e, t, i) } else i = void 0; return i } function u() { return !0 } function c() { return !1 } function p() { try { return Z.activeElement } catch (e) {} } function h(e, t) { return J.nodeName(e, "table") && J.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e } function d(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function f(e) { var t = Ie.exec(e.type); return t ? e.type = t[1] : e.removeAttribute("type"), e } function m(e, t) { for (var i = 0, n = e.length; n > i; i++) ve.set(e[i], "globalEval", !t || ve.get(t[i], "globalEval")) } function g(e, t) { var i, n, r, s, a, o, l, u; if (1 === t.nodeType) { if (ve.hasData(e) && (s = ve.access(e), a = ve.set(t, s), u = s.events)) { delete a.handle, a.events = {}; for (r in u) for (i = 0, n = u[r].length; n > i; i++) J.event.add(t, r, u[r][i]) } _e.hasData(e) && (o = _e.access(e), l = J.extend({}, o), _e.set(t, l)) } } function v(e, t) { var i = e.getElementsByTagName ? e.getElementsByTagName(t || "*") : e.querySelectorAll ? e.querySelectorAll(t || "*") : []; return void 0 === t || t && J.nodeName(e, t) ? J.merge([e], i) : i } function _(e, t) { var i = t.nodeName.toLowerCase(); "input" === i && Se.test(e.type) ? t.checked = e.checked : ("input" === i || "textarea" === i) && (t.defaultValue = e.defaultValue) } function y(t, i) { var n, r = J(i.createElement(t)).appendTo(i.body), s = e.getDefaultComputedStyle && (n = e.getDefaultComputedStyle(r[0])) ? n.display : J.css(r[0], "display"); return r.detach(), s } function w(e) { var t = Z, i = Be[e]; return i || (i = y(e, t), "none" !== i && i || (je = (je || J("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = je[0].contentDocument, t.write(), t.close(), i = y(e, t), je.detach()), Be[e] = i), i } function x(e, t, i) { var n, r, s, a, o = e.style; return i = i || qe(e), i && (a = i.getPropertyValue(t) || i[t]), i && ("" !== a || J.contains(e.ownerDocument, e) || (a = J.style(e, t)), $e.test(a) && Xe.test(t) && (n = o.width, r = o.minWidth, s = o.maxWidth, o.minWidth = o.maxWidth = o.width = a, a = i.width, o.width = n, o.minWidth = r, o.maxWidth = s)), void 0 !== a ? a + "" : a } function b(e, t) { return { get: function() { return e() ? void delete this.get : (this.get = t).apply(this, arguments) } } } function T(e, t) { if (t in e) return t; for (var i = t[0].toUpperCase() + t.slice(1), n = t, r = Ue.length; r--;) if (t = Ue[r] + i, t in e) return t; return n } function S(e, t, i) { var n = We.exec(t); return n ? Math.max(0, n[1] - (i || 0)) + (n[2] || "px") : t } function C(e, t, i, n, r) { for (var s = i === (n ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; 4 > s; s += 2) "margin" === i && (a += J.css(e, i + be[s], !0, r)), n ? ("content" === i && (a -= J.css(e, "padding" + be[s], !0, r)), "margin" !== i && (a -= J.css(e, "border" + be[s] + "Width", !0, r))) : (a += J.css(e, "padding" + be[s], !0, r), "padding" !== i && (a += J.css(e, "border" + be[s] + "Width", !0, r))); return a } function P(e, t, i) { var n = !0, r = "width" === t ? e.offsetWidth : e.offsetHeight, s = qe(e), a = "border-box" === J.css(e, "boxSizing", !1, s); if (0 >= r || null == r) { if (r = x(e, t, s), (0 > r || null == r) && (r = e.style[t]), $e.test(r)) return r; n = a && (Q.boxSizingReliable() || r === e.style[t]), r = parseFloat(r) || 0 } return r + C(e, t, i || (a ? "border" : "content"), n, s) + "px" } function k(e, t) { for (var i, n, r, s = [], a = 0, o = e.length; o > a; a++) n = e[a], n.style && (s[a] = ve.get(n, "olddisplay"), i = n.style.display, t ? (s[a] || "none" !== i || (n.style.display = ""), "" === n.style.display && Te(n) && (s[a] = ve.access(n, "olddisplay", w(n.nodeName)))) : (r = Te(n), "none" === i && r || ve.set(n, "olddisplay", r ? i : J.css(n, "display")))); for (a = 0; o > a; a++) n = e[a], n.style && (t && "none" !== n.style.display && "" !== n.style.display || (n.style.display = t ? s[a] || "" : "none")); return e } function D(e, t, i, n, r) { return new D.prototype.init(e, t, i, n, r) } function E() { return setTimeout(function() { Qe = void 0 }), Qe = J.now() } function O(e, t) { var i, n = 0, r = { height: e }; for (t = t ? 1 : 0; 4 > n; n += 2 - t) i = be[n], r["margin" + i] = r["padding" + i] = e; return t && (r.opacity = r.width = e), r } function M(e, t, i) { for (var n, r = (it[t] || []).concat(it["*"]), s = 0, a = r.length; a > s; s++) if (n = r[s].call(i, t, e)) return n } function A(e, t, i) { var n, r, s, a, o, l, u, c, p = this, h = {}, d = e.style, f = e.nodeType && Te(e), m = ve.get(e, "fxshow"); i.queue || (o = J._queueHooks(e, "fx"), null == o.unqueued && (o.unqueued = 0, l = o.empty.fire, o.empty.fire = function() { o.unqueued || l() }), o.unqueued++, p.always(function() { p.always(function() { o.unqueued--, J.queue(e, "fx").length || o.empty.fire() }) })), 1 === e.nodeType && ("height" in t || "width" in t) && (i.overflow = [d.overflow, d.overflowX, d.overflowY], u = J.css(e, "display"), c = "none" === u ? ve.get(e, "olddisplay") || w(e.nodeName) : u, "inline" === c && "none" === J.css(e, "float") && (d.display = "inline-block")), i.overflow && (d.overflow = "hidden", p.always(function() { d.overflow = i.overflow[0], d.overflowX = i.overflow[1], d.overflowY = i.overflow[2] })); for (n in t) if (r = t[n], Ke.exec(r)) { if (delete t[n], s = s || "toggle" === r, r === (f ? "hide" : "show")) { if ("show" !== r || !m || void 0 === m[n]) continue; f = !0 } h[n] = m && m[n] || J.style(e, n) } else u = void 0; if (J.isEmptyObject(h)) "inline" === ("none" === u ? w(e.nodeName) : u) && (d.display = u); else { m ? "hidden" in m && (f = m.hidden) : m = ve.access(e, "fxshow", {}), s && (m.hidden = !f), f ? J(e).show() : p.done(function() { J(e).hide() }), p.done(function() { var t; ve.remove(e, "fxshow"); for (t in h) J.style(e, t, h[t]) }); for (n in h) a = M(f ? m[n] : 0, n, p), n in m || (m[n] = a.start, f && (a.end = a.start, a.start = "width" === n || "height" === n ? 1 : 0)) } } function R(e, t) { var i, n, r, s, a; for (i in e) if (n = J.camelCase(i), r = t[n], s = e[i], J.isArray(s) && (r = s[1], s = e[i] = s[0]), i !== n && (e[n] = s, delete e[i]), a = J.cssHooks[n], a && "expand" in a) { s = a.expand(s), delete e[n]; for (i in s) i in e || (e[i] = s[i], t[i] = r) } else t[n] = r } function L(e, t, i) { var n, r, s = 0, a = tt.length, o = J.Deferred().always(function() { delete l.elem }), l = function() { if (r) return !1; for (var t = Qe || E(), i = Math.max(0, u.startTime + u.duration - t), n = i / u.duration || 0, s = 1 - n, a = 0, l = u.tweens.length; l > a; a++) u.tweens[a].run(s); return o.notifyWith(e, [u, s, i]), 1 > s && l ? i : (o.resolveWith(e, [u]), !1) }, u = o.promise({ elem: e, props: J.extend({}, t), opts: J.extend(!0, { specialEasing: {} }, i), originalProperties: t, originalOptions: i, startTime: Qe || E(), duration: i.duration, tweens: [], createTween: function(t, i) { var n = J.Tween(e, u.opts, t, i, u.opts.specialEasing[t] || u.opts.easing); return u.tweens.push(n), n }, stop: function(t) { var i = 0, n = t ? u.tweens.length : 0; if (r) return this; for (r = !0; n > i; i++) u.tweens[i].run(1); return t ? o.resolveWith(e, [u, t]) : o.rejectWith(e, [u, t]), this } }), c = u.props; for (R(c, u.opts.specialEasing); a > s; s++) if (n = tt[s].call(u, e, c, u.opts)) return n; return J.map(c, M, u), J.isFunction(u.opts.start) && u.opts.start.call(e, u), J.fx.timer(J.extend(l, { elem: e, anim: u, queue: u.opts.queue })), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always) } function N(e) { return function(t, i) { "string" != typeof t && (i = t, t = "*"); var n, r = 0, s = t.toLowerCase().match(de) || []; if (J.isFunction(i)) for (; n = s[r++];) "+" === n[0] ? (n = n.slice(1) || "*", (e[n] = e[n] || []).unshift(i)) : (e[n] = e[n] || []).push(i) } } function I(e, t, i, n) { function r(o) { var l; return s[o] = !0, J.each(e[o] || [], function(e, o) { var u = o(t, i, n); return "string" != typeof u || a || s[u] ? a ? !(l = u) : void 0 : (t.dataTypes.unshift(u), r(u), !1) }), l } var s = {}, a = e === xt; return r(t.dataTypes[0]) || !s["*"] && r("*") } function z(e, t) { var i, n, r = J.ajaxSettings.flatOptions || {}; for (i in t) void 0 !== t[i] && ((r[i] ? e : n || (n = {}))[i] = t[i]); return n && J.extend(!0, e, n), e } function F(e, t, i) { for (var n, r, s, a, o = e.contents, l = e.dataTypes; "*" === l[0];) l.shift(), void 0 === n && (n = e.mimeType || t.getResponseHeader("Content-Type")); if (n) for (r in o) if (o[r] && o[r].test(n)) { l.unshift(r); break } if (l[0] in i) s = l[0]; else { for (r in i) { if (!l[0] || e.converters[r + " " + l[0]]) { s = r; break } a || (a = r) } s = s || a } return s ? (s !== l[0] && l.unshift(s), i[s]) : void 0 } function j(e, t, i, n) { var r, s, a, o, l, u = {}, c = e.dataTypes.slice(); if (c[1]) for (a in e.converters) u[a.toLowerCase()] = e.converters[a]; for (s = c.shift(); s;) if (e.responseFields[s] && (i[e.responseFields[s]] = t), !l && n && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = s, s = c.shift()) if ("*" === s) s = l; else if ("*" !== l && l !== s) { if (a = u[l + " " + s] || u["* " + s], !a) for (r in u) if (o = r.split(" "), o[1] === s && (a = u[l + " " + o[0]] || u["* " + o[0]])) { a === !0 ? a = u[r] : u[r] !== !0 && (s = o[0], c.unshift(o[1])); break } if (a !== !0) if (a && e["throws"]) t = a(t); else try { t = a(t) } catch (p) { return { state: "parsererror", error: a ? p : "No conversion from " + l + " to " + s } } } return { state: "success", data: t } } function B(e, t, i, n) { var r; if (J.isArray(t)) J.each(t, function(t, r) { i || Ct.test(e) ? n(e, r) : B(e + "[" + ("object" == typeof r ? t : "") + "]", r, i, n) }); else if (i || "object" !== J.type(t)) n(e, t); else for (r in t) B(e + "[" + r + "]", t[r], i, n) } function X(e) { return J.isWindow(e) ? e : 9 === e.nodeType && e.defaultView } var $ = [], q = $.slice, H = $.concat, W = $.push, V = $.indexOf, Y = {}, G = Y.toString, U = Y.hasOwnProperty, Q = {}, Z = e.document, K = "2.1.1", J = function(e, t) { return new J.fn.init(e, t) }, ee = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, te = /^-ms-/, ie = /-([\da-z])/gi, ne = function(e, t) { return t.toUpperCase() }; J.fn = J.prototype = { jquery: K, constructor: J, selector: "", length: 0, toArray: function() { return q.call(this) }, get: function(e) { return null != e ? 0 > e ? this[e + this.length] : this[e] : q.call(this) }, pushStack: function(e) { var t = J.merge(this.constructor(), e); return t.prevObject = this, t.context = this.context, t }, each: function(e, t) { return J.each(this, e, t) }, map: function(e) { return this.pushStack(J.map(this, function(t, i) { return e.call(t, i, t) })) }, slice: function() { return this.pushStack(q.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(e) { var t = this.length, i = +e + (0 > e ? t : 0); return this.pushStack(i >= 0 && t > i ? [this[i]] : []) }, end: function() { return this.prevObject || this.constructor(null) }, push: W, sort: $.sort, splice: $.splice }, J.extend = J.fn.extend = function() { var e, t, i, n, r, s, a = arguments[0] || {}, o = 1, l = arguments.length, u = !1; for ("boolean" == typeof a && (u = a, a = arguments[o] || {}, o++), "object" == typeof a || J.isFunction(a) || (a = {}), o === l && (a = this, o--); l > o; o++) if (null != (e = arguments[o])) for (t in e) i = a[t], n = e[t], a !== n && (u && n && (J.isPlainObject(n) || (r = J.isArray(n))) ? (r ? (r = !1, s = i && J.isArray(i) ? i : []) : s = i && J.isPlainObject(i) ? i : {}, a[t] = J.extend(u, s, n)) : void 0 !== n && (a[t] = n)); return a }, J.extend({ expando: "jQuery" + (K + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(e) { throw new Error(e) }, noop: function() {}, isFunction: function(e) { return "function" === J.type(e) }, isArray: Array.isArray, isWindow: function(e) { return null != e && e === e.window }, isNumeric: function(e) { return !J.isArray(e) && e - parseFloat(e) >= 0 }, isPlainObject: function(e) { return "object" !== J.type(e) || e.nodeType || J.isWindow(e) ? !1 : e.constructor && !U.call(e.constructor.prototype, "isPrototypeOf") ? !1 : !0 }, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0 }, type: function(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? Y[G.call(e)] || "object" : typeof e }, globalEval: function(e) { var t, i = eval; e = J.trim(e), e && (1 === e.indexOf("use strict") ? (t = Z.createElement("script"), t.text = e, Z.head.appendChild(t).parentNode.removeChild(t)) : i(e)) }, camelCase: function(e) { return e.replace(te, "ms-").replace(ie, ne) }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() }, each: function(e, t, n) { var r, s = 0, a = e.length, o = i(e); if (n) { if (o) for (; a > s && (r = t.apply(e[s], n), r !== !1); s++); else for (s in e) if (r = t.apply(e[s], n), r === !1) break } else if (o) for (; a > s && (r = t.call(e[s], s, e[s]), r !== !1); s++); else for (s in e) if (r = t.call(e[s], s, e[s]), r === !1) break; return e }, trim: function(e) { return null == e ? "" : (e + "").replace(ee, "") }, makeArray: function(e, t) { var n = t || []; return null != e && (i(Object(e)) ? J.merge(n, "string" == typeof e ? [e] : e) : W.call(n, e)), n }, inArray: function(e, t, i) { return null == t ? -1 : V.call(t, e, i) }, merge: function(e, t) { for (var i = +t.length, n = 0, r = e.length; i > n; n++) e[r++] = t[n]; return e.length = r, e }, grep: function(e, t, i) { for (var n, r = [], s = 0, a = e.length, o = !i; a > s; s++) n = !t(e[s], s), n !== o && r.push(e[s]); return r }, map: function(e, t, n) { var r, s = 0, a = e.length, o = i(e), l = []; if (o) for (; a > s; s++) r = t(e[s], s, n), null != r && l.push(r); else for (s in e) r = t(e[s], s, n), null != r && l.push(r); return H.apply([], l) }, guid: 1, proxy: function(e, t) { var i, n, r; return "string" == typeof t && (i = e[t], t = e, e = i), J.isFunction(e) ? (n = q.call(arguments, 2), r = function() { return e.apply(t || this, n.concat(q.call(arguments))) }, r.guid = e.guid = e.guid || J.guid++, r) : void 0 }, now: Date.now, support: Q }), J.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(e, t) { Y["[object " + t + "]"] = t.toLowerCase() }); var re = function(e) { function t(e, t, i, n) { var r, s, a, o, l, u, p, d, f, m; if ((t ? t.ownerDocument || t : B) !== A && M(t), t = t || A, i = i || [], !e || "string" != typeof e) return i; if (1 !== (o = t.nodeType) && 9 !== o) return []; if (L && !n) { if (r = _e.exec(e)) if (a = r[1]) { if (9 === o) { if (s = t.getElementById(a), !s || !s.parentNode) return i; if (s.id === a) return i.push(s), i } else if (t.ownerDocument && (s = t.ownerDocument.getElementById(a)) && F(t, s) && s.id === a) return i.push(s), i } else { if (r[2]) return J.apply(i, t.getElementsByTagName(e)), i; if ((a = r[3]) && x.getElementsByClassName && t.getElementsByClassName) return J.apply(i, t.getElementsByClassName(a)), i } if (x.qsa && (!N || !N.test(e))) { if (d = p = j, f = t, m = 9 === o && e, 1 === o && "object" !== t.nodeName.toLowerCase()) { for (u = C(e), (p = t.getAttribute("id")) ? d = p.replace(we, "\\$&") : t.setAttribute("id", d), d = "[id='" + d + "'] ", l = u.length; l--;) u[l] = d + h(u[l]); f = ye.test(e) && c(t.parentNode) || t, m = u.join(",") } if (m) try { return J.apply(i, f.querySelectorAll(m)), i } catch (g) {} finally { p || t.removeAttribute("id") } } } return k(e.replace(le, "$1"), t, i, n) } function i() { function e(i, n) { return t.push(i + " ") > b.cacheLength && delete e[t.shift()], e[i + " "] = n } var t = []; return e } function n(e) { return e[j] = !0, e } function r(e) { var t = A.createElement("div"); try { return !!e(t) } catch (i) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function s(e, t) { for (var i = e.split("|"), n = e.length; n--;) b.attrHandle[i[n]] = t } function a(e, t) { var i = t && e, n = i && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || G) - (~e.sourceIndex || G); if (n) return n; if (i) for (; i = i.nextSibling;) if (i === t) return -1; return e ? 1 : -1 } function o(e) { return function(t) { var i = t.nodeName.toLowerCase(); return "input" === i && t.type === e } } function l(e) { return function(t) { var i = t.nodeName.toLowerCase(); return ("input" === i || "button" === i) && t.type === e } } function u(e) { return n(function(t) { return t = +t, n(function(i, n) { for (var r, s = e([], i.length, t), a = s.length; a--;) i[r = s[a]] && (i[r] = !(n[r] = i[r])) }) }) } function c(e) { return e && typeof e.getElementsByTagName !== Y && e } function p() {} function h(e) { for (var t = 0, i = e.length, n = ""; i > t; t++) n += e[t].value; return n } function d(e, t, i) { var n = t.dir, r = i && "parentNode" === n, s = $++; return t.first ? function(t, i, s) { for (; t = t[n];) if (1 === t.nodeType || r) return e(t, i, s) } : function(t, i, a) { var o, l, u = [X, s]; if (a) { for (; t = t[n];) if ((1 === t.nodeType || r) && e(t, i, a)) return !0 } else for (; t = t[n];) if (1 === t.nodeType || r) { if (l = t[j] || (t[j] = {}), (o = l[n]) && o[0] === X && o[1] === s) return u[2] = o[2]; if (l[n] = u, u[2] = e(t, i, a)) return !0 } } } function f(e) { return e.length > 1 ? function(t, i, n) { for (var r = e.length; r--;) if (!e[r](t, i, n)) return !1; return !0 } : e[0] } function m(e, i, n) { for (var r = 0, s = i.length; s > r; r++) t(e, i[r], n); return n } function g(e, t, i, n, r) { for (var s, a = [], o = 0, l = e.length, u = null != t; l > o; o++)(s = e[o]) && (!i || i(s, n, r)) && (a.push(s), u && t.push(o)); return a } function v(e, t, i, r, s, a) { return r && !r[j] && (r = v(r)), s && !s[j] && (s = v(s, a)), n(function(n, a, o, l) { var u, c, p, h = [], d = [], f = a.length, v = n || m(t || "*", o.nodeType ? [o] : o, []), _ = !e || !n && t ? v : g(v, h, e, o, l), y = i ? s || (n ? e : f || r) ? [] : a : _; if (i && i(_, y, o, l), r) for (u = g(y, d), r(u, [], o, l), c = u.length; c--;)(p = u[c]) && (y[d[c]] = !(_[d[c]] = p)); if (n) { if (s || e) { if (s) { for (u = [], c = y.length; c--;)(p = y[c]) && u.push(_[c] = p); s(null, y = [], u, l) } for (c = y.length; c--;)(p = y[c]) && (u = s ? te.call(n, p) : h[c]) > -1 && (n[u] = !(a[u] = p)) } } else y = g(y === a ? y.splice(f, y.length) : y), s ? s(null, a, y, l) : J.apply(a, y) }) } function _(e) { for (var t, i, n, r = e.length, s = b.relative[e[0].type], a = s || b.relative[" "], o = s ? 1 : 0, l = d(function(e) { return e === t }, a, !0), u = d(function(e) { return te.call(t, e) > -1 }, a, !0), c = [function(e, i, n) { return !s && (n || i !== D) || ((t = i).nodeType ? l(e, i, n) : u(e, i, n)) }]; r > o; o++) if (i = b.relative[e[o].type]) c = [d(f(c), i)]; else { if (i = b.filter[e[o].type].apply(null, e[o].matches), i[j]) { for (n = ++o; r > n && !b.relative[e[n].type]; n++); return v(o > 1 && f(c), o > 1 && h(e.slice(0, o - 1).concat({ value: " " === e[o - 2].type ? "*" : "" })).replace(le, "$1"), i, n > o && _(e.slice(o, n)), r > n && _(e = e.slice(n)), r > n && h(e)) } c.push(i) } return f(c) } function y(e, i) { var r = i.length > 0, s = e.length > 0, a = function(n, a, o, l, u) { var c, p, h, d = 0, f = "0", m = n && [], v = [], _ = D, y = n || s && b.find.TAG("*", u), w = X += null == _ ? 1 : Math.random() || .1, x = y.length; for (u && (D = a !== A && a); f !== x && null != (c = y[f]); f++) { if (s && c) { for (p = 0; h = e[p++];) if (h(c, a, o)) { l.push(c); break } u && (X = w) } r && ((c = !h && c) && d--, n && m.push(c)) } if (d += f, r && f !== d) { for (p = 0; h = i[p++];) h(m, v, a, o); if (n) { if (d > 0) for (; f--;) m[f] || v[f] || (v[f] = Z.call(l)); v = g(v) } J.apply(l, v), u && !n && v.length > 0 && d + i.length > 1 && t.uniqueSort(l) } return u && (X = w, D = _), m }; return r ? n(a) : a } var w, x, b, T, S, C, P, k, D, E, O, M, A, R, L, N, I, z, F, j = "sizzle" + -new Date, B = e.document, X = 0, $ = 0, q = i(), H = i(), W = i(), V = function(e, t) { return e === t && (O = !0), 0 }, Y = "undefined", G = 1 << 31, U = {}.hasOwnProperty, Q = [], Z = Q.pop, K = Q.push, J = Q.push, ee = Q.slice, te = Q.indexOf || function(e) { for (var t = 0, i = this.length; i > t; t++) if (this[t] === e) return t; return -1 }, ie = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", ne = "[\\x20\\t\\r\\n\\f]", re = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", se = re.replace("w", "w#"), ae = "\\[" + ne + "*(" + re + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + se + "))|)" + ne + "*\\]", oe = ":(" + re + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ae + ")*)|.*)\\)|)", le = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"), ue = new RegExp("^" + ne + "*," + ne + "*"), ce = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"), pe = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"), he = new RegExp(oe), de = new RegExp("^" + se + "$"), fe = { ID: new RegExp("^#(" + re + ")"), CLASS: new RegExp("^\\.(" + re + ")"), TAG: new RegExp("^(" + re.replace("w", "w*") + ")"), ATTR: new RegExp("^" + ae), PSEUDO: new RegExp("^" + oe), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"), bool: new RegExp("^(?:" + ie + ")$", "i"), needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i") }, me = /^(?:input|select|textarea|button)$/i, ge = /^h\d$/i, ve = /^[^{]+\{\s*\[native \w/, _e = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ye = /[+~]/, we = /'|\\/g, xe = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"), be = function(e, t, i) { var n = "0x" + t - 65536; return n !== n || i ? t : 0 > n ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320) }; try { J.apply(Q = ee.call(B.childNodes), B.childNodes), Q[B.childNodes.length].nodeType } catch (Te) { J = { apply: Q.length ? function(e, t) { K.apply(e, ee.call(t)) } : function(e, t) { for (var i = e.length, n = 0; e[i++] = t[n++];); e.length = i - 1 } } } x = t.support = {}, S = t.isXML = function(e) { var t = e && (e.ownerDocument || e).documentElement; return t ? "HTML" !== t.nodeName : !1 }, M = t.setDocument = function(e) { var t, i = e ? e.ownerDocument || e : B, n = i.defaultView; return i !== A && 9 === i.nodeType && i.documentElement ? (A = i, R = i.documentElement, L = !S(i), n && n !== n.top && (n.addEventListener ? n.addEventListener("unload", function() { M() }, !1) : n.attachEvent && n.attachEvent("onunload", function() { M() })), x.attributes = r(function(e) { return e.className = "i", !e.getAttribute("className") }), x.getElementsByTagName = r(function(e) { return e.appendChild(i.createComment("")), !e.getElementsByTagName("*").length }), x.getElementsByClassName = ve.test(i.getElementsByClassName) && r(function(e) { return e.innerHTML = "<div class='a'></div><div class='a i'></div>", e.firstChild.className = "i", 2 === e.getElementsByClassName("i").length }), x.getById = r(function(e) { return R.appendChild(e).id = j, !i.getElementsByName || !i.getElementsByName(j).length }), x.getById ? (b.find.ID = function(e, t) { if (typeof t.getElementById !== Y && L) { var i = t.getElementById(e); return i && i.parentNode ? [i] : [] } }, b.filter.ID = function(e) { var t = e.replace(xe, be); return function(e) { return e.getAttribute("id") === t } }) : (delete b.find.ID, b.filter.ID = function(e) { var t = e.replace(xe, be); return function(e) { var i = typeof e.getAttributeNode !== Y && e.getAttributeNode("id"); return i && i.value === t } }), b.find.TAG = x.getElementsByTagName ? function(e, t) { return typeof t.getElementsByTagName !== Y ? t.getElementsByTagName(e) : void 0 } : function(e, t) { var i, n = [], r = 0, s = t.getElementsByTagName(e); if ("*" === e) { for (; i = s[r++];) 1 === i.nodeType && n.push(i); return n } return s }, b.find.CLASS = x.getElementsByClassName && function(e, t) { return typeof t.getElementsByClassName !== Y && L ? t.getElementsByClassName(e) : void 0 }, I = [], N = [], (x.qsa = ve.test(i.querySelectorAll)) && (r(function(e) { e.innerHTML = "<select msallowclip=''><option selected=''></option></select>", e.querySelectorAll("[msallowclip^='']").length && N.push("[*^$]=" + ne + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || N.push("\\[" + ne + "*(?:value|" + ie + ")"), e.querySelectorAll(":checked").length || N.push(":checked") }), r(function(e) { var t = i.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && N.push("name" + ne + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || N.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), N.push(",.*:") })), (x.matchesSelector = ve.test(z = R.matches || R.webkitMatchesSelector || R.mozMatchesSelector || R.oMatchesSelector || R.msMatchesSelector)) && r(function(e) { x.disconnectedMatch = z.call(e, "div"), z.call(e, "[s!='']:x"), I.push("!=", oe) }), N = N.length && new RegExp(N.join("|")), I = I.length && new RegExp(I.join("|")), t = ve.test(R.compareDocumentPosition), F = t || ve.test(R.contains) ? function(e, t) { var i = 9 === e.nodeType ? e.documentElement : e, n = t && t.parentNode; return e === n || !(!n || 1 !== n.nodeType || !(i.contains ? i.contains(n) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(n))) } : function(e, t) { if (t) for (; t = t.parentNode;) if (t === e) return !0; return !1 }, V = t ? function(e, t) { if (e === t) return O = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n ? n : (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !x.sortDetached && t.compareDocumentPosition(e) === n ? e === i || e.ownerDocument === B && F(B, e) ? -1 : t === i || t.ownerDocument === B && F(B, t) ? 1 : E ? te.call(E, e) - te.call(E, t) : 0 : 4 & n ? -1 : 1) } : function(e, t) { if (e === t) return O = !0, 0; var n, r = 0, s = e.parentNode, o = t.parentNode, l = [e], u = [t]; if (!s || !o) return e === i ? -1 : t === i ? 1 : s ? -1 : o ? 1 : E ? te.call(E, e) - te.call(E, t) : 0; if (s === o) return a(e, t); for (n = e; n = n.parentNode;) l.unshift(n); for (n = t; n = n.parentNode;) u.unshift(n); for (; l[r] === u[r];) r++; return r ? a(l[r], u[r]) : l[r] === B ? -1 : u[r] === B ? 1 : 0 }, i) : A }, t.matches = function(e, i) { return t(e, null, null, i) }, t.matchesSelector = function(e, i) { if ((e.ownerDocument || e) !== A && M(e), i = i.replace(pe, "='$1']"), !(!x.matchesSelector || !L || I && I.test(i) || N && N.test(i))) try { var n = z.call(e, i); if (n || x.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n } catch (r) {} return t(i, A, null, [e]).length > 0 }, t.contains = function(e, t) { return (e.ownerDocument || e) !== A && M(e), F(e, t) }, t.attr = function(e, t) { (e.ownerDocument || e) !== A && M(e); var i = b.attrHandle[t.toLowerCase()], n = i && U.call(b.attrHandle, t.toLowerCase()) ? i(e, t, !L) : void 0; return void 0 !== n ? n : x.attributes || !L ? e.getAttribute(t) : (n = e.getAttributeNode(t)) && n.specified ? n.value : null }, t.error = function(e) { throw new Error("Syntax error, unrecognized expression: " + e) }, t.uniqueSort = function(e) { var t, i = [], n = 0, r = 0; if (O = !x.detectDuplicates, E = !x.sortStable && e.slice(0), e.sort(V), O) { for (; t = e[r++];) t === e[r] && (n = i.push(r)); for (; n--;) e.splice(i[n], 1) } return E = null, e }, T = t.getText = function(e) { var t, i = "", n = 0, r = e.nodeType; if (r) { if (1 === r || 9 === r || 11 === r) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling) i += T(e) } else if (3 === r || 4 === r) return e.nodeValue } else for (; t = e[n++];) i += T(t); return i }, b = t.selectors = { cacheLength: 50, createPseudo: n, match: fe, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(e) { return e[1] = e[1].replace(xe, be), e[3] = (e[3] || e[4] || e[5] || "").replace(xe, be), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function(e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e }, PSEUDO: function(e) { var t, i = !e[6] && e[2]; return fe.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : i && he.test(i) && (t = C(i, !0)) && (t = i.indexOf(")", i.length - t) - i.length) && (e[0] = e[0].slice(0, t), e[2] = i.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function(e) { var t = e.replace(xe, be).toLowerCase(); return "*" === e ? function() { return !0 } : function(e) { return e.nodeName && e.nodeName.toLowerCase() === t } }, CLASS: function(e) { var t = q[e + " "]; return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne + "|$)")) && q(e, function(e) { return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== Y && e.getAttribute("class") || "") }) }, ATTR: function(e, i, n) { return function(r) { var s = t.attr(r, e); return null == s ? "!=" === i : i ? (s += "", "=" === i ? s === n : "!=" === i ? s !== n : "^=" === i ? n && 0 === s.indexOf(n) : "*=" === i ? n && s.indexOf(n) > -1 : "$=" === i ? n && s.slice(-n.length) === n : "~=" === i ? (" " + s + " ").indexOf(n) > -1 : "|=" === i ? s === n || s.slice(0, n.length + 1) === n + "-" : !1) : !0 } }, CHILD: function(e, t, i, n, r) { var s = "nth" !== e.slice(0, 3), a = "last" !== e.slice(-4), o = "of-type" === t; return 1 === n && 0 === r ? function(e) { return !!e.parentNode } : function(t, i, l) { var u, c, p, h, d, f, m = s !== a ? "nextSibling" : "previousSibling", g = t.parentNode, v = o && t.nodeName.toLowerCase(), _ = !l && !o; if (g) { if (s) { for (; m;) { for (p = t; p = p[m];) if (o ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) return !1; f = m = "only" === e && !f && "nextSibling" } return !0 } if (f = [a ? g.firstChild : g.lastChild], a && _) { for (c = g[j] || (g[j] = {}), u = c[e] || [], d = u[0] === X && u[1], h = u[0] === X && u[2], p = d && g.childNodes[d]; p = ++d && p && p[m] || (h = d = 0) || f.pop();) if (1 === p.nodeType && ++h && p === t) { c[e] = [X, d, h]; break } } else if (_ && (u = (t[j] || (t[j] = {}))[e]) && u[0] === X) h = u[1]; else for (; (p = ++d && p && p[m] || (h = d = 0) || f.pop()) && ((o ? p.nodeName.toLowerCase() !== v : 1 !== p.nodeType) || !++h || (_ && ((p[j] || (p[j] = {}))[e] = [X, h]), p !== t));); return h -= r, h === n || h % n === 0 && h / n >= 0 } } }, PSEUDO: function(e, i) { var r, s = b.pseudos[e] || b.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e); return s[j] ? s(i) : s.length > 1 ? (r = [e, e, "", i], b.setFilters.hasOwnProperty(e.toLowerCase()) ? n(function(e, t) { for (var n, r = s(e, i), a = r.length; a--;) n = te.call(e, r[a]), e[n] = !(t[n] = r[a]) }) : function(e) { return s(e, 0, r) }) : s } }, pseudos: { not: n(function(e) { var t = [], i = [], r = P(e.replace(le, "$1")); return r[j] ? n(function(e, t, i, n) { for (var s, a = r(e, null, n, []), o = e.length; o--;)(s = a[o]) && (e[o] = !(t[o] = s)) }) : function(e, n, s) { return t[0] = e, r(t, null, s, i), !i.pop() } }), has: n(function(e) { return function(i) { return t(e, i).length > 0 } }), contains: n(function(e) { return function(t) { return (t.textContent || t.innerText || T(t)).indexOf(e) > -1 } }), lang: n(function(e) { return de.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(xe, be).toLowerCase(), function(t) { var i; do if (i = L ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return i = i.toLowerCase(), i === e || 0 === i.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType); return !1 } }), target: function(t) { var i = e.location && e.location.hash; return i && i.slice(1) === t.id }, root: function(e) { return e === R }, focus: function(e) { return e === A.activeElement && (!A.hasFocus || A.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: function(e) { return e.disabled === !1 }, disabled: function(e) { return e.disabled === !0 }, checked: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 }, empty: function(e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0 }, parent: function(e) { return !b.pseudos.empty(e) }, header: function(e) { return ge.test(e.nodeName) }, input: function(e) { return me.test(e.nodeName) }, button: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function(e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: u(function() { return [0] }), last: u(function(e, t) { return [t - 1] }), eq: u(function(e, t, i) { return [0 > i ? i + t : i] }), even: u(function(e, t) { for (var i = 0; t > i; i += 2) e.push(i); return e }), odd: u(function(e, t) { for (var i = 1; t > i; i += 2) e.push(i); return e }), lt: u(function(e, t, i) { for (var n = 0 > i ? i + t : i; --n >= 0;) e.push(n); return e }), gt: u(function(e, t, i) { for (var n = 0 > i ? i + t : i; ++n < t;) e.push(n); return e }) } }, b.pseudos.nth = b.pseudos.eq; for (w in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) b.pseudos[w] = o(w); for (w in { submit: !0, reset: !0 }) b.pseudos[w] = l(w); return p.prototype = b.filters = b.pseudos, b.setFilters = new p, C = t.tokenize = function(e, i) { var n, r, s, a, o, l, u, c = H[e + " "]; if (c) return i ? 0 : c.slice(0); for (o = e, l = [], u = b.preFilter; o;) { (!n || (r = ue.exec(o))) && (r && (o = o.slice(r[0].length) || o), l.push(s = [])), n = !1, (r = ce.exec(o)) && (n = r.shift(), s.push({ value: n, type: r[0].replace(le, " ") }), o = o.slice(n.length)); for (a in b.filter) !(r = fe[a].exec(o)) || u[a] && !(r = u[a](r)) || (n = r.shift(), s.push({ value: n, type: a, matches: r }), o = o.slice(n.length)); if (!n) break } return i ? o.length : o ? t.error(e) : H(e, l).slice(0) }, P = t.compile = function(e, t) { var i, n = [], r = [], s = W[e + " "]; if (!s) { for (t || (t = C(e)), i = t.length; i--;) s = _(t[i]), s[j] ? n.push(s) : r.push(s); s = W(e, y(r, n)), s.selector = e } return s }, k = t.select = function(e, t, i, n) { var r, s, a, o, l, u = "function" == typeof e && e, p = !n && C(e = u.selector || e); if (i = i || [], 1 === p.length) { if (s = p[0] = p[0].slice(0), s.length > 2 && "ID" === (a = s[0]).type && x.getById && 9 === t.nodeType && L && b.relative[s[1].type]) { if (t = (b.find.ID(a.matches[0].replace(xe, be), t) || [])[0], !t) return i; u && (t = t.parentNode), e = e.slice(s.shift().value.length) } for (r = fe.needsContext.test(e) ? 0 : s.length; r-- && (a = s[r], !b.relative[o = a.type]);) if ((l = b.find[o]) && (n = l(a.matches[0].replace(xe, be), ye.test(s[0].type) && c(t.parentNode) || t))) { if (s.splice(r, 1), e = n.length && h(s), !e) return J.apply(i, n), i; break } } return (u || P(e, p))(n, t, !L, i, ye.test(e) && c(t.parentNode) || t), i }, x.sortStable = j.split("").sort(V).join("") === j, x.detectDuplicates = !!O, M(), x.sortDetached = r(function(e) { return 1 & e.compareDocumentPosition(A.createElement("div")) }), r(function(e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") }) || s("type|href|height|width", function(e, t, i) { return i ? void 0 : e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) }), x.attributes && r(function(e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") }) || s("value", function(e, t, i) { return i || "input" !== e.nodeName.toLowerCase() ? void 0 : e.defaultValue }), r(function(e) { return null == e.getAttribute("disabled") }) || s(ie, function(e, t, i) { var n; return i ? void 0 : e[t] === !0 ? t.toLowerCase() : (n = e.getAttributeNode(t)) && n.specified ? n.value : null }), t }(e); J.find = re, J.expr = re.selectors, J.expr[":"] = J.expr.pseudos, J.unique = re.uniqueSort, J.text = re.getText, J.isXMLDoc = re.isXML, J.contains = re.contains; var se = J.expr.match.needsContext, ae = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, oe = /^.[^:#\[\.,]*$/; J.filter = function(e, t, i) { var n = t[0]; return i && (e = ":not(" + e + ")"), 1 === t.length && 1 === n.nodeType ? J.find.matchesSelector(n, e) ? [n] : [] : J.find.matches(e, J.grep(t, function(e) { return 1 === e.nodeType })) }, J.fn.extend({ find: function(e) { var t, i = this.length, n = [], r = this; if ("string" != typeof e) return this.pushStack(J(e).filter(function() { for (t = 0; i > t; t++) if (J.contains(r[t], this)) return !0 })); for (t = 0; i > t; t++) J.find(e, r[t], n); return n = this.pushStack(i > 1 ? J.unique(n) : n), n.selector = this.selector ? this.selector + " " + e : e, n }, filter: function(e) { return this.pushStack(n(this, e || [], !1)) }, not: function(e) { return this.pushStack(n(this, e || [], !0)) }, is: function(e) { return !!n(this, "string" == typeof e && se.test(e) ? J(e) : e || [], !1).length } }); var le, ue = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, ce = J.fn.init = function(e, t) { var i, n; if (!e) return this; if ("string" == typeof e) { if (i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : ue.exec(e), !i || !i[1] && t) return !t || t.jquery ? (t || le).find(e) : this.constructor(t).find(e); if (i[1]) { if (t = t instanceof J ? t[0] : t, J.merge(this, J.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : Z, !0)), ae.test(i[1]) && J.isPlainObject(t)) for (i in t) J.isFunction(this[i]) ? this[i](t[i]) : this.attr(i, t[i]); return this } return n = Z.getElementById(i[2]), n && n.parentNode && (this.length = 1, this[0] = n), this.context = Z, this.selector = e, this } return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : J.isFunction(e) ? "undefined" != typeof le.ready ? le.ready(e) : e(J) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), J.makeArray(e, this)) }; ce.prototype = J.fn, le = J(Z); var pe = /^(?:parents|prev(?:Until|All))/, he = { children: !0, contents: !0, next: !0, prev: !0 }; J.extend({ dir: function(e, t, i) { for (var n = [], r = void 0 !== i; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (r && J(e).is(i)) break; n.push(e) } return n }, sibling: function(e, t) { for (var i = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && i.push(e); return i } }), J.fn.extend({ has: function(e) { var t = J(e, this), i = t.length; return this.filter(function() { for (var e = 0; i > e; e++) if (J.contains(this, t[e])) return !0 }) }, closest: function(e, t) { for (var i, n = 0, r = this.length, s = [], a = se.test(e) || "string" != typeof e ? J(e, t || this.context) : 0; r > n; n++) for (i = this[n]; i && i !== t; i = i.parentNode) if (i.nodeType < 11 && (a ? a.index(i) > -1 : 1 === i.nodeType && J.find.matchesSelector(i, e))) { s.push(i); break } return this.pushStack(s.length > 1 ? J.unique(s) : s) }, index: function(e) { return e ? "string" == typeof e ? V.call(J(e), this[0]) : V.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function(e, t) { return this.pushStack(J.unique(J.merge(this.get(), J(e, t)))) }, addBack: function(e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), J.each({ parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function(e) { return J.dir(e, "parentNode") }, parentsUntil: function(e, t, i) { return J.dir(e, "parentNode", i) }, next: function(e) { return r(e, "nextSibling") }, prev: function(e) { return r(e, "previousSibling") }, nextAll: function(e) { return J.dir(e, "nextSibling") }, prevAll: function(e) { return J.dir(e, "previousSibling") }, nextUntil: function(e, t, i) { return J.dir(e, "nextSibling", i) }, prevUntil: function(e, t, i) { return J.dir(e, "previousSibling", i) }, siblings: function(e) { return J.sibling((e.parentNode || {}).firstChild, e) }, children: function(e) { return J.sibling(e.firstChild) }, contents: function(e) { return e.contentDocument || J.merge([], e.childNodes) } }, function(e, t) { J.fn[e] = function(i, n) { var r = J.map(this, t, i); return "Until" !== e.slice(-5) && (n = i), n && "string" == typeof n && (r = J.filter(n, r)), this.length > 1 && (he[e] || J.unique(r), pe.test(e) && r.reverse()), this.pushStack(r) } }); var de = /\S+/g, fe = {}; J.Callbacks = function(e) { e = "string" == typeof e ? fe[e] || s(e) : J.extend({}, e); var t, i, n, r, a, o, l = [], u = !e.once && [], c = function(s) { for (t = e.memory && s, i = !0, o = r || 0, r = 0, a = l.length, n = !0; l && a > o; o++) if (l[o].apply(s[0], s[1]) === !1 && e.stopOnFalse) { t = !1; break } n = !1, l && (u ? u.length && c(u.shift()) : t ? l = [] : p.disable()) }, p = { add: function() { if (l) { var i = l.length;! function s(t) { J.each(t, function(t, i) { var n = J.type(i); "function" === n ? e.unique && p.has(i) || l.push(i) : i && i.length && "string" !== n && s(i) }) }(arguments), n ? a = l.length : t && (r = i, c(t)) } return this }, remove: function() { return l && J.each(arguments, function(e, t) { for (var i; (i = J.inArray(t, l, i)) > -1;) l.splice(i, 1), n && (a >= i && a--, o >= i && o--) }), this }, has: function(e) { return e ? J.inArray(e, l) > -1 : !(!l || !l.length) }, empty: function() { return l = [], a = 0, this }, disable: function() { return l = u = t = void 0, this }, disabled: function() { return !l }, lock: function() { return u = void 0, t || p.disable(), this }, locked: function() { return !u }, fireWith: function(e, t) { return !l || i && !u || (t = t || [], t = [e, t.slice ? t.slice() : t], n ? u.push(t) : c(t)), this }, fire: function() { return p.fireWith(this, arguments), this }, fired: function() { return !!i } }; return p }, J.extend({ Deferred: function(e) { var t = [ ["resolve", "done", J.Callbacks("once memory"), "resolved"], ["reject", "fail", J.Callbacks("once memory"), "rejected"], ["notify", "progress", J.Callbacks("memory")] ], i = "pending", n = { state: function() { return i }, always: function() { return r.done(arguments).fail(arguments), this }, then: function() { var e = arguments; return J.Deferred(function(i) { J.each(t, function(t, s) { var a = J.isFunction(e[t]) && e[t]; r[s[1]](function() { var e = a && a.apply(this, arguments); e && J.isFunction(e.promise) ? e.promise().done(i.resolve).fail(i.reject).progress(i.notify) : i[s[0] + "With"](this === n ? i.promise() : this, a ? [e] : arguments) }) }), e = null }).promise() }, promise: function(e) { return null != e ? J.extend(e, n) : n } }, r = {}; return n.pipe = n.then, J.each(t, function(e, s) { var a = s[2], o = s[3]; n[s[1]] = a.add, o && a.add(function() { i = o }, t[1 ^ e][2].disable, t[2][2].lock), r[s[0]] = function() { return r[s[0] + "With"](this === r ? n : this, arguments), this }, r[s[0] + "With"] = a.fireWith }), n.promise(r), e && e.call(r, r), r }, when: function(e) { var t, i, n, r = 0, s = q.call(arguments), a = s.length, o = 1 !== a || e && J.isFunction(e.promise) ? a : 0, l = 1 === o ? e : J.Deferred(), u = function(e, i, n) { return function(r) { i[e] = this, n[e] = arguments.length > 1 ? q.call(arguments) : r, n === t ? l.notifyWith(i, n) : --o || l.resolveWith(i, n) } }; if (a > 1) for (t = new Array(a), i = new Array(a), n = new Array(a); a > r; r++) s[r] && J.isFunction(s[r].promise) ? s[r].promise().done(u(r, n, s)).fail(l.reject).progress(u(r, i, t)) : --o; return o || l.resolveWith(n, s), l.promise() } }); var me; J.fn.ready = function(e) { return J.ready.promise().done(e), this }, J.extend({ isReady: !1, readyWait: 1, holdReady: function(e) { e ? J.readyWait++ : J.ready(!0) }, ready: function(e) { (e === !0 ? --J.readyWait : J.isReady) || (J.isReady = !0, e !== !0 && --J.readyWait > 0 || (me.resolveWith(Z, [J]), J.fn.triggerHandler && (J(Z).triggerHandler("ready"), J(Z).off("ready")))) } }), J.ready.promise = function(t) { return me || (me = J.Deferred(), "complete" === Z.readyState ? setTimeout(J.ready) : (Z.addEventListener("DOMContentLoaded", a, !1), e.addEventListener("load", a, !1))), me.promise(t) }, J.ready.promise(); var ge = J.access = function(e, t, i, n, r, s, a) { var o = 0, l = e.length, u = null == i; if ("object" === J.type(i)) { r = !0; for (o in i) J.access(e, t, o, i[o], !0, s, a) } else if (void 0 !== n && (r = !0, J.isFunction(n) || (a = !0), u && (a ? (t.call(e, n), t = null) : (u = t, t = function(e, t, i) { return u.call(J(e), i) })), t)) for (; l > o; o++) t(e[o], i, a ? n : n.call(e[o], o, t(e[o], i))); return r ? e : u ? t.call(e) : l ? t(e[0], i) : s }; J.acceptData = function(e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }, o.uid = 1, o.accepts = J.acceptData, o.prototype = { key: function(e) { if (!o.accepts(e)) return 0; var t = {}, i = e[this.expando]; if (!i) { i = o.uid++; try { t[this.expando] = { value: i }, Object.defineProperties(e, t) } catch (n) { t[this.expando] = i, J.extend(e, t) } } return this.cache[i] || (this.cache[i] = {}), i }, set: function(e, t, i) { var n, r = this.key(e), s = this.cache[r]; if ("string" == typeof t) s[t] = i; else if (J.isEmptyObject(s)) J.extend(this.cache[r], t); else for (n in t) s[n] = t[n]; return s }, get: function(e, t) { var i = this.cache[this.key(e)]; return void 0 === t ? i : i[t] }, access: function(e, t, i) { var n; return void 0 === t || t && "string" == typeof t && void 0 === i ? (n = this.get(e, t), void 0 !== n ? n : this.get(e, J.camelCase(t))) : (this.set(e, t, i), void 0 !== i ? i : t) }, remove: function(e, t) { var i, n, r, s = this.key(e), a = this.cache[s]; if (void 0 === t) this.cache[s] = {}; else { J.isArray(t) ? n = t.concat(t.map(J.camelCase)) : (r = J.camelCase(t), t in a ? n = [t, r] : (n = r, n = n in a ? [n] : n.match(de) || [])), i = n.length; for (; i--;) delete a[n[i]] } }, hasData: function(e) { return !J.isEmptyObject(this.cache[e[this.expando]] || {}) }, discard: function(e) { e[this.expando] && delete this.cache[e[this.expando]] } }; var ve = new o, _e = new o, ye = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, we = /([A-Z])/g; J.extend({ hasData: function(e) { return _e.hasData(e) || ve.hasData(e) }, data: function(e, t, i) { return _e.access(e, t, i) }, removeData: function(e, t) { _e.remove(e, t) }, _data: function(e, t, i) { return ve.access(e, t, i) }, _removeData: function(e, t) { ve.remove(e, t) } }), J.fn.extend({ data: function(e, t) { var i, n, r, s = this[0], a = s && s.attributes; if (void 0 === e) { if (this.length && (r = _e.get(s), 1 === s.nodeType && !ve.get(s, "hasDataAttrs"))) { for (i = a.length; i--;) a[i] && (n = a[i].name, 0 === n.indexOf("data-") && (n = J.camelCase(n.slice(5)), l(s, n, r[n]))); ve.set(s, "hasDataAttrs", !0) } return r } return "object" == typeof e ? this.each(function() { _e.set(this, e) }) : ge(this, function(t) { var i, n = J.camelCase(e); if (s && void 0 === t) { if (i = _e.get(s, e), void 0 !== i) return i; if (i = _e.get(s, n), void 0 !== i) return i; if (i = l(s, n, void 0), void 0 !== i) return i } else this.each(function() { var i = _e.get(this, n); _e.set(this, n, t), -1 !== e.indexOf("-") && void 0 !== i && _e.set(this, e, t) }) }, null, t, arguments.length > 1, null, !0) }, removeData: function(e) { return this.each(function() { _e.remove(this, e) }) } }), J.extend({ queue: function(e, t, i) { var n; return e ? (t = (t || "fx") + "queue", n = ve.get(e, t), i && (!n || J.isArray(i) ? n = ve.access(e, t, J.makeArray(i)) : n.push(i)), n || []) : void 0 }, dequeue: function(e, t) { t = t || "fx"; var i = J.queue(e, t), n = i.length, r = i.shift(), s = J._queueHooks(e, t), a = function() { J.dequeue(e, t) }; "inprogress" === r && (r = i.shift(), n--), r && ("fx" === t && i.unshift("inprogress"), delete s.stop, r.call(e, a, s)), !n && s && s.empty.fire() }, _queueHooks: function(e, t) { var i = t + "queueHooks"; return ve.get(e, i) || ve.access(e, i, { empty: J.Callbacks("once memory").add(function() { ve.remove(e, [t + "queue", i]) }) }) } }), J.fn.extend({ queue: function(e, t) { var i = 2; return "string" != typeof e && (t = e, e = "fx", i--), arguments.length < i ? J.queue(this[0], e) : void 0 === t ? this : this.each(function() { var i = J.queue(this, e, t); J._queueHooks(this, e), "fx" === e && "inprogress" !== i[0] && J.dequeue(this, e) }) }, dequeue: function(e) { return this.each(function() { J.dequeue(this, e) }) }, clearQueue: function(e) { return this.queue(e || "fx", []) }, promise: function(e, t) { var i, n = 1, r = J.Deferred(), s = this, a = this.length, o = function() {--n || r.resolveWith(s, [s]) }; for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;) i = ve.get(s[a], e + "queueHooks"), i && i.empty && (n++, i.empty.add(o)); return o(), r.promise(t) } }); var xe = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, be = ["Top", "Right", "Bottom", "Left"], Te = function(e, t) { return e = t || e, "none" === J.css(e, "display") || !J.contains(e.ownerDocument, e) }, Se = /^(?:checkbox|radio)$/i; ! function() { var e = Z.createDocumentFragment(), t = e.appendChild(Z.createElement("div")), i = Z.createElement("input"); i.setAttribute("type", "radio"), i.setAttribute("checked", "checked"), i.setAttribute("name", "t"), t.appendChild(i), Q.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", Q.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue }(); var Ce = "undefined"; Q.focusinBubbles = "onfocusin" in e; var Pe = /^key/, ke = /^(?:mouse|pointer|contextmenu)|click/, De = /^(?:focusinfocus|focusoutblur)$/, Ee = /^([^.]*)(?:\.(.+)|)$/; J.event = { global: {}, add: function(e, t, i, n, r) { var s, a, o, l, u, c, p, h, d, f, m, g = ve.get(e); if (g) for (i.handler && (s = i, i = s.handler, r = s.selector), i.guid || (i.guid = J.guid++), (l = g.events) || (l = g.events = {}), (a = g.handle) || (a = g.handle = function(t) { return typeof J !== Ce && J.event.triggered !== t.type ? J.event.dispatch.apply(e, arguments) : void 0 }), t = (t || "").match(de) || [""], u = t.length; u--;) o = Ee.exec(t[u]) || [], d = m = o[1], f = (o[2] || "").split(".").sort(), d && (p = J.event.special[d] || {}, d = (r ? p.delegateType : p.bindType) || d, p = J.event.special[d] || {}, c = J.extend({ type: d, origType: m, data: n, handler: i, guid: i.guid, selector: r, needsContext: r && J.expr.match.needsContext.test(r), namespace: f.join(".") }, s), (h = l[d]) || (h = l[d] = [], h.delegateCount = 0, p.setup && p.setup.call(e, n, f, a) !== !1 || e.addEventListener && e.addEventListener(d, a, !1)), p.add && (p.add.call(e, c), c.handler.guid || (c.handler.guid = i.guid)), r ? h.splice(h.delegateCount++, 0, c) : h.push(c), J.event.global[d] = !0) }, remove: function(e, t, i, n, r) { var s, a, o, l, u, c, p, h, d, f, m, g = ve.hasData(e) && ve.get(e); if (g && (l = g.events)) { for (t = (t || "").match(de) || [""], u = t.length; u--;) if (o = Ee.exec(t[u]) || [], d = m = o[1], f = (o[2] || "").split(".").sort(), d) { for (p = J.event.special[d] || {}, d = (n ? p.delegateType : p.bindType) || d, h = l[d] || [], o = o[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = s = h.length; s--;) c = h[s], !r && m !== c.origType || i && i.guid !== c.guid || o && !o.test(c.namespace) || n && n !== c.selector && ("**" !== n || !c.selector) || (h.splice(s, 1), c.selector && h.delegateCount--, p.remove && p.remove.call(e, c)); a && !h.length && (p.teardown && p.teardown.call(e, f, g.handle) !== !1 || J.removeEvent(e, d, g.handle), delete l[d]) } else for (d in l) J.event.remove(e, d + t[u], i, n, !0); J.isEmptyObject(l) && (delete g.handle, ve.remove(e, "events")) } }, trigger: function(t, i, n, r) { var s, a, o, l, u, c, p, h = [n || Z], d = U.call(t, "type") ? t.type : t, f = U.call(t, "namespace") ? t.namespace.split(".") : []; if (a = o = n = n || Z, 3 !== n.nodeType && 8 !== n.nodeType && !De.test(d + J.event.triggered) && (d.indexOf(".") >= 0 && (f = d.split("."), d = f.shift(), f.sort()), u = d.indexOf(":") < 0 && "on" + d, t = t[J.expando] ? t : new J.Event(d, "object" == typeof t && t), t.isTrigger = r ? 2 : 3, t.namespace = f.join("."), t.namespace_re = t.namespace ? new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = n), i = null == i ? [t] : J.makeArray(i, [t]), p = J.event.special[d] || {}, r || !p.trigger || p.trigger.apply(n, i) !== !1)) { if (!r && !p.noBubble && !J.isWindow(n)) { for (l = p.delegateType || d, De.test(l + d) || (a = a.parentNode); a; a = a.parentNode) h.push(a), o = a; o === (n.ownerDocument || Z) && h.push(o.defaultView || o.parentWindow || e) } for (s = 0; (a = h[s++]) && !t.isPropagationStopped();) t.type = s > 1 ? l : p.bindType || d, c = (ve.get(a, "events") || {})[t.type] && ve.get(a, "handle"), c && c.apply(a, i), c = u && a[u], c && c.apply && J.acceptData(a) && (t.result = c.apply(a, i), t.result === !1 && t.preventDefault()); return t.type = d, r || t.isDefaultPrevented() || p._default && p._default.apply(h.pop(), i) !== !1 || !J.acceptData(n) || u && J.isFunction(n[d]) && !J.isWindow(n) && (o = n[u], o && (n[u] = null), J.event.triggered = d, n[d](), J.event.triggered = void 0, o && (n[u] = o)), t.result } }, dispatch: function(e) { e = J.event.fix(e); var t, i, n, r, s, a = [], o = q.call(arguments), l = (ve.get(this, "events") || {})[e.type] || [], u = J.event.special[e.type] || {}; if (o[0] = e, e.delegateTarget = this, !u.preDispatch || u.preDispatch.call(this, e) !== !1) { for (a = J.event.handlers.call(this, e, l), t = 0; (r = a[t++]) && !e.isPropagationStopped();) for (e.currentTarget = r.elem, i = 0; (s = r.handlers[i++]) && !e.isImmediatePropagationStopped();)(!e.namespace_re || e.namespace_re.test(s.namespace)) && (e.handleObj = s, e.data = s.data, n = ((J.event.special[s.origType] || {}).handle || s.handler).apply(r.elem, o), void 0 !== n && (e.result = n) === !1 && (e.preventDefault(), e.stopPropagation())); return u.postDispatch && u.postDispatch.call(this, e), e.result } }, handlers: function(e, t) { var i, n, r, s, a = [], o = t.delegateCount, l = e.target; if (o && l.nodeType && (!e.button || "click" !== e.type)) for (; l !== this; l = l.parentNode || this) if (l.disabled !== !0 || "click" !== e.type) { for (n = [], i = 0; o > i; i++) s = t[i], r = s.selector + " ", void 0 === n[r] && (n[r] = s.needsContext ? J(r, this).index(l) >= 0 : J.find(r, this, null, [l]).length), n[r] && n.push(s); n.length && a.push({ elem: l, handlers: n }) } return o < t.length && a.push({ elem: this, handlers: t.slice(o) }), a }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function(e, t) { return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e } }, mouseHooks: { props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function(e, t) { var i, n, r, s = t.button; return null == e.pageX && null != t.clientX && (i = e.target.ownerDocument || Z, n = i.documentElement, r = i.body, e.pageX = t.clientX + (n && n.scrollLeft || r && r.scrollLeft || 0) - (n && n.clientLeft || r && r.clientLeft || 0), e.pageY = t.clientY + (n && n.scrollTop || r && r.scrollTop || 0) - (n && n.clientTop || r && r.clientTop || 0)), e.which || void 0 === s || (e.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 : 0), e } }, fix: function(e) { if (e[J.expando]) return e; var t, i, n, r = e.type, s = e, a = this.fixHooks[r]; for (a || (this.fixHooks[r] = a = ke.test(r) ? this.mouseHooks : Pe.test(r) ? this.keyHooks : {}), n = a.props ? this.props.concat(a.props) : this.props, e = new J.Event(s), t = n.length; t--;) i = n[t], e[i] = s[i]; return e.target || (e.target = Z), 3 === e.target.nodeType && (e.target = e.target.parentNode), a.filter ? a.filter(e, s) : e }, special: { load: { noBubble: !0 }, focus: { trigger: function() { return this !== p() && this.focus ? (this.focus(), !1) : void 0 }, delegateType: "focusin" }, blur: { trigger: function() { return this === p() && this.blur ? (this.blur(), !1) : void 0 }, delegateType: "focusout" }, click: { trigger: function() { return "checkbox" === this.type && this.click && J.nodeName(this, "input") ? (this.click(), !1) : void 0 }, _default: function(e) { return J.nodeName(e.target, "a") } }, beforeunload: { postDispatch: function(e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } }, simulate: function(e, t, i, n) { var r = J.extend(new J.Event, i, { type: e, isSimulated: !0, originalEvent: {} }); n ? J.event.trigger(r, null, t) : J.event.dispatch.call(t, r), r.isDefaultPrevented() && i.preventDefault() } }, J.removeEvent = function(e, t, i) { e.removeEventListener && e.removeEventListener(t, i, !1) }, J.Event = function(e, t) { return this instanceof J.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? u : c) : this.type = e, t && J.extend(this, t), this.timeStamp = e && e.timeStamp || J.now(), void(this[J.expando] = !0)) : new J.Event(e, t) }, J.Event.prototype = { isDefaultPrevented: c, isPropagationStopped: c, isImmediatePropagationStopped: c, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = u, e && e.preventDefault && e.preventDefault() }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = u, e && e.stopPropagation && e.stopPropagation() }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = u, e && e.stopImmediatePropagation && e.stopImmediatePropagation(), this.stopPropagation() } }, J.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function(e, t) { J.event.special[e] = { delegateType: t, bindType: t, handle: function(e) { var i, n = this, r = e.relatedTarget, s = e.handleObj; return (!r || r !== n && !J.contains(n, r)) && (e.type = s.origType, i = s.handler.apply(this, arguments), e.type = t), i } } }), Q.focusinBubbles || J.each({ focus: "focusin", blur: "focusout" }, function(e, t) { var i = function(e) { J.event.simulate(t, e.target, J.event.fix(e), !0) }; J.event.special[t] = { setup: function() { var n = this.ownerDocument || this, r = ve.access(n, t); r || n.addEventListener(e, i, !0), ve.access(n, t, (r || 0) + 1) }, teardown: function() { var n = this.ownerDocument || this, r = ve.access(n, t) - 1; r ? ve.access(n, t, r) : (n.removeEventListener(e, i, !0), ve.remove(n, t)) } } }), J.fn.extend({ on: function(e, t, i, n, r) { var s, a; if ("object" == typeof e) { "string" != typeof t && (i = i || t, t = void 0); for (a in e) this.on(a, t, i, e[a], r); return this } if (null == i && null == n ? (n = t, i = t = void 0) : null == n && ("string" == typeof t ? (n = i, i = void 0) : (n = i, i = t, t = void 0)), n === !1) n = c; else if (!n) return this; return 1 === r && (s = n, n = function(e) { return J().off(e), s.apply(this, arguments) }, n.guid = s.guid || (s.guid = J.guid++)), this.each(function() { J.event.add(this, e, n, i, t) }) }, one: function(e, t, i, n) { return this.on(e, t, i, n, 1) }, off: function(e, t, i) { var n, r; if (e && e.preventDefault && e.handleObj) return n = e.handleObj, J(e.delegateTarget).off(n.namespace ? n.origType + "." + n.namespace : n.origType, n.selector, n.handler), this; if ("object" == typeof e) { for (r in e) this.off(r, t, e[r]); return this } return (t === !1 || "function" == typeof t) && (i = t, t = void 0), i === !1 && (i = c), this.each(function() { J.event.remove(this, e, i, t) }) }, trigger: function(e, t) { return this.each(function() { J.event.trigger(e, t, this) }) }, triggerHandler: function(e, t) { var i = this[0]; return i ? J.event.trigger(e, t, i, !0) : void 0 } }); var Oe = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, Me = /<([\w:]+)/, Ae = /<|&#?\w+;/, Re = /<(?:script|style|link)/i, Le = /checked\s*(?:[^=]|=\s*.checked.)/i, Ne = /^$|\/(?:java|ecma)script/i, Ie = /^true\/(.*)/, ze = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, Fe = { option: [1, "<select multiple='multiple'>", "</select>"], thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] }; Fe.optgroup = Fe.option, Fe.tbody = Fe.tfoot = Fe.colgroup = Fe.caption = Fe.thead, Fe.th = Fe.td, J.extend({ clone: function(e, t, i) { var n, r, s, a, o = e.cloneNode(!0), l = J.contains(e.ownerDocument, e); if (!(Q.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || J.isXMLDoc(e))) for (a = v(o), s = v(e), n = 0, r = s.length; r > n; n++) _(s[n], a[n]); if (t) if (i) for (s = s || v(e), a = a || v(o), n = 0, r = s.length; r > n; n++) g(s[n], a[n]); else g(e, o); return a = v(o, "script"), a.length > 0 && m(a, !l && v(e, "script")), o }, buildFragment: function(e, t, i, n) { for (var r, s, a, o, l, u, c = t.createDocumentFragment(), p = [], h = 0, d = e.length; d > h; h++) if (r = e[h], r || 0 === r) if ("object" === J.type(r)) J.merge(p, r.nodeType ? [r] : r); else if (Ae.test(r)) { for (s = s || c.appendChild(t.createElement("div")), a = (Me.exec(r) || ["", ""])[1].toLowerCase(), o = Fe[a] || Fe._default, s.innerHTML = o[1] + r.replace(Oe, "<$1></$2>") + o[2], u = o[0]; u--;) s = s.lastChild; J.merge(p, s.childNodes), s = c.firstChild, s.textContent = "" } else p.push(t.createTextNode(r)); for (c.textContent = "", h = 0; r = p[h++];) if ((!n || -1 === J.inArray(r, n)) && (l = J.contains(r.ownerDocument, r), s = v(c.appendChild(r), "script"), l && m(s), i)) for (u = 0; r = s[u++];) Ne.test(r.type || "") && i.push(r); return c }, cleanData: function(e) { for (var t, i, n, r, s = J.event.special, a = 0; void 0 !== (i = e[a]); a++) { if (J.acceptData(i) && (r = i[ve.expando], r && (t = ve.cache[r]))) { if (t.events) for (n in t.events) s[n] ? J.event.remove(i, n) : J.removeEvent(i, n, t.handle); ve.cache[r] && delete ve.cache[r] } delete _e.cache[i[_e.expando]] } } }), J.fn.extend({ text: function(e) { return ge(this, function(e) { return void 0 === e ? J.text(this) : this.empty().each(function() { (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = e) }) }, null, e, arguments.length) }, append: function() { return this.domManip(arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = h(this, e); t.appendChild(e) } }) }, prepend: function() { return this.domManip(arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = h(this, e); t.insertBefore(e, t.firstChild) } }) }, before: function() { return this.domManip(arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function() { return this.domManip(arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, remove: function(e, t) { for (var i, n = e ? J.filter(e, this) : this, r = 0; null != (i = n[r]); r++) t || 1 !== i.nodeType || J.cleanData(v(i)), i.parentNode && (t && J.contains(i.ownerDocument, i) && m(v(i, "script")), i.parentNode.removeChild(i)); return this }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (J.cleanData(v(e, !1)), e.textContent = ""); return this }, clone: function(e, t) { return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function() { return J.clone(this, e, t) }) }, html: function(e) { return ge(this, function(e) { var t = this[0] || {}, i = 0, n = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !Re.test(e) && !Fe[(Me.exec(e) || ["", ""])[1].toLowerCase()]) { e = e.replace(Oe, "<$1></$2>"); try { for (; n > i; i++) t = this[i] || {}, 1 === t.nodeType && (J.cleanData(v(t, !1)), t.innerHTML = e); t = 0 } catch (r) {} } t && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function() { var e = arguments[0]; return this.domManip(arguments, function(t) { e = this.parentNode, J.cleanData(v(this)), e && e.replaceChild(t, this) }), e && (e.length || e.nodeType) ? this : this.remove() }, detach: function(e) { return this.remove(e, !0) }, domManip: function(e, t) { e = H.apply([], e); var i, n, r, s, a, o, l = 0, u = this.length, c = this, p = u - 1, h = e[0], m = J.isFunction(h); if (m || u > 1 && "string" == typeof h && !Q.checkClone && Le.test(h)) return this.each(function(i) { var n = c.eq(i); m && (e[0] = h.call(this, i, n.html())), n.domManip(e, t) }); if (u && (i = J.buildFragment(e, this[0].ownerDocument, !1, this), n = i.firstChild, 1 === i.childNodes.length && (i = n), n)) { for (r = J.map(v(i, "script"), d), s = r.length; u > l; l++) a = i, l !== p && (a = J.clone(a, !0, !0), s && J.merge(r, v(a, "script"))), t.call(this[l], a, l); if (s) for (o = r[r.length - 1].ownerDocument, J.map(r, f), l = 0; s > l; l++) a = r[l], Ne.test(a.type || "") && !ve.access(a, "globalEval") && J.contains(o, a) && (a.src ? J._evalUrl && J._evalUrl(a.src) : J.globalEval(a.textContent.replace(ze, ""))) } return this } }), J.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(e, t) { J.fn[e] = function(e) { for (var i, n = [], r = J(e), s = r.length - 1, a = 0; s >= a; a++) i = a === s ? this : this.clone(!0), J(r[a])[t](i), W.apply(n, i.get()); return this.pushStack(n) } }); var je, Be = {}, Xe = /^margin/, $e = new RegExp("^(" + xe + ")(?!px)[a-z%]+$", "i"), qe = function(e) { return e.ownerDocument.defaultView.getComputedStyle(e, null) }; ! function() { function t() { a.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", a.innerHTML = "", r.appendChild(s); var t = e.getComputedStyle(a, null); i = "1%" !== t.top, n = "4px" === t.width, r.removeChild(s) } var i, n, r = Z.documentElement, s = Z.createElement("div"), a = Z.createElement("div"); a.style && (a.style.backgroundClip = "content-box", a.cloneNode(!0).style.backgroundClip = "", Q.clearCloneStyle = "content-box" === a.style.backgroundClip, s.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", s.appendChild(a), e.getComputedStyle && J.extend(Q, { pixelPosition: function() { return t(), i }, boxSizingReliable: function() { return null == n && t(), n }, reliableMarginRight: function() { var t, i = a.appendChild(Z.createElement("div")); return i.style.cssText = a.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", i.style.marginRight = i.style.width = "0", a.style.width = "1px", r.appendChild(s), t = !parseFloat(e.getComputedStyle(i, null).marginRight), r.removeChild(s), t } })) }(), J.swap = function(e, t, i, n) { var r, s, a = {}; for (s in t) a[s] = e.style[s], e.style[s] = t[s]; r = i.apply(e, n || []); for (s in t) e.style[s] = a[s]; return r }; var He = /^(none|table(?!-c[ea]).+)/, We = new RegExp("^(" + xe + ")(.*)$", "i"), Ve = new RegExp("^([+-])=(" + xe + ")", "i"), Ye = { position: "absolute", visibility: "hidden", display: "block" }, Ge = { letterSpacing: "0", fontWeight: "400" }, Ue = ["Webkit", "O", "Moz", "ms"]; J.extend({ cssHooks: { opacity: { get: function(e, t) { if (t) { var i = x(e, "opacity"); return "" === i ? "1" : i } } } }, cssNumber: { 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": "cssFloat" }, style: function(e, t, i, n) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var r, s, a, o = J.camelCase(t), l = e.style; return t = J.cssProps[o] || (J.cssProps[o] = T(l, o)), a = J.cssHooks[t] || J.cssHooks[o], void 0 === i ? a && "get" in a && void 0 !== (r = a.get(e, !1, n)) ? r : l[t] : (s = typeof i, "string" === s && (r = Ve.exec(i)) && (i = (r[1] + 1) * r[2] + parseFloat(J.css(e, t)), s = "number"), void(null != i && i === i && ("number" !== s || J.cssNumber[o] || (i += "px"), Q.clearCloneStyle || "" !== i || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (i = a.set(e, i, n)) || (l[t] = i)))) } }, css: function(e, t, i, n) { var r, s, a, o = J.camelCase(t); return t = J.cssProps[o] || (J.cssProps[o] = T(e.style, o)), a = J.cssHooks[t] || J.cssHooks[o], a && "get" in a && (r = a.get(e, !0, i)), void 0 === r && (r = x(e, t, n)), "normal" === r && t in Ge && (r = Ge[t]), "" === i || i ? (s = parseFloat(r), i === !0 || J.isNumeric(s) ? s || 0 : r) : r } }), J.each(["height", "width"], function(e, t) { J.cssHooks[t] = { get: function(e, i, n) { return i ? He.test(J.css(e, "display")) && 0 === e.offsetWidth ? J.swap(e, Ye, function() { return P(e, t, n) }) : P(e, t, n) : void 0 }, set: function(e, i, n) { var r = n && qe(e); return S(e, i, n ? C(e, t, n, "border-box" === J.css(e, "boxSizing", !1, r), r) : 0) } } }), J.cssHooks.marginRight = b(Q.reliableMarginRight, function(e, t) { return t ? J.swap(e, { display: "inline-block" }, x, [e, "marginRight"]) : void 0 }), J.each({ margin: "", padding: "", border: "Width" }, function(e, t) { J.cssHooks[e + t] = { expand: function(i) { for (var n = 0, r = {}, s = "string" == typeof i ? i.split(" ") : [i]; 4 > n; n++) r[e + be[n] + t] = s[n] || s[n - 2] || s[0]; return r } }, Xe.test(e) || (J.cssHooks[e + t].set = S) }), J.fn.extend({ css: function(e, t) { return ge(this, function(e, t, i) { var n, r, s = {}, a = 0; if (J.isArray(t)) { for (n = qe(e), r = t.length; r > a; a++) s[t[a]] = J.css(e, t[a], !1, n); return s } return void 0 !== i ? J.style(e, t, i) : J.css(e, t) }, e, t, arguments.length > 1) }, show: function() { return k(this, !0) }, hide: function() { return k(this) }, toggle: function(e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() { Te(this) ? J(this).show() : J(this).hide() }) } }), J.Tween = D, D.prototype = { constructor: D, init: function(e, t, i, n, r, s) { this.elem = e, this.prop = i, this.easing = r || "swing", this.options = t, this.start = this.now = this.cur(), this.end = n, this.unit = s || (J.cssNumber[i] ? "" : "px") }, cur: function() { var e = D.propHooks[this.prop]; return e && e.get ? e.get(this) : D.propHooks._default.get(this) }, run: function(e) { var t, i = D.propHooks[this.prop]; return this.pos = t = this.options.duration ? J.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), i && i.set ? i.set(this) : D.propHooks._default.set(this), this } }, D.prototype.init.prototype = D.prototype, D.propHooks = { _default: { get: function(e) { var t; return null == e.elem[e.prop] || e.elem.style && null != e.elem.style[e.prop] ? (t = J.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0) : e.elem[e.prop] }, set: function(e) { J.fx.step[e.prop] ? J.fx.step[e.prop](e) : e.elem.style && (null != e.elem.style[J.cssProps[e.prop]] || J.cssHooks[e.prop]) ? J.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now } } }, D.propHooks.scrollTop = D.propHooks.scrollLeft = { set: function(e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, J.easing = { linear: function(e) { return e }, swing: function(e) { return .5 - Math.cos(e * Math.PI) / 2 } }, J.fx = D.prototype.init, J.fx.step = {}; var Qe, Ze, Ke = /^(?:toggle|show|hide)$/, Je = new RegExp("^(?:([+-])=|)(" + xe + ")([a-z%]*)$", "i"), et = /queueHooks$/, tt = [A], it = { "*": [function(e, t) { var i = this.createTween(e, t), n = i.cur(), r = Je.exec(t), s = r && r[3] || (J.cssNumber[e] ? "" : "px"), a = (J.cssNumber[e] || "px" !== s && +n) && Je.exec(J.css(i.elem, e)), o = 1, l = 20; if (a && a[3] !== s) { s = s || a[3], r = r || [], a = +n || 1; do o = o || ".5", a /= o, J.style(i.elem, e, a + s); while (o !== (o = i.cur() / n) && 1 !== o && --l) } return r && (a = i.start = +a || +n || 0, i.unit = s, i.end = r[1] ? a + (r[1] + 1) * r[2] : +r[2]), i }] }; J.Animation = J.extend(L, { tweener: function(e, t) { J.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" "); for (var i, n = 0, r = e.length; r > n; n++) i = e[n], it[i] = it[i] || [], it[i].unshift(t) }, prefilter: function(e, t) { t ? tt.unshift(e) : tt.push(e) } }), J.speed = function(e, t, i) { var n = e && "object" == typeof e ? J.extend({}, e) : { complete: i || !i && t || J.isFunction(e) && e, duration: e, easing: i && t || t && !J.isFunction(t) && t }; return n.duration = J.fx.off ? 0 : "number" == typeof n.duration ? n.duration : n.duration in J.fx.speeds ? J.fx.speeds[n.duration] : J.fx.speeds._default, (null == n.queue || n.queue === !0) && (n.queue = "fx"), n.old = n.complete, n.complete = function() { J.isFunction(n.old) && n.old.call(this), n.queue && J.dequeue(this, n.queue) }, n }, J.fn.extend({ fadeTo: function(e, t, i, n) { return this.filter(Te).css("opacity", 0).show().end().animate({ opacity: t }, e, i, n) }, animate: function(e, t, i, n) { var r = J.isEmptyObject(e), s = J.speed(t, i, n), a = function() { var t = L(this, J.extend({}, e), s); (r || ve.get(this, "finish")) && t.stop(!0) }; return a.finish = a, r || s.queue === !1 ? this.each(a) : this.queue(s.queue, a) }, stop: function(e, t, i) { var n = function(e) { var t = e.stop; delete e.stop, t(i) }; return "string" != typeof e && (i = t, t = e, e = void 0), t && e !== !1 && this.queue(e || "fx", []), this.each(function() { var t = !0, r = null != e && e + "queueHooks", s = J.timers, a = ve.get(this); if (r) a[r] && a[r].stop && n(a[r]); else for (r in a) a[r] && a[r].stop && et.test(r) && n(a[r]); for (r = s.length; r--;) s[r].elem !== this || null != e && s[r].queue !== e || (s[r].anim.stop(i), t = !1, s.splice(r, 1)); (t || !i) && J.dequeue(this, e) }) }, finish: function(e) { return e !== !1 && (e = e || "fx"), this.each(function() { var t, i = ve.get(this), n = i[e + "queue"], r = i[e + "queueHooks"], s = J.timers, a = n ? n.length : 0; for (i.finish = !0, J.queue(this, e, []), r && r.stop && r.stop.call(this, !0), t = s.length; t--;) s[t].elem === this && s[t].queue === e && (s[t].anim.stop(!0), s.splice(t, 1)); for (t = 0; a > t; t++) n[t] && n[t].finish && n[t].finish.call(this); delete i.finish }) } }), J.each(["toggle", "show", "hide"], function(e, t) { var i = J.fn[t]; J.fn[t] = function(e, n, r) { return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(O(t, !0), e, n, r) } }), J.each({ slideDown: O("show"), slideUp: O("hide"), slideToggle: O("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function(e, t) { J.fn[e] = function(e, i, n) { return this.animate(t, e, i, n) } }), J.timers = [], J.fx.tick = function() { var e, t = 0, i = J.timers; for (Qe = J.now(); t < i.length; t++) e = i[t], e() || i[t] !== e || i.splice(t--, 1); i.length || J.fx.stop(), Qe = void 0 }, J.fx.timer = function(e) { J.timers.push(e), e() ? J.fx.start() : J.timers.pop() }, J.fx.interval = 13, J.fx.start = function() { Ze || (Ze = setInterval(J.fx.tick, J.fx.interval)) }, J.fx.stop = function() { clearInterval(Ze), Ze = null }, J.fx.speeds = { slow: 600, fast: 200, _default: 400 }, J.fn.delay = function(e, t) { return e = J.fx ? J.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, i) { var n = setTimeout(t, e); i.stop = function() { clearTimeout(n) } }) }, function() { var e = Z.createElement("input"), t = Z.createElement("select"), i = t.appendChild(Z.createElement("option")); e.type = "checkbox", Q.checkOn = "" !== e.value, Q.optSelected = i.selected, t.disabled = !0, Q.optDisabled = !i.disabled, e = Z.createElement("input"), e.value = "t", e.type = "radio", Q.radioValue = "t" === e.value }(); var nt, rt, st = J.expr.attrHandle; J.fn.extend({ attr: function(e, t) { return ge(this, J.attr, e, t, arguments.length > 1) }, removeAttr: function(e) { return this.each(function() { J.removeAttr(this, e) }) } }), J.extend({ attr: function(e, t, i) { var n, r, s = e.nodeType; return e && 3 !== s && 8 !== s && 2 !== s ? typeof e.getAttribute === Ce ? J.prop(e, t, i) : (1 === s && J.isXMLDoc(e) || (t = t.toLowerCase(), n = J.attrHooks[t] || (J.expr.match.bool.test(t) ? rt : nt)), void 0 === i ? n && "get" in n && null !== (r = n.get(e, t)) ? r : (r = J.find.attr(e, t), null == r ? void 0 : r) : null !== i ? n && "set" in n && void 0 !== (r = n.set(e, i, t)) ? r : (e.setAttribute(t, i + ""), i) : void J.removeAttr(e, t)) : void 0 }, removeAttr: function(e, t) { var i, n, r = 0, s = t && t.match(de); if (s && 1 === e.nodeType) for (; i = s[r++];) n = J.propFix[i] || i, J.expr.match.bool.test(i) && (e[n] = !1), e.removeAttribute(i) }, attrHooks: { type: { set: function(e, t) { if (!Q.radioValue && "radio" === t && J.nodeName(e, "input")) { var i = e.value; return e.setAttribute("type", t), i && (e.value = i), t } } } } }), rt = { set: function(e, t, i) { return t === !1 ? J.removeAttr(e, i) : e.setAttribute(i, i), i } }, J.each(J.expr.match.bool.source.match(/\w+/g), function(e, t) { var i = st[t] || J.find.attr; st[t] = function(e, t, n) { var r, s; return n || (s = st[t], st[t] = r, r = null != i(e, t, n) ? t.toLowerCase() : null, st[t] = s), r } }); var at = /^(?:input|select|textarea|button)$/i; J.fn.extend({ prop: function(e, t) { return ge(this, J.prop, e, t, arguments.length > 1) }, removeProp: function(e) { return this.each(function() { delete this[J.propFix[e] || e] }) } }), J.extend({ propFix: { "for": "htmlFor", "class": "className" }, prop: function(e, t, i) { var n, r, s, a = e.nodeType; return e && 3 !== a && 8 !== a && 2 !== a ? (s = 1 !== a || !J.isXMLDoc(e), s && (t = J.propFix[t] || t, r = J.propHooks[t]), void 0 !== i ? r && "set" in r && void 0 !== (n = r.set(e, i, t)) ? n : e[t] = i : r && "get" in r && null !== (n = r.get(e, t)) ? n : e[t]) : void 0 }, propHooks: { tabIndex: { get: function(e) { return e.hasAttribute("tabindex") || at.test(e.nodeName) || e.href ? e.tabIndex : -1 } } } }), Q.optSelected || (J.propHooks.selected = { get: function(e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null } }), J.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { J.propFix[this.toLowerCase()] = this }); var ot = /[\t\r\n\f]/g; J.fn.extend({ addClass: function(e) { var t, i, n, r, s, a, o = "string" == typeof e && e, l = 0, u = this.length; if (J.isFunction(e)) return this.each(function(t) { J(this).addClass(e.call(this, t, this.className)) }); if (o) for (t = (e || "").match(de) || []; u > l; l++) if (i = this[l], n = 1 === i.nodeType && (i.className ? (" " + i.className + " ").replace(ot, " ") : " ")) { for (s = 0; r = t[s++];) n.indexOf(" " + r + " ") < 0 && (n += r + " "); a = J.trim(n), i.className !== a && (i.className = a) } return this }, removeClass: function(e) { var t, i, n, r, s, a, o = 0 === arguments.length || "string" == typeof e && e, l = 0, u = this.length; if (J.isFunction(e)) return this.each(function(t) { J(this).removeClass(e.call(this, t, this.className)) }); if (o) for (t = (e || "").match(de) || []; u > l; l++) if (i = this[l], n = 1 === i.nodeType && (i.className ? (" " + i.className + " ").replace(ot, " ") : "")) { for (s = 0; r = t[s++];) for (; n.indexOf(" " + r + " ") >= 0;) n = n.replace(" " + r + " ", " "); a = e ? J.trim(n) : "", i.className !== a && (i.className = a) } return this }, toggleClass: function(e, t) { var i = typeof e; return "boolean" == typeof t && "string" === i ? t ? this.addClass(e) : this.removeClass(e) : this.each(J.isFunction(e) ? function(i) { J(this).toggleClass(e.call(this, i, this.className, t), t) } : function() { if ("string" === i) for (var t, n = 0, r = J(this), s = e.match(de) || []; t = s[n++];) r.hasClass(t) ? r.removeClass(t) : r.addClass(t); else(i === Ce || "boolean" === i) && (this.className && ve.set(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : ve.get(this, "__className__") || "") }) }, hasClass: function(e) { for (var t = " " + e + " ", i = 0, n = this.length; n > i; i++) if (1 === this[i].nodeType && (" " + this[i].className + " ").replace(ot, " ").indexOf(t) >= 0) return !0; return !1 } }); var lt = /\r/g; J.fn.extend({ val: function(e) { var t, i, n, r = this[0]; return arguments.length ? (n = J.isFunction(e), this.each(function(i) { var r; 1 === this.nodeType && (r = n ? e.call(this, i, J(this).val()) : e, null == r ? r = "" : "number" == typeof r ? r += "" : J.isArray(r) && (r = J.map(r, function(e) { return null == e ? "" : e + "" })), t = J.valHooks[this.type] || J.valHooks[this.nodeName.toLowerCase()], t && "set" in t && void 0 !== t.set(this, r, "value") || (this.value = r)) })) : r ? (t = J.valHooks[r.type] || J.valHooks[r.nodeName.toLowerCase()], t && "get" in t && void 0 !== (i = t.get(r, "value")) ? i : (i = r.value, "string" == typeof i ? i.replace(lt, "") : null == i ? "" : i)) : void 0 } }), J.extend({ valHooks: { option: { get: function(e) { var t = J.find.attr(e, "value"); return null != t ? t : J.trim(J.text(e)) } }, select: { get: function(e) { for (var t, i, n = e.options, r = e.selectedIndex, s = "select-one" === e.type || 0 > r, a = s ? null : [], o = s ? r + 1 : n.length, l = 0 > r ? o : s ? r : 0; o > l; l++) if (i = n[l], !(!i.selected && l !== r || (Q.optDisabled ? i.disabled : null !== i.getAttribute("disabled")) || i.parentNode.disabled && J.nodeName(i.parentNode, "optgroup"))) { if (t = J(i).val(), s) return t; a.push(t) } return a }, set: function(e, t) { for (var i, n, r = e.options, s = J.makeArray(t), a = r.length; a--;) n = r[a], (n.selected = J.inArray(n.value, s) >= 0) && (i = !0); return i || (e.selectedIndex = -1), s } } } }), J.each(["radio", "checkbox"], function() { J.valHooks[this] = { set: function(e, t) { return J.isArray(t) ? e.checked = J.inArray(J(e).val(), t) >= 0 : void 0 } }, Q.checkOn || (J.valHooks[this].get = function(e) { return null === e.getAttribute("value") ? "on" : e.value }) }), J.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) { J.fn[t] = function(e, i) { return arguments.length > 0 ? this.on(t, null, e, i) : this.trigger(t) } }), J.fn.extend({ hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e) }, bind: function(e, t, i) { return this.on(e, null, t, i) }, unbind: function(e, t) { return this.off(e, null, t) }, delegate: function(e, t, i, n) { return this.on(t, e, i, n) }, undelegate: function(e, t, i) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", i) } }); var ut = J.now(), ct = /\?/; J.parseJSON = function(e) { return JSON.parse(e + "") }, J.parseXML = function(e) { var t, i; if (!e || "string" != typeof e) return null; try { i = new DOMParser, t = i.parseFromString(e, "text/xml") } catch (n) { t = void 0 } return (!t || t.getElementsByTagName("parsererror").length) && J.error("Invalid XML: " + e), t }; var pt, ht, dt = /#.*$/, ft = /([?&])_=[^&]*/, mt = /^(.*?):[ \t]*([^\r\n]*)$/gm, gt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, vt = /^(?:GET|HEAD)$/, _t = /^\/\//, yt = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, wt = {}, xt = {}, bt = "*/".concat("*"); try { ht = location.href } catch (Tt) { ht = Z.createElement("a"), ht.href = "", ht = ht.href } pt = yt.exec(ht.toLowerCase()) || [], J.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: ht, type: "GET", isLocal: gt.test(pt[1]), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": bt, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": J.parseJSON, "text xml": J.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function(e, t) { return t ? z(z(e, J.ajaxSettings), t) : z(J.ajaxSettings, e) }, ajaxPrefilter: N(wt), ajaxTransport: N(xt), ajax: function(e, t) { function i(e, t, i, a) { var l, c, v, _, w, b = t; 2 !== y && (y = 2, o && clearTimeout(o), n = void 0, s = a || "", x.readyState = e > 0 ? 4 : 0, l = e >= 200 && 300 > e || 304 === e, i && (_ = F(p, x, i)), _ = j(p, _, x, l), l ? (p.ifModified && (w = x.getResponseHeader("Last-Modified"), w && (J.lastModified[r] = w), w = x.getResponseHeader("etag"), w && (J.etag[r] = w)), 204 === e || "HEAD" === p.type ? b = "nocontent" : 304 === e ? b = "notmodified" : (b = _.state, c = _.data, v = _.error, l = !v)) : (v = b, (e || !b) && (b = "error", 0 > e && (e = 0))), x.status = e, x.statusText = (t || b) + "", l ? f.resolveWith(h, [c, b, x]) : f.rejectWith(h, [x, b, v]), x.statusCode(g), g = void 0, u && d.trigger(l ? "ajaxSuccess" : "ajaxError", [x, p, l ? c : v]), m.fireWith(h, [x, b]), u && (d.trigger("ajaxComplete", [x, p]), --J.active || J.event.trigger("ajaxStop"))) } "object" == typeof e && (t = e, e = void 0), t = t || {}; var n, r, s, a, o, l, u, c, p = J.ajaxSetup({}, t), h = p.context || p, d = p.context && (h.nodeType || h.jquery) ? J(h) : J.event, f = J.Deferred(), m = J.Callbacks("once memory"), g = p.statusCode || {}, v = {}, _ = {}, y = 0, w = "canceled", x = { readyState: 0, getResponseHeader: function(e) { var t; if (2 === y) { if (!a) for (a = {}; t = mt.exec(s);) a[t[1].toLowerCase()] = t[2]; t = a[e.toLowerCase()] } return null == t ? null : t }, getAllResponseHeaders: function() { return 2 === y ? s : null }, setRequestHeader: function(e, t) { var i = e.toLowerCase(); return y || (e = _[i] = _[i] || e, v[e] = t), this }, overrideMimeType: function(e) { return y || (p.mimeType = e), this }, statusCode: function(e) { var t; if (e) if (2 > y) for (t in e) g[t] = [g[t], e[t]]; else x.always(e[x.status]); return this }, abort: function(e) { var t = e || w; return n && n.abort(t), i(0, t), this } }; if (f.promise(x).complete = m.add, x.success = x.done, x.error = x.fail, p.url = ((e || p.url || ht) + "").replace(dt, "").replace(_t, pt[1] + "//"), p.type = t.method || t.type || p.method || p.type, p.dataTypes = J.trim(p.dataType || "*").toLowerCase().match(de) || [""], null == p.crossDomain && (l = yt.exec(p.url.toLowerCase()), p.crossDomain = !(!l || l[1] === pt[1] && l[2] === pt[2] && (l[3] || ("http:" === l[1] ? "80" : "443")) === (pt[3] || ("http:" === pt[1] ? "80" : "443")))), p.data && p.processData && "string" != typeof p.data && (p.data = J.param(p.data, p.traditional)), I(wt, p, t, x), 2 === y) return x; u = p.global, u && 0 === J.active++ && J.event.trigger("ajaxStart"), p.type = p.type.toUpperCase(), p.hasContent = !vt.test(p.type), r = p.url, p.hasContent || (p.data && (r = p.url += (ct.test(r) ? "&" : "?") + p.data, delete p.data), p.cache === !1 && (p.url = ft.test(r) ? r.replace(ft, "$1_=" + ut++) : r + (ct.test(r) ? "&" : "?") + "_=" + ut++)), p.ifModified && (J.lastModified[r] && x.setRequestHeader("If-Modified-Since", J.lastModified[r]), J.etag[r] && x.setRequestHeader("If-None-Match", J.etag[r])), (p.data && p.hasContent && p.contentType !== !1 || t.contentType) && x.setRequestHeader("Content-Type", p.contentType), x.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + bt + "; q=0.01" : "") : p.accepts["*"]); for (c in p.headers) x.setRequestHeader(c, p.headers[c]); if (p.beforeSend && (p.beforeSend.call(h, x, p) === !1 || 2 === y)) return x.abort(); w = "abort"; for (c in { success: 1, error: 1, complete: 1 }) x[c](p[c]); if (n = I(xt, p, t, x)) { x.readyState = 1, u && d.trigger("ajaxSend", [x, p]), p.async && p.timeout > 0 && (o = setTimeout(function() { x.abort("timeout") }, p.timeout)); try { y = 1, n.send(v, i) } catch (b) { if (!(2 > y)) throw b; i(-1, b) } } else i(-1, "No Transport"); return x }, getJSON: function(e, t, i) { return J.get(e, t, i, "json") }, getScript: function(e, t) { return J.get(e, void 0, t, "script") } }), J.each(["get", "post"], function(e, t) { J[t] = function(e, i, n, r) { return J.isFunction(i) && (r = r || n, n = i, i = void 0), J.ajax({ url: e, type: t, dataType: r, data: i, success: n }) } }), J.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) { J.fn[t] = function(e) { return this.on(t, e) } }), J._evalUrl = function(e) { return J.ajax({ url: e, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0 }) }, J.fn.extend({ wrapAll: function(e) { var t; return J.isFunction(e) ? this.each(function(t) { J(this).wrapAll(e.call(this, t)) }) : (this[0] && (t = J(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { for (var e = this; e.firstElementChild;) e = e.firstElementChild; return e }).append(this)), this) }, wrapInner: function(e) { return this.each(J.isFunction(e) ? function(t) { J(this).wrapInner(e.call(this, t)) } : function() { var t = J(this), i = t.contents(); i.length ? i.wrapAll(e) : t.append(e) }) }, wrap: function(e) { var t = J.isFunction(e); return this.each(function(i) { J(this).wrapAll(t ? e.call(this, i) : e) }) }, unwrap: function() { return this.parent().each(function() { J.nodeName(this, "body") || J(this).replaceWith(this.childNodes) }).end() } }), J.expr.filters.hidden = function(e) { return e.offsetWidth <= 0 && e.offsetHeight <= 0 }, J.expr.filters.visible = function(e) { return !J.expr.filters.hidden(e) }; var St = /%20/g, Ct = /\[\]$/, Pt = /\r?\n/g, kt = /^(?:submit|button|image|reset|file)$/i, Dt = /^(?:input|select|textarea|keygen)/i; J.param = function(e, t) { var i, n = [], r = function(e, t) { t = J.isFunction(t) ? t() : null == t ? "" : t, n[n.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) }; if (void 0 === t && (t = J.ajaxSettings && J.ajaxSettings.traditional), J.isArray(e) || e.jquery && !J.isPlainObject(e)) J.each(e, function() { r(this.name, this.value) }); else for (i in e) B(i, e[i], t, r); return n.join("&").replace(St, "+") }, J.fn.extend({ serialize: function() { return J.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { var e = J.prop(this, "elements"); return e ? J.makeArray(e) : this }).filter(function() { var e = this.type; return this.name && !J(this).is(":disabled") && Dt.test(this.nodeName) && !kt.test(e) && (this.checked || !Se.test(e)) }).map(function(e, t) { var i = J(this).val(); return null == i ? null : J.isArray(i) ? J.map(i, function(e) { return { name: t.name, value: e.replace(Pt, "\r\n") } }) : { name: t.name, value: i.replace(Pt, "\r\n") } }).get() } }), J.ajaxSettings.xhr = function() { try { return new XMLHttpRequest } catch (e) {} }; var Et = 0, Ot = {}, Mt = { 0: 200, 1223: 204 }, At = J.ajaxSettings.xhr(); e.ActiveXObject && J(e).on("unload", function() { for (var e in Ot) Ot[e]() }), Q.cors = !!At && "withCredentials" in At, Q.ajax = At = !!At, J.ajaxTransport(function(e) { var t; return Q.cors || At && !e.crossDomain ? { send: function(i, n) { var r, s = e.xhr(), a = ++Et; if (s.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (r in e.xhrFields) s[r] = e.xhrFields[r]; e.mimeType && s.overrideMimeType && s.overrideMimeType(e.mimeType), e.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest"); for (r in i) s.setRequestHeader(r, i[r]); t = function(e) { return function() { t && (delete Ot[a], t = s.onload = s.onerror = null, "abort" === e ? s.abort() : "error" === e ? n(s.status, s.statusText) : n(Mt[s.status] || s.status, s.statusText, "string" == typeof s.responseText ? { text: s.responseText } : void 0, s.getAllResponseHeaders())) } }, s.onload = t(), s.onerror = t("error"), t = Ot[a] = t("abort"); try { s.send(e.hasContent && e.data || null) } catch (o) { if (t) throw o } }, abort: function() { t && t() } } : void 0 }), J.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /(?:java|ecma)script/ }, converters: { "text script": function(e) { return J.globalEval(e), e } } }), J.ajaxPrefilter("script", function(e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") }), J.ajaxTransport("script", function(e) { if (e.crossDomain) { var t, i; return { send: function(n, r) { t = J("<script>").prop({ async: !0, charset: e.scriptCharset, src: e.url }).on("load error", i = function(e) { t.remove(), i = null, e && r("error" === e.type ? 404 : 200, e.type) }), Z.head.appendChild(t[0]) }, abort: function() { i && i() } } } }); var Rt = [], Lt = /(=)\?(?=&|$)|\?\?/; J.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { var e = Rt.pop() || J.expando + "_" + ut++; return this[e] = !0, e } }), J.ajaxPrefilter("json jsonp", function(t, i, n) { var r, s, a, o = t.jsonp !== !1 && (Lt.test(t.url) ? "url" : "string" == typeof t.data && !(t.contentType || "").indexOf("application/x-www-form-urlencoded") && Lt.test(t.data) && "data"); return o || "jsonp" === t.dataTypes[0] ? (r = t.jsonpCallback = J.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, o ? t[o] = t[o].replace(Lt, "$1" + r) : t.jsonp !== !1 && (t.url += (ct.test(t.url) ? "&" : "?") + t.jsonp + "=" + r), t.converters["script json"] = function() { return a || J.error(r + " was not called"), a[0] }, t.dataTypes[0] = "json", s = e[r], e[r] = function() { a = arguments }, n.always(function() { e[r] = s, t[r] && (t.jsonpCallback = i.jsonpCallback, Rt.push(r)), a && J.isFunction(s) && s(a[0]), a = s = void 0 }), "script") : void 0 }), J.parseHTML = function(e, t, i) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && (i = t, t = !1), t = t || Z; var n = ae.exec(e), r = !i && []; return n ? [t.createElement(n[1])] : (n = J.buildFragment([e], t, r), r && r.length && J(r).remove(), J.merge([], n.childNodes)) }; var Nt = J.fn.load; J.fn.load = function(e, t, i) { if ("string" != typeof e && Nt) return Nt.apply(this, arguments); var n, r, s, a = this, o = e.indexOf(" "); return o >= 0 && (n = J.trim(e.slice(o)), e = e.slice(0, o)), J.isFunction(t) ? (i = t, t = void 0) : t && "object" == typeof t && (r = "POST"), a.length > 0 && J.ajax({ url: e, type: r, dataType: "html", data: t }).done(function(e) { s = arguments, a.html(n ? J("<div>").append(J.parseHTML(e)).find(n) : e) }).complete(i && function(e, t) { a.each(i, s || [e.responseText, t, e]) }), this }, J.expr.filters.animated = function(e) { return J.grep(J.timers, function(t) { return e === t.elem }).length }; var It = e.document.documentElement; J.offset = { setOffset: function(e, t, i) { var n, r, s, a, o, l, u, c = J.css(e, "position"), p = J(e), h = {}; "static" === c && (e.style.position = "relative"), o = p.offset(), s = J.css(e, "top"), l = J.css(e, "left"), u = ("absolute" === c || "fixed" === c) && (s + l).indexOf("auto") > -1, u ? (n = p.position(), a = n.top, r = n.left) : (a = parseFloat(s) || 0, r = parseFloat(l) || 0), J.isFunction(t) && (t = t.call(e, i, o)), null != t.top && (h.top = t.top - o.top + a), null != t.left && (h.left = t.left - o.left + r), "using" in t ? t.using.call(e, h) : p.css(h) } }, J.fn.extend({ offset: function(e) { if (arguments.length) return void 0 === e ? this : this.each(function(t) { J.offset.setOffset(this, e, t) }); var t, i, n = this[0], r = { top: 0, left: 0 }, s = n && n.ownerDocument; return s ? (t = s.documentElement, J.contains(t, n) ? (typeof n.getBoundingClientRect !== Ce && (r = n.getBoundingClientRect()), i = X(s), { top: r.top + i.pageYOffset - t.clientTop, left: r.left + i.pageXOffset - t.clientLeft }) : r) : void 0 }, position: function() { if (this[0]) { var e, t, i = this[0], n = { top: 0, left: 0 }; return "fixed" === J.css(i, "position") ? t = i.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), J.nodeName(e[0], "html") || (n = e.offset()), n.top += J.css(e[0], "borderTopWidth", !0), n.left += J.css(e[0], "borderLeftWidth", !0)), { top: t.top - n.top - J.css(i, "marginTop", !0), left: t.left - n.left - J.css(i, "marginLeft", !0) } } }, offsetParent: function() { return this.map(function() { for (var e = this.offsetParent || It; e && !J.nodeName(e, "html") && "static" === J.css(e, "position");) e = e.offsetParent; return e || It }) } }), J.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(t, i) { var n = "pageYOffset" === i; J.fn[t] = function(r) { return ge(this, function(t, r, s) { var a = X(t); return void 0 === s ? a ? a[i] : t[r] : void(a ? a.scrollTo(n ? e.pageXOffset : s, n ? s : e.pageYOffset) : t[r] = s) }, t, r, arguments.length, null) } }), J.each(["top", "left"], function(e, t) { J.cssHooks[t] = b(Q.pixelPosition, function(e, i) { return i ? (i = x(e, t), $e.test(i) ? J(e).position()[t] + "px" : i) : void 0 }) }), J.each({ Height: "height", Width: "width" }, function(e, t) { J.each({ padding: "inner" + e, content: t, "": "outer" + e }, function(i, n) { J.fn[n] = function(n, r) { var s = arguments.length && (i || "boolean" != typeof n), a = i || (n === !0 || r === !0 ? "margin" : "border"); return ge(this, function(t, i, n) { var r; return J.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (r = t.documentElement, Math.max(t.body["scroll" + e], r["scroll" + e], t.body["offset" + e], r["offset" + e], r["client" + e])) : void 0 === n ? J.css(t, i, a) : J.style(t, i, n, a) }, t, s ? n : void 0, s, null) } }) }), J.fn.size = function() { return this.length }, J.fn.andSelf = J.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() { return J }); var zt = e.jQuery, Ft = e.$; return J.noConflict = function(t) { return e.$ === J && (e.$ = Ft), t && e.jQuery === J && (e.jQuery = zt), J }, typeof t === Ce && (e.jQuery = e.$ = J), J }), function(e) { "function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], e) : e(jQuery) }(function(e) { function t(t) { return !t || void 0 !== t.allowPageScroll || void 0 === t.swipe && void 0 === t.swipeStatus || (t.allowPageScroll = u), void 0 !== t.click && void 0 === t.tap && (t.tap = t.click), t || (t = {}), t = e.extend({}, e.fn.swipe.defaults, t), this.each(function() { var n = e(this), r = n.data(k); r || (r = new i(this, t), n.data(k, r)) }) } function i(t, i) { function D(t) { if (!(ue() || e(t.target).closest(i.excludedElements, He).length > 0)) { var n, r = t.originalEvent ? t.originalEvent : t, s = S ? r.touches[0] : r; return We = w, S ? Ve = r.touches.length : t.preventDefault(), Ne = 0, Ie = null, $e = null, ze = 0, Fe = 0, je = 0, Be = 1, Xe = 0, Ye = fe(), qe = ve(), oe(), !S || Ve === i.fingers || i.fingers === _ || q() ? (pe(0, s), Ge = Pe(), 2 == Ve && (pe(1, r.touches[1]), Fe = je = we(Ye[0].start, Ye[1].start)), (i.swipeStatus || i.pinchStatus) && (n = N(r, We))) : n = !1, n === !1 ? (We = T, N(r, We), n) : (i.hold && (et = setTimeout(e.proxy(function() { He.trigger("hold", [r.target]), i.hold && (n = i.hold.call(He, r, r.target)) }, this), i.longTapThreshold)), ce(!0), null) } } function E(e) { var t = e.originalEvent ? e.originalEvent : e; if (We !== b && We !== T && !le()) { var n, r = S ? t.touches[0] : t, s = he(r); if (Ue = Pe(), S && (Ve = t.touches.length), i.hold && clearTimeout(et), We = x, 2 == Ve && (0 == Fe ? (pe(1, t.touches[1]), Fe = je = we(Ye[0].start, Ye[1].start)) : (he(t.touches[1]), je = we(Ye[0].end, Ye[1].end), $e = be(Ye[0].end, Ye[1].end)), Be = xe(Fe, je), Xe = Math.abs(Fe - je)), Ve === i.fingers || i.fingers === _ || !S || q()) { if (Ie = Ce(s.start, s.end), X(e, Ie), Ne = Te(s.start, s.end), ze = ye(), me(Ie, Ne), (i.swipeStatus || i.pinchStatus) && (n = N(t, We)), !i.triggerOnTouchEnd || i.triggerOnTouchLeave) { var a = !0; if (i.triggerOnTouchLeave) { var o = ke(this); a = De(s.end, o) }!i.triggerOnTouchEnd && a ? We = L(x) : i.triggerOnTouchLeave && !a && (We = L(b)), (We == T || We == b) && N(t, We) } } else We = T, N(t, We); n === !1 && (We = T, N(t, We)) } } function O(e) { var t = e.originalEvent; return S && t.touches.length > 0 ? (ae(), !0) : (le() && (Ve = Ze), Ue = Pe(), ze = ye(), F() || !z() ? (We = T, N(t, We)) : i.triggerOnTouchEnd || 0 == i.triggerOnTouchEnd && We === x ? (e.preventDefault(), We = b, N(t, We)) : !i.triggerOnTouchEnd && Q() ? (We = b, I(t, We, d)) : We === x && (We = T, N(t, We)), ce(!1), null) } function M() { Ve = 0, Ue = 0, Ge = 0, Fe = 0, je = 0, Be = 1, oe(), ce(!1) } function A(e) { var t = e.originalEvent; i.triggerOnTouchLeave && (We = L(b), N(t, We)) } function R() { He.unbind(Oe, D), He.unbind(Le, M), He.unbind(Me, E), He.unbind(Ae, O), Re && He.unbind(Re, A), ce(!1) } function L(e) { var t = e, n = B(), r = z(), s = F(); return !n || s ? t = T : !r || e != x || i.triggerOnTouchEnd && !i.triggerOnTouchLeave ? !r && e == b && i.triggerOnTouchLeave && (t = T) : t = b, t } function N(e, t) { var i = void 0; return Y() || V() ? i = I(e, t, p) : (H() || q()) && i !== !1 && (i = I(e, t, h)), re() && i !== !1 ? i = I(e, t, f) : se() && i !== !1 ? i = I(e, t, m) : ne() && i !== !1 && (i = I(e, t, d)), t === T && M(e), t === b && (S ? 0 == e.touches.length && M(e) : M(e)), i } function I(t, u, c) { var g = void 0; if (c == p) { if (He.trigger("swipeStatus", [u, Ie || null, Ne || 0, ze || 0, Ve, Ye]), i.swipeStatus && (g = i.swipeStatus.call(He, t, u, Ie || null, Ne || 0, ze || 0, Ve, Ye), g === !1)) return !1; if (u == b && W()) { if (He.trigger("swipe", [Ie, Ne, ze, Ve, Ye]), i.swipe && (g = i.swipe.call(He, t, Ie, Ne, ze, Ve, Ye), g === !1)) return !1; switch (Ie) { case n: He.trigger("swipeLeft", [Ie, Ne, ze, Ve, Ye]), i.swipeLeft && (g = i.swipeLeft.call(He, t, Ie, Ne, ze, Ve, Ye)); break; case r: He.trigger("swipeRight", [Ie, Ne, ze, Ve, Ye]), i.swipeRight && (g = i.swipeRight.call(He, t, Ie, Ne, ze, Ve, Ye)); break; case s: He.trigger("swipeUp", [Ie, Ne, ze, Ve, Ye]), i.swipeUp && (g = i.swipeUp.call(He, t, Ie, Ne, ze, Ve, Ye)); break; case a: He.trigger("swipeDown", [Ie, Ne, ze, Ve, Ye]), i.swipeDown && (g = i.swipeDown.call(He, t, Ie, Ne, ze, Ve, Ye)) } } } if (c == h) { if (He.trigger("pinchStatus", [u, $e || null, Xe || 0, ze || 0, Ve, Be, Ye]), i.pinchStatus && (g = i.pinchStatus.call(He, t, u, $e || null, Xe || 0, ze || 0, Ve, Be, Ye), g === !1)) return !1; if (u == b && $()) switch ($e) { case o: He.trigger("pinchIn", [$e || null, Xe || 0, ze || 0, Ve, Be, Ye]), i.pinchIn && (g = i.pinchIn.call(He, t, $e || null, Xe || 0, ze || 0, Ve, Be, Ye)); break; case l: He.trigger("pinchOut", [$e || null, Xe || 0, ze || 0, Ve, Be, Ye]), i.pinchOut && (g = i.pinchOut.call(He, t, $e || null, Xe || 0, ze || 0, Ve, Be, Ye)) } } return c == d ? (u === T || u === b) && (clearTimeout(Je), clearTimeout(et), Z() && !ee() ? (Ke = Pe(), Je = setTimeout(e.proxy(function() { Ke = null, He.trigger("tap", [t.target]), i.tap && (g = i.tap.call(He, t, t.target)) }, this), i.doubleTapThreshold)) : (Ke = null, He.trigger("tap", [t.target]), i.tap && (g = i.tap.call(He, t, t.target)))) : c == f ? (u === T || u === b) && (clearTimeout(Je), Ke = null, He.trigger("doubletap", [t.target]), i.doubleTap && (g = i.doubleTap.call(He, t, t.target))) : c == m && (u === T || u === b) && (clearTimeout(Je), Ke = null, He.trigger("longtap", [t.target]), i.longTap && (g = i.longTap.call(He, t, t.target))), g } function z() { var e = !0; return null !== i.threshold && (e = Ne >= i.threshold), e } function F() { var e = !1; return null !== i.cancelThreshold && null !== Ie && (e = ge(Ie) - Ne >= i.cancelThreshold), e } function j() { return null !== i.pinchThreshold ? Xe >= i.pinchThreshold : !0 } function B() { var e; return e = i.maxTimeThreshold && ze >= i.maxTimeThreshold ? !1 : !0 } function X(e, t) { if (i.allowPageScroll === u || q()) e.preventDefault(); else { var o = i.allowPageScroll === c; switch (t) { case n: (i.swipeLeft && o || !o && i.allowPageScroll != g) && e.preventDefault(); break; case r: (i.swipeRight && o || !o && i.allowPageScroll != g) && e.preventDefault(); break; case s: (i.swipeUp && o || !o && i.allowPageScroll != v) && e.preventDefault(); break; case a: (i.swipeDown && o || !o && i.allowPageScroll != v) && e.preventDefault() } } } function $() { var e = G(), t = U(), i = j(); return e && t && i } function q() { return !!(i.pinchStatus || i.pinchIn || i.pinchOut) } function H() { return !(!$() || !q()) } function W() { var e = B(), t = z(), i = G(), n = U(), r = F(), s = !r && n && i && t && e; return s } function V() { return !!(i.swipe || i.swipeStatus || i.swipeLeft || i.swipeRight || i.swipeUp || i.swipeDown) } function Y() { return !(!W() || !V()) } function G() { return Ve === i.fingers || i.fingers === _ || !S } function U() { return 0 !== Ye[0].end.x } function Q() { return !!i.tap } function Z() { return !!i.doubleTap } function K() { return !!i.longTap } function J() { if (null == Ke) return !1; var e = Pe(); return Z() && e - Ke <= i.doubleTapThreshold } function ee() { return J() } function te() { return (1 === Ve || !S) && (isNaN(Ne) || Ne < i.threshold) } function ie() { return ze > i.longTapThreshold && y > Ne } function ne() { return !(!te() || !Q()) } function re() { return !(!J() || !Z()) } function se() { return !(!ie() || !K()) } function ae() { Qe = Pe(), Ze = event.touches.length + 1 } function oe() { Qe = 0, Ze = 0 } function le() { var e = !1; if (Qe) { var t = Pe() - Qe; t <= i.fingerReleaseThreshold && (e = !0) } return e } function ue() { return !(He.data(k + "_intouch") !== !0) } function ce(e) { e === !0 ? (He.bind(Me, E), He.bind(Ae, O), Re && He.bind(Re, A)) : (He.unbind(Me, E, !1), He.unbind(Ae, O, !1), Re && He.unbind(Re, A, !1)), He.data(k + "_intouch", e === !0) } function pe(e, t) { var i = void 0 !== t.identifier ? t.identifier : 0; return Ye[e].identifier = i, Ye[e].start.x = Ye[e].end.x = t.pageX || t.clientX, Ye[e].start.y = Ye[e].end.y = t.pageY || t.clientY, Ye[e] } function he(e) { var t = void 0 !== e.identifier ? e.identifier : 0, i = de(t); return i.end.x = e.pageX || e.clientX, i.end.y = e.pageY || e.clientY, i } function de(e) { for (var t = 0; t < Ye.length; t++) if (Ye[t].identifier == e) return Ye[t] } function fe() { for (var e = [], t = 0; 5 >= t; t++) e.push({ start: { x: 0, y: 0 }, end: { x: 0, y: 0 }, identifier: 0 }); return e } function me(e, t) { t = Math.max(t, ge(e)), qe[e].distance = t } function ge(e) { return qe[e] ? qe[e].distance : void 0 } function ve() { var e = {}; return e[n] = _e(n), e[r] = _e(r), e[s] = _e(s), e[a] = _e(a), e } function _e(e) { return { direction: e, distance: 0 } } function ye() { return Ue - Ge } function we(e, t) { var i = Math.abs(e.x - t.x), n = Math.abs(e.y - t.y); return Math.round(Math.sqrt(i * i + n * n)) } function xe(e, t) { var i = t / e * 1; return i.toFixed(2) } function be() { return 1 > Be ? l : o } function Te(e, t) { return Math.round(Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2))) } function Se(e, t) { var i = e.x - t.x, n = t.y - e.y, r = Math.atan2(n, i), s = Math.round(180 * r / Math.PI); return 0 > s && (s = 360 - Math.abs(s)), s } function Ce(e, t) { var i = Se(e, t); return 45 >= i && i >= 0 ? n : 360 >= i && i >= 315 ? n : i >= 135 && 225 >= i ? r : i > 45 && 135 > i ? a : s } function Pe() { var e = new Date; return e.getTime() } function ke(t) { t = e(t); var i = t.offset(), n = { left: i.left, right: i.left + t.outerWidth(), top: i.top, bottom: i.top + t.outerHeight() }; return n } function De(e, t) { return e.x > t.left && e.x < t.right && e.y > t.top && e.y < t.bottom } var Ee = S || P || !i.fallbackToMouseEvents, Oe = Ee ? P ? C ? "MSPointerDown" : "pointerdown" : "touchstart" : "mousedown", Me = Ee ? P ? C ? "MSPointerMove" : "pointermove" : "touchmove" : "mousemove", Ae = Ee ? P ? C ? "MSPointerUp" : "pointerup" : "touchend" : "mouseup", Re = Ee ? null : "mouseleave", Le = P ? C ? "MSPointerCancel" : "pointercancel" : "touchcancel", Ne = 0, Ie = null, ze = 0, Fe = 0, je = 0, Be = 1, Xe = 0, $e = 0, qe = null, He = e(t), We = "start", Ve = 0, Ye = null, Ge = 0, Ue = 0, Qe = 0, Ze = 0, Ke = 0, Je = null, et = null; try { He.bind(Oe, D), He.bind(Le, M) } catch (tt) { e.error("events not supported " + Oe + "," + Le + " on jQuery.swipe") } this.enable = function() { return He.bind(Oe, D), He.bind(Le, M), He }, this.disable = function() { return R(), He }, this.destroy = function() { return R(), He.data(k, null), He }, this.option = function(t, n) { if (void 0 !== i[t]) { if (void 0 === n) return i[t]; i[t] = n } else e.error("Option " + t + " does not exist on jQuery.swipe.options"); return null } } var n = "left", r = "right", s = "up", a = "down", o = "in", l = "out", u = "none", c = "auto", p = "swipe", h = "pinch", d = "tap", f = "doubletap", m = "longtap", g = "horizontal", v = "vertical", _ = "all", y = 10, w = "start", x = "move", b = "end", T = "cancel", S = "ontouchstart" in window, C = window.navigator.msPointerEnabled && !window.navigator.pointerEnabled, P = window.navigator.pointerEnabled || window.navigator.msPointerEnabled, k = "TouchSwipe", D = { fingers: 1, threshold: 75, cancelThreshold: null, pinchThreshold: 20, maxTimeThreshold: null, fingerReleaseThreshold: 250, longTapThreshold: 500, doubleTapThreshold: 200, swipe: null, swipeLeft: null, swipeRight: null, swipeUp: null, swipeDown: null, swipeStatus: null, pinchIn: null, pinchOut: null, pinchStatus: null, click: null, tap: null, doubleTap: null, longTap: null, hold: null, triggerOnTouchEnd: !0, triggerOnTouchLeave: !1, allowPageScroll: "auto", fallbackToMouseEvents: !0, excludedElements: "label, button, input, select, textarea, a, .noSwipe" }; e.fn.swipe = function(i) { var n = e(this), r = n.data(k); if (r && "string" == typeof i) { if (r[i]) return r[i].apply(this, Array.prototype.slice.call(arguments, 1)); e.error("Method " + i + " does not exist on jQuery.swipe") } else if (!(r || "object" != typeof i && i)) return t.apply(this, arguments); return n }, e.fn.swipe.defaults = D, e.fn.swipe.phases = { PHASE_START: w, PHASE_MOVE: x, PHASE_END: b, PHASE_CANCEL: T }, e.fn.swipe.directions = { LEFT: n, RIGHT: r, UP: s, DOWN: a, IN: o, OUT: l }, e.fn.swipe.pageScroll = { NONE: u, HORIZONTAL: g, VERTICAL: v, AUTO: c }, e.fn.swipe.fingers = { ONE: 1, TWO: 2, THREE: 3, ALL: _ } }); var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window; (_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function() { "use strict"; _gsScope._gsDefine("TweenMax", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(e, t, i) { var n = function(e) { var t, i = [], n = e.length; for (t = 0; t !== n; i.push(e[t++])); return i }, r = function(e, t, n) { i.call(this, e, t, n), this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._dirty = !0, this.render = r.prototype.render }, s = 1e-10, a = i._internals, o = a.isSelector, l = a.isArray, u = r.prototype = i.to({}, .1, {}), c = []; r.version = "1.16.1", u.constructor = r, u.kill()._gc = !1, r.killTweensOf = r.killDelayedCallsTo = i.killTweensOf, r.getTweensOf = i.getTweensOf, r.lagSmoothing = i.lagSmoothing, r.ticker = i.ticker, r.render = i.render, u.invalidate = function() { return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), i.prototype.invalidate.call(this) }, u.updateTo = function(e, t) { var n, r = this.ratio, s = this.vars.immediateRender || e.immediateRender; t && this._startTime < this._timeline._time && (this._startTime = this._timeline._time, this._uncache(!1), this._gc ? this._enabled(!0, !1) : this._timeline.insert(this, this._startTime - this._delay)); for (n in e) this.vars[n] = e[n]; if (this._initted || s) if (t) this._initted = !1, s && this.render(0, !0, !0); else if (this._gc && this._enabled(!0, !1), this._notifyPluginsOfEnabled && this._firstPT && i._onPluginEvent("_onDisable", this), this._time / this._duration > .998) { var a = this._time; this.render(0, !0, !1), this._initted = !1, this.render(a, !0, !1) } else if (this._time > 0 || s) { this._initted = !1, this._init(); for (var o, l = 1 / (1 - r), u = this._firstPT; u;) o = u.s + u.c, u.c *= l, u.s = o - u.c, u = u._next } return this }, u.render = function(e, t, i) { this._initted || 0 === this._duration && this.vars.repeat && this.invalidate(); var n, r, o, l, u, p, h, d, f = this._dirty ? this.totalDuration() : this._totalDuration, m = this._time, g = this._totalTime, v = this._cycle, _ = this._duration, y = this._rawPrevTime; if (e >= f ? (this._totalTime = f, this._cycle = this._repeat, this._yoyo && 0 !== (1 & this._cycle) ? (this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0) : (this._time = _, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1), this._reversed || (n = !0, r = "onComplete", i = i || this._timeline.autoRemoveChildren), 0 === _ && (this._initted || !this.vars.lazy || i) && (this._startTime === this._timeline._duration && (e = 0), (0 === e || 0 > y || y === s) && y !== e && (i = !0, y > s && (r = "onReverseComplete")), this._rawPrevTime = d = !t || e || y === e ? e : s)) : 1e-7 > e ? (this._totalTime = this._time = this._cycle = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== g || 0 === _ && y > 0) && (r = "onReverseComplete", n = this._reversed), 0 > e && (this._active = !1, 0 === _ && (this._initted || !this.vars.lazy || i) && (y >= 0 && (i = !0), this._rawPrevTime = d = !t || e || y === e ? e : s)), this._initted || (i = !0)) : (this._totalTime = this._time = e, 0 !== this._repeat && (l = _ + this._repeatDelay, this._cycle = this._totalTime / l >> 0, 0 !== this._cycle && this._cycle === this._totalTime / l && this._cycle--, this._time = this._totalTime - this._cycle * l, this._yoyo && 0 !== (1 & this._cycle) && (this._time = _ - this._time), this._time > _ ? this._time = _ : 0 > this._time && (this._time = 0)), this._easeType ? (u = this._time / _, p = this._easeType, h = this._easePower, (1 === p || 3 === p && u >= .5) && (u = 1 - u), 3 === p && (u *= 2), 1 === h ? u *= u : 2 === h ? u *= u * u : 3 === h ? u *= u * u * u : 4 === h && (u *= u * u * u * u), this.ratio = 1 === p ? 1 - u : 2 === p ? u : .5 > this._time / _ ? u / 2 : 1 - u / 2) : this.ratio = this._ease.getRatio(this._time / _)), m === this._time && !i && v === this._cycle) return void(g !== this._totalTime && this._onUpdate && (t || this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || c))); if (!this._initted) { if (this._init(), !this._initted || this._gc) return; if (!i && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = m, this._totalTime = g, this._rawPrevTime = y, this._cycle = v, a.lazyTweens.push(this), void(this._lazy = [e, t]); this._time && !n ? this.ratio = this._ease.getRatio(this._time / _) : n && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1)) } for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== m && e >= 0 && (this._active = !0), 0 === g && (2 === this._initted && e > 0 && this._init(), this._startAt && (e >= 0 ? this._startAt.render(e, t, i) : r || (r = "_dummyGS")), this.vars.onStart && (0 !== this._totalTime || 0 === _) && (t || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || c))), o = this._firstPT; o;) o.f ? o.t[o.p](o.c * this.ratio + o.s) : o.t[o.p] = o.c * this.ratio + o.s, o = o._next; this._onUpdate && (0 > e && this._startAt && this._startTime && this._startAt.render(e, t, i), t || (this._totalTime !== g || n) && this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || c)), this._cycle !== v && (t || this._gc || this.vars.onRepeat && this.vars.onRepeat.apply(this.vars.onRepeatScope || this, this.vars.onRepeatParams || c)), r && (!this._gc || i) && (0 > e && this._startAt && !this._onUpdate && this._startTime && this._startAt.render(e, t, i), n && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !t && this.vars[r] && this.vars[r].apply(this.vars[r + "Scope"] || this, this.vars[r + "Params"] || c), 0 === _ && this._rawPrevTime === s && d !== s && (this._rawPrevTime = 0)) }, r.to = function(e, t, i) { return new r(e, t, i) }, r.from = function(e, t, i) { return i.runBackwards = !0, i.immediateRender = 0 != i.immediateRender, new r(e, t, i) }, r.fromTo = function(e, t, i, n) { return n.startAt = i, n.immediateRender = 0 != n.immediateRender && 0 != i.immediateRender, new r(e, t, n) }, r.staggerTo = r.allTo = function(e, t, s, a, u, p, h) { a = a || 0; var d, f, m, g, v = s.delay || 0, _ = [], y = function() { s.onComplete && s.onComplete.apply(s.onCompleteScope || this, arguments), u.apply(h || this, p || c) }; for (l(e) || ("string" == typeof e && (e = i.selector(e) || e), o(e) && (e = n(e))), e = e || [], 0 > a && (e = n(e), e.reverse(), a *= -1), d = e.length - 1, m = 0; d >= m; m++) { f = {}; for (g in s) f[g] = s[g]; f.delay = v, m === d && u && (f.onComplete = y), _[m] = new r(e[m], t, f), v += a } return _ }, r.staggerFrom = r.allFrom = function(e, t, i, n, s, a, o) { return i.runBackwards = !0, i.immediateRender = 0 != i.immediateRender, r.staggerTo(e, t, i, n, s, a, o) }, r.staggerFromTo = r.allFromTo = function(e, t, i, n, s, a, o, l) { return n.startAt = i, n.immediateRender = 0 != n.immediateRender && 0 != i.immediateRender, r.staggerTo(e, t, n, s, a, o, l) }, r.delayedCall = function(e, t, i, n, s) { return new r(t, 0, { delay: e, onComplete: t, onCompleteParams: i, onCompleteScope: n, onReverseComplete: t, onReverseCompleteParams: i, onReverseCompleteScope: n, immediateRender: !1, useFrames: s, overwrite: 0 }) }, r.set = function(e, t) { return new r(e, 0, t) }, r.isTweening = function(e) { return i.getTweensOf(e, !0).length > 0 }; var p = function(e, t) { for (var n = [], r = 0, s = e._first; s;) s instanceof i ? n[r++] = s : (t && (n[r++] = s), n = n.concat(p(s, t)), r = n.length), s = s._next; return n }, h = r.getAllTweens = function(t) { return p(e._rootTimeline, t).concat(p(e._rootFramesTimeline, t)) }; r.killAll = function(e, i, n, r) { null == i && (i = !0), null == n && (n = !0); var s, a, o, l = h(0 != r), u = l.length, c = i && n && r; for (o = 0; u > o; o++) a = l[o], (c || a instanceof t || (s = a.target === a.vars.onComplete) && n || i && !s) && (e ? a.totalTime(a._reversed ? 0 : a.totalDuration()) : a._enabled(!1, !1)) }, r.killChildTweensOf = function(e, t) { if (null != e) { var s, u, c, p, h, d = a.tweenLookup; if ("string" == typeof e && (e = i.selector(e) || e), o(e) && (e = n(e)), l(e)) for (p = e.length; --p > -1;) r.killChildTweensOf(e[p], t); else { s = []; for (c in d) for (u = d[c].target.parentNode; u;) u === e && (s = s.concat(d[c].tweens)), u = u.parentNode; for (h = s.length, p = 0; h > p; p++) t && s[p].totalTime(s[p].totalDuration()), s[p]._enabled(!1, !1) } } }; var d = function(e, i, n, r) { i = i !== !1, n = n !== !1, r = r !== !1; for (var s, a, o = h(r), l = i && n && r, u = o.length; --u > -1;) a = o[u], (l || a instanceof t || (s = a.target === a.vars.onComplete) && n || i && !s) && a.paused(e) }; return r.pauseAll = function(e, t, i) { d(!0, e, t, i) }, r.resumeAll = function(e, t, i) { d(!1, e, t, i) }, r.globalTimeScale = function(t) { var n = e._rootTimeline, r = i.ticker.time; return arguments.length ? (t = t || s, n._startTime = r - (r - n._startTime) * n._timeScale / t, n = e._rootFramesTimeline, r = i.ticker.frame, n._startTime = r - (r - n._startTime) * n._timeScale / t, n._timeScale = e._rootTimeline._timeScale = t, t) : n._timeScale }, u.progress = function(e) { return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - e : e) + this._cycle * (this._duration + this._repeatDelay), !1) : this._time / this.duration() }, u.totalProgress = function(e) { return arguments.length ? this.totalTime(this.totalDuration() * e, !1) : this._totalTime / this.totalDuration() }, u.time = function(e, t) { return arguments.length ? (this._dirty && this.totalDuration(), e > this._duration && (e = this._duration), this._yoyo && 0 !== (1 & this._cycle) ? e = this._duration - e + this._cycle * (this._duration + this._repeatDelay) : 0 !== this._repeat && (e += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(e, t)) : this._time }, u.duration = function(t) { return arguments.length ? e.prototype.duration.call(this, t) : this._duration }, u.totalDuration = function(e) { return arguments.length ? -1 === this._repeat ? this : this.duration((e - this._repeat * this._repeatDelay) / (this._repeat + 1)) : (this._dirty && (this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat, this._dirty = !1), this._totalDuration) }, u.repeat = function(e) { return arguments.length ? (this._repeat = e, this._uncache(!0)) : this._repeat }, u.repeatDelay = function(e) { return arguments.length ? (this._repeatDelay = e, this._uncache(!0)) : this._repeatDelay }, u.yoyo = function(e) { return arguments.length ? (this._yoyo = e, this) : this._yoyo }, r }, !0), _gsScope._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(e, t, i) { var n = function(e) { t.call(this, e), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate; var i, n, r = this.vars; for (n in r) i = r[n], l(i) && -1 !== i.join("").indexOf("{self}") && (r[n] = this._swapSelfInParams(i)); l(r.tweens) && this.add(r.tweens, 0, r.align, r.stagger) }, r = 1e-10, s = i._internals, a = n._internals = {}, o = s.isSelector, l = s.isArray, u = s.lazyTweens, c = s.lazyRender, p = [], h = _gsScope._gsDefine.globals, d = function(e) { var t, i = {}; for (t in e) i[t] = e[t]; return i }, f = a.pauseCallback = function(e, t, i, n) { var s, a = e._timeline, o = a._totalTime, l = e._startTime, u = 0 > e._rawPrevTime || 0 === e._rawPrevTime && a._reversed, c = u ? 0 : r, h = u ? r : 0; if (t || !this._forcingPlayhead) { for (a.pause(l), s = e._prev; s && s._startTime === l;) s._rawPrevTime = h, s = s._prev; for (s = e._next; s && s._startTime === l;) s._rawPrevTime = c, s = s._next; t && t.apply(n || a, i || p), (this._forcingPlayhead || !a._paused) && a.seek(o) } }, m = function(e) { var t, i = [], n = e.length; for (t = 0; t !== n; i.push(e[t++])); return i }, g = n.prototype = new t; return n.version = "1.16.1", g.constructor = n, g.kill()._gc = g._forcingPlayhead = !1, g.to = function(e, t, n, r) { var s = n.repeat && h.TweenMax || i; return t ? this.add(new s(e, t, n), r) : this.set(e, n, r) }, g.from = function(e, t, n, r) { return this.add((n.repeat && h.TweenMax || i).from(e, t, n), r) }, g.fromTo = function(e, t, n, r, s) { var a = r.repeat && h.TweenMax || i; return t ? this.add(a.fromTo(e, t, n, r), s) : this.set(e, r, s) }, g.staggerTo = function(e, t, r, s, a, l, u, c) { var p, h = new n({ onComplete: l, onCompleteParams: u, onCompleteScope: c, smoothChildTiming: this.smoothChildTiming }); for ("string" == typeof e && (e = i.selector(e) || e), e = e || [], o(e) && (e = m(e)), s = s || 0, 0 > s && (e = m(e), e.reverse(), s *= -1), p = 0; e.length > p; p++) r.startAt && (r.startAt = d(r.startAt)), h.to(e[p], t, d(r), p * s); return this.add(h, a) }, g.staggerFrom = function(e, t, i, n, r, s, a, o) { return i.immediateRender = 0 != i.immediateRender, i.runBackwards = !0, this.staggerTo(e, t, i, n, r, s, a, o) }, g.staggerFromTo = function(e, t, i, n, r, s, a, o, l) { return n.startAt = i, n.immediateRender = 0 != n.immediateRender && 0 != i.immediateRender, this.staggerTo(e, t, n, r, s, a, o, l) }, g.call = function(e, t, n, r) { return this.add(i.delayedCall(0, e, t, n), r) }, g.set = function(e, t, n) { return n = this._parseTimeOrLabel(n, 0, !0), null == t.immediateRender && (t.immediateRender = n === this._time && !this._paused), this.add(new i(e, 0, t), n) }, n.exportRoot = function(e, t) { e = e || {}, null == e.smoothChildTiming && (e.smoothChildTiming = !0); var r, s, a = new n(e), o = a._timeline; for (null == t && (t = !0), o._remove(a, !0), a._startTime = 0, a._rawPrevTime = a._time = a._totalTime = o._time, r = o._first; r;) s = r._next, t && r instanceof i && r.target === r.vars.onComplete || a.add(r, r._startTime - r._delay), r = s; return o.add(a, 0), a }, g.add = function(r, s, a, o) { var u, c, p, h, d, f; if ("number" != typeof s && (s = this._parseTimeOrLabel(s, 0, !0, r)), !(r instanceof e)) { if (r instanceof Array || r && r.push && l(r)) { for (a = a || "normal", o = o || 0, u = s, c = r.length, p = 0; c > p; p++) l(h = r[p]) && (h = new n({ tweens: h })), this.add(h, u), "string" != typeof h && "function" != typeof h && ("sequence" === a ? u = h._startTime + h.totalDuration() / h._timeScale : "start" === a && (h._startTime -= h.delay())), u += o; return this._uncache(!0) } if ("string" == typeof r) return this.addLabel(r, s); if ("function" != typeof r) throw "Cannot add " + r + " into the timeline; it is not a tween, timeline, function, or string."; r = i.delayedCall(0, r) } if (t.prototype.add.call(this, r, s), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration()) for (d = this, f = d.rawTime() > r._startTime; d._timeline;) f && d._timeline.smoothChildTiming ? d.totalTime(d._totalTime, !0) : d._gc && d._enabled(!0, !1), d = d._timeline; return this }, g.remove = function(t) { if (t instanceof e) return this._remove(t, !1); if (t instanceof Array || t && t.push && l(t)) { for (var i = t.length; --i > -1;) this.remove(t[i]); return this } return "string" == typeof t ? this.removeLabel(t) : this.kill(null, t) }, g._remove = function(e, i) { t.prototype._remove.call(this, e, i); var n = this._last; return n ? this._time > n._startTime + n._totalDuration / n._timeScale && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this }, g.append = function(e, t) { return this.add(e, this._parseTimeOrLabel(null, t, !0, e)) }, g.insert = g.insertMultiple = function(e, t, i, n) { return this.add(e, t || 0, i, n) }, g.appendMultiple = function(e, t, i, n) { return this.add(e, this._parseTimeOrLabel(null, t, !0, e), i, n) }, g.addLabel = function(e, t) { return this._labels[e] = this._parseTimeOrLabel(t), this }, g.addPause = function(e, t, n, r) { var s = i.delayedCall(0, f, ["{self}", t, n, r], this); return s.data = "isPause", this.add(s, e) }, g.removeLabel = function(e) { return delete this._labels[e], this }, g.getLabelTime = function(e) { return null != this._labels[e] ? this._labels[e] : -1 }, g._parseTimeOrLabel = function(t, i, n, r) { var s; if (r instanceof e && r.timeline === this) this.remove(r); else if (r && (r instanceof Array || r.push && l(r))) for (s = r.length; --s > -1;) r[s] instanceof e && r[s].timeline === this && this.remove(r[s]); if ("string" == typeof i) return this._parseTimeOrLabel(i, n && "number" == typeof t && null == this._labels[i] ? t - this.duration() : 0, n); if (i = i || 0, "string" != typeof t || !isNaN(t) && null == this._labels[t]) null == t && (t = this.duration()); else { if (s = t.indexOf("="), -1 === s) return null == this._labels[t] ? n ? this._labels[t] = this.duration() + i : i : this._labels[t] + i; i = parseInt(t.charAt(s - 1) + "1", 10) * Number(t.substr(s + 1)), t = s > 1 ? this._parseTimeOrLabel(t.substr(0, s - 1), 0, n) : this.duration() } return Number(t) + i }, g.seek = function(e, t) { return this.totalTime("number" == typeof e ? e : this._parseTimeOrLabel(e), t !== !1) }, g.stop = function() { return this.paused(!0) }, g.gotoAndPlay = function(e, t) { return this.play(e, t) }, g.gotoAndStop = function(e, t) { return this.pause(e, t) }, g.render = function(e, t, i) { this._gc && this._enabled(!0, !1); var n, s, a, o, l, h = this._dirty ? this.totalDuration() : this._totalDuration, d = this._time, f = this._startTime, m = this._timeScale, g = this._paused; if (e >= h) this._totalTime = this._time = h, this._reversed || this._hasPausedChild() || (s = !0, o = "onComplete", l = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 === e || 0 > this._rawPrevTime || this._rawPrevTime === r) && this._rawPrevTime !== e && this._first && (l = !0, this._rawPrevTime > r && (o = "onReverseComplete"))), this._rawPrevTime = this._duration || !t || e || this._rawPrevTime === e ? e : r, e = h + 1e-4; else if (1e-7 > e) if (this._totalTime = this._time = 0, (0 !== d || 0 === this._duration && this._rawPrevTime !== r && (this._rawPrevTime > 0 || 0 > e && this._rawPrevTime >= 0)) && (o = "onReverseComplete", s = this._reversed), 0 > e) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (l = s = !0, o = "onReverseComplete") : this._rawPrevTime >= 0 && this._first && (l = !0), this._rawPrevTime = e; else { if (this._rawPrevTime = this._duration || !t || e || this._rawPrevTime === e ? e : r, 0 === e && s) for (n = this._first; n && 0 === n._startTime;) n._duration || (s = !1), n = n._next; e = 0, this._initted || (l = !0) } else this._totalTime = this._time = this._rawPrevTime = e; if (this._time !== d && this._first || i || l) { if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== d && e > 0 && (this._active = !0), 0 === d && this.vars.onStart && 0 !== this._time && (t || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || p)), this._time >= d) for (n = this._first; n && (a = n._next, !this._paused || g);)(n._active || n._startTime <= this._time && !n._paused && !n._gc) && (n._reversed ? n.render((n._dirty ? n.totalDuration() : n._totalDuration) - (e - n._startTime) * n._timeScale, t, i) : n.render((e - n._startTime) * n._timeScale, t, i)), n = a; else for (n = this._last; n && (a = n._prev, !this._paused || g);)(n._active || d >= n._startTime && !n._paused && !n._gc) && (n._reversed ? n.render((n._dirty ? n.totalDuration() : n._totalDuration) - (e - n._startTime) * n._timeScale, t, i) : n.render((e - n._startTime) * n._timeScale, t, i)), n = a; this._onUpdate && (t || (u.length && c(), this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || p))), o && (this._gc || (f === this._startTime || m !== this._timeScale) && (0 === this._time || h >= this.totalDuration()) && (s && (u.length && c(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !t && this.vars[o] && this.vars[o].apply(this.vars[o + "Scope"] || this, this.vars[o + "Params"] || p))) } }, g._hasPausedChild = function() { for (var e = this._first; e;) { if (e._paused || e instanceof n && e._hasPausedChild()) return !0; e = e._next } return !1 }, g.getChildren = function(e, t, n, r) { r = r || -9999999999; for (var s = [], a = this._first, o = 0; a;) r > a._startTime || (a instanceof i ? t !== !1 && (s[o++] = a) : (n !== !1 && (s[o++] = a), e !== !1 && (s = s.concat(a.getChildren(!0, t, n)), o = s.length))), a = a._next; return s }, g.getTweensOf = function(e, t) { var n, r, s = this._gc, a = [], o = 0; for (s && this._enabled(!0, !0), n = i.getTweensOf(e), r = n.length; --r > -1;)(n[r].timeline === this || t && this._contains(n[r])) && (a[o++] = n[r]); return s && this._enabled(!1, !0), a }, g.recent = function() { return this._recent }, g._contains = function(e) { for (var t = e.timeline; t;) { if (t === this) return !0; t = t.timeline } return !1 }, g.shiftChildren = function(e, t, i) { i = i || 0; for (var n, r = this._first, s = this._labels; r;) r._startTime >= i && (r._startTime += e), r = r._next; if (t) for (n in s) s[n] >= i && (s[n] += e); return this._uncache(!0) }, g._kill = function(e, t) { if (!e && !t) return this._enabled(!1, !1); for (var i = t ? this.getTweensOf(t) : this.getChildren(!0, !0, !1), n = i.length, r = !1; --n > -1;) i[n]._kill(e, t) && (r = !0); return r }, g.clear = function(e) { var t = this.getChildren(!1, !0, !0), i = t.length; for (this._time = this._totalTime = 0; --i > -1;) t[i]._enabled(!1, !1); return e !== !1 && (this._labels = {}), this._uncache(!0) }, g.invalidate = function() { for (var t = this._first; t;) t.invalidate(), t = t._next; return e.prototype.invalidate.call(this) }, g._enabled = function(e, i) { if (e === this._gc) for (var n = this._first; n;) n._enabled(e, !0), n = n._next; return t.prototype._enabled.call(this, e, i) }, g.totalTime = function() { this._forcingPlayhead = !0; var t = e.prototype.totalTime.apply(this, arguments); return this._forcingPlayhead = !1, t }, g.duration = function(e) { return arguments.length ? (0 !== this.duration() && 0 !== e && this.timeScale(this._duration / e), this) : (this._dirty && this.totalDuration(), this._duration) }, g.totalDuration = function(e) { if (!arguments.length) { if (this._dirty) { for (var t, i, n = 0, r = this._last, s = 999999999999; r;) t = r._prev, r._dirty && r.totalDuration(), r._startTime > s && this._sortChildren && !r._paused ? this.add(r, r._startTime - r._delay) : s = r._startTime, 0 > r._startTime && !r._paused && (n -= r._startTime, this._timeline.smoothChildTiming && (this._startTime += r._startTime / this._timeScale), this.shiftChildren(-r._startTime, !1, -9999999999), s = 0), i = r._startTime + r._totalDuration / r._timeScale, i > n && (n = i), r = t; this._duration = this._totalDuration = n, this._dirty = !1 } return this._totalDuration } return 0 !== this.totalDuration() && 0 !== e && this.timeScale(this._totalDuration / e), this }, g.paused = function(t) { if (!t) for (var i = this._first, n = this._time; i;) i._startTime === n && "isPause" === i.data && (i._rawPrevTime = 0), i = i._next; return e.prototype.paused.apply(this, arguments) }, g.usesFrames = function() { for (var t = this._timeline; t._timeline;) t = t._timeline; return t === e._rootFramesTimeline }, g.rawTime = function() { return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale }, n }, !0), _gsScope._gsDefine("TimelineMax", ["TimelineLite", "TweenLite", "easing.Ease"], function(e, t, i) { var n = function(t) { e.call(this, t), this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._dirty = !0 }, r = 1e-10, s = [], a = t._internals, o = a.lazyTweens, l = a.lazyRender, u = new i(null, null, 1, 0), c = n.prototype = new e; return c.constructor = n, c.kill()._gc = !1, n.version = "1.16.1", c.invalidate = function() { return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), e.prototype.invalidate.call(this) }, c.addCallback = function(e, i, n, r) { return this.add(t.delayedCall(0, e, n, r), i) }, c.removeCallback = function(e, t) { if (e) if (null == t) this._kill(null, e); else for (var i = this.getTweensOf(e, !1), n = i.length, r = this._parseTimeOrLabel(t); --n > -1;) i[n]._startTime === r && i[n]._enabled(!1, !1); return this }, c.removePause = function(t) { return this.removeCallback(e._internals.pauseCallback, t) }, c.tweenTo = function(e, i) { i = i || {}; var n, r, a, o = { ease: u, useFrames: this.usesFrames(), immediateRender: !1 }; for (r in i) o[r] = i[r]; return o.time = this._parseTimeOrLabel(e), n = Math.abs(Number(o.time) - this._time) / this._timeScale || .001, a = new t(this, n, o), o.onStart = function() { a.target.paused(!0), a.vars.time !== a.target.time() && n === a.duration() && a.duration(Math.abs(a.vars.time - a.target.time()) / a.target._timeScale), i.onStart && i.onStart.apply(i.onStartScope || a, i.onStartParams || s) }, a }, c.tweenFromTo = function(e, t, i) { i = i || {}, e = this._parseTimeOrLabel(e), i.startAt = { onComplete: this.seek, onCompleteParams: [e], onCompleteScope: this }, i.immediateRender = i.immediateRender !== !1; var n = this.tweenTo(t, i); return n.duration(Math.abs(n.vars.time - e) / this._timeScale || .001) }, c.render = function(e, t, i) { this._gc && this._enabled(!0, !1); var n, a, u, c, p, h, d = this._dirty ? this.totalDuration() : this._totalDuration, f = this._duration, m = this._time, g = this._totalTime, v = this._startTime, _ = this._timeScale, y = this._rawPrevTime, w = this._paused, x = this._cycle; if (e >= d) this._locked || (this._totalTime = d, this._cycle = this._repeat), this._reversed || this._hasPausedChild() || (a = !0, c = "onComplete", p = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 === e || 0 > y || y === r) && y !== e && this._first && (p = !0, y > r && (c = "onReverseComplete"))), this._rawPrevTime = this._duration || !t || e || this._rawPrevTime === e ? e : r, this._yoyo && 0 !== (1 & this._cycle) ? this._time = e = 0 : (this._time = f, e = f + 1e-4); else if (1e-7 > e) if (this._locked || (this._totalTime = this._cycle = 0), this._time = 0, (0 !== m || 0 === f && y !== r && (y > 0 || 0 > e && y >= 0) && !this._locked) && (c = "onReverseComplete", a = this._reversed), 0 > e) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (p = a = !0, c = "onReverseComplete") : y >= 0 && this._first && (p = !0), this._rawPrevTime = e; else { if (this._rawPrevTime = f || !t || e || this._rawPrevTime === e ? e : r, 0 === e && a) for (n = this._first; n && 0 === n._startTime;) n._duration || (a = !1), n = n._next; e = 0, this._initted || (p = !0) } else 0 === f && 0 > y && (p = !0), this._time = this._rawPrevTime = e, this._locked || (this._totalTime = e, 0 !== this._repeat && (h = f + this._repeatDelay, this._cycle = this._totalTime / h >> 0, 0 !== this._cycle && this._cycle === this._totalTime / h && this._cycle--, this._time = this._totalTime - this._cycle * h, this._yoyo && 0 !== (1 & this._cycle) && (this._time = f - this._time), this._time > f ? (this._time = f, e = f + 1e-4) : 0 > this._time ? this._time = e = 0 : e = this._time)); if (this._cycle !== x && !this._locked) { var b = this._yoyo && 0 !== (1 & x), T = b === (this._yoyo && 0 !== (1 & this._cycle)), S = this._totalTime, C = this._cycle, P = this._rawPrevTime, k = this._time; if (this._totalTime = x * f, x > this._cycle ? b = !b : this._totalTime += f, this._time = m, this._rawPrevTime = 0 === f ? y - 1e-4 : y, this._cycle = x, this._locked = !0, m = b ? 0 : f, this.render(m, t, 0 === f), t || this._gc || this.vars.onRepeat && this.vars.onRepeat.apply(this.vars.onRepeatScope || this, this.vars.onRepeatParams || s), T && (m = b ? f + 1e-4 : -1e-4, this.render(m, !0, !1)), this._locked = !1, this._paused && !w) return; this._time = k, this._totalTime = S, this._cycle = C, this._rawPrevTime = P } if (!(this._time !== m && this._first || i || p)) return void(g !== this._totalTime && this._onUpdate && (t || this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || s))); if (this._initted || (this._initted = !0), this._active || !this._paused && this._totalTime !== g && e > 0 && (this._active = !0), 0 === g && this.vars.onStart && 0 !== this._totalTime && (t || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || s)), this._time >= m) for (n = this._first; n && (u = n._next, !this._paused || w);)(n._active || n._startTime <= this._time && !n._paused && !n._gc) && (n._reversed ? n.render((n._dirty ? n.totalDuration() : n._totalDuration) - (e - n._startTime) * n._timeScale, t, i) : n.render((e - n._startTime) * n._timeScale, t, i)), n = u; else for (n = this._last; n && (u = n._prev, !this._paused || w);)(n._active || m >= n._startTime && !n._paused && !n._gc) && (n._reversed ? n.render((n._dirty ? n.totalDuration() : n._totalDuration) - (e - n._startTime) * n._timeScale, t, i) : n.render((e - n._startTime) * n._timeScale, t, i)), n = u; this._onUpdate && (t || (o.length && l(), this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || s))), c && (this._locked || this._gc || (v === this._startTime || _ !== this._timeScale) && (0 === this._time || d >= this.totalDuration()) && (a && (o.length && l(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !t && this.vars[c] && this.vars[c].apply(this.vars[c + "Scope"] || this, this.vars[c + "Params"] || s))) }, c.getActive = function(e, t, i) { null == e && (e = !0), null == t && (t = !0), null == i && (i = !1); var n, r, s = [], a = this.getChildren(e, t, i), o = 0, l = a.length; for (n = 0; l > n; n++) r = a[n], r.isActive() && (s[o++] = r); return s }, c.getLabelAfter = function(e) { e || 0 !== e && (e = this._time); var t, i = this.getLabelsArray(), n = i.length; for (t = 0; n > t; t++) if (i[t].time > e) return i[t].name; return null }, c.getLabelBefore = function(e) { null == e && (e = this._time); for (var t = this.getLabelsArray(), i = t.length; --i > -1;) if (e > t[i].time) return t[i].name; return null }, c.getLabelsArray = function() { var e, t = [], i = 0; for (e in this._labels) t[i++] = { time: this._labels[e], name: e }; return t.sort(function(e, t) { return e.time - t.time }), t }, c.progress = function(e, t) { return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - e : e) + this._cycle * (this._duration + this._repeatDelay), t) : this._time / this.duration() }, c.totalProgress = function(e, t) { return arguments.length ? this.totalTime(this.totalDuration() * e, t) : this._totalTime / this.totalDuration() }, c.totalDuration = function(t) { return arguments.length ? -1 === this._repeat ? this : this.duration((t - this._repeat * this._repeatDelay) / (this._repeat + 1)) : (this._dirty && (e.prototype.totalDuration.call(this), this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat), this._totalDuration) }, c.time = function(e, t) { return arguments.length ? (this._dirty && this.totalDuration(), e > this._duration && (e = this._duration), this._yoyo && 0 !== (1 & this._cycle) ? e = this._duration - e + this._cycle * (this._duration + this._repeatDelay) : 0 !== this._repeat && (e += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(e, t)) : this._time }, c.repeat = function(e) { return arguments.length ? (this._repeat = e, this._uncache(!0)) : this._repeat }, c.repeatDelay = function(e) { return arguments.length ? (this._repeatDelay = e, this._uncache(!0)) : this._repeatDelay }, c.yoyo = function(e) { return arguments.length ? (this._yoyo = e, this) : this._yoyo }, c.currentLabel = function(e) { return arguments.length ? this.seek(e, !0) : this.getLabelBefore(this._time + 1e-8) }, n }, !0), function() { var e = 180 / Math.PI, t = [], i = [], n = [], r = {}, s = _gsScope._gsDefine.globals, a = function(e, t, i, n) { this.a = e, this.b = t, this.c = i, this.d = n, this.da = n - e, this.ca = i - e, this.ba = t - e }, o = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,", l = function(e, t, i, n) { var r = { a: e }, s = {}, a = {}, o = { c: n }, l = (e + t) / 2, u = (t + i) / 2, c = (i + n) / 2, p = (l + u) / 2, h = (u + c) / 2, d = (h - p) / 8; return r.b = l + (e - l) / 4, s.b = p + d, r.c = s.a = (r.b + s.b) / 2, s.c = a.a = (p + h) / 2, a.b = h - d, o.b = c + (n - c) / 4, a.c = o.a = (a.b + o.b) / 2, [r, s, a, o] }, u = function(e, r, s, a, o) { var u, c, p, h, d, f, m, g, v, _, y, w, x, b = e.length - 1, T = 0, S = e[0].a; for (u = 0; b > u; u++) d = e[T], c = d.a, p = d.d, h = e[T + 1].d, o ? (y = t[u], w = i[u], x = .25 * (w + y) * r / (a ? .5 : n[u] || .5), f = p - (p - c) * (a ? .5 * r : 0 !== y ? x / y : 0), m = p + (h - p) * (a ? .5 * r : 0 !== w ? x / w : 0), g = p - (f + ((m - f) * (3 * y / (y + w) + .5) / 4 || 0))) : (f = p - .5 * (p - c) * r, m = p + .5 * (h - p) * r, g = p - (f + m) / 2), f += g, m += g, d.c = v = f, d.b = 0 !== u ? S : S = d.a + .6 * (d.c - d.a), d.da = p - c, d.ca = v - c, d.ba = S - c, s ? (_ = l(c, S, v, p), e.splice(T, 1, _[0], _[1], _[2], _[3]), T += 4) : T++, S = m; d = e[T], d.b = S, d.c = S + .4 * (d.d - S), d.da = d.d - d.a, d.ca = d.c - d.a, d.ba = S - d.a, s && (_ = l(d.a, S, d.c, d.d), e.splice(T, 1, _[0], _[1], _[2], _[3])) }, c = function(e, n, r, s) { var o, l, u, c, p, h, d = []; if (s) for (e = [s].concat(e), l = e.length; --l > -1;) "string" == typeof(h = e[l][n]) && "=" === h.charAt(1) && (e[l][n] = s[n] + Number(h.charAt(0) + h.substr(2))); if (o = e.length - 2, 0 > o) return d[0] = new a(e[0][n], 0, 0, e[-1 > o ? 0 : 1][n]), d; for (l = 0; o > l; l++) u = e[l][n], c = e[l + 1][n], d[l] = new a(u, 0, 0, c), r && (p = e[l + 2][n], t[l] = (t[l] || 0) + (c - u) * (c - u), i[l] = (i[l] || 0) + (p - c) * (p - c)); return d[l] = new a(e[l][n], 0, 0, e[l + 1][n]), d }, p = function(e, s, a, l, p, h) { var d, f, m, g, v, _, y, w, x = {}, b = [], T = h || e[0]; p = "string" == typeof p ? "," + p + "," : o, null == s && (s = 1); for (f in e[0]) b.push(f); if (e.length > 1) { for (w = e[e.length - 1], y = !0, d = b.length; --d > -1;) if (f = b[d], Math.abs(T[f] - w[f]) > .05) { y = !1; break } y && (e = e.concat(), h && e.unshift(h), e.push(e[1]), h = e[e.length - 3]) } for (t.length = i.length = n.length = 0, d = b.length; --d > -1;) f = b[d], r[f] = -1 !== p.indexOf("," + f + ","), x[f] = c(e, f, r[f], h); for (d = t.length; --d > -1;) t[d] = Math.sqrt(t[d]), i[d] = Math.sqrt(i[d]); if (!l) { for (d = b.length; --d > -1;) if (r[f]) for (m = x[b[d]], _ = m.length - 1, g = 0; _ > g; g++) v = m[g + 1].da / i[g] + m[g].da / t[g], n[g] = (n[g] || 0) + v * v; for (d = n.length; --d > -1;) n[d] = Math.sqrt(n[d]) } for (d = b.length, g = a ? 4 : 1; --d > -1;) f = b[d], m = x[f], u(m, s, a, l, r[f]), y && (m.splice(0, g), m.splice(m.length - g, g)); return x }, h = function(e, t, i) { t = t || "soft"; var n, r, s, o, l, u, c, p, h, d, f, m = {}, g = "cubic" === t ? 3 : 2, v = "soft" === t, _ = []; if (v && i && (e = [i].concat(e)), null == e || g + 1 > e.length) throw "invalid Bezier data"; for (h in e[0]) _.push(h); for (u = _.length; --u > -1;) { for (h = _[u], m[h] = l = [], d = 0, p = e.length, c = 0; p > c; c++) n = null == i ? e[c][h] : "string" == typeof(f = e[c][h]) && "=" === f.charAt(1) ? i[h] + Number(f.charAt(0) + f.substr(2)) : Number(f), v && c > 1 && p - 1 > c && (l[d++] = (n + l[d - 2]) / 2), l[d++] = n; for (p = d - g + 1, d = 0, c = 0; p > c; c += g) n = l[c], r = l[c + 1], s = l[c + 2], o = 2 === g ? 0 : l[c + 3], l[d++] = f = 3 === g ? new a(n, r, s, o) : new a(n, (2 * r + n) / 3, (2 * r + s) / 3, s); l.length = d } return m }, d = function(e, t, i) { for (var n, r, s, a, o, l, u, c, p, h, d, f = 1 / i, m = e.length; --m > -1;) for (h = e[m], s = h.a, a = h.d - s, o = h.c - s, l = h.b - s, n = r = 0, c = 1; i >= c; c++) u = f * c, p = 1 - u, n = r - (r = (u * u * a + 3 * p * (u * o + p * l)) * u), d = m * i + c - 1, t[d] = (t[d] || 0) + n * n }, f = function(e, t) { t = t >> 0 || 6; var i, n, r, s, a = [], o = [], l = 0, u = 0, c = t - 1, p = [], h = []; for (i in e) d(e[i], a, t); for (r = a.length, n = 0; r > n; n++) l += Math.sqrt(a[n]), s = n % t, h[s] = l, s === c && (u += l, s = n / t >> 0, p[s] = h, o[s] = u, l = 0, h = []); return { length: u, lengths: o, segments: p } }, m = _gsScope._gsDefine.plugin({ propName: "bezier", priority: -1, version: "1.3.4", API: 2, global: !0, init: function(e, t, i) { this._target = e, t instanceof Array && (t = { values: t }), this._func = {}, this._round = {}, this._props = [], this._timeRes = null == t.timeResolution ? 6 : parseInt(t.timeResolution, 10); var n, r, s, a, o, l = t.values || [], u = {}, c = l[0], d = t.autoRotate || i.vars.orientToBezier; this._autoRotate = d ? d instanceof Array ? d : [ ["x", "y", "rotation", d === !0 ? 0 : Number(d) || 0] ] : null; for (n in c) this._props.push(n); for (s = this._props.length; --s > -1;) n = this._props[s], this._overwriteProps.push(n), r = this._func[n] = "function" == typeof e[n], u[n] = r ? e[n.indexOf("set") || "function" != typeof e["get" + n.substr(3)] ? n : "get" + n.substr(3)]() : parseFloat(e[n]), o || u[n] !== l[0][n] && (o = u); if (this._beziers = "cubic" !== t.type && "quadratic" !== t.type && "soft" !== t.type ? p(l, isNaN(t.curviness) ? 1 : t.curviness, !1, "thruBasic" === t.type, t.correlate, o) : h(l, t.type, u), this._segCount = this._beziers[n].length, this._timeRes) { var m = f(this._beziers, this._timeRes); this._length = m.length, this._lengths = m.lengths, this._segments = m.segments, this._l1 = this._li = this._s1 = this._si = 0, this._l2 = this._lengths[0], this._curSeg = this._segments[0], this._s2 = this._curSeg[0], this._prec = 1 / this._curSeg.length } if (d = this._autoRotate) for (this._initialRotations = [], d[0] instanceof Array || (this._autoRotate = d = [d]), s = d.length; --s > -1;) { for (a = 0; 3 > a; a++) n = d[s][a], this._func[n] = "function" == typeof e[n] ? e[n.indexOf("set") || "function" != typeof e["get" + n.substr(3)] ? n : "get" + n.substr(3)] : !1; n = d[s][2], this._initialRotations[s] = this._func[n] ? this._func[n].call(this._target) : this._target[n] } return this._startRatio = i.vars.runBackwards ? 1 : 0, !0 }, set: function(t) { var i, n, r, s, a, o, l, u, c, p, h = this._segCount, d = this._func, f = this._target, m = t !== this._startRatio; if (this._timeRes) { if (c = this._lengths, p = this._curSeg, t *= this._length, r = this._li, t > this._l2 && h - 1 > r) { for (u = h - 1; u > r && t >= (this._l2 = c[++r]);); this._l1 = c[r - 1], this._li = r, this._curSeg = p = this._segments[r], this._s2 = p[this._s1 = this._si = 0] } else if (this._l1 > t && r > 0) { for (; r > 0 && (this._l1 = c[--r]) >= t;); 0 === r && this._l1 > t ? this._l1 = 0 : r++, this._l2 = c[r], this._li = r, this._curSeg = p = this._segments[r], this._s1 = p[(this._si = p.length - 1) - 1] || 0, this._s2 = p[this._si] } if (i = r, t -= this._l1, r = this._si, t > this._s2 && p.length - 1 > r) { for (u = p.length - 1; u > r && t >= (this._s2 = p[++r]);); this._s1 = p[r - 1], this._si = r } else if (this._s1 > t && r > 0) { for (; r > 0 && (this._s1 = p[--r]) >= t;); 0 === r && this._s1 > t ? this._s1 = 0 : r++, this._s2 = p[r], this._si = r } o = (r + (t - this._s1) / (this._s2 - this._s1)) * this._prec } else i = 0 > t ? 0 : t >= 1 ? h - 1 : h * t >> 0, o = (t - i * (1 / h)) * h; for (n = 1 - o, r = this._props.length; --r > -1;) s = this._props[r], a = this._beziers[s][i], l = (o * o * a.da + 3 * n * (o * a.ca + n * a.ba)) * o + a.a, this._round[s] && (l = Math.round(l)), d[s] ? f[s](l) : f[s] = l; if (this._autoRotate) { var g, v, _, y, w, x, b, T = this._autoRotate; for (r = T.length; --r > -1;) s = T[r][2], x = T[r][3] || 0, b = T[r][4] === !0 ? 1 : e, a = this._beziers[T[r][0]], g = this._beziers[T[r][1]], a && g && (a = a[i], g = g[i], v = a.a + (a.b - a.a) * o, y = a.b + (a.c - a.b) * o, v += (y - v) * o, y += (a.c + (a.d - a.c) * o - y) * o, _ = g.a + (g.b - g.a) * o, w = g.b + (g.c - g.b) * o, _ += (w - _) * o, w += (g.c + (g.d - g.c) * o - w) * o, l = m ? Math.atan2(w - _, y - v) * b + x : this._initialRotations[r], d[s] ? f[s](l) : f[s] = l) } } }), g = m.prototype; m.bezierThrough = p, m.cubicToQuadratic = l, m._autoCSS = !0, m.quadraticToCubic = function(e, t, i) { return new a(e, (2 * t + e) / 3, (2 * t + i) / 3, i) }, m._cssRegister = function() { var e = s.CSSPlugin; if (e) { var t = e._internals, i = t._parseToProxy, n = t._setPluginRatio, r = t.CSSPropTween; t._registerComplexSpecialProp("bezier", { parser: function(e, t, s, a, o, l) { t instanceof Array && (t = { values: t }), l = new m; var u, c, p, h = t.values, d = h.length - 1, f = [], g = {}; if (0 > d) return o; for (u = 0; d >= u; u++) p = i(e, h[u], a, o, l, d !== u), f[u] = p.end; for (c in t) g[c] = t[c]; return g.values = f, o = new r(e, "bezier", 0, 0, p.pt, 2), o.data = p, o.plugin = l, o.setRatio = n, 0 === g.autoRotate && (g.autoRotate = !0), !g.autoRotate || g.autoRotate instanceof Array || (u = g.autoRotate === !0 ? 0 : Number(g.autoRotate), g.autoRotate = null != p.end.left ? [ ["left", "top", "rotation", u, !1] ] : null != p.end.x ? [ ["x", "y", "rotation", u, !1] ] : !1), g.autoRotate && (a._transform || a._enableTransforms(!1), p.autoRotate = a._target._gsTransform), l._onInitTween(p.proxy, g, a._tween), o } }) } }, g._roundProps = function(e, t) { for (var i = this._overwriteProps, n = i.length; --n > -1;)(e[i[n]] || e.bezier || e.bezierThrough) && (this._round[i[n]] = t) }, g._kill = function(e) { var t, i, n = this._props; for (t in this._beziers) if (t in e) for (delete this._beziers[t], delete this._func[t], i = n.length; --i > -1;) n[i] === t && n.splice(i, 1); return this._super._kill.call(this, e) } }(), _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function(e, t) { var i, n, r, s, a = function() { e.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = a.prototype.setRatio }, o = _gsScope._gsDefine.globals, l = {}, u = a.prototype = new e("css"); u.constructor = a, a.version = "1.16.1", a.API = 2, a.defaultTransformPerspective = 0, a.defaultSkewType = "compensated", u = "px", a.suffixMap = { top: u, right: u, bottom: u, left: u, width: u, height: u, fontSize: u, padding: u, margin: u, perspective: u, lineHeight: "" }; var c, p, h, d, f, m, g = /(?:\d|\-\d|\.\d|\-\.\d)+/g, v = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g, _ = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, y = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g, w = /(?:\d|\-|\+|=|#|\.)*/g, x = /opacity *= *([^)]*)/i, b = /opacity:([^;]*)/i, T = /alpha\(opacity *=.+?\)/i, S = /^(rgb|hsl)/, C = /([A-Z])/g, P = /-([a-z])/gi, k = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, D = function(e, t) { return t.toUpperCase() }, E = /(?:Left|Right|Width)/i, O = /(M11|M12|M21|M22)=[\d\-\.e]+/gi, M = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, A = /,(?=[^\)]*(?:\(|$))/gi, R = Math.PI / 180, L = 180 / Math.PI, N = {}, I = document, z = function(e) { return I.createElementNS ? I.createElementNS("http://www.w3.org/1999/xhtml", e) : I.createElement(e) }, F = z("div"), j = z("img"), B = a._internals = { _specialProps: l }, X = navigator.userAgent, $ = function() { var e = X.indexOf("Android"), t = z("a"); return h = -1 !== X.indexOf("Safari") && -1 === X.indexOf("Chrome") && (-1 === e || Number(X.substr(e + 8, 1)) > 3), f = h && 6 > Number(X.substr(X.indexOf("Version/") + 8, 1)), d = -1 !== X.indexOf("Firefox"), (/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(X) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(X)) && (m = parseFloat(RegExp.$1)), t ? (t.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(t.style.opacity)) : !1 }(), q = function(e) { return x.test("string" == typeof e ? e : (e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1 }, H = function(e) { window.console && console.log(e) }, W = "", V = "", Y = function(e, t) { t = t || F; var i, n, r = t.style; if (void 0 !== r[e]) return e; for (e = e.charAt(0).toUpperCase() + e.substr(1), i = ["O", "Moz", "ms", "Ms", "Webkit"], n = 5; --n > -1 && void 0 === r[i[n] + e];); return n >= 0 ? (V = 3 === n ? "ms" : i[n], W = "-" + V.toLowerCase() + "-", V + e) : null }, G = I.defaultView ? I.defaultView.getComputedStyle : function() {}, U = a.getStyle = function(e, t, i, n, r) { var s; return $ || "opacity" !== t ? (!n && e.style[t] ? s = e.style[t] : (i = i || G(e)) ? s = i[t] || i.getPropertyValue(t) || i.getPropertyValue(t.replace(C, "-$1").toLowerCase()) : e.currentStyle && (s = e.currentStyle[t]), null == r || s && "none" !== s && "auto" !== s && "auto auto" !== s ? s : r) : q(e) }, Q = B.convertToPixels = function(e, i, n, r, s) { if ("px" === r || !r) return n; if ("auto" === r || !n) return 0; var o, l, u, c = E.test(i), p = e, h = F.style, d = 0 > n; if (d && (n = -n), "%" === r && -1 !== i.indexOf("border")) o = n / 100 * (c ? e.clientWidth : e.clientHeight); else { if (h.cssText = "border:0 solid red;position:" + U(e, "position") + ";line-height:0;", "%" !== r && p.appendChild) h[c ? "borderLeftWidth" : "borderTopWidth"] = n + r; else { if (p = e.parentNode || I.body, l = p._gsCache, u = t.ticker.frame, l && c && l.time === u) return l.width * n / 100; h[c ? "width" : "height"] = n + r } p.appendChild(F), o = parseFloat(F[c ? "offsetWidth" : "offsetHeight"]), p.removeChild(F), c && "%" === r && a.cacheWidths !== !1 && (l = p._gsCache = p._gsCache || {}, l.time = u, l.width = 100 * (o / n)), 0 !== o || s || (o = Q(e, i, n, r, !0)) } return d ? -o : o }, Z = B.calculateOffset = function(e, t, i) { if ("absolute" !== U(e, "position", i)) return 0; var n = "left" === t ? "Left" : "Top", r = U(e, "margin" + n, i); return e["offset" + n] - (Q(e, t, parseFloat(r), r.replace(w, "")) || 0) }, K = function(e, t) { var i, n, r, s = {}; if (t = t || G(e, null)) if (i = t.length) for (; --i > -1;) r = t[i], (-1 === r.indexOf("-transform") || Te === r) && (s[r.replace(P, D)] = t.getPropertyValue(r)); else for (i in t)(-1 === i.indexOf("Transform") || be === i) && (s[i] = t[i]); else if (t = e.currentStyle || e.style) for (i in t) "string" == typeof i && void 0 === s[i] && (s[i.replace(P, D)] = t[i]); return $ || (s.opacity = q(e)), n = Ae(e, t, !1), s.rotation = n.rotation, s.skewX = n.skewX, s.scaleX = n.scaleX, s.scaleY = n.scaleY, s.x = n.x, s.y = n.y, Ce && (s.z = n.z, s.rotationX = n.rotationX, s.rotationY = n.rotationY, s.scaleZ = n.scaleZ), s.filters && delete s.filters, s }, J = function(e, t, i, n, r) { var s, a, o, l = {}, u = e.style; for (a in i) "cssText" !== a && "length" !== a && isNaN(a) && (t[a] !== (s = i[a]) || r && r[a]) && -1 === a.indexOf("Origin") && ("number" == typeof s || "string" == typeof s) && (l[a] = "auto" !== s || "left" !== a && "top" !== a ? "" !== s && "auto" !== s && "none" !== s || "string" != typeof t[a] || "" === t[a].replace(y, "") ? s : 0 : Z(e, a), void 0 !== u[a] && (o = new de(u, a, u[a], o))); if (n) for (a in n) "className" !== a && (l[a] = n[a]); return { difs: l, firstMPT: o } }, ee = { width: ["Left", "Right"], height: ["Top", "Bottom"] }, te = ["marginLeft", "marginRight", "marginTop", "marginBottom"], ie = function(e, t, i) { var n = parseFloat("width" === t ? e.offsetWidth : e.offsetHeight), r = ee[t], s = r.length; for (i = i || G(e, null); --s > -1;) n -= parseFloat(U(e, "padding" + r[s], i, !0)) || 0, n -= parseFloat(U(e, "border" + r[s] + "Width", i, !0)) || 0; return n }, ne = function(e, t) { (null == e || "" === e || "auto" === e || "auto auto" === e) && (e = "0 0"); var i = e.split(" "), n = -1 !== e.indexOf("left") ? "0%" : -1 !== e.indexOf("right") ? "100%" : i[0], r = -1 !== e.indexOf("top") ? "0%" : -1 !== e.indexOf("bottom") ? "100%" : i[1]; return null == r ? r = "center" === n ? "50%" : "0" : "center" === r && (r = "50%"), ("center" === n || isNaN(parseFloat(n)) && -1 === (n + "").indexOf("=")) && (n = "50%"), e = n + " " + r + (i.length > 2 ? " " + i[2] : ""), t && (t.oxp = -1 !== n.indexOf("%"), t.oyp = -1 !== r.indexOf("%"), t.oxr = "=" === n.charAt(1), t.oyr = "=" === r.charAt(1), t.ox = parseFloat(n.replace(y, "")), t.oy = parseFloat(r.replace(y, "")), t.v = e), t || e }, re = function(e, t) { return "string" == typeof e && "=" === e.charAt(1) ? parseInt(e.charAt(0) + "1", 10) * parseFloat(e.substr(2)) : parseFloat(e) - parseFloat(t) }, se = function(e, t) { return null == e ? t : "string" == typeof e && "=" === e.charAt(1) ? parseInt(e.charAt(0) + "1", 10) * parseFloat(e.substr(2)) + t : parseFloat(e) }, ae = function(e, t, i, n) { var r, s, a, o, l, u = 1e-6; return null == e ? o = t : "number" == typeof e ? o = e : (r = 360, s = e.split("_"), l = "=" === e.charAt(1), a = (l ? parseInt(e.charAt(0) + "1", 10) * parseFloat(s[0].substr(2)) : parseFloat(s[0])) * (-1 === e.indexOf("rad") ? 1 : L) - (l ? 0 : t), s.length && (n && (n[i] = t + a), -1 !== e.indexOf("short") && (a %= r, a !== a % (r / 2) && (a = 0 > a ? a + r : a - r)), -1 !== e.indexOf("_cw") && 0 > a ? a = (a + 9999999999 * r) % r - (0 | a / r) * r : -1 !== e.indexOf("ccw") && a > 0 && (a = (a - 9999999999 * r) % r - (0 | a / r) * r)), o = t + a), u > o && o > -u && (o = 0), o }, oe = { aqua: [0, 255, 255], lime: [0, 255, 0], silver: [192, 192, 192], black: [0, 0, 0], maroon: [128, 0, 0], teal: [0, 128, 128], blue: [0, 0, 255], navy: [0, 0, 128], white: [255, 255, 255], fuchsia: [255, 0, 255], olive: [128, 128, 0], yellow: [255, 255, 0], orange: [255, 165, 0], gray: [128, 128, 128], purple: [128, 0, 128], green: [0, 128, 0], red: [255, 0, 0], pink: [255, 192, 203], cyan: [0, 255, 255], transparent: [255, 255, 255, 0] }, le = function(e, t, i) { return e = 0 > e ? e + 1 : e > 1 ? e - 1 : e, 0 | 255 * (1 > 6 * e ? t + 6 * (i - t) * e : .5 > e ? i : 2 > 3 * e ? t + 6 * (i - t) * (2 / 3 - e) : t) + .5 }, ue = a.parseColor = function(e) { var t, i, n, r, s, a; return e && "" !== e ? "number" == typeof e ? [e >> 16, 255 & e >> 8, 255 & e] : ("," === e.charAt(e.length - 1) && (e = e.substr(0, e.length - 1)), oe[e] ? oe[e] : "#" === e.charAt(0) ? (4 === e.length && (t = e.charAt(1), i = e.charAt(2), n = e.charAt(3), e = "#" + t + t + i + i + n + n), e = parseInt(e.substr(1), 16), [e >> 16, 255 & e >> 8, 255 & e]) : "hsl" === e.substr(0, 3) ? (e = e.match(g), r = Number(e[0]) % 360 / 360, s = Number(e[1]) / 100, a = Number(e[2]) / 100, i = .5 >= a ? a * (s + 1) : a + s - a * s, t = 2 * a - i, e.length > 3 && (e[3] = Number(e[3])), e[0] = le(r + 1 / 3, t, i), e[1] = le(r, t, i), e[2] = le(r - 1 / 3, t, i), e) : (e = e.match(g) || oe.transparent, e[0] = Number(e[0]), e[1] = Number(e[1]), e[2] = Number(e[2]), e.length > 3 && (e[3] = Number(e[3])), e)) : oe.black }, ce = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b"; for (u in oe) ce += "|" + u + "\\b"; ce = RegExp(ce + ")", "gi"); var pe = function(e, t, i, n) { if (null == e) return function(e) { return e }; var r, s = t ? (e.match(ce) || [""])[0] : "", a = e.split(s).join("").match(_) || [], o = e.substr(0, e.indexOf(a[0])), l = ")" === e.charAt(e.length - 1) ? ")" : "", u = -1 !== e.indexOf(" ") ? " " : ",", c = a.length, p = c > 0 ? a[0].replace(g, "") : ""; return c ? r = t ? function(e) { var t, h, d, f; if ("number" == typeof e) e += p; else if (n && A.test(e)) { for (f = e.replace(A, "|").split("|"), d = 0; f.length > d; d++) f[d] = r(f[d]); return f.join(",") } if (t = (e.match(ce) || [s])[0], h = e.split(t).join("").match(_) || [], d = h.length, c > d--) for (; c > ++d;) h[d] = i ? h[0 | (d - 1) / 2] : a[d]; return o + h.join(u) + u + t + l + (-1 !== e.indexOf("inset") ? " inset" : "") } : function(e) { var t, s, h; if ("number" == typeof e) e += p; else if (n && A.test(e)) { for (s = e.replace(A, "|").split("|"), h = 0; s.length > h; h++) s[h] = r(s[h]); return s.join(",") } if (t = e.match(_) || [], h = t.length, c > h--) for (; c > ++h;) t[h] = i ? t[0 | (h - 1) / 2] : a[h]; return o + t.join(u) + l } : function(e) { return e } }, he = function(e) { return e = e.split(","), function(t, i, n, r, s, a, o) { var l, u = (i + "").split(" "); for (o = {}, l = 0; 4 > l; l++) o[e[l]] = u[l] = u[l] || u[(l - 1) / 2 >> 0]; return r.parse(t, o, s, a) } }, de = (B._setPluginRatio = function(e) { this.plugin.setRatio(e); for (var t, i, n, r, s = this.data, a = s.proxy, o = s.firstMPT, l = 1e-6; o;) t = a[o.v], o.r ? t = Math.round(t) : l > t && t > -l && (t = 0), o.t[o.p] = t, o = o._next; if (s.autoRotate && (s.autoRotate.rotation = a.rotation), 1 === e) for (o = s.firstMPT; o;) { if (i = o.t, i.type) { if (1 === i.type) { for (r = i.xs0 + i.s + i.xs1, n = 1; i.l > n; n++) r += i["xn" + n] + i["xs" + (n + 1)]; i.e = r } } else i.e = i.s + i.xs0; o = o._next } }, function(e, t, i, n, r) { this.t = e, this.p = t, this.v = i, this.r = r, n && (n._prev = this, this._next = n) }), fe = (B._parseToProxy = function(e, t, i, n, r, s) { var a, o, l, u, c, p = n, h = {}, d = {}, f = i._transform, m = N; for (i._transform = null, N = t, n = c = i.parse(e, t, n, r), N = m, s && (i._transform = f, p && (p._prev = null, p._prev && (p._prev._next = null))); n && n !== p;) { if (1 >= n.type && (o = n.p, d[o] = n.s + n.c, h[o] = n.s, s || (u = new de(n, "s", o, u, n.r), n.c = 0), 1 === n.type)) for (a = n.l; --a > 0;) l = "xn" + a, o = n.p + "_" + l, d[o] = n.data[l], h[o] = n[l], s || (u = new de(n, l, o, u, n.rxp[l])); n = n._next } return { proxy: h, end: d, firstMPT: u, pt: c } }, B.CSSPropTween = function(e, t, n, r, a, o, l, u, c, p, h) { this.t = e, this.p = t, this.s = n, this.c = r, this.n = l || t, e instanceof fe || s.push(this.n), this.r = u, this.type = o || 0, c && (this.pr = c, i = !0), this.b = void 0 === p ? n : p, this.e = void 0 === h ? n + r : h, a && (this._next = a, a._prev = this) }), me = a.parseComplex = function(e, t, i, n, r, s, a, o, l, u) { i = i || s || "", a = new fe(e, t, 0, 0, a, u ? 2 : 1, null, !1, o, i, n), n += ""; var p, h, d, f, m, _, y, w, x, b, T, C, P = i.split(", ").join(",").split(" "), k = n.split(", ").join(",").split(" "), D = P.length, E = c !== !1; for ((-1 !== n.indexOf(",") || -1 !== i.indexOf(",")) && (P = P.join(" ").replace(A, ", ").split(" "), k = k.join(" ").replace(A, ", ").split(" "), D = P.length), D !== k.length && (P = (s || "").split(" "), D = P.length), a.plugin = l, a.setRatio = u, p = 0; D > p; p++) if (f = P[p], m = k[p], w = parseFloat(f), w || 0 === w) a.appendXtra("", w, re(m, w), m.replace(v, ""), E && -1 !== m.indexOf("px"), !0); else if (r && ("#" === f.charAt(0) || oe[f] || S.test(f))) C = "," === m.charAt(m.length - 1) ? ")," : ")", f = ue(f), m = ue(m), x = f.length + m.length > 6, x && !$ && 0 === m[3] ? (a["xs" + a.l] += a.l ? " transparent" : "transparent", a.e = a.e.split(k[p]).join("transparent")) : ($ || (x = !1), a.appendXtra(x ? "rgba(" : "rgb(", f[0], m[0] - f[0], ",", !0, !0).appendXtra("", f[1], m[1] - f[1], ",", !0).appendXtra("", f[2], m[2] - f[2], x ? "," : C, !0), x && (f = 4 > f.length ? 1 : f[3], a.appendXtra("", f, (4 > m.length ? 1 : m[3]) - f, C, !1))); else if (_ = f.match(g)) { if (y = m.match(v), !y || y.length !== _.length) return a; for (d = 0, h = 0; _.length > h; h++) T = _[h], b = f.indexOf(T, d), a.appendXtra(f.substr(d, b - d), Number(T), re(y[h], T), "", E && "px" === f.substr(b + T.length, 2), 0 === h), d = b + T.length; a["xs" + a.l] += f.substr(d) } else a["xs" + a.l] += a.l ? " " + f : f; if (-1 !== n.indexOf("=") && a.data) { for (C = a.xs0 + a.data.s, p = 1; a.l > p; p++) C += a["xs" + p] + a.data["xn" + p]; a.e = C + a["xs" + p] } return a.l || (a.type = -1, a.xs0 = a.e), a.xfirst || a }, ge = 9; for (u = fe.prototype, u.l = u.pr = 0; --ge > 0;) u["xn" + ge] = 0, u["xs" + ge] = ""; u.xs0 = "", u._next = u._prev = u.xfirst = u.data = u.plugin = u.setRatio = u.rxp = null, u.appendXtra = function(e, t, i, n, r, s) { var a = this, o = a.l; return a["xs" + o] += s && o ? " " + e : e || "", i || 0 === o || a.plugin ? (a.l++, a.type = a.setRatio ? 2 : 1, a["xs" + a.l] = n || "", o > 0 ? (a.data["xn" + o] = t + i, a.rxp["xn" + o] = r, a["xn" + o] = t, a.plugin || (a.xfirst = new fe(a, "xn" + o, t, i, a.xfirst || a, 0, a.n, r, a.pr), a.xfirst.xs0 = 0), a) : (a.data = { s: t + i }, a.rxp = {}, a.s = t, a.c = i, a.r = r, a)) : (a["xs" + o] += t + (n || ""), a) }; var ve = function(e, t) { t = t || {}, this.p = t.prefix ? Y(e) || e : e, l[e] = l[this.p] = this, this.format = t.formatter || pe(t.defaultValue, t.color, t.collapsible, t.multi), t.parser && (this.parse = t.parser), this.clrs = t.color, this.multi = t.multi, this.keyword = t.keyword, this.dflt = t.defaultValue, this.pr = t.priority || 0 }, _e = B._registerComplexSpecialProp = function(e, t, i) { "object" != typeof t && (t = { parser: i }); var n, r, s = e.split(","), a = t.defaultValue; for (i = i || [a], n = 0; s.length > n; n++) t.prefix = 0 === n && t.prefix, t.defaultValue = i[n] || a, r = new ve(s[n], t) }, ye = function(e) { if (!l[e]) { var t = e.charAt(0).toUpperCase() + e.substr(1) + "Plugin"; _e(e, { parser: function(e, i, n, r, s, a, u) { var c = o.com.greensock.plugins[t]; return c ? (c._cssRegister(), l[n].parse(e, i, n, r, s, a, u)) : (H("Error: " + t + " js file not loaded."), s) } }) } }; u = ve.prototype, u.parseComplex = function(e, t, i, n, r, s) { var a, o, l, u, c, p, h = this.keyword; if (this.multi && (A.test(i) || A.test(t) ? (o = t.replace(A, "|").split("|"), l = i.replace(A, "|").split("|")) : h && (o = [t], l = [i])), l) { for (u = l.length > o.length ? l.length : o.length, a = 0; u > a; a++) t = o[a] = o[a] || this.dflt, i = l[a] = l[a] || this.dflt, h && (c = t.indexOf(h), p = i.indexOf(h), c !== p && (-1 === p ? o[a] = o[a].split(h).join("") : -1 === c && (o[a] += " " + h))); t = o.join(", "), i = l.join(", ") } return me(e, this.p, t, i, this.clrs, this.dflt, n, this.pr, r, s) }, u.parse = function(e, t, i, n, s, a) { return this.parseComplex(e.style, this.format(U(e, this.p, r, !1, this.dflt)), this.format(t), s, a) }, a.registerSpecialProp = function(e, t, i) { _e(e, { parser: function(e, n, r, s, a, o) { var l = new fe(e, r, 0, 0, a, 2, r, !1, i); return l.plugin = o, l.setRatio = t(e, n, s._tween, r), l }, priority: i }) }, a.useSVGTransformAttr = h; var we, xe = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","), be = Y("transform"), Te = W + "transform", Se = Y("transformOrigin"), Ce = null !== Y("perspective"), Pe = B.Transform = function() { this.perspective = parseFloat(a.defaultTransformPerspective) || 0, this.force3D = a.defaultForce3D !== !1 && Ce ? a.defaultForce3D || "auto" : !1 }, ke = window.SVGElement, De = function(e, t, i) { var n, r = I.createElementNS("http://www.w3.org/2000/svg", e), s = /([a-z])([A-Z])/g; for (n in i) r.setAttributeNS(null, n.replace(s, "$1-$2").toLowerCase(), i[n]); return t.appendChild(r), r }, Ee = I.documentElement, Oe = function() { var e, t, i, n = m || /Android/i.test(X) && !window.chrome; return I.createElementNS && !n && (e = De("svg", Ee), t = De("rect", e, { width: 100, height: 50, x: 100 }), i = t.getBoundingClientRect().width, t.style[Se] = "50% 50%", t.style[be] = "scaleX(0.5)", n = i === t.getBoundingClientRect().width && !(d && Ce), Ee.removeChild(e)), n }(), Me = function(e, t, i, n) { var r, s; n && (s = n.split(" ")).length || (r = e.getBBox(), t = ne(t).split(" "), s = [(-1 !== t[0].indexOf("%") ? parseFloat(t[0]) / 100 * r.width : parseFloat(t[0])) + r.x, (-1 !== t[1].indexOf("%") ? parseFloat(t[1]) / 100 * r.height : parseFloat(t[1])) + r.y]), i.xOrigin = parseFloat(s[0]), i.yOrigin = parseFloat(s[1]), e.setAttribute("data-svg-origin", s.join(" ")) }, Ae = B.getTransform = function(e, t, i, n) { if (e._gsTransform && i && !n) return e._gsTransform; var s, o, l, u, c, p, h, d, f, m, g = i ? e._gsTransform || new Pe : new Pe, v = 0 > g.scaleX, _ = 2e-5, y = 1e5, w = Ce ? parseFloat(U(e, Se, t, !1, "0 0 0").split(" ")[2]) || g.zOrigin || 0 : 0, x = parseFloat(a.defaultTransformPerspective) || 0; if (be ? o = U(e, Te, t, !0) : e.currentStyle && (o = e.currentStyle.filter.match(O), o = o && 4 === o.length ? [o[0].substr(4), Number(o[2].substr(4)), Number(o[1].substr(4)), o[3].substr(4), g.x || 0, g.y || 0].join(",") : ""), s = !o || "none" === o || "matrix(1, 0, 0, 1, 0, 0)" === o, g.svg = !!(ke && "function" == typeof e.getBBox && e.getCTM && (!e.parentNode || e.parentNode.getBBox && e.parentNode.getCTM)), g.svg && (s && -1 !== (e.style[be] + "").indexOf("matrix") && (o = e.style[be], s = !1), Me(e, U(e, Se, r, !1, "50% 50%") + "", g, e.getAttribute("data-svg-origin")), we = a.useSVGTransformAttr || Oe, l = e.getAttribute("transform"), s && l && -1 !== l.indexOf("matrix") && (o = l, s = 0)), !s) { for (l = (o || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [], u = l.length; --u > -1;) c = Number(l[u]), l[u] = (p = c - (c |= 0)) ? (0 | p * y + (0 > p ? -.5 : .5)) / y + c : c; if (16 === l.length) { var b, T, S, C, P, k = l[0], D = l[1], E = l[2], M = l[3], A = l[4], R = l[5], N = l[6], I = l[7], z = l[8], F = l[9], j = l[10], B = l[12], X = l[13], $ = l[14], q = l[11], H = Math.atan2(N, j); g.zOrigin && ($ = -g.zOrigin, B = z * $ - l[12], X = F * $ - l[13], $ = j * $ + g.zOrigin - l[14]), g.rotationX = H * L, H && (C = Math.cos(-H), P = Math.sin(-H), b = A * C + z * P, T = R * C + F * P, S = N * C + j * P, z = A * -P + z * C, F = R * -P + F * C, j = N * -P + j * C, q = I * -P + q * C, A = b, R = T, N = S), H = Math.atan2(z, j), g.rotationY = H * L, H && (C = Math.cos(-H), P = Math.sin(-H), b = k * C - z * P, T = D * C - F * P, S = E * C - j * P, F = D * P + F * C, j = E * P + j * C, q = M * P + q * C, k = b, D = T, E = S), H = Math.atan2(D, k), g.rotation = H * L, H && (C = Math.cos(-H), P = Math.sin(-H), k = k * C + A * P, T = D * C + R * P, R = D * -P + R * C, N = E * -P + N * C, D = T), g.rotationX && Math.abs(g.rotationX) + Math.abs(g.rotation) > 359.9 && (g.rotationX = g.rotation = 0, g.rotationY += 180), g.scaleX = (0 | Math.sqrt(k * k + D * D) * y + .5) / y, g.scaleY = (0 | Math.sqrt(R * R + F * F) * y + .5) / y, g.scaleZ = (0 | Math.sqrt(N * N + j * j) * y + .5) / y, g.skewX = 0, g.perspective = q ? 1 / (0 > q ? -q : q) : 0, g.x = B, g.y = X, g.z = $, g.svg && (g.x -= g.xOrigin - (g.xOrigin * k - g.yOrigin * A), g.y -= g.yOrigin - (g.yOrigin * D - g.xOrigin * R)) } else if (!(Ce && !n && l.length && g.x === l[4] && g.y === l[5] && (g.rotationX || g.rotationY) || void 0 !== g.x && "none" === U(e, "display", t))) { var W = l.length >= 6, V = W ? l[0] : 1, Y = l[1] || 0, G = l[2] || 0, Q = W ? l[3] : 1; g.x = l[4] || 0, g.y = l[5] || 0, h = Math.sqrt(V * V + Y * Y), d = Math.sqrt(Q * Q + G * G), f = V || Y ? Math.atan2(Y, V) * L : g.rotation || 0, m = G || Q ? Math.atan2(G, Q) * L + f : g.skewX || 0, Math.abs(m) > 90 && 270 > Math.abs(m) && (v ? (h *= -1, m += 0 >= f ? 180 : -180, f += 0 >= f ? 180 : -180) : (d *= -1, m += 0 >= m ? 180 : -180)), g.scaleX = h, g.scaleY = d, g.rotation = f, g.skewX = m, Ce && (g.rotationX = g.rotationY = g.z = 0, g.perspective = x, g.scaleZ = 1), g.svg && (g.x -= g.xOrigin - (g.xOrigin * V - g.yOrigin * Y), g.y -= g.yOrigin - (g.yOrigin * Q - g.xOrigin * G)) } g.zOrigin = w; for (u in g) _ > g[u] && g[u] > -_ && (g[u] = 0) } return i && (e._gsTransform = g, g.svg && (we && e.style[be] ? Ie(e.style, be) : !we && e.getAttribute("transform") && e.removeAttribute("transform"))), g }, Re = function(e) { var t, i, n = this.data, r = -n.rotation * R, s = r + n.skewX * R, a = 1e5, o = (0 | Math.cos(r) * n.scaleX * a) / a, l = (0 | Math.sin(r) * n.scaleX * a) / a, u = (0 | Math.sin(s) * -n.scaleY * a) / a, c = (0 | Math.cos(s) * n.scaleY * a) / a, p = this.t.style, h = this.t.currentStyle; if (h) { i = l, l = -u, u = -i, t = h.filter, p.filter = ""; var d, f, g = this.t.offsetWidth, v = this.t.offsetHeight, _ = "absolute" !== h.position, y = "progid:DXImageTransform.Microsoft.Matrix(M11=" + o + ", M12=" + l + ", M21=" + u + ", M22=" + c, b = n.x + g * n.xPercent / 100, T = n.y + v * n.yPercent / 100; if (null != n.ox && (d = (n.oxp ? .01 * g * n.ox : n.ox) - g / 2, f = (n.oyp ? .01 * v * n.oy : n.oy) - v / 2, b += d - (d * o + f * l), T += f - (d * u + f * c)), _ ? (d = g / 2, f = v / 2, y += ", Dx=" + (d - (d * o + f * l) + b) + ", Dy=" + (f - (d * u + f * c) + T) + ")") : y += ", sizingMethod='auto expand')", p.filter = -1 !== t.indexOf("DXImageTransform.Microsoft.Matrix(") ? t.replace(M, y) : y + " " + t, (0 === e || 1 === e) && 1 === o && 0 === l && 0 === u && 1 === c && (_ && -1 === y.indexOf("Dx=0, Dy=0") || x.test(t) && 100 !== parseFloat(RegExp.$1) || -1 === t.indexOf(t.indexOf("Alpha")) && p.removeAttribute("filter")), !_) { var S, C, P, k = 8 > m ? 1 : -1; for (d = n.ieOffsetX || 0, f = n.ieOffsetY || 0, n.ieOffsetX = Math.round((g - ((0 > o ? -o : o) * g + (0 > l ? -l : l) * v)) / 2 + b), n.ieOffsetY = Math.round((v - ((0 > c ? -c : c) * v + (0 > u ? -u : u) * g)) / 2 + T), ge = 0; 4 > ge; ge++) C = te[ge], S = h[C], i = -1 !== S.indexOf("px") ? parseFloat(S) : Q(this.t, C, parseFloat(S), S.replace(w, "")) || 0, P = i !== n[C] ? 2 > ge ? -n.ieOffsetX : -n.ieOffsetY : 2 > ge ? d - n.ieOffsetX : f - n.ieOffsetY, p[C] = (n[C] = Math.round(i - P * (0 === ge || 2 === ge ? 1 : k))) + "px" } } }, Le = B.set3DTransformRatio = B.setTransformRatio = function(e) { var t, i, n, r, s, a, o, l, u, c, p, h, f, m, g, v, _, y, w, x, b, T, S, C = this.data, P = this.t.style, k = C.rotation, D = C.rotationX, E = C.rotationY, O = C.scaleX, M = C.scaleY, A = C.scaleZ, L = C.x, N = C.y, I = C.z, z = C.svg, F = C.perspective, j = C.force3D; if (!((1 !== e && 0 !== e || "auto" !== j || this.tween._totalTime !== this.tween._totalDuration && this.tween._totalTime) && j || I || F || E || D) || we && z || !Ce) return void(k || C.skewX || z ? (k *= R, T = C.skewX * R, S = 1e5, t = Math.cos(k) * O, r = Math.sin(k) * O, i = Math.sin(k - T) * -M, s = Math.cos(k - T) * M, T && "simple" === C.skewType && (_ = Math.tan(T), _ = Math.sqrt(1 + _ * _), i *= _, s *= _, C.skewY && (t *= _, r *= _)), z && (L += C.xOrigin - (C.xOrigin * t + C.yOrigin * i), N += C.yOrigin - (C.xOrigin * r + C.yOrigin * s), m = 1e-6, m > L && L > -m && (L = 0), m > N && N > -m && (N = 0)), w = (0 | t * S) / S + "," + (0 | r * S) / S + "," + (0 | i * S) / S + "," + (0 | s * S) / S + "," + L + "," + N + ")", z && we ? this.t.setAttribute("transform", "matrix(" + w) : P[be] = (C.xPercent || C.yPercent ? "translate(" + C.xPercent + "%," + C.yPercent + "%) matrix(" : "matrix(") + w) : P[be] = (C.xPercent || C.yPercent ? "translate(" + C.xPercent + "%," + C.yPercent + "%) matrix(" : "matrix(") + O + ",0,0," + M + "," + L + "," + N + ")"); if (d && (m = 1e-4, m > O && O > -m && (O = A = 2e-5), m > M && M > -m && (M = A = 2e-5), !F || C.z || C.rotationX || C.rotationY || (F = 0)), k || C.skewX) k *= R, g = t = Math.cos(k), v = r = Math.sin(k), C.skewX && (k -= C.skewX * R, g = Math.cos(k), v = Math.sin(k), "simple" === C.skewType && (_ = Math.tan(C.skewX * R), _ = Math.sqrt(1 + _ * _), g *= _, v *= _, C.skewY && (t *= _, r *= _))), i = -v, s = g; else { if (!(E || D || 1 !== A || F || z)) return void(P[be] = (C.xPercent || C.yPercent ? "translate(" + C.xPercent + "%," + C.yPercent + "%) translate3d(" : "translate3d(") + L + "px," + N + "px," + I + "px)" + (1 !== O || 1 !== M ? " scale(" + O + "," + M + ")" : "")); t = s = 1, i = r = 0 } u = 1, n = a = o = l = c = p = 0, h = F ? -1 / F : 0, f = C.zOrigin, m = 1e-6, x = ",", b = "0", k = E * R, k && (g = Math.cos(k), v = Math.sin(k), o = -v, c = h * -v, n = t * v, a = r * v, u = g, h *= g, t *= g, r *= g), k = D * R, k && (g = Math.cos(k), v = Math.sin(k), _ = i * g + n * v, y = s * g + a * v, l = u * v, p = h * v, n = i * -v + n * g, a = s * -v + a * g, u *= g, h *= g, i = _, s = y), 1 !== A && (n *= A, a *= A, u *= A, h *= A), 1 !== M && (i *= M, s *= M, l *= M, p *= M), 1 !== O && (t *= O, r *= O, o *= O, c *= O), (f || z) && (f && (L += n * -f, N += a * -f, I += u * -f + f), z && (L += C.xOrigin - (C.xOrigin * t + C.yOrigin * i), N += C.yOrigin - (C.xOrigin * r + C.yOrigin * s)), m > L && L > -m && (L = b), m > N && N > -m && (N = b), m > I && I > -m && (I = 0)), w = C.xPercent || C.yPercent ? "translate(" + C.xPercent + "%," + C.yPercent + "%) matrix3d(" : "matrix3d(", w += (m > t && t > -m ? b : t) + x + (m > r && r > -m ? b : r) + x + (m > o && o > -m ? b : o), w += x + (m > c && c > -m ? b : c) + x + (m > i && i > -m ? b : i) + x + (m > s && s > -m ? b : s), D || E ? (w += x + (m > l && l > -m ? b : l) + x + (m > p && p > -m ? b : p) + x + (m > n && n > -m ? b : n), w += x + (m > a && a > -m ? b : a) + x + (m > u && u > -m ? b : u) + x + (m > h && h > -m ? b : h) + x) : w += ",0,0,0,0,1,0,", w += L + x + N + x + I + x + (F ? 1 + -I / F : 1) + ")", P[be] = w }; u = Pe.prototype, u.x = u.y = u.z = u.skewX = u.skewY = u.rotation = u.rotationX = u.rotationY = u.zOrigin = u.xPercent = u.yPercent = 0, u.scaleX = u.scaleY = u.scaleZ = 1, _e("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent", { parser: function(e, t, i, n, s, o, l) { if (n._lastParsedTransform === l) return s; n._lastParsedTransform = l; var u, c, p, h, d, f, m, g = n._transform = Ae(e, r, !0, l.parseTransform), v = e.style, _ = 1e-6, y = xe.length, w = l, x = {}; if ("string" == typeof w.transform && be) p = F.style, p[be] = w.transform, p.display = "block", p.position = "absolute", I.body.appendChild(F), u = Ae(F, null, !1), I.body.removeChild(F); else if ("object" == typeof w) { if (u = { scaleX: se(null != w.scaleX ? w.scaleX : w.scale, g.scaleX), scaleY: se(null != w.scaleY ? w.scaleY : w.scale, g.scaleY), scaleZ: se(w.scaleZ, g.scaleZ), x: se(w.x, g.x), y: se(w.y, g.y), z: se(w.z, g.z), xPercent: se(w.xPercent, g.xPercent), yPercent: se(w.yPercent, g.yPercent), perspective: se(w.transformPerspective, g.perspective) }, m = w.directionalRotation, null != m) if ("object" == typeof m) for (p in m) w[p] = m[p]; else w.rotation = m; "string" == typeof w.x && -1 !== w.x.indexOf("%") && (u.x = 0, u.xPercent = se(w.x, g.xPercent)), "string" == typeof w.y && -1 !== w.y.indexOf("%") && (u.y = 0, u.yPercent = se(w.y, g.yPercent)), u.rotation = ae("rotation" in w ? w.rotation : "shortRotation" in w ? w.shortRotation + "_short" : "rotationZ" in w ? w.rotationZ : g.rotation, g.rotation, "rotation", x), Ce && (u.rotationX = ae("rotationX" in w ? w.rotationX : "shortRotationX" in w ? w.shortRotationX + "_short" : g.rotationX || 0, g.rotationX, "rotationX", x), u.rotationY = ae("rotationY" in w ? w.rotationY : "shortRotationY" in w ? w.shortRotationY + "_short" : g.rotationY || 0, g.rotationY, "rotationY", x)), u.skewX = null == w.skewX ? g.skewX : ae(w.skewX, g.skewX), u.skewY = null == w.skewY ? g.skewY : ae(w.skewY, g.skewY), (c = u.skewY - g.skewY) && (u.skewX += c, u.rotation += c) } for (Ce && null != w.force3D && (g.force3D = w.force3D, f = !0), g.skewType = w.skewType || g.skewType || a.defaultSkewType, d = g.force3D || g.z || g.rotationX || g.rotationY || u.z || u.rotationX || u.rotationY || u.perspective, d || null == w.scale || (u.scaleZ = 1); --y > -1;) i = xe[y], h = u[i] - g[i], (h > _ || -_ > h || null != w[i] || null != N[i]) && (f = !0, s = new fe(g, i, g[i], h, s), i in x && (s.e = x[i]), s.xs0 = 0, s.plugin = o, n._overwriteProps.push(s.n)); return h = w.transformOrigin, g.svg && (h || w.svgOrigin) && (Me(e, ne(h), u, w.svgOrigin), s = new fe(g, "xOrigin", g.xOrigin, u.xOrigin - g.xOrigin, s, -1, "transformOrigin"), s.b = g.xOrigin, s.e = s.xs0 = u.xOrigin, s = new fe(g, "yOrigin", g.yOrigin, u.yOrigin - g.yOrigin, s, -1, "transformOrigin"), s.b = g.yOrigin, s.e = s.xs0 = u.yOrigin, h = we ? null : "0px 0px"), (h || Ce && d && g.zOrigin) && (be ? (f = !0, i = Se, h = (h || U(e, i, r, !1, "50% 50%")) + "", s = new fe(v, i, 0, 0, s, -1, "transformOrigin"), s.b = v[i], s.plugin = o, Ce ? (p = g.zOrigin, h = h.split(" "), g.zOrigin = (h.length > 2 && (0 === p || "0px" !== h[2]) ? parseFloat(h[2]) : p) || 0, s.xs0 = s.e = h[0] + " " + (h[1] || "50%") + " 0px", s = new fe(g, "zOrigin", 0, 0, s, -1, s.n), s.b = p, s.xs0 = s.e = g.zOrigin) : s.xs0 = s.e = h) : ne(h + "", g)), f && (n._transformType = g.svg && we || !d && 3 !== this._transformType ? 2 : 3), s }, prefix: !0 }), _e("boxShadow", { defaultValue: "0px 0px 0px 0px #999", prefix: !0, color: !0, multi: !0, keyword: "inset" }), _e("borderRadius", { defaultValue: "0px", parser: function(e, t, i, s, a) { t = this.format(t); var o, l, u, c, p, h, d, f, m, g, v, _, y, w, x, b, T = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"], S = e.style; for (m = parseFloat(e.offsetWidth), g = parseFloat(e.offsetHeight), o = t.split(" "), l = 0; T.length > l; l++) this.p.indexOf("border") && (T[l] = Y(T[l])), p = c = U(e, T[l], r, !1, "0px"), -1 !== p.indexOf(" ") && (c = p.split(" "), p = c[0], c = c[1]), h = u = o[l], d = parseFloat(p), _ = p.substr((d + "").length), y = "=" === h.charAt(1), y ? (f = parseInt(h.charAt(0) + "1", 10), h = h.substr(2), f *= parseFloat(h), v = h.substr((f + "").length - (0 > f ? 1 : 0)) || "") : (f = parseFloat(h), v = h.substr((f + "").length)), "" === v && (v = n[i] || _), v !== _ && (w = Q(e, "borderLeft", d, _), x = Q(e, "borderTop", d, _), "%" === v ? (p = 100 * (w / m) + "%", c = 100 * (x / g) + "%") : "em" === v ? (b = Q(e, "borderLeft", 1, "em"), p = w / b + "em", c = x / b + "em") : (p = w + "px", c = x + "px"), y && (h = parseFloat(p) + f + v, u = parseFloat(c) + f + v)), a = me(S, T[l], p + " " + c, h + " " + u, !1, "0px", a); return a }, prefix: !0, formatter: pe("0px 0px 0px 0px", !1, !0) }), _e("backgroundPosition", { defaultValue: "0 0", parser: function(e, t, i, n, s, a) { var o, l, u, c, p, h, d = "background-position", f = r || G(e, null), g = this.format((f ? m ? f.getPropertyValue(d + "-x") + " " + f.getPropertyValue(d + "-y") : f.getPropertyValue(d) : e.currentStyle.backgroundPositionX + " " + e.currentStyle.backgroundPositionY) || "0 0"), v = this.format(t); if (-1 !== g.indexOf("%") != (-1 !== v.indexOf("%")) && (h = U(e, "backgroundImage").replace(k, ""), h && "none" !== h)) { for (o = g.split(" "), l = v.split(" "), j.setAttribute("src", h), u = 2; --u > -1;) g = o[u], c = -1 !== g.indexOf("%"), c !== (-1 !== l[u].indexOf("%")) && (p = 0 === u ? e.offsetWidth - j.width : e.offsetHeight - j.height, o[u] = c ? parseFloat(g) / 100 * p + "px" : 100 * (parseFloat(g) / p) + "%"); g = o.join(" ") } return this.parseComplex(e.style, g, v, s, a) }, formatter: ne }), _e("backgroundSize", { defaultValue: "0 0", formatter: ne }), _e("perspective", { defaultValue: "0px", prefix: !0 }), _e("perspectiveOrigin", { defaultValue: "50% 50%", prefix: !0 }), _e("transformStyle", { prefix: !0 }), _e("backfaceVisibility", { prefix: !0 }), _e("userSelect", { prefix: !0 }), _e("margin", { parser: he("marginTop,marginRight,marginBottom,marginLeft") }), _e("padding", { parser: he("paddingTop,paddingRight,paddingBottom,paddingLeft") }), _e("clip", { defaultValue: "rect(0px,0px,0px,0px)", parser: function(e, t, i, n, s, a) { var o, l, u; return 9 > m ? (l = e.currentStyle, u = 8 > m ? " " : ",", o = "rect(" + l.clipTop + u + l.clipRight + u + l.clipBottom + u + l.clipLeft + ")", t = this.format(t).split(",").join(u)) : (o = this.format(U(e, this.p, r, !1, this.dflt)), t = this.format(t)), this.parseComplex(e.style, o, t, s, a) } }), _e("textShadow", { defaultValue: "0px 0px 0px #999", color: !0, multi: !0 }), _e("autoRound,strictUnits", { parser: function(e, t, i, n, r) { return r } }), _e("border", { defaultValue: "0px solid #000", parser: function(e, t, i, n, s, a) { return this.parseComplex(e.style, this.format(U(e, "borderTopWidth", r, !1, "0px") + " " + U(e, "borderTopStyle", r, !1, "solid") + " " + U(e, "borderTopColor", r, !1, "#000")), this.format(t), s, a) }, color: !0, formatter: function(e) { var t = e.split(" "); return t[0] + " " + (t[1] || "solid") + " " + (e.match(ce) || ["#000"])[0] } }), _e("borderWidth", { parser: he("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth") }), _e("float,cssFloat,styleFloat", { parser: function(e, t, i, n, r) { var s = e.style, a = "cssFloat" in s ? "cssFloat" : "styleFloat"; return new fe(s, a, 0, 0, r, -1, i, !1, 0, s[a], t) } }); var Ne = function(e) { var t, i = this.t, n = i.filter || U(this.data, "filter") || "", r = 0 | this.s + this.c * e; 100 === r && (-1 === n.indexOf("atrix(") && -1 === n.indexOf("radient(") && -1 === n.indexOf("oader(") ? (i.removeAttribute("filter"), t = !U(this.data, "filter")) : (i.filter = n.replace(T, ""), t = !0)), t || (this.xn1 && (i.filter = n = n || "alpha(opacity=" + r + ")"), -1 === n.indexOf("pacity") ? 0 === r && this.xn1 || (i.filter = n + " alpha(opacity=" + r + ")") : i.filter = n.replace(x, "opacity=" + r)) }; _e("opacity,alpha,autoAlpha", { defaultValue: "1", parser: function(e, t, i, n, s, a) { var o = parseFloat(U(e, "opacity", r, !1, "1")), l = e.style, u = "autoAlpha" === i; return "string" == typeof t && "=" === t.charAt(1) && (t = ("-" === t.charAt(0) ? -1 : 1) * parseFloat(t.substr(2)) + o), u && 1 === o && "hidden" === U(e, "visibility", r) && 0 !== t && (o = 0), $ ? s = new fe(l, "opacity", o, t - o, s) : (s = new fe(l, "opacity", 100 * o, 100 * (t - o), s), s.xn1 = u ? 1 : 0, l.zoom = 1, s.type = 2, s.b = "alpha(opacity=" + s.s + ")", s.e = "alpha(opacity=" + (s.s + s.c) + ")", s.data = e, s.plugin = a, s.setRatio = Ne), u && (s = new fe(l, "visibility", 0, 0, s, -1, null, !1, 0, 0 !== o ? "inherit" : "hidden", 0 === t ? "hidden" : "inherit"), s.xs0 = "inherit", n._overwriteProps.push(s.n), n._overwriteProps.push(i)), s } }); var Ie = function(e, t) { t && (e.removeProperty ? (("ms" === t.substr(0, 2) || "webkit" === t.substr(0, 6)) && (t = "-" + t), e.removeProperty(t.replace(C, "-$1").toLowerCase())) : e.removeAttribute(t)) }, ze = function(e) { if (this.t._gsClassPT = this, 1 === e || 0 === e) { this.t.setAttribute("class", 0 === e ? this.b : this.e); for (var t = this.data, i = this.t.style; t;) t.v ? i[t.p] = t.v : Ie(i, t.p), t = t._next; 1 === e && this.t._gsClassPT === this && (this.t._gsClassPT = null) } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e) }; _e("className", { parser: function(e, t, n, s, a, o, l) { var u, c, p, h, d, f = e.getAttribute("class") || "", m = e.style.cssText; if (a = s._classNamePT = new fe(e, n, 0, 0, a, 2), a.setRatio = ze, a.pr = -11, i = !0, a.b = f, c = K(e, r), p = e._gsClassPT) { for (h = {}, d = p.data; d;) h[d.p] = 1, d = d._next; p.setRatio(1) } return e._gsClassPT = a, a.e = "=" !== t.charAt(1) ? t : f.replace(RegExp("\\s*\\b" + t.substr(2) + "\\b"), "") + ("+" === t.charAt(0) ? " " + t.substr(2) : ""), e.setAttribute("class", a.e), u = J(e, c, K(e), l, h), e.setAttribute("class", f), a.data = u.firstMPT, e.style.cssText = m, a = a.xfirst = s.parse(e, u.difs, a, o) } }); var Fe = function(e) { if ((1 === e || 0 === e) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) { var t, i, n, r, s, a = this.t.style, o = l.transform.parse; if ("all" === this.e) a.cssText = "", r = !0; else for (t = this.e.split(" ").join("").split(","), n = t.length; --n > -1;) i = t[n], l[i] && (l[i].parse === o ? r = !0 : i = "transformOrigin" === i ? Se : l[i].p), Ie(a, i); r && (Ie(a, be), s = this.t._gsTransform, s && (s.svg && this.t.removeAttribute("data-svg-origin"), delete this.t._gsTransform)) } }; for (_e("clearProps", { parser: function(e, t, n, r, s) { return s = new fe(e, n, 0, 0, s, 2), s.setRatio = Fe, s.e = t, s.pr = -10, s.data = r._tween, i = !0, s } }), u = "bezier,throwProps,physicsProps,physics2D".split(","), ge = u.length; ge--;) ye(u[ge]); u = a.prototype, u._firstPT = u._lastParsedTransform = u._transform = null, u._onInitTween = function(e, t, o) { if (!e.nodeType) return !1; this._target = e, this._tween = o, this._vars = t, c = t.autoRound, i = !1, n = t.suffixMap || a.suffixMap, r = G(e, ""), s = this._overwriteProps; var u, d, m, g, v, _, y, w, x, T = e.style; if (p && "" === T.zIndex && (u = U(e, "zIndex", r), ("auto" === u || "" === u) && this._addLazySet(T, "zIndex", 0)), "string" == typeof t && (g = T.cssText, u = K(e, r), T.cssText = g + ";" + t, u = J(e, u, K(e)).difs, !$ && b.test(t) && (u.opacity = parseFloat(RegExp.$1)), t = u, T.cssText = g), this._firstPT = d = t.className ? l.className.parse(e, t.className, "className", this, null, null, t) : this.parse(e, t, null), this._transformType) { for (x = 3 === this._transformType, be ? h && (p = !0, "" === T.zIndex && (y = U(e, "zIndex", r), ("auto" === y || "" === y) && this._addLazySet(T, "zIndex", 0)), f && this._addLazySet(T, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (x ? "visible" : "hidden"))) : T.zoom = 1, m = d; m && m._next;) m = m._next; w = new fe(e, "transform", 0, 0, null, 2), this._linkCSSP(w, null, m), w.setRatio = be ? Le : Re, w.data = this._transform || Ae(e, r, !0), w.tween = o, w.pr = -1, s.pop() } if (i) { for (; d;) { for (_ = d._next, m = g; m && m.pr > d.pr;) m = m._next; (d._prev = m ? m._prev : v) ? d._prev._next = d: g = d, (d._next = m) ? m._prev = d : v = d, d = _ } this._firstPT = g } return !0 }, u.parse = function(e, t, i, s) { var a, o, u, p, h, d, f, m, g, v, _ = e.style; for (a in t) d = t[a], o = l[a], o ? i = o.parse(e, d, a, this, i, s, t) : (h = U(e, a, r) + "", g = "string" == typeof d, "color" === a || "fill" === a || "stroke" === a || -1 !== a.indexOf("Color") || g && S.test(d) ? (g || (d = ue(d), d = (d.length > 3 ? "rgba(" : "rgb(") + d.join(",") + ")"), i = me(_, a, h, d, !0, "transparent", i, 0, s)) : !g || -1 === d.indexOf(" ") && -1 === d.indexOf(",") ? (u = parseFloat(h), f = u || 0 === u ? h.substr((u + "").length) : "", ("" === h || "auto" === h) && ("width" === a || "height" === a ? (u = ie(e, a, r), f = "px") : "left" === a || "top" === a ? (u = Z(e, a, r), f = "px") : (u = "opacity" !== a ? 0 : 1, f = "")), v = g && "=" === d.charAt(1), v ? (p = parseInt(d.charAt(0) + "1", 10), d = d.substr(2), p *= parseFloat(d), m = d.replace(w, "")) : (p = parseFloat(d), m = g ? d.replace(w, "") : ""), "" === m && (m = a in n ? n[a] : f), d = p || 0 === p ? (v ? p + u : p) + m : t[a], f !== m && "" !== m && (p || 0 === p) && u && (u = Q(e, a, u, f), "%" === m ? (u /= Q(e, a, 100, "%") / 100, t.strictUnits !== !0 && (h = u + "%")) : "em" === m ? u /= Q(e, a, 1, "em") : "px" !== m && (p = Q(e, a, p, m), m = "px"), v && (p || 0 === p) && (d = p + u + m)), v && (p += u), !u && 0 !== u || !p && 0 !== p ? void 0 !== _[a] && (d || "NaN" != d + "" && null != d) ? (i = new fe(_, a, p || u || 0, 0, i, -1, a, !1, 0, h, d), i.xs0 = "none" !== d || "display" !== a && -1 === a.indexOf("Style") ? d : h) : H("invalid " + a + " tween value: " + t[a]) : (i = new fe(_, a, u, p - u, i, 0, a, c !== !1 && ("px" === m || "zIndex" === a), 0, h, d), i.xs0 = m)) : i = me(_, a, h, d, !0, null, i, 0, s)), s && i && !i.plugin && (i.plugin = s); return i }, u.setRatio = function(e) { var t, i, n, r = this._firstPT, s = 1e-6; if (1 !== e || this._tween._time !== this._tween._duration && 0 !== this._tween._time) if (e || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6) for (; r;) { if (t = r.c * e + r.s, r.r ? t = Math.round(t) : s > t && t > -s && (t = 0), r.type) if (1 === r.type) if (n = r.l, 2 === n) r.t[r.p] = r.xs0 + t + r.xs1 + r.xn1 + r.xs2; else if (3 === n) r.t[r.p] = r.xs0 + t + r.xs1 + r.xn1 + r.xs2 + r.xn2 + r.xs3; else if (4 === n) r.t[r.p] = r.xs0 + t + r.xs1 + r.xn1 + r.xs2 + r.xn2 + r.xs3 + r.xn3 + r.xs4; else if (5 === n) r.t[r.p] = r.xs0 + t + r.xs1 + r.xn1 + r.xs2 + r.xn2 + r.xs3 + r.xn3 + r.xs4 + r.xn4 + r.xs5; else { for (i = r.xs0 + t + r.xs1, n = 1; r.l > n; n++) i += r["xn" + n] + r["xs" + (n + 1)]; r.t[r.p] = i } else -1 === r.type ? r.t[r.p] = r.xs0 : r.setRatio && r.setRatio(e); else r.t[r.p] = t + r.xs0; r = r._next } else for (; r;) 2 !== r.type ? r.t[r.p] = r.b : r.setRatio(e), r = r._next; else for (; r;) 2 !== r.type ? r.t[r.p] = r.e : r.setRatio(e), r = r._next }, u._enableTransforms = function(e) { this._transform = this._transform || Ae(this._target, r, !0), this._transformType = this._transform.svg && we || !e && 3 !== this._transformType ? 2 : 3 }; var je = function() { this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0) }; u._addLazySet = function(e, t, i) { var n = this._firstPT = new fe(e, t, 0, 0, this._firstPT, 2); n.e = i, n.setRatio = je, n.data = this }, u._linkCSSP = function(e, t, i, n) { return e && (t && (t._prev = e), e._next && (e._next._prev = e._prev), e._prev ? e._prev._next = e._next : this._firstPT === e && (this._firstPT = e._next, n = !0), i ? i._next = e : n || null !== this._firstPT || (this._firstPT = e), e._next = t, e._prev = i), e }, u._kill = function(t) { var i, n, r, s = t; if (t.autoAlpha || t.alpha) { s = {}; for (n in t) s[n] = t[n]; s.opacity = 1, s.autoAlpha && (s.visibility = 1) } return t.className && (i = this._classNamePT) && (r = i.xfirst, r && r._prev ? this._linkCSSP(r._prev, i._next, r._prev._prev) : r === this._firstPT && (this._firstPT = i._next), i._next && this._linkCSSP(i._next, i._next._next, r._prev), this._classNamePT = null), e.prototype._kill.call(this, s) }; var Be = function(e, t, i) { var n, r, s, a; if (e.slice) for (r = e.length; --r > -1;) Be(e[r], t, i); else for (n = e.childNodes, r = n.length; --r > -1;) s = n[r], a = s.type, s.style && (t.push(K(s)), i && i.push(s)), 1 !== a && 9 !== a && 11 !== a || !s.childNodes.length || Be(s, t, i) }; return a.cascadeTo = function(e, i, n) { var r, s, a, o, l = t.to(e, i, n), u = [l], c = [], p = [], h = [], d = t._internals.reservedProps; for (e = l._targets || l.target, Be(e, c, h), l.render(i, !0, !0), Be(e, p), l.render(0, !0, !0), l._enabled(!0), r = h.length; --r > -1;) if (s = J(h[r], c[r], p[r]), s.firstMPT) { s = s.difs; for (a in n) d[a] && (s[a] = n[a]); o = {}; for (a in s) o[a] = c[r][a]; u.push(t.fromTo(h[r], i, o, s)) } return u }, e.activate([a]), a }, !0), function() { var e = _gsScope._gsDefine.plugin({ propName: "roundProps", priority: -1, API: 2, init: function(e, t, i) { return this._tween = i, !0 } }), t = e.prototype; t._onInitAllProps = function() { for (var e, t, i, n = this._tween, r = n.vars.roundProps instanceof Array ? n.vars.roundProps : n.vars.roundProps.split(","), s = r.length, a = {}, o = n._propLookup.roundProps; --s > -1;) a[r[s]] = 1; for (s = r.length; --s > -1;) for (e = r[s], t = n._firstPT; t;) i = t._next, t.pg ? t.t._roundProps(a, !0) : t.n === e && (this._add(t.t, e, t.s, t.c), i && (i._prev = t._prev), t._prev ? t._prev._next = i : n._firstPT === t && (n._firstPT = i), t._next = t._prev = null, n._propLookup[e] = o), t = i; return !1 }, t._add = function(e, t, i, n) { this._addTween(e, t, i, i + n, t, !0), this._overwriteProps.push(t) } }(), _gsScope._gsDefine.plugin({ propName: "attr", API: 2, version: "0.3.3", init: function(e, t) { var i, n, r; if ("function" != typeof e.setAttribute) return !1; this._target = e, this._proxy = {}, this._start = {}, this._end = {}; for (i in t) this._start[i] = this._proxy[i] = n = e.getAttribute(i), r = this._addTween(this._proxy, i, parseFloat(n), t[i], i), this._end[i] = r ? r.s + r.c : t[i], this._overwriteProps.push(i); return !0 }, set: function(e) { this._super.setRatio.call(this, e); for (var t, i = this._overwriteProps, n = i.length, r = 1 === e ? this._end : e ? this._proxy : this._start; --n > -1;) t = i[n], this._target.setAttribute(t, r[t] + "") } }), _gsScope._gsDefine.plugin({ propName: "directionalRotation", version: "0.2.1", API: 2, init: function(e, t) { "object" != typeof t && (t = { rotation: t }), this.finals = {}; var i, n, r, s, a, o, l = t.useRadians === !0 ? 2 * Math.PI : 360, u = 1e-6; for (i in t) "useRadians" !== i && (o = (t[i] + "").split("_"), n = o[0], r = parseFloat("function" != typeof e[i] ? e[i] : e[i.indexOf("set") || "function" != typeof e["get" + i.substr(3)] ? i : "get" + i.substr(3)]()), s = this.finals[i] = "string" == typeof n && "=" === n.charAt(1) ? r + parseInt(n.charAt(0) + "1", 10) * Number(n.substr(2)) : Number(n) || 0, a = s - r, o.length && (n = o.join("_"), -1 !== n.indexOf("short") && (a %= l, a !== a % (l / 2) && (a = 0 > a ? a + l : a - l)), -1 !== n.indexOf("_cw") && 0 > a ? a = (a + 9999999999 * l) % l - (0 | a / l) * l : -1 !== n.indexOf("ccw") && a > 0 && (a = (a - 9999999999 * l) % l - (0 | a / l) * l)), (a > u || -u > a) && (this._addTween(e, i, r, r + a, i), this._overwriteProps.push(i))); return !0 }, set: function(e) { var t; if (1 !== e) this._super.setRatio.call(this, e); else for (t = this._firstPT; t;) t.f ? t.t[t.p](this.finals[t.p]) : t.t[t.p] = this.finals[t.p], t = t._next } })._autoCSS = !0, _gsScope._gsDefine("easing.Back", ["easing.Ease"], function(e) { var t, i, n, r = _gsScope.GreenSockGlobals || _gsScope, s = r.com.greensock, a = 2 * Math.PI, o = Math.PI / 2, l = s._class, u = function(t, i) { var n = l("easing." + t, function() {}, !0), r = n.prototype = new e; return r.constructor = n, r.getRatio = i, n }, c = e.register || function() {}, p = function(e, t, i, n) { var r = l("easing." + e, { easeOut: new t, easeIn: new i, easeInOut: new n }, !0); return c(r, e), r }, h = function(e, t, i) { this.t = e, this.v = t, i && (this.next = i, i.prev = this, this.c = i.v - t, this.gap = i.t - e) }, d = function(t, i) { var n = l("easing." + t, function(e) { this._p1 = e || 0 === e ? e : 1.70158, this._p2 = 1.525 * this._p1 }, !0), r = n.prototype = new e; return r.constructor = n, r.getRatio = i, r.config = function(e) { return new n(e) }, n }, f = p("Back", d("BackOut", function(e) { return (e -= 1) * e * ((this._p1 + 1) * e + this._p1) + 1 }), d("BackIn", function(e) { return e * e * ((this._p1 + 1) * e - this._p1) }), d("BackInOut", function(e) { return 1 > (e *= 2) ? .5 * e * e * ((this._p2 + 1) * e - this._p2) : .5 * ((e -= 2) * e * ((this._p2 + 1) * e + this._p2) + 2) })), m = l("easing.SlowMo", function(e, t, i) { t = t || 0 === t ? t : .7, null == e ? e = .7 : e > 1 && (e = 1), this._p = 1 !== e ? t : 0, this._p1 = (1 - e) / 2, this._p2 = e, this._p3 = this._p1 + this._p2, this._calcEnd = i === !0 }, !0), g = m.prototype = new e; return g.constructor = m, g.getRatio = function(e) { var t = e + (.5 - e) * this._p; return this._p1 > e ? this._calcEnd ? 1 - (e = 1 - e / this._p1) * e : t - (e = 1 - e / this._p1) * e * e * e * t : e > this._p3 ? this._calcEnd ? 1 - (e = (e - this._p3) / this._p1) * e : t + (e - t) * (e = (e - this._p3) / this._p1) * e * e * e : this._calcEnd ? 1 : t }, m.ease = new m(.7, .7), g.config = m.config = function(e, t, i) { return new m(e, t, i) }, t = l("easing.SteppedEase", function(e) { e = e || 1, this._p1 = 1 / e, this._p2 = e + 1 }, !0), g = t.prototype = new e, g.constructor = t, g.getRatio = function(e) { return 0 > e ? e = 0 : e >= 1 && (e = .999999999), (this._p2 * e >> 0) * this._p1 }, g.config = t.config = function(e) { return new t(e) }, i = l("easing.RoughEase", function(t) { t = t || {}; for (var i, n, r, s, a, o, l = t.taper || "none", u = [], c = 0, p = 0 | (t.points || 20), d = p, f = t.randomize !== !1, m = t.clamp === !0, g = t.template instanceof e ? t.template : null, v = "number" == typeof t.strength ? .4 * t.strength : .4; --d > -1;) i = f ? Math.random() : 1 / p * d, n = g ? g.getRatio(i) : i, "none" === l ? r = v : "out" === l ? (s = 1 - i, r = s * s * v) : "in" === l ? r = i * i * v : .5 > i ? (s = 2 * i, r = .5 * s * s * v) : (s = 2 * (1 - i), r = .5 * s * s * v), f ? n += Math.random() * r - .5 * r : d % 2 ? n += .5 * r : n -= .5 * r, m && (n > 1 ? n = 1 : 0 > n && (n = 0)), u[c++] = { x: i, y: n }; for (u.sort(function(e, t) { return e.x - t.x }), o = new h(1, 1, null), d = p; --d > -1;) a = u[d], o = new h(a.x, a.y, o); this._prev = new h(0, 0, 0 !== o.t ? o : o.next) }, !0), g = i.prototype = new e, g.constructor = i, g.getRatio = function(e) { var t = this._prev; if (e > t.t) { for (; t.next && e >= t.t;) t = t.next; t = t.prev } else for (; t.prev && t.t >= e;) t = t.prev; return this._prev = t, t.v + (e - t.t) / t.gap * t.c }, g.config = function(e) { return new i(e) }, i.ease = new i, p("Bounce", u("BounceOut", function(e) { return 1 / 2.75 > e ? 7.5625 * e * e : 2 / 2.75 > e ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : 2.5 / 2.75 > e ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375 }), u("BounceIn", function(e) { return 1 / 2.75 > (e = 1 - e) ? 1 - 7.5625 * e * e : 2 / 2.75 > e ? 1 - (7.5625 * (e -= 1.5 / 2.75) * e + .75) : 2.5 / 2.75 > e ? 1 - (7.5625 * (e -= 2.25 / 2.75) * e + .9375) : 1 - (7.5625 * (e -= 2.625 / 2.75) * e + .984375) }), u("BounceInOut", function(e) { var t = .5 > e; return e = t ? 1 - 2 * e : 2 * e - 1, e = 1 / 2.75 > e ? 7.5625 * e * e : 2 / 2.75 > e ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : 2.5 / 2.75 > e ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375, t ? .5 * (1 - e) : .5 * e + .5 })), p("Circ", u("CircOut", function(e) { return Math.sqrt(1 - (e -= 1) * e) }), u("CircIn", function(e) { return -(Math.sqrt(1 - e * e) - 1) }), u("CircInOut", function(e) { return 1 > (e *= 2) ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1) })), n = function(t, i, n) { var r = l("easing." + t, function(e, t) { this._p1 = e >= 1 ? e : 1, this._p2 = (t || n) / (1 > e ? e : 1), this._p3 = this._p2 / a * (Math.asin(1 / this._p1) || 0), this._p2 = a / this._p2 }, !0), s = r.prototype = new e; return s.constructor = r, s.getRatio = i, s.config = function(e, t) { return new r(e, t) }, r }, p("Elastic", n("ElasticOut", function(e) { return this._p1 * Math.pow(2, -10 * e) * Math.sin((e - this._p3) * this._p2) + 1 }, .3), n("ElasticIn", function(e) { return -(this._p1 * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - this._p3) * this._p2)) }, .3), n("ElasticInOut", function(e) { return 1 > (e *= 2) ? -.5 * this._p1 * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - this._p3) * this._p2) : .5 * this._p1 * Math.pow(2, -10 * (e -= 1)) * Math.sin((e - this._p3) * this._p2) + 1 }, .45)), p("Expo", u("ExpoOut", function(e) { return 1 - Math.pow(2, -10 * e) }), u("ExpoIn", function(e) { return Math.pow(2, 10 * (e - 1)) - .001 }), u("ExpoInOut", function(e) { return 1 > (e *= 2) ? .5 * Math.pow(2, 10 * (e - 1)) : .5 * (2 - Math.pow(2, -10 * (e - 1))) })), p("Sine", u("SineOut", function(e) { return Math.sin(e * o) }), u("SineIn", function(e) { return -Math.cos(e * o) + 1 }), u("SineInOut", function(e) { return -.5 * (Math.cos(Math.PI * e) - 1) })), l("easing.EaseLookup", { find: function(t) { return e.map[t] } }, !0), c(r.SlowMo, "SlowMo", "ease,"), c(i, "RoughEase", "ease,"), c(t, "SteppedEase", "ease,"), f }, !0) }), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function(e, t) { "use strict"; var i = e.GreenSockGlobals = e.GreenSockGlobals || e; if (!i.TweenLite) { var n, r, s, a, o, l = function(e) { var t, n = e.split("."), r = i; for (t = 0; n.length > t; t++) r[n[t]] = r = r[n[t]] || {}; return r }, u = l("com.greensock"), c = 1e-10, p = function(e) { var t, i = [], n = e.length; for (t = 0; t !== n; i.push(e[t++])); return i }, h = function() {}, d = function() { var e = Object.prototype.toString, t = e.call([]); return function(i) { return null != i && (i instanceof Array || "object" == typeof i && !!i.push && e.call(i) === t) } }(), f = {}, m = function(n, r, s, a) { this.sc = f[n] ? f[n].sc : [], f[n] = this, this.gsClass = null, this.func = s; var o = []; this.check = function(u) { for (var c, p, h, d, g = r.length, v = g; --g > -1;)(c = f[r[g]] || new m(r[g], [])).gsClass ? (o[g] = c.gsClass, v--) : u && c.sc.push(this); if (0 === v && s) for (p = ("com.greensock." + n).split("."), h = p.pop(), d = l(p.join("."))[h] = this.gsClass = s.apply(s, o), a && (i[h] = d, "function" == typeof define && define.amd ? define((e.GreenSockAMDPath ? e.GreenSockAMDPath + "/" : "") + n.split(".").pop(), [], function() { return d }) : n === t && "undefined" != typeof module && module.exports && (module.exports = d)), g = 0; this.sc.length > g; g++) this.sc[g].check() }, this.check(!0) }, g = e._gsDefine = function(e, t, i, n) { return new m(e, t, i, n) }, v = u._class = function(e, t, i) { return t = t || function() {}, g(e, [], function() { return t }, i), t }; g.globals = i; var _ = [0, 0, 1, 1], y = [], w = v("easing.Ease", function(e, t, i, n) { this._func = e, this._type = i || 0, this._power = n || 0, this._params = t ? _.concat(t) : _ }, !0), x = w.map = {}, b = w.register = function(e, t, i, n) { for (var r, s, a, o, l = t.split(","), c = l.length, p = (i || "easeIn,easeOut,easeInOut").split(","); --c > -1;) for (s = l[c], r = n ? v("easing." + s, null, !0) : u.easing[s] || {}, a = p.length; --a > -1;) o = p[a], x[s + "." + o] = x[o + s] = r[o] = e.getRatio ? e : e[o] || new e }; for (s = w.prototype, s._calcEnd = !1, s.getRatio = function(e) { if (this._func) return this._params[0] = e, this._func.apply(null, this._params); var t = this._type, i = this._power, n = 1 === t ? 1 - e : 2 === t ? e : .5 > e ? 2 * e : 2 * (1 - e); return 1 === i ? n *= n : 2 === i ? n *= n * n : 3 === i ? n *= n * n * n : 4 === i && (n *= n * n * n * n), 1 === t ? 1 - n : 2 === t ? n : .5 > e ? n / 2 : 1 - n / 2 }, n = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], r = n.length; --r > -1;) s = n[r] + ",Power" + r, b(new w(null, null, 1, r), s, "easeOut", !0), b(new w(null, null, 2, r), s, "easeIn" + (0 === r ? ",easeNone" : "")), b(new w(null, null, 3, r), s, "easeInOut"); x.linear = u.easing.Linear.easeIn, x.swing = u.easing.Quad.easeInOut; var T = v("events.EventDispatcher", function(e) { this._listeners = {}, this._eventTarget = e || this }); s = T.prototype, s.addEventListener = function(e, t, i, n, r) { r = r || 0; var s, l, u = this._listeners[e], c = 0; for (null == u && (this._listeners[e] = u = []), l = u.length; --l > -1;) s = u[l], s.c === t && s.s === i ? u.splice(l, 1) : 0 === c && r > s.pr && (c = l + 1); u.splice(c, 0, { c: t, s: i, up: n, pr: r }), this !== a || o || a.wake() }, s.removeEventListener = function(e, t) { var i, n = this._listeners[e]; if (n) for (i = n.length; --i > -1;) if (n[i].c === t) return void n.splice(i, 1) }, s.dispatchEvent = function(e) { var t, i, n, r = this._listeners[e]; if (r) for (t = r.length, i = this._eventTarget; --t > -1;) n = r[t], n && (n.up ? n.c.call(n.s || i, { type: e, target: i }) : n.c.call(n.s || i)) }; var S = e.requestAnimationFrame, C = e.cancelAnimationFrame, P = Date.now || function() { return (new Date).getTime() }, k = P(); for (n = ["ms", "moz", "webkit", "o"], r = n.length; --r > -1 && !S;) S = e[n[r] + "RequestAnimationFrame"], C = e[n[r] + "CancelAnimationFrame"] || e[n[r] + "CancelRequestAnimationFrame"]; v("Ticker", function(e, t) { var i, n, r, s, l, u = this, p = P(), d = t !== !1 && S, f = 500, m = 33, g = "tick", v = function(e) { var t, a, o = P() - k; o > f && (p += o - m), k += o, u.time = (k - p) / 1e3, t = u.time - l, (!i || t > 0 || e === !0) && (u.frame++, l += t + (t >= s ? .004 : s - t), a = !0), e !== !0 && (r = n(v)), a && u.dispatchEvent(g) }; T.call(u), u.time = u.frame = 0, u.tick = function() { v(!0) }, u.lagSmoothing = function(e, t) { f = e || 1 / c, m = Math.min(t, f, 0) }, u.sleep = function() { null != r && (d && C ? C(r) : clearTimeout(r), n = h, r = null, u === a && (o = !1)) }, u.wake = function() { null !== r ? u.sleep() : u.frame > 10 && (k = P() - f + 5), n = 0 === i ? h : d && S ? S : function(e) { return setTimeout(e, 0 | 1e3 * (l - u.time) + 1) }, u === a && (o = !0), v(2) }, u.fps = function(e) { return arguments.length ? (i = e, s = 1 / (i || 60), l = this.time + s, void u.wake()) : i }, u.useRAF = function(e) { return arguments.length ? (u.sleep(), d = e, void u.fps(i)) : d }, u.fps(e), setTimeout(function() { d && 5 > u.frame && u.useRAF(!1) }, 1500) }), s = u.Ticker.prototype = new u.events.EventDispatcher, s.constructor = u.Ticker; var D = v("core.Animation", function(e, t) { if (this.vars = t = t || {}, this._duration = this._totalDuration = e || 0, this._delay = Number(t.delay) || 0, this._timeScale = 1, this._active = t.immediateRender === !0, this.data = t.data, this._reversed = t.reversed === !0, q) { o || a.wake(); var i = this.vars.useFrames ? $ : q; i.add(this, i._time), this.vars.paused && this.paused(!0) } }); a = D.ticker = new u.Ticker, s = D.prototype, s._dirty = s._gc = s._initted = s._paused = !1, s._totalTime = s._time = 0, s._rawPrevTime = -1, s._next = s._last = s._onUpdate = s._timeline = s.timeline = null, s._paused = !1; var E = function() { o && P() - k > 2e3 && a.wake(), setTimeout(E, 2e3) }; E(), s.play = function(e, t) { return null != e && this.seek(e, t), this.reversed(!1).paused(!1) }, s.pause = function(e, t) { return null != e && this.seek(e, t), this.paused(!0) }, s.resume = function(e, t) { return null != e && this.seek(e, t), this.paused(!1) }, s.seek = function(e, t) { return this.totalTime(Number(e), t !== !1) }, s.restart = function(e, t) { return this.reversed(!1).paused(!1).totalTime(e ? -this._delay : 0, t !== !1, !0) }, s.reverse = function(e, t) { return null != e && this.seek(e || this.totalDuration(), t), this.reversed(!0).paused(!1) }, s.render = function() {}, s.invalidate = function() { return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this }, s.isActive = function() { var e, t = this._timeline, i = this._startTime; return !t || !this._gc && !this._paused && t.isActive() && (e = t.rawTime()) >= i && i + this.totalDuration() / this._timeScale > e }, s._enabled = function(e, t) { return o || a.wake(), this._gc = !e, this._active = this.isActive(), t !== !0 && (e && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !e && this.timeline && this._timeline._remove(this, !0)), !1 }, s._kill = function() { return this._enabled(!1, !1) }, s.kill = function(e, t) { return this._kill(e, t), this }, s._uncache = function(e) { for (var t = e ? this : this.timeline; t;) t._dirty = !0, t = t.timeline; return this }, s._swapSelfInParams = function(e) { for (var t = e.length, i = e.concat(); --t > -1;) "{self}" === e[t] && (i[t] = this); return i }, s.eventCallback = function(e, t, i, n) { if ("on" === (e || "").substr(0, 2)) { var r = this.vars; if (1 === arguments.length) return r[e]; null == t ? delete r[e] : (r[e] = t, r[e + "Params"] = d(i) && -1 !== i.join("").indexOf("{self}") ? this._swapSelfInParams(i) : i, r[e + "Scope"] = n), "onUpdate" === e && (this._onUpdate = t) } return this }, s.delay = function(e) { return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + e - this._delay), this._delay = e, this) : this._delay }, s.duration = function(e) { return arguments.length ? (this._duration = this._totalDuration = e, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== e && this.totalTime(this._totalTime * (e / this._duration), !0), this) : (this._dirty = !1, this._duration) }, s.totalDuration = function(e) { return this._dirty = !1, arguments.length ? this.duration(e) : this._totalDuration }, s.time = function(e, t) { return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(e > this._duration ? this._duration : e, t)) : this._time }, s.totalTime = function(e, t, i) { if (o || a.wake(), !arguments.length) return this._totalTime; if (this._timeline) { if (0 > e && !i && (e += this.totalDuration()), this._timeline.smoothChildTiming) { this._dirty && this.totalDuration(); var n = this._totalDuration, r = this._timeline; if (e > n && !i && (e = n), this._startTime = (this._paused ? this._pauseTime : r._time) - (this._reversed ? n - e : e) / this._timeScale, r._dirty || this._uncache(!1), r._timeline) for (; r._timeline;) r._timeline._time !== (r._startTime + r._totalTime) / r._timeScale && r.totalTime(r._totalTime, !0), r = r._timeline } this._gc && this._enabled(!0, !1), (this._totalTime !== e || 0 === this._duration) && (this.render(e, t, !1), L.length && W()) } return this }, s.progress = s.totalProgress = function(e, t) { return arguments.length ? this.totalTime(this.duration() * e, t) : this._time / this.duration() }, s.startTime = function(e) { return arguments.length ? (e !== this._startTime && (this._startTime = e, this.timeline && this.timeline._sortChildren && this.timeline.add(this, e - this._delay)), this) : this._startTime }, s.endTime = function(e) { return this._startTime + (0 != e ? this.totalDuration() : this.duration()) / this._timeScale }, s.timeScale = function(e) { if (!arguments.length) return this._timeScale; if (e = e || c, this._timeline && this._timeline.smoothChildTiming) { var t = this._pauseTime, i = t || 0 === t ? t : this._timeline.totalTime(); this._startTime = i - (i - this._startTime) * this._timeScale / e } return this._timeScale = e, this._uncache(!1) }, s.reversed = function(e) { return arguments.length ? (e != this._reversed && (this._reversed = e, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed }, s.paused = function(e) { if (!arguments.length) return this._paused; var t, i, n = this._timeline; return e != this._paused && n && (o || e || a.wake(), t = n.rawTime(), i = t - this._pauseTime, !e && n.smoothChildTiming && (this._startTime += i, this._uncache(!1)), this._pauseTime = e ? t : null, this._paused = e, this._active = this.isActive(), !e && 0 !== i && this._initted && this.duration() && this.render(n.smoothChildTiming ? this._totalTime : (t - this._startTime) / this._timeScale, !0, !0)), this._gc && !e && this._enabled(!0, !1), this }; var O = v("core.SimpleTimeline", function(e) { D.call(this, 0, e), this.autoRemoveChildren = this.smoothChildTiming = !0 }); s = O.prototype = new D, s.constructor = O, s.kill()._gc = !1, s._first = s._last = s._recent = null, s._sortChildren = !1, s.add = s.insert = function(e, t) { var i, n; if (e._startTime = Number(t || 0) + e._delay, e._paused && this !== e._timeline && (e._pauseTime = e._startTime + (this.rawTime() - e._startTime) / e._timeScale), e.timeline && e.timeline._remove(e, !0), e.timeline = e._timeline = this, e._gc && e._enabled(!0, !0), i = this._last, this._sortChildren) for (n = e._startTime; i && i._startTime > n;) i = i._prev; return i ? (e._next = i._next, i._next = e) : (e._next = this._first, this._first = e), e._next ? e._next._prev = e : this._last = e, e._prev = i, this._recent = e, this._timeline && this._uncache(!0), this }, s._remove = function(e, t) { return e.timeline === this && (t || e._enabled(!1, !0), e._prev ? e._prev._next = e._next : this._first === e && (this._first = e._next), e._next ? e._next._prev = e._prev : this._last === e && (this._last = e._prev), e._next = e._prev = e.timeline = null, e === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this }, s.render = function(e, t, i) { var n, r = this._first; for (this._totalTime = this._time = this._rawPrevTime = e; r;) n = r._next, (r._active || e >= r._startTime && !r._paused) && (r._reversed ? r.render((r._dirty ? r.totalDuration() : r._totalDuration) - (e - r._startTime) * r._timeScale, t, i) : r.render((e - r._startTime) * r._timeScale, t, i)), r = n }, s.rawTime = function() { return o || a.wake(), this._totalTime }; var M = v("TweenLite", function(t, i, n) { if (D.call(this, i, n), this.render = M.prototype.render, null == t) throw "Cannot tween a null target."; this.target = t = "string" != typeof t ? t : M.selector(t) || t; var r, s, a, o = t.jquery || t.length && t !== e && t[0] && (t[0] === e || t[0].nodeType && t[0].style && !t.nodeType), l = this.vars.overwrite; if (this._overwrite = l = null == l ? X[M.defaultOverwrite] : "number" == typeof l ? l >> 0 : X[l], (o || t instanceof Array || t.push && d(t)) && "number" != typeof t[0]) for (this._targets = a = p(t), this._propLookup = [], this._siblings = [], r = 0; a.length > r; r++) s = a[r], s ? "string" != typeof s ? s.length && s !== e && s[0] && (s[0] === e || s[0].nodeType && s[0].style && !s.nodeType) ? (a.splice(r--, 1), this._targets = a = a.concat(p(s))) : (this._siblings[r] = V(s, this, !1), 1 === l && this._siblings[r].length > 1 && G(s, this, null, 1, this._siblings[r])) : (s = a[r--] = M.selector(s), "string" == typeof s && a.splice(r + 1, 1)) : a.splice(r--, 1); else this._propLookup = {}, this._siblings = V(t, this, !1), 1 === l && this._siblings.length > 1 && G(t, this, null, 1, this._siblings); (this.vars.immediateRender || 0 === i && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -c, this.render(-this._delay)) }, !0), A = function(t) { return t && t.length && t !== e && t[0] && (t[0] === e || t[0].nodeType && t[0].style && !t.nodeType) }, R = function(e, t) { var i, n = {}; for (i in e) B[i] || i in t && "transform" !== i && "x" !== i && "y" !== i && "width" !== i && "height" !== i && "className" !== i && "border" !== i || !(!z[i] || z[i] && z[i]._autoCSS) || (n[i] = e[i], delete e[i]); e.css = n }; s = M.prototype = new D, s.constructor = M, s.kill()._gc = !1, s.ratio = 0, s._firstPT = s._targets = s._overwrittenProps = s._startAt = null, s._notifyPluginsOfEnabled = s._lazy = !1, M.version = "1.16.1", M.defaultEase = s._ease = new w(null, null, 1, 1), M.defaultOverwrite = "auto", M.ticker = a, M.autoSleep = 120, M.lagSmoothing = function(e, t) { a.lagSmoothing(e, t) }, M.selector = e.$ || e.jQuery || function(t) { var i = e.$ || e.jQuery; return i ? (M.selector = i, i(t)) : "undefined" == typeof document ? t : document.querySelectorAll ? document.querySelectorAll(t) : document.getElementById("#" === t.charAt(0) ? t.substr(1) : t) }; var L = [], N = {}, I = M._internals = { isArray: d, isSelector: A, lazyTweens: L }, z = M._plugins = {}, F = I.tweenLookup = {}, j = 0, B = I.reservedProps = { ease: 1, delay: 1, overwrite: 1, onComplete: 1, onCompleteParams: 1, onCompleteScope: 1, useFrames: 1, runBackwards: 1, startAt: 1, onUpdate: 1, onUpdateParams: 1, onUpdateScope: 1, onStart: 1, onStartParams: 1, onStartScope: 1, onReverseComplete: 1, onReverseCompleteParams: 1, onReverseCompleteScope: 1, onRepeat: 1, onRepeatParams: 1, onRepeatScope: 1, easeParams: 1, yoyo: 1, immediateRender: 1, repeat: 1, repeatDelay: 1, data: 1, paused: 1, reversed: 1, autoCSS: 1, lazy: 1, onOverwrite: 1 }, X = { none: 0, all: 1, auto: 2, concurrent: 3, allOnStart: 4, preexisting: 5, "true": 1, "false": 0 }, $ = D._rootFramesTimeline = new O, q = D._rootTimeline = new O, H = 30, W = I.lazyRender = function() { var e, t = L.length; for (N = {}; --t > -1;) e = L[t], e && e._lazy !== !1 && (e.render(e._lazy[0], e._lazy[1], !0), e._lazy = !1); L.length = 0 }; q._startTime = a.time, $._startTime = a.frame, q._active = $._active = !0, setTimeout(W, 1), D._updateRoot = M.render = function() { var e, t, i; if (L.length && W(), q.render((a.time - q._startTime) * q._timeScale, !1, !1), $.render((a.frame - $._startTime) * $._timeScale, !1, !1), L.length && W(), a.frame >= H) { H = a.frame + (parseInt(M.autoSleep, 10) || 120); for (i in F) { for (t = F[i].tweens, e = t.length; --e > -1;) t[e]._gc && t.splice(e, 1); 0 === t.length && delete F[i] } if (i = q._first, (!i || i._paused) && M.autoSleep && !$._first && 1 === a._listeners.tick.length) { for (; i && i._paused;) i = i._next; i || a.sleep() } } }, a.addEventListener("tick", D._updateRoot); var V = function(e, t, i) { var n, r, s = e._gsTweenID; if (F[s || (e._gsTweenID = s = "t" + j++)] || (F[s] = { target: e, tweens: [] }), t && (n = F[s].tweens, n[r = n.length] = t, i)) for (; --r > -1;) n[r] === t && n.splice(r, 1); return F[s].tweens }, Y = function(e, t, i, n) { var r, s, a = e.vars.onOverwrite; return a && (r = a(e, t, i, n)), a = M.onOverwrite, a && (s = a(e, t, i, n)), r !== !1 && s !== !1 }, G = function(e, t, i, n, r) { var s, a, o, l; if (1 === n || n >= 4) { for (l = r.length, s = 0; l > s; s++) if ((o = r[s]) !== t) o._gc || Y(o, t) && o._enabled(!1, !1) && (a = !0); else if (5 === n) break; return a } var u, p = t._startTime + c, h = [], d = 0, f = 0 === t._duration; for (s = r.length; --s > -1;)(o = r[s]) === t || o._gc || o._paused || (o._timeline !== t._timeline ? (u = u || U(t, 0, f), 0 === U(o, u, f) && (h[d++] = o)) : p >= o._startTime && o._startTime + o.totalDuration() / o._timeScale > p && ((f || !o._initted) && 2e-10 >= p - o._startTime || (h[d++] = o))); for (s = d; --s > -1;) if (o = h[s], 2 === n && o._kill(i, e, t) && (a = !0), 2 !== n || !o._firstPT && o._initted) { if (2 !== n && !Y(o, t)) continue; o._enabled(!1, !1) && (a = !0) } return a }, U = function(e, t, i) { for (var n = e._timeline, r = n._timeScale, s = e._startTime; n._timeline;) { if (s += n._startTime, r *= n._timeScale, n._paused) return -100; n = n._timeline } return s /= r, s > t ? s - t : i && s === t || !e._initted && 2 * c > s - t ? c : (s += e.totalDuration() / e._timeScale / r) > t + c ? 0 : s - t - c }; s._init = function() { var e, t, i, n, r, s = this.vars, a = this._overwrittenProps, o = this._duration, l = !!s.immediateRender, u = s.ease; if (s.startAt) { this._startAt && (this._startAt.render(-1, !0), this._startAt.kill()), r = {}; for (n in s.startAt) r[n] = s.startAt[n]; if (r.overwrite = !1, r.immediateRender = !0, r.lazy = l && s.lazy !== !1, r.startAt = r.delay = null, this._startAt = M.to(this.target, 0, r), l) if (this._time > 0) this._startAt = null; else if (0 !== o) return } else if (s.runBackwards && 0 !== o) if (this._startAt) this._startAt.render(-1, !0), this._startAt.kill(), this._startAt = null; else { 0 !== this._time && (l = !1), i = {}; for (n in s) B[n] && "autoCSS" !== n || (i[n] = s[n]); if (i.overwrite = 0, i.data = "isFromStart", i.lazy = l && s.lazy !== !1, i.immediateRender = l, this._startAt = M.to(this.target, 0, i), l) { if (0 === this._time) return } else this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null) } if (this._ease = u = u ? u instanceof w ? u : "function" == typeof u ? new w(u, s.easeParams) : x[u] || M.defaultEase : M.defaultEase, s.easeParams instanceof Array && u.config && (this._ease = u.config.apply(u, s.easeParams)), this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets) for (e = this._targets.length; --e > -1;) this._initProps(this._targets[e], this._propLookup[e] = {}, this._siblings[e], a ? a[e] : null) && (t = !0); else t = this._initProps(this.target, this._propLookup, this._siblings, a); if (t && M._onPluginEvent("_onInitAllProps", this), a && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), s.runBackwards) for (i = this._firstPT; i;) i.s += i.c, i.c = -i.c, i = i._next; this._onUpdate = s.onUpdate, this._initted = !0 }, s._initProps = function(t, i, n, r) { var s, a, o, l, u, c; if (null == t) return !1; N[t._gsTweenID] && W(), this.vars.css || t.style && t !== e && t.nodeType && z.css && this.vars.autoCSS !== !1 && R(this.vars, t); for (s in this.vars) { if (c = this.vars[s], B[s]) c && (c instanceof Array || c.push && d(c)) && -1 !== c.join("").indexOf("{self}") && (this.vars[s] = c = this._swapSelfInParams(c, this)); else if (z[s] && (l = new z[s])._onInitTween(t, this.vars[s], this)) { for (this._firstPT = u = { _next: this._firstPT, t: l, p: "setRatio", s: 0, c: 1, f: !0, n: s, pg: !0, pr: l._priority }, a = l._overwriteProps.length; --a > -1;) i[l._overwriteProps[a]] = this._firstPT; (l._priority || l._onInitAllProps) && (o = !0), (l._onDisable || l._onEnable) && (this._notifyPluginsOfEnabled = !0) } else this._firstPT = i[s] = u = { _next: this._firstPT, t: t, p: s, f: "function" == typeof t[s], n: s, pg: !1, pr: 0 }, u.s = u.f ? t[s.indexOf("set") || "function" != typeof t["get" + s.substr(3)] ? s : "get" + s.substr(3)]() : parseFloat(t[s]), u.c = "string" == typeof c && "=" === c.charAt(1) ? parseInt(c.charAt(0) + "1", 10) * Number(c.substr(2)) : Number(c) - u.s || 0; u && u._next && (u._next._prev = u) } return r && this._kill(r, t) ? this._initProps(t, i, n, r) : this._overwrite > 1 && this._firstPT && n.length > 1 && G(t, this, i, this._overwrite, n) ? (this._kill(i, t), this._initProps(t, i, n, r)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (N[t._gsTweenID] = !0), o) }, s.render = function(e, t, i) { var n, r, s, a, o = this._time, l = this._duration, u = this._rawPrevTime; if (e >= l) this._totalTime = this._time = l, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1, this._reversed || (n = !0, r = "onComplete", i = i || this._timeline.autoRemoveChildren), 0 === l && (this._initted || !this.vars.lazy || i) && (this._startTime === this._timeline._duration && (e = 0), (0 === e || 0 > u || u === c && "isPause" !== this.data) && u !== e && (i = !0, u > c && (r = "onReverseComplete")), this._rawPrevTime = a = !t || e || u === e ? e : c); else if (1e-7 > e) this._totalTime = this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== o || 0 === l && u > 0) && (r = "onReverseComplete", n = this._reversed), 0 > e && (this._active = !1, 0 === l && (this._initted || !this.vars.lazy || i) && (u >= 0 && (u !== c || "isPause" !== this.data) && (i = !0), this._rawPrevTime = a = !t || e || u === e ? e : c)), this._initted || (i = !0); else if (this._totalTime = this._time = e, this._easeType) { var p = e / l, h = this._easeType, d = this._easePower; (1 === h || 3 === h && p >= .5) && (p = 1 - p), 3 === h && (p *= 2), 1 === d ? p *= p : 2 === d ? p *= p * p : 3 === d ? p *= p * p * p : 4 === d && (p *= p * p * p * p), this.ratio = 1 === h ? 1 - p : 2 === h ? p : .5 > e / l ? p / 2 : 1 - p / 2 } else this.ratio = this._ease.getRatio(e / l); if (this._time !== o || i) { if (!this._initted) { if (this._init(), !this._initted || this._gc) return; if (!i && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = this._totalTime = o, this._rawPrevTime = u, L.push(this), void(this._lazy = [e, t]); this._time && !n ? this.ratio = this._ease.getRatio(this._time / l) : n && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1)) } for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== o && e >= 0 && (this._active = !0), 0 === o && (this._startAt && (e >= 0 ? this._startAt.render(e, t, i) : r || (r = "_dummyGS")), this.vars.onStart && (0 !== this._time || 0 === l) && (t || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || y))), s = this._firstPT; s;) s.f ? s.t[s.p](s.c * this.ratio + s.s) : s.t[s.p] = s.c * this.ratio + s.s, s = s._next; this._onUpdate && (0 > e && this._startAt && e !== -1e-4 && this._startAt.render(e, t, i), t || (this._time !== o || n) && this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || y)), r && (!this._gc || i) && (0 > e && this._startAt && !this._onUpdate && e !== -1e-4 && this._startAt.render(e, t, i), n && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !t && this.vars[r] && this.vars[r].apply(this.vars[r + "Scope"] || this, this.vars[r + "Params"] || y), 0 === l && this._rawPrevTime === c && a !== c && (this._rawPrevTime = 0)) } }, s._kill = function(e, t, i) { if ("all" === e && (e = null), null == e && (null == t || t === this.target)) return this._lazy = !1, this._enabled(!1, !1); t = "string" != typeof t ? t || this._targets || this.target : M.selector(t) || t; var n, r, s, a, o, l, u, c, p; if ((d(t) || A(t)) && "number" != typeof t[0]) for (n = t.length; --n > -1;) this._kill(e, t[n]) && (l = !0); else { if (this._targets) { for (n = this._targets.length; --n > -1;) if (t === this._targets[n]) { o = this._propLookup[n] || {}, this._overwrittenProps = this._overwrittenProps || [], r = this._overwrittenProps[n] = e ? this._overwrittenProps[n] || {} : "all"; break } } else { if (t !== this.target) return !1; o = this._propLookup, r = this._overwrittenProps = e ? this._overwrittenProps || {} : "all" } if (o) { if (u = e || o, c = e !== r && "all" !== r && e !== o && ("object" != typeof e || !e._tempKill), i && (M.onOverwrite || this.vars.onOverwrite)) { for (s in u) o[s] && (p || (p = []), p.push(s)); if (!Y(this, i, t, p)) return !1 } for (s in u)(a = o[s]) && (a.pg && a.t._kill(u) && (l = !0), a.pg && 0 !== a.t._overwriteProps.length || (a._prev ? a._prev._next = a._next : a === this._firstPT && (this._firstPT = a._next), a._next && (a._next._prev = a._prev), a._next = a._prev = null), delete o[s]), c && (r[s] = 1);!this._firstPT && this._initted && this._enabled(!1, !1) } } return l }, s.invalidate = function() { return this._notifyPluginsOfEnabled && M._onPluginEvent("_onDisable", this), this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], D.prototype.invalidate.call(this), this.vars.immediateRender && (this._time = -c, this.render(-this._delay)), this }, s._enabled = function(e, t) { if (o || a.wake(), e && this._gc) { var i, n = this._targets; if (n) for (i = n.length; --i > -1;) this._siblings[i] = V(n[i], this, !0); else this._siblings = V(this.target, this, !0) } return D.prototype._enabled.call(this, e, t), this._notifyPluginsOfEnabled && this._firstPT ? M._onPluginEvent(e ? "_onEnable" : "_onDisable", this) : !1 }, M.to = function(e, t, i) { return new M(e, t, i) }, M.from = function(e, t, i) { return i.runBackwards = !0, i.immediateRender = 0 != i.immediateRender, new M(e, t, i) }, M.fromTo = function(e, t, i, n) { return n.startAt = i, n.immediateRender = 0 != n.immediateRender && 0 != i.immediateRender, new M(e, t, n) }, M.delayedCall = function(e, t, i, n, r) { return new M(t, 0, { delay: e, onComplete: t, onCompleteParams: i, onCompleteScope: n, onReverseComplete: t, onReverseCompleteParams: i, onReverseCompleteScope: n, immediateRender: !1, lazy: !1, useFrames: r, overwrite: 0 }) }, M.set = function(e, t) { return new M(e, 0, t) }, M.getTweensOf = function(e, t) { if (null == e) return []; e = "string" != typeof e ? e : M.selector(e) || e; var i, n, r, s; if ((d(e) || A(e)) && "number" != typeof e[0]) { for (i = e.length, n = []; --i > -1;) n = n.concat(M.getTweensOf(e[i], t)); for (i = n.length; --i > -1;) for (s = n[i], r = i; --r > -1;) s === n[r] && n.splice(i, 1) } else for (n = V(e).concat(), i = n.length; --i > -1;)(n[i]._gc || t && !n[i].isActive()) && n.splice(i, 1); return n }, M.killTweensOf = M.killDelayedCallsTo = function(e, t, i) { "object" == typeof t && (i = t, t = !1); for (var n = M.getTweensOf(e, t), r = n.length; --r > -1;) n[r]._kill(i, e) }; var Q = v("plugins.TweenPlugin", function(e, t) { this._overwriteProps = (e || "").split(","), this._propName = this._overwriteProps[0], this._priority = t || 0, this._super = Q.prototype }, !0); if (s = Q.prototype, Q.version = "1.10.1", Q.API = 2, s._firstPT = null, s._addTween = function(e, t, i, n, r, s) { var a, o; return null != n && (a = "number" == typeof n || "=" !== n.charAt(1) ? Number(n) - i : parseInt(n.charAt(0) + "1", 10) * Number(n.substr(2))) ? (this._firstPT = o = { _next: this._firstPT, t: e, p: t, s: i, c: a, f: "function" == typeof e[t], n: r || t, r: s }, o._next && (o._next._prev = o), o) : void 0 }, s.setRatio = function(e) { for (var t, i = this._firstPT, n = 1e-6; i;) t = i.c * e + i.s, i.r ? t = Math.round(t) : n > t && t > -n && (t = 0), i.f ? i.t[i.p](t) : i.t[i.p] = t, i = i._next }, s._kill = function(e) { var t, i = this._overwriteProps, n = this._firstPT; if (null != e[this._propName]) this._overwriteProps = []; else for (t = i.length; --t > -1;) null != e[i[t]] && i.splice(t, 1); for (; n;) null != e[n.n] && (n._next && (n._next._prev = n._prev), n._prev ? (n._prev._next = n._next, n._prev = null) : this._firstPT === n && (this._firstPT = n._next)), n = n._next; return !1 }, s._roundProps = function(e, t) { for (var i = this._firstPT; i;)(e[this._propName] || null != i.n && e[i.n.split(this._propName + "_").join("")]) && (i.r = t), i = i._next }, M._onPluginEvent = function(e, t) { var i, n, r, s, a, o = t._firstPT; if ("_onInitAllProps" === e) { for (; o;) { for (a = o._next, n = r; n && n.pr > o.pr;) n = n._next; (o._prev = n ? n._prev : s) ? o._prev._next = o: r = o, (o._next = n) ? n._prev = o : s = o, o = a } o = t._firstPT = r } for (; o;) o.pg && "function" == typeof o.t[e] && o.t[e]() && (i = !0), o = o._next; return i }, Q.activate = function(e) { for (var t = e.length; --t > -1;) e[t].API === Q.API && (z[(new e[t])._propName] = e[t]); return !0 }, g.plugin = function(e) { if (!(e && e.propName && e.init && e.API)) throw "illegal plugin definition."; var t, i = e.propName, n = e.priority || 0, r = e.overwriteProps, s = { init: "_onInitTween", set: "setRatio", kill: "_kill", round: "_roundProps", initAll: "_onInitAllProps" }, a = v("plugins." + i.charAt(0).toUpperCase() + i.substr(1) + "Plugin", function() { Q.call(this, i, n), this._overwriteProps = r || [] }, e.global === !0), o = a.prototype = new Q(i); o.constructor = a, a.API = e.API; for (t in s) "function" == typeof e[t] && (o[s[t]] = e[t]); return a.version = e.version, Q.activate([a]), a }, n = e._gsQueue) { for (r = 0; n.length > r; r++) n[r](); for (s in f) f[s].func || e.console.log("GSAP encountered missing dependency: com.greensock." + s) } o = !1 } }("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window, "TweenMax"); var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window; (_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function() { "use strict"; var e = document.documentElement, t = window, i = function(i, n) { var r = "x" === n ? "Width" : "Height", s = "scroll" + r, a = "client" + r, o = document.body; return i === t || i === e || i === o ? Math.max(e[s], o[s]) - (t["inner" + r] || Math.max(e[a], o[a])) : i[s] - i["offset" + r] }, n = _gsScope._gsDefine.plugin({ propName: "scrollTo", API: 2, version: "1.7.4", init: function(e, n, r) { return this._wdw = e === t, this._target = e, this._tween = r, "object" != typeof n && (n = { y: n }), this.vars = n, this._autoKill = n.autoKill !== !1, this.x = this.xPrev = this.getX(), this.y = this.yPrev = this.getY(), null != n.x ? (this._addTween(this, "x", this.x, "max" === n.x ? i(e, "x") : n.x, "scrollTo_x", !0), this._overwriteProps.push("scrollTo_x")) : this.skipX = !0, null != n.y ? (this._addTween(this, "y", this.y, "max" === n.y ? i(e, "y") : n.y, "scrollTo_y", !0), this._overwriteProps.push("scrollTo_y")) : this.skipY = !0, !0 }, set: function(e) { this._super.setRatio.call(this, e); var n = this._wdw || !this.skipX ? this.getX() : this.xPrev, r = this._wdw || !this.skipY ? this.getY() : this.yPrev, s = r - this.yPrev, a = n - this.xPrev; this._autoKill && (!this.skipX && (a > 7 || -7 > a) && i(this._target, "x") > n && (this.skipX = !0), !this.skipY && (s > 7 || -7 > s) && i(this._target, "y") > r && (this.skipY = !0), this.skipX && this.skipY && (this._tween.kill(), this.vars.onAutoKill && this.vars.onAutoKill.apply(this.vars.onAutoKillScope || this._tween, this.vars.onAutoKillParams || []))), this._wdw ? t.scrollTo(this.skipX ? n : this.x, this.skipY ? r : this.y) : (this.skipY || (this._target.scrollTop = this.y), this.skipX || (this._target.scrollLeft = this.x)), this.xPrev = this.x, this.yPrev = this.y } }), r = n.prototype; n.max = i, r.getX = function() { return this._wdw ? null != t.pageXOffset ? t.pageXOffset : null != e.scrollLeft ? e.scrollLeft : document.body.scrollLeft : this._target.scrollLeft }, r.getY = function() { return this._wdw ? null != t.pageYOffset ? t.pageYOffset : null != e.scrollTop ? e.scrollTop : document.body.scrollTop : this._target.scrollTop }, r._kill = function(e) { return e.scrollTo_x && (this.skipX = !0), e.scrollTo_y && (this.skipY = !0), this._super._kill.call(this, e) } }), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), ! function() { "use strict"; function e(e) { e.fn.swiper = function(t) { var n; return e(this).each(function() { var e = new i(this, t); n || (n = e) }), n } } var t, i = function(e, r) { function s() { return "horizontal" === _.params.direction } function a(e) { return Math.floor(e) } function o() { _.autoplayTimeoutId = setTimeout(function() { _.params.loop ? (_.fixLoop(), _._slideNext()) : _.isEnd ? r.autoplayStopOnLast ? _.stopAutoplay() : _._slideTo(0) : _._slideNext() }, _.params.autoplay) } function l(e, i) { var n = t(e.target); if (!n.is(i)) if ("string" == typeof i) n = n.parents(i); else if (i.nodeType) { var r; return n.parents().each(function(e, t) { t === i && (r = i) }), r ? i : void 0 } return 0 === n.length ? void 0 : n[0] } function u(e, t) { t = t || {}; var i = window.MutationObserver || window.WebkitMutationObserver, n = new i(function(e) { e.forEach(function(e) { _.onResize(!0), _.emit("onObserverUpdate", _, e) }) }); n.observe(e, { attributes: "undefined" == typeof t.attributes ? !0 : t.attributes, childList: "undefined" == typeof t.childList ? !0 : t.childList, characterData: "undefined" == typeof t.characterData ? !0 : t.characterData }), _.observers.push(n) } function c(e) { e.originalEvent && (e = e.originalEvent); var t = e.keyCode || e.charCode; if (!_.params.allowSwipeToNext && (s() && 39 === t || !s() && 40 === t)) return !1; if (!_.params.allowSwipeToPrev && (s() && 37 === t || !s() && 38 === t)) return !1; if (!(e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || document.activeElement && document.activeElement.nodeName && ("input" === document.activeElement.nodeName.toLowerCase() || "textarea" === document.activeElement.nodeName.toLowerCase()))) { if (37 === t || 39 === t || 38 === t || 40 === t) { var i = !1; if (_.container.parents(".swiper-slide").length > 0 && 0 === _.container.parents(".swiper-slide-active").length) return; var n = { left: window.pageXOffset, top: window.pageYOffset }, r = window.innerWidth, a = window.innerHeight, o = _.container.offset(); _.rtl && (o.left = o.left - _.container[0].scrollLeft); for (var l = [ [o.left, o.top], [o.left + _.width, o.top], [o.left, o.top + _.height], [o.left + _.width, o.top + _.height] ], u = 0; u < l.length; u++) { var c = l[u]; c[0] >= n.left && c[0] <= n.left + r && c[1] >= n.top && c[1] <= n.top + a && (i = !0) } if (!i) return } s() ? ((37 === t || 39 === t) && (e.preventDefault ? e.preventDefault() : e.returnValue = !1), (39 === t && !_.rtl || 37 === t && _.rtl) && _.slideNext(), (37 === t && !_.rtl || 39 === t && _.rtl) && _.slidePrev()) : ((38 === t || 40 === t) && (e.preventDefault ? e.preventDefault() : e.returnValue = !1), 40 === t && _.slideNext(), 38 === t && _.slidePrev()) } } function p(e) { e.originalEvent && (e = e.originalEvent); var t = _.mousewheel.event, i = 0; if (e.detail) i = -e.detail; else if ("mousewheel" === t) if (_.params.mousewheelForceToAxis) if (s()) { if (!(Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY))) return; i = e.wheelDeltaX } else { if (!(Math.abs(e.wheelDeltaY) > Math.abs(e.wheelDeltaX))) return; i = e.wheelDeltaY } else i = e.wheelDelta; else if ("DOMMouseScroll" === t) i = -e.detail; else if ("wheel" === t) if (_.params.mousewheelForceToAxis) if (s()) { if (!(Math.abs(e.deltaX) > Math.abs(e.deltaY))) return; i = -e.deltaX } else { if (!(Math.abs(e.deltaY) > Math.abs(e.deltaX))) return; i = -e.deltaY } else i = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? -e.deltaX : -e.deltaY; if (_.params.mousewheelInvert && (i = -i), _.params.freeMode) { var n = _.getWrapperTranslate() + i * _.params.mousewheelSensitivity; if (n > 0 && (n = 0), n < _.maxTranslate() && (n = _.maxTranslate()), _.setWrapperTransition(0), _.setWrapperTranslate(n), _.updateProgress(), _.updateActiveIndex(), _.params.freeModeSticky && (clearTimeout(_.mousewheel.timeout), _.mousewheel.timeout = setTimeout(function() { _.slideReset() }, 300)), 0 === n || n === _.maxTranslate()) return } else { if ((new window.Date).getTime() - _.mousewheel.lastScrollTime > 60) if (0 > i) if (_.isEnd && !_.params.loop || _.animating) { if (_.params.mousewheelReleaseOnEdges) return !0 } else _.slideNext(); else if (_.isBeginning && !_.params.loop || _.animating) { if (_.params.mousewheelReleaseOnEdges) return !0 } else _.slidePrev(); _.mousewheel.lastScrollTime = (new window.Date).getTime() } return _.params.autoplay && _.stopAutoplay(), e.preventDefault ? e.preventDefault() : e.returnValue = !1, !1 } function h(e, i) { e = t(e); var n, r, a; n = e.attr("data-swiper-parallax") || "0", r = e.attr("data-swiper-parallax-x"), a = e.attr("data-swiper-parallax-y"), r || a ? (r = r || "0", a = a || "0") : s() ? (r = n, a = "0") : (a = n, r = "0"), r = r.indexOf("%") >= 0 ? parseInt(r, 10) * i + "%" : r * i + "px", a = a.indexOf("%") >= 0 ? parseInt(a, 10) * i + "%" : a * i + "px", e.transform("translate3d(" + r + ", " + a + ",0px)") } function d(e) { return 0 !== e.indexOf("on") && (e = e[0] !== e[0].toUpperCase() ? "on" + e[0].toUpperCase() + e.substring(1) : "on" + e), e } if (!(this instanceof i)) return new i(e, r); var f = { direction: "horizontal", touchEventsTarget: "container", initialSlide: 0, speed: 300, autoplay: !1, autoplayDisableOnInteraction: !0, iOSEdgeSwipeDetection: !1, iOSEdgeSwipeThreshold: 20, freeMode: !1, freeModeMomentum: !0, freeModeMomentumRatio: 1, freeModeMomentumBounce: !0, freeModeMomentumBounceRatio: 1, freeModeSticky: !1, freeModeMinimumVelocity: .02, setWrapperSize: !1, virtualTranslate: !1, effect: "slide", coverflow: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0 }, cube: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: .94 }, fade: { crossFade: !1 }, parallax: !1, scrollbar: null, scrollbarHide: !0, scrollbarDraggable: !1, scrollbarSnapOnRelease: !1, keyboardControl: !1, mousewheelControl: !1, mousewheelReleaseOnEdges: !1, mousewheelInvert: !1, mousewheelForceToAxis: !1, mousewheelSensitivity: 1, hashnav: !1, spaceBetween: 0, slidesPerView: 1, slidesPerColumn: 1, slidesPerColumnFill: "column", slidesPerGroup: 1, centeredSlides: !1, slidesOffsetBefore: 0, slidesOffsetAfter: 0, roundLengths: !1, touchRatio: 1, touchAngle: 45, simulateTouch: !0, shortSwipes: !0, longSwipes: !0, longSwipesRatio: .5, longSwipesMs: 300, followFinger: !0, onlyExternal: !1, threshold: 0, touchMoveStopPropagation: !0, pagination: null, paginationElement: "span", paginationClickable: !1, paginationHide: !1, paginationBulletRender: null, resistance: !0, resistanceRatio: .85, nextButton: null, prevButton: null, watchSlidesProgress: !1, watchSlidesVisibility: !1, grabCursor: !1, preventClicks: !0, preventClicksPropagation: !0, slideToClickedSlide: !1, lazyLoading: !1, lazyLoadingInPrevNext: !1, lazyLoadingOnTransitionStart: !1, preloadImages: !0, updateOnImagesReady: !0, loop: !1, loopAdditionalSlides: 0, loopedSlides: null, control: void 0, controlInverse: !1, controlBy: "slide", allowSwipeToPrev: !0, allowSwipeToNext: !0, swipeHandler: null, noSwiping: !0, noSwipingClass: "swiper-no-swiping", slideClass: "swiper-slide", slideActiveClass: "swiper-slide-active", slideVisibleClass: "swiper-slide-visible", slideDuplicateClass: "swiper-slide-duplicate", slideNextClass: "swiper-slide-next", slidePrevClass: "swiper-slide-prev", wrapperClass: "swiper-wrapper", bulletClass: "swiper-pagination-bullet", bulletActiveClass: "swiper-pagination-bullet-active", buttonDisabledClass: "swiper-button-disabled", paginationHiddenClass: "swiper-pagination-hidden", observer: !1, observeParents: !1, a11y: !1, prevSlideMessage: "Previous slide", nextSlideMessage: "Next slide", firstSlideMessage: "This is the first slide", lastSlideMessage: "This is the last slide", paginationBulletMessage: "Go to slide {{index}}", runCallbacksOnInit: !0 }, m = r && r.virtualTranslate; r = r || {}; for (var g in f) if ("undefined" == typeof r[g]) r[g] = f[g]; else if ("object" == typeof r[g]) for (var v in f[g]) "undefined" == typeof r[g][v] && (r[g][v] = f[g][v]); var _ = this; if (_.params = r, _.classNames = [], "undefined" != typeof t && "undefined" != typeof n && (t = n), ("undefined" != typeof t || (t = "undefined" == typeof n ? window.Dom7 || window.Zepto || window.jQuery : n)) && (_.$ = t, _.container = t(e), 0 !== _.container.length)) { if (_.container.length > 1) return void _.container.each(function() { new i(this, r) }); _.container[0].swiper = _, _.container.data("swiper", _), _.classNames.push("swiper-container-" + _.params.direction), _.params.freeMode && _.classNames.push("swiper-container-free-mode"), _.support.flexbox || (_.classNames.push("swiper-container-no-flexbox"), _.params.slidesPerColumn = 1), (_.params.parallax || _.params.watchSlidesVisibility) && (_.params.watchSlidesProgress = !0), ["cube", "coverflow"].indexOf(_.params.effect) >= 0 && (_.support.transforms3d ? (_.params.watchSlidesProgress = !0, _.classNames.push("swiper-container-3d")) : _.params.effect = "slide"), "slide" !== _.params.effect && _.classNames.push("swiper-container-" + _.params.effect), "cube" === _.params.effect && (_.params.resistanceRatio = 0, _.params.slidesPerView = 1, _.params.slidesPerColumn = 1, _.params.slidesPerGroup = 1, _.params.centeredSlides = !1, _.params.spaceBetween = 0, _.params.virtualTranslate = !0, _.params.setWrapperSize = !1), "fade" === _.params.effect && (_.params.slidesPerView = 1, _.params.slidesPerColumn = 1, _.params.slidesPerGroup = 1, _.params.watchSlidesProgress = !0, _.params.spaceBetween = 0, "undefined" == typeof m && (_.params.virtualTranslate = !0)), _.params.grabCursor && _.support.touch && (_.params.grabCursor = !1), _.wrapper = _.container.children("." + _.params.wrapperClass), _.params.pagination && (_.paginationContainer = t(_.params.pagination), _.params.paginationClickable && _.paginationContainer.addClass("swiper-pagination-clickable")), _.rtl = s() && ("rtl" === _.container[0].dir.toLowerCase() || "rtl" === _.container.css("direction")), _.rtl && _.classNames.push("swiper-container-rtl"), _.rtl && (_.wrongRTL = "-webkit-box" === _.wrapper.css("display")), _.params.slidesPerColumn > 1 && _.classNames.push("swiper-container-multirow"), _.device.android && _.classNames.push("swiper-container-android"), _.container.addClass(_.classNames.join(" ")), _.translate = 0, _.progress = 0, _.velocity = 0, _.lockSwipeToNext = function() { _.params.allowSwipeToNext = !1 }, _.lockSwipeToPrev = function() { _.params.allowSwipeToPrev = !1 }, _.lockSwipes = function() { _.params.allowSwipeToNext = _.params.allowSwipeToPrev = !1 }, _.unlockSwipeToNext = function() { _.params.allowSwipeToNext = !0 }, _.unlockSwipeToPrev = function() { _.params.allowSwipeToPrev = !0 }, _.unlockSwipes = function() { _.params.allowSwipeToNext = _.params.allowSwipeToPrev = !0 }, _.params.grabCursor && (_.container[0].style.cursor = "move", _.container[0].style.cursor = "-webkit-grab", _.container[0].style.cursor = "-moz-grab", _.container[0].style.cursor = "grab"), _.imagesToLoad = [], _.imagesLoaded = 0, _.loadImage = function(e, t, i, n, r) { function s() { r && r() } var a; e.complete && n ? s() : t ? (a = new window.Image, a.onload = s, a.onerror = s, a.srcset = i, a.src = t) : s() }, _.preloadImages = function() { function e() { "undefined" != typeof _ && null !== _ && (void 0 !== _.imagesLoaded && _.imagesLoaded++, _.imagesLoaded === _.imagesToLoad.length && (_.params.updateOnImagesReady && _.update(), _.emit("onImagesReady", _))) } _.imagesToLoad = _.container.find("img"); for (var t = 0; t < _.imagesToLoad.length; t++) _.loadImage(_.imagesToLoad[t], _.imagesToLoad[t].currentSrc || _.imagesToLoad[t].getAttribute("src"), _.imagesToLoad[t].srcset || _.imagesToLoad[t].getAttribute("srcset"), !0, e) }, _.autoplayTimeoutId = void 0, _.autoplaying = !1, _.autoplayPaused = !1, _.startAutoplay = function() { return "undefined" != typeof _.autoplayTimeoutId ? !1 : _.params.autoplay ? _.autoplaying ? !1 : (_.autoplaying = !0, _.emit("onAutoplayStart", _), void o()) : !1 }, _.stopAutoplay = function(e) { _.autoplayTimeoutId && (_.autoplayTimeoutId && clearTimeout(_.autoplayTimeoutId), _.autoplaying = !1, _.autoplayTimeoutId = void 0, _.emit("onAutoplayStop", _)) }, _.pauseAutoplay = function(e) { _.autoplayPaused || (_.autoplayTimeoutId && clearTimeout(_.autoplayTimeoutId), _.autoplayPaused = !0, 0 === e ? (_.autoplayPaused = !1, o()) : _.wrapper.transitionEnd(function() { _ && (_.autoplayPaused = !1, _.autoplaying ? o() : _.stopAutoplay()) })) }, _.minTranslate = function() { return -_.snapGrid[0] }, _.maxTranslate = function() { return -_.snapGrid[_.snapGrid.length - 1] }, _.updateContainerSize = function() { var e, t; e = "undefined" != typeof _.params.width ? _.params.width : _.container[0].clientWidth, t = "undefined" != typeof _.params.height ? _.params.height : _.container[0].clientHeight, 0 === e && s() || 0 === t && !s() || (e = e - parseInt(_.container.css("padding-left"), 10) - parseInt(_.container.css("padding-right"), 10), t = t - parseInt(_.container.css("padding-top"), 10) - parseInt(_.container.css("padding-bottom"), 10), _.width = e, _.height = t, _.size = s() ? _.width : _.height) }, _.updateSlidesSize = function() { _.slides = _.wrapper.children("." + _.params.slideClass), _.snapGrid = [], _.slidesGrid = [], _.slidesSizesGrid = []; var e, t = _.params.spaceBetween, i = -_.params.slidesOffsetBefore, n = 0, r = 0; "string" == typeof t && t.indexOf("%") >= 0 && (t = parseFloat(t.replace("%", "")) / 100 * _.size), _.virtualSize = -t, _.slides.css(_.rtl ? { marginLeft: "", marginTop: "" } : { marginRight: "", marginBottom: "" }); var o; _.params.slidesPerColumn > 1 && (o = Math.floor(_.slides.length / _.params.slidesPerColumn) === _.slides.length / _.params.slidesPerColumn ? _.slides.length : Math.ceil(_.slides.length / _.params.slidesPerColumn) * _.params.slidesPerColumn); var l, u = _.params.slidesPerColumn, c = o / u, p = c - (_.params.slidesPerColumn * c - _.slides.length); for (e = 0; e < _.slides.length; e++) { l = 0; var h = _.slides.eq(e); if (_.params.slidesPerColumn > 1) { var d, f, m; "column" === _.params.slidesPerColumnFill ? (f = Math.floor(e / u), m = e - f * u, (f > p || f === p && m === u - 1) && ++m >= u && (m = 0, f++), d = f + m * o / u, h.css({ "-webkit-box-ordinal-group": d, "-moz-box-ordinal-group": d, "-ms-flex-order": d, "-webkit-order": d, order: d })) : (m = Math.floor(e / c), f = e - m * c), h.css({ "margin-top": 0 !== m && _.params.spaceBetween && _.params.spaceBetween + "px" }).attr("data-swiper-column", f).attr("data-swiper-row", m) } "none" !== h.css("display") && ("auto" === _.params.slidesPerView ? (l = s() ? h.outerWidth(!0) : h.outerHeight(!0), _.params.roundLengths && (l = a(l))) : (l = (_.size - (_.params.slidesPerView - 1) * t) / _.params.slidesPerView, _.params.roundLengths && (l = a(l)), s() ? _.slides[e].style.width = l + "px" : _.slides[e].style.height = l + "px"), _.slides[e].swiperSlideSize = l, _.slidesSizesGrid.push(l), _.params.centeredSlides ? (i = i + l / 2 + n / 2 + t, 0 === e && (i = i - _.size / 2 - t), Math.abs(i) < .001 && (i = 0), r % _.params.slidesPerGroup === 0 && _.snapGrid.push(i), _.slidesGrid.push(i)) : (r % _.params.slidesPerGroup === 0 && _.snapGrid.push(i), _.slidesGrid.push(i), i = i + l + t), _.virtualSize += l + t, n = l, r++) } _.virtualSize = Math.max(_.virtualSize, _.size) + _.params.slidesOffsetAfter; var g; if (_.rtl && _.wrongRTL && ("slide" === _.params.effect || "coverflow" === _.params.effect) && _.wrapper.css({ width: _.virtualSize + _.params.spaceBetween + "px" }), (!_.support.flexbox || _.params.setWrapperSize) && _.wrapper.css(s() ? { width: _.virtualSize + _.params.spaceBetween + "px" } : { height: _.virtualSize + _.params.spaceBetween + "px" }), _.params.slidesPerColumn > 1 && (_.virtualSize = (l + _.params.spaceBetween) * o, _.virtualSize = Math.ceil(_.virtualSize / _.params.slidesPerColumn) - _.params.spaceBetween, _.wrapper.css({ width: _.virtualSize + _.params.spaceBetween + "px" }), _.params.centeredSlides)) { for (g = [], e = 0; e < _.snapGrid.length; e++) _.snapGrid[e] < _.virtualSize + _.snapGrid[0] && g.push(_.snapGrid[e]); _.snapGrid = g } if (!_.params.centeredSlides) { for (g = [], e = 0; e < _.snapGrid.length; e++) _.snapGrid[e] <= _.virtualSize - _.size && g.push(_.snapGrid[e]); _.snapGrid = g, Math.floor(_.virtualSize - _.size) > Math.floor(_.snapGrid[_.snapGrid.length - 1]) && _.snapGrid.push(_.virtualSize - _.size) } 0 === _.snapGrid.length && (_.snapGrid = [0]), 0 !== _.params.spaceBetween && _.slides.css(s() ? _.rtl ? { marginLeft: t + "px" } : { marginRight: t + "px" } : { marginBottom: t + "px" }), _.params.watchSlidesProgress && _.updateSlidesOffset() }, _.updateSlidesOffset = function() { for (var e = 0; e < _.slides.length; e++) _.slides[e].swiperSlideOffset = s() ? _.slides[e].offsetLeft : _.slides[e].offsetTop }, _.updateSlidesProgress = function(e) { if ("undefined" == typeof e && (e = _.translate || 0), 0 !== _.slides.length) { "undefined" == typeof _.slides[0].swiperSlideOffset && _.updateSlidesOffset(); var t = -e; _.rtl && (t = e), _.container[0].getBoundingClientRect(), s() ? "left" : "top", s() ? "right" : "bottom", _.slides.removeClass(_.params.slideVisibleClass); for (var i = 0; i < _.slides.length; i++) { var n = _.slides[i], r = (t - n.swiperSlideOffset) / (n.swiperSlideSize + _.params.spaceBetween); if (_.params.watchSlidesVisibility) { var a = -(t - n.swiperSlideOffset), o = a + _.slidesSizesGrid[i], l = a >= 0 && a < _.size || o > 0 && o <= _.size || 0 >= a && o >= _.size; l && _.slides.eq(i).addClass(_.params.slideVisibleClass) } n.progress = _.rtl ? -r : r } } }, _.updateProgress = function(e) { "undefined" == typeof e && (e = _.translate || 0); var t = _.maxTranslate() - _.minTranslate(); 0 === t ? (_.progress = 0, _.isBeginning = _.isEnd = !0) : (_.progress = (e - _.minTranslate()) / t, _.isBeginning = _.progress <= 0, _.isEnd = _.progress >= 1), _.isBeginning && _.emit("onReachBeginning", _), _.isEnd && _.emit("onReachEnd", _), _.params.watchSlidesProgress && _.updateSlidesProgress(e), _.emit("onProgress", _, _.progress) }, _.updateActiveIndex = function() { var e, t, i, n = _.rtl ? _.translate : -_.translate; for (t = 0; t < _.slidesGrid.length; t++) "undefined" != typeof _.slidesGrid[t + 1] ? n >= _.slidesGrid[t] && n < _.slidesGrid[t + 1] - (_.slidesGrid[t + 1] - _.slidesGrid[t]) / 2 ? e = t : n >= _.slidesGrid[t] && n < _.slidesGrid[t + 1] && (e = t + 1) : n >= _.slidesGrid[t] && (e = t); (0 > e || "undefined" == typeof e) && (e = 0), i = Math.floor(e / _.params.slidesPerGroup), i >= _.snapGrid.length && (i = _.snapGrid.length - 1), e !== _.activeIndex && (_.snapIndex = i, _.previousIndex = _.activeIndex, _.activeIndex = e, _.updateClasses()) }, _.updateClasses = function() { _.slides.removeClass(_.params.slideActiveClass + " " + _.params.slideNextClass + " " + _.params.slidePrevClass); var e = _.slides.eq(_.activeIndex); if (e.addClass(_.params.slideActiveClass), e.next("." + _.params.slideClass).addClass(_.params.slideNextClass), e.prev("." + _.params.slideClass).addClass(_.params.slidePrevClass), _.bullets && _.bullets.length > 0) { _.bullets.removeClass(_.params.bulletActiveClass); var i; _.params.loop ? (i = Math.ceil(_.activeIndex - _.loopedSlides) / _.params.slidesPerGroup, i > _.slides.length - 1 - 2 * _.loopedSlides && (i -= _.slides.length - 2 * _.loopedSlides), i > _.bullets.length - 1 && (i -= _.bullets.length)) : i = "undefined" != typeof _.snapIndex ? _.snapIndex : _.activeIndex || 0, _.paginationContainer.length > 1 ? _.bullets.each(function() { t(this).index() === i && t(this).addClass(_.params.bulletActiveClass) }) : _.bullets.eq(i).addClass(_.params.bulletActiveClass) } _.params.loop || (_.params.prevButton && (_.isBeginning ? (t(_.params.prevButton).addClass(_.params.buttonDisabledClass), _.params.a11y && _.a11y && _.a11y.disable(t(_.params.prevButton))) : (t(_.params.prevButton).removeClass(_.params.buttonDisabledClass), _.params.a11y && _.a11y && _.a11y.enable(t(_.params.prevButton)))), _.params.nextButton && (_.isEnd ? (t(_.params.nextButton).addClass(_.params.buttonDisabledClass), _.params.a11y && _.a11y && _.a11y.disable(t(_.params.nextButton))) : (t(_.params.nextButton).removeClass(_.params.buttonDisabledClass), _.params.a11y && _.a11y && _.a11y.enable(t(_.params.nextButton))))) }, _.updatePagination = function() { if (_.params.pagination && _.paginationContainer && _.paginationContainer.length > 0) { for (var e = "", t = _.params.loop ? Math.ceil((_.slides.length - 2 * _.loopedSlides) / _.params.slidesPerGroup) : _.snapGrid.length, i = 0; t > i; i++) e += _.params.paginationBulletRender ? _.params.paginationBulletRender(i, _.params.bulletClass) : "<" + _.params.paginationElement + ' class="' + _.params.bulletClass + '"></' + _.params.paginationElement + ">"; _.paginationContainer.html(e), _.bullets = _.paginationContainer.find("." + _.params.bulletClass), _.params.paginationClickable && _.params.a11y && _.a11y && _.a11y.initPagination() } }, _.update = function(e) { function t() { n = Math.min(Math.max(_.translate, _.maxTranslate()), _.minTranslate()), _.setWrapperTranslate(n), _.updateActiveIndex(), _.updateClasses() } if (_.updateContainerSize(), _.updateSlidesSize(), _.updateProgress(), _.updatePagination(), _.updateClasses(), _.params.scrollbar && _.scrollbar && _.scrollbar.set(), e) { var i, n; _.controller && _.controller.spline && (_.controller.spline = void 0), _.params.freeMode ? t() : (i = ("auto" === _.params.slidesPerView || _.params.slidesPerView > 1) && _.isEnd && !_.params.centeredSlides ? _.slideTo(_.slides.length - 1, 0, !1, !0) : _.slideTo(_.activeIndex, 0, !1, !0), i || t()) } }, _.onResize = function(e) { var t = _.params.allowSwipeToPrev, i = _.params.allowSwipeToNext; if (_.params.allowSwipeToPrev = _.params.allowSwipeToNext = !0, _.updateContainerSize(), _.updateSlidesSize(), ("auto" === _.params.slidesPerView || _.params.freeMode || e) && _.updatePagination(), _.params.scrollbar && _.scrollbar && _.scrollbar.set(), _.controller && _.controller.spline && (_.controller.spline = void 0), _.params.freeMode) { var n = Math.min(Math.max(_.translate, _.maxTranslate()), _.minTranslate()); _.setWrapperTranslate(n), _.updateActiveIndex(), _.updateClasses() } else _.updateClasses(), ("auto" === _.params.slidesPerView || _.params.slidesPerView > 1) && _.isEnd && !_.params.centeredSlides ? _.slideTo(_.slides.length - 1, 0, !1, !0) : _.slideTo(_.activeIndex, 0, !1, !0); _.params.allowSwipeToPrev = t, _.params.allowSwipeToNext = i }; var y = ["mousedown", "mousemove", "mouseup"]; window.navigator.pointerEnabled ? y = ["pointerdown", "pointermove", "pointerup"] : window.navigator.msPointerEnabled && (y = ["MSPointerDown", "MSPointerMove", "MSPointerUp"]), _.touchEvents = { start: _.support.touch || !_.params.simulateTouch ? "touchstart" : y[0], move: _.support.touch || !_.params.simulateTouch ? "touchmove" : y[1], end: _.support.touch || !_.params.simulateTouch ? "touchend" : y[2] }, (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && ("container" === _.params.touchEventsTarget ? _.container : _.wrapper).addClass("swiper-wp8-" + _.params.direction), _.initEvents = function(e) { var i = e ? "off" : "on", n = e ? "removeEventListener" : "addEventListener", s = "container" === _.params.touchEventsTarget ? _.container[0] : _.wrapper[0], a = _.support.touch ? s : document, o = _.params.nested ? !0 : !1; _.browser.ie ? (s[n](_.touchEvents.start, _.onTouchStart, !1), a[n](_.touchEvents.move, _.onTouchMove, o), a[n](_.touchEvents.end, _.onTouchEnd, !1)) : (_.support.touch && (s[n](_.touchEvents.start, _.onTouchStart, !1), s[n](_.touchEvents.move, _.onTouchMove, o), s[n](_.touchEvents.end, _.onTouchEnd, !1)), !r.simulateTouch || _.device.ios || _.device.android || (s[n]("mousedown", _.onTouchStart, !1), document[n]("mousemove", _.onTouchMove, o), document[n]("mouseup", _.onTouchEnd, !1))), window[n]("resize", _.onResize), _.params.nextButton && (t(_.params.nextButton)[i]("click", _.onClickNext), _.params.a11y && _.a11y && t(_.params.nextButton)[i]("keydown", _.a11y.onEnterKey)), _.params.prevButton && (t(_.params.prevButton)[i]("click", _.onClickPrev), _.params.a11y && _.a11y && t(_.params.prevButton)[i]("keydown", _.a11y.onEnterKey)), _.params.pagination && _.params.paginationClickable && (t(_.paginationContainer)[i]("click", "." + _.params.bulletClass, _.onClickIndex), _.params.a11y && _.a11y && t(_.paginationContainer)[i]("keydown", "." + _.params.bulletClass, _.a11y.onEnterKey)), (_.params.preventClicks || _.params.preventClicksPropagation) && s[n]("click", _.preventClicks, !0) }, _.attachEvents = function(e) { _.initEvents() }, _.detachEvents = function() { _.initEvents(!0) }, _.allowClick = !0, _.preventClicks = function(e) { _.allowClick || (_.params.preventClicks && e.preventDefault(), _.params.preventClicksPropagation && _.animating && (e.stopPropagation(), e.stopImmediatePropagation())) }, _.onClickNext = function(e) { e.preventDefault(), (!_.isEnd || _.params.loop) && _.slideNext() }, _.onClickPrev = function(e) { e.preventDefault(), (!_.isBeginning || _.params.loop) && _.slidePrev() }, _.onClickIndex = function(e) { e.preventDefault(); var i = t(this).index() * _.params.slidesPerGroup; _.params.loop && (i += _.loopedSlides), _.slideTo(i) }, _.updateClickedSlide = function(e) { var i = l(e, "." + _.params.slideClass), n = !1; if (i) for (var r = 0; r < _.slides.length; r++) _.slides[r] === i && (n = !0); if (!i || !n) return _.clickedSlide = void 0, void(_.clickedIndex = void 0); if (_.clickedSlide = i, _.clickedIndex = t(i).index(), _.params.slideToClickedSlide && void 0 !== _.clickedIndex && _.clickedIndex !== _.activeIndex) { var s, a, o = _.clickedIndex; _.params.loop ? (s = t(_.clickedSlide).attr("data-swiper-slide-index"), _.params.centeredSlides ? o < _.loopedSlides - _.params.slidesPerView / 2 ? (_.fixLoop(), a = _.wrapper.children("." + _.params.slideClass + '[data-swiper-slide-index="' + s + '"]'), o = a.eq(a.length - 1).index(), setTimeout(function() { _.slideTo(o) }, 0)) : o > _.slides.length - _.loopedSlides + _.params.slidesPerView / 2 ? (_.fixLoop(), o = _.wrapper.children("." + _.params.slideClass + '[data-swiper-slide-index="' + s + '"]').eq(0).index(), setTimeout(function() { _.slideTo(o) }, 0)) : _.slideTo(o) : o > _.slides.length - _.params.slidesPerView ? (_.fixLoop(), o = _.wrapper.children("." + _.params.slideClass + '[data-swiper-slide-index="' + s + '"]').eq(0).index(), setTimeout(function() { _.slideTo(o) }, 0)) : o < _.params.slidesPerView - 1 ? (_.fixLoop(), a = _.wrapper.children("." + _.params.slideClass + '[data-swiper-slide-index="' + s + '"]'), o = a.eq(a.length - 1).index(), setTimeout(function() { _.slideTo(o) }, 0)) : _.slideTo(o)) : _.slideTo(o) } }; var w, x, b, T, S, C, P, k, D, E = "input, select, textarea, button", O = Date.now(), M = []; _.animating = !1, _.touches = { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 }; var A, R; if (_.onTouchStart = function(e) { if (e.originalEvent && (e = e.originalEvent), A = "touchstart" === e.type, A || !("which" in e) || 3 !== e.which) { if (_.params.noSwiping && l(e, "." + _.params.noSwipingClass)) return void(_.allowClick = !0); if (!_.params.swipeHandler || l(e, _.params.swipeHandler)) { var i = _.touches.currentX = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, n = _.touches.currentY = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY; if (!(_.device.ios && _.params.iOSEdgeSwipeDetection && i <= _.params.iOSEdgeSwipeThreshold)) { if (w = !0, x = !1, T = void 0, R = void 0, _.touches.startX = i, _.touches.startY = n, b = Date.now(), _.allowClick = !0, _.updateContainerSize(), _.swipeDirection = void 0, _.params.threshold > 0 && (P = !1), "touchstart" !== e.type) { var r = !0; t(e.target).is(E) && (r = !1), document.activeElement && t(document.activeElement).is(E) && document.activeElement.blur(), r && e.preventDefault() } _.emit("onTouchStart", _, e) } } } }, _.onTouchMove = function(e) { if (e.originalEvent && (e = e.originalEvent), !(A && "mousemove" === e.type || e.preventedByNestedSwiper)) { if (_.params.onlyExternal) return _.allowClick = !1, void(w && (_.touches.startX = _.touches.currentX = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, _.touches.startY = _.touches.currentY = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, b = Date.now())); if (A && document.activeElement && e.target === document.activeElement && t(e.target).is(E)) return x = !0, void(_.allowClick = !1); if (_.emit("onTouchMove", _, e), !(e.targetTouches && e.targetTouches.length > 1)) { if (_.touches.currentX = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, _.touches.currentY = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, "undefined" == typeof T) { var i = 180 * Math.atan2(Math.abs(_.touches.currentY - _.touches.startY), Math.abs(_.touches.currentX - _.touches.startX)) / Math.PI; T = s() ? i > _.params.touchAngle : 90 - i > _.params.touchAngle } if (T && _.emit("onTouchMoveOpposite", _, e), "undefined" == typeof R && _.browser.ieTouch && (_.touches.currentX !== _.touches.startX || _.touches.currentY !== _.touches.startY) && (R = !0), w) { if (T) return void(w = !1); if (R || !_.browser.ieTouch) { _.allowClick = !1, _.emit("onSliderMove", _, e), e.preventDefault(), _.params.touchMoveStopPropagation && !_.params.nested && e.stopPropagation(), x || (r.loop && _.fixLoop(), C = _.getWrapperTranslate(), _.setWrapperTransition(0), _.animating && _.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"), _.params.autoplay && _.autoplaying && (_.params.autoplayDisableOnInteraction ? _.stopAutoplay() : _.pauseAutoplay()), D = !1, _.params.grabCursor && (_.container[0].style.cursor = "move", _.container[0].style.cursor = "-webkit-grabbing", _.container[0].style.cursor = "-moz-grabbin", _.container[0].style.cursor = "grabbing")), x = !0; var n = _.touches.diff = s() ? _.touches.currentX - _.touches.startX : _.touches.currentY - _.touches.startY; n *= _.params.touchRatio, _.rtl && (n = -n), _.swipeDirection = n > 0 ? "prev" : "next", S = n + C; var a = !0; if (n > 0 && S > _.minTranslate() ? (a = !1, _.params.resistance && (S = _.minTranslate() - 1 + Math.pow(-_.minTranslate() + C + n, _.params.resistanceRatio))) : 0 > n && S < _.maxTranslate() && (a = !1, _.params.resistance && (S = _.maxTranslate() + 1 - Math.pow(_.maxTranslate() - C - n, _.params.resistanceRatio))), a && (e.preventedByNestedSwiper = !0), !_.params.allowSwipeToNext && "next" === _.swipeDirection && C > S && (S = C), !_.params.allowSwipeToPrev && "prev" === _.swipeDirection && S > C && (S = C), _.params.followFinger) { if (_.params.threshold > 0) { if (!(Math.abs(n) > _.params.threshold || P)) return void(S = C); if (!P) return P = !0, _.touches.startX = _.touches.currentX, _.touches.startY = _.touches.currentY, S = C, void(_.touches.diff = s() ? _.touches.currentX - _.touches.startX : _.touches.currentY - _.touches.startY) }(_.params.freeMode || _.params.watchSlidesProgress) && _.updateActiveIndex(), _.params.freeMode && (0 === M.length && M.push({ position: _.touches[s() ? "startX" : "startY"], time: b }), M.push({ position: _.touches[s() ? "currentX" : "currentY"], time: (new window.Date).getTime() })), _.updateProgress(S), _.setWrapperTranslate(S) } } } } } }, _.onTouchEnd = function(e) { if (e.originalEvent && (e = e.originalEvent), _.emit("onTouchEnd", _, e), w) { _.params.grabCursor && x && w && (_.container[0].style.cursor = "move", _.container[0].style.cursor = "-webkit-grab", _.container[0].style.cursor = "-moz-grab", _.container[0].style.cursor = "grab"); var i = Date.now(), n = i - b; if (_.allowClick && (_.updateClickedSlide(e), _.emit("onTap", _, e), 300 > n && i - O > 300 && (k && clearTimeout(k), k = setTimeout(function() { _ && (_.params.paginationHide && _.paginationContainer.length > 0 && !t(e.target).hasClass(_.params.bulletClass) && _.paginationContainer.toggleClass(_.params.paginationHiddenClass), _.emit("onClick", _, e)) }, 300)), 300 > n && 300 > i - O && (k && clearTimeout(k), _.emit("onDoubleTap", _, e))), O = Date.now(), setTimeout(function() { _ && (_.allowClick = !0) }, 0), !w || !x || !_.swipeDirection || 0 === _.touches.diff || S === C) return void(w = x = !1); w = x = !1; var r; if (r = _.params.followFinger ? _.rtl ? _.translate : -_.translate : -S, _.params.freeMode) { if (r < -_.minTranslate()) return void _.slideTo(_.activeIndex); if (r > -_.maxTranslate()) return void _.slideTo(_.slides.length < _.snapGrid.length ? _.snapGrid.length - 1 : _.slides.length - 1); if (_.params.freeModeMomentum) { if (M.length > 1) { var s = M.pop(), a = M.pop(), o = s.position - a.position, l = s.time - a.time; _.velocity = o / l, _.velocity = _.velocity / 2, Math.abs(_.velocity) < _.params.freeModeMinimumVelocity && (_.velocity = 0), (l > 150 || (new window.Date).getTime() - s.time > 300) && (_.velocity = 0) } else _.velocity = 0; M.length = 0; var u = 1e3 * _.params.freeModeMomentumRatio, c = _.velocity * u, p = _.translate + c; _.rtl && (p = -p); var h, d = !1, f = 20 * Math.abs(_.velocity) * _.params.freeModeMomentumBounceRatio; if (p < _.maxTranslate()) _.params.freeModeMomentumBounce ? (p + _.maxTranslate() < -f && (p = _.maxTranslate() - f), h = _.maxTranslate(), d = !0, D = !0) : p = _.maxTranslate(); else if (p > _.minTranslate()) _.params.freeModeMomentumBounce ? (p - _.minTranslate() > f && (p = _.minTranslate() + f), h = _.minTranslate(), d = !0, D = !0) : p = _.minTranslate(); else if (_.params.freeModeSticky) { var m, g = 0; for (g = 0; g < _.snapGrid.length; g += 1) if (_.snapGrid[g] > -p) { m = g; break } p = Math.abs(_.snapGrid[m] - p) < Math.abs(_.snapGrid[m - 1] - p) || "next" === _.swipeDirection ? _.snapGrid[m] : _.snapGrid[m - 1], _.rtl || (p = -p) } if (0 !== _.velocity) u = Math.abs(_.rtl ? (-p - _.translate) / _.velocity : (p - _.translate) / _.velocity); else if (_.params.freeModeSticky) return void _.slideReset(); _.params.freeModeMomentumBounce && d ? (_.updateProgress(h), _.setWrapperTransition(u), _.setWrapperTranslate(p), _.onTransitionStart(), _.animating = !0, _.wrapper.transitionEnd(function() { _ && D && (_.emit("onMomentumBounce", _), _.setWrapperTransition(_.params.speed), _.setWrapperTranslate(h), _.wrapper.transitionEnd(function() { _ && _.onTransitionEnd() })) })) : _.velocity ? (_.updateProgress(p), _.setWrapperTransition(u), _.setWrapperTranslate(p), _.onTransitionStart(), _.animating || (_.animating = !0, _.wrapper.transitionEnd(function() { _ && _.onTransitionEnd() }))) : _.updateProgress(p), _.updateActiveIndex() } return void((!_.params.freeModeMomentum || n >= _.params.longSwipesMs) && (_.updateProgress(), _.updateActiveIndex())) } var v, y = 0, T = _.slidesSizesGrid[0]; for (v = 0; v < _.slidesGrid.length; v += _.params.slidesPerGroup) "undefined" != typeof _.slidesGrid[v + _.params.slidesPerGroup] ? r >= _.slidesGrid[v] && r < _.slidesGrid[v + _.params.slidesPerGroup] && (y = v, T = _.slidesGrid[v + _.params.slidesPerGroup] - _.slidesGrid[v]) : r >= _.slidesGrid[v] && (y = v, T = _.slidesGrid[_.slidesGrid.length - 1] - _.slidesGrid[_.slidesGrid.length - 2]); var P = (r - _.slidesGrid[y]) / T; if (n > _.params.longSwipesMs) { if (!_.params.longSwipes) return void _.slideTo(_.activeIndex); "next" === _.swipeDirection && _.slideTo(P >= _.params.longSwipesRatio ? y + _.params.slidesPerGroup : y), "prev" === _.swipeDirection && _.slideTo(P > 1 - _.params.longSwipesRatio ? y + _.params.slidesPerGroup : y) } else { if (!_.params.shortSwipes) return void _.slideTo(_.activeIndex); "next" === _.swipeDirection && _.slideTo(y + _.params.slidesPerGroup), "prev" === _.swipeDirection && _.slideTo(y) } } }, _._slideTo = function(e, t) { return _.slideTo(e, t, !0, !0) }, _.slideTo = function(e, t, i, n) { "undefined" == typeof i && (i = !0), "undefined" == typeof e && (e = 0), 0 > e && (e = 0), _.snapIndex = Math.floor(e / _.params.slidesPerGroup), _.snapIndex >= _.snapGrid.length && (_.snapIndex = _.snapGrid.length - 1); var r = -_.snapGrid[_.snapIndex]; _.params.autoplay && _.autoplaying && (n || !_.params.autoplayDisableOnInteraction ? _.pauseAutoplay(t) : _.stopAutoplay()), _.updateProgress(r); for (var a = 0; a < _.slidesGrid.length; a++) - Math.floor(100 * r) >= Math.floor(100 * _.slidesGrid[a]) && (e = a); return !_.params.allowSwipeToNext && r < _.translate && r < _.minTranslate() ? !1 : !_.params.allowSwipeToPrev && r > _.translate && r > _.maxTranslate() && (_.activeIndex || 0) !== e ? !1 : ("undefined" == typeof t && (t = _.params.speed), _.previousIndex = _.activeIndex || 0, _.activeIndex = e, r === _.translate ? (_.updateClasses(), !1) : (_.updateClasses(), _.onTransitionStart(i), s() ? r : 0, s() ? 0 : r, 0 === t ? (_.setWrapperTransition(0), _.setWrapperTranslate(r), _.onTransitionEnd(i)) : (_.setWrapperTransition(t), _.setWrapperTranslate(r), _.animating || (_.animating = !0, _.wrapper.transitionEnd(function() { _ && _.onTransitionEnd(i) }))), !0)) }, _.onTransitionStart = function(e) { "undefined" == typeof e && (e = !0), _.lazy && _.lazy.onTransitionStart(), e && (_.emit("onTransitionStart", _), _.activeIndex !== _.previousIndex && _.emit("onSlideChangeStart", _)) }, _.onTransitionEnd = function(e) { _.animating = !1, _.setWrapperTransition(0), "undefined" == typeof e && (e = !0), _.lazy && _.lazy.onTransitionEnd(), e && (_.emit("onTransitionEnd", _), _.activeIndex !== _.previousIndex && _.emit("onSlideChangeEnd", _)), _.params.hashnav && _.hashnav && _.hashnav.setHash() }, _.slideNext = function(e, t, i) { return _.params.loop ? _.animating ? !1 : (_.fixLoop(), _.container[0].clientLeft, _.slideTo(_.activeIndex + _.params.slidesPerGroup, t, e, i)) : _.slideTo(_.activeIndex + _.params.slidesPerGroup, t, e, i) }, _._slideNext = function(e) { return _.slideNext(!0, e, !0) }, _.slidePrev = function(e, t, i) { return _.params.loop ? _.animating ? !1 : (_.fixLoop(), _.container[0].clientLeft, _.slideTo(_.activeIndex - 1, t, e, i)) : _.slideTo(_.activeIndex - 1, t, e, i) }, _._slidePrev = function(e) { return _.slidePrev(!0, e, !0) }, _.slideReset = function(e, t, i) { return _.slideTo(_.activeIndex, t, e) }, _.setWrapperTransition = function(e, t) { _.wrapper.transition(e), "slide" !== _.params.effect && _.effects[_.params.effect] && _.effects[_.params.effect].setTransition(e), _.params.parallax && _.parallax && _.parallax.setTransition(e), _.params.scrollbar && _.scrollbar && _.scrollbar.setTransition(e), _.params.control && _.controller && _.controller.setTransition(e, t), _.emit("onSetTransition", _, e) }, _.setWrapperTranslate = function(e, t, i) { var n = 0, r = 0, o = 0; s() ? n = _.rtl ? -e : e : r = e, _.params.roundLengths && (n = a(n), r = a(r)), _.params.virtualTranslate || _.wrapper.transform(_.support.transforms3d ? "translate3d(" + n + "px, " + r + "px, " + o + "px)" : "translate(" + n + "px, " + r + "px)"), _.translate = s() ? n : r, t && _.updateActiveIndex(), "slide" !== _.params.effect && _.effects[_.params.effect] && _.effects[_.params.effect].setTranslate(_.translate), _.params.parallax && _.parallax && _.parallax.setTranslate(_.translate), _.params.scrollbar && _.scrollbar && _.scrollbar.setTranslate(_.translate), _.params.control && _.controller && _.controller.setTranslate(_.translate, i), _.emit("onSetTranslate", _, _.translate) }, _.getTranslate = function(e, t) { var i, n, r, s; return "undefined" == typeof t && (t = "x"), _.params.virtualTranslate ? _.rtl ? -_.translate : _.translate : (r = window.getComputedStyle(e, null), window.WebKitCSSMatrix ? (n = r.transform || r.webkitTransform, n.split(",").length > 6 && (n = n.split(", ").map(function(e) { return e.replace(",", ".") }).join(", ")), s = new window.WebKitCSSMatrix("none" === n ? "" : n)) : (s = r.MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), i = s.toString().split(",")), "x" === t && (n = window.WebKitCSSMatrix ? s.m41 : parseFloat(16 === i.length ? i[12] : i[4])), "y" === t && (n = window.WebKitCSSMatrix ? s.m42 : parseFloat(16 === i.length ? i[13] : i[5])), _.rtl && n && (n = -n), n || 0) }, _.getWrapperTranslate = function(e) { return "undefined" == typeof e && (e = s() ? "x" : "y"), _.getTranslate(_.wrapper[0], e) }, _.observers = [], _.initObservers = function() { if (_.params.observeParents) for (var e = _.container.parents(), t = 0; t < e.length; t++) u(e[t]); u(_.container[0], { childList: !1 }), u(_.wrapper[0], { attributes: !1 }) }, _.disconnectObservers = function() { for (var e = 0; e < _.observers.length; e++) _.observers[e].disconnect(); _.observers = [] }, _.createLoop = function() { _.wrapper.children("." + _.params.slideClass + "." + _.params.slideDuplicateClass).remove(); var e = _.wrapper.children("." + _.params.slideClass); "auto" !== _.params.slidesPerView || _.params.loopedSlides || (_.params.loopedSlides = e.length), _.loopedSlides = parseInt(_.params.loopedSlides || _.params.slidesPerView, 10), _.loopedSlides = _.loopedSlides + _.params.loopAdditionalSlides, _.loopedSlides > e.length && (_.loopedSlides = e.length); var i, n = [], r = []; for (e.each(function(i, s) { var a = t(this); i < _.loopedSlides && r.push(s), i < e.length && i >= e.length - _.loopedSlides && n.push(s), a.attr("data-swiper-slide-index", i) }), i = 0; i < r.length; i++) _.wrapper.append(t(r[i].cloneNode(!0)).addClass(_.params.slideDuplicateClass)); for (i = n.length - 1; i >= 0; i--) _.wrapper.prepend(t(n[i].cloneNode(!0)).addClass(_.params.slideDuplicateClass)) }, _.destroyLoop = function() { _.wrapper.children("." + _.params.slideClass + "." + _.params.slideDuplicateClass).remove(), _.slides.removeAttr("data-swiper-slide-index") }, _.fixLoop = function() { var e; _.activeIndex < _.loopedSlides ? (e = _.slides.length - 3 * _.loopedSlides + _.activeIndex, e += _.loopedSlides, _.slideTo(e, 0, !1, !0)) : ("auto" === _.params.slidesPerView && _.activeIndex >= 2 * _.loopedSlides || _.activeIndex > _.slides.length - 2 * _.params.slidesPerView) && (e = -_.slides.length + _.activeIndex + _.loopedSlides, e += _.loopedSlides, _.slideTo(e, 0, !1, !0)) }, _.appendSlide = function(e) { if (_.params.loop && _.destroyLoop(), "object" == typeof e && e.length) for (var t = 0; t < e.length; t++) e[t] && _.wrapper.append(e[t]); else _.wrapper.append(e); _.params.loop && _.createLoop(), _.params.observer && _.support.observer || _.update(!0) }, _.prependSlide = function(e) { _.params.loop && _.destroyLoop(); var t = _.activeIndex + 1; if ("object" == typeof e && e.length) { for (var i = 0; i < e.length; i++) e[i] && _.wrapper.prepend(e[i]); t = _.activeIndex + e.length } else _.wrapper.prepend(e); _.params.loop && _.createLoop(), _.params.observer && _.support.observer || _.update(!0), _.slideTo(t, 0, !1) }, _.removeSlide = function(e) { _.params.loop && (_.destroyLoop(), _.slides = _.wrapper.children("." + _.params.slideClass)); var t, i = _.activeIndex; if ("object" == typeof e && e.length) { for (var n = 0; n < e.length; n++) t = e[n], _.slides[t] && _.slides.eq(t).remove(), i > t && i--; i = Math.max(i, 0) } else t = e, _.slides[t] && _.slides.eq(t).remove(), i > t && i--, i = Math.max(i, 0); _.params.loop && _.createLoop(), _.params.observer && _.support.observer || _.update(!0), _.params.loop ? _.slideTo(i + _.loopedSlides, 0, !1) : _.slideTo(i, 0, !1) }, _.removeAllSlides = function() { for (var e = [], t = 0; t < _.slides.length; t++) e.push(t); _.removeSlide(e) }, _.effects = { fade: { setTranslate: function() { for (var e = 0; e < _.slides.length; e++) { var t = _.slides.eq(e), i = t[0].swiperSlideOffset, n = -i; _.params.virtualTranslate || (n -= _.translate); var r = 0; s() || (r = n, n = 0); var a = _.params.fade.crossFade ? Math.max(1 - Math.abs(t[0].progress), 0) : 1 + Math.min(Math.max(t[0].progress, -1), 0); t.css({ opacity: a }).transform("translate3d(" + n + "px, " + r + "px, 0px)") } }, setTransition: function(e) { if (_.slides.transition(e), _.params.virtualTranslate && 0 !== e) { var t = !1; _.slides.transitionEnd(function() { if (!t && _) { t = !0, _.animating = !1; for (var e = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], i = 0; i < e.length; i++) _.wrapper.trigger(e[i]) } }) } } }, cube: { setTranslate: function() { var e, i = 0; _.params.cube.shadow && (s() ? (e = _.wrapper.find(".swiper-cube-shadow"), 0 === e.length && (e = t('<div class="swiper-cube-shadow"></div>'), _.wrapper.append(e)), e.css({ height: _.width + "px" })) : (e = _.container.find(".swiper-cube-shadow"), 0 === e.length && (e = t('<div class="swiper-cube-shadow"></div>'), _.container.append(e)))); for (var n = 0; n < _.slides.length; n++) { var r = _.slides.eq(n), a = 90 * n, o = Math.floor(a / 360); _.rtl && (a = -a, o = Math.floor(-a / 360)); var l = Math.max(Math.min(r[0].progress, 1), -1), u = 0, c = 0, p = 0; n % 4 === 0 ? (u = 4 * -o * _.size, p = 0) : (n - 1) % 4 === 0 ? (u = 0, p = 4 * -o * _.size) : (n - 2) % 4 === 0 ? (u = _.size + 4 * o * _.size, p = _.size) : (n - 3) % 4 === 0 && (u = -_.size, p = 3 * _.size + 4 * _.size * o), _.rtl && (u = -u), s() || (c = u, u = 0); var h = "rotateX(" + (s() ? 0 : -a) + "deg) rotateY(" + (s() ? a : 0) + "deg) translate3d(" + u + "px, " + c + "px, " + p + "px)"; if (1 >= l && l > -1 && (i = 90 * n + 90 * l, _.rtl && (i = 90 * -n - 90 * l)), r.transform(h), _.params.cube.slideShadows) { var d = r.find(s() ? ".swiper-slide-shadow-left" : ".swiper-slide-shadow-top"), f = r.find(s() ? ".swiper-slide-shadow-right" : ".swiper-slide-shadow-bottom"); 0 === d.length && (d = t('<div class="swiper-slide-shadow-' + (s() ? "left" : "top") + '"></div>'), r.append(d)), 0 === f.length && (f = t('<div class="swiper-slide-shadow-' + (s() ? "right" : "bottom") + '"></div>'), r.append(f)), r[0].progress, d.length && (d[0].style.opacity = -r[0].progress), f.length && (f[0].style.opacity = r[0].progress) } } if (_.wrapper.css({ "-webkit-transform-origin": "50% 50% -" + _.size / 2 + "px", "-moz-transform-origin": "50% 50% -" + _.size / 2 + "px", "-ms-transform-origin": "50% 50% -" + _.size / 2 + "px", "transform-origin": "50% 50% -" + _.size / 2 + "px" }), _.params.cube.shadow) if (s()) e.transform("translate3d(0px, " + (_.width / 2 + _.params.cube.shadowOffset) + "px, " + -_.width / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + _.params.cube.shadowScale + ")"); else { var m = Math.abs(i) - 90 * Math.floor(Math.abs(i) / 90), g = 1.5 - (Math.sin(2 * m * Math.PI / 360) / 2 + Math.cos(2 * m * Math.PI / 360) / 2), v = _.params.cube.shadowScale, y = _.params.cube.shadowScale / g, w = _.params.cube.shadowOffset; e.transform("scale3d(" + v + ", 1, " + y + ") translate3d(0px, " + (_.height / 2 + w) + "px, " + -_.height / 2 / y + "px) rotateX(-90deg)") } var x = _.isSafari || _.isUiWebView ? -_.size / 2 : 0; _.wrapper.transform("translate3d(0px,0," + x + "px) rotateX(" + (s() ? 0 : i) + "deg) rotateY(" + (s() ? -i : 0) + "deg)") }, setTransition: function(e) { _.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), _.params.cube.shadow && !s() && _.container.find(".swiper-cube-shadow").transition(e) } }, coverflow: { setTranslate: function() { for (var e = _.translate, i = s() ? -e + _.width / 2 : -e + _.height / 2, n = s() ? _.params.coverflow.rotate : -_.params.coverflow.rotate, r = _.params.coverflow.depth, a = 0, o = _.slides.length; o > a; a++) { var l = _.slides.eq(a), u = _.slidesSizesGrid[a], c = l[0].swiperSlideOffset, p = (i - c - u / 2) / u * _.params.coverflow.modifier, h = s() ? n * p : 0, d = s() ? 0 : n * p, f = -r * Math.abs(p), m = s() ? 0 : _.params.coverflow.stretch * p, g = s() ? _.params.coverflow.stretch * p : 0; Math.abs(g) < .001 && (g = 0), Math.abs(m) < .001 && (m = 0), Math.abs(f) < .001 && (f = 0), Math.abs(h) < .001 && (h = 0), Math.abs(d) < .001 && (d = 0); var v = "translate3d(" + g + "px," + m + "px," + f + "px) rotateX(" + d + "deg) rotateY(" + h + "deg)"; if (l.transform(v), l[0].style.zIndex = -Math.abs(Math.round(p)) + 1, _.params.coverflow.slideShadows) { var y = l.find(s() ? ".swiper-slide-shadow-left" : ".swiper-slide-shadow-top"), w = l.find(s() ? ".swiper-slide-shadow-right" : ".swiper-slide-shadow-bottom"); 0 === y.length && (y = t('<div class="swiper-slide-shadow-' + (s() ? "left" : "top") + '"></div>'), l.append(y)), 0 === w.length && (w = t('<div class="swiper-slide-shadow-' + (s() ? "right" : "bottom") + '"></div>'), l.append(w)), y.length && (y[0].style.opacity = p > 0 ? p : 0), w.length && (w[0].style.opacity = -p > 0 ? -p : 0) } } if (_.browser.ie) { var x = _.wrapper[0].style; x.perspectiveOrigin = i + "px 50%" } }, setTransition: function(e) { _.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e) } } }, _.lazy = { initialImageLoaded: !1, loadImageInSlide: function(e, i) { if ("undefined" != typeof e && ("undefined" == typeof i && (i = !0), 0 !== _.slides.length)) { var n = _.slides.eq(e), r = n.find(".swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)");!n.hasClass("swiper-lazy") || n.hasClass("swiper-lazy-loaded") || n.hasClass("swiper-lazy-loading") || r.add(n[0]), 0 !== r.length && r.each(function() { var e = t(this); e.addClass("swiper-lazy-loading"); var r = e.attr("data-background"), s = e.attr("data-src"), a = e.attr("data-srcset"); _.loadImage(e[0], s || r, a, !1, function() { if (r ? (e.css("background-image", "url(" + r + ")"), e.removeAttr("data-background")) : (a && (e.attr("srcset", a), e.removeAttr("data-srcset")), e.attr("src", s), e.removeAttr("data-src")), e.addClass("swiper-lazy-loaded").removeClass("swiper-lazy-loading"), n.find(".swiper-lazy-preloader, .preloader").remove(), _.params.loop && i) { var t = n.attr("data-swiper-slide-index"); if (n.hasClass(_.params.slideDuplicateClass)) { var o = _.wrapper.children('[data-swiper-slide-index="' + t + '"]:not(.' + _.params.slideDuplicateClass + ")"); _.lazy.loadImageInSlide(o.index(), !1) } else { var l = _.wrapper.children("." + _.params.slideDuplicateClass + '[data-swiper-slide-index="' + t + '"]'); _.lazy.loadImageInSlide(l.index(), !1) } } _.emit("onLazyImageReady", _, n[0], e[0]) }), _.emit("onLazyImageLoad", _, n[0], e[0]) }) } }, load: function() { var e; if (_.params.watchSlidesVisibility) _.wrapper.children("." + _.params.slideVisibleClass).each(function() { _.lazy.loadImageInSlide(t(this).index()) }); else if (_.params.slidesPerView > 1) for (e = _.activeIndex; e < _.activeIndex + _.params.slidesPerView; e++) _.slides[e] && _.lazy.loadImageInSlide(e); else _.lazy.loadImageInSlide(_.activeIndex); if (_.params.lazyLoadingInPrevNext) if (_.params.slidesPerView > 1) { for (e = _.activeIndex + _.params.slidesPerView; e < _.activeIndex + _.params.slidesPerView + _.params.slidesPerView; e++) _.slides[e] && _.lazy.loadImageInSlide(e); for (e = _.activeIndex - _.params.slidesPerView; e < _.activeIndex; e++) _.slides[e] && _.lazy.loadImageInSlide(e) } else { var i = _.wrapper.children("." + _.params.slideNextClass); i.length > 0 && _.lazy.loadImageInSlide(i.index()); var n = _.wrapper.children("." + _.params.slidePrevClass); n.length > 0 && _.lazy.loadImageInSlide(n.index()) } }, onTransitionStart: function() { _.params.lazyLoading && (_.params.lazyLoadingOnTransitionStart || !_.params.lazyLoadingOnTransitionStart && !_.lazy.initialImageLoaded) && _.lazy.load() }, onTransitionEnd: function() { _.params.lazyLoading && !_.params.lazyLoadingOnTransitionStart && _.lazy.load() } }, _.scrollbar = { isTouched: !1, setDragPosition: function(e) { var t = _.scrollbar, i = s() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX || e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY || e.clientY, n = i - t.track.offset()[s() ? "left" : "top"] - t.dragSize / 2, r = -_.minTranslate() * t.moveDivider, a = -_.maxTranslate() * t.moveDivider; r > n ? n = r : n > a && (n = a), n = -n / t.moveDivider, _.updateProgress(n), _.setWrapperTranslate(n, !0) }, dragStart: function(e) { var t = _.scrollbar; t.isTouched = !0, e.preventDefault(), e.stopPropagation(), t.setDragPosition(e), clearTimeout(t.dragTimeout), t.track.transition(0), _.params.scrollbarHide && t.track.css("opacity", 1), _.wrapper.transition(100), t.drag.transition(100), _.emit("onScrollbarDragStart", _) }, dragMove: function(e) { var t = _.scrollbar; t.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, t.setDragPosition(e), _.wrapper.transition(0), t.track.transition(0), t.drag.transition(0), _.emit("onScrollbarDragMove", _)) }, dragEnd: function(e) { var t = _.scrollbar; t.isTouched && (t.isTouched = !1, _.params.scrollbarHide && (clearTimeout(t.dragTimeout), t.dragTimeout = setTimeout(function() { t.track.css("opacity", 0), t.track.transition(400) }, 1e3)), _.emit("onScrollbarDragEnd", _), _.params.scrollbarSnapOnRelease && _.slideReset()) }, enableDraggable: function() { var e = _.scrollbar, i = _.support.touch ? e.track : document; t(e.track).on(_.touchEvents.start, e.dragStart), t(i).on(_.touchEvents.move, e.dragMove), t(i).on(_.touchEvents.end, e.dragEnd) }, disableDraggable: function() { var e = _.scrollbar, i = _.support.touch ? e.track : document; t(e.track).off(_.touchEvents.start, e.dragStart), t(i).off(_.touchEvents.move, e.dragMove), t(i).off(_.touchEvents.end, e.dragEnd) }, set: function() { if (_.params.scrollbar) { var e = _.scrollbar; e.track = t(_.params.scrollbar), e.drag = e.track.find(".swiper-scrollbar-drag"), 0 === e.drag.length && (e.drag = t('<div class="swiper-scrollbar-drag"></div>'), e.track.append(e.drag)), e.drag[0].style.width = "", e.drag[0].style.height = "", e.trackSize = s() ? e.track[0].offsetWidth : e.track[0].offsetHeight, e.divider = _.size / _.virtualSize, e.moveDivider = e.divider * (e.trackSize / _.size), e.dragSize = e.trackSize * e.divider, s() ? e.drag[0].style.width = e.dragSize + "px" : e.drag[0].style.height = e.dragSize + "px", e.track[0].style.display = e.divider >= 1 ? "none" : "", _.params.scrollbarHide && (e.track[0].style.opacity = 0) } }, setTranslate: function() { if (_.params.scrollbar) { var e, t = _.scrollbar, i = (_.translate || 0, t.dragSize); e = (t.trackSize - t.dragSize) * _.progress, _.rtl && s() ? (e = -e, e > 0 ? (i = t.dragSize - e, e = 0) : -e + t.dragSize > t.trackSize && (i = t.trackSize + e)) : 0 > e ? (i = t.dragSize + e, e = 0) : e + t.dragSize > t.trackSize && (i = t.trackSize - e), s() ? (t.drag.transform(_.support.transforms3d ? "translate3d(" + e + "px, 0, 0)" : "translateX(" + e + "px)"), t.drag[0].style.width = i + "px") : (t.drag.transform(_.support.transforms3d ? "translate3d(0px, " + e + "px, 0)" : "translateY(" + e + "px)"), t.drag[0].style.height = i + "px"), _.params.scrollbarHide && (clearTimeout(t.timeout), t.track[0].style.opacity = 1, t.timeout = setTimeout(function() { t.track[0].style.opacity = 0, t.track.transition(400) }, 1e3)) } }, setTransition: function(e) { _.params.scrollbar && _.scrollbar.drag.transition(e) } }, _.controller = { LinearSpline: function(e, t) { this.x = e, this.y = t, this.lastIndex = e.length - 1; var i, n; this.x.length, this.interpolate = function(e) { return e ? (n = r(this.x, e), i = n - 1, (e - this.x[i]) * (this.y[n] - this.y[i]) / (this.x[n] - this.x[i]) + this.y[i]) : 0 }; var r = function() { var e, t, i; return function(n, r) { for (t = -1, e = n.length; e - t > 1;) n[i = e + t >> 1] <= r ? t = i : e = i; return e } }() }, getInterpolateFunction: function(e) { _.controller.spline || (_.controller.spline = _.params.loop ? new _.controller.LinearSpline(_.slidesGrid, e.slidesGrid) : new _.controller.LinearSpline(_.snapGrid, e.snapGrid)) }, setTranslate: function(e, t) { function n(t) { e = t.rtl && "horizontal" === t.params.direction ? -_.translate : _.translate, "slide" === _.params.controlBy && (_.controller.getInterpolateFunction(t), s = -_.controller.spline.interpolate(-e)), s && "container" !== _.params.controlBy || (r = (t.maxTranslate() - t.minTranslate()) / (_.maxTranslate() - _.minTranslate()), s = (e - _.minTranslate()) * r + t.minTranslate()), _.params.controlInverse && (s = t.maxTranslate() - s), t.updateProgress(s), t.setWrapperTranslate(s, !1, _), t.updateActiveIndex() } var r, s, a = _.params.control; if (_.isArray(a)) for (var o = 0; o < a.length; o++) a[o] !== t && a[o] instanceof i && n(a[o]); else a instanceof i && t !== a && n(a) }, setTransition: function(e, t) { function n(t) { t.setWrapperTransition(e, _), 0 !== e && (t.onTransitionStart(), t.wrapper.transitionEnd(function() { s && (t.params.loop && "slide" === _.params.controlBy && t.fixLoop(), t.onTransitionEnd()) })) } var r, s = _.params.control; if (_.isArray(s)) for (r = 0; r < s.length; r++) s[r] !== t && s[r] instanceof i && n(s[r]); else s instanceof i && t !== s && n(s) } }, _.hashnav = { init: function() { if (_.params.hashnav) { _.hashnav.initialized = !0; var e = document.location.hash.replace("#", ""); if (e) for (var t = 0, i = 0, n = _.slides.length; n > i; i++) { var r = _.slides.eq(i), s = r.attr("data-hash"); if (s === e && !r.hasClass(_.params.slideDuplicateClass)) { var a = r.index(); _.slideTo(a, t, _.params.runCallbacksOnInit, !0) } } } }, setHash: function() { _.hashnav.initialized && _.params.hashnav && (document.location.hash = _.slides.eq(_.activeIndex).attr("data-hash") || "") } }, _.disableKeyboardControl = function() { t(document).off("keydown", c) }, _.enableKeyboardControl = function() { t(document).on("keydown", c) }, _.mousewheel = { event: !1, lastScrollTime: (new window.Date).getTime() }, _.params.mousewheelControl) { try { new window.WheelEvent("wheel"), _.mousewheel.event = "wheel" } catch (L) {} _.mousewheel.event || void 0 === document.onmousewheel || (_.mousewheel.event = "mousewheel"), _.mousewheel.event || (_.mousewheel.event = "DOMMouseScroll") } _.disableMousewheelControl = function() { return _.mousewheel.event ? (_.container.off(_.mousewheel.event, p), !0) : !1 }, _.enableMousewheelControl = function() { return _.mousewheel.event ? (_.container.on(_.mousewheel.event, p), !0) : !1 }, _.parallax = { setTranslate: function() { _.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() { h(this, _.progress) }), _.slides.each(function() { var e = t(this); e.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() { var t = Math.min(Math.max(e[0].progress, -1), 1); h(this, t) }) }) }, setTransition: function(e) { "undefined" == typeof e && (e = _.params.speed), _.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() { var i = t(this), n = parseInt(i.attr("data-swiper-parallax-duration"), 10) || e; 0 === e && (n = 0), i.transition(n) }) } }, _._plugins = []; for (var N in _.plugins) { var I = _.plugins[N](_, _.params[N]); I && _._plugins.push(I) } return _.callPlugins = function(e) { for (var t = 0; t < _._plugins.length; t++) e in _._plugins[t] && _._plugins[t][e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]) }, _.emitterEventListeners = {}, _.emit = function(e) { _.params[e] && _.params[e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); var t; if (_.emitterEventListeners[e]) for (t = 0; t < _.emitterEventListeners[e].length; t++) _.emitterEventListeners[e][t](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); _.callPlugins && _.callPlugins(e, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]) }, _.on = function(e, t) { return e = d(e), _.emitterEventListeners[e] || (_.emitterEventListeners[e] = []), _.emitterEventListeners[e].push(t), _ }, _.off = function(e, t) { var i; if (e = d(e), "undefined" == typeof t) return _.emitterEventListeners[e] = [], _; if (_.emitterEventListeners[e] && 0 !== _.emitterEventListeners[e].length) { for (i = 0; i < _.emitterEventListeners[e].length; i++) _.emitterEventListeners[e][i] === t && _.emitterEventListeners[e].splice(i, 1); return _ } }, _.once = function(e, t) { e = d(e); var i = function() { t(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]), _.off(e, i) }; return _.on(e, i), _ }, _.a11y = { makeFocusable: function(e) { return e.attr("tabIndex", "0"), e }, addRole: function(e, t) { return e.attr("role", t), e }, addLabel: function(e, t) { return e.attr("aria-label", t), e }, disable: function(e) { return e.attr("aria-disabled", !0), e }, enable: function(e) { return e.attr("aria-disabled", !1), e }, onEnterKey: function(e) { 13 === e.keyCode && (t(e.target).is(_.params.nextButton) ? (_.onClickNext(e), _.a11y.notify(_.isEnd ? _.params.lastSlideMessage : _.params.nextSlideMessage)) : t(e.target).is(_.params.prevButton) && (_.onClickPrev(e), _.a11y.notify(_.isBeginning ? _.params.firstSlideMessage : _.params.prevSlideMessage)), t(e.target).is("." + _.params.bulletClass) && t(e.target)[0].click()) }, liveRegion: t('<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>'), notify: function(e) { var t = _.a11y.liveRegion; 0 !== t.length && (t.html(""), t.html(e)) }, init: function() { if (_.params.nextButton) { var e = t(_.params.nextButton); _.a11y.makeFocusable(e), _.a11y.addRole(e, "button"), _.a11y.addLabel(e, _.params.nextSlideMessage) } if (_.params.prevButton) { var i = t(_.params.prevButton); _.a11y.makeFocusable(i), _.a11y.addRole(i, "button"), _.a11y.addLabel(i, _.params.prevSlideMessage) } t(_.container).append(_.a11y.liveRegion) }, initPagination: function() { _.params.pagination && _.params.paginationClickable && _.bullets && _.bullets.length && _.bullets.each(function() { var e = t(this); _.a11y.makeFocusable(e), _.a11y.addRole(e, "button"), _.a11y.addLabel(e, _.params.paginationBulletMessage.replace(/{{index}}/, e.index() + 1)) }) }, destroy: function() { _.a11y.liveRegion && _.a11y.liveRegion.length > 0 && _.a11y.liveRegion.remove() } }, _.init = function() { _.params.loop && _.createLoop(), _.updateContainerSize(), _.updateSlidesSize(), _.updatePagination(), _.params.scrollbar && _.scrollbar && (_.scrollbar.set(), _.params.scrollbarDraggable && _.scrollbar.enableDraggable()), "slide" !== _.params.effect && _.effects[_.params.effect] && (_.params.loop || _.updateProgress(), _.effects[_.params.effect].setTranslate()), _.params.loop ? _.slideTo(_.params.initialSlide + _.loopedSlides, 0, _.params.runCallbacksOnInit) : (_.slideTo(_.params.initialSlide, 0, _.params.runCallbacksOnInit), 0 === _.params.initialSlide && (_.parallax && _.params.parallax && _.parallax.setTranslate(), _.lazy && _.params.lazyLoading && (_.lazy.load(), _.lazy.initialImageLoaded = !0))), _.attachEvents(), _.params.observer && _.support.observer && _.initObservers(), _.params.preloadImages && !_.params.lazyLoading && _.preloadImages(), _.params.autoplay && _.startAutoplay(), _.params.keyboardControl && _.enableKeyboardControl && _.enableKeyboardControl(), _.params.mousewheelControl && _.enableMousewheelControl && _.enableMousewheelControl(), _.params.hashnav && _.hashnav && _.hashnav.init(), _.params.a11y && _.a11y && _.a11y.init(), _.emit("onInit", _) }, _.cleanupStyles = function() { _.container.removeClass(_.classNames.join(" ")).removeAttr("style"), _.wrapper.removeAttr("style"), _.slides && _.slides.length && _.slides.removeClass([_.params.slideVisibleClass, _.params.slideActiveClass, _.params.slideNextClass, _.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"), _.paginationContainer && _.paginationContainer.length && _.paginationContainer.removeClass(_.params.paginationHiddenClass), _.bullets && _.bullets.length && _.bullets.removeClass(_.params.bulletActiveClass), _.params.prevButton && t(_.params.prevButton).removeClass(_.params.buttonDisabledClass), _.params.nextButton && t(_.params.nextButton).removeClass(_.params.buttonDisabledClass), _.params.scrollbar && _.scrollbar && (_.scrollbar.track && _.scrollbar.track.length && _.scrollbar.track.removeAttr("style"), _.scrollbar.drag && _.scrollbar.drag.length && _.scrollbar.drag.removeAttr("style")) }, _.destroy = function(e, t) { _.detachEvents(), _.stopAutoplay(), _.params.scrollbar && _.scrollbar && _.params.scrollbarDraggable && _.scrollbar.disableDraggable(), _.params.loop && _.destroyLoop(), t && _.cleanupStyles(), _.disconnectObservers(), _.params.keyboardControl && _.disableKeyboardControl && _.disableKeyboardControl(), _.params.mousewheelControl && _.disableMousewheelControl && _.disableMousewheelControl(), _.params.a11y && _.a11y && _.a11y.destroy(), _.emit("onDestroy"), e !== !1 && (_ = null) }, _.init(), _ } }; i.prototype = { isSafari: function() { var e = navigator.userAgent.toLowerCase(); return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0 }(), isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent), isArray: function(e) { return "[object Array]" === Object.prototype.toString.apply(e) }, browser: { ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled, ieTouch: window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1 || window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1 }, device: function() { var e = navigator.userAgent, t = e.match(/(Android);?[\s\/]+([\d.]+)?/), i = e.match(/(iPad).*OS\s([\d_]+)/), n = e.match(/(iPod)(.*OS\s([\d_]+))?/), r = !i && e.match(/(iPhone\sOS)\s([\d_]+)/); return { ios: i || r || n, android: t } }(), support: { touch: window.Modernizr && Modernizr.touch === !0 || function() { return !!("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch) }(), transforms3d: window.Modernizr && Modernizr.csstransforms3d === !0 || function() { var e = document.createElement("div").style; return "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e || "MsPerspective" in e || "perspective" in e }(), flexbox: function() { for (var e = document.createElement("div").style, t = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), i = 0; i < t.length; i++) if (t[i] in e) return !0 }(), observer: function() { return "MutationObserver" in window || "WebkitMutationObserver" in window }() }, plugins: {} }; for (var n = (function() { var e = function(e) { var t = this, i = 0; for (i = 0; i < e.length; i++) t[i] = e[i]; return t.length = e.length, this }, t = function(t, i) { var n = [], r = 0; if (t && !i && t instanceof e) return t; if (t) if ("string" == typeof t) { var s, a, o = t.trim(); if (o.indexOf("<") >= 0 && o.indexOf(">") >= 0) { var l = "div"; for (0 === o.indexOf("<li") && (l = "ul"), 0 === o.indexOf("<tr") && (l = "tbody"), (0 === o.indexOf("<td") || 0 === o.indexOf("<th")) && (l = "tr"), 0 === o.indexOf("<tbody") && (l = "table"), 0 === o.indexOf("<option") && (l = "select"), a = document.createElement(l), a.innerHTML = t, r = 0; r < a.childNodes.length; r++) n.push(a.childNodes[r]) } else for (s = i || "#" !== t[0] || t.match(/[ .<>:~]/) ? (i || document).querySelectorAll(t) : [document.getElementById(t.split("#")[1])], r = 0; r < s.length; r++) s[r] && n.push(s[r]) } else if (t.nodeType || t === window || t === document) n.push(t); else if (t.length > 0 && t[0].nodeType) for (r = 0; r < t.length; r++) n.push(t[r]); return new e(n) }; return e.prototype = { addClass: function(e) { if ("undefined" == typeof e) return this; for (var t = e.split(" "), i = 0; i < t.length; i++) for (var n = 0; n < this.length; n++) this[n].classList.add(t[i]); return this }, removeClass: function(e) { for (var t = e.split(" "), i = 0; i < t.length; i++) for (var n = 0; n < this.length; n++) this[n].classList.remove(t[i]); return this }, hasClass: function(e) { return this[0] ? this[0].classList.contains(e) : !1 }, toggleClass: function(e) { for (var t = e.split(" "), i = 0; i < t.length; i++) for (var n = 0; n < this.length; n++) this[n].classList.toggle(t[i]); return this }, attr: function(e, t) { if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0; for (var i = 0; i < this.length; i++) if (2 === arguments.length) this[i].setAttribute(e, t); else for (var n in e) this[i][n] = e[n], this[i].setAttribute(n, e[n]); return this }, removeAttr: function(e) { for (var t = 0; t < this.length; t++) this[t].removeAttribute(e); return this }, data: function(e, t) { if ("undefined" == typeof t) { if (this[0]) { var i = this[0].getAttribute("data-" + e); return i ? i : this[0].dom7ElementDataStorage && e in this[0].dom7ElementDataStorage ? this[0].dom7ElementDataStorage[e] : void 0 } return void 0 } for (var n = 0; n < this.length; n++) { var r = this[n]; r.dom7ElementDataStorage || (r.dom7ElementDataStorage = {}), r.dom7ElementDataStorage[e] = t } return this }, transform: function(e) { for (var t = 0; t < this.length; t++) { var i = this[t].style; i.webkitTransform = i.MsTransform = i.msTransform = i.MozTransform = i.OTransform = i.transform = e } return this }, transition: function(e) { "string" != typeof e && (e += "ms"); for (var t = 0; t < this.length; t++) { var i = this[t].style; i.webkitTransitionDuration = i.MsTransitionDuration = i.msTransitionDuration = i.MozTransitionDuration = i.OTransitionDuration = i.transitionDuration = e } return this }, on: function(e, i, n, r) { function s(e) { var r = e.target; if (t(r).is(i)) n.call(r, e); else for (var s = t(r).parents(), a = 0; a < s.length; a++) t(s[a]).is(i) && n.call(s[a], e) } var a, o, l = e.split(" "); for (a = 0; a < this.length; a++) if ("function" == typeof i || i === !1) for ("function" == typeof i && (n = arguments[1], r = arguments[2] || !1), o = 0; o < l.length; o++) this[a].addEventListener(l[o], n, r); else for (o = 0; o < l.length; o++) this[a].dom7LiveListeners || (this[a].dom7LiveListeners = []), this[a].dom7LiveListeners.push({ listener: n, liveListener: s }), this[a].addEventListener(l[o], s, r); return this }, off: function(e, t, i, n) { for (var r = e.split(" "), s = 0; s < r.length; s++) for (var a = 0; a < this.length; a++) if ("function" == typeof t || t === !1) "function" == typeof t && (i = arguments[1], n = arguments[2] || !1), this[a].removeEventListener(r[s], i, n); else if (this[a].dom7LiveListeners) for (var o = 0; o < this[a].dom7LiveListeners.length; o++) this[a].dom7LiveListeners[o].listener === i && this[a].removeEventListener(r[s], this[a].dom7LiveListeners[o].liveListener, n); return this }, once: function(e, t, i, n) { function r(a) { i(a), s.off(e, t, r, n) } var s = this; "function" == typeof t && (t = !1, i = arguments[1], n = arguments[2]), s.on(e, t, r, n) }, trigger: function(e, t) { for (var i = 0; i < this.length; i++) { var n; try { n = new window.CustomEvent(e, { detail: t, bubbles: !0, cancelable: !0 }) } catch (r) { n = document.createEvent("Event"), n.initEvent(e, !0, !0), n.detail = t } this[i].dispatchEvent(n) } return this }, transitionEnd: function(e) { function t(s) { if (s.target === this) for (e.call(this, s), i = 0; i < n.length; i++) r.off(n[i], t) } var i, n = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], r = this; if (e) for (i = 0; i < n.length; i++) r.on(n[i], t); return this }, width: function() { return this[0] === window ? window.innerWidth : this.length > 0 ? parseFloat(this.css("width")) : null }, outerWidth: function(e) { return this.length > 0 ? e ? this[0].offsetWidth + parseFloat(this.css("margin-right")) + parseFloat(this.css("margin-left")) : this[0].offsetWidth : null }, height: function() { return this[0] === window ? window.innerHeight : this.length > 0 ? parseFloat(this.css("height")) : null }, outerHeight: function(e) { return this.length > 0 ? e ? this[0].offsetHeight + parseFloat(this.css("margin-top")) + parseFloat(this.css("margin-bottom")) : this[0].offsetHeight : null }, offset: function() { if (this.length > 0) { var e = this[0], t = e.getBoundingClientRect(), i = document.body, n = e.clientTop || i.clientTop || 0, r = e.clientLeft || i.clientLeft || 0, s = window.pageYOffset || e.scrollTop, a = window.pageXOffset || e.scrollLeft; return { top: t.top + s - n, left: t.left + a - r } } return null }, css: function(e, t) { var i; if (1 === arguments.length) { if ("string" != typeof e) { for (i = 0; i < this.length; i++) for (var n in e) this[i].style[n] = e[n]; return this } if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(e) } if (2 === arguments.length && "string" == typeof e) { for (i = 0; i < this.length; i++) this[i].style[e] = t; return this } return this }, each: function(e) { for (var t = 0; t < this.length; t++) e.call(this[t], t, this[t]); return this }, html: function(e) { if ("undefined" == typeof e) return this[0] ? this[0].innerHTML : void 0; for (var t = 0; t < this.length; t++) this[t].innerHTML = e; return this }, is: function(i) { if (!this[0]) return !1; var n, r; if ("string" == typeof i) { var s = this[0]; if (s === document) return i === document; if (s === window) return i === window; if (s.matches) return s.matches(i); if (s.webkitMatchesSelector) return s.webkitMatchesSelector(i); if (s.mozMatchesSelector) return s.mozMatchesSelector(i); if (s.msMatchesSelector) return s.msMatchesSelector(i); for (n = t(i), r = 0; r < n.length; r++) if (n[r] === this[0]) return !0; return !1 } if (i === document) return this[0] === document; if (i === window) return this[0] === window; if (i.nodeType || i instanceof e) { for (n = i.nodeType ? [i] : i, r = 0; r < n.length; r++) if (n[r] === this[0]) return !0; return !1 } return !1 }, index: function() { if (this[0]) { for (var e = this[0], t = 0; null !== (e = e.previousSibling);) 1 === e.nodeType && t++; return t } return void 0 }, eq: function(t) { if ("undefined" == typeof t) return this; var i, n = this.length; return t > n - 1 ? new e([]) : 0 > t ? (i = n + t, new e(0 > i ? [] : [this[i]])) : new e([this[t]]) }, append: function(t) { var i, n; for (i = 0; i < this.length; i++) if ("string" == typeof t) { var r = document.createElement("div"); for (r.innerHTML = t; r.firstChild;) this[i].appendChild(r.firstChild) } else if (t instanceof e) for (n = 0; n < t.length; n++) this[i].appendChild(t[n]); else this[i].appendChild(t); return this }, prepend: function(t) { var i, n; for (i = 0; i < this.length; i++) if ("string" == typeof t) { var r = document.createElement("div"); for (r.innerHTML = t, n = r.childNodes.length - 1; n >= 0; n--) this[i].insertBefore(r.childNodes[n], this[i].childNodes[0]) } else if (t instanceof e) for (n = 0; n < t.length; n++) this[i].insertBefore(t[n], this[i].childNodes[0]); else this[i].insertBefore(t, this[i].childNodes[0]); return this }, insertBefore: function(e) { for (var i = t(e), n = 0; n < this.length; n++) if (1 === i.length) i[0].parentNode.insertBefore(this[n], i[0]); else if (i.length > 1) for (var r = 0; r < i.length; r++) i[r].parentNode.insertBefore(this[n].cloneNode(!0), i[r]) }, insertAfter: function(e) { for (var i = t(e), n = 0; n < this.length; n++) if (1 === i.length) i[0].parentNode.insertBefore(this[n], i[0].nextSibling); else if (i.length > 1) for (var r = 0; r < i.length; r++) i[r].parentNode.insertBefore(this[n].cloneNode(!0), i[r].nextSibling) }, next: function(i) { return new e(this.length > 0 ? i ? this[0].nextElementSibling && t(this[0].nextElementSibling).is(i) ? [this[0].nextElementSibling] : [] : this[0].nextElementSibling ? [this[0].nextElementSibling] : [] : []) }, nextAll: function(i) { var n = [], r = this[0]; if (!r) return new e([]); for (; r.nextElementSibling;) { var s = r.nextElementSibling; i ? t(s).is(i) && n.push(s) : n.push(s), r = s } return new e(n) }, prev: function(i) { return new e(this.length > 0 ? i ? this[0].previousElementSibling && t(this[0].previousElementSibling).is(i) ? [this[0].previousElementSibling] : [] : this[0].previousElementSibling ? [this[0].previousElementSibling] : [] : []) }, prevAll: function(i) { var n = [], r = this[0]; if (!r) return new e([]); for (; r.previousElementSibling;) { var s = r.previousElementSibling; i ? t(s).is(i) && n.push(s) : n.push(s), r = s } return new e(n) }, parent: function(e) { for (var i = [], n = 0; n < this.length; n++) e ? t(this[n].parentNode).is(e) && i.push(this[n].parentNode) : i.push(this[n].parentNode); return t(t.unique(i)) }, parents: function(e) { for (var i = [], n = 0; n < this.length; n++) for (var r = this[n].parentNode; r;) e ? t(r).is(e) && i.push(r) : i.push(r), r = r.parentNode; return t(t.unique(i)) }, find: function(t) { for (var i = [], n = 0; n < this.length; n++) for (var r = this[n].querySelectorAll(t), s = 0; s < r.length; s++) i.push(r[s]); return new e(i) }, children: function(i) { for (var n = [], r = 0; r < this.length; r++) for (var s = this[r].childNodes, a = 0; a < s.length; a++) i ? 1 === s[a].nodeType && t(s[a]).is(i) && n.push(s[a]) : 1 === s[a].nodeType && n.push(s[a]); return new e(t.unique(n)) }, remove: function() { for (var e = 0; e < this.length; e++) this[e].parentNode && this[e].parentNode.removeChild(this[e]); return this }, add: function() { var e, i, n = this; for (e = 0; e < arguments.length; e++) { var r = t(arguments[e]); for (i = 0; i < r.length; i++) n[n.length] = r[i], n.length++ } return n } }, t.fn = e.prototype, t.unique = function(e) { for (var t = [], i = 0; i < e.length; i++) - 1 === t.indexOf(e[i]) && t.push(e[i]); return t }, t }()), r = ["jQuery", "Zepto", "Dom7"], s = 0; s < r.length; s++) window[r[s]] && e(window[r[s]]); var a; a = "undefined" == typeof n ? window.Dom7 || window.Zepto || window.jQuery : n, a && ("transitionEnd" in a.fn || (a.fn.transitionEnd = function(e) { function t(s) { if (s.target === this) for (e.call(this, s), i = 0; i < n.length; i++) r.off(n[i], t) } var i, n = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], r = this; if (e) for (i = 0; i < n.length; i++) r.on(n[i], t); return this }), "transform" in a.fn || (a.fn.transform = function(e) { for (var t = 0; t < this.length; t++) { var i = this[t].style; i.webkitTransform = i.MsTransform = i.msTransform = i.MozTransform = i.OTransform = i.transform = e } return this }), "transition" in a.fn || (a.fn.transition = function(e) { "string" != typeof e && (e += "ms"); for (var t = 0; t < this.length; t++) { var i = this[t].style; i.webkitTransitionDuration = i.MsTransitionDuration = i.msTransitionDuration = i.MozTransitionDuration = i.OTransitionDuration = i.transitionDuration = e } return this })), window.Swiper = i }(), "undefined" != typeof module ? module.exports = window.Swiper : "function" == typeof define && define.amd && define([], function() { "use strict"; return window.Swiper }); var appLang = $("html").attr("lang"), $body = $("body"), wH, wW, pixelDensity = window.devicePixelRatio || 1, dragging = !1, scrolling = !1, transitioning = !1, transitionTimer, onResizeTimer, mobile = /iPhone|iPad|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? !0 : !1, isIE9 = $("html").hasClass("ie9") ? !0 : !1, isiOS = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? !0 : !1, isiOS8 = navigator.userAgent.match(/(iPad|iPhone|iPod).*OS 8_\d/i), isChrome = navigator.userAgent.indexOf("Chrome") > -1, isExplorer = navigator.userAgent.indexOf("MSIE") > -1, isFirefox = navigator.userAgent.indexOf("Firefox") > -1, isSafari = navigator.userAgent.indexOf("Safari") > -1, isOpera = navigator.userAgent.indexOf("Presto") > -1; isChrome && isSafari && (isSafari = !1); var mousewheelevt = /Firefox/i.test(navigator.userAgent) ? "DOMMouseScroll" : "wheel", sections = [], currentSection = 0, trValues = [], timelineCtn = $("#timeline-ctn"), listItems = $("section"), stripe = document.getElementById("stripe"), iPhone = $("#video-container"), iPhoneTransVal, slider, lastSwipeProgress, lastViableProgress, slidesNumber, touchmoveDisabled = !1, // tabletScroll = new TabletScroll, submitBtn = $("#newsletter-form button"); $(document).bind(mousewheelevt, function(e) { if (menu_modify(), transitioning) return void e.preventDefault(); if (wW > 740) { var t = $("#wrapper").scrollTop(), i = window.event || e, i = i.originalEvent ? i.originalEvent : i, n = "wheel" === i.type ? i.wheelDelta : -40 * i.detail; if (!transitioning) { if (0 > n && 2 == currentSection) return $("#logo").hide(), void(t >= 530 ? ($("#card1").show(), $("#card2").show(), $("#card3").show(), drawallLines($("#route1"), document.getElementById("path"))) : ($("#card1").hide(), $("#card2").hide(), $("#card3").hide())); if (0 == t) { $("#logo").show(), e.preventDefault(), i.preventDefault(); var r; n > 0 ? currentSection > 0 && (currentSection--, r = !1) : 0 > n && currentSection < sections.length - 1 && (currentSection++, r = !0), 0 !== n && (transitioning = !0, sections[currentSection].animate(r)) } n > 0 && drawallLines($("#route1"), document.getElementById("path")) } } }), $(document).keydown(function(e) { if (menu_modify(), console.log("keydown triggered"), transitioning) return console.log("condition 1"), void e.preventDefault(); var t = [37, 38, 39, 40], i = $("#wrapper").scrollTop(); if (!transitioning && -1 !== t.indexOf(e.which)) { if (console.log("condition 2"), 40 == e.which && 2 == currentSection) return console.log("condition 2.1"), console.log(i), $("#wrapper").focus(), 0 == i && (console.log("condition 2.1.01"), $("#swiper-container").click()), void(i >= 530 ? ($("#card1").show(), $("#card2").show(), $("#card3").show(), drawallLines($("#route1"), document.getElementById("path"))) : ($("#card1").hide(), $("#card2").hide(), $("#card3").hide())); if (console.log("condition 2.2"), 0 == i) { console.log("condition 2.2.1"), $("#logo").show(), console.log("keydown triggered but will not work here"), e.preventDefault(); var n; transitioning = !0, 37 === e.which || 38 === e.which ? currentSection > 0 && (currentSection--, n = !1) : currentSection < sections.length - 1 && (currentSection++, n = !0), sections[currentSection].animate(n) } 38 == e.which && (console.log("condition 2.2.2"), drawallLines($("#route1"), document.getElementById("path"))) } }), $(document).on("click touchend", ".nav-btn", function(e) { if (e.preventDefault(), !transitioning && !$(this).is(":disabled")) { transitioning = !0, $(".nav-btn").prop("disabled", !1); var t = $(this).hasClass("down") ? !0 : !1; t ? currentSection < sections.length - 1 && currentSection++ : currentSection > 0 && currentSection--, sections[currentSection].animate(t) } }), $(document).ready(function() { $(window).scroll(function() { drawallLines($("#route1"), document.getElementById("path")) }), drawallLines($("#route1"), document.getElementById("path")), layoutSettings(), initNavigation(), isiOS ? $("html").addClass("iOS") : $(video).attr("controls", !1) }), $(window).load(function() { $body.removeClass("preload") }), $(window).resize(function() { layoutSettings(), getTransitionValues(), wW > 740 && (clearTimeout(onResizeTimer), onResizeTimer = setTimeout(function() { sections[currentSection].animate() }, 100)) });

Related: See More


Questions / Comments: