(function(a){typeof define==="function"&&define.amd&&define.amd.jQuery?define(["jquery"],a):a(jQuery)})(function(a){function b(b){if(b&&b.allowPageScroll===void 0&&(b.swipe!==void 0||b.swipeStatus!==void 0))b.allowPageScroll=i;if(b.click!==void 0&&b.tap===void 0)b.tap=b.click;b||(b={});b=a.extend({},a.fn.swipe.defaults,b);return this.each(function(){var g=a(this),d=g.data(R);d||(d=new c(this,b),g.data(R,d))})}function c(b,c){function ha(b){if(t.data(R+"_intouch")!==!0&&!(a(b.target).closest(c.excludedElements, t).length>0)){var g=b.originalEvent?b.originalEvent:b,d,k=r?g.touches[0]:g;A=F;r?B=g.touches.length:b.preventDefault();G=0;K=H=null;N=O=D=0;I=1;L=0;w=Ba();Y=Ca();Z=V=0;if(!r||B===c.fingers||c.fingers===x||W()){if(ia(0,k),aa=P(),B==2&&(ia(1,g.touches[1]),O=N=ja(w[0].start,w[1].start)),c.swipeStatus||c.pinchStatus)d=J(g,A)}else d=!1;if(d===!1)return A=z,J(g,A),d;else c.hold&&(ka=setTimeout(a.proxy(function(){t.trigger("hold",[g.target]);c.hold&&(d=c.hold.call(t,g,g.target))},this),c.longTapThreshold)), ba(!0);return null}}function la(b){var o=b.originalEvent?b.originalEvent:b;if(!(A===C||A===z||ta())){var p,q=ua(r?o.touches[0]:o);X=P();if(r)B=o.touches.length;c.hold&&clearTimeout(ka);A=u;B==2&&(O==0?(ia(1,o.touches[1]),O=N=ja(w[0].start,w[1].start)):(ua(o.touches[1]),N=ja(w[0].end,w[1].end),K=I<1?j:h),I=(N/O*1).toFixed(2),L=Math.abs(O-N));if(B===c.fingers||c.fingers===x||!r||W()){var n;n=q.start;var m=q.end;n=Math.round(Math.atan2(m.y-n.y,n.x-m.x)*180/Math.PI);n<0&&(n=360-Math.abs(n));n=H=n<=45&& n>=0?d:n<=360&&n>=315?d:n>=135&&n<=225?f:n>45&&n<135?k:g;if(c.allowPageScroll===i||W())b.preventDefault();else switch(m=c.allowPageScroll===l,n){case d:(c.swipeLeft&&m||!m&&c.allowPageScroll!=s)&&b.preventDefault();break;case f:(c.swipeRight&&m||!m&&c.allowPageScroll!=s)&&b.preventDefault();break;case g:(c.swipeUp&&m||!m&&c.allowPageScroll!=v)&&b.preventDefault();break;case k:(c.swipeDown&&m||!m&&c.allowPageScroll!=v)&&b.preventDefault()}G=Math.round(Math.sqrt(Math.pow(q.end.x-q.start.x,2)+Math.pow(q.end.y- q.start.y,2)));D=X-aa;b=H;n=G;n=Math.max(n,va(b));Y[b].distance=n;if(c.swipeStatus||c.pinchStatus)p=J(o,A);if(!c.triggerOnTouchEnd||c.triggerOnTouchLeave)b=!0,c.triggerOnTouchLeave&&(b=a(this),n=b.offset(),b={left:n.left,right:n.left+b.outerWidth(),top:n.top,bottom:n.top+b.outerHeight()},b=q.end.x>b.left&&q.end.xb.top&&q.end.y0)return V=P(),Z=event.touches.length+1,!0;ta()&&(B=Z);X=P();D=X-aa;oa()||!pa()?(A=z,J(b,A)):c.triggerOnTouchEnd||c.triggerOnTouchEnd==!1&&A===u?(a.preventDefault(),A=C,J(b,A)):!c.triggerOnTouchEnd&&c.tap?(A=C,S(b,A,q)):A===u&&(A=z,J(b,A));ba(!1);return null}function T(){N=O=aa=X=B=0;I=1;Z=V=0;ba(!1)}function qa(a){a=a.originalEvent;c.triggerOnTouchLeave&&(A=ma(C),J(a,A))}function wa(){t.unbind(ca,ha);t.unbind(da,T);t.unbind(ra,la);t.unbind(sa,na);U&&t.unbind(U, qa);ba(!1)}function ma(a){var b=a,g=c.maxTimeThreshold?D>=c.maxTimeThreshold?!1:!0:!0,d=pa(),k=oa();!g||k?b=z:d&&a==u&&(!c.triggerOnTouchEnd||c.triggerOnTouchLeave)?b=C:!d&&a==C&&c.triggerOnTouchLeave&&(b=z);return b}function J(a,b){var g=void 0;if(xa()&&ya()||ya())g=S(a,b,m);else if((za()&&W()||W())&&g!==!1)g=S(a,b,o);Aa()&&c.doubleTap&&g!==!1?g=S(a,b,p):D>c.longTapThreshold&&G=c.threshold);return a}function oa(){var a=!1;c.cancelThreshold!==null&&H!==null&&(a=va(H)-G>=c.cancelThreshold);return a}function za(){var a=B===c.fingers||c.fingers===x||!r,b=w[0].end.x!==0,g;g=c.pinchThreshold!==null?L>=c.pinchThreshold:!0;return a&&b&&g}function W(){return!(!c.pinchStatus&&!c.pinchIn&& !c.pinchOut)}function xa(){var a=c.maxTimeThreshold?D>=c.maxTimeThreshold?!1:!0:!0,b=pa(),g=B===c.fingers||c.fingers===x||!r,d=w[0].end.x!==0;return!oa()&&d&&g&&b&&a}function ya(){return!(!c.swipe&&!c.swipeStatus&&!c.swipeLeft&&!c.swipeRight&&!c.swipeUp&&!c.swipeDown)}function Aa(){if(Q==null)return!1;var a=P();return!!c.doubleTap&&a-Q<=c.doubleTapThreshold}function ta(){var a=!1;V&&P()-V<=c.fingerReleaseThreshold&&(a=!0);return a}function ba(a){a===!0?(t.bind(ra,la),t.bind(sa,na),U&&t.bind(U,qa)): (t.unbind(ra,la,!1),t.unbind(sa,na,!1),U&&t.unbind(U,qa,!1));t.data(R+"_intouch",a===!0)}function ia(a,b){w[a].identifier=b.identifier!==void 0?b.identifier:0;w[a].start.x=w[a].end.x=b.pageX||b.clientX;w[a].start.y=w[a].end.y=b.pageY||b.clientY;return w[a]}function ua(a){var b;a:{for(b=0;b