vendor: 4,912 bytes, lines 1-2
1 2!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).window=t.window||{})}(this,function(e){"use strict";function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function r(t){return"string"==typeof t}function s(t){return"function"==typeof t}function t(t){return"number"==typeof t}function u(t){return void 0===t}function v(t){return"object"==typeof t}function w(t){return!1!==t}function x(){return"undefined"!=typeof window}function y(t){return s(t)||r(t)}function P(t){return(i=yt(t,ot))&&Ce}function Q(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")}function R(t,e){return!e&&console.warn(t)}function S(t,e){return t&&(ot[t]=e)&&i&&(i[t]=e)||ot}function T(){return 0}function ea(t){var e,r,i=t[0];if(v(i)||s(i)||(t=[t]),!(e=(i._gsap||{}).harness)){for(r=gt.length;r--&&!gt[r].targetTest(i););e=gt[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new jt(t[r],e)))||t.splice(r,1);return t}function fa(t){return t._gsap||ea(Ot(t))[0]._gsap}function ga(t,e,r){return(r=t[e])&&s(r)?t[e]():u(r)&&t.getAttribute&&t.getAttribute(e)||r}function ha(t,e){return(t=t.split(",")).forEach(e)||t}function ia(t){return Math.round(1e5*t)/1e5||0}function ja(t){return Math.round(1e7*t)/1e7||0}function ka(t,e){var r=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),"+"===r?t+i:"-"===r?t-i:"*"===r?t*i:t/i}function la(t,e){for(var r=e.length,i=0;t.indexOf(e[i])<0&&++i<r;);return i<r}function ma(){var t,e,r=ct.length,i=ct.slice(0);for(dt={},t=ct.length=0;t<r;t++)(e=i[t])&&e._lazy&&(e.render(e._lazy[0],e._lazy[1],!0)._lazy=0)}function na(t,e,r,i){ct.length&&ma(),t.render(e,r,i||B&&e<0&&(t._initted||t._startAt)),ct.length&&ma()}function oa(t){var e=parseFloat(t);return(e||0===e)&&(t+"").match(at).length<2?e:r(t)?t.trim():t}function pa(t){return t}function qa(t,e){for(var r in e)r in t||(t[r]=e[r]);return t}function ta(t,e){for(var r in e)"__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&(t[r]=v(e[r])?ta(t[r]||(t[r]={}),e[r]):e[r]);return t}function ua(t,e){var r,i={};for(r in t)r in e||(i[r]=t[r]);return i}function va(t){var e=t.parent||L,r=t.keyframes?function _setKeyframeDefaults(i){return function(t,e){for(var r in e)r in t||"duration"===r&&i||"ease"===r||(t[r]=e[r])}}($(t.keyframes)):qa;if(w(t.inherit))for(;e;)r(t,e.vars.defaults),e=e.parent||e._dp;return t}function xa(t,e,r,i,n){void 0===r&&(r="_first"),void 0===i&&(i="_last");var a,s=t[i];if(n)for(a=e[n];s&&s[n]>a;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function ya(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function za(t,e){!t.parent||e&&!t.parent.autoRemoveChildren||t.parent.remove(t),t._act=0}function Aa(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Ca(t,e,r,i){return t._startAt&&(B?t._startAt.revert(ht):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Ea(t){return t._repeat?Tt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ga(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ha(t){return t._end=ja(t._start+(t._tDur/Math.abs(t._ts||t._rts||V)||0))}function Ia(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=ja(r._time-(0<t._ts?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),Ha(t),r._dirty||Aa(r,t)),t}function Ja(t,e){var r;if((e._time||e._initted&&!e._dur)&&(r=Ga(t.rawTime(),e),(!e._dur||kt(0,e.totalDuration(),r)-e._tTime>V)&&e.render(r,!0)),Aa(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur<t.duration())for(r=t;r._dp;)0<=r.rawTime()&&r.totalTime(r._tTime),r=r._dp;t._zTime=-V}}function Ka(e,r,i,n){return r.parent&&za(r),r._start=ja((t(i)?i:i||e!==L?xt(e,i,r):e._time)+r._delay),r._end=ja(r._start+(r.totalDuration()/Math.abs(r.timeScale())||0)),xa(e,r,"_first","_last",e._sort?"_start":0),bt(r)||(e._recent=r),n||Ja(e,r),e._ts<0&&Ia(e,e._tTime),e}function La(t,e){return(ot.ScrollTrigger||Q("scrollTrigger",e))&&ot.ScrollTrigger.create(e,t)}function Ma(t,e,r,i,n){return Ht(t,e,n),t._initted?!r&&t._pt&&!B&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&f!==Et.frame?(ct.push(t),t._lazy=[n,i],1):void 0:1}function Ra(t,e,r,i){var n=t._repeat,a=ja(e)||0,s=t._tTime/t._tDur;return s&&!i&&(t._time*=a/t._dur),t._dur=a,t._tDur=n?n<0?1e10:ja(a*(n+1)+t._rDelay*n):a,0<s&&!i&&Ia(t,t._tTime=t._tDur*s),t.parent&&Ha(t),r||Aa(t.parent,t),t}function Sa(t){return t instanceof Ut?Aa(t):Ra(t,t._dur)}
vendor: 11,390 bytes, line 2
2function Va(e,r,i){var n,a,s=t(r[1]),o=(s?2:1)+(e<2?0:1),u=r[o];if(s&&(u.duration=r[1]),u.parent=i,e){for(n=u,a=i;a&&!("immediateRender"in n);)n=a.vars.defaults||{},a=w(a.vars.inherit)&&a.parent;u.immediateRender=w(n.immediateRender),e<2?u.runBackwards=1:u.startAt=r[o-1]}return new Gt(r[0],u,r[1+o])}function Wa(t,e){return t||0===t?e(t):e}function Ya(t,e){return r(t)&&(e=st.exec(t))?e[1]:""}function _a(t,e){return t&&v(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&v(t[0]))&&!t.nodeType&&t!==h}function cb(r){return r=Ot(r)[0]||R("Invalid scope")||{},function(t){var e=r.current||r.nativeElement||r;return Ot(t,e.querySelectorAll?e:e===r?R("Invalid scope")||a.createElement("div"):r)}}function db(t){return t.sort(function(){return.5-Math.random()})}function eb(t){if(s(t))return t;var p=v(t)?t:{each:t},_=Yt(p.ease),m=p.from||0,g=parseFloat(p.base)||0,y={},e=0<m&&m<1,T=isNaN(m)||e,b=p.axis,w=m,x=m;return r(m)?w=x={center:.5,edges:.5,end:1}[m]||0:!e&&T&&(w=m[0],x=m[1]),function(t,e,r){var i,n,a,s,o,u,h,l,f,c=(r||p).length,d=y[c];if(!d){if(!(f="auto"===p.grid?0:(p.grid||[1,U])[1])){for(h=-U;h<(h=r[f++].getBoundingClientRect().left)&&f<c;);f--}for(d=y[c]=[],i=T?Math.min(f,c)*w-.5:m%f,n=f===U?0:T?c*x/f-.5:m/f|0,l=U,u=h=0;u<c;u++)a=u%f-i,s=n-(u/f|0),d[u]=o=b?Math.abs("y"===b?s:a):K(a*a+s*s),h<o&&(h=o),o<l&&(l=o);"random"===m&&db(d),d.max=h-l,d.min=l,d.v=c=(parseFloat(p.amount)||parseFloat(p.each)*(c<f?c-1:b?"y"===b?c/f:f:Math.max(f,c/f))||0)*("edges"===m?-1:1),d.b=c<0?g-c:g,d.u=Ya(p.amount||p.each)||0,_=_&&c<0?Lt(_):_}return c=(d[t]-d.min)/d.max||0,ja(d.b+(_?_(c):c)*d.v)+d.u}}function fb(i){var n=Math.pow(10,((i+"").split(".")[1]||"").length);return function(e){var r=ja(Math.round(parseFloat(e)/i)*i*n);return(r-r%1)/n+(t(e)?0:Ya(e))}}function gb(h,e){var l,f,r=$(h);return!r&&v(h)&&(l=r=h.radius||U,h.values?(h=Ot(h.values),(f=!t(h[0]))&&(l*=l)):h=fb(h.increment)),Wa(e,r?s(h)?function(t){return f=h(t),Math.abs(f-t)<=l?f:t}:function(e){for(var r,i,n=parseFloat(f?e.x:e),a=parseFloat(f?e.y:0),s=U,o=0,u=h.length;u--;)(r=f?(r=h[u].x-n)*r+(i=h[u].y-a)*i:Math.abs(h[u]-n))<s&&(s=r,o=u);return o=!l||s<=l?h[o]:e,f||o===e||t(e)?o:o+Ya(e)}:fb(h))}function hb(t,e,r,i){return Wa($(t)?!e:!0===r?!!(r=0):!i,function(){return $(t)?t[~~(Math.random()*t.length)]:(r=r||1e-5)&&(i=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((t-r/2+Math.random()*(e-t+.99*r))/r)*r*i)/i})}function lb(e,r,t){return Wa(t,function(t){return e[~~r(t)]})}function ob(t){for(var e,r,i,n,a=0,s="";~(e=t.indexOf("random(",a));)i=t.indexOf(")",e),n="["===t.charAt(e+7),r=t.substr(e+7,i-e-7).match(n?at:tt),s+=t.substr(a,e-a)+hb(n?r:+r[0],n?0:+r[1],+r[2]||1e-5),a=i+1;return s+t.substr(a,t.length-a)}function rb(t,e,r){var i,n,a,s=t.labels,o=U;for(i in s)(n=s[i]-e)<0==!!r&&n&&o>(n=Math.abs(n))&&(a=i,o=n);return a}function tb(t){return za(t),t.scrollTrigger&&t.scrollTrigger.kill(!!B),t.progress()<1&&Ct(t,"onInterrupt"),t}function yb(t,e,r){return(6*(t+=t<0?1:1<t?-1:0)<1?e+(r-e)*t*6:t<.5?r:3*t<2?e+(r-e)*(2/3-t)*6:e)*At+.5|0}function zb(e,r,i){var n,a,s,o,u,h,l,f,c,d,p=e?t(e)?[e>>16,e>>8&At,e&At]:0:St.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),St[e])p=St[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&At,p&At,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&At,e&At]}else if("hsl"===e.substr(0,3))if(p=d=e.match(tt),r){if(~e.indexOf("="))return p=e.match(et),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3<p.length&&(p[3]*=1),p[0]=yb(o+1/3,n,a),p[1]=yb(o,n,a),p[2]=yb(o-1/3,n,a);else p=e.match(tt)||St.transparent;p=p.map(Number)}return r&&!d&&(n=p[0]/At,a=p[1]/At,s=p[2]/At,h=((l=Math.max(n,a,s))+(f=Math.min(n,a,s)))/2,l===f?o=u=0:(c=l-f,u=.5<h?c/(2-l-f):c/(l+f),o=l===n?(a-s)/c+(a<s?6:0):l===a?(s-n)/c+2:(n-a)/c+4,o*=60),p[0]=~~(o+.5),p[1]=~~(100*u+.5),p[2]=~~(100*h+.5)),i&&p.length<4&&(p[3]=1),p}function Ab(t){var r=[],i=[],n=-1;return t.split(Rt).forEach(function(t){var e=t.match(rt)||[];r.push.apply(r,e),i.push(n+=e.length+1)}),r.c=i,r}function Bb(t,e,r){var i,n,a,s,o="",u=(t+o).match(Rt),h=e?"hsla(":"rgba(",l=0;if(!u)return t;if(u=u.map(function(t){return(t=zb(t,e,1))&&h+(e?t[0]+","+t[1]+"%,"+t[2]+"%,"+t[3]:t.join(","))+")"}),r&&(a=Ab(t),(i=r.c).join(o)!==a.c.join(o)))for(s=(n=t.replace(Rt,"1").split(rt)).length-1;l<s;l++)o+=n[l]+(~i.indexOf(l)?u.shift()||h+"0,0,0,0)":(a.length?a:u.length?u:r).shift());if(!n)for(s=(n=t.split(Rt)).length-1;l<s;l++)o+=n[l]+u[l];return o+n[s]}function Eb(t){var e,r=t.join(" ");if(Rt.lastIndex=0,Rt.test(r))return e=Dt.test(r),t[1]=Bb(t[1],e),t[0]=Bb(t[0],e,Ab(t[1])),!0}function Nb(t){var e=(t+"").split("("),r=Ft[e[0]];return r&&1<e.length&&r.config?r.config.apply(null,~t.indexOf("{")?[function _parseObjectInString(t){for(var e,r,i,n={},a=t.substr(1,t.length-3).split(":"),s=a[0],o=1,u=a.length;o<u;o++)r=a[o],e=o!==u-1?r.lastIndexOf(","):r.length,i=r.substr(0,e),n[s]=isNaN(i)?i.replace(Bt,"").trim():+i,s=r.substr(e+1).trim();return n}(e[1])]:function _valueInParentheses(t){var e=t.indexOf("(")+1,r=t.indexOf(")"),i=t.indexOf("(",e);return t.substring(e,~i&&i<r?t.indexOf(")",r+1):r)}(t).split(",").map(oa)):Ft._CE&&It.test(t)?Ft._CE("",t):r}function Pb(t,e){for(var r,i=t._first;i;)i instanceof Ut?Pb(i,e):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===e||(i.timeline?Pb(i.timeline,e):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=e)),i=i._next}function Rb(t,e,r,i){void 0===r&&(r=function easeOut(t){return 1-e(1-t)}),void 0===i&&(i=function easeInOut(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var n,a={easeIn:e,easeOut:r,easeInOut:i};return ha(t,function(t){for(var e in Ft[t]=ot[t]=a,Ft[n=t.toLowerCase()]=r,a)Ft[n+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Ft[t+"."+e]=a[e]}),a}function Sb(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}}function Tb(r,t,e){function Hm(t){return 1===t?1:i*Math.pow(2,-10*t)*G((t-a)*n)+1}var i=1<=t?t:1,n=(e||(r?.3:.45))/(t<1?t:1),a=n/W*(Math.asin(1/i)||0),s="out"===r?Hm:"in"===r?function(t){return 1-Hm(1-t)}:Sb(Hm);return n=W/n,s.config=function(t,e){return Tb(r,t,e)},s}function Ub(e,r){function Pm(t){return t?--t*t*((r+1)*t+r)+1:0}void 0===r&&(r=1.70158);var t="out"===e?Pm:"in"===e?function(t){return 1-Pm(1-t)}:Sb(Pm);return t.config=function(t){return Ub(e,t)},t}var I,B,l,L,h,n,a,i,o,f,c,d,p,_,m,g,b,k,M,O,C,A,D,E,z,F,Y,N,j={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},q={duration:.5,overwrite:!1,delay:0},U=1e8,V=1/U,W=2*Math.PI,X=W/4,H=0,K=Math.sqrt,Z=Math.cos,G=Math.sin,J="function"==typeof ArrayBuffer&&ArrayBuffer.isView||function(){},$=Array.isArray,tt=/(?:-?\.?\d|\.)+/gi,et=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,rt=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,it=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,nt=/[+-]=-?[.\d]+/,at=/[^,'"\[\]\s]+/gi,st=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ot={},ut={suppressEvents:!0,isStart:!0,kill:!1},ht={suppressEvents:!0,kill:!1},lt={suppressEvents:!0},ft={},ct=[],dt={},pt={},_t={},mt=30,gt=[],vt="",yt=function _merge(t,e){for(var r in e)t[r]=e[r];return t},Tt=function _animationCycle(t,e){var r=Math.floor(t/=e);return t&&r===t?r-1:r},bt=function _isFromOrFromStart(t){var e=t.data;return"isFromStart"===e||"isStart"===e},wt={_start:0,endTime:T,totalDuration:T},xt=function _parsePosition(t,e,i){var n,a,s,o=t.labels,u=t._recent||wt,h=t.duration()>=U?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1<n?_parsePosition(t,e.substr(0,n-1),i)+a:h+a)):null==e?h:+e},kt=function _clamp(t,e,r){return r<t?t:e<r?e:r},Mt=[].slice,Ot=function toArray(t,e,i){return l&&!e&&l.selector?l.selector(t):!r(t)||i||!n&&zt()?$(t)?function _flatten(t,e,i){return void 0===i&&(i=[]),t.forEach(function(t){return r(t)&&!e||_a(t,1)?i.push.apply(i,Ot(t)):i.push(t)})||i}(t,i):_a(t)?Mt.call(t,0):t?[t]:[]:Mt.call((e||a).querySelectorAll(t),0)},Pt=function mapRange(e,t,r,i,n){var a=t-e,s=i-r;return Wa(n,function(t){return r+((t-e)/a*s||0)})},Ct=function _callback(t,e,r){var i,n,a,s=t.vars,o=s[e],u=l,h=t._ctx;if(o)return i=s[e+"Params"],n=s.callbackScope||t,r&&ct.length&&ma(),h&&(l=h),a=i?o.apply(n,i):o.call(n),l=u,a},At=255,St={aqua:[0,At,At],lime:[0,At,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,At],navy:[0,0,128],white:[At,At,At],olive:[128,128,0],yellow:[At,At,0],orange:[At,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[At,0,0],pink:[At,192,203],cyan:[0,At,At],transparent:[At,At,At,0]},Rt=function(){var t,e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(t in St)e+="|"+t+"\\b";return new RegExp(e+")","gi")}(),Dt=/hsl[a]?\(/,Et=(M=Date.now,O=500,C=33,A=M(),D=A,z=E=1e3/240,g={time:0,frame:0,tick:function tick(){wl(!0)},deltaRatio:function deltaRatio(t){return b/(1e3/(t||60))},wake:function wake(){o&&(!n&&x()&&(h=n=window,a=h.document||{},ot.gsap=Ce,(h.gsapVersions||(h.gsapVersions=[])).push(Ce.version),P(i||h.GreenSockGlobals||!h.gsap&&h||{}),m=h.requestAnimationFrame),p&&g.sleep(),_=m||function(t){return setTimeout(t,z-1e3*g.time+1|0)},d=1,wl(2))},sleep:function sleep(){(m?h.cancelAnimationFrame:clearTimeout)(p),d=0,_=T},lagSmoothing:function lagSmoothing(t,e){O=t||1e8,C=Math.min(e,O,0)},fps:function fps(t){E=1e3/(t||240),z=1e3*g.time+E},add:function add(n,t,e){var a=t?function(t,e,r,i){n(t,e,r,i),g.remove(a)}:n;return g.remove(n),F[e?"unshift":"push"](a),zt(),a},remove:function remove(t,e){~(e=F.indexOf(t))&&F.splice(e,1)&&e<=k&&k--},_listeners:F=[]}),zt=function _wake(){return!d&&Et.wake()},Ft={},It=/^[\d.\-M][\d.\-,\s]/,Bt=/["']/g,Lt=function _invertEase(e){return function(t){return 1-e(1-t)}},Yt=function _parseEase(t,e){return t&&(s(t)?t:Ft[t]||Nb(t))||e};function wl(t){var e,r,i,n,a=M()-D,s=!0===t;if(O<a&&(A+=a-C),(0<(e=(i=(D+=a)-A)-z)||s)&&(n=++g.frame,b=i-1e3*g.time,g.time=i/=1e3,z+=e+(E<=e?4:E-e),r=1),s||(p=_(wl)),r)for(k=0;k<F.length;k++)F[k](i,b,n,t)}function en(t){return t<N?Y*t*t:t<.7272727272727273?Y*Math.pow(t-1.5/2.75,2)+.75:t<.9090909090909092?Y*(t-=2.25/2.75)*t+.9375:Y*Math.pow(t-2.625/2.75,2)+.984375}ha("Linear,Quad,Cubic,Quart,Quint,Strong",function(t,e){var r=e<5?e+1:e;Rb(t+",Power"+(r-1),e?function(t){return Math.pow(t,r)}:function(t){return t},function(t){return 1-Math.pow(1-t,r)},function(t){return t<.5?Math.pow(2*t,r)/2:1-Math.pow(2*(1-t),r)/2})}),Ft.Linear.easeNone=Ft.none=Ft.Linear.easeIn,Rb("Elastic",Tb("in"),Tb("out"),Tb()),Y=7.5625,N=1/2.75,Rb("Bounce",function(t){return 1-en(1-t)},en),Rb("Expo",function(t){return t?Math.pow(2,10*(t-1)):0}),Rb("Circ",function(t){return-(K(1-t*t)-1)}),Rb("Sine",function(t){return 1===t?1:1-Z(t*X)}),Rb("Back",Ub("in"),Ub("out"),Ub()),Ft.SteppedEase=Ft.steps=ot.SteppedEase={config:function config(t,e){void 0===t&&(t=1);var r=1/t,i=t+(e?0:1),n=e?1:0;return function(t){return((i*kt(0,.99999999,t)|0)+n)*r}}},q.ease=Ft["quad.out"],ha("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(t){return vt+=t+","+t+"Param
2s,"});var Nt,jt=function GSCache(t,e){this.id=H++,(t._gsap=this).target=t,this.harness=e,this.get=e?e.get:ga,this.set=e?e.getSetter:re},qt=((Nt=Animation.prototype).delay=function delay(t){return t||0===t?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+t-this._delay),this._delay=t,this):this._delay},Nt.duration=function duration(t){return arguments.length?this.totalDuration(0<this._repeat?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},Nt.totalDuration=function totalDuration(t){return arguments.length?(this._dirty=0,Ra(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},Nt.totalTime=function totalTime(t,e){if(zt(),!arguments.length)return this._tTime;var r=this._dp;if(r&&r.smoothChildTiming&&this._ts){for(Ia(this,t),!r._dp||r.parent||Ja(r,this);r&&r.parent;)r.parent._time!==r._start+(0<=r._ts?r._tTime/r._ts:(r.totalDuration()-r._tTime)/-r._ts)&&r.totalTime(r._tTime,!0),r=r.parent;!this.parent&&this._dp.autoRemoveChildren&&(0<this._ts&&t<this._tDur||this._ts<0&&0<t||!this._tDur&&!t)&&Ka(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&Math.abs(this._zTime)===V||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),na(this,t,e)),this},Nt.time=function time(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+Ea(this))%(this._dur+this._rDelay)||(t?this._dur:0),e):this._time},Nt.totalProgress=function totalProgress(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},Nt.progress=function progress(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+Ea(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},Nt.iteration=function iteration(t,e){var r=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*r,e):this._repeat?Tt(this._tTime,r)+1:1},Nt.timeScale=function timeScale(t){if(!arguments.length)return this._rts===-V?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Ga(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||t===-V?0:this._rts,this.totalTime(kt(-this._delay,this._tDur,e),!0),Ha(this),function _recacheAncestors(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t}(this)},Nt.paused=function paused(t){return arguments.length?(this._ps!==t&&((this._ps=t)?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(zt(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==V&&(this._tTime-=V)))),this):this._ps},Nt.startTime=function startTime(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return!e||!e._sort&&this.parent||Ka(e,this,t-this._delay),this}return this._start},Nt.endTime=function endTime(t){return this._start+(w(t)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},Nt.rawTime=function rawTime(t){var e=this.parent||this._dp;return e?t&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ga(e.rawTime(t),this):this._tTime:this._tTime},Nt.revert=function revert(t){void 0===t&&(t=lt);var e=B;return B=t,(this._initted||this._startAt)&&(this.timeline&&this.timeline.revert(t),this.totalTime(-.01,t.suppressEvents)),"nested"!==this.data&&!1!==t.kill&&this.kill(),B=e,this},Nt.globalTime=function globalTime(t){for(var e=this,r=arguments.length?t:e.rawTime();e;)r=e._start+r/(e._ts||1),e=e._dp;return!this.parent&&this.vars.immediateRender?-1:r},Nt.repeat=function repeat(t){return arguments.length?(this._repeat=t===1/0?-2:t,Sa(this)):-2===this._repeat?1/0:this._repeat},Nt.repeatDelay=function repeatDelay(t){if(arguments.length){var e=this._time;return this._rDelay=t,Sa(this),e?this.time(e):this}return this._rDelay},Nt.yoyo=function yoyo(t){return arguments.length?(this._yoyo=t,this):this._yoyo}
vendor: 8,948 bytes, line 2
2,Nt.seek=function seek(t,e){return this.totalTime(xt(this,t),w(e))},Nt.restart=function restart(t,e){return this.play().totalTime(t?-this._delay:0,w(e))},Nt.play=function play(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},Nt.reverse=function reverse(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},Nt.pause=function pause(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},Nt.resume=function resume(){return this.paused(!1)},Nt.reversed=function reversed(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-V:0)),this):this._rts<0},Nt.invalidate=function invalidate(){return this._initted=this._act=0,this._zTime=-V,this},Nt.isActive=function isActive(){var t,e=this.parent||this._dp,r=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=r&&t<this.endTime(!0)-V))},Nt.eventCallback=function eventCallback(t,e,r){var i=this.vars;return 1<arguments.length?(e?(i[t]=e,r&&(i[t+"Params"]=r),"onUpdate"===t&&(this._onUpdate=e)):delete i[t],this):i[t]},Nt.then=function then(t){var i=this;return new Promise(function(e){function zo(){var t=i.then;i.then=null,s(r)&&(r=r(i))&&(r.then||r===i)&&(i.then=t),e(r),i.then=t}var r=s(t)?t:pa;i._initted&&1===i.totalProgress()&&0<=i._ts||!i._tTime&&i._ts<0?zo():i._prom=zo})},Nt.kill=function kill(){tb(this)},Animation);function Animation(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,Ra(this,+t.duration,1,1),this.data=t.data,l&&(this._ctx=l).data.push(this),d||Et.wake()}qa(qt.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-V,_prom:0,_ps:!1,_rts:1});var Ut=function(i){function Timeline(t,e){var r;return void 0===t&&(t={}),(r=i.call(this,t)||this).labels={},r.smoothChildTiming=!!t.smoothChildTiming,r.autoRemoveChildren=!!t.autoRemoveChildren,r._sort=w(t.sortChildren),L&&Ka(t.parent||L,_assertThisInitialized(r),e),t.reversed&&r.reverse(),t.paused&&r.paused(!0),t.scrollTrigger&&La(_assertThisInitialized(r),t.scrollTrigger),r}_inheritsLoose(Timeline,i);var e=Timeline.prototype;return e.to=function to(t,e,r){return Va(0,arguments,this),this},e.from=function from(t,e,r){return Va(1,arguments,this),this},e.fromTo=function fromTo(t,e,r,i){return Va(2,arguments,this),this},e.set=function set(t,e,r){return e.duration=0,e.parent=this,va(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Gt(t,e,xt(this,r),1),this},e.call=function call(t,e,r){return Ka(this,Gt.delayedCall(0,t,e),r)},e.staggerTo=function staggerTo(t,e,r,i,n,a,s){return r.duration=e,r.stagger=r.stagger||i,r.onComplete=a,r.onCompleteParams=s,r.parent=this,new Gt(t,r,xt(this,n)),this},e.staggerFrom=function staggerFrom(t,e,r,i,n,a,s){return r.runBackwards=1,va(r).immediateRender=w(r.immediateRender),this.staggerTo(t,e,r,i,n,a,s)},e.staggerFromTo=function staggerFromTo(t,e,r,i,n,a,s,o){return i.startAt=r,va(i).immediateRender=w(i.immediateRender),this.staggerTo(t,e,i,n,a,s,o)},e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_=this._time,m=this._dirty?this.totalDuration():this._tDur,g=this._dur,v=t<=0?0:ja(t),y=this._zTime<0!=t<0&&(this._initted||!g);if(this!==L&&m<v&&0<=t&&(v=m),v!==this._tTime||r||y){if(_!==this._time&&g&&(v+=this._time-_,t+=this._time-_),i=v,f=this._start,u=!(l=this._ts),y&&(g||(_=this._zTime),!t&&e||(this._zTime=t)),this._repeat){if(d=this._yoyo,o=g+this._rDelay,this._repeat<-1&&t<0)return this.totalTime(100*o+t,e,r);if(i=ja(v%o),v===m?(s=this._repeat,i=g):((s=~~(v/o))&&s===v/o&&(i=g,s--),g<i&&(i=g)),c=Tt(this._tTime,o),!_&&this._tTime&&c!==s&&(c=s),d&&1&s&&(i=g-i,p=1),s!==c&&!this._lock){var T=d&&1&c,b=T===(d&&1&s);if(s<c&&(T=!T),_=T?0:g,this._lock=1,this.render(_||(p?0:ja(s*o)),e,!g)._lock=0,this._tTime=v,!e&&this.parent&&Ct(this,"onRepeat"),this.vars.repeatRefresh&&!p&&(this.invalidate()._lock=1),_&&_!==this._time||u!=!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(g=this._dur,m=this._tDur,b&&(this._lock=2,_=T?g:-1e-4,this.render(_,!0),this.vars.repeatRefresh&&!p&&this.invalidate()),this._lock=0,!this._ts&&!u)return this;Pb(this,p)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(h=function _findNextPauseTween(t,e,r){var i;if(e<r)for(i=t._first;i&&i._start<=r;){if("isPause"===i.data&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start<e)return i;i=i._prev}}(this,ja(_),ja(i)))&&(v-=i-(i=h._start)),this._tTime=v,this._time=i,this._act=!l,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=t,_=0),!_&&i&&!e&&(Ct(this,"onStart"),this._tTime!==v))return this;if(_<=i&&0<=t)for(n=this._first;n;){if(a=n._next,(n._act||i>=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(i-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(i-n._start)*n._ts,e,r),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=-V);break}}n=a}else{n=this._last;for(var w=t<0?t:i;n;){if(a=n._prev,(n._act||w<=n._end)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(w-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(w-n._start)*n._ts,e,r||B&&(n._initted||n._startAt)),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=w?-V:V);break}}n=a}}if(h&&!e&&(this.pause(),h.render(_<=i?0:-V)._zTime=_<=i?1:-1,this._ts))return this._start=f,Ha(this),this.render(t,e,r);this._onUpdate&&!e&&Ct(this,"onUpdate",!0),(v===m&&this._tTime>=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0<this._ts||!v&&this._ts<0)||za(this,1),e||t<0&&!_||!v&&!_&&m||(Ct(this,v===m&&0<=t?"onComplete":"onReverseComplete",!0),!this._prom||v<m&&0<this.timeScale()||this._prom())))}return this},e.add=function add(e,i){var n=this;if(t(i)||(i=xt(this,i,e)),!(e instanceof qt)){if($(e))return e.forEach(function(t){return n.add(t,i)}),this;if(r(e))return this.addLabel(e,i);if(!s(e))return this;e=Gt.delayedCall(0,e)}return this!==e?Ka(this,e,i):this},e.getChildren=function getChildren(t,e,r,i){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),void 0===i&&(i=-U);for(var n=[],a=this._first;a;)a._start>=i&&(a instanceof Gt?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(ya(this,t),t===this._recent&&(this._recent=this._last),Aa(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ja(Et.time-(0<this._ts?t/this._ts:(this.totalDuration()-t)/-this._ts))),i.prototype.totalTime.call(this,t,e),this._forcing=0,this):this._tTime},e.addLabel=function addLabel(t,e){return this.labels[t]=xt(this,e),this},e.removeLabel=function removeLabel(t){return delete this.labels[t],this},e.addPause=function addPause(t,e,r){var i=Gt.delayedCall(0,e||T,r);return i.data="isPause",this._hasPause=1,Ka(this,i,xt(this,t))},e.removePause=function removePause(t){var e=this._first;for(t=xt(this,t);e;)e._start===t&&"isPause"===e.data&&za(e),e=e._next},e.killTweensOf=function killTweensOf(t,e,r){for(var i=this.getTweensOf(t,r),n=i.length;n--;)Vt!==i[n]&&i[n].kill(t,e);return this},e.getTweensOf=function getTweensOf(e,r){for(var i,n=[],a=Ot(e),s=this._first,o=t(r);s;)s instanceof Gt?la(s._targets,a)&&(o?(!Vt||s._initted&&s._ts)&&s.globalTime(0)<=r&&s.globalTime(s.totalDuration())>r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=xt(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=Gt.to(i,qa({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||V,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Ra(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,qa({startAt:{time:xt(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+V)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);for(var i,n=this._first,a=this.labels;n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Aa(this)}
vendor: 21,870 bytes, line 2
2,e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Aa(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=U;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,Ka(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=r/a._ts,a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Ra(a,a===L&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(L._ts&&(na(L,Ga(t,L)),f=Et.frame),Et.frame>=mt){mt+=j.autoSleep||120;var e=L._first;if((!e||!e._ts)&&j.autoSleep&&Et._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Et.sleep()}}},Timeline}(qt);qa(Ut.prototype,{_lock:0,_hasPause:0,_forcing:0});function _b(t,e,i,n,a,o){var u,h,l,f;if(pt[t]&&!1!==(u=new pt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Qt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||J(t))return r(t)?Qt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Qt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new pe(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==c))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function fc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Vt,Wt,Xt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var c,d=t[e],p="get"!==i?i:s(d)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():d,_=s(d)?l?ee:$t:Jt;if(r(n)&&(~n.indexOf("random(")&&(n=ob(n)),"="===n.charAt(1)&&(!(c=ka(p,n)+(Ya(p)||0))&&0!==c||(n=c))),!f||p!==n||Wt)return isNaN(p*n)||""===n?(d||e in t||Q(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,c,d,p,_=new pe(this._pt,t,e,0,1,se,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(d=~(i+="").indexOf("random("))&&(i=ob(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(it)||[];o=it.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(c=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:c,c:"="===l.charAt(1)?ka(c,l)-c:parseFloat(l)-c,m:h&&h<4?Math.round:0},m=it.lastIndex);return _.c=m<i.length?i.substring(m,i.length):"",_.fp=s,(nt.test(i)||d)&&(_.e=0),this._pt=_}.call(this,t,e,p,n,_,h||j.stringFilter,l)):(c=new pe(this._pt,t,e,+p||0,n-(p||0),"boolean"==typeof d?ae:ne,0,_),l&&(c.fp=l),u&&c.modifier(u,this,t),this._pt=c)},Ht=function _initTween(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_,m=t.vars,g=m.ease,v=m.startAt,y=m.immediateRender,T=m.lazy,b=m.onUpdate,x=m.onUpdateParams,k=m.callbackScope,M=m.runBackwards,O=m.yoyoEase,P=m.keyframes,C=m.autoRevert,A=t._dur,S=t._startAt,R=t._targets,D=t.parent,E=D&&"nested"===D.data?D.vars.targets:R,z="auto"===t._overwrite&&!I,F=t.timeline;if(!F||P&&g||(g="none"),t._ease=Yt(g,q.ease),t._yEase=O?Lt(Yt(!0===O?g:O,q.ease)):0,O&&t._yoyo&&!t._repeat&&(O=t._yEase,t._yEase=t._ease,t._ease=O),t._from=!F&&!!m.runBackwards,!F||P&&!m.stagger){if(p=(l=R[0]?fa(R[0]).harness:0)&&m[l.prop],i=ua(m,ft),S&&(S._zTime<0&&S.progress(1),e<0&&M&&y&&!C?S.render(-1,!0):S.revert(M&&A?ht:ut),S._lazy=0),v){if(za(t._startAt=Gt.set(R,qa({data:"isStart",overwrite:!1,parent:D,immediateRender:!0,lazy:w(T),startAt:null,delay:0,onUpdate:b,onUpdateParams:x,callbackScope:k,stagger:0},v))),e<(t._startAt._dp=0)&&(B||!y&&!C)&&t._startAt.revert(ht),y&&A&&e<=0&&r<=0)return void(e&&(t._zTime=e))}else if(M&&A&&!S)if(e&&(y=!1),a=qa({overwrite:!1,data:"isFromStart",lazy:y&&w(T),immediateRender:y,stagger:0,parent:D},i),p&&(a[l.prop]=p),za(t._startAt=Gt.set(R,a)),e<(t._startAt._dp=0)&&(B?t._startAt.revert(ht):t._startAt.render(-1,!0)),t._zTime=e,y){if(!e)return}else _initTween(t._startAt,V,V);for(t._pt=t._ptCache=0,T=A&&w(T)||T&&!A,n=0;n<R.length;n++){if(h=(o=R[n])._gsap||ea(R)[n]._gsap,t._ptLookup[n]=c={},dt[h.id]&&ct.length&&ma(),d=E===R?n:E.indexOf(o),l&&!1!==(f=new l).init(o,p||i,t,d,E)&&(t._pt=s=new pe(t._pt,o,f.name,0,1,f.render,f,0,f.priority),f._props.forEach(function(t){c[t]=s}),f.priority&&(u=1)),!l||p)for(a in i)pt[a]&&(f=_b(a,i,t,d,o,E))?f.priority&&(u=1):c[a]=s=Xt.call(t,o,a,"get",i[a],d,E,0,m.stringFilter);t._op&&t._op[n]&&t.kill(o,t._op[n]),z&&t._pt&&(Vt=t,L.killTweensOf(o,c,t.globalTime(e)),_=!t.parent,Vt=0),t._pt&&T&&(dt[h.id]=1)}u&&de(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!_,P&&e<=0&&F.render(U,!0,!0)},Qt=function _parseFuncOrString(t,e,i,n,a){return s(t)?t.call(e,i,n,a):r(t)&&~t.indexOf("random(")?ob(t):t},Kt=vt+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",Zt={};ha(Kt+",id,stagger,delay,duration,paused,scrollTrigger",function(t){return Zt[t]=1});var Gt=function(z){function Tween(e,r,i,n){var a;"number"==typeof r&&(i.duration=r,r=i,i=null);var s,o,u,h,l,f,c,d,p=(a=z.call(this,n?r:va(r))||this).vars,_=p.duration,m=p.delay,g=p.immediateRender,T=p.stagger,b=p.overwrite,x=p.keyframes,k=p.defaults,M=p.scrollTrigger,O=p.yoyoEase,P=r.parent||L,C=($(e)||J(e)?t(e[0]):"length"in r)?[e]:Ot(e);if(a._targets=C.length?ea(C):R("GSAP target "+e+" not found. https://greensock.com",!j.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=b,x||T||y(_)||y(m)){if(r=a.vars,(s=a.timeline=new Ut({data:"nested",defaults:k||{},targets:P&&"nested"===P.data?P.vars.targets:C})).kill(),s.parent=s._dp=_assertThisInitialized(a),s._start=0,T||y(_)||y(m)){if(h=C.length,c=T&&eb(T),v(T))for(l in T)~Kt.indexOf(l)&&((d=d||{})[l]=T[l]);for(o=0;o<h;o++)(u=ua(r,Zt)).stagger=0,O&&(u.yoyoEase=O),d&&yt(u,d),f=C[o],u.duration=+Qt(_,_assertThisInitialized(a),o,f,C),u.delay=(+Qt(m,_assertThisInitialized(a),o,f,C)||0)-a._delay,!T&&1===h&&u.delay&&(a._delay=m=u.delay,a._start+=m,u.delay=0),s.to(f,u,c?c(o,f,C):0),s._ease=Ft.none;s.duration()?_=m=0:a.timeline=0}else if(x){va(qa(s.vars.defaults,{ease:"none"})),s._ease=Yt(x.ease||r.ease||"none");var A,S,D,E=0;if($(x))x.forEach(function(t){return s.to(C,t,">")}),s.duration();else{for(l in u={},x)"ease"===l||"easeEach"===l||fc(l,x[l],u,x.easeEach);for(l in u)for(A=u[l].sort(function(t,e){return t.t-e.t}),o=E=0;o<A.length;o++)(D={ease:(S=A[o]).e,duration:(S.t-(o?A[o-1].t:0))/100*_})[l]=S.v,s.to(C,D,E),E+=D.duration;s.duration()<_&&s.to({},{duration:_-s.duration()})}}_||a.duration(_=s.duration())}else a.timeline=0;return!0!==b||I||(Vt=_assertThisInitialized(a),L.killTweensOf(C),Vt=0),Ka(P,_assertThisInitialized(a),i),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(g||!_&&!x&&a._start===ja(P._time)&&w(g)&&function _hasNoPausedAncestors(t){return!t||t._ts&&_hasNoPausedAncestors(t.parent)}(_assertThisInitialized(a))&&"nested"!==P.data)&&(a._tTime=-V,a.render(Math.max(0,-m)||0)),M&&La(_assertThisInitialized(a),M),a}_inheritsLoose(Tween,z);var e=Tween.prototype;return e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c=this._time,d=this._tDur,p=this._dur,_=t<0,m=d-V<t&&!_?d:t<V?0:t;if(p){if(m!==this._tTime||!t||r||!this._initted&&this._tTime||this._startAt&&this._zTime<0!=_){if(i=m,l=this.timeline,this._repeat){if(s=p+this._rDelay,this._repeat<-1&&_)return this.totalTime(100*s+t,e,r);if(i=ja(m%s),m===d?(a=this._repeat,i=p):((a=~~(m/s))&&a===m/s&&(i=p,a--),p<i&&(i=p)),(u=this._yoyo&&1&a)&&(f=this._yEase,i=p-i),o=Tt(this._tTime,s),i===c&&!r&&this._initted)return this._tTime=m,this;a!==o&&(l&&this._yEase&&Pb(l,u),!this.vars.repeatRefresh||u||this._lock||(this._lock=r=1,this.render(ja(s*a),!0).invalidate()._lock=0))}if(!this._initted){if(Ma(this,_?t:i,r,e,m))return this._tTime=0,this;if(c!==this._time)return this;if(p!==this._dur)return this.render(t,e,r)}if(this._tTime=m,this._time=i,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=h=(f||this._ease)(i/p),this._from&&(this.ratio=h=1-h),i&&!c&&!e&&(Ct(this,"onStart"),this._tTime!==m))return this;for(n=this._pt;n;)n.r(h,n.d),n=n._next;l&&l.render(t<0?t:!i&&u?-V:l._dur*l._ease(i/this._dur),e,r)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(_&&Ca(this,t,0,r),Ct(this,"onUpdate")),this._repeat&&a!==o&&this.vars.onRepeat&&!e&&this.parent&&Ct(this,"onRepeat"),m!==this._tDur&&m||this._tTime!==m||(_&&!this._onUpdate&&Ca(this,t,0,!0),!t&&p||!(m===this._tDur&&0<this._ts||!m&&this._ts<0)||za(this,1),e||_&&!c||!(m||c||u)||(Ct(this,m===d?"onComplete":"onReverseComplete",!0),!this._prom||m<d&&0<this.timeScale()||this._prom()))}}else!function _renderZeroDurationTween(t,e,r,i){var n,a,s,o=t.ratio,u=e<0||!e&&(!t._start&&function _parentPlayheadIsBeforeStart(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||_parentPlayheadIsBeforeStart(e))}(t)&&(t._initted||!bt(t))||(t._ts<0||t._dp._ts<0)&&!bt(t))?0:1,h=t._rDelay,l=0;if(h&&t._repeat&&(l=kt(0,t._tDur,e),a=Tt(l,h),t._yoyo&&1&a&&(u=1-u),a!==Tt(t._tTime,h)&&(o=1-u,t.vars.repeatRefresh&&t._initted&&t.invalidate())),u!==o||B||i||t._zTime===V||!e&&t._zTime){if(!t._initted&&Ma(t,e,i,r,l))return;for(s=t._zTime,t._zTime=e||(r?V:0),r=r||e&&!s,t.ratio=u,t._from&&(u=1-u),t._time=0,t._tTime=l,n=t._pt;n;)n.r(u,n.d),n=n._next;e<0&&Ca(t,e,0,!0),t._onUpdate&&!r&&Ct(t,"onUpdate"),l&&t._repeat&&!r&&t.parent&&Ct(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===u&&(u&&za(t,1),r||B||(Ct(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),z.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i){d||Et.wake(),this._ts||this.play();var n,a=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Ht(this,a),n=this._ease(a/this._dur),function _updatePropTweens(t,e,r,i,n,a,s){var o,u,h,l,f=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!f)for(f=t._ptCache[e]=[],h=t._ptLookup,l=t._targets.length;l--;){if((o=h[l][e])&&o.d&&o.d._pt)for(o=o.d._pt;o&&o.p!==e&&o.fp!==e;)o=o._next;if(!o)return Wt=1,t.vars[e]="+=0",Ht(t,s),Wt=0,1;f.push(o)}for(l=f.length;l--;)(o=(u=f[l])._pt||u).s=!i&&0!==i||n?o.s+(i||0)+a*o.c:i,o.c=r-o.s,u.e&&(u.e=ia(r)+Ya(u.e)),u.b&&(u.b=o.s+Ya(u.b))}(this,t,e,r,i,n,a)?this.resetTo(t,e,r,i):(Ia(this,0),this.parent||xa(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?tb(this):this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Vt&&!0!==Vt.vars.overwrite)._first||tb(this),this.parent&&i!==this.timeline.totalDuration()&&Ra(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,c=t?Ot(t):f,d=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,c))return"all"===e&&(this._pt=0),tb(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ha(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?fa(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=yt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~c.indexOf(f[l]))for(u in a=d[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||ya(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&tb(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Va(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Va(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return L.killTweensOf(t,e,r)},Tween}(qt);qa(Gt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ha("staggerTo,staggerFrom,staggerFromTo",function(r){Gt[r]=function(){var t=new Ut,e=Mt.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function nc(t,e,r){return t.setAttribute(e,r)}function vc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var Jt=function _setterPlain(t,e,r){return t[e]=r},$t=function _setterFunc(t,e,r){return t[e](r)},ee=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},re=function _getSetter(t,e){return s(t[e])?$t:u(t[e])&&t.setAttribute?nc:Jt},ne=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},ae=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},se=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},oe=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},le=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},fe=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?ya(this,i,"_pt"):i.dep||(e=1),i=r;return!e},de=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},pe=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=vc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ne,this.d=s||this,this.set=o||Jt,this.pr=u||0,(this._next=t)&&(t._prev=this)}ha(vt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ft[t]=1}),ot.TweenMax=ot.TweenLite=Gt,ot.TimelineLite=ot.TimelineMax=Ut,L=new Ut({sortChildren:!1,defaults:q,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),j.stringFilter=Eb;function Cc(t){return(Te[t]||we).map(function(t){return t()})}function Dc(){var t=Date.now(),o=[];2<t-xe&&(Cc("matchMediaInit"),ye.forEach(function(t){var e,r,i,n,a=t.queries,s=t.conditions;for(r in a)(e=h.matchMedia(a[r]).matches)&&(i=1),e!==s[r]&&(s[r]=e,n=1);n&&(t.revert(),i&&o.push(t))}),Cc("matchMediaRevert"),o.forEach(function(t){return t.onMatch(t)}),xe=t,Cc("matchMedia"))}var _e,ye=[],Te={},we=[],xe=0,ke=((_e=Context.prototype).add=function add(t,i,n){function Cw(){var t,e=l,r=a.selector;return e&&e!==a&&e.data.push(a),n&&(a.selector=cb(n)),l=a,t=i.apply(a,arguments),s(t)&&a._r.push(t),l=e,a.selector=r,a.isReverted=!1,t}s(t)&&(n=i,i=t,t=s);var a=this;return a.last=Cw,t===s?Cw(a):t?a[t]=Cw:Cw},_e.ignore=function ignore(t){var e=l;l=null,t(this),l=e},_e.getTweens=function getTweens(){var e=[];return this.data.forEach(function(t){return t instanceof Context?e.push.apply(e,t.getTweens()):t instanceof Gt&&!(t.parent&&"nested"===t.parent.data)&&e.push(t)}),e},_e.clear=function clear(){this._r.length=this.data.length=0},_e.kill=function kill(e,t){var r=this;if(e){var i=this.getTweens();this.data.forEach(function(t){"isFlip"===t.data&&(t.revert(),t.getChildren(!0,!0,!1).forEach(function(t){return i.splice(i.indexOf(t),1)}))}),i.map(function(t){return{g:t.globalTime(0),t:t}}).sort(function(t,e){return e.g-t.g||-1}).forEach(function(t){return t.t.revert(e)}),this.data.forEach(function(t){return!(t instanceof qt)&&t.revert&&t.revert(e)}),this._r.forEach(function(t){return t(e,r)}),this.isReverted=!0}else this.data.forEach(function(t){return t.kill&&t.kill()});if(this.clear(),t){var n=ye.indexOf(this);~n&&ye.splice(n,1)}},_e.revert=function revert(t){this.kill(t||{})},Context);function Context(t,e){this.selector=e&&cb(e),this.data=[],this._r=[],this.isReverted=!1,t&&this.add(t)}var Me,Oe=((Me=MatchMedia.prototype).add=function add(t,e,r){v(t)||(t={matches:t});var i,n,a,s=new ke(0,r||this.scope),o=s.conditions={};for(n in this.contexts.push(s),e=s.add("onMatch",e),s.queries=t)"all"===n?a=1:(i=h.matchMedia(t[n]))&&(ye.indexOf(s)<0&&ye.push(s),(o[n]=i.matches)&&(a=1),i.addListener?i.addListener(Dc):i.addEventListener("change",Dc));return a&&e(s),this},Me.revert=function revert(t){this.kill(t||{})},Me.kill=function kill(e){this.contexts.forEach(function(t){return t.kill(e,!0)})},MatchMedia);function MatchMedia(t){this.contexts=[],this.scope=t}var Pe={registerPlugin:function registerPlugin(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];e.forEach(function(t){return function _createPlugin(t){var e=(t=!t.name&&t.default||t).name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:T,render:oe,add:Xt,kill:fe,modifier:le,rawVars:0},a={targetTest:0,get:0,getSetter:re,aliases:{},register:0};if(zt(),t!==i){if(pt[e])return;qa(i,qa(ua(t,n),a)),yt(i.prototype,yt(n,ua(t,a))),pt[i.prop=e]=i,t.targetTest&&(gt.push(i),ft[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}S(e,i),t.register&&t.register(Ce,i,pe)}(t)})},timeline:function timeline(t){return new Ut(t)},getTweensOf:function getTweensOf(t,e){return L.getTweensOf(t,e)},getProperty:function getProperty(i,t,e,n){r(i)&&(i=Ot(i)[0]);var a=fa(i||{}).get,s=e?pa:oa;return"native"===e&&(e=""),i?t?s((pt[t]&&pt[t].get||a)(i,t,e,n)):function(t,e,r){return s((pt[t]&&pt[t].get||a)(i,t,e,r))}:i},quickSetter:function quickSetter(r,e,i){if(1<(r=Ot(r)).length){var n=r.map(function(t){return Ce.quickSetter(t,e,i)}),a=n.length;return function(t){for(var e=a;e--;)n[e](t)}}r=r[0]||{};var s=pt[e],o=fa(r),u=o.harness&&(o.harness.aliases||{})[e]||e,h=s?function(t){var e=new s;c._pt=0,e.init(r,i?t+i:t,c,0,[r]),e.render(1,e),c._pt&&oe(1,c)}:o.set(r,u);return s?h:function(t){return h(r,u,i?t+i:t,o,1)}},quickTo:function quickTo(t,i,e){function Ux(t,e,r){return n.resetTo(i,t,e,r)}var r,n=Ce.to(t,yt(((r={})[i]="+=0.1",r.paused=!0,r),e||{}));return Ux.tween=n,Ux},isTweening:function isTweening(t){return 0<L.getTweensOf(t,!0).length},defaults:function defaults(t){return t&&t.ease&&(t.ease=Yt(t.ease,q.ease)),ta(q,t||{})},config:function config(t){return ta(j,t||{})},registerEffect:function registerEffect(t){var i=t.name,n=t.effect,e=t.plugins,a=t.defaults,r=t.extendTimeline;(e||"").split(",").forEach(function(t){return t&&!pt[t]&&!ot[t]&&R(i+" effect requires "+t+" plugin.")}),_t[i]=function(t,e,r){return n(Ot(t),qa(e||{},a),r)},r&&(Ut.prototype[i]=function(t,e,r){return this.add(_t[i](t,v(e)?e:(r=e)&&{},this),r)})},registerEase:function registerEase(t,e){Ft[t]=Yt(e)},parseEase:function parseEase(t,e){return arguments.length?Yt(t,e):Ft},getById:function getById(t){return L.getById(t)},exportRoot:function exportRoot(t,e){void 0===t&&(t={});var r,i,n=new Ut(t);for(n.smoothChildTiming=w(t.smoothChildTiming),L.remove(n),n._dp=0,n._time=n._tTime=L._time,r=L._first;r;)i=r._next,!e&&!r._dur&&r instanceof Gt&&r.vars.onComplete===r._targets[0]||Ka(n,r,r._start-r._delay),r=i;return Ka(L,n,0),n},context:function context(t,e){return t?new ke(t,e):l},matchMedia:function matchMedia(t){return new Oe(t)},matchMediaRefresh:function matchMediaRefresh(){return ye.forEach(function(t){var e,r,i=t.conditions;for(r in i)i[r]&&(i[r]=!1,e=1);e&&t.revert()})||Dc()},addEventListener:function addEventListener(t,e){var r=Te[t]||(Te[t]=[]);~r.indexOf(e)||r.push(e)},removeEventListener:function removeEventListener(t,e){var r=Te[t],i=r&&r.indexOf(e);0<=i&&r.splice(i,1)},utils:{wrap:function wrap(e,t,r){var i=t-e;return $(e)?lb(e,wrap(0,e.length),t):Wa(r,function(t){return(i+(t-e)%i)%i+e})},wrapYoyo:function wrapYoyo(e,t,r){var i=t-e,n=2*i;return $(e)?lb(e,wrapYoyo(0,e.length-1),t):Wa(r,function(t){return e+(i<(t=(n+(t-e)%n)%n||0)?n-t:t)})},distribute:eb,random:hb,snap:gb,normalize:function normalize(t,e,r){return Pt(t,e,0,1,r)},getUnit:Ya,clamp:function clamp(e,r,t){return Wa(t,function(t){return kt(e,r,t)})},splitColor:zb,toArray:Ot,selector:cb,mapRange:Pt,pipe:function pipe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(t){return e.reduce(function(t,e){return e(t)},t)}},unitize:function unitize(e,r){return function(t){return e(parseFloat(t))+(r||Ya(t))}},interpolate:function interpolate(e,i,t,n){var a=isNaN(e+i)?0:function(t){return(1-t)*e+t*i};if(!a){var s,o,u,h,l,f=r(e),c={};if(!0===t&&(n=1)&&(t=null),f)e={p:e},i={p:i};else if($(e)&&!$(i)){for(u=[],h=e.length,l=h-2,o=1;o<h;o++)u.push(interpolate(e[o-1],e[o]));h--,a=function func(t){t*=h;var e=Math.min(l,~~t);return u[e](t-e)},t=i}else n||(e=yt($(e)?[]:{},e));if(!u){for(s in i)Xt.call(c,e,s,"get",i[s]);a=function func(t){return oe(t,c)||(f?e.p:e)}}}return Wa(t,a)},shuffle:db},install:P,effects:_t,ticker:Et,updateRoot:Ut.updateRoot,plugins:pt,globalTimeline:L,core:{PropTween:pe,globals:S,Tween:Gt,Timeline:Ut,Animation:qt,getCache:fa,_removeLinkedListItem:ya,reverting:function reverting(){return B},context:function context(t){return t&&l&&(l.data.push(t),t._ctx=l),l},suppressOverwrites:function suppressOverwrites(t){return I=t}}};ha("to,from,fromTo,delayedCall,set,killTweensOf",function(t){return Pe[t]=Gt[t]}),Et.add(Ut.updateRoot),c=Pe.to({},{duration:0});function Hc(t,e){for(var r=t._pt;r&&r.p!==e&&r.op!==e&&r.fp!==e;)r=r._next;return r}
vendor: 6,255 bytes, line 2
2function Jc(t,a){return{name:t,rawVars:1,init:function init(t,n,e){e._onInit=function(t){var e,i;if(r(n)&&(e={},ha(n,function(t){return e[t]=1}),n=e),a){for(i in e={},n)e[i]=a(n[i]);n=e}!function _addModifiers(t,e){var r,i,n,a=t._targets;for(r in e)for(i=a.length;i--;)(n=(n=t._ptLookup[i][r])&&n.d)&&(n._pt&&(n=Hc(n,r)),n&&n.modifier&&n.modifier(e[r],t,a[i],r))}(t,n)}}}}var Ce=Pe.registerPlugin({name:"attr",init:function init(t,e,r,i,n){var a,s,o;for(a in this.tween=r,e)o=t.getAttribute(a)||"",(s=this.add(t,"setAttribute",(o||0)+"",e[a],i,n,0,0,a)).op=a,s.b=o,this._props.push(a)},render:function render(t,e){for(var r=e._pt;r;)B?r.set(r.t,r.p,r.b,r):r.r(t,r.d),r=r._next}},{name:"endArray",init:function init(t,e){for(var r=e.length;r--;)this.add(t,r,t[r]||0,e[r],0,0,0,0,0,1)}},Jc("roundProps",fb),Jc("modifiers"),Jc("snap",gb))||Pe;Gt.version=Ut.version=Ce.version="3.11.3",o=1,x()&&zt();function td(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function ud(t,e){return e.set(e.t,e.p,1===t?e.e:Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function vd(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)}function wd(t,e){var r=e.s+e.c*t;e.set(e.t,e.p,~~(r+(r<0?-.5:.5))+e.u,e)}function xd(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)}function yd(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)}function zd(t,e,r){return t.style[e]=r}function Ad(t,e,r){return t.style.setProperty(e,r)}function Bd(t,e,r){return t._gsap[e]=r}function Cd(t,e,r){return t._gsap.scaleX=t._gsap.scaleY=r}function Dd(t,e,r,i,n){var a=t._gsap;a.scaleX=a.scaleY=r,a.renderTransform(n,a)}function Ed(t,e,r,i,n){var a=t._gsap;a[e]=r,a.renderTransform(n,a)}function Hd(t,e){var r=this,i=this.target,n=i.style;if(t in rr){if(this.tfm=this.tfm||{},"transform"!==t&&(~(t=hr[t]||t).indexOf(",")?t.split(",").forEach(function(t){return r.tfm[t]=mr(i,t)}):this.tfm[t]=i._gsap.x?i._gsap[t]:mr(i,t)),0<=this.props.indexOf(lr))return;i._gsap.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(fr,e,"")),t=lr}(n||e)&&this.props.push(t,e,n[t])}function Id(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))}function Jd(){var t,e,r=this.props,i=this.target,n=i.style,a=i._gsap;for(t=0;t<r.length;t+=3)r[t+1]?i[r[t]]=r[t+2]:r[t+2]?n[r[t]]=r[t+2]:n.removeProperty(r[t].replace(sr,"-$1").toLowerCase());if(this.tfm){for(e in this.tfm)a[e]=this.tfm[e];a.svg&&(a.renderTransform(),i.setAttribute("data-svg-origin",this.svgo||"")),!(t=Fe())||t.isStart||n[lr]||(Id(n),a.uncache=1)}}function Kd(t,e){var r={target:t,props:[],revert:Jd,save:Hd};return e&&e.split(",").forEach(function(t){return r.save(t)}),r}function Md(t,e){var r=Se.createElementNS?Se.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):Se.createElement(t);return r.style?r:Se.createElement(t)}function Nd(t,e,r){var i=getComputedStyle(t);return i[e]||i.getPropertyValue(e.replace(sr,"-$1").toLowerCase())||i.getPropertyValue(e)||!r&&Nd(t,dr(e)||e,1)||""}function Qd(){(function _windowExists(){return"undefined"!=typeof window})()&&window.document&&(Ae=window,Se=Ae.document,Re=Se.documentElement,Ee=Md("div")||{style:{}},Md("div"),lr=dr(lr),fr=lr+"Origin",Ee.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Ie=!!dr("perspective"),Fe=Ce.core.reverting,De=1)}function Rd(t){var e,r=Md("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,n=this.nextSibling,a=this.style.cssText;if(Re.appendChild(r),r.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=Rd}catch(t){}else this._gsapBBox&&(e=this._gsapBBox());return i&&(n?i.insertBefore(this,n):i.appendChild(this)),Re.removeChild(r),this.style.cssText=a,e}function Sd(t,e){for(var r=e.length;r--;)if(t.hasAttribute(e[r]))return t.getAttribute(e[r])}function Td(e){var r;try{r=e.getBBox()}catch(t){r=Rd.call(e,!0)}return r&&(r.width||r.height)||e.getBBox===Rd||(r=Rd.call(e,!0)),!r||r.width||r.x||r.y?r:{x:+Sd(e,["x","cx","x1"])||0,y:+Sd(e,["y","cy","y1"])||0,width:0,height:0}}function Ud(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!Td(t))}function Vd(t,e){if(e){var r=t.style;e in rr&&e!==fr&&(e=lr),r.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),r.removeProperty(e.replace(sr,"-$1").toLowerCase())):r.removeAttribute(e)}}function Wd(t,e,r,i,n,a){var s=new pe(t._pt,e,r,0,1,a?yd:xd);return(t._pt=s).b=i,s.e=n,t._props.push(r),s}function Zd(t,e,r,i){var n,a,s,o,u=parseFloat(r)||0,h=(r+"").trim().substr((u+"").length)||"px",l=Ee.style,f=or.test(e),c="svg"===t.tagName.toLowerCase(),d=(c?"client":"offset")+(f?"Width":"Height"),p="px"===i,_="%"===i;return i===h||!u||pr[i]||pr[h]?u:("px"===h||p||(u=Zd(t,e,r,"px")),o=t.getCTM&&Ud(t),!_&&"%"!==h||!rr[e]&&!~e.indexOf("adius")?(l[f?"width":"height"]=100+(p?h:i),a=~e.indexOf("adius")||"em"===i&&t.appendChild&&!c?t:t.parentNode,o&&(a=(t.ownerSVGElement||{}).parentNode),a&&a!==Se&&a.appendChild||(a=Se.body),(s=a._gsap)&&_&&s.width&&f&&s.time===Et.time&&!s.uncache?ia(u/s.width*100):(!_&&"%"!==h||_r[Nd(a,"display")]||(l.position=Nd(t,"position")),a===t&&(l.position="static"),a.appendChild(Ee),n=Ee[d],a.removeChild(Ee),l.position="absolute",f&&_&&((s=fa(a)).time=Et.time,s.width=a[d]),ia(p?n*u/100:n&&u?100/n*u:0))):(n=o?t.getBBox()[f?"width":"height"]:t[d],ia(_?u/n*100:u/100*n)))}function _d(t,e,r,i){if(!r||"none"===r){var n=dr(e,t,1),a=n&&Nd(t,n,1);a&&a!==r?(e=n,r=a):"borderColor"===e&&(r=Nd(t,"borderTopColor"))}var s,o,u,h,l,f,c,d,p,_,m,g=new pe(this._pt,t.style,e,0,1,se),v=0,y=0;if(g.b=r,g.e=i,r+="","auto"===(i+="")&&(t.style[e]=i,i=Nd(t,e)||i,t.style[e]=r),Eb(s=[r,i]),i=s[1],u=(r=s[0]).match(rt)||[],(i.match(rt)||[]).length){for(;o=rt.exec(i);)c=o[0],p=i.substring(v,o.index),l?l=(l+1)%5:"rgba("!==p.substr(-5)&&"hsla("!==p.substr(-5)||(l=1),c!==(f=u[y++]||"")&&(h=parseFloat(f)||0,m=f.substr((h+"").length),"="===c.charAt(1)&&(c=ka(h,c)+m),d=parseFloat(c),_=c.substr((d+"").length),v=rt.lastIndex-_.length,_||(_=_||j.units[e]||m,v===i.length&&(i+=_,g.e+=_)),m!==_&&(h=Zd(t,e,f,_)||0),g._pt={_next:g._pt,p:p||1===y?p:",",s:h,c:d-h,m:l&&l<4||"zIndex"===e?Math.round:0});g.c=v<i.length?i.substring(v,i.length):""}
vendor: 9,491 bytes, line 2
2else g.r="display"===e&&"none"===i?yd:xd;return nt.test(i)&&(g.e=0),this._pt=g}function be(t){var e=t.split(" "),r=e[0],i=e[1]||"50%";return"top"!==r&&"bottom"!==r&&"left"!==i&&"right"!==i||(t=r,r=i,i=t),e[0]=gr[r]||r,e[1]=gr[i]||i,e.join(" ")}function ce(t,e){if(e.tween&&e.tween._time===e.tween._dur){var r,i,n,a=e.t,s=a.style,o=e.u,u=a._gsap;if("all"===o||!0===o)s.cssText="",i=1;else for(n=(o=o.split(",")).length;-1<--n;)r=o[n],rr[r]&&(i=1,r="transformOrigin"===r?fr:lr),Vd(a,r);i&&(Vd(a,lr),u&&(u.svg&&a.removeAttribute("transform"),br(a,1),u.uncache=1,Id(s)))}}function ge(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t}function he(t){var e=Nd(t,lr);return ge(e)?yr:e.substr(7).match(et).map(ia)}function ie(t,e){var r,i,n,a,s=t._gsap||fa(t),o=t.style,u=he(t);return s.svg&&t.getAttribute("transform")?"1,0,0,1,0,0"===(u=[(n=t.transform.baseVal.consolidate().matrix).a,n.b,n.c,n.d,n.e,n.f]).join(",")?yr:u:(u!==yr||t.offsetParent||t===Re||s.svg||(n=o.display,o.display="block",(r=t.parentNode)&&t.offsetParent||(a=1,i=t.nextElementSibling,Re.appendChild(t)),u=he(t),n?o.display=n:Vd(t,"display"),a&&(i?r.insertBefore(t,i):r?r.appendChild(t):Re.removeChild(t))),e&&6<u.length?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)}function je(t,e,r,i,n,a){var s,o,u,h=t._gsap,l=n||ie(t,!0),f=h.xOrigin||0,c=h.yOrigin||0,d=h.xOffset||0,p=h.yOffset||0,_=l[0],m=l[1],g=l[2],v=l[3],y=l[4],T=l[5],b=e.split(" "),w=parseFloat(b[0])||0,x=parseFloat(b[1])||0;r?l!==yr&&(o=_*v-m*g)&&(u=w*(-m/o)+x*(_/o)-(_*T-m*y)/o,w=w*(v/o)+x*(-g/o)+(g*T-v*y)/o,x=u):(w=(s=Td(t)).x+(~b[0].indexOf("%")?w/100*s.width:w),x=s.y+(~(b[1]||b[0]).indexOf("%")?x/100*s.height:x)),i||!1!==i&&h.smooth?(y=w-f,T=x-c,h.xOffset=d+(y*_+T*g)-y,h.yOffset=p+(y*m+T*v)-T):h.xOffset=h.yOffset=0,h.xOrigin=w,h.yOrigin=x,h.smooth=!!i,h.origin=e,h.originIsAbsolute=!!r,t.style[fr]="0px 0px",a&&(Wd(a,h,"xOrigin",f,w),Wd(a,h,"yOrigin",c,x),Wd(a,h,"xOffset",d,h.xOffset),Wd(a,h,"yOffset",p,h.yOffset)),t.setAttribute("data-svg-origin",w+" "+x)}function me(t,e,r){var i=Ya(e);return ia(parseFloat(e)+parseFloat(Zd(t,"x",r+"px",i)))+i}function te(t,e,i,n,a){var s,o,u=360,h=r(a),l=parseFloat(a)*(h&&~a.indexOf("rad")?ir:1)-n,f=n+l+"deg";return h&&("short"===(s=a.split("_")[1])&&(l%=u)!==l%180&&(l+=l<0?u:-u),"cw"===s&&l<0?l=(l+36e9)%u-~~(l/u)*u:"ccw"===s&&0<l&&(l=(l-36e9)%u-~~(l/u)*u)),t._pt=o=new pe(t._pt,e,i,n,l,ud),o.e=f,o.u="deg",t._props.push(i),o}function ue(t,e){for(var r in e)t[r]=e[r];return t}function ve(t,e,r){var i,n,a,s,o,u,h,l=ue({},r._gsap),f=r.style;for(n in l.svg?(a=r.getAttribute("transform"),r.setAttribute("transform",""),f[lr]=e,i=br(r,1),Vd(r,lr),r.setAttribute("transform",a)):(a=getComputedStyle(r)[lr],f[lr]=e,i=br(r,1),f[lr]=a),rr)(a=l[n])!==(s=i[n])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(n)<0&&(o=Ya(a)!==(h=Ya(s))?Zd(r,n,a,h):parseFloat(a),u=parseFloat(s),t._pt=new pe(t._pt,i,n,o,u-o,td),t._pt.u=h||0,t._props.push(n));ue(i,l)}var Ae,Se,Re,De,Ee,ze,Fe,Ie,Be=Ft.Power0,Le=Ft.Power1,Ye=Ft.Power2,Ne=Ft.Power3,qe=Ft.Power4,Ue=Ft.Linear,Ve=Ft.Quad,We=Ft.Cubic,Xe=Ft.Quart,He=Ft.Quint,Qe=Ft.Strong,Ke=Ft.Elastic,Ze=Ft.Back,Ge=Ft.SteppedEase,Je=Ft.Bounce,$e=Ft.Sine,tr=Ft.Expo,er=Ft.Circ,rr={},ir=180/Math.PI,nr=Math.PI/180,ar=Math.atan2,sr=/([A-Z])/g,or=/(left|right|width|margin|padding|x)/i,ur=/[\s,\(]\S/,hr={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},lr="transform",fr=lr+"Origin",cr="O,Moz,ms,Ms,Webkit".split(","),dr=function _checkPropPrefix(t,e,r){var i=(e||Ee).style,n=5;if(t in i&&!r)return t;for(t=t.charAt(0).toUpperCase()+t.substr(1);n--&&!(cr[n]+t in i););return n<0?null:(3===n?"ms":0<=n?cr[n]:"")+t},pr={deg:1,rad:1,turn:1},_r={grid:1,flex:1},mr=function _get(t,e,r,i){var n;return De||Qd(),e in hr&&"transform"!==e&&~(e=hr[e]).indexOf(",")&&(e=e.split(",")[0]),rr[e]&&"transform"!==e?(n=br(t,i),n="transformOrigin"!==e?n[e]:n.svg?n.origin:wr(Nd(t,fr))+" "+n.zOrigin+"px"):(n=t.style[e])&&"auto"!==n&&!i&&!~(n+"").indexOf("calc(")||(n=vr[e]&&vr[e](t,e,r)||Nd(t,e)||ga(t,e)||("opacity"===e?1:0)),r&&!~(n+"").trim().indexOf(" ")?Zd(t,e,n,r)+r:n},gr={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},vr={clearProps:function clearProps(t,e,r,i,n){if("isFromStart"!==n.data){var a=t._pt=new pe(t._pt,e,r,0,0,ce);return a.u=i,a.pr=-10,a.tween=n,t._props.push(r),1}}},yr=[1,0,0,1,0,0],Tr={},br=function _parseTransform(t,e){var r=t._gsap||new jt(t);if("x"in r&&!e&&!r.uncache)return r;var i,n,a,s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w,x,k,M,O,P,C,A,S,R,D,E,z,F=t.style,I=r.scaleX<0,B="deg",L=getComputedStyle(t),Y=Nd(t,fr)||"0";return i=n=a=u=h=l=f=c=d=0,s=o=1,r.svg=!(!t.getCTM||!Ud(t)),L.translate&&("none"===L.translate&&"none"===L.scale&&"none"===L.rotate||(F[lr]=("none"!==L.translate?"translate3d("+(L.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==L.rotate?"rotate("+L.rotate+") ":"")+("none"!==L.scale?"scale("+L.scale.split(" ").join(",")+") ":"")+("none"!==L[lr]?L[lr]:"")),F.scale=F.rotate=F.translate="none"),m=ie(t,r.svg),r.svg&&(O=r.uncache?(P=t.getBBox(),Y=r.xOrigin-P.x+"px "+(r.yOrigin-P.y)+"px",""):!e&&t.getAttribute("data-svg-origin"),je(t,O||Y,!!O||r.originIsAbsolute,!1!==r.smooth,m)),p=r.xOrigin||0,_=r.yOrigin||0,m!==yr&&(T=m[0],b=m[1],w=m[2],x=m[3],i=k=m[4],n=M=m[5],6===m.length?(s=Math.sqrt(T*T+b*b),o=Math.sqrt(x*x+w*w),u=T||b?ar(b,T)*ir:0,(f=w||x?ar(w,x)*ir+u:0)&&(o*=Math.abs(Math.cos(f*nr))),r.svg&&(i-=p-(p*T+_*w),n-=_-(p*b+_*x))):(z=m[6],D=m[7],A=m[8],S=m[9],R=m[10],E=m[11],i=m[12],n=m[13],a=m[14],h=(g=ar(z,R))*ir,g&&(O=k*(v=Math.cos(-g))+A*(y=Math.sin(-g)),P=M*v+S*y,C=z*v+R*y,A=k*-y+A*v,S=M*-y+S*v,R=z*-y+R*v,E=D*-y+E*v,k=O,M=P,z=C),l=(g=ar(-w,R))*ir,g&&(v=Math.cos(-g),E=x*(y=Math.sin(-g))+E*v,T=O=T*v-A*y,b=P=b*v-S*y,w=C=w*v-R*y),u=(g=ar(b,T))*ir,g&&(O=T*(v=Math.cos(g))+b*(y=Math.sin(g)),P=k*v+M*y,b=b*v-T*y,M=M*v-k*y,T=O,k=P),h&&359.9<Math.abs(h)+Math.abs(u)&&(h=u=0,l=180-l),s=ia(Math.sqrt(T*T+b*b+w*w)),o=ia(Math.sqrt(M*M+z*z)),g=ar(k,M),f=2e-4<Math.abs(g)?g*ir:0,d=E?1/(E<0?-E:E):0),r.svg&&(O=t.getAttribute("transform"),r.forceCSS=t.setAttribute("transform","")||!ge(Nd(t,lr)),O&&t.setAttribute("transform",O))),90<Math.abs(f)&&Math.abs(f)<270&&(I?(s*=-1,f+=u<=0?180:-180,u+=u<=0?180:-180):(o*=-1,f+=f<=0?180:-180)),e=e||r.uncache,r.x=i-((r.xPercent=i&&(!e&&r.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-i)?-50:0)))?t.offsetWidth*r.xPercent/100:0)+"px",r.y=n-((r.yPercent=n&&(!e&&r.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-n)?-50:0)))?t.offsetHeight*r.yPercent/100:0)+"px",r.z=a+"px",r.scaleX=ia(s),r.scaleY=ia(o),r.rotation=ia(u)+B,r.rotationX=ia(h)+B,r.rotationY=ia(l)+B,r.skewX=f+B,r.skewY=c+B,r.transformPerspective=d+"px",(r.zOrigin=parseFloat(Y.split(" ")[2])||0)&&(F[fr]=wr(Y)),r.xOffset=r.yOffset=0,r.force3D=j.force3D,r.renderTransform=r.svg?Cr:Ie?Pr:xr,r.uncache=0,r},wr=function _firstTwoOnly(t){return(t=t.split(" "))[0]+" "+t[1]},xr=function _renderNon3DTransforms(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Pr(t,e)},kr="0deg",Mr="0px",Or=") ",Pr=function _renderCSSTransforms(t,e){var r=e||this,i=r.xPercent,n=r.yPercent,a=r.x,s=r.y,o=r.z,u=r.rotation,h=r.rotationY,l=r.rotationX,f=r.skewX,c=r.skewY,d=r.scaleX,p=r.scaleY,_=r.transformPerspective,m=r.force3D,g=r.target,v=r.zOrigin,y="",T="auto"===m&&t&&1!==t||!0===m;if(v&&(l!==kr||h!==kr)){var b,w=parseFloat(h)*nr,x=Math.sin(w),k=Math.cos(w);w=parseFloat(l)*nr,b=Math.cos(w),a=me(g,a,x*b*-v),s=me(g,s,-Math.sin(w)*-v),o=me(g,o,k*b*-v+v)}_!==Mr&&(y+="perspective("+_+Or),(i||n)&&(y+="translate("+i+"%, "+n+"%) "),!T&&a===Mr&&s===Mr&&o===Mr||(y+=o!==Mr||T?"translate3d("+a+", "+s+", "+o+") ":"translate("+a+", "+s+Or),u!==kr&&(y+="rotate("+u+Or),h!==kr&&(y+="rotateY("+h+Or),l!==kr&&(y+="rotateX("+l+Or),f===kr&&c===kr||(y+="skew("+f+", "+c+Or),1===d&&1===p||(y+="scale("+d+", "+p+Or),g.style[lr]=y||"translate(0, 0)"},Cr=function _renderSVGTransforms(t,e){var r,i,n,a,s,o=e||this,u=o.xPercent,h=o.yPercent,l=o.x,f=o.y,c=o.rotation,d=o.skewX,p=o.skewY,_=o.scaleX,m=o.scaleY,g=o.target,v=o.xOrigin,y=o.yOrigin,T=o.xOffset,b=o.yOffset,w=o.forceCSS,x=parseFloat(l),k=parseFloat(f);c=parseFloat(c),d=parseFloat(d),(p=parseFloat(p))&&(d+=p=parseFloat(p),c+=p),c||d?(c*=nr,d*=nr,r=Math.cos(c)*_,i=Math.sin(c)*_,n=Math.sin(c-d)*-m,a=Math.cos(c-d)*m,d&&(p*=nr,s=Math.tan(d-p),n*=s=Math.sqrt(1+s*s),a*=s,p&&(s=Math.tan(p),r*=s=Math.sqrt(1+s*s),i*=s)),r=ia(r),i=ia(i),n=ia(n),a=ia(a)):(r=_,a=m,i=n=0),(x&&!~(l+"").indexOf("px")||k&&!~(f+"").indexOf("px"))&&(x=Zd(g,"x",l,"px"),k=Zd(g,"y",f,"px")),(v||y||T||b)&&(x=ia(x+v-(v*r+y*n)+T),k=ia(k+y-(v*i+y*a)+b)),(u||h)&&(s=g.getBBox(),x=ia(x+u/100*s.width),k=ia(k+h/100*s.height)),s="matrix("+r+","+i+","+n+","+a+","+x+","+k+")",g.setAttribute("transform",s),w&&(g.style[lr]=s)};ha("padding,margin,Width,Radius",function(e,r){var t="Right",i="Bottom",n="Left",o=(r<3?["Top",t,i,n]:["Top"+n,"Top"+t,i+t,i+n]).map(function(t){return r<2?e+t:"border"+t+e});vr[1<r?"border"+e:e]=function(e,t,r,i,n){var a,s;if(arguments.length<4)return a=o.map(function(t){return mr(e,t,r)}),5===(s=a.join(" ")).split(a[0]).length?a[0]:s;a=(i+"").split(" "),s={},o.forEach(function(t,e){return s[t]=a[e]=a[e]||a[(e-1)/2|0]}),e.init(t,s,n)}});var Ar,Sr,Rr,Dr={name:"css",register:Qd,targetTest:function targetTest(t){return t.style&&t.nodeType},init:function init(t,e,i,n,a){var s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w=this._props,x=t.style,k=i.vars.startAt;for(c in De||Qd(),this.styles=this.styles||Kd(t),b=this.styles.props,this.tween=i,e)if("autoRound"!==c&&(o=e[c],!pt[c]||
vendor: 6,003 bytes, lines 2-5
2!_b(c,e,i,n,t,a)))if(l=typeof o,f=vr[c],"function"===l&&(l=typeof(o=o.call(i,n,t,a))),"string"===l&&~o.indexOf("random(")&&(o=ob(o)),f)f(this,t,c,o,i)&&(T=1);else if("--"===c.substr(0,2))s=(getComputedStyle(t).getPropertyValue(c)+"").trim(),o+="",Rt.lastIndex=0,Rt.test(s)||(d=Ya(s),p=Ya(o)),p?d!==p&&(s=Zd(t,c,s,p)+p):d&&(o+=d),this.add(x,"setProperty",s,o,n,a,0,0,c),w.push(c),b.push(c,0,x[c]);else if("undefined"!==l){if(k&&c in k?(s="function"==typeof k[c]?k[c].call(i,n,t,a):k[c],r(s)&&~s.indexOf("random(")&&(s=ob(s)),Ya(s+"")||(s+=j.units[c]||Ya(mr(t,c))||""),"="===(s+"").charAt(1)&&(s=mr(t,c))):s=mr(t,c),h=parseFloat(s),(_="string"===l&&"="===o.charAt(1)&&o.substr(0,2))&&(o=o.substr(2)),u=parseFloat(o),c in hr&&("autoAlpha"===c&&(1===h&&"hidden"===mr(t,"visibility")&&u&&(h=0),b.push("visibility",0,x.visibility),Wd(this,x,"visibility",h?"inherit":"hidden",u?"inherit":"hidden",!u)),"scale"!==c&&"transform"!==c&&~(c=hr[c]).indexOf(",")&&(c=c.split(",")[0])),m=c in rr)if(this.styles.save(c),g||((v=t._gsap).renderTransform&&!e.parseTransform||br(t,e.parseTransform),y=!1!==e.smoothOrigin&&v.smooth,(g=this._pt=new pe(this._pt,x,lr,0,1,v.renderTransform,v,0,-1)).dep=1),"scale"===c)this._pt=new pe(this._pt,v,"scaleY",h,(_?ka(h,_+u):u)-h||0,td),this._pt.u=0,w.push("scaleY",c),c+="X";else{if("transformOrigin"===c){b.push(fr,0,x[fr]),o=be(o),v.svg?je(t,o,0,y,0,this):((p=parseFloat(o.split(" ")[2])||0)!==v.zOrigin&&Wd(this,v,"zOrigin",v.zOrigin,p),Wd(this,x,c,wr(s),wr(o)));continue}if("svgOrigin"===c){je(t,o,1,y,0,this);continue}if(c in Tr){te(this,v,c,h,_?ka(h,_+o):o);continue}if("smoothOrigin"===c){Wd(this,v,"smooth",v.smooth,o);continue}if("force3D"===c){v[c]=o;continue}if("transform"===c){ve(this,o,t);continue}}else c in x||(c=dr(c)||c);if(m||(u||0===u)&&(h||0===h)&&!ur.test(o)&&c in x)u=u||0,(d=(s+"").substr((h+"").length))!==(p=Ya(o)||(c in j.units?j.units[c]:d))&&(h=Zd(t,c,s,p)),this._pt=new pe(this._pt,m?v:x,c,h,(_?ka(h,_+u):u)-h,m||"px"!==p&&"zIndex"!==c||!1===e.autoRound?td:wd),this._pt.u=p||0,d!==p&&"%"!==p&&(this._pt.b=s,this._pt.r=vd);else if(c in x)_d.call(this,t,c,s,_?_+o:o);else{if(!(c in t)){Q(c,o);continue}this.add(t,c,s||t[c],_?_+o:o,n,a)}m||(c in x?b.push(c,0,x[c]):b.push(c,1,s||t[c])),w.push(c)}T&&de(this)},render:function render(t,e){if(e.tween._time||!Fe())for(var r=e._pt;r;)r.r(t,r.d),r=r._next;else e.styles.revert()},get:mr,aliases:hr,getSetter:function getSetter(t,e,r){var i=hr[e];return i&&i.indexOf(",")<0&&(e=i),e in rr&&e!==fr&&(t._gsap.x||mr(t,"x"))?r&&ze===r?"scale"===e?Cd:Bd:(ze=r||{})&&("scale"===e?Dd:Ed):t.style&&!u(t.style[e])?zd:~e.indexOf("-")?Ad:re(t,e)},core:{_removeProperty:Vd,_getMatrix:ie}};Ce.utils.checkPrefix=dr,Ce.core.getStyleSaver=Kd,Rr=ha((Ar="x,y,z,scale,scaleX,scaleY,xPercent,yPercent")+","+(Sr="rotation,rotationX,rotationY,skewX,skewY")+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",function(t){rr[t]=1}),ha(Sr,function(t){j.units[t]="deg",Tr[t]=1}),hr[Rr[13]]=Ar+","+Sr,ha("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",function(t){var e=t.split(":");hr[e[1]]=Rr[e[0]]}),ha("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(t){j.units[t]="px"}),Ce.registerPlugin(Dr);var Er=Ce.registerPlugin(Dr)||Ce,zr=Er.core.Tween;e.Back=Ze,e.Bounce=Je,e.CSSPlugin=Dr,e.Circ=er,e.Cubic=We,e.Elastic=Ke,e.Expo=tr,e.Linear=Ue,e.Power0=Be,e.Power1=Le,e.Power2=Ye,e.Power3=Ne,e.Power4=qe,e.Quad=Ve,e.Quart=Xe,e.Quint=He,e.Sine=$e,e.SteppedEase=Ge,e.Strong=Qe,e.TimelineLite=Ut,e.TimelineMax=Ut,e.TweenLite=Gt,e.TweenMax=zr,e.default=Er,e.gsap=Er;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}}); 3 4 5!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function q(){return we||"undefined"!=typeof window&&(we=window.gsap)&&we.registerPlugin&&we}function y(e,t){return~Fe.indexOf(e)&&Fe[Fe.indexOf(e)+1][t]}function z(e){return!!~t.indexOf(e)}function A(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function B(e,t,r,n){return e.removeEventListener(t,r,!!n)}function E(){return ze&&ze.isPressed||Le.cache++}function F(r,n){function Sc(e){if(e||0===e){o&&(Ae.history.scrollRestoration="manual");var t=ze&&ze.isPressed;e=Sc.v=Math.round(e)||(ze&&ze.iOS?1:0),r(e),Sc.cacheID=Le.cache,t&&i("ss",e)}else(n||Le.cache!==Sc.cacheID||i("ref"))&&(Sc.cacheID=Le.cache,Sc.v=r());return Sc.v+Sc.offset}return Sc.offset=0,r&&Sc}function I(e){return we.utils.toArray(e)[0]||("string"==typeof e&&!1!==we.config().nullTargetWarn?console.warn("Element not found:",e):null)}function J(t,e){var r=e.s,n=e.sc;z(t)&&(t=Ee.scrollingElement||Me);var o=Le.indexOf(t),i=n===Ne.sc?1:2;~o||(o=Le.push(t)-1),Le[o+i]||t.addEventListener("scroll",E);var a=Le[o+i],s=a||(Le[o+i]=F(y(t,r),!0)||(z(t)?n:F(function(e){return arguments.length?t[r]=e:t[r]})));return s.target=t,a||(s.smooth="smooth"===we.getProperty(t,"scrollBehavior")),s}function K(e,t,o){function od(e,t){var r=He();t||n<r-s?(a=i,i=e,l=s,s=r):o?i+=e:i=a+(e-a)/(r-l)*(s-l)}var i=e,a=e,s=He(),l=s,n=t||50,c=Math.max(500,3*n);return{update:od,reset:function reset(){a=i=o?0:i,l=s=0},getVelocity:function getVelocity(e){var t=l,r=a,n=He();return!e&&0!==e||e===i||od(e),s===l||c<n-l?0:(i+(o?r:-r))/((o?n:s)-t)*1e3}}}function L(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e}function M(e){var t=Math.max.apply(Math,e),r=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(r)?t:r}function N(){(Ie=we.core.globals().ScrollTrigger)&&Ie.core&&function _integrate(){var e=Ie.core,r=e.bridge||{},t=e._scrollers,n=e._proxies;
vendor: 20,422 bytes, line 5
5t.push.apply(t,Le),n.push.apply(n,Fe),Le=t,Fe=n,i=function _bridge(e,t){return r[e](t)}}()}function O(e){return(we=e||q())&&"undefined"!=typeof document&&document.body&&(Ae=window,Me=(Ee=document).documentElement,Ce=Ee.body,t=[Ae,Ee,Me,Ce],we.utils.clamp,De="onpointerenter"in Ce?"pointer":"mouse",Oe=k.isTouch=Ae.matchMedia&&Ae.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Ae||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints?2:0,Be=k.eventTypes=("ontouchstart"in Me?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in Me?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return o=0},500),N(),ke=1),ke}var we,ke,Ae,Ee,Me,Ce,Oe,De,Ie,t,ze,Be,o=1,Re=[],Le=[],Fe=[],He=Date.now,i=function _bridge(e,t){return t},r="scrollLeft",n="scrollTop",Je={s:r,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:F(function(e){return arguments.length?Ae.scrollTo(e,Ne.sc()):Ae.pageXOffset||Ee[r]||Me[r]||Ce[r]||0})},Ne={s:n,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Je,sc:F(function(e){return arguments.length?Ae.scrollTo(Je.sc(),e):Ae.pageYOffset||Ee[n]||Me[n]||Ce[n]||0})};Je.op=Ne,Le.cache=0;var k=(Observer.prototype.init=function init(e){ke||O(we)||console.warn("Please gsap.registerPlugin(Observer)"),Ie||N();var o=e.tolerance,a=e.dragMinimum,t=e.type,n=e.target,r=e.lineHeight,i=e.debounce,s=e.preventDefault,l=e.onStop,c=e.onStopDelay,u=e.ignore,f=e.wheelSpeed,d=e.event,p=e.onDragStart,g=e.onDragEnd,h=e.onDrag,v=e.onPress,b=e.onRelease,m=e.onRight,y=e.onLeft,x=e.onUp,S=e.onDown,w=e.onChangeX,_=e.onChangeY,T=e.onChange,k=e.onToggleX,P=e.onToggleY,C=e.onHover,D=e.onHoverEnd,R=e.onMove,X=e.ignoreCheck,F=e.isNormalizer,Y=e.onGestureStart,H=e.onGestureEnd,V=e.onWheel,W=e.onEnable,j=e.onDisable,q=e.onClick,U=e.scrollSpeed,G=e.capture,$=e.allowClicks,Q=e.lockAxis,Z=e.onLockAxis;function Pe(){return ye=He()}function Qe(e,t){return(se.event=e)&&u&&~u.indexOf(e.target)||t&&ge&&"touch"!==e.pointerType||X&&X(e,t)}function Se(){var e=se.deltaX=M(be),t=se.deltaY=M(me),r=Math.abs(e)>=o,n=Math.abs(t)>=o;T&&(r||n)&&T(se,e,t,be,me),r&&(m&&0<se.deltaX&&m(se),y&&se.deltaX<0&&y(se),w&&w(se),k&&se.deltaX<0!=le<0&&k(se),le=se.deltaX,be[0]=be[1]=be[2]=0),n&&(S&&0<se.deltaY&&S(se),x&&se.deltaY<0&&x(se),_&&_(se),P&&se.deltaY<0!=ce<0&&P(se),ce=se.deltaY,me[0]=me[1]=me[2]=0),(ne||re)&&(R&&R(se),re&&(h(se),re=!1),ne=!1),ie&&!(ie=!1)&&Z&&Z(se),oe&&(V(se),oe=!1),ee=0}function Te(e,t,r){be[r]+=e,me[r]+=t,se._vx.update(e),se._vy.update(t),i?ee=ee||requestAnimationFrame(Se):Se()}function Ue(e,t){Q&&!ae&&(se.axis=ae=Math.abs(e)>Math.abs(t)?"x":"y",ie=!0),"y"!==ae&&(be[2]+=e,se._vx.update(e,!0)),"x"!==ae&&(me[2]+=t,se._vy.update(t,!0)),i?ee=ee||requestAnimationFrame(Se):Se()}function Ve(e){if(!Qe(e,1)){var t=(e=L(e,s)).clientX,r=e.clientY,n=t-se.x,o=r-se.y,i=se.isDragging;se.x=t,se.y=r,(i||Math.abs(se.startX-t)>=a||Math.abs(se.startY-r)>=a)&&(h&&(re=!0),i||(se.isDragging=!0),Ue(n,o),i||p&&p(se))}}function Xe(t){if(!Qe(t,1)){B(F?n:ve,Be[1],Ve,!0);var e=se.isDragging&&(3<Math.abs(se.x-se.startX)||3<Math.abs(se.y-se.startY)),r=L(t);e||(se._vx.reset(),se._vy.reset(),s&&$&&we.delayedCall(.08,function(){if(300<He()-ye&&!t.defaultPrevented)if(t.target.click)t.target.click();else if(ve.createEvent){var e=ve.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,Ae,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(e)}})),se.isDragging=se.isGesturing=se.isPressed=!1,l&&!F&&te.restart(!0),g&&e&&g(se),b&&b(se,e)}}function Ye(e){return e.touches&&1<e.touches.length&&(se.isGesturing=!0)&&Y(e,se.isDragging)}function Ze(){return(se.isGesturing=!1)||H(se)}function $e(e){if(!Qe(e)){var t=ue(),r=fe();Te((t-de)*U,(r-pe)*U,1),de=t,pe=r,l&&te.restart(!0)}}function _e(e){if(!Qe(e)){e=L(e,s),V&&(oe=!0);var t=(1===e.deltaMode?r:2===e.deltaMode?Ae.innerHeight:1)*f;Te(e.deltaX*t,e.deltaY*t,0),l&&!F&&te.restart(!0)}}function af(e){if(!Qe(e)){var t=e.clientX,r=e.clientY,n=t-se.x,o=r-se.y;se.x=t,se.y=r,ne=!0,(n||o)&&Ue(n,o)}}function bf(e){se.event=e,C(se)}function cf(e){se.event=e,D(se)}function df(e){return Qe(e)||L(e,s)&&q(se)}this.target=n=I(n)||Me,this.vars=e,u=u&&we.utils.toArray(u),o=o||1e-9,a=a||0,f=f||1,U=U||1,t=t||"wheel,touch,pointer",i=!1!==i,r=r||parseFloat(Ae.getComputedStyle(Ce).lineHeight)||22;var ee,te,re,ne,oe,ie,ae,se=this,le=0,ce=0,ue=J(n,Je),fe=J(n,Ne),de=ue(),pe=fe(),ge=~t.indexOf("touch")&&!~t.indexOf("pointer")&&"pointerdown"===Be[0],he=z(n),ve=n.ownerDocument||Ee,be=[0,0,0],me=[0,0,0],ye=0,xe=se.onPress=function(e){Qe(e,1)||(se.axis=ae=null,te.pause(),se.isPressed=!0,e=L(e),le=ce=0,se.startX=se.x=e.clientX,se.startY=se.y=e.clientY,se._vx.reset(),se._vy.reset(),A(F?n:ve,Be[1],Ve,s,!0),se.deltaX=se.deltaY=0,v&&v(se))};te=se._dc=we.delayedCall(c||.25,function onStopFunc(){se._vx.reset(),se._vy.reset(),te.pause(),l&&l(se)}).pause(),se.deltaX=se.deltaY=0,se._vx=K(0,50,!0),se._vy=K(0,50,!0),se.scrollX=ue,se.scrollY=fe,se.isDragging=se.isGesturing=se.isPressed=!1,se.enable=function(e){return se.isEnabled||(A(he?ve:n,"scroll",E),0<=t.indexOf("scroll")&&A(he?ve:n,"scroll",$e,s,G),0<=t.indexOf("wheel")&&A(n,"wheel",_e,s,G),(0<=t.indexOf("touch")&&Oe||0<=t.indexOf("pointer"))&&(A(n,Be[0],xe,s,G),A(ve,Be[2],Xe),A(ve,Be[3],Xe),$&&A(n,"click",Pe,!1,!0),q&&A(n,"click",df),Y&&A(ve,"gesturestart",Ye),H&&A(ve,"gestureend",Ze),C&&A(n,De+"enter",bf),D&&A(n,De+"leave",cf),R&&A(n,De+"move",af)),se.isEnabled=!0,e&&e.type&&xe(e),W&&W(se)),se},se.disable=function(){se.isEnabled&&(Re.filter(function(e){return e!==se&&z(e.target)}).length||B(he?ve:n,"scroll",E),se.isPressed&&(se._vx.reset(),se._vy.reset(),B(F?n:ve,Be[1],Ve,!0)),B(he?ve:n,"scroll",$e,G),B(n,"wheel",_e,G),B(n,Be[0],xe,G),B(ve,Be[2],Xe),B(ve,Be[3],Xe),B(n,"click",Pe,!0),B(n,"click",df),B(ve,"gesturestart",Ye),B(ve,"gestureend",Ze),B(n,De+"enter",bf),B(n,De+"leave",cf),B(n,De+"move",af),se.isEnabled=se.isPressed=se.isDragging=!1,j&&j(se))},se.kill=function(){se.disable();var e=Re.indexOf(se);0<=e&&Re.splice(e,1),ze===se&&(ze=0)},Re.push(se),F&&z(n)&&(ze=se),se.enable(d)},function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}(Observer,[{key:"velocityX",get:function get(){return this._vx.getVelocity()}},{key:"velocityY",get:function get(){return this._vy.getVelocity()}}]),Observer);function Observer(e){this.init(e)}k.version="3.11.3",k.create=function(e){return new k(e)},k.register=O,k.getAll=function(){return Re.slice()},k.getById=function(t){return Re.filter(function(e){return e.vars.id===t})[0]},q()&&we.registerPlugin(k);function xa(){return ot=1}function ya(){return ot=0}function za(e){return e}function Aa(e){return Math.round(1e5*e)/1e5||0}function Ba(){return"undefined"!=typeof window}function Ca(){return Ke||Ba()&&(Ke=window.gsap)&&Ke.registerPlugin&&Ke}function Da(e){return!!~s.indexOf(e)}function Ea(e){return y(e,"getBoundingClientRect")||(Da(e)?function(){return Xt.width=We.innerWidth,Xt.height=We.innerHeight,Xt}:function(){return Mt(e)})}function Ha(e,t){var r=t.s,n=t.d2,o=t.d,i=t.a;return(r="scroll"+n)&&(i=y(e,r))?i()-Ea(e)()[o]:Da(e)?(qe[r]||Ge[r])-(We["inner"+n]||qe["client"+n]||Ge["client"+n]):e[r]-e["offset"+n]}function Ia(e,t){for(var r=0;r<p.length;r+=3)t&&!~t.indexOf(p[r+1])||e(p[r],p[r+1],p[r+2])}function Ja(e){return"string"==typeof e}function Ka(e){return"function"==typeof e}function La(e){return"number"==typeof e}function Ma(e){return"object"==typeof e}function Na(e,t,r){return e&&e.progress(t?0:1)&&r&&e.pause()}function Oa(e,t){if(e.enabled){var r=t(e);r&&r.totalTime&&(e.callbackAnimation=r)}}function db(e){return We.getComputedStyle(e)}function fb(e,t){for(var r in t)r in e||(e[r]=t[r]);return e}function hb(e,t){var r=t.d2;return e["offset"+r]||e["client"+r]||0}function ib(e){var t,r=[],n=e.labels,o=e.duration();for(t in n)r.push(n[t]/o);return r}function kb(o){var i=Ke.utils.snap(o),a=Array.isArray(o)&&o.slice(0).sort(function(e,t){return e-t});return a?function(e,t,r){var n;if(void 0===r&&(r=.001),!t)return i(e);if(0<t){for(e-=r,n=0;n<a.length;n++)if(a[n]>=e)return a[n];return a[n-1]}for(n=a.length,e+=r;n--;)if(a[n]<=e)return a[n];return a[0]}:function(e,t,r){void 0===r&&(r=.001);var n=i(e);return!t||Math.abs(n-e)<r||n-e<0==t<0?n:i(t<0?e-o:e+o)}}function mb(t,r,e,n){return e.split(",").forEach(function(e){return t(r,e,n)})}function nb(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function ob(e,t,r,n){return e.removeEventListener(t,r,!!n)}function pb(e,t,r){return r&&r.wheelHandler&&e(t,"wheel",r)}function tb(e,t){if(Ja(e)){var r=e.indexOf("="),n=~r?(e.charAt(r-1)+1)*parseFloat(e.substr(r+1)):0;~r&&(e.indexOf("%")>r&&(n*=t/100),e=e.substr(0,r-1)),e=n+(e in D?D[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e}function ub(e,t,r,n,o,i,a,s){var l=o.startColor,c=o.endColor,u=o.fontSize,f=o.indent,d=o.fontWeight,p=je.createElement("div"),g=Da(r)||"fixed"===y(r,"pinType"),h=-1!==e.indexOf("scroller"),v=g?Ge:r,b=-1!==e.indexOf("start"),m=b?l:c,x="border-color:"+m+";font-size:"+u+";color:"+m+";font-weight:"+d+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return x+="position:"+((h||s)&&g?"fixed;":"absolute;"),!h&&!s&&g||(x+=(n===Ne?_:T)+":"+(i+parseFloat(f))+"px;"),a&&(x+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),p._isStart=b,p.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),p.style.cssText=x,p.innerText=t||0===t?e+"-"+t:e,v.children[0]?v.insertBefore(p,v.children[0]):v.appendChild(p),p._offset=p["offset"+n.op.d2],R(p,0,n,b),p}function zb(){return 34<gt()-ht&&(S=S||requestAnimationFrame(j))}function Ab(){h&&h.isPressed&&!(h.startX>Ge.clientWidth)||(Le.cache++,h?S=S||requestAnimationFrame(j):j(),ht||H("scrollStart"),ht=gt())}function Bb(){m=We.innerWidth,b=We.innerHeight}function Cb(){Le.cache++,nt||g||je.fullscreenElement||je.webkitFullscreenElement||v&&m===We.innerWidth&&!(Math.abs(We.innerHeight-b)>.25*We.innerHeight)||l.restart(!0)}function Fb(){return ob(Z,"scrollEnd",Fb)||zt(!0)}function Ib(e){for(var t=0;t<V.length;t+=5)(!e||V[t+4]&&V[t+4].query===e)&&(V[t].style.cssText=V[t+1],V[t].getBBox&&V[t].setAttribute("transform",V[t+2]||""),V[t+3].uncache=1)}function Jb(e,t){var r;for(it=0;it<Ot.length;it++)!(r=Ot[it])||t&&r._ctx!==t||(e?r.kill(1):r.revert(!0,!0));t&&Ib(t),t||H("revert")}function Kb(e,t){Le.cache++,!t&&ut||Le.forEach(function(e){return Ka(e)&&e.cacheID++&&(e.rec=0)}),Ja(e)&&(We.history.scrollRestoration=x=e)}function Xb(e,t,r,n){if(!e._gsap.swappedIn){for(var o,i=U.length,a=t.style,s=e.style;i--;)a[o=U[i]]=r[o];a.position="absolute"===r.position?"absolute":"relative","inline"===r.display&&(a.display="inline-block"),s[T]=s[_]="auto",a.flexBasis=r.flexBasis||"auto",a.overflow="visible",a.boxSizing="border-box",a[mt]=hb(e,Je)+Et,a[yt]=hb(e,Ne)+Et,a[Tt]=s[kt]=s.top=s.left="0",Rt(n),s[mt]=s.maxWidth=r[mt],s[yt]=s.maxHeight=r[yt],s[Tt]=r[Tt],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}}function $b(e){for(var t=G.length,r=e.style,n=[],o=0;o<t;o++)n.push(G[o],r[G[o]]);return n.t=e,n}function bc(e,t,r,n,o,i,a,s,l,c,u,f,d){Ka(e)&&(e=e(s)),Ja(e)&&"max"===e.substr(0,3)&&(e=f+("="===e.charAt(4)?tb("0"+e.substr(3),r):0));var p,g,h,v=d?d.time():0;if(d&&d.seek(0),La(e))a&&R(a,r,n,!0);else{Ka(t)&&(t=t(s));var b,m,y,x,S=(e||"0").split(" ");h=I(t)||Ge,(b=Mt(h)||{})&&(b.left||b.top)||"none"!==db(h).display||(x=h.style.display,h.style.display="block",b=Mt(h),x?h.style.display=x:h.style.removeProperty("display")),m=tb(S[0],b[n.d]),y=tb(S[1]||"0",r),e=b[n.p]-l[n.p]-c+m+o-y,a&&R(a,y,n,r-y<20||a._isStart&&20<y),r-=r-y}if(i){var w=e+r,_=i._isStart;p="scroll"+n.d2,R(i,w,n,_&&20<w||!_&&(u?Math.max(Ge[p],qe[p]):i.parentNode[p])<=w+1),u&&(l=Mt(a),u&&(i.style[n.op.p]=l[n.op.p]-n.op.m-i._offset+Et))}return d&&h&&(p=Mt(h),d.seek(f),g=Mt(h),d._caScrollDist=p[n.p]-g[n.p],e=e/d._caScrollDist*f),d&&d.seek(v),d?e:Math.round(e)}function dc(e,t,r,n){if(e.parentNode!==t){var o,i,a=e.style;if(t===Ge){for(o in e._stOrig=a.cssText,i=db(e))+o||Q.test(o)||!i[o]||"string"!=typeof a[o]||"0"===o||(a[o]=i[o]);a.top=r,a.left=n}else a.cssText=e._stOrig;Ke.core.getCache(e).uncache=1,t.appendChild(e)}}function ec(l,e){function Sj(e,t,r,n,o){var i=Sj.tween,a=t.onComplete,s={};return r=r||f(),o=n&&o||0,n=n||e-r,i&&i.kill(),c=Math.round(r),t[d]=e,(t.modifiers=s)[d]=function(e){return(e=Math.round(f()))!==c&&e!==u&&3<Math.abs(e-c)&&3<Math.abs(e-u)?(i.kill(),Sj.tween=0):e=r+n*i.ratio+o*i.ratio*i.ratio,u=c,c=Math.round(e)},t.onComplete=function(){Sj.tween=0,a&&a.call(i)},i=Sj.tween=Ke.to(l,t)}var c,u,f=J(l,e),d="_scroll"+e.p2;return(l[d]=f).wheelHandler=function(){return Sj.tween&&Sj.tween.kill()&&(Sj.tween=0)},nb(l,"wheel",f.wheelHandler),Sj}var Ke,a,We,je,qe,Ge,s,l,et,tt,rt,c,nt,ot,u,it,f,d,p,at,st,g,h,v,b,m,P,lt,x,ct,S,ut,ft,dt,pt=1,gt=Date.now,w=gt(),ht=0,vt=0,bt=Math.abs,_="right",T="bottom",mt="width",yt="height",xt="Right",St="Left",wt="Top",_t="Bottom",Tt="padding",kt="margin",At="Width",C="Height",Et="px",Mt=function _getBounds(e,t){var r=t&&"matrix(1, 0, 0, 1, 0, 0)"!==db(e)[u]&&Ke.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),n=e.getBoundingClientRect();return r&&r.progress(0).kill(),n},Pt={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},Ct={toggleActions:"play",anticipatePin:0},D={top:0,left:0,center:.5,bottom:1,right:1},R=function _positionMarker(e,t,r,n){var o={display:"block"},i=r[n?"os2":"p2"],a=r[n?"p2":"os2"];e._isFlipped=n,o[r.a+"Percent"]=n?-100:0,o[r.a]=n?"1px":0,o["border"+i+At]=1,o["border"+a+At]=0,o[r.p]=t+"px",Ke.set(e,o)},Ot=[],Dt={},X={},Y=[],H=function _dispatch(e){return X[e]&&X[e].map(function(e){return e()})||Y},V=[],It=0,zt=function _refreshAll(e,t){if(!ht||e){ut=Z.isRefreshing=!0,Le.forEach(function(e){return Ka(e)&&e.cacheID++&&(e.rec=e())});var r=H("refreshInit");at&&Z.sort(),t||Jb(),Le.forEach(function(e){Ka(e)&&(e.smooth&&(e.target.style.scrollBehavior="auto"),e(0))}),Ot.slice(0).forEach(function(e){return e.refresh()}),Ot.forEach(function(e,t){if(e._subPinOffset&&e.pin){var r=e.vars.horizontal?"offsetWidth":"offsetHeight",n=e.pin[r];e.revert(!0,1),e.adjustPinSpacing(e.pin[r]-n),e.revert(!1,1)}}),Ot.forEach(function(e){return"max"===e.vars.end&&e.setPositions(e.start,Math.max(e.start+1,Ha(e.scroller,e._dir)))}),r.forEach(function(e){return e&&e.render&&e.render(-1)}),Le.forEach(function(e){Ka(e)&&(e.smooth&&requestAnimationFrame(function(){return e.target.style.scrollBehavior="smooth"}),e.rec&&e(e.rec))}),Kb(x,1),l.pause(),It++,j(2),Ot.forEach(function(e){return Ka(e.vars.onRefresh)&&e.vars.onRefresh(e)}),ut=Z.isRefreshing=!1,H("refresh")}else nb(Z,"scrollEnd",Fb)},W=0,Bt=1,j=function _updateAll(e){if(!ut||2===e){Z.isUpdating=!0,dt&&dt.update(0);var t=Ot.length,r=gt(),n=50<=r-w,o=t&&Ot[0].scroll();if(Bt=o<W?-1:1,W=o,n&&(ht&&!ot&&200<r-ht&&(ht=0,H("scrollEnd")),rt=w,w=r),Bt<0){for(it=t;0<it--;)Ot[it]&&Ot[it].update(0,n);Bt=1}else for(it=0;it<t;it++)Ot[it]&&Ot[it].update(0,n);Z.isUpdating=!1}S=0},U=["left","top",T,_,kt+_t,kt+xt,kt+wt,kt+St,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],G=U.concat([mt,yt,"boxSizing","max"+At,"max"+C,"position",kt,Tt,Tt+wt,Tt+xt,Tt+_t,Tt+St]),$=/([A-Z])/g,Rt=function _setState(e){if(e){var t,r,n=e.t.style,o=e.length,i=0;for((e.t._gsap||Ke.core.getCache(e.t)).uncache=1;i<o;i+=2)r=e[i+1],t=e[i],r?n[t]=r:n[t]&&n.removeProperty(t.replace($,"-$1").toLowerCase())}},Xt={left:0,top:0},Q=/(webkit|moz|length|cssText|inset)/i,Z=(ScrollTrigger.prototype.init=function init(_,T){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),vt){var k,n,p,A,E,M,P,C,O,D,z,e,B,R,X,L,F,t,Y,b,H,N,m,K,x,S,r,w,V,W,o,g,j,q,U,G,$,i,Q=(_=fb(Ja(_)||La(_)||_.nodeType?{trigger:_}:_,Ct)).onUpdate,Z=_.toggleClass,a=_.id,ee=_.onToggle,te=_.onRefresh,re=_.scrub,ne=_.trigger,oe=_.pin,ie=_.pinSpacing,ae=_.invalidateOnRefresh,se=_.anticipatePin,s=_.onScrubComplete,h=_.onSnapComplete,le=_.once,ce=_.snap,ue=_.pinReparent,l=_.pinSpacer,fe=_.containerAnimation,de=_.fastScrollEnd,pe=_.preventOverlaps,ge=_.horizontal||_.containerAnimation&&!1!==_.horizontal?Je:Ne,he=!re&&0!==re,ve=I(_.scroller||We),c=Ke.core.getCache(ve),be=Da(ve),me="fixed"===("pinType"in _?_.pinType:y(ve,"pinType")||be&&"fixed"),ye=[_.onEnter,_.onLeave,_.onEnterBack,_.onLeaveBack],xe=he&&_.toggleActions.split(" "),u="markers"in _?_.markers:Ct.markers,Se=be?0:parseFloat(db(ve)["border"+ge.p2+At])||0,we=this,_e=_.onRefreshInit&&function(){return _.onRefreshInit(we)},Te=function _getSizeFunc(e,t,r){var n=r.d,o=r.d2,i=r.a;return(i=y(e,"getBoundingClientRect"))?function(){return i()[n]}:function(){return(t?We["inner"+o]:e["client"+o])||0}}(ve,be,ge),ke=function _getOffsetsFunc(e,t){return!t||~Fe.indexOf(e)?Ea(e):function(){return Xt}}(ve,be),Ae=0,Ee=0,Me=J(ve,ge);if(lt(we),we._dir=ge,se*=45,we.scroller=ve,we.scroll=fe?fe.time.bind(fe):Me,A=Me(),we.vars=_,T=T||_.animation,"refreshPriority"in _&&(at=1,-9999===_.refreshPriority&&(dt=we)),c.tweenScroll=c.tweenScroll||{top:ec(ve,Ne),left:ec(ve,Je)},we.tweenTo=k=c.tweenScroll[ge.p],we.scrubDuration=function(e){(o=La(e)&&e)?W?W.duration(e):W=Ke.to(T,{ease:"expo",totalProgress:"+=0.001",duration:o,paused:!0,onComplete:function onComplete(){return s&&s(we)}}):(W&&W.progress(1).kill(),W=0)},T&&(T.vars.lazy=!1,T._initted||!1!==T.vars.immediateRender&&!1!==_.immediateRender&&T.duration()&&T.render(0,!0,!0),we.animation=T.pause(),(T.scrollTrigger=we).scrubDuration(re),w=0,a=a||T.vars.id),Ot.push(we),ce&&(Ma(ce)&&!ce.push||(ce={snapTo:ce}),"scrollBehavior"in Ge.style&&Ke.set(be?[Ge,qe]:ve,{scrollBehavior:"auto"}),Le.forEach(function(e){return Ka(e)&&e.target===(be?je.scrollingElement||qe:ve)&&(e.smooth=!1)}),p=Ka(ce.snapTo)?ce.snapTo:"labels"===ce.snapTo?function _getClosestLabel(t){return function(e){return Ke.utils.snap(ib(t),e)}}(T):"labelsDirectional"===ce.snapTo?function _getLabelAtDirection(r){return function(e,t){return kb(ib(r))(e,t.direction)}}(T):!1!==ce.directional?function(e,t){return kb(ce.snapTo)(e,gt()-Ee<500?0:t.direction)}:Ke.utils.snap(ce.snapTo),g=ce.duration||{min:.1,max:2},g=Ma(g)?tt(g.min,g.max):tt(g,g),j=Ke.delayedCall(ce.delay||o/2||.1,function(){var e=Me(),t=gt()-Ee<500,r=k.tween;if(!(t||Math.abs(we.getVelocity())<10)||r||ot||Ae===e)we.isActive&&Ae!==e&&j.restart(!0);else{var n=(e-M)/B,o=T&&!he?T.totalProgress():n,i=t?0:(o-V)/(gt()-rt)*1e3||0,a=Ke.utils.clamp(-n,1-n,bt(i/2)*i/.185),s=n+(!1===ce.inertia?0:a),l=tt(0,1,p(s,we)),c=Math.round(M+l*B),u=ce.onStart,f=ce.onInterrupt,d=ce.onComplete;if(e<=P&&M<=e&&c!==e){if(r&&!r._initted&&r.data<=bt(c-e))return;!1===ce.inertia&&(a=l-n),k(c,{duration:g(bt(.185*Math.max(bt(s-o),bt(l-o))/i/.05||0)),ease:ce.ease||"power3",data:bt(c-e),onInterrupt:function onInterrupt(){return j.restart(!0)&&f&&f(we)},onComplete:function onComplete(){we.update(),Ae=Me(),w=V=T&&!he?T.totalProgress():we.progress,h&&h(we),d&&d(we)}},e,a*B,c-e-a*B),u&&u(we,k.tween)}}}).pause()),a&&(Dt[a]=we),i=(i=(ne=we.trigger=I(ne||oe))&&ne._gsap&&ne._gsap.stRevert)&&i(we),oe=!0===oe?ne:I(oe),Ja(Z)&&(Z={targets:ne,className:Z}),oe&&(!1===ie||ie===kt||(ie=!(!ie&&oe.parentNode&&oe.parentNode.style&&"flex"===db(oe.parentNode).display)&&Tt),we.pin=oe,(n=Ke.core.getCache(oe)).spacer?R=n.pinState:(l&&((l=I(l))&&!l.nodeType&&(l=l.current||l.nativeElement),n.spacerIsNative=!!l,l&&(n.spacerState=$b(l))),n.spacer=F=l||je.createElement("div"),F.classList.add("pin-spacer"),a&&F.classList.add("pin-spacer-"+a),n.pinState=R=$b(oe)),!1!==_.force3D&&Ke.set(oe,{force3D:!0}),we.spacer=F=n.spacer,r=db(oe),m=r[ie+ge.os2],Y=Ke.getProperty(oe),b=Ke.quickSetter(oe,ge.a,Et),Xb(oe,F,r),L=$b(oe)),u){e=Ma(u)?fb(u,Pt):Pt,D=ub("scroller-start",a,ve,ge,e,0),z=ub("scroller-end",a,ve,ge,e,0,D),t=D["offset"+ge.op.d2];var f=I(y(ve,"content")||ve);C=this.markerStart=ub("start",a,f,ge,e,t,0,fe),O=this.markerEnd=ub("end",a,f,ge,e,t,0,fe),fe&&($=Ke.quickSetter([C,O],ge.a,Et)),me||Fe.length&&!0===y(ve,"fixedMarkers")||(function _makePositionable(e){var t=db(e).position;e.style.position="absolute"===t||"fixed"===t?t:"relative"}(be?Ge:ve),Ke.set([D,z],{force3D:!0}),x=Ke.quickSetter(D,ge.a,Et),S=Ke.quickSetter(z,ge.a,Et))}
5if(fe){var d=fe.vars.onUpdate,v=fe.vars.onUpdateParams;fe.eventCallback("onUpdate",function(){we.update(0,0,1),d&&d.apply(v||[])})}we.previous=function(){return Ot[Ot.indexOf(we)-1]},we.next=function(){return Ot[Ot.indexOf(we)+1]},we.revert=function(e,t){if(!t)return we.kill(!0);var r=!1!==e||!we.enabled,n=nt;r!==we.isReverted&&(r&&(U=Math.max(Me(),we.scroll.rec||0),q=we.progress,G=T&&T.progress()),C&&[C,O,D,z].forEach(function(e){return e.style.display=r?"none":"block"}),r&&(nt=1,we.update(r)),oe&&(r?function _swapPinOut(e,t,r){Rt(r);var n=e._gsap;if(n.spacerIsNative)Rt(n.spacerState);else if(e._gsap.swappedIn){var o=t.parentNode;o&&(o.insertBefore(e,t),o.removeChild(t))}e._gsap.swappedIn=!1}(oe,F,R):ue&&we.isActive||Xb(oe,F,db(oe),K)),r||we.update(r),nt=n,we.isReverted=r)},we.refresh=function(e,t){if(!nt&&we.enabled||t)if(oe&&e&&ht)nb(ScrollTrigger,"scrollEnd",Fb);else{!ut&&_e&&_e(we),nt=1,Ee=gt(),k.tween&&(k.tween.kill(),k.tween=0),W&&W.pause(),ae&&T&&T.revert({kill:!1}).invalidate(),we.isReverted||we.revert(!0,!0),we._subPinOffset=!1;for(var r,n,o,i,a,s,l,c,u,f,d=Te(),p=ke(),g=fe?fe.duration():Ha(ve,ge),h=0,v=0,b=_.end,m=_.endTrigger||ne,y=_.start||(0!==_.start&&ne?oe?"0 0":"0 100%":0),x=we.pinnedContainer=_.pinnedContainer&&I(_.pinnedContainer),S=ne&&Math.max(0,Ot.indexOf(we))||0,w=S;w--;)(s=Ot[w]).end||s.refresh(0,1)||(nt=1),!(l=s.pin)||l!==ne&&l!==oe||s.isReverted||((f=f||[]).unshift(s),s.revert(!0,!0)),s!==Ot[w]&&(S--,w--);for(Ka(y)&&(y=y(we)),M=bc(y,ne,d,ge,Me(),C,D,we,p,Se,me,g,fe)||(oe?-.001:0),Ka(b)&&(b=b(we)),Ja(b)&&!b.indexOf("+=")&&(~b.indexOf(" ")?b=(Ja(y)?y.split(" ")[0]:"")+b:(h=tb(b.substr(2),d),b=Ja(y)?y:M+h,m=ne)),P=Math.max(M,bc(b||(m?"100% 0":g),m,d,ge,Me()+h,O,z,we,p,Se,me,g,fe))||-.001,B=P-M||(M-=.01)&&.001,h=0,w=S;w--;)(l=(s=Ot[w]).pin)&&s.start-s._pinPush<=M&&!fe&&0<s.end&&(r=s.end-s.start,(l===ne&&s.start-s._pinPush<M||l===x)&&!La(y)&&(h+=r*(1-s.progress)),l===oe&&(v+=r));if(M+=h,P+=h,we._pinPush=v,C&&h&&((r={})[ge.a]="+="+h,x&&(r[ge.p]="-="+Me()),Ke.set([C,O],r)),oe)r=db(oe),i=ge===Ne,o=Me(),H=parseFloat(Y(ge.a))+v,!g&&1<P&&((be?Ge:ve).style["overflow-"+ge.a]="scroll"),Xb(oe,F,r),L=$b(oe),n=Mt(oe,!0),c=me&&J(ve,i?Je:Ne)(),ie&&((K=[ie+ge.os2,B+v+Et]).t=F,(w=ie===Tt?hb(oe,ge)+B+v:0)&&K.push(ge.d,w+Et),Rt(K),x&&Ot.forEach(function(e){e.pin===x&&!1!==e.vars.pinSpacing&&(e._subPinOffset=!0)}),me&&Me(U)),me&&((a={top:n.top+(i?o-M:c)+Et,left:n.left+(i?c:o-M)+Et,boxSizing:"border-box",position:"fixed"})[mt]=a.maxWidth=Math.ceil(n.width)+Et,a[yt]=a.maxHeight=Math.ceil(n.height)+Et,a[kt]=a[kt+wt]=a[kt+xt]=a[kt+_t]=a[kt+St]="0",a[Tt]=r[Tt],a[Tt+wt]=r[Tt+wt],a[Tt+xt]=r[Tt+xt],a[Tt+_t]=r[Tt+_t],a[Tt+St]=r[Tt+St],X=function _copyState(e,t,r){for(var n,o=[],i=e.length,a=r?8:0;a<i;a+=2)n=e[a],o.push(n,n in t?t[n]:e[a+1]);return o.t=e.t,o}(R,a,ue),ut&&Me(0)),T?(u=T._initted,st(1),T.render(T.duration(),!0,!0),N=Y(ge.a)-H+B+v,B!==N&&me&&X.splice(X.length-2,2),T.render(0,!0,!0),u||T.invali
vendor: 10,876 bytes, line 5
5date(!0),T.parent||T.totalTime(T.totalTime()),st(0)):N=B;else if(ne&&Me()&&!fe)for(n=ne.parentNode;n&&n!==Ge;)n._pinOffset&&(M-=n._pinOffset,P-=n._pinOffset),n=n.parentNode;f&&f.forEach(function(e){return e.revert(!1,!0)}),we.start=M,we.end=P,A=E=ut?U:Me(),fe||ut||(A<U&&Me(U),we.scroll.rec=0),we.revert(!1,!0),j&&(Ae=-1,we.isActive&&Me(M+B*q),j.restart(!0)),nt=0,T&&he&&(T._initted||G)&&T.progress()!==G&&T.progress(G,!0).render(T.time(),!0,!0),q===we.progress&&!fe||(T&&!he&&T.totalProgress(q,!0),we.progress=(A-M)/B===q?0:q),oe&&ie&&(F._pinOffset=Math.round(we.progress*N)),te&&!ut&&te(we)}},we.getVelocity=function(){return(Me()-E)/(gt()-rt)*1e3||0},we.endAnimation=function(){Na(we.callbackAnimation),T&&(W?W.progress(1):T.paused()?he||Na(T,we.direction<0,1):Na(T,T.reversed()))},we.labelToScroll=function(e){return T&&T.labels&&(M||we.refresh()||M)+T.labels[e]/T.duration()*B||0},we.getTrailing=function(t){var e=Ot.indexOf(we),r=0<we.direction?Ot.slice(0,e).reverse():Ot.slice(e+1);return(Ja(t)?r.filter(function(e){return e.vars.preventOverlaps===t}):r).filter(function(e){return 0<we.direction?e.end<=M:e.start>=P})},we.update=function(e,t,r){if(!fe||r||e){var n,o,i,a,s,l,c,u=ut?U:we.scroll(),f=e?0:(u-M)/B,d=f<0?0:1<f?1:f||0,p=we.progress;if(t&&(E=A,A=fe?Me():u,ce&&(V=w,w=T&&!he?T.totalProgress():d)),se&&!d&&oe&&!nt&&!pt&&ht&&M<u+(u-E)/(gt()-rt)*se&&(d=1e-4),d!==p&&we.enabled){if(a=(s=(n=we.isActive=!!d&&d<1)!=(!!p&&p<1))||!!d!=!!p,we.direction=p<d?1:-1,we.progress=d,a&&!nt&&(o=d&&!p?0:1===d?1:1===p?2:3,he&&(i=!s&&"none"!==xe[o+1]&&xe[o+1]||xe[o],c=T&&("complete"===i||"reset"===i||i in T))),pe&&(s||c)&&(c||re||!T)&&(Ka(pe)?pe(we):we.getTrailing(pe).forEach(function(e){return e.endAnimation()})),he||(!W||nt||pt?T&&T.totalProgress(d,!!nt):((fe||dt&&dt!==we)&&W.render(W._dp._time-W._start),W.resetTo?W.resetTo("totalProgress",d,T._tTime/T._tDur):(W.vars.totalProgress=d,W.invalidate().restart()))),oe)if(e&&ie&&(F.style[ie+ge.os2]=m),me){if(a){if(l=!e&&p<d&&u<P+1&&u+1>=Ha(ve,ge),ue)if(e||!n&&!l)dc(oe,F);else{var g=Mt(oe,!0),h=u-M;dc(oe,Ge,g.top+(ge===Ne?h:0)+Et,g.left+(ge===Ne?0:h)+Et)}Rt(n||l?X:L),N!==B&&d<1&&n||b(H+(1!==d||l?0:N))}}else b(Aa(H+N*d));!ce||k.tween||nt||pt||j.restart(!0),Z&&(s||le&&d&&(d<1||!ct))&&et(Z.targets).forEach(function(e){return e.classList[n||le?"add":"remove"](Z.className)}),!Q||he||e||Q(we),a&&!nt?(he&&(c&&("complete"===i?T.pause().totalProgress(1):"reset"===i?T.restart(!0).pause():"restart"===i?T.restart(!0):T[i]()),Q&&Q(we)),!s&&ct||(ee&&s&&Oa(we,ee),ye[o]&&Oa(we,ye[o]),le&&(1===d?we.kill(!1,1):ye[o]=0),s||ye[o=1===d?1:3]&&Oa(we,ye[o])),de&&!n&&Math.abs(we.getVelocity())>(La(de)?de:2500)&&(Na(we.callbackAnimation),W?W.progress(1):Na(T,"reverse"===i?1:!d,1))):he&&Q&&!nt&&Q(we)}if(S){var v=fe?u/fe.duration()*(fe._caScrollDist||0):u;x(v+(D._isFlipped?1:0)),S(v)}$&&$(-u/fe.duration()*(fe._caScrollDist||0))}},we.enable=function(e,t){we.enabled||(we.enabled=!0,nb(ve,"resize",Cb),nb(be?je:ve,"scroll",Ab),_e&&nb(ScrollTrigger,"refreshInit",_e),!1!==e&&(we.progress=q=0,A=E=Ae=Me()),!1!==t&&we.refresh())},we.getTween=function(e){return e&&k?k.tween:W},we.setPositions=function(e,t){oe&&(H+=e-M,N+=t-e-B,ie===Tt&&we.adjustPinSpacing(t-e-B)),we.start=M=e,we.end=P=t,B=t-e,we.update()},we.adjustPinSpacing=function(e){if(K){var t=K.indexOf(ge.d)+1;K[t]=parseFloat(K[t])+e+Et,K[1]=parseFloat(K[1])+e+Et,Rt(K)}},we.disable=function(e,t){if(we.enabled&&(!1!==e&&we.revert(!0,!0),we.enabled=we.isActive=!1,t||W&&W.pause(),U=0,n&&(n.uncache=1),_e&&ob(ScrollTrigger,"refreshInit",_e),j&&(j.pause(),k.tween&&k.tween.kill()&&(k.tween=0)),!be)){for(var r=Ot.length;r--;)if(Ot[r].scroller===ve&&Ot[r]!==we)return;ob(ve,"resize",Cb),ob(ve,"scroll",Ab)}},we.kill=function(e,t){we.disable(e,t),W&&!t&&W.kill(),a&&delete Dt[a];var r=Ot.indexOf(we);0<=r&&Ot.splice(r,1),r===it&&0<Bt&&it--,r=0,Ot.forEach(function(e){return e.scroller===we.scroller&&(r=1)}),r||ut||(we.scroll.rec=0),T&&(T.scrollTrigger=null,e&&T.revert({kill:!1}),t||T.kill()),C&&[C,O,D,z].forEach(function(e){return e.parentNode&&e.parentNode.removeChild(e)}),dt===we&&(dt=0),oe&&(n&&(n.uncache=1),r=0,Ot.forEach(function(e){return e.pin===oe&&r++}),r||(n.spacer=0)),_.onKill&&_.onKill(we)},we.enable(!1,!1),i&&i(we),T&&T.add&&!B?Ke.delayedCall(.01,function(){return M||P||we.refresh()})&&(B=.01)&&(M=P=0):we.refresh(),oe&&function _queueRefreshAll(){if(ft!==It){var e=ft=It;requestAnimationFrame(function(){return e===It&&zt(!0)})}}()}else this.update=this.refresh=this.kill=za},ScrollTrigger.register=function register(e){return a||(Ke=e||Ca(),Ba()&&window.document&&ScrollTrigger.enable(),a=vt),a},ScrollTrigger.defaults=function defaults(e){if(e)for(var t in e)Ct[t]=e[t];return Ct},ScrollTrigger.disable=function disable(t,r){vt=0,Ot.forEach(function(e){return e[r?"kill":"disable"](t)}),ob(We,"wheel",Ab),ob(je,"scroll",Ab),clearInterval(c),ob(je,"touchcancel",za),ob(Ge,"touchstart",za),mb(ob,je,"pointerdown,touchstart,mousedown",xa),mb(ob,je,"pointerup,touchend,mouseup",ya),l.kill(),Ia(ob);for(var e=0;e<Le.length;e+=3)pb(ob,Le[e],Le[e+1]),pb(ob,Le[e],Le[e+2])},ScrollTrigger.enable=function enable(){if(We=window,je=document,qe=je.documentElement,Ge=je.body,Ke&&(et=Ke.utils.toArray,tt=Ke.utils.clamp,lt=Ke.core.context||za,st=Ke.core.suppressOverwrites||za,x=We.history.scrollRestoration||"auto",Ke.core.globals("ScrollTrigger",ScrollTrigger),Ge)){vt=1,k.register(Ke),ScrollTrigger.isTouch=k.isTouch,P=k.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),nb(We,"wheel",Ab),s=[We,je,qe,Ge],Ke.matchMedia?(ScrollTrigger.matchMedia=function(e){var t,r=Ke.matchMedia();for(t in e)r.add(t,e[t]);return r},Ke.addEventListener("matchMediaInit",function(){return Jb()}),Ke.addEventListener("matchMediaRevert",function(){return Ib()}),Ke.addEventListener("matchMedia",function(){zt(0,1),H("matchMedia")}),Ke.matchMedia("(orientation: portrait)",function(){return Bb(),Bb})):console.warn("Requires GSAP 3.11.0 or later"),Bb(),nb(je,"scroll",Ab);var e,t,r=Ge.style,n=r.borderTopStyle,o=Ke.core.Animation.prototype;for(o.revert||Object.defineProperty(o,"revert",{value:function value(){return this.time(-.01,!0)}}),r.borderTopStyle="solid",e=Mt(Ge),Ne.m=Math.round(e.top+Ne.sc())||0,Je.m=Math.round(e.left+Je.sc())||0,n?r.borderTopStyle=n:r.removeProperty("border-top-style"),c=setInterval(zb,250),Ke.delayedCall(.5,function(){return pt=0}),nb(je,"touchcancel",za),nb(Ge,"touchstart",za),mb(nb,je,"pointerdown,touchstart,mousedown",xa),mb(nb,je,"pointerup,touchend,mouseup",ya),u=Ke.utils.checkPrefix("transform"),G.push(u),a=gt(),l=Ke.delayedCall(.2,zt).pause(),p=[je,"visibilitychange",function(){var e=We.innerWidth,t=We.innerHeight;je.hidden?(f=e,d=t):f===e&&d===t||Cb()},je,"DOMContentLoaded",zt,We,"load",zt,We,"resize",Cb],Ia(nb),Ot.forEach(function(e){return e.enable(0,1)}),t=0;t<Le.length;t+=3)pb(ob,Le[t],Le[t+1]),pb(ob,Le[t],Le[t+2])}},ScrollTrigger.config=function config(e){"limitCallbacks"in e&&(ct=!!e.limitCallbacks);var t=e.syncInterval;t&&clearInterval(c)||(c=t)&&setInterval(zb,t),"ignoreMobileResize"in e&&(v=1===ScrollTrigger.isTouch&&e.ignoreMobileResize),"autoRefreshEvents"in e&&(Ia(ob)||Ia(nb,e.autoRefreshEvents||"none"),g=-1===(e.autoRefreshEvents+"").indexOf("resize"))},ScrollTrigger.scrollerProxy=function scrollerProxy(e,t){var r=I(e),n=Le.indexOf(r),o=Da(r);~n&&Le.splice(n,o?6:2),t&&(o?Fe.unshift(We,t,Ge,t,qe,t):Fe.unshift(r,t))},ScrollTrigger.clearMatchMedia=function clearMatchMedia(t){Ot.forEach(function(e){return e._ctx&&e._ctx.query===t&&e._ctx.kill(!0,!0)})},ScrollTrigger.isInViewport=function isInViewport(e,t,r){var n=(Ja(e)?I(e):e).getBoundingClientRect(),o=n[r?mt:yt]*t||0;return r?0<n.right-o&&n.left+o<We.innerWidth:0<n.bottom-o&&n.top+o<We.innerHeight},ScrollTrigger.positionInViewport=function positionInViewport(e,t,r){Ja(e)&&(e=I(e));var n=e.getBoundingClientRect(),o=n[r?mt:yt],i=null==t?o/2:t in D?D[t]*o:~t.indexOf("%")?parseFloat(t)*o/100:parseFloat(t)||0;return r?(n.left+i)/We.innerWidth:(n.top+i)/We.innerHeight},ScrollTrigger.killAll=function killAll(e){if(Ot.forEach(function(e){return"ScrollSmoother"!==e.vars.id&&e.kill()}),!0!==e){var t=X.killAll||[];X={},t.forEach(function(e){return e()})}},ScrollTrigger);function ScrollTrigger(e,t){a||ScrollTrigger.register(Ke)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),this.init(e,t)}Z.version="3.11.3",Z.saveStyles=function(e){return e?et(e).forEach(function(e){if(e&&e.style){var t=V.indexOf(e);0<=t&&V.splice(t,5),V.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),Ke.core.getCache(e),lt())}}):V},Z.revert=function(e,t){return Jb(!e,t)},Z.create=function(e,t){return new Z(e,t)},Z.refresh=function(e){return e?Cb():(a||Z.register())&&zt(!0)},Z.update=j,Z.clearScrollMemory=Kb,Z.maxScroll=function(e,t){return Ha(e,t?Je:Ne)},Z.getScrollFunc=function(e,t){return J(I(e),t?Je:Ne)},Z.getById=function(e){return Dt[e]},Z.getAll=function(){return Ot.filter(function(e){return"ScrollSmoother"!==e.vars.id})},Z.isScrolling=function(){return!!ht},Z.snapDirectional=kb,Z.addEventListener=function(e,t){var r=X[e]||(X[e]=[]);~r.indexOf(t)||r.push(t)},Z.removeEventListener=function(e,t){var r=X[e],n=r&&r.indexOf(t);0<=n&&r.splice(n,1)},Z.batch=function(e,t){function Do(e,t){var r=[],n=[],o=Ke.delayedCall(i,function(){t(r,n),r=[],n=[]}).pause();return function(e){r.length||o.restart(!0),r.push(e.trigger),n.push(e),a<=r.length&&o.progress(1)}}var r,n=[],o={},i=t.interval||.016,a=t.batchMax||1e9;for(r in t)o[r]="on"===r.substr(0,2)&&Ka(t[r])&&"onRefreshInit"!==r?Do(0,t[r]):t[r];return Ka(a)&&(a=a(),nb(Z,"refresh",function(){return a=t.batchMax()})),et(e).forEach(function(e){var t={};for(r in o)t[r]=o[r];t.trigger=e,n.push(Z.create(t))}),n};function gc(e,t,r,n){return n<t?e(n):t<0&&e(0),n<r?(n-t)/(r-t):r<0?t/(t-r):1}function hc(e,t){!0===t?e.style.removeProperty("touch-action"):e.style.touchAction=!0===t?"auto":t?"pan-"+t+(k.isTouch?" pinch-zoom":""):"none",e===qe&&hc(Ge,t)}function jc(e){var t,r=e.event,n=e.target,o=e.axis,i=(r.changedTouches?r.changedTouches[0]:r).target,a=i._gsap||Ke.core.getCache(i),s=gt();if(!a._isScrollT||2e3<s-a._isScrollT){for(;i&&i.scrollHeight<=i.clientHeight;)i=i.parentNode;a._isScroll=i&&!Da(i)&&i!==n&&(te[(t=db(i)).overflowY]||te[t.overflowX]),a._isScrollT=s}!a._isScroll&&"x"!==o||(r.stopPropagation(),r._gsapAllow=!0)}function kc(e,t,r,n){return k.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:n=n&&jc,onPress:n,onDrag:n,onScroll:n,onEnable:function onEnable(){return r&&nb(je,k.eventTypes[0],ne,!1,!0)},onDisable:function onDisable(){return ob(je,k.eventTypes[0],ne,!0)}})}function oc(e){function zp(){return o=!1}function Cp(){i=Ha(d,Ne),T=tt(P?1:0,i),f&&(_=tt(0,Ha(d,Je))),l=It}function Dp(){h._gsap.y=Aa(parseFloat(h._gsap.y)+v.offset)+"px",h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(h._gsap.y)+", 0, 1)",v.offset=v.cac
5heID=0}function Jp(){Cp(),a.isActive()&&a.vars.scrollY>i&&(v()>i?a.progress(1)&&v(i):a.resetTo("scrollY",i))}Ma(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var n,i,l,o,a,c,u,s,f=e.normalizeScrollX,t=e.momentum,r=e.allowNestedScroll,d=I(e.target)||qe,p=Ke.core.globals().ScrollSmoother,g=p&&p.get(),h=P&&(e.content&&I(e.content)||g&&!1!==e.content&&!g.smooth()&&g.content()),v=J(d,Ne),b=J(d,Je),m=1,y=(k.isTouch&&We.visualViewport?We.visualViewport.scale*We.visualViewport.width:We.outerWidth)/We.innerWidth,x=0,S=Ka(t)?function(){return t(n)}:function(){return t||2.8},w=kc(d,e.type,!0,r),_=za,T=za;return h&&Ke.set(h,{y:"+=0"}),e.ignoreCheck=function(e){return P&&"touchmove"===e.type&&function ignoreDrag(){if(o){requestAnimationFrame(zp);var e=Aa(n.deltaY/2),t=T(v.v-e);if(h&&t!==v.v+v.offset){v.offset=t-v.v;var r=Aa((parseFloat(h&&h._gsap.y)||0)-v.offset);h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+r+", 0, 1)",h._gsap.y=r+"px",v.cacheID=Le.cache,j()}return!0}v.offset&&Dp(),o=!0}()||1.05<m&&"touchstart"!==e.type||n.isGesturing||e.touches&&1<e.touches.length},e.onPress=function(){var e=m;m=Aa((We.visualViewport&&We.visualViewport.scale||1)/y),a.pause(),e!==m&&hc(d,1.01<m||!f&&"x"),c=b(),u=v(),Cp(),l=It},e.onRelease=e.onGestureStart=function(e,t){if(v.offset&&Dp(),t){Le.cache++;var r,n,o=S();f&&(n=(r=b())+.05*o*-e.velocityX/.227,o*=gc(b,r,n,Ha(d,Je)),a.vars.scrollX=_(n)),n=(r=v())+.05*o*-e.velocityY/.227,o*=gc(v,r,n,Ha(d,Ne)),a.vars.scrollY=T(n),a.invalidate().duration(o).play(.01),(P&&a.vars.scrollY>=i||i-1<=r)&&Ke.to({},{onUpdate:Jp,duration:o})}else s.restart(!0)},e.onWheel=function(){a._ts&&a.pause(),1e3<gt()-x&&(l=0,x=gt())},e.onChange=function(e,t,r,n,o){if(It!==l&&Cp(),t&&f&&b(_(n[2]===t?c+(e.startX-e.x):b()+t-n[1])),r){v.offset&&Dp();var i=o[2]===r,a=i?u+e.startY-e.y:v()+r-o[1],s=T(a);i&&a!==s&&(u+=s-a),v(s)}(r||t)&&j()},e.onEnable=function(){hc(d,!f&&"x"),Z.addEventListener("refresh",Jp),nb(We,"resize",Jp),v.smooth&&(v.target.style.scrollBehavior="auto",v.smooth=b.smooth=!1),w.enable()},e.onDisable=function(){hc(d,!0),ob(We,"resize",Jp),Z.removeEventListener("refresh",Jp),w.kill()},e.lockAxis=!1!==e.lockAxis,((n=new k(e)).iOS=P)&&!v()&&v(1),P&&Ke.ticker.add(za),s=n._dc,a=Ke.to(n,{ease:"power4",paused:!0,scrollX:f?"+=0.1":"+=0",scrollY:"+=0.1",onComplete:s.vars.onComplete}),n}var ee,te={auto:1,scroll:1},re=/(input|label|select|textarea)/i,ne=function _captureInputs(e){var t=re.test(e.target.tagName);(t||ee)&&(e._gsapAllow=!0,ee=t)};Z.sort=function(e){return Ot.sort(e||function(e,t){return-1e6*(e.vars.refreshPriority||0)+e.start-(t.start+-1e6*(t.vars.refreshPriority||0))})},Z.observe=function(e){return new k(e)},Z.normalizeScroll=function(e){if(void 0===e)return h;if(!0===e&&h)return h.enable();if(!1===e)return h&&h.kill();var t=e instanceof k?e:oc(e);return h&&h.target===t.target&&h.kill(),Da(t.target)&&(h=t),t},Z.core={_getVelocityProp:K,_inputObserver:kc,_scrollers:Le,_proxies:Fe,bridge:{ss:function ss(){ht||H("scrollStart"),ht=gt()},ref:function ref(){return nt}}},Ca()&&Ke.registerPlugin(Z),e.ScrollTrigger=Z,e.default=Z;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}}); 6 7 8 9 10( function( window, factory ) { 11 if ( typeof define == 'function' && define.amd ) { 12 define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) { 13 return factory( window, jQuery ); 14 }); 15 } else if ( typeof module == 'object' && module.exports ) { 16 module.exports = factory( 17 window, 18 require('jquery') 19 ); 20 } else { 21 window.jQueryBridget = factory( 22 window, 23 window.jQuery 24 ); 25 } 26 27}( window, function factory( window, jQuery ) { 28'use strict'; 29 30 31var arraySlice = Array.prototype.slice; 32 33var console = window.console; 34var logError = typeof console == 'undefined' ? function() {} : 35 function( message ) { 36 console.error( message ); 37 }; 38 39 40function jQueryBridget( namespace, PluginClass, $ ) { 41 $ = $ || jQuery || window.jQuery; 42 if ( !$ ) { 43 return; 44 } 45 46 if ( !PluginClass.prototype.option ) { 47 PluginClass.prototype.option = function( opts ) { 48 if ( !$.isPlainObject( opts ) ){ 49 return; 50 } 51 this.options = $.extend( true, this.options, opts ); 52 }; 53 } 54 55 $.fn[ namespace ] = function( arg0 ) { 56 if ( typeof arg0 == 'string' ) { 57 var args = arraySlice.call( arguments, 1 ); 58 return methodCall( this, arg0, args ); 59 } 60 plainCall( this, arg0 ); 61 return this; 62 }; 63 64 function methodCall( $elems, methodName, args ) { 65 var returnValue; 66 var pluginMethodStr = '$().' + namespace + '("' + methodName + '")'; 67 68 $elems.each( function( i, elem ) { 69 var instance = $.data( elem, namespace ); 70 if ( !instance ) { 71 logError( namespace + ' not initialized. Cannot call methods, i.e. ' + 72 pluginMethodStr ); 73 return; 74 } 75 76 var method = instance[ methodName ]; 77 if ( !method || methodName.charAt(0) == '_' ) { 78 logError( pluginMethodStr + ' is not a valid method' ); 79 return; 80 } 81 82 var value = method.apply( instance, args ); 83 returnValue = returnValue === undefined ? value : returnValue; 84 }); 85 86 return returnValue !== undefined ? returnValue : $elems; 87 } 88 89 function plainCall( $elems, options ) { 90 $elems.each( function( i, elem ) { 91 var instance = $.data( elem, namespace ); 92 if ( instance ) { 93 instance.option( options ); 94 instance._init(); 95 } else { 96 instance = new PluginClass( elem, options ); 97 $.data( elem, namespace, instance ); 98 } 99 }); 100 } 101 102 updateJQuery( $ ); 103 104} 105 106 107function updateJQuery( $ ) { 108 if ( !$ || ( $ && $.bridget ) ) { 109 return; 110 } 111 $.bridget = jQueryBridget; 112} 113 114updateJQuery( jQuery || window.jQuery ); 115 116 117return jQueryBridget; 118 119})); 120 121 122 123( function( global, factory ) { 124 if ( typeof define == 'function' && define.amd ) { 125 define( 'ev-emitter/ev-emitter',factory ); 126 } else if ( typeof module == 'object' && module.exports ) { 127 module.exports = factory(); 128 } else { 129 global.EvEmitter = factory(); 130 } 131 132}( typeof window != 'undefined' ? window : this, function() { 133 134 135 136function EvEmitter() {} 137 138var proto = EvEmitter.prototype; 139 140proto.on = function( eventName, listener ) { 141 if ( !eventName || !listener ) { 142 return; 143 } 144 var events = this._events = this._events || {}; 145 var listeners = events[ eventName ] = events[ eventName ] || []; 146 if ( listeners.indexOf( listener ) == -1 ) { 147 listeners.push( listener ); 148 } 149 150 return this; 151}; 152 153proto.once = function( eventName, listener ) { 154 if ( !eventName || !listener ) { 155 return; 156 } 157 this.on( eventName, listener ); 158 var onceEvents = this._onceEvents = this._onceEvents || {}; 159 var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {}; 160 onceListeners[ listener ] = true; 161 162 return this; 163}; 164 165proto.off = function( eventName, listener ) { 166 var listeners = this._events && this._events[ eventName ]; 167 if ( !listeners || !listeners.length ) { 168 return; 169 } 170 var index = listeners.indexOf( listener ); 171 if ( index != -1 ) { 172 listeners.splice( index, 1 ); 173 } 174 175 return this; 176}; 177 178proto.emitEvent = function( eventName, args ) { 179 var listeners = this._events && this._events[ eventName ]; 180 if ( !listeners || !listeners.length ) { 181 return; 182 } 183 listeners = listeners.slice(0); 184 args = args || []; 185 var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; 186 187 for ( var i=0; i < listeners.length; i++ ) { 188 var listener = listeners[i] 189 var isOnce = onceListeners && onceListeners[ listener ]; 190 if ( isOnce ) { 191 this.off( eventName, listener ); 192 delete onceListeners[ listener ]; 193 } 194 listener.apply( this, args ); 195 } 196 197 return this; 198}; 199 200proto.allOff = function() { 201 delete this._events; 202 delete this._onceEvents; 203}; 204 205return EvEmitter; 206 207})); 208 209 210 211( function( window, factory ) { 212 if ( typeof define == 'function' && define.amd ) { 213 define( 'get-size/get-size',factory ); 214 } else if ( typeof module == 'object' && module.exports ) { 215 module.exports = factory(); 216 } else { 217 window.getSize = factory(); 218 } 219 220})( window, function factory() { 221'use strict'; 222 223 224function getStyleSize( value ) { 225 var num = parseFloat( value ); 226 var isValid = value.indexOf('%') == -1 && !isNaN( num ); 227 return isValid && num; 228} 229 230function noop() {} 231 232var logError = typeof console == 'undefined' ? noop : 233 function( message ) { 234 console.error( message ); 235 }; 236 237 238var measurements = [ 239 'paddingLeft', 240 'paddingRight', 241 'paddingTop', 242 'paddingBottom', 243 'marginLeft', 244 'marginRight', 245 'marginTop', 246 'marginBottom', 247 'borderLeftWidth', 248 'borderRightWidth', 249 'borderTopWidth', 250 'borderBottomWidth' 251]; 252 253var measurementsLength = measurements.length; 254 255function getZeroSize() { 256 var size = { 257 width: 0, 258 height: 0, 259 innerWidth: 0, 260 innerHeight: 0, 261 outerWidth: 0, 262 outerHeight: 0 263 }; 264 for ( var i=0; i < measurementsLength; i++ ) { 265 var measurement = measurements[i]; 266 size[ measurement ] = 0; 267 } 268 return size; 269} 270 271 272function getStyle( elem ) { 273 var style = getComputedStyle( elem ); 274 if ( !style ) { 275 logError( 'Style returned ' + style + 276 '. Are you running this code in a hidden iframe on Firefox? ' + 277 'See https://bit.ly/getsizebug1' ); 278 } 279 return style; 280} 281 282 283var isSetup = false;
vendor: 5,187 bytes, lines 284-513
284 285var isBoxSizeOuter; 286 287function setup() { 288 if ( isSetup ) { 289 return; 290 } 291 isSetup = true; 292 293 294 var div = document.createElement('div'); 295 div.style.width = '200px'; 296 div.style.padding = '1px 2px 3px 4px'; 297 div.style.borderStyle = 'solid'; 298 div.style.borderWidth = '1px 2px 3px 4px'; 299 div.style.boxSizing = 'border-box'; 300 301 var body = document.body || document.documentElement; 302 body.appendChild( div ); 303 var style = getStyle( div ); 304 isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200; 305 getSize.isBoxSizeOuter = isBoxSizeOuter; 306 307 body.removeChild( div ); 308} 309 310 311function getSize( elem ) { 312 setup(); 313 314 if ( typeof elem == 'string' ) { 315 elem = document.querySelector( elem ); 316 } 317 318 if ( !elem || typeof elem != 'object' || !elem.nodeType ) { 319 return; 320 } 321 322 var style = getStyle( elem ); 323 324 if ( style.display == 'none' ) { 325 return getZeroSize(); 326 } 327 328 var size = {}; 329 size.width = elem.offsetWidth; 330 size.height = elem.offsetHeight; 331 332 var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box'; 333 334 for ( var i=0; i < measurementsLength; i++ ) { 335 var measurement = measurements[i]; 336 var value = style[ measurement ]; 337 var num = parseFloat( value ); 338 size[ measurement ] = !isNaN( num ) ? num : 0; 339 } 340 341 var paddingWidth = size.paddingLeft + size.paddingRight; 342 var paddingHeight = size.paddingTop + size.paddingBottom; 343 var marginWidth = size.marginLeft + size.marginRight; 344 var marginHeight = size.marginTop + size.marginBottom; 345 var borderWidth = size.borderLeftWidth + size.borderRightWidth; 346 var borderHeight = size.borderTopWidth + size.borderBottomWidth; 347 348 var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter; 349 350 var styleWidth = getStyleSize( style.width ); 351 if ( styleWidth !== false ) { 352 size.width = styleWidth + 353 ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth ); 354 } 355 356 var styleHeight = getStyleSize( style.height ); 357 if ( styleHeight !== false ) { 358 size.height = styleHeight + 359 ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight ); 360 } 361 362 size.innerWidth = size.width - ( paddingWidth + borderWidth ); 363 size.innerHeight = size.height - ( paddingHeight + borderHeight ); 364 365 size.outerWidth = size.width + marginWidth; 366 size.outerHeight = size.height + marginHeight; 367 368 return size; 369} 370 371return getSize; 372 373}); 374 375 376 377( function( window, factory ) { 378 'use strict'; 379 if ( typeof define == 'function' && define.amd ) { 380 define( 'desandro-matches-selector/matches-selector',factory ); 381 } else if ( typeof module == 'object' && module.exports ) { 382 module.exports = factory(); 383 } else { 384 window.matchesSelector = factory(); 385 } 386 387}( window, function factory() { 388 'use strict'; 389 390 var matchesMethod = ( function() { 391 var ElemProto = window.Element.prototype; 392 if ( ElemProto.matches ) { 393 return 'matches'; 394 } 395 if ( ElemProto.matchesSelector ) { 396 return 'matchesSelector'; 397 } 398 var prefixes = [ 'webkit', 'moz', 'ms', 'o' ]; 399 400 for ( var i=0; i < prefixes.length; i++ ) { 401 var prefix = prefixes[i]; 402 var method = prefix + 'MatchesSelector'; 403 if ( ElemProto[ method ] ) { 404 return method; 405 } 406 } 407 })(); 408 409 return function matchesSelector( elem, selector ) { 410 return elem[ matchesMethod ]( selector ); 411 }; 412 413})); 414 415 416 417( function( window, factory ) { 418 419 if ( typeof define == 'function' && define.amd ) { 420 define( 'fizzy-ui-utils/utils',[ 421 'desandro-matches-selector/matches-selector' 422 ], function( matchesSelector ) { 423 return factory( window, matchesSelector ); 424 }); 425 } else if ( typeof module == 'object' && module.exports ) { 426 module.exports = factory( 427 window, 428 require('desandro-matches-selector') 429 ); 430 } else { 431 window.fizzyUIUtils = factory( 432 window, 433 window.matchesSelector 434 ); 435 } 436 437}( window, function factory( window, matchesSelector ) { 438 439 440 441var utils = {}; 442 443 444utils.extend = function( a, b ) { 445 for ( var prop in b ) { 446 a[ prop ] = b[ prop ]; 447 } 448 return a; 449}; 450 451 452utils.modulo = function( num, div ) { 453 return ( ( num % div ) + div ) % div; 454}; 455 456 457var arraySlice = Array.prototype.slice; 458 459utils.makeArray = function( obj ) { 460 if ( Array.isArray( obj ) ) { 461 return obj; 462 } 463 if ( obj === null || obj === undefined ) { 464 return []; 465 } 466 467 var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number'; 468 if ( isArrayLike ) { 469 return arraySlice.call( obj ); 470 } 471 472 return [ obj ]; 473}; 474 475 476utils.removeFrom = function( ary, obj ) { 477 var index = ary.indexOf( obj ); 478 if ( index != -1 ) { 479 ary.splice( index, 1 ); 480 } 481}; 482 483 484utils.getParent = function( elem, selector ) { 485 while ( elem.parentNode && elem != document.body ) { 486 elem = elem.parentNode; 487 if ( matchesSelector( elem, selector ) ) { 488 return elem; 489 } 490 } 491}; 492 493 494utils.getQueryElement = function( elem ) { 495 if ( typeof elem == 'string' ) { 496 return document.querySelector( elem ); 497 } 498 return elem; 499}; 500 501 502utils.handleEvent = function( event ) { 503 var method = 'on' + event.type; 504 if ( this[ method ] ) { 505 this[ method ]( event ); 506 } 507}; 508 509 510utils.filterFindElements = function( elems, selector ) { 511 elems = utils.makeArray( elems ); 512 var ffElems = []; 513
514 elems.forEach( function( elem ) { 515 if ( !( elem instanceof HTMLElement ) ) { 516 return; 517 } 518 if ( !selector ) { 519 ffElems.push( elem ); 520 return; 521 } 522 if ( matchesSelector( elem, selector ) ) { 523 ffElems.push( elem ); 524 } 525 var childElems = elem.querySelectorAll( selector ); 526 for ( var i=0; i < childElems.length; i++ ) { 527 ffElems.push( childElems[i] ); 528 } 529 }); 530 531 return ffElems; 532}; 533 534 535utils.debounceMethod = function( _class, methodName, threshold ) { 536 threshold = threshold || 100; 537 var method = _class.prototype[ methodName ]; 538 var timeoutName = methodName + 'Timeout'; 539 540 _class.prototype[ methodName ] = function() { 541 var timeout = this[ timeoutName ]; 542 clearTimeout( timeout ); 543 544 var args = arguments; 545 var _this = this; 546 this[ timeoutName ] = setTimeout( function() { 547 method.apply( _this, args ); 548 delete _this[ timeoutName ]; 549 }, threshold ); 550 }; 551}; 552 553 554utils.docReady = function( callback ) { 555 var readyState = document.readyState; 556 if ( readyState == 'complete' || readyState == 'interactive' ) { 557 setTimeout( callback ); 558 } else { 559 document.addEventListener( 'DOMContentLoaded', callback ); 560 } 561}; 562 563 564utils.toDashed = function( str ) { 565 return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) { 566 return $1 + '-' + $2; 567 }).toLowerCase(); 568}; 569 570var console = window.console; 571utils.htmlInit = function( WidgetClass, namespace ) { 572 utils.docReady( function() { 573 var dashedNamespace = utils.toDashed( namespace ); 574 var dataAttr = 'data-' + dashedNamespace; 575 var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' ); 576 var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace ); 577 var elems = utils.makeArray( dataAttrElems ) 578 .concat( utils.makeArray( jsDashElems ) ); 579 var dataOptionsAttr = dataAttr + '-options'; 580 var jQuery = window.jQuery; 581 582 elems.forEach( function( elem ) { 583 var attr = elem.getAttribute( dataAttr ) || 584 elem.getAttribute( dataOptionsAttr ); 585 var options; 586 try { 587 options = attr && JSON.parse( attr ); 588 } catch ( error ) { 589 if ( console ) { 590 console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className + 591 ': ' + error ); 592 } 593 return; 594 } 595 var instance = new WidgetClass( elem, options ); 596 if ( jQuery ) { 597 jQuery.data( elem, namespace, instance ); 598 } 599 }); 600 601 }); 602}; 603 604 605return utils; 606 607})); 608 609( function( window, factory ) { 610 if ( typeof define == 'function' && define.amd ) { 611 define( 'flickity/js/cell',[ 612 'get-size/get-size', 613 ], function( getSize ) { 614 return factory( window, getSize ); 615 } ); 616 } else if ( typeof module == 'object' && module.exports ) { 617 module.exports = factory( 618 window, 619 require('get-size') 620 ); 621 } else { 622 window.Flickity = window.Flickity || {}; 623 window.Flickity.Cell = factory( 624 window, 625 window.getSize 626 ); 627 } 628 629}( window, function factory( window, getSize ) { 630 631 632 633function Cell( elem, parent ) { 634 this.element = elem; 635 this.parent = parent; 636 637 this.create(); 638} 639 640var proto = Cell.prototype; 641 642proto.create = function() { 643 this.element.style.position = 'absolute'; 644 this.element.setAttribute( 'aria-hidden', 'true' ); 645 this.x = 0; 646 this.shift = 0; 647 this.element.style[ this.parent.originSide ] = 0; 648}; 649 650proto.destroy = function() { 651 this.unselect(); 652 this.element.style.position = ''; 653 var side = this.parent.originSide; 654 this.element.style[ side ] = ''; 655 this.element.style.transform = ''; 656 this.element.removeAttribute('aria-hidden'); 657}; 658 659proto.getSize = function() { 660 this.size = getSize( this.element ); 661}; 662 663proto.setPosition = function( x ) { 664 this.x = x; 665 this.updateTarget(); 666 this.renderPosition( x ); 667}; 668 669proto.updateTarget = proto.setDefaultTarget = function() { 670 var marginProperty = this.parent.originSide == 'left' ? 'marginLeft' : 'marginRight'; 671 this.target = this.x + this.size[ marginProperty ] + 672 this.size.width * this.parent.cellAlign; 673}; 674 675proto.renderPosition = function( x ) { 676 var sideOffset = this.parent.originSide === 'left' ? 1 : -1; 677 678 var adjustedX = this.parent.options.percentPosition ? 679 x * sideOffset * ( this.parent.size.innerWidth / this.size.width ) : 680 x * sideOffset; 681 682 this.element.style.transform = 'translateX(' + 683 this.parent.getPositionValue( adjustedX ) + ')'; 684}; 685 686proto.select = function() { 687 this.element.classList.add('is-selected'); 688 this.element.removeAttribute('aria-hidden'); 689}; 690 691proto.unselect = function() { 692 this.element.classList.remove('is-selected'); 693 this.element.setAttribute( 'aria-hidden', 'true' ); 694}; 695 696proto.wrapShift = function( shift ) { 697 this.shift = shift; 698 this.renderPosition( this.x + this.parent.slideableWidth * shift ); 699}; 700 701proto.remove = function() { 702 this.element.parentNode.removeChild( this.element ); 703}; 704 705return Cell; 706 707} ) ); 708 709( function( window, factory ) { 710 if ( typeof define == 'function' && define.amd ) { 711 define( 'flickity/js/slide',factory ); 712 } else if ( typeof module == 'object' && module.exports ) { 713 module.exports = factory(); 714 } else { 715 window.Flickity = window.Flickity || {}; 716 window.Flickity.Slide = factory(); 717 } 718 719}( window, function factory() { 720'use strict'; 721 722function Slide( parent ) { 723 this.parent = parent; 724 this.isOriginLeft = parent.originSide == 'left'; 725 this.cells = []; 726 this.outerWidth = 0; 727 this.height = 0; 728} 729 730var proto = Slide.prototype; 731 732proto.addCell = function( cell ) { 733 this.cells.push( cell ); 734 this.outerWidth += cell.size.outerWidth; 735 this.height = Math.max( cell.size.outerHeight, this.height ); 736 if ( this.cells.length == 1 ) { 737 this.x = cell.x; 738 var beginMargin = this.isOriginLeft ? 'marginLeft' : 'marginRight'; 739 this.firstMargin = cell.size[ beginMargin ]; 740 } 741}; 742 743proto.updateTarget = function() { 744 var endMargin = this.isOriginLeft ? 'marginRight' : 'marginLeft'; 745 var lastCell = this.getLastCell(); 746 var lastMargin = lastCell ? lastCell.size[ endMargin ] : 0; 747 var slideWidth = this.outerWidth - ( this.firstMargin + lastMargin ); 748 this.target = this.x + this.firstMargin + slideWidth * this.parent.cellAlign; 749}; 750 751proto.getLastCell = function() { 752 return this.cells[ this.cells.length - 1 ]; 753}; 754 755proto.select = function() {
756 this.cells.forEach( function( cell ) { 757 cell.select(); 758 } ); 759}; 760 761proto.unselect = function() { 762 this.cells.forEach( function( cell ) { 763 cell.unselect(); 764 } ); 765}; 766 767proto.getCellElements = function() { 768 return this.cells.map( function( cell ) { 769 return cell.element; 770 } ); 771}; 772 773return Slide; 774 775} ) ); 776 777( function( window, factory ) { 778 if ( typeof define == 'function' && define.amd ) { 779 define( 'flickity/js/animate',[ 780 'fizzy-ui-utils/utils', 781 ], function( utils ) { 782 return factory( window, utils ); 783 } ); 784 } else if ( typeof module == 'object' && module.exports ) { 785 module.exports = factory( 786 window, 787 require('fizzy-ui-utils') 788 ); 789 } else { 790 window.Flickity = window.Flickity || {}; 791 window.Flickity.animatePrototype = factory( 792 window, 793 window.fizzyUIUtils 794 ); 795 } 796 797}( window, function factory( window, utils ) { 798 799 800 801 802var proto = {}; 803 804proto.startAnimation = function() { 805 if ( this.isAnimating ) { 806 return; 807 } 808 809 this.isAnimating = true; 810 this.restingFrames = 0; 811 this.animate(); 812}; 813 814proto.animate = function() { 815 this.applyDragForce(); 816 this.applySelectedAttraction(); 817 818 var previousX = this.x; 819 820 this.integratePhysics(); 821 this.positionSlider(); 822 this.settle( previousX ); 823 if ( this.isAnimating ) { 824 var _this = this; 825 requestAnimationFrame( function animateFrame() { 826 _this.animate(); 827 } ); 828 } 829}; 830 831proto.positionSlider = function() { 832 var x = this.x; 833 if ( this.options.wrapAround && this.cells.length > 1 ) { 834 x = utils.modulo( x, this.slideableWidth ); 835 x -= this.slideableWidth; 836 this.shiftWrapCells( x ); 837 } 838 839 this.setTranslateX( x, this.isAnimating ); 840 this.dispatchScrollEvent(); 841}; 842 843proto.setTranslateX = function( x, is3d ) { 844 x += this.cursorPosition; 845 x = this.options.rightToLeft ? -x : x; 846 var translateX = this.getPositionValue( x ); 847 this.slider.style.transform = is3d ? 848 'translate3d(' + translateX + ',0,0)' : 'translateX(' + translateX + ')'; 849}; 850 851proto.dispatchScrollEvent = function() { 852 var firstSlide = this.slides[0]; 853 if ( !firstSlide ) { 854 return; 855 } 856 var positionX = -this.x - firstSlide.target; 857 var progress = positionX / this.slidesWidth; 858 this.dispatchEvent( 'scroll', null, [ progress, positionX ] ); 859}; 860 861proto.positionSliderAtSelected = function() { 862 if ( !this.cells.length ) { 863 return; 864 } 865 this.x = -this.selectedSlide.target; 866 this.velocity = 0; 867 this.positionSlider(); 868}; 869 870proto.getPositionValue = function( position ) { 871 if ( this.options.percentPosition ) { 872 return ( Math.round( ( position / this.size.innerWidth ) * 10000 ) * 0.01 ) + '%'; 873 } else { 874 return Math.round( position ) + 'px'; 875 } 876}; 877 878proto.settle = function( previousX ) { 879 var isResting = !this.isPointerDown && 880 Math.round( this.x * 100 ) == Math.round( previousX * 100 ); 881 if ( isResting ) { 882 this.restingFrames++; 883 } 884 if ( this.restingFrames > 2 ) { 885 this.isAnimating = false; 886 delete this.isFreeScrolling; 887 this.positionSlider(); 888 this.dispatchEvent( 'settle', null, [ this.selectedIndex ] ); 889 } 890}; 891 892proto.shiftWrapCells = function( x ) { 893 var beforeGap = this.cursorPosition + x; 894 this._shiftCells( this.beforeShiftCells, beforeGap, -1 ); 895 var afterGap = this.size.innerWidth - ( x + this.slideableWidth + this.cursorPosition ); 896 this._shiftCells( this.afterShiftCells, afterGap, 1 ); 897}; 898 899proto._shiftCells = function( cells, gap, shift ) { 900 for ( var i = 0; i < cells.length; i++ ) { 901 var cell = cells[i]; 902 var cellShift = gap > 0 ? shift : 0; 903 cell.wrapShift( cellShift ); 904 gap -= cell.size.outerWidth; 905 } 906}; 907 908proto._unshiftCells = function( cells ) { 909 if ( !cells || !cells.length ) { 910 return; 911 } 912 for ( var i = 0; i < cells.length; i++ ) { 913 cells[i].wrapShift( 0 ); 914 } 915}; 916 917 918proto.integratePhysics = function() { 919 this.x += this.velocity; 920 this.velocity *= this.getFrictionFactor(); 921}; 922 923proto.applyForce = function( force ) { 924 this.velocity += force; 925}; 926 927proto.getFrictionFactor = function() { 928 return 1 - this.options[ this.isFreeScrolling ? 'freeScrollFriction' : 'friction' ]; 929}; 930 931proto.getRestingPosition = function() { 932 return this.x + this.velocity / ( 1 - this.getFrictionFactor() ); 933}; 934 935proto.applyDragForce = function() { 936 if ( !this.isDraggable || !this.isPointerDown ) { 937 return; 938 } 939 var dragVelocity = this.dragX - this.x; 940 var dragForce = dragVelocity - this.velocity; 941 this.applyForce( dragForce ); 942}; 943 944proto.applySelectedAttraction = function() { 945 var dragDown = this.isDraggable && this.isPointerDown; 946 if ( dragDown || this.isFreeScrolling || !this.slides.length ) { 947 return; 948 } 949 var distance = this.selectedSlide.target * -1 - this.x; 950 var force = distance * this.options.selectedAttraction; 951 this.applyForce( force ); 952}; 953 954return proto; 955 956} ) ); 957 958( function( window, factory ) { 959 if ( typeof define == 'function' && define.amd ) { 960 define( 'flickity/js/flickity',[ 961 'ev-emitter/ev-emitter', 962 'get-size/get-size', 963 'fizzy-ui-utils/utils', 964 './cell', 965 './slide', 966 './animate', 967 ], function( EvEmitter, getSize, utils, Cell, Slide, animatePrototype ) { 968 return factory( window, EvEmitter, getSize, utils, Cell, Slide, animatePrototype ); 969 } ); 970 } else if ( typeof module == 'object' && module.exports ) { 971 module.exports = factory( 972 window, 973 require('ev-emitter'), 974 require('get-size'), 975 require('fizzy-ui-utils'), 976 require('./cell'), 977 require('./slide'), 978 require('./animate') 979 ); 980 } else { 981 var _Flickity = window.Flickity; 982 983 window.Flickity = factory( 984 window, 985 window.EvEmitter, 986 window.getSize, 987 window.fizzyUIUtils, 988 _Flickity.Cell, 989 _Flickity.Slide, 990 _Flickity.animatePrototype 991 ); 992 } 993 994}( window, function factory( window, EvEmitter, getSize, 995 utils, Cell, Slide, animatePrototype ) { 996 997 998 999var jQuery = window.jQuery; 1000var getComputedStyle = window.getComputedStyle; 1001var console = window.console; 1002 1003function moveElements( elems, toElem ) { 1004 elems = utils.makeArray( elems ); 1005 while ( elems.length ) { 1006 toElem.appendChild( elems.shift() ); 1007 } 1008} 1009 1010 1011var GUID = 0; 1012var instances = {}; 1013 1014function Flickity( element, options ) { 1015 var queryElement = utils.getQueryElement( element ); 1016 if ( !queryElement ) { 1017 if ( console ) { 1018 console.error( 'Bad element for Flickity: ' + ( queryElement || element ) ); 1019 } 1020 return; 1021 } 1022 this.element = queryElement; 1023 if ( this.element.flickityGUID ) { 1024 var instance = instances[ this.element.flickityGUID ]; 1025 if ( instance ) instance.option( options ); 1026 return instance; 1027 } 1028 1029 if ( jQuery ) { 1030 this.$element = jQuery( this.element ); 1031 } 1032 this.options = utils.extend( {}, this.constructor.defaults ); 1033 this.option( options ); 1034 1035 this._create(); 1036} 1037 1038Flickity.defaults = { 1039 accessibility: true, 1040 cellAlign: 'center', 1041 freeScrollFriction: 0.075, 1042 friction: 0.28, 1043 namespaceJQueryEvents: true, 1044 percentPosition: true, 1045 resize: true, 1046 selectedAttraction: 0.025, 1047 setGallerySize: true, 1048}; 1049 1050Flickity.createMethods = []; 1051 1052var proto = Flickity.prototype; 1053utils.extend( proto, EvEmitter.prototype ); 1054 1055proto._create = function() { 1056 var id = this.guid = ++GUID; 1057 this.element.flickityGUID = id; 1058 instances[ id ] = this; 1059 this.selectedIndex = 0; 1060 this.restingFrames = 0; 1061 this.x = 0; 1062 this.velocity = 0; 1063 this.originSide = this.options.rightToLeft ? 'right' : 'left'; 1064 this.viewport = document.createElement('div'); 1065 this.viewport.className = 'flickity-viewport'; 1066 this._createSlider(); 1067 1068 if ( this.options.resize || this.options.watchCSS ) { 1069 window.addEventListener( 'resize', this ); 1070 } 1071 1072 for ( var eventName in this.options.on ) { 1073 var listener = this.options.on[ eventName ]; 1074 this.on( eventName, listener ); 1075 } 1076 1077 Flickity.createMethods.forEach( function( method ) { 1078 this[ method ](); 1079 }, this ); 1080 1081 if ( this.options.watchCSS ) { 1082 this.watchCSS(); 1083 } else { 1084 this.activate(); 1085 } 1086 1087}; 1088 1089proto.option = function( opts ) { 1090 utils.extend( this.options, opts ); 1091}; 1092 1093proto.activate = function() { 1094 if ( this.isActive ) { 1095 return; 1096 } 1097 this.isActive = true; 1098 this.element.classList.add('flickity-enabled'); 1099 if ( this.options.rightToLeft ) { 1100 this.element.classList.add('flickity-rtl'); 1101 } 1102
1103 this.getSize(); 1104 var cellElems = this._filterFindCellElements( this.element.children ); 1105 moveElements( cellElems, this.slider ); 1106 this.viewport.appendChild( this.slider ); 1107 this.element.appendChild( this.viewport ); 1108 this.reloadCells(); 1109 1110 if ( this.options.accessibility ) { 1111 this.element.tabIndex = 0; 1112 this.element.addEventListener( 'keydown', this ); 1113 } 1114 1115 this.emitEvent('activate'); 1116 this.selectInitialIndex(); 1117 this.isInitActivated = true; 1118 this.dispatchEvent('ready'); 1119}; 1120 1121proto._createSlider = function() { 1122 var slider = document.createElement('div'); 1123 slider.className = 'flickity-slider'; 1124 slider.style[ this.originSide ] = 0; 1125 this.slider = slider; 1126}; 1127 1128proto._filterFindCellElements = function( elems ) { 1129 return utils.filterFindElements( elems, this.options.cellSelector ); 1130}; 1131 1132proto.reloadCells = function() { 1133 this.cells = this._makeCells( this.slider.children ); 1134 this.positionCells(); 1135 this._getWrapShiftCells(); 1136 this.setGallerySize(); 1137}; 1138 1139proto._makeCells = function( elems ) { 1140 var cellElems = this._filterFindCellElements( elems ); 1141 1142 var cells = cellElems.map( function( cellElem ) { 1143 return new Cell( cellElem, this ); 1144 }, this ); 1145 1146 return cells; 1147}; 1148 1149proto.getLastCell = function() { 1150 return this.cells[ this.cells.length - 1 ]; 1151}; 1152 1153proto.getLastSlide = function() { 1154 return this.slides[ this.slides.length - 1 ]; 1155}; 1156 1157proto.positionCells = function() { 1158 this._sizeCells( this.cells ); 1159 this._positionCells( 0 ); 1160}; 1161 1162proto._positionCells = function( index ) { 1163 index = index || 0; 1164 this.maxCellHeight = index ? this.maxCellHeight || 0 : 0; 1165 var cellX = 0; 1166 if ( index > 0 ) { 1167 var startCell = this.cells[ index - 1 ]; 1168 cellX = startCell.x + startCell.size.outerWidth; 1169 } 1170 var len = this.cells.length; 1171 for ( var i = index; i < len; i++ ) { 1172 var cell = this.cells[i]; 1173 cell.setPosition( cellX ); 1174 cellX += cell.size.outerWidth; 1175 this.maxCellHeight = Math.max( cell.size.outerHeight, this.maxCellHeight ); 1176 } 1177 this.slideableWidth = cellX; 1178 this.updateSlides(); 1179 this._containSlides(); 1180 this.slidesWidth = len ? this.getLastSlide().target - this.slides[0].target : 0; 1181}; 1182 1183proto._sizeCells = function( cells ) { 1184 cells.forEach( function( cell ) { 1185 cell.getSize(); 1186 } ); 1187}; 1188 1189 1190proto.updateSlides = function() { 1191 this.slides = []; 1192 if ( !this.cells.length ) { 1193 return; 1194 } 1195 1196 var slide = new Slide( this ); 1197 this.slides.push( slide ); 1198 var isOriginLeft = this.originSide == 'left'; 1199 var nextMargin = isOriginLeft ? 'marginRight' : 'marginLeft'; 1200 1201 var canCellFit = this._getCanCellFit(); 1202 1203 this.cells.forEach( function( cell, i ) { 1204 if ( !slide.cells.length ) { 1205 slide.addCell( cell ); 1206 return; 1207 } 1208 1209 var slideWidth = ( slide.outerWidth - slide.firstMargin ) + 1210 ( cell.size.outerWidth - cell.size[ nextMargin ] ); 1211 1212 if ( canCellFit.call( this, i, slideWidth ) ) { 1213 slide.addCell( cell ); 1214 } else { 1215 slide.updateTarget(); 1216 1217 slide = new Slide( this ); 1218 this.slides.push( slide ); 1219 slide.addCell( cell ); 1220 } 1221 }, this ); 1222 slide.updateTarget(); 1223 this.updateSelectedSlide(); 1224}; 1225 1226proto._getCanCellFit = function() { 1227 var groupCells = this.options.groupCells; 1228 if ( !groupCells ) { 1229 return function() { 1230 return false; 1231 }; 1232 } else if ( typeof groupCells == 'number' ) { 1233 var number = parseInt( groupCells, 10 ); 1234 return function( i ) { 1235 return ( i % number ) !== 0; 1236 }; 1237 } 1238 var percentMatch = typeof groupCells == 'string' && 1239 groupCells.match( /^(\d+)%$/ ); 1240 var percent = percentMatch ? parseInt( percentMatch[1], 10 ) / 100 : 1; 1241 return function( i, slideWidth ) { 1242 return slideWidth <= ( this.size.innerWidth + 1 ) * percent; 1243 }; 1244}; 1245 1246proto._init = 1247proto.reposition = function() { 1248 this.positionCells(); 1249 this.positionSliderAtSelected(); 1250}; 1251 1252proto.getSize = function() { 1253 this.size = getSize( this.element ); 1254 this.setCellAlign(); 1255 this.cursorPosition = this.size.innerWidth * this.cellAlign; 1256}; 1257 1258var cellAlignShorthands = { 1259 center: { 1260 left: 0.5, 1261 right: 0.5, 1262 }, 1263 left: { 1264 left: 0, 1265 right: 1, 1266 }, 1267 right: { 1268 right: 0, 1269 left: 1, 1270 }, 1271}; 1272 1273proto.setCellAlign = function() { 1274 var shorthand = cellAlignShorthands[ this.options.cellAlign ]; 1275 this.cellAlign = shorthand ? shorthand[ this.originSide ] : this.options.cellAlign; 1276}; 1277 1278proto.setGallerySize = function() { 1279 if ( this.options.setGallerySize ) { 1280 var height = this.options.adaptiveHeight && this.selectedSlide ? 1281 this.selectedSlide.height : this.maxCellHeight; 1282 this.viewport.style.height = height + 'px'; 1283 } 1284}; 1285 1286proto._getWrapShiftCells = function() { 1287 if ( !this.options.wrapAround ) { 1288 return; 1289 } 1290 this._unshiftCells( this.beforeShiftCells ); 1291 this._unshiftCells( this.afterShiftCells ); 1292 var gapX = this.cursorPosition; 1293 var cellIndex = this.cells.length - 1; 1294 this.beforeShiftCells = this._getGapCells( gapX, cellIndex, -1 );
1295 gapX = this.size.innerWidth - this.cursorPosition; 1296 this.afterShiftCells = this._getGapCells( gapX, 0, 1 ); 1297}; 1298 1299proto._getGapCells = function( gapX, cellIndex, increment ) { 1300 var cells = []; 1301 while ( gapX > 0 ) { 1302 var cell = this.cells[ cellIndex ]; 1303 if ( !cell ) { 1304 break; 1305 } 1306 cells.push( cell ); 1307 cellIndex += increment; 1308 gapX -= cell.size.outerWidth; 1309 } 1310 return cells; 1311}; 1312 1313 1314proto._containSlides = function() { 1315 if ( !this.options.contain || this.options.wrapAround || !this.cells.length ) { 1316 return; 1317 } 1318 var isRightToLeft = this.options.rightToLeft; 1319 var beginMargin = isRightToLeft ? 'marginRight' : 'marginLeft'; 1320 var endMargin = isRightToLeft ? 'marginLeft' : 'marginRight'; 1321 var contentWidth = this.slideableWidth - this.getLastCell().size[ endMargin ]; 1322 var isContentSmaller = contentWidth < this.size.innerWidth; 1323 var beginBound = this.cursorPosition + this.cells[0].size[ beginMargin ]; 1324 var endBound = contentWidth - this.size.innerWidth * ( 1 - this.cellAlign ); 1325 this.slides.forEach( function( slide ) { 1326 if ( isContentSmaller ) { 1327 slide.target = contentWidth * this.cellAlign; 1328 } else { 1329 slide.target = Math.max( slide.target, beginBound ); 1330 slide.target = Math.min( slide.target, endBound ); 1331 } 1332 }, this ); 1333}; 1334 1335 1336proto.dispatchEvent = function( type, event, args ) { 1337 var emitArgs = event ? [ event ].concat( args ) : args; 1338 this.emitEvent( type, emitArgs ); 1339 1340 if ( jQuery && this.$element ) { 1341 type += this.options.namespaceJQueryEvents ? '.flickity' : ''; 1342 var $event = type; 1343 if ( event ) { 1344 var jQEvent = new jQuery.Event( event ); 1345 jQEvent.type = type; 1346 $event = jQEvent; 1347 } 1348 this.$element.trigger( $event, args ); 1349 } 1350}; 1351 1352 1353proto.select = function( index, isWrap, isInstant ) { 1354 if ( !this.isActive ) { 1355 return; 1356 } 1357 index = parseInt( index, 10 ); 1358 this._wrapSelect( index ); 1359 1360 if ( this.options.wrapAround || isWrap ) { 1361 index = utils.modulo( index, this.slides.length ); 1362 } 1363 if ( !this.slides[ index ] ) { 1364 return; 1365 } 1366 var prevIndex = this.selectedIndex; 1367 this.selectedIndex = index; 1368 this.updateSelectedSlide(); 1369 if ( isInstant ) { 1370 this.positionSliderAtSelected(); 1371 } else { 1372 this.startAnimation(); 1373 } 1374 if ( this.options.adaptiveHeight ) { 1375 this.setGallerySize(); 1376 } 1377 this.dispatchEvent( 'select', null, [ index ] ); 1378 if ( index != prevIndex ) { 1379 this.dispatchEvent( 'change', null, [ index ] ); 1380 } 1381 this.dispatchEvent('cellSelect'); 1382}; 1383 1384proto._wrapSelect = function( index ) { 1385 var len = this.slides.length; 1386 var isWrapping = this.options.wrapAround && len > 1; 1387 if ( !isWrapping ) { 1388 return index; 1389 } 1390 var wrapIndex = utils.modulo( index, len ); 1391 var delta = Math.abs( wrapIndex - this.selectedIndex ); 1392 var backWrapDelta = Math.abs( ( wrapIndex + len ) - this.selectedIndex ); 1393 var forewardWrapDelta = Math.abs( ( wrapIndex - len ) - this.selectedIndex ); 1394 if ( !this.isDragSelect && backWrapDelta < delta ) { 1395 index += len; 1396 } else if ( !this.isDragSelect && forewardWrapDelta < delta ) { 1397 index -= len; 1398 } 1399 if ( index < 0 ) { 1400 this.x -= this.slideableWidth; 1401 } else if ( index >= len ) { 1402 this.x += this.slideableWidth; 1403 } 1404}; 1405 1406proto.previous = function( isWrap, isInstant ) { 1407 this.select( this.selectedIndex - 1, isWrap, isInstant ); 1408}; 1409 1410proto.next = function( isWrap, isInstant ) { 1411 this.select( this.selectedIndex + 1, isWrap, isInstant ); 1412}; 1413 1414proto.updateSelectedSlide = function() { 1415 var slide = this.slides[ this.selectedIndex ]; 1416 if ( !slide ) { 1417 return; 1418 } 1419 this.unselectSelectedSlide(); 1420 this.selectedSlide = slide; 1421 slide.select(); 1422 this.selectedCells = slide.cells; 1423 this.selectedElements = slide.getCellElements(); 1424 this.selectedCell = slide.cells[0]; 1425 this.selectedElement = this.selectedElements[0]; 1426}; 1427 1428proto.unselectSelectedSlide = function() { 1429 if ( this.selectedSlide ) { 1430 this.selectedSlide.unselect(); 1431 } 1432}; 1433 1434proto.selectInitialIndex = function() { 1435 var initialIndex = this.options.initialIndex; 1436 if ( this.isInitActivated ) { 1437 this.select( this.selectedIndex, false, true ); 1438 return; 1439 } 1440 if ( initialIndex && typeof initialIndex == 'string' ) { 1441 var cell = this.queryCell( initialIndex ); 1442 if ( cell ) { 1443 this.selectCell( initialIndex, false, true ); 1444 return; 1445 } 1446 } 1447 1448 var index = 0; 1449 if ( initialIndex && this.slides[ initialIndex ] ) { 1450 index = initialIndex; 1451 } 1452 this.select( index, false, true ); 1453}; 1454 1455proto.selectCell = function( value, isWrap, isInstant ) { 1456 var cell = this.queryCell( value ); 1457 if ( !cell ) { 1458 return; 1459 } 1460 1461 var index = this.getCellSlideIndex( cell ); 1462 this.select( index, isWrap, isInstant ); 1463}; 1464 1465proto.getCellSlideIndex = function( cell ) { 1466 for ( var i = 0; i < this.slides.length; i++ ) { 1467 var slide = this.slides[i]; 1468 var index = slide.cells.indexOf( cell ); 1469 if ( index != -1 ) { 1470 return i; 1471 } 1472 } 1473}; 1474 1475 1476proto.getCell = function( elem ) { 1477 for ( var i = 0; i < this.cells.length; i++ ) { 1478 var cell = this.cells[i]; 1479 if ( cell.element == elem ) { 1480 return cell; 1481 } 1482 } 1483}; 1484 1485proto.getCells = function( elems ) { 1486 elems = utils.makeArray( elems ); 1487 var cells = [];
1488 elems.forEach( function( elem ) { 1489 var cell = this.getCell( elem ); 1490 if ( cell ) { 1491 cells.push( cell ); 1492 } 1493 }, this ); 1494 return cells; 1495}; 1496 1497proto.getCellElements = function() { 1498 return this.cells.map( function( cell ) { 1499 return cell.element; 1500 } ); 1501}; 1502 1503proto.getParentCell = function( elem ) { 1504 var cell = this.getCell( elem ); 1505 if ( cell ) { 1506 return cell; 1507 } 1508 elem = utils.getParent( elem, '.flickity-slider > *' ); 1509 return this.getCell( elem ); 1510}; 1511 1512proto.getAdjacentCellElements = function( adjCount, index ) { 1513 if ( !adjCount ) { 1514 return this.selectedSlide.getCellElements(); 1515 } 1516 index = index === undefined ? this.selectedIndex : index; 1517 1518 var len = this.slides.length; 1519 if ( 1 + ( adjCount * 2 ) >= len ) { 1520 return this.getCellElements(); 1521 } 1522 1523 var cellElems = []; 1524 for ( var i = index - adjCount; i <= index + adjCount; i++ ) { 1525 var slideIndex = this.options.wrapAround ? utils.modulo( i, len ) : i; 1526 var slide = this.slides[ slideIndex ]; 1527 if ( slide ) { 1528 cellElems = cellElems.concat( slide.getCellElements() ); 1529 } 1530 } 1531 return cellElems; 1532}; 1533 1534proto.queryCell = function( selector ) { 1535 if ( typeof selector == 'number' ) { 1536 return this.cells[ selector ]; 1537 } 1538 if ( typeof selector == 'string' ) { 1539 if ( selector.match( /^[#.]?[\d/]/ ) ) { 1540 return; 1541 } 1542 selector = this.element.querySelector( selector ); 1543 } 1544 return this.getCell( selector ); 1545}; 1546 1547 1548proto.uiChange = function() { 1549 this.emitEvent('uiChange'); 1550}; 1551 1552proto.childUIPointerDown = function( event ) { 1553 if ( event.type != 'touchstart' ) { 1554 event.preventDefault(); 1555 } 1556 this.focus(); 1557}; 1558 1559 1560proto.onresize = function() { 1561 this.watchCSS(); 1562 this.resize(); 1563}; 1564 1565utils.debounceMethod( Flickity, 'onresize', 150 ); 1566 1567proto.resize = function() { 1568 if ( !this.isActive || this.isAnimating || this.isDragging ) { 1569 return; 1570 } 1571 this.getSize(); 1572 if ( this.options.wrapAround ) { 1573 this.x = utils.modulo( this.x, this.slideableWidth ); 1574 } 1575 this.positionCells(); 1576 this._getWrapShiftCells(); 1577 this.setGallerySize(); 1578 this.emitEvent('resize'); 1579 var selectedElement = this.selectedElements && this.selectedElements[0]; 1580 this.selectCell( selectedElement, false, true ); 1581}; 1582 1583proto.watchCSS = function() { 1584 var watchOption = this.options.watchCSS; 1585 if ( !watchOption ) { 1586 return; 1587 } 1588 1589 var afterContent = getComputedStyle( this.element, ':after' ).content; 1590 if ( afterContent.indexOf('flickity') != -1 ) { 1591 this.activate(); 1592 } else { 1593 this.deactivate(); 1594 } 1595}; 1596 1597 1598proto.onkeydown = function( event ) { 1599 var isNotFocused = document.activeElement && document.activeElement != this.element; 1600 if ( !this.options.accessibility || isNotFocused ) { 1601 return; 1602 } 1603 1604 var handler = Flickity.keyboardHandlers[ event.keyCode ]; 1605 if ( handler ) { 1606 handler.call( this ); 1607 } 1608}; 1609 1610Flickity.keyboardHandlers = { 1611 37: function() { 1612 var leftMethod = this.options.rightToLeft ? 'next' : 'previous'; 1613 this.uiChange(); 1614 this[ leftMethod ](); 1615 }, 1616 39: function() { 1617 var rightMethod = this.options.rightToLeft ? 'previous' : 'next'; 1618 this.uiChange(); 1619 this[ rightMethod ](); 1620 }, 1621}; 1622 1623 1624proto.focus = function() { 1625 var prevScrollY = window.pageYOffset; 1626 this.element.focus({ preventScroll: true }); 1627 if ( window.pageYOffset != prevScrollY ) { 1628 window.scrollTo( window.pageXOffset, prevScrollY ); 1629 } 1630}; 1631 1632 1633proto.deactivate = function() { 1634 if ( !this.isActive ) { 1635 return; 1636 } 1637 this.element.classList.remove('flickity-enabled'); 1638 this.element.classList.remove('flickity-rtl'); 1639 this.unselectSelectedSlide(); 1640 this.cells.forEach( function( cell ) { 1641 cell.destroy(); 1642 } ); 1643 this.element.removeChild( this.viewport ); 1644 moveElements( this.slider.children, this.element ); 1645 if ( this.options.accessibility ) { 1646 this.element.removeAttribute('tabIndex'); 1647 this.element.removeEventListener( 'keydown', this ); 1648 } 1649 this.isActive = false; 1650 this.emitEvent('deactivate'); 1651}; 1652 1653proto.destroy = function() { 1654 this.deactivate(); 1655 window.removeEventListener( 'resize', this ); 1656 this.allOff(); 1657 this.emitEvent('destroy'); 1658 if ( jQuery && this.$element ) { 1659 jQuery.removeData( this.element, 'flickity' ); 1660 } 1661 delete this.element.flickityGUID; 1662 delete instances[ this.guid ]; 1663}; 1664 1665 1666utils.extend( proto, animatePrototype ); 1667 1668 1669Flickity.data = function( elem ) { 1670 elem = utils.getQueryElement( elem ); 1671 var id = elem && elem.flickityGUID; 1672 return id && instances[ id ]; 1673}; 1674 1675utils.htmlInit( Flickity, 'flickity' ); 1676 1677if ( jQuery && jQuery.bridget ) { 1678 jQuery.bridget( 'flickity', Flickity ); 1679} 1680 1681Flickity.setJQuery = function( jq ) { 1682 jQuery = jq; 1683}; 1684 1685Flickity.Cell = Cell; 1686Flickity.Slide = Slide; 1687 1688return Flickity; 1689 1690} ) ); 1691 1692 1693 1694( function( window, factory ) { 1695 if ( typeof define == 'function' && define.amd ) { 1696 define( 'unipointer/unipointer',[ 1697 'ev-emitter/ev-emitter' 1698 ], function( EvEmitter ) { 1699 return factory( window, EvEmitter ); 1700 }); 1701 } else if ( typeof module == 'object' && module.exports ) { 1702 module.exports = factory( 1703 window, 1704 require('ev-emitter') 1705 ); 1706 } else { 1707 window.Unipointer = factory( 1708 window, 1709 window.EvEmitter 1710 ); 1711 } 1712 1713}( window, function factory( window, EvEmitter ) { 1714 1715 1716 1717function noop() {} 1718 1719function Unipointer() {} 1720 1721var proto = Unipointer.prototype = Object.create( EvEmitter.prototype ); 1722 1723proto.bindStartEvent = function( elem ) { 1724 this._bindStartEvent( elem, true ); 1725}; 1726 1727proto.unbindStartEvent = function( elem ) { 1728 this._bindStartEvent( elem, false ); 1729}; 1730 1731proto._bindStartEvent = function( elem, isAdd ) { 1732 isAdd = isAdd === undefined ? true : isAdd; 1733 var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener'; 1734 1735 var startEvent = 'mousedown'; 1736 if ( 'ontouchstart' in window ) { 1737 startEvent = 'touchstart'; 1738 } else if ( window.PointerEvent ) { 1739 startEvent = 'pointerdown'; 1740 } 1741 elem[ bindMethod ]( startEvent, this ); 1742}; 1743 1744proto.handleEvent = function( event ) { 1745 var method = 'on' + event.type; 1746 if ( this[ method ] ) { 1747 this[ method ]( event ); 1748 } 1749}; 1750 1751proto.getTouch = function( touches ) { 1752 for ( var i=0; i < touches.length; i++ ) { 1753 var touch = touches[i]; 1754 if ( touch.identifier == this.pointerIdentifier ) { 1755 return touch; 1756 } 1757 } 1758}; 1759 1760 1761proto.onmousedown = function( event ) { 1762 var button = event.button; 1763 if ( button && ( button !== 0 && button !== 1 ) ) { 1764 return; 1765 } 1766 this._pointerDown( event, event ); 1767}; 1768 1769proto.ontouchstart = function( event ) { 1770 this._pointerDown( event, event.changedTouches[0] ); 1771}; 1772 1773proto.onpointerdown = function( event ) { 1774 this._pointerDown( event, event ); 1775}; 1776 1777proto._pointerDown = function( event, pointer ) { 1778 if ( event.button || this.isPointerDown ) { 1779 return; 1780 } 1781 1782 this.isPointerDown = true; 1783 this.pointerIdentifier = pointer.pointerId !== undefined ? 1784 pointer.pointerId : pointer.identifier; 1785 1786 this.pointerDown( event, pointer ); 1787}; 1788 1789proto.pointerDown = function( event, pointer ) { 1790 this._bindPostStartEvents( event ); 1791 this.emitEvent( 'pointerDown', [ event, pointer ] ); 1792}; 1793 1794var postStartEvents = {
1795 mousedown: [ 'mousemove', 'mouseup' ], 1796 touchstart: [ 'touchmove', 'touchend', 'touchcancel' ], 1797 pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ], 1798}; 1799 1800proto._bindPostStartEvents = function( event ) { 1801 if ( !event ) { 1802 return; 1803 } 1804 var events = postStartEvents[ event.type ]; 1805 events.forEach( function( eventName ) { 1806 window.addEventListener( eventName, this ); 1807 }, this ); 1808 this._boundPointerEvents = events; 1809}; 1810 1811proto._unbindPostStartEvents = function() { 1812 if ( !this._boundPointerEvents ) { 1813 return; 1814 } 1815 this._boundPointerEvents.forEach( function( eventName ) { 1816 window.removeEventListener( eventName, this ); 1817 }, this ); 1818 1819 delete this._boundPointerEvents; 1820}; 1821 1822 1823proto.onmousemove = function( event ) { 1824 this._pointerMove( event, event ); 1825}; 1826 1827proto.onpointermove = function( event ) { 1828 if ( event.pointerId == this.pointerIdentifier ) { 1829 this._pointerMove( event, event ); 1830 } 1831}; 1832 1833proto.ontouchmove = function( event ) { 1834 var touch = this.getTouch( event.changedTouches ); 1835 if ( touch ) { 1836 this._pointerMove( event, touch ); 1837 } 1838}; 1839 1840proto._pointerMove = function( event, pointer ) { 1841 this.pointerMove( event, pointer ); 1842}; 1843 1844proto.pointerMove = function( event, pointer ) { 1845 this.emitEvent( 'pointerMove', [ event, pointer ] ); 1846}; 1847 1848 1849 1850proto.onmouseup = function( event ) { 1851 this._pointerUp( event, event ); 1852}; 1853 1854proto.onpointerup = function( event ) { 1855 if ( event.pointerId == this.pointerIdentifier ) { 1856 this._pointerUp( event, event ); 1857 } 1858}; 1859 1860proto.ontouchend = function( event ) { 1861 var touch = this.getTouch( event.changedTouches ); 1862 if ( touch ) { 1863 this._pointerUp( event, touch ); 1864 } 1865}; 1866 1867proto._pointerUp = function( event, pointer ) { 1868 this._pointerDone(); 1869 this.pointerUp( event, pointer ); 1870}; 1871 1872proto.pointerUp = function( event, pointer ) { 1873 this.emitEvent( 'pointerUp', [ event, pointer ] ); 1874}; 1875 1876 1877proto._pointerDone = function() { 1878 this._pointerReset(); 1879 this._unbindPostStartEvents(); 1880 this.pointerDone(); 1881}; 1882 1883proto._pointerReset = function() { 1884 this.isPointerDown = false; 1885 delete this.pointerIdentifier; 1886}; 1887 1888proto.pointerDone = noop; 1889 1890 1891proto.onpointercancel = function( event ) { 1892 if ( event.pointerId == this.pointerIdentifier ) { 1893 this._pointerCancel( event, event ); 1894 } 1895}; 1896 1897proto.ontouchcancel = function( event ) { 1898 var touch = this.getTouch( event.changedTouches ); 1899 if ( touch ) { 1900 this._pointerCancel( event, touch ); 1901 } 1902}; 1903 1904proto._pointerCancel = function( event, pointer ) { 1905 this._pointerDone(); 1906 this.pointerCancel( event, pointer ); 1907}; 1908 1909proto.pointerCancel = function( event, pointer ) { 1910 this.emitEvent( 'pointerCancel', [ event, pointer ] ); 1911}; 1912 1913 1914Unipointer.getPointerPoint = function( pointer ) { 1915 return { 1916 x: pointer.pageX, 1917 y: pointer.pageY 1918 }; 1919}; 1920 1921 1922return Unipointer; 1923 1924})); 1925 1926 1927 1928( function( window, factory ) { 1929 1930 if ( typeof define == 'function' && define.amd ) { 1931 define( 'unidragger/unidragger',[ 1932 'unipointer/unipointer' 1933 ], function( Unipointer ) { 1934 return factory( window, Unipointer ); 1935 }); 1936 } else if ( typeof module == 'object' && module.exports ) { 1937 module.exports = factory( 1938 window, 1939 require('unipointer') 1940 ); 1941 } else { 1942 window.Unidragger = factory( 1943 window, 1944 window.Unipointer 1945 ); 1946 } 1947 1948}( window, function factory( window, Unipointer ) { 1949 1950 1951 1952 1953function Unidragger() {} 1954 1955var proto = Unidragger.prototype = Object.create( Unipointer.prototype ); 1956 1957 1958proto.bindHandles = function() { 1959 this._bindHandles( true ); 1960}; 1961 1962proto.unbindHandles = function() { 1963 this._bindHandles( false ); 1964}; 1965 1966proto._bindHandles = function( isAdd ) { 1967 isAdd = isAdd === undefined ? true : isAdd; 1968 var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener'; 1969 var touchAction = isAdd ? this._touchActionValue : ''; 1970 for ( var i=0; i < this.handles.length; i++ ) { 1971 var handle = this.handles[i]; 1972 this._bindStartEvent( handle, isAdd ); 1973 handle[ bindMethod ]( 'click', this ); 1974 if ( window.PointerEvent ) { 1975 handle.style.touchAction = touchAction; 1976 } 1977 } 1978}; 1979 1980proto._touchActionValue = 'none'; 1981 1982 1983proto.pointerDown = function( event, pointer ) { 1984 var isOkay = this.okayPointerDown( event ); 1985 if ( !isOkay ) { 1986 return; 1987 } 1988 this.pointerDownPointer = { 1989 pageX: pointer.pageX, 1990 pageY: pointer.pageY, 1991 }; 1992 1993 event.preventDefault(); 1994 this.pointerDownBlur(); 1995 this._bindPostStartEvents( event ); 1996 this.emitEvent( 'pointerDown', [ event, pointer ] ); 1997}; 1998 1999var cursorNodes = { 2000 TEXTAREA: true, 2001 INPUT: true, 2002 SELECT: true, 2003 OPTION: true, 2004}; 2005 2006var clickTypes = { 2007 radio: true, 2008 checkbox: true, 2009 button: true, 2010 submit: true, 2011 image: true, 2012 file: true, 2013}; 2014 2015proto.okayPointerDown = function( event ) { 2016 var isCursorNode = cursorNodes[ event.target.nodeName ];
vendor: 8,927 bytes, lines 2017-2371
2017 var isClickType = clickTypes[ event.target.type ]; 2018 var isOkay = !isCursorNode || isClickType; 2019 if ( !isOkay ) { 2020 this._pointerReset(); 2021 } 2022 return isOkay; 2023}; 2024 2025proto.pointerDownBlur = function() { 2026 var focused = document.activeElement; 2027 var canBlur = focused && focused.blur && focused != document.body; 2028 if ( canBlur ) { 2029 focused.blur(); 2030 } 2031}; 2032 2033 2034proto.pointerMove = function( event, pointer ) { 2035 var moveVector = this._dragPointerMove( event, pointer ); 2036 this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] ); 2037 this._dragMove( event, pointer, moveVector ); 2038}; 2039 2040proto._dragPointerMove = function( event, pointer ) { 2041 var moveVector = { 2042 x: pointer.pageX - this.pointerDownPointer.pageX, 2043 y: pointer.pageY - this.pointerDownPointer.pageY 2044 }; 2045 if ( !this.isDragging && this.hasDragStarted( moveVector ) ) { 2046 this._dragStart( event, pointer ); 2047 } 2048 return moveVector; 2049}; 2050 2051proto.hasDragStarted = function( moveVector ) { 2052 return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3; 2053}; 2054 2055 2056proto.pointerUp = function( event, pointer ) { 2057 this.emitEvent( 'pointerUp', [ event, pointer ] ); 2058 this._dragPointerUp( event, pointer ); 2059}; 2060 2061proto._dragPointerUp = function( event, pointer ) { 2062 if ( this.isDragging ) { 2063 this._dragEnd( event, pointer ); 2064 } else { 2065 this._staticClick( event, pointer ); 2066 } 2067}; 2068 2069 2070proto._dragStart = function( event, pointer ) { 2071 this.isDragging = true; 2072 this.isPreventingClicks = true; 2073 this.dragStart( event, pointer ); 2074}; 2075 2076proto.dragStart = function( event, pointer ) { 2077 this.emitEvent( 'dragStart', [ event, pointer ] ); 2078}; 2079 2080proto._dragMove = function( event, pointer, moveVector ) { 2081 if ( !this.isDragging ) { 2082 return; 2083 } 2084 2085 this.dragMove( event, pointer, moveVector ); 2086}; 2087 2088proto.dragMove = function( event, pointer, moveVector ) { 2089 event.preventDefault(); 2090 this.emitEvent( 'dragMove', [ event, pointer, moveVector ] ); 2091}; 2092 2093proto._dragEnd = function( event, pointer ) { 2094 this.isDragging = false; 2095 setTimeout( function() { 2096 delete this.isPreventingClicks; 2097 }.bind( this ) ); 2098 2099 this.dragEnd( event, pointer ); 2100}; 2101 2102proto.dragEnd = function( event, pointer ) { 2103 this.emitEvent( 'dragEnd', [ event, pointer ] ); 2104}; 2105 2106 2107proto.onclick = function( event ) { 2108 if ( this.isPreventingClicks ) { 2109 event.preventDefault(); 2110 } 2111}; 2112 2113 2114proto._staticClick = function( event, pointer ) { 2115 if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) { 2116 return; 2117 } 2118 2119 this.staticClick( event, pointer ); 2120 2121 if ( event.type != 'mouseup' ) { 2122 this.isIgnoringMouseUp = true; 2123 setTimeout( function() { 2124 delete this.isIgnoringMouseUp; 2125 }.bind( this ), 400 ); 2126 } 2127}; 2128 2129proto.staticClick = function( event, pointer ) { 2130 this.emitEvent( 'staticClick', [ event, pointer ] ); 2131}; 2132 2133 2134Unidragger.getPointerPoint = Unipointer.getPointerPoint; 2135 2136 2137return Unidragger; 2138 2139})); 2140 2141( function( window, factory ) { 2142 if ( typeof define == 'function' && define.amd ) { 2143 define( 'flickity/js/drag',[ 2144 './flickity', 2145 'unidragger/unidragger', 2146 'fizzy-ui-utils/utils', 2147 ], function( Flickity, Unidragger, utils ) { 2148 return factory( window, Flickity, Unidragger, utils ); 2149 } ); 2150 } else if ( typeof module == 'object' && module.exports ) { 2151 module.exports = factory( 2152 window, 2153 require('./flickity'), 2154 require('unidragger'), 2155 require('fizzy-ui-utils') 2156 ); 2157 } else { 2158 window.Flickity = factory( 2159 window, 2160 window.Flickity, 2161 window.Unidragger, 2162 window.fizzyUIUtils 2163 ); 2164 } 2165 2166}( window, function factory( window, Flickity, Unidragger, utils ) { 2167 2168 2169 2170 2171utils.extend( Flickity.defaults, { 2172 draggable: '>1', 2173 dragThreshold: 3, 2174} ); 2175 2176 2177Flickity.createMethods.push('_createDrag'); 2178 2179 2180var proto = Flickity.prototype; 2181utils.extend( proto, Unidragger.prototype ); 2182proto._touchActionValue = 'pan-y'; 2183 2184 2185proto._createDrag = function() { 2186 this.on( 'activate', this.onActivateDrag ); 2187 this.on( 'uiChange', this._uiChangeDrag ); 2188 this.on( 'deactivate', this.onDeactivateDrag ); 2189 this.on( 'cellChange', this.updateDraggable ); 2190}; 2191 2192proto.onActivateDrag = function() { 2193 this.handles = [ this.viewport ]; 2194 this.bindHandles(); 2195 this.updateDraggable(); 2196}; 2197 2198proto.onDeactivateDrag = function() { 2199 this.unbindHandles(); 2200 this.element.classList.remove('is-draggable'); 2201}; 2202 2203proto.updateDraggable = function() { 2204 if ( this.options.draggable == '>1' ) { 2205 this.isDraggable = this.slides.length > 1; 2206 } else { 2207 this.isDraggable = this.options.draggable; 2208 } 2209 if ( this.isDraggable ) { 2210 this.element.classList.add('is-draggable'); 2211 } else { 2212 this.element.classList.remove('is-draggable'); 2213 } 2214}; 2215 2216proto.bindDrag = function() { 2217 this.options.draggable = true; 2218 this.updateDraggable(); 2219}; 2220 2221proto.unbindDrag = function() { 2222 this.options.draggable = false; 2223 this.updateDraggable(); 2224}; 2225 2226proto._uiChangeDrag = function() { 2227 delete this.isFreeScrolling; 2228}; 2229 2230 2231proto.pointerDown = function( event, pointer ) { 2232 if ( !this.isDraggable ) { 2233 this._pointerDownDefault( event, pointer ); 2234 return; 2235 } 2236 var isOkay = this.okayPointerDown( event ); 2237 if ( !isOkay ) { 2238 return; 2239 } 2240 2241 this._pointerDownPreventDefault( event ); 2242 this.pointerDownFocus( event ); 2243 if ( document.activeElement != this.element ) { 2244 this.pointerDownBlur(); 2245 } 2246 2247 this.dragX = this.x; 2248 this.viewport.classList.add('is-pointer-down'); 2249 this.pointerDownScroll = getScrollPosition(); 2250 window.addEventListener( 'scroll', this ); 2251 2252 this._pointerDownDefault( event, pointer ); 2253}; 2254 2255proto._pointerDownDefault = function( event, pointer ) { 2256 this.pointerDownPointer = { 2257 pageX: pointer.pageX, 2258 pageY: pointer.pageY, 2259 }; 2260 this._bindPostStartEvents( event ); 2261 this.dispatchEvent( 'pointerDown', event, [ pointer ] ); 2262}; 2263 2264var focusNodes = { 2265 INPUT: true, 2266 TEXTAREA: true, 2267 SELECT: true, 2268}; 2269 2270proto.pointerDownFocus = function( event ) { 2271 var isFocusNode = focusNodes[ event.target.nodeName ]; 2272 if ( !isFocusNode ) { 2273 this.focus(); 2274 } 2275}; 2276 2277proto._pointerDownPreventDefault = function( event ) { 2278 var isTouchStart = event.type == 'touchstart'; 2279 var isTouchPointer = event.pointerType == 'touch'; 2280 var isFocusNode = focusNodes[ event.target.nodeName ]; 2281 if ( !isTouchStart && !isTouchPointer && !isFocusNode ) { 2282 event.preventDefault(); 2283 } 2284}; 2285 2286 2287proto.hasDragStarted = function( moveVector ) { 2288 return Math.abs( moveVector.x ) > this.options.dragThreshold; 2289}; 2290 2291 2292proto.pointerUp = function( event, pointer ) { 2293 delete this.isTouchScrolling; 2294 this.viewport.classList.remove('is-pointer-down'); 2295 this.dispatchEvent( 'pointerUp', event, [ pointer ] ); 2296 this._dragPointerUp( event, pointer ); 2297}; 2298 2299proto.pointerDone = function() { 2300 window.removeEventListener( 'scroll', this ); 2301 delete this.pointerDownScroll; 2302}; 2303 2304 2305proto.dragStart = function( event, pointer ) { 2306 if ( !this.isDraggable ) { 2307 return; 2308 } 2309 this.dragStartPosition = this.x; 2310 this.startAnimation(); 2311 window.removeEventListener( 'scroll', this ); 2312 this.dispatchEvent( 'dragStart', event, [ pointer ] ); 2313}; 2314 2315proto.pointerMove = function( event, pointer ) { 2316 var moveVector = this._dragPointerMove( event, pointer ); 2317 this.dispatchEvent( 'pointerMove', event, [ pointer, moveVector ] ); 2318 this._dragMove( event, pointer, moveVector ); 2319}; 2320 2321proto.dragMove = function( event, pointer, moveVector ) { 2322 if ( !this.isDraggable ) { 2323 return; 2324 } 2325 event.preventDefault(); 2326 2327 this.previousDragX = this.dragX; 2328 var direction = this.options.rightToLeft ? -1 : 1; 2329 if ( this.options.wrapAround ) { 2330 moveVector.x %= this.slideableWidth; 2331 } 2332 var dragX = this.dragStartPosition + moveVector.x * direction; 2333 2334 if ( !this.options.wrapAround && this.slides.length ) { 2335 var originBound = Math.max( -this.slides[0].target, this.dragStartPosition ); 2336 dragX = dragX > originBound ? ( dragX + originBound ) * 0.5 : dragX; 2337 var endBound = Math.min( -this.getLastSlide().target, this.dragStartPosition ); 2338 dragX = dragX < endBound ? ( dragX + endBound ) * 0.5 : dragX; 2339 } 2340 2341 this.dragX = dragX; 2342 2343 this.dragMoveTime = new Date(); 2344 this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] ); 2345}; 2346 2347proto.dragEnd = function( event, pointer ) { 2348 if ( !this.isDraggable ) { 2349 return; 2350 } 2351 if ( this.options.freeScroll ) { 2352 this.isFreeScrolling = true; 2353 } 2354 var index = this.dragEndRestingSelect(); 2355 2356 if ( this.options.freeScroll && !this.options.wrapAround ) { 2357 var restingX = this.getRestingPosition(); 2358 this.isFreeScrolling = -restingX > this.slides[0].target && 2359 -restingX < this.getLastSlide().target; 2360 } else if ( !this.options.freeScroll && index == this.selectedIndex ) { 2361 index += this.dragEndBoostSelect(); 2362 } 2363 delete this.previousDragX; 2364 this.isDragSelect = this.options.wrapAround; 2365 this.select( index ); 2366 delete this.isDragSelect; 2367 this.dispatchEvent( 'dragEnd', event, [ pointer ] ); 2368}; 2369 2370proto.dragEndRestingSelect = function() { 2371 var restingX = this.getRestingPosition();
2372 var distance = Math.abs( this.getSlideDistance( -restingX, this.selectedIndex ) ); 2373 var positiveResting = this._getClosestResting( restingX, distance, 1 ); 2374 var negativeResting = this._getClosestResting( restingX, distance, -1 ); 2375 var index = positiveResting.distance < negativeResting.distance ? 2376 positiveResting.index : negativeResting.index; 2377 return index; 2378}; 2379 2380proto._getClosestResting = function( restingX, distance, increment ) { 2381 var index = this.selectedIndex; 2382 var minDistance = Infinity; 2383 var condition = this.options.contain && !this.options.wrapAround ? 2384 function( dist, minDist ) { 2385 return dist <= minDist; 2386 } : function( dist, minDist ) { 2387 return dist < minDist; 2388 }; 2389 while ( condition( distance, minDistance ) ) { 2390 index += increment; 2391 minDistance = distance; 2392 distance = this.getSlideDistance( -restingX, index ); 2393 if ( distance === null ) { 2394 break; 2395 } 2396 distance = Math.abs( distance ); 2397 } 2398 return { 2399 distance: minDistance, 2400 index: index - increment, 2401 }; 2402}; 2403 2404proto.getSlideDistance = function( x, index ) { 2405 var len = this.slides.length; 2406 var isWrapAround = this.options.wrapAround && len > 1; 2407 var slideIndex = isWrapAround ? utils.modulo( index, len ) : index; 2408 var slide = this.slides[ slideIndex ]; 2409 if ( !slide ) { 2410 return null; 2411 } 2412 var wrap = isWrapAround ? this.slideableWidth * Math.floor( index/len ) : 0; 2413 return x - ( slide.target + wrap ); 2414}; 2415 2416proto.dragEndBoostSelect = function() { 2417 if ( this.previousDragX === undefined || !this.dragMoveTime || 2418 new Date() - this.dragMoveTime > 100 ) { 2419 return 0; 2420 } 2421 2422 var distance = this.getSlideDistance( -this.dragX, this.selectedIndex ); 2423 var delta = this.previousDragX - this.dragX; 2424 if ( distance > 0 && delta > 0 ) { 2425 return 1; 2426 } else if ( distance < 0 && delta < 0 ) { 2427 return -1; 2428 } 2429 return 0; 2430}; 2431 2432 2433proto.staticClick = function( event, pointer ) { 2434 var clickedCell = this.getParentCell( event.target ); 2435 var cellElem = clickedCell && clickedCell.element; 2436 var cellIndex = clickedCell && this.cells.indexOf( clickedCell ); 2437 this.dispatchEvent( 'staticClick', event, [ pointer, cellElem, cellIndex ] ); 2438}; 2439 2440 2441proto.onscroll = function() { 2442 var scroll = getScrollPosition(); 2443 var scrollMoveX = this.pointerDownScroll.x - scroll.x; 2444 var scrollMoveY = this.pointerDownScroll.y - scroll.y; 2445 if ( Math.abs( scrollMoveX ) > 3 || Math.abs( scrollMoveY ) > 3 ) { 2446 this._pointerDone(); 2447 } 2448}; 2449 2450 2451function getScrollPosition() { 2452 return { 2453 x: window.pageXOffset, 2454 y: window.pageYOffset, 2455 }; 2456} 2457 2458 2459return Flickity; 2460 2461} ) ); 2462 2463( function( window, factory ) { 2464 if ( typeof define == 'function' && define.amd ) { 2465 define( 'flickity/js/prev-next-button',[ 2466 './flickity', 2467 'unipointer/unipointer', 2468 'fizzy-ui-utils/utils', 2469 ], function( Flickity, Unipointer, utils ) { 2470 return factory( window, Flickity, Unipointer, utils ); 2471 } ); 2472 } else if ( typeof module == 'object' && module.exports ) { 2473 module.exports = factory( 2474 window, 2475 require('./flickity'), 2476 require('unipointer'), 2477 require('fizzy-ui-utils') 2478 ); 2479 } else { 2480 factory( 2481 window, 2482 window.Flickity, 2483 window.Unipointer, 2484 window.fizzyUIUtils 2485 ); 2486 } 2487 2488}( window, function factory( window, Flickity, Unipointer, utils ) { 2489'use strict'; 2490 2491var svgURI = 'http://www.w3.org/2000/svg'; 2492 2493 2494function PrevNextButton( direction, parent ) { 2495 this.direction = direction; 2496 this.parent = parent; 2497 this._create(); 2498} 2499 2500PrevNextButton.prototype = Object.create( Unipointer.prototype ); 2501 2502PrevNextButton.prototype._create = function() { 2503 this.isEnabled = true; 2504 this.isPrevious = this.direction == -1; 2505 var leftDirection = this.parent.options.rightToLeft ? 1 : -1; 2506 this.isLeft = this.direction == leftDirection; 2507 2508 var element = this.element = document.createElement('button'); 2509 element.className = 'flickity-button flickity-prev-next-button'; 2510 element.className += this.isPrevious ? ' previous' : ' next'; 2511 element.setAttribute( 'type', 'button' ); 2512 this.disable(); 2513 2514 element.setAttribute( 'aria-label', this.isPrevious ? 'Previous' : 'Next' ); 2515 2516 var svg = this.createSVG(); 2517 element.appendChild( svg ); 2518 this.parent.on( 'select', this.update.bind( this ) ); 2519 this.on( 'pointerDown', this.parent.childUIPointerDown.bind( this.parent ) ); 2520}; 2521 2522PrevNextButton.prototype.activate = function() { 2523 this.bindStartEvent( this.element ); 2524 this.element.addEventListener( 'click', this ); 2525 this.parent.element.appendChild( this.element ); 2526}; 2527 2528PrevNextButton.prototype.deactivate = function() { 2529 this.parent.element.removeChild( this.element ); 2530 this.unbindStartEvent( this.element ); 2531 this.element.removeEventListener( 'click', this ); 2532}; 2533 2534PrevNextButton.prototype.createSVG = function() { 2535 var svg = document.createElementNS( svgURI, 'svg' ); 2536 svg.setAttribute( 'class', 'flickity-button-icon' ); 2537 svg.setAttribute( 'viewBox', '0 0 100 100' ); 2538 var path = document.createElementNS( svgURI, 'path' ); 2539 var pathMovements = getArrowMovements( this.parent.options.arrowShape ); 2540 path.setAttribute( 'd', pathMovements ); 2541 path.setAttribute( 'class', 'arrow' ); 2542 if ( !this.isLeft ) { 2543 path.setAttribute( 'transform', 'translate(100, 100) rotate(180) ' ); 2544 } 2545 svg.appendChild( path ); 2546 return svg; 2547}; 2548 2549function getArrowMovements( shape ) { 2550 if ( typeof shape == 'string' ) { 2551 return shape; 2552 } 2553 return 'M ' + shape.x0 + ',50' + 2554 ' L ' + shape.x1 + ',' + ( shape.y1 + 50 ) + 2555 ' L ' + shape.x2 + ',' + ( shape.y2 + 50 ) + 2556 ' L ' + shape.x3 + ',50 ' + 2557 ' L ' + shape.x2 + ',' + ( 50 - shape.y2 ) + 2558 ' L ' + shape.x1 + ',' + ( 50 - shape.y1 ) + 2559 ' Z'; 2560} 2561 2562PrevNextButton.prototype.handleEvent = utils.handleEvent; 2563 2564PrevNextButton.prototype.onclick = function() { 2565 if ( !this.isEnabled ) { 2566 return; 2567 } 2568 this.parent.uiChange(); 2569 var method = this.isPrevious ? 'previous' : 'next'; 2570 this.parent[ method ](); 2571}; 2572 2573 2574PrevNextButton.prototype.enable = function() { 2575 if ( this.isEnabled ) { 2576 return; 2577 } 2578 this.element.disabled = false;
2579 this.isEnabled = true; 2580}; 2581 2582PrevNextButton.prototype.disable = function() { 2583 if ( !this.isEnabled ) { 2584 return; 2585 } 2586 this.element.disabled = true; 2587 this.isEnabled = false; 2588}; 2589 2590PrevNextButton.prototype.update = function() { 2591 var slides = this.parent.slides; 2592 if ( this.parent.options.wrapAround && slides.length > 1 ) { 2593 this.enable(); 2594 return; 2595 } 2596 var lastIndex = slides.length ? slides.length - 1 : 0; 2597 var boundIndex = this.isPrevious ? 0 : lastIndex; 2598 var method = this.parent.selectedIndex == boundIndex ? 'disable' : 'enable'; 2599 this[ method ](); 2600}; 2601 2602PrevNextButton.prototype.destroy = function() { 2603 this.deactivate(); 2604 this.allOff(); 2605}; 2606 2607 2608utils.extend( Flickity.defaults, { 2609 prevNextButtons: true, 2610 arrowShape: { 2611 x0: 10, 2612 x1: 60, y1: 50, 2613 x2: 70, y2: 40, 2614 x3: 30, 2615 }, 2616} ); 2617 2618Flickity.createMethods.push('_createPrevNextButtons'); 2619var proto = Flickity.prototype; 2620 2621proto._createPrevNextButtons = function() { 2622 if ( !this.options.prevNextButtons ) { 2623 return; 2624 } 2625 2626 this.prevButton = new PrevNextButton( -1, this ); 2627 this.nextButton = new PrevNextButton( 1, this ); 2628 2629 this.on( 'activate', this.activatePrevNextButtons ); 2630}; 2631 2632proto.activatePrevNextButtons = function() { 2633 this.prevButton.activate(); 2634 this.nextButton.activate(); 2635 this.on( 'deactivate', this.deactivatePrevNextButtons ); 2636}; 2637 2638proto.deactivatePrevNextButtons = function() { 2639 this.prevButton.deactivate(); 2640 this.nextButton.deactivate(); 2641 this.off( 'deactivate', this.deactivatePrevNextButtons ); 2642}; 2643 2644 2645Flickity.PrevNextButton = PrevNextButton; 2646 2647return Flickity; 2648 2649} ) ); 2650 2651( function( window, factory ) { 2652 if ( typeof define == 'function' && define.amd ) { 2653 define( 'flickity/js/page-dots',[ 2654 './flickity', 2655 'unipointer/unipointer', 2656 'fizzy-ui-utils/utils', 2657 ], function( Flickity, Unipointer, utils ) { 2658 return factory( window, Flickity, Unipointer, utils ); 2659 } ); 2660 } else if ( typeof module == 'object' && module.exports ) { 2661 module.exports = factory( 2662 window, 2663 require('./flickity'), 2664 require('unipointer'), 2665 require('fizzy-ui-utils') 2666 ); 2667 } else { 2668 factory( 2669 window, 2670 window.Flickity, 2671 window.Unipointer, 2672 window.fizzyUIUtils 2673 ); 2674 } 2675 2676}( window, function factory( window, Flickity, Unipointer, utils ) { 2677 2678 2679 2680 2681function PageDots( parent ) { 2682 this.parent = parent; 2683 this._create(); 2684} 2685 2686PageDots.prototype = Object.create( Unipointer.prototype ); 2687 2688PageDots.prototype._create = function() { 2689 this.holder = document.createElement('ol'); 2690 this.holder.className = 'flickity-page-dots'; 2691 this.dots = []; 2692 this.handleClick = this.onClick.bind( this ); 2693 this.on( 'pointerDown', this.parent.childUIPointerDown.bind( this.parent ) ); 2694}; 2695 2696PageDots.prototype.activate = function() { 2697 this.setDots(); 2698 this.holder.addEventListener( 'click', this.handleClick ); 2699 this.bindStartEvent( this.holder ); 2700 this.parent.element.appendChild( this.holder ); 2701}; 2702 2703PageDots.prototype.deactivate = function() { 2704 this.holder.removeEventListener( 'click', this.handleClick ); 2705 this.unbindStartEvent( this.holder ); 2706 this.parent.element.removeChild( this.holder ); 2707}; 2708 2709PageDots.prototype.setDots = function() { 2710 var delta = this.parent.slides.length - this.dots.length; 2711 if ( delta > 0 ) { 2712 this.addDots( delta ); 2713 } else if ( delta < 0 ) { 2714 this.removeDots( -delta ); 2715 } 2716}; 2717 2718PageDots.prototype.addDots = function( count ) { 2719 var fragment = document.createDocumentFragment(); 2720 var newDots = []; 2721 var length = this.dots.length; 2722 var max = length + count; 2723 2724 for ( var i = length; i < max; i++ ) { 2725 var dot = document.createElement('li'); 2726 dot.className = 'dot'; 2727 dot.setAttribute( 'aria-label', 'Page dot ' + ( i + 1 ) ); 2728 fragment.appendChild( dot ); 2729 newDots.push( dot ); 2730 } 2731 2732 this.holder.appendChild( fragment ); 2733 this.dots = this.dots.concat( newDots ); 2734}; 2735 2736PageDots.prototype.removeDots = function( count ) { 2737 var removeDots = this.dots.splice( this.dots.length - count, count ); 2738 removeDots.forEach( function( dot ) { 2739 this.holder.removeChild( dot ); 2740 }, this ); 2741}; 2742 2743PageDots.prototype.updateSelected = function() { 2744 if ( this.selectedDot ) { 2745 this.selectedDot.className = 'dot'; 2746 this.selectedDot.removeAttribute('aria-current'); 2747 } 2748 if ( !this.dots.length ) { 2749 return; 2750 } 2751 this.selectedDot = this.dots[ this.parent.selectedIndex ]; 2752 this.selectedDot.className = 'dot is-selected'; 2753 this.selectedDot.setAttribute( 'aria-current', 'step' ); 2754}; 2755 2756PageDots.prototype.onTap = 2757PageDots.prototype.onClick = function( event ) { 2758 var target = event.target; 2759 if ( target.nodeName != 'LI' ) { 2760 return; 2761 } 2762 2763 this.parent.uiChange(); 2764 var index = this.dots.indexOf( target ); 2765 this.parent.select( index ); 2766}; 2767 2768PageDots.prototype.destroy = function() { 2769 this.deactivate(); 2770 this.allOff(); 2771}; 2772 2773Flickity.PageDots = PageDots; 2774 2775 2776utils.extend( Flickity.defaults, { 2777 pageDots: true, 2778} ); 2779 2780Flickity.createMethods.push('_createPageDots'); 2781 2782var proto = Flickity.prototype; 2783 2784proto._createPageDots = function() { 2785 if ( !this.options.pageDots ) { 2786 return; 2787 } 2788 this.pageDots = new PageDots( this ); 2789 this.on( 'activate', this.activatePageDots ); 2790 this.on( 'select', this.updateSelectedPageDots ); 2791 this.on( 'cellChange', this.updatePageDots ); 2792 this.on( 'resize', this.updatePageDots ); 2793 this.on( 'deactivate', this.deactivatePageDots ); 2794}; 2795 2796proto.activatePageDots = function() { 2797 this.pageDots.activate(); 2798}; 2799 2800proto.updateSelectedPageDots = function() { 2801 this.pageDots.updateSelected(); 2802}; 2803 2804proto.updatePageDots = function() { 2805 this.pageDots.setDots(); 2806}; 2807 2808proto.deactivatePageDots = function() { 2809 this.pageDots.deactivate(); 2810}; 2811 2812 2813Flickity.PageDots = PageDots; 2814 2815return Flickity; 2816 2817} ) ); 2818 2819( function( window, factory ) { 2820 if ( typeof define == 'function' && define.amd ) { 2821 define( 'flickity/js/player',[ 2822 'ev-emitter/ev-emitter', 2823 'fizzy-ui-utils/utils', 2824 './flickity', 2825 ], function( EvEmitter, utils, Flickity ) { 2826 return factory( EvEmitter, utils, Flickity ); 2827 } ); 2828 } else if ( typeof module == 'object' && module.exports ) { 2829 module.exports = factory( 2830 require('ev-emitter'), 2831 require('fizzy-ui-utils'), 2832 require('./flickity') 2833 ); 2834 } else { 2835 factory( 2836 window.EvEmitter, 2837 window.fizzyUIUtils, 2838 window.Flickity 2839 ); 2840 } 2841 2842}( window, function factory( EvEmitter, utils, Flickity ) { 2843 2844 2845 2846 2847function Player( parent ) { 2848 this.parent = parent; 2849 this.state = 'stopped'; 2850 this.onVisibilityChange = this.visibilityChange.bind( this ); 2851 this.onVisibilityPlay = this.visibilityPlay.bind( this ); 2852} 2853 2854Player.prototype = Object.create( EvEmitter.prototype ); 2855 2856Player.prototype.play = function() { 2857 if ( this.state == 'playing' ) { 2858 return; 2859 } 2860 var isPageHidden = document.hidden; 2861 if ( isPageHidden ) { 2862 document.addEventListener( 'visibilitychange', this.onVisibilityPlay ); 2863 return; 2864 } 2865 2866 this.state = 'playing'; 2867 document.addEventListener( 'visibilitychange', this.onVisibilityChange ); 2868 this.tick(); 2869}; 2870 2871Player.prototype.tick = function() { 2872 if ( this.state != 'playing' ) { 2873 return; 2874 } 2875 2876 var time = this.parent.options.autoPlay; 2877 time = typeof time == 'number' ? time : 3000; 2878 var _this = this; 2879 this.clear(); 2880 this.timeout = setTimeout( function() { 2881 _this.parent.next( true ); 2882 _this.tick(); 2883 }, time ); 2884}; 2885 2886Player.prototype.stop = function() { 2887 this.state = 'stopped'; 2888 this.clear(); 2889 document.removeEventListener( 'visibilitychange', this.onVisibilityChange ); 2890}; 2891 2892Player.prototype.clear = function() { 2893 clearTimeout( this.timeout ); 2894}; 2895 2896Player.prototype.pause = function() { 2897 if ( this.state == 'playing' ) { 2898 this.state = 'paused'; 2899 this.clear(); 2900 } 2901}; 2902 2903Player.prototype.unpause = function() { 2904 if ( this.state == 'paused' ) { 2905 this.play(); 2906 } 2907}; 2908 2909Player.prototype.visibilityChange = function() { 2910 var isPageHidden = document.hidden; 2911 this[ isPageHidden ? 'pause' : 'unpause' ](); 2912}; 2913 2914Player.prototype.visibilityPlay = function() { 2915 this.play(); 2916 document.removeEventListener( 'visibilitychange', this.onVisibilityPlay ); 2917}; 2918 2919 2920utils.extend( Flickity.defaults, { 2921 pauseAutoPlayOnHover: true, 2922} ); 2923 2924Flickity.createMethods.push('_createPlayer'); 2925var proto = Flickity.prototype; 2926 2927proto._createPlayer = function() { 2928 this.player = new Player( this ); 2929 2930 this.on( 'activate', this.activatePlayer ); 2931 this.on( 'uiChange', this.stopPlayer ); 2932 this.on( 'pointerDown', this.stopPlayer ); 2933 this.on( 'deactivate', this.deactivatePlayer ); 2934}; 2935 2936proto.activatePlayer = function() { 2937 if ( !this.options.autoPlay ) { 2938 return; 2939 } 2940 this.player.play(); 2941 this.element.addEventListener( 'mouseenter', this ); 2942}; 2943 2944 2945proto.playPlayer = function() { 2946 this.player.play(); 2947}; 2948 2949proto.stopPlayer = function() { 2950 this.player.stop(); 2951}; 2952 2953proto.pausePlayer = function() { 2954 this.player.pause(); 2955}; 2956 2957proto.unpausePlayer = function() { 2958 this.player.unpause(); 2959}; 2960 2961proto.deactivatePlayer = function() { 2962 this.player.stop(); 2963 this.element.removeEventListener( 'mouseenter', this ); 2964}; 2965 2966 2967proto.onmouseenter = function() { 2968 if ( !this.options.pauseAutoPlayOnHover ) { 2969 return; 2970 } 2971 this.player.pause(); 2972 this.element.addEventListener( 'mouseleave', this ); 2973}; 2974 2975proto.onmouseleave = function() { 2976 this.player.unpause(); 2977 this.element.removeEventListener( 'mouseleave', this ); 2978}; 2979 2980 2981Flickity.Player = Player; 2982 2983return Flickity; 2984 2985} ) ); 2986 2987( function( window, factory ) { 2988 if ( typeof define == 'function' && define.amd ) { 2989 define( 'flickity/js/add-remove-cell',[ 2990 './flickity', 2991 'fizzy-ui-utils/utils', 2992 ], function( Flickity, utils ) { 2993 return factory( window, Flickity, utils ); 2994 } ); 2995 } else if ( typeof module == 'object' && module.exports ) { 2996 module.exports = factory( 2997 window, 2998 require('./flickity'), 2999 require('fizzy-ui-utils') 3000 ); 3001 } else { 3002 factory( 3003 window, 3004 window.Flickity, 3005 window.fizzyUIUtils 3006 ); 3007 } 3008 3009}( window, function factory( window, Flickity, utils ) { 3010 3011 3012 3013function getCellsFragment( cells ) { 3014 var fragment = document.createDocumentFragment();
3015 cells.forEach( function( cell ) { 3016 fragment.appendChild( cell.element ); 3017 } ); 3018 return fragment; 3019} 3020 3021 3022var proto = Flickity.prototype; 3023 3024proto.insert = function( elems, index ) { 3025 var cells = this._makeCells( elems ); 3026 if ( !cells || !cells.length ) { 3027 return; 3028 } 3029 var len = this.cells.length; 3030 index = index === undefined ? len : index; 3031 var fragment = getCellsFragment( cells ); 3032 var isAppend = index == len; 3033 if ( isAppend ) { 3034 this.slider.appendChild( fragment ); 3035 } else { 3036 var insertCellElement = this.cells[ index ].element; 3037 this.slider.insertBefore( fragment, insertCellElement ); 3038 } 3039 if ( index === 0 ) { 3040 this.cells = cells.concat( this.cells ); 3041 } else if ( isAppend ) { 3042 this.cells = this.cells.concat( cells ); 3043 } else { 3044 var endCells = this.cells.splice( index, len - index ); 3045 this.cells = this.cells.concat( cells ).concat( endCells ); 3046 } 3047 3048 this._sizeCells( cells ); 3049 this.cellChange( index, true ); 3050}; 3051 3052proto.append = function( elems ) { 3053 this.insert( elems, this.cells.length ); 3054}; 3055 3056proto.prepend = function( elems ) { 3057 this.insert( elems, 0 ); 3058}; 3059 3060proto.remove = function( elems ) { 3061 var cells = this.getCells( elems ); 3062 if ( !cells || !cells.length ) { 3063 return; 3064 } 3065 3066 var minCellIndex = this.cells.length - 1; 3067 cells.forEach( function( cell ) { 3068 cell.remove(); 3069 var index = this.cells.indexOf( cell ); 3070 minCellIndex = Math.min( index, minCellIndex ); 3071 utils.removeFrom( this.cells, cell ); 3072 }, this ); 3073 3074 this.cellChange( minCellIndex, true ); 3075}; 3076 3077proto.cellSizeChange = function( elem ) { 3078 var cell = this.getCell( elem ); 3079 if ( !cell ) { 3080 return; 3081 } 3082 cell.getSize(); 3083 3084 var index = this.cells.indexOf( cell ); 3085 this.cellChange( index ); 3086}; 3087 3088proto.cellChange = function( changedCellIndex, isPositioningSlider ) { 3089 var prevSelectedElem = this.selectedElement; 3090 this._positionCells( changedCellIndex ); 3091 this._getWrapShiftCells(); 3092 this.setGallerySize(); 3093 var cell = this.getCell( prevSelectedElem ); 3094 if ( cell ) { 3095 this.selectedIndex = this.getCellSlideIndex( cell ); 3096 } 3097 this.selectedIndex = Math.min( this.slides.length - 1, this.selectedIndex ); 3098 3099 this.emitEvent( 'cellChange', [ changedCellIndex ] ); 3100 this.select( this.selectedIndex ); 3101 if ( isPositioningSlider ) { 3102 this.positionSliderAtSelected(); 3103 } 3104}; 3105 3106 3107return Flickity; 3108 3109} ) ); 3110 3111( function( window, factory ) { 3112 if ( typeof define == 'function' && define.amd ) { 3113 define( 'flickity/js/lazyload',[ 3114 './flickity', 3115 'fizzy-ui-utils/utils', 3116 ], function( Flickity, utils ) { 3117 return factory( window, Flickity, utils ); 3118 } ); 3119 } else if ( typeof module == 'object' && module.exports ) { 3120 module.exports = factory( 3121 window, 3122 require('./flickity'), 3123 require('fizzy-ui-utils') 3124 ); 3125 } else { 3126 factory( 3127 window, 3128 window.Flickity, 3129 window.fizzyUIUtils 3130 ); 3131 } 3132 3133}( window, function factory( window, Flickity, utils ) { 3134'use strict'; 3135 3136Flickity.createMethods.push('_createLazyload'); 3137var proto = Flickity.prototype; 3138 3139proto._createLazyload = function() { 3140 this.on( 'select', this.lazyLoad ); 3141}; 3142 3143proto.lazyLoad = function() { 3144 var lazyLoad = this.options.lazyLoad; 3145 if ( !lazyLoad ) { 3146 return; 3147 } 3148 var adjCount = typeof lazyLoad == 'number' ? lazyLoad : 0; 3149 var cellElems = this.getAdjacentCellElements( adjCount ); 3150 var lazyImages = [];
3151 cellElems.forEach( function( cellElem ) { 3152 var lazyCellImages = getCellLazyImages( cellElem ); 3153 lazyImages = lazyImages.concat( lazyCellImages ); 3154 } ); 3155 lazyImages.forEach( function( img ) { 3156 new LazyLoader( img, this ); 3157 }, this ); 3158}; 3159 3160function getCellLazyImages( cellElem ) { 3161 if ( cellElem.nodeName == 'IMG' ) { 3162 var lazyloadAttr = cellElem.getAttribute('data-flickity-lazyload'); 3163 var srcAttr = cellElem.getAttribute('data-flickity-lazyload-src'); 3164 var srcsetAttr = cellElem.getAttribute('data-flickity-lazyload-srcset'); 3165 if ( lazyloadAttr || srcAttr || srcsetAttr ) { 3166 return [ cellElem ]; 3167 } 3168 } 3169 var lazySelector = 'img[data-flickity-lazyload], ' + 3170 'img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]'; 3171 var imgs = cellElem.querySelectorAll( lazySelector ); 3172 return utils.makeArray( imgs ); 3173} 3174 3175 3176function LazyLoader( img, flickity ) { 3177 this.img = img; 3178 this.flickity = flickity; 3179 this.load(); 3180} 3181 3182LazyLoader.prototype.handleEvent = utils.handleEvent; 3183 3184LazyLoader.prototype.load = function() { 3185 this.img.addEventListener( 'load', this ); 3186 this.img.addEventListener( 'error', this ); 3187 var src = this.img.getAttribute('data-flickity-lazyload') || 3188 this.img.getAttribute('data-flickity-lazyload-src'); 3189 var srcset = this.img.getAttribute('data-flickity-lazyload-srcset'); 3190 this.img.src = src; 3191 if ( srcset ) { 3192 this.img.setAttribute( 'srcset', srcset ); 3193 } 3194 this.img.removeAttribute('data-flickity-lazyload'); 3195 this.img.removeAttribute('data-flickity-lazyload-src'); 3196 this.img.removeAttribute('data-flickity-lazyload-srcset'); 3197}; 3198 3199LazyLoader.prototype.onload = function( event ) { 3200 this.complete( event, 'flickity-lazyloaded' ); 3201}; 3202 3203LazyLoader.prototype.onerror = function( event ) { 3204 this.complete( event, 'flickity-lazyerror' ); 3205}; 3206 3207LazyLoader.prototype.complete = function( event, className ) { 3208 this.img.removeEventListener( 'load', this ); 3209 this.img.removeEventListener( 'error', this ); 3210 3211 var cell = this.flickity.getParentCell( this.img ); 3212 var cellElem = cell && cell.element; 3213 this.flickity.cellSizeChange( cellElem ); 3214 3215 this.img.classList.add( className ); 3216 this.flickity.dispatchEvent( 'lazyLoad', event, cellElem ); 3217}; 3218 3219 3220Flickity.LazyLoader = LazyLoader; 3221 3222return Flickity; 3223 3224} ) ); 3225 3226 3227( function( window, factory ) { 3228 if ( typeof define == 'function' && define.amd ) { 3229 define( 'flickity/js/index',[ 3230 './flickity', 3231 './drag', 3232 './prev-next-button', 3233 './page-dots', 3234 './player', 3235 './add-remove-cell', 3236 './lazyload', 3237 ], factory ); 3238 } else if ( typeof module == 'object' && module.exports ) { 3239 module.exports = factory( 3240 require('./flickity'), 3241 require('./drag'), 3242 require('./prev-next-button'), 3243 require('./page-dots'), 3244 require('./player'), 3245 require('./add-remove-cell'), 3246 require('./lazyload') 3247 ); 3248 } 3249 3250} )( window, function factory( Flickity ) { 3251 return Flickity; 3252} ); 3253 3254 3255 3256( function( window, factory ) { 3257 if ( typeof define == 'function' && define.amd ) { 3258 define( 'flickity-as-nav-for/as-nav-for',[ 3259 'flickity/js/index', 3260 'fizzy-ui-utils/utils' 3261 ], factory ); 3262 } else if ( typeof module == 'object' && module.exports ) { 3263 module.exports = factory( 3264 require('flickity'), 3265 require('fizzy-ui-utils') 3266 ); 3267 } else { 3268 window.Flickity = factory( 3269 window.Flickity, 3270 window.fizzyUIUtils 3271 ); 3272 } 3273 3274}( window, function factory( Flickity, utils ) { 3275 3276 3277 3278 3279 3280Flickity.createMethods.push('_createAsNavFor'); 3281 3282var proto = Flickity.prototype; 3283 3284proto._createAsNavFor = function() { 3285 this.on( 'activate', this.activateAsNavFor ); 3286 this.on( 'deactivate', this.deactivateAsNavFor ); 3287 this.on( 'destroy', this.destroyAsNavFor ); 3288 3289 var asNavForOption = this.options.asNavFor; 3290 if ( !asNavForOption ) { 3291 return; 3292 } 3293 var _this = this; 3294 setTimeout( function initNavCompanion() { 3295 _this.setNavCompanion( asNavForOption ); 3296 }); 3297}; 3298 3299proto.setNavCompanion = function( elem ) { 3300 elem = utils.getQueryElement( elem ); 3301 var companion = Flickity.data( elem ); 3302 if ( !companion || companion == this ) { 3303 return; 3304 } 3305 3306 this.navCompanion = companion; 3307 var _this = this; 3308 this.onNavCompanionSelect = function() { 3309 _this.navCompanionSelect(); 3310 }; 3311 companion.on( 'select', this.onNavCompanionSelect ); 3312 this.on( 'staticClick', this.onNavStaticClick ); 3313 3314 this.navCompanionSelect( true ); 3315}; 3316 3317proto.navCompanionSelect = function( isInstant ) { 3318 var companionCells = this.navCompanion && this.navCompanion.selectedCells; 3319 if ( !companionCells ) { 3320 return; 3321 } 3322 var selectedCell = companionCells[0]; 3323 var firstIndex = this.navCompanion.cells.indexOf( selectedCell ); 3324 var lastIndex = firstIndex + companionCells.length - 1; 3325 var selectIndex = Math.floor( lerp( firstIndex, lastIndex, 3326 this.navCompanion.cellAlign ) ); 3327 this.selectCell( selectIndex, false, isInstant ); 3328 this.removeNavSelectedElements(); 3329 if ( selectIndex >= this.cells.length ) { 3330 return; 3331 } 3332 3333 var selectedCells = this.cells.slice( firstIndex, lastIndex + 1 ); 3334 this.navSelectedElements = selectedCells.map( function( cell ) { 3335 return cell.element; 3336 }); 3337 this.changeNavSelectedClass('add'); 3338}; 3339 3340function lerp( a, b, t ) { 3341 return ( b - a ) * t + a; 3342} 3343 3344proto.changeNavSelectedClass = function( method ) {
vendor: 10,444 bytes, lines 3345-3784
3345 this.navSelectedElements.forEach( function( navElem ) { 3346 navElem.classList[ method ]('is-nav-selected'); 3347 }); 3348}; 3349 3350proto.activateAsNavFor = function() { 3351 this.navCompanionSelect( true ); 3352}; 3353 3354proto.removeNavSelectedElements = function() { 3355 if ( !this.navSelectedElements ) { 3356 return; 3357 } 3358 this.changeNavSelectedClass('remove'); 3359 delete this.navSelectedElements; 3360}; 3361 3362proto.onNavStaticClick = function( event, pointer, cellElement, cellIndex ) { 3363 if ( typeof cellIndex == 'number' ) { 3364 this.navCompanion.selectCell( cellIndex ); 3365 } 3366}; 3367 3368proto.deactivateAsNavFor = function() { 3369 this.removeNavSelectedElements(); 3370}; 3371 3372proto.destroyAsNavFor = function() { 3373 if ( !this.navCompanion ) { 3374 return; 3375 } 3376 this.navCompanion.off( 'select', this.onNavCompanionSelect ); 3377 this.off( 'staticClick', this.onNavStaticClick ); 3378 delete this.navCompanion; 3379}; 3380 3381 3382return Flickity; 3383 3384})); 3385 3386 3387( function( window, factory ) { 'use strict'; 3388 3389 3390 if ( typeof define == 'function' && define.amd ) { 3391 define( 'imagesloaded/imagesloaded',[ 3392 'ev-emitter/ev-emitter' 3393 ], function( EvEmitter ) { 3394 return factory( window, EvEmitter ); 3395 }); 3396 } else if ( typeof module == 'object' && module.exports ) { 3397 module.exports = factory( 3398 window, 3399 require('ev-emitter') 3400 ); 3401 } else { 3402 window.imagesLoaded = factory( 3403 window, 3404 window.EvEmitter 3405 ); 3406 } 3407 3408})( typeof window !== 'undefined' ? window : this, 3409 3410 3411function factory( window, EvEmitter ) { 3412 3413 3414 3415var $ = window.jQuery; 3416var console = window.console; 3417 3418 3419function extend( a, b ) { 3420 for ( var prop in b ) { 3421 a[ prop ] = b[ prop ]; 3422 } 3423 return a; 3424} 3425 3426var arraySlice = Array.prototype.slice; 3427 3428function makeArray( obj ) { 3429 if ( Array.isArray( obj ) ) { 3430 return obj; 3431 } 3432 3433 var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number'; 3434 if ( isArrayLike ) { 3435 return arraySlice.call( obj ); 3436 } 3437 3438 return [ obj ]; 3439} 3440 3441 3442function ImagesLoaded( elem, options, onAlways ) { 3443 if ( !( this instanceof ImagesLoaded ) ) { 3444 return new ImagesLoaded( elem, options, onAlways ); 3445 } 3446 var queryElem = elem; 3447 if ( typeof elem == 'string' ) { 3448 queryElem = document.querySelectorAll( elem ); 3449 } 3450 if ( !queryElem ) { 3451 console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) ); 3452 return; 3453 } 3454 3455 this.elements = makeArray( queryElem ); 3456 this.options = extend( {}, this.options ); 3457 if ( typeof options == 'function' ) { 3458 onAlways = options; 3459 } else { 3460 extend( this.options, options ); 3461 } 3462 3463 if ( onAlways ) { 3464 this.on( 'always', onAlways ); 3465 } 3466 3467 this.getImages(); 3468 3469 if ( $ ) { 3470 this.jqDeferred = new $.Deferred(); 3471 } 3472 3473 setTimeout( this.check.bind( this ) ); 3474} 3475 3476ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); 3477 3478ImagesLoaded.prototype.options = {}; 3479 3480ImagesLoaded.prototype.getImages = function() { 3481 this.images = []; 3482 3483 this.elements.forEach( this.addElementImages, this ); 3484}; 3485 3486ImagesLoaded.prototype.addElementImages = function( elem ) { 3487 if ( elem.nodeName == 'IMG' ) { 3488 this.addImage( elem ); 3489 } 3490 if ( this.options.background === true ) { 3491 this.addElementBackgroundImages( elem ); 3492 } 3493 3494 var nodeType = elem.nodeType; 3495 if ( !nodeType || !elementNodeTypes[ nodeType ] ) { 3496 return; 3497 } 3498 var childImgs = elem.querySelectorAll('img'); 3499 for ( var i=0; i < childImgs.length; i++ ) { 3500 var img = childImgs[i]; 3501 this.addImage( img ); 3502 } 3503 3504 if ( typeof this.options.background == 'string' ) { 3505 var children = elem.querySelectorAll( this.options.background ); 3506 for ( i=0; i < children.length; i++ ) { 3507 var child = children[i]; 3508 this.addElementBackgroundImages( child ); 3509 } 3510 } 3511}; 3512 3513var elementNodeTypes = { 3514 1: true, 3515 9: true, 3516 11: true 3517}; 3518 3519ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) { 3520 var style = getComputedStyle( elem ); 3521 if ( !style ) { 3522 return; 3523 } 3524 var reURL = /url\((['"])?(.*?)\1\)/gi; 3525 var matches = reURL.exec( style.backgroundImage ); 3526 while ( matches !== null ) { 3527 var url = matches && matches[2]; 3528 if ( url ) { 3529 this.addBackground( url, elem ); 3530 } 3531 matches = reURL.exec( style.backgroundImage ); 3532 } 3533}; 3534 3535ImagesLoaded.prototype.addImage = function( img ) { 3536 var loadingImage = new LoadingImage( img ); 3537 this.images.push( loadingImage ); 3538}; 3539 3540ImagesLoaded.prototype.addBackground = function( url, elem ) { 3541 var background = new Background( url, elem ); 3542 this.images.push( background ); 3543}; 3544 3545ImagesLoaded.prototype.check = function() { 3546 var _this = this; 3547 this.progressedCount = 0; 3548 this.hasAnyBroken = false; 3549 if ( !this.images.length ) { 3550 this.complete(); 3551 return; 3552 } 3553 3554 function onProgress( image, elem, message ) { 3555 setTimeout( function() { 3556 _this.progress( image, elem, message ); 3557 }); 3558 } 3559 3560 this.images.forEach( function( loadingImage ) { 3561 loadingImage.once( 'progress', onProgress ); 3562 loadingImage.check(); 3563 }); 3564}; 3565 3566ImagesLoaded.prototype.progress = function( image, elem, message ) { 3567 this.progressedCount++; 3568 this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded; 3569 this.emitEvent( 'progress', [ this, image, elem ] ); 3570 if ( this.jqDeferred && this.jqDeferred.notify ) { 3571 this.jqDeferred.notify( this, image ); 3572 } 3573 if ( this.progressedCount == this.images.length ) { 3574 this.complete(); 3575 } 3576 3577 if ( this.options.debug && console ) { 3578 console.log( 'progress: ' + message, image, elem ); 3579 } 3580}; 3581 3582ImagesLoaded.prototype.complete = function() { 3583 var eventName = this.hasAnyBroken ? 'fail' : 'done'; 3584 this.isComplete = true; 3585 this.emitEvent( eventName, [ this ] ); 3586 this.emitEvent( 'always', [ this ] ); 3587 if ( this.jqDeferred ) { 3588 var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve'; 3589 this.jqDeferred[ jqMethod ]( this ); 3590 } 3591}; 3592 3593 3594function LoadingImage( img ) { 3595 this.img = img; 3596} 3597 3598LoadingImage.prototype = Object.create( EvEmitter.prototype ); 3599 3600LoadingImage.prototype.check = function() { 3601 var isComplete = this.getIsImageComplete(); 3602 if ( isComplete ) { 3603 this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); 3604 return; 3605 } 3606 3607 this.proxyImage = new Image(); 3608 this.proxyImage.addEventListener( 'load', this ); 3609 this.proxyImage.addEventListener( 'error', this ); 3610 this.img.addEventListener( 'load', this ); 3611 this.img.addEventListener( 'error', this ); 3612 this.proxyImage.src = this.img.src; 3613}; 3614 3615LoadingImage.prototype.getIsImageComplete = function() { 3616 return this.img.complete && this.img.naturalWidth; 3617}; 3618 3619LoadingImage.prototype.confirm = function( isLoaded, message ) { 3620 this.isLoaded = isLoaded; 3621 this.emitEvent( 'progress', [ this, this.img, message ] ); 3622}; 3623 3624 3625LoadingImage.prototype.handleEvent = function( event ) { 3626 var method = 'on' + event.type; 3627 if ( this[ method ] ) { 3628 this[ method ]( event ); 3629 } 3630}; 3631 3632LoadingImage.prototype.onload = function() { 3633 this.confirm( true, 'onload' ); 3634 this.unbindEvents(); 3635}; 3636 3637LoadingImage.prototype.onerror = function() { 3638 this.confirm( false, 'onerror' ); 3639 this.unbindEvents(); 3640}; 3641 3642LoadingImage.prototype.unbindEvents = function() { 3643 this.proxyImage.removeEventListener( 'load', this ); 3644 this.proxyImage.removeEventListener( 'error', this ); 3645 this.img.removeEventListener( 'load', this ); 3646 this.img.removeEventListener( 'error', this ); 3647}; 3648 3649 3650function Background( url, element ) { 3651 this.url = url; 3652 this.element = element; 3653 this.img = new Image(); 3654} 3655 3656Background.prototype = Object.create( LoadingImage.prototype ); 3657 3658Background.prototype.check = function() { 3659 this.img.addEventListener( 'load', this ); 3660 this.img.addEventListener( 'error', this ); 3661 this.img.src = this.url; 3662 var isComplete = this.getIsImageComplete(); 3663 if ( isComplete ) { 3664 this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); 3665 this.unbindEvents(); 3666 } 3667}; 3668 3669Background.prototype.unbindEvents = function() { 3670 this.img.removeEventListener( 'load', this ); 3671 this.img.removeEventListener( 'error', this ); 3672}; 3673 3674Background.prototype.confirm = function( isLoaded, message ) { 3675 this.isLoaded = isLoaded; 3676 this.emitEvent( 'progress', [ this, this.element, message ] ); 3677}; 3678 3679 3680ImagesLoaded.makeJQueryPlugin = function( jQuery ) { 3681 jQuery = jQuery || window.jQuery; 3682 if ( !jQuery ) { 3683 return; 3684 } 3685 $ = jQuery; 3686 $.fn.imagesLoaded = function( options, callback ) { 3687 var instance = new ImagesLoaded( this, options, callback ); 3688 return instance.jqDeferred.promise( $(this) ); 3689 }; 3690}; 3691ImagesLoaded.makeJQueryPlugin(); 3692 3693 3694return ImagesLoaded; 3695 3696}); 3697 3698 3699 3700( function( window, factory ) { 3701 if ( typeof define == 'function' && define.amd ) { 3702 define( [ 3703 'flickity/js/index', 3704 'imagesloaded/imagesloaded' 3705 ], function( Flickity, imagesLoaded ) { 3706 return factory( window, Flickity, imagesLoaded ); 3707 }); 3708 } else if ( typeof module == 'object' && module.exports ) { 3709 module.exports = factory( 3710 window, 3711 require('flickity'), 3712 require('imagesloaded') 3713 ); 3714 } else { 3715 window.Flickity = factory( 3716 window, 3717 window.Flickity, 3718 window.imagesLoaded 3719 ); 3720 } 3721 3722}( window, function factory( window, Flickity, imagesLoaded ) { 3723'use strict'; 3724 3725Flickity.createMethods.push('_createImagesLoaded'); 3726 3727var proto = Flickity.prototype; 3728 3729proto._createImagesLoaded = function() { 3730 this.on( 'activate', this.imagesLoaded ); 3731}; 3732 3733proto.imagesLoaded = function() { 3734 if ( !this.options.imagesLoaded ) { 3735 return; 3736 } 3737 var _this = this; 3738 function onImagesLoadedProgress( instance, image ) { 3739 var cell = _this.getParentCell( image.img ); 3740 _this.cellSizeChange( cell && cell.element ); 3741 if ( !_this.options.freeScroll ) { 3742 _this.positionSliderAtSelected(); 3743 } 3744 } 3745 imagesLoaded( this.slider ).on( 'progress', onImagesLoadedProgress ); 3746}; 3747 3748return Flickity; 3749 3750})); 3751 3752 3753 3754( function( window, factory ) { 3755 if ( typeof define == 'function' && define.amd ) { 3756 define( [ 3757 'flickity/js/index', 3758 'fizzy-ui-utils/utils', 3759 ], factory ); 3760 } else if ( typeof module == 'object' && module.exports ) { 3761 module.exports = factory( 3762 require('flickity'), 3763 require('fizzy-ui-utils') 3764 ); 3765 } else { 3766 factory( 3767 window.Flickity, 3768 window.fizzyUIUtils 3769 ); 3770 } 3771 3772}( this, function factory( Flickity, utils ) { 3773 3774 3775var Slide = Flickity.Slide; 3776 3777var slideUpdateTarget = Slide.prototype.updateTarget; 3778Slide.prototype.updateTarget = function() { 3779 slideUpdateTarget.apply( this, arguments ); 3780 if ( !this.parent.options.fade ) { 3781 return; 3782 } 3783 var slideTargetX = this.target - this.x; 3784 var firstCellX = this.cells[0].x;
3785 this.cells.forEach( function( cell ) { 3786 var targetX = cell.x - firstCellX - slideTargetX; 3787 cell.renderPosition( targetX ); 3788 }); 3789}; 3790 3791Slide.prototype.setOpacity = function( alpha ) { 3792 this.cells.forEach( function( cell ) { 3793 cell.element.style.opacity = alpha; 3794 }); 3795}; 3796 3797 3798var proto = Flickity.prototype; 3799 3800Flickity.createMethods.push('_createFade'); 3801 3802proto._createFade = function() { 3803 this.fadeIndex = this.selectedIndex; 3804 this.prevSelectedIndex = this.selectedIndex; 3805 this.on( 'select', this.onSelectFade ); 3806 this.on( 'dragEnd', this.onDragEndFade ); 3807 this.on( 'settle', this.onSettleFade ); 3808 this.on( 'activate', this.onActivateFade ); 3809 this.on( 'deactivate', this.onDeactivateFade ); 3810}; 3811 3812var updateSlides = proto.updateSlides; 3813proto.updateSlides = function() { 3814 updateSlides.apply( this, arguments ); 3815 if ( !this.options.fade ) { 3816 return; 3817 } 3818 this.slides.forEach( function( slide, i ) { 3819 var alpha = i == this.selectedIndex ? 1 : 0; 3820 slide.setOpacity( alpha ); 3821 }, this ); 3822}; 3823 3824 3825proto.onSelectFade = function() { 3826 this.fadeIndex = Math.min( this.prevSelectedIndex, this.slides.length - 1 ); 3827 this.prevSelectedIndex = this.selectedIndex; 3828}; 3829 3830proto.onSettleFade = function() { 3831 delete this.didDragEnd; 3832 if ( !this.options.fade ) { 3833 return; 3834 } 3835 this.selectedSlide.setOpacity( 1 ); 3836 var fadedSlide = this.slides[ this.fadeIndex ]; 3837 if ( fadedSlide && this.fadeIndex != this.selectedIndex ) { 3838 this.slides[ this.fadeIndex ].setOpacity( 0 ); 3839 } 3840}; 3841 3842proto.onDragEndFade = function() { 3843 this.didDragEnd = true; 3844}; 3845 3846proto.onActivateFade = function() { 3847 if ( this.options.fade ) { 3848 this.element.classList.add('is-fade'); 3849 } 3850}; 3851 3852proto.onDeactivateFade = function() { 3853 if ( !this.options.fade ) { 3854 return; 3855 } 3856 this.element.classList.remove('is-fade'); 3857 this.slides.forEach( function( slide ) { 3858 slide.setOpacity(''); 3859 }); 3860}; 3861 3862 3863var positionSlider = proto.positionSlider; 3864proto.positionSlider = function() { 3865 if ( !this.options.fade ) { 3866 positionSlider.apply( this, arguments ); 3867 return; 3868 } 3869 3870 this.fadeSlides(); 3871 this.dispatchScrollEvent(); 3872}; 3873 3874var positionSliderAtSelected = proto.positionSliderAtSelected; 3875proto.positionSliderAtSelected = function() { 3876 if ( this.options.fade ) { 3877 this.setTranslateX( 0 ); 3878 } 3879 positionSliderAtSelected.apply( this, arguments ); 3880}; 3881 3882proto.fadeSlides = function() { 3883 if ( this.slides.length < 2 ) { 3884 return; 3885 } 3886 var indexes = this.getFadeIndexes(); 3887 var fadeSlideA = this.slides[ indexes.a ]; 3888 var fadeSlideB = this.slides[ indexes.b ]; 3889 var distance = this.wrapDifference( fadeSlideA.target, fadeSlideB.target ); 3890 var progress = this.wrapDifference( fadeSlideA.target, -this.x ); 3891 progress = progress / distance; 3892 3893 fadeSlideA.setOpacity( 1 - progress ); 3894 fadeSlideB.setOpacity( progress ); 3895 3896 var fadeHideIndex = indexes.a; 3897 if ( this.isDragging ) { 3898 fadeHideIndex = progress > 0.5 ? indexes.a : indexes.b; 3899 } 3900 var isNewHideIndex = this.fadeHideIndex != undefined && 3901 this.fadeHideIndex != fadeHideIndex && 3902 this.fadeHideIndex != indexes.a && 3903 this.fadeHideIndex != indexes.b; 3904 if ( isNewHideIndex ) { 3905 this.slides[ this.fadeHideIndex ].setOpacity( 0 ); 3906 } 3907 this.fadeHideIndex = fadeHideIndex; 3908}; 3909 3910proto.getFadeIndexes = function() { 3911 if ( !this.isDragging && !this.didDragEnd ) { 3912 return { 3913 a: this.fadeIndex, 3914 b: this.selectedIndex, 3915 }; 3916 } 3917 if ( this.options.wrapAround ) { 3918 return this.getFadeDragWrapIndexes(); 3919 } else { 3920 return this.getFadeDragLimitIndexes(); 3921 } 3922}; 3923 3924proto.getFadeDragWrapIndexes = function() { 3925 var distances = this.slides.map( function( slide, i ) { 3926 return this.getSlideDistance( -this.x, i ); 3927 }, this ); 3928 var absDistances = distances.map( function( distance ) { 3929 return Math.abs( distance ); 3930 }); 3931 var minDistance = Math.min.apply( Math, absDistances ); 3932 var closestIndex = absDistances.indexOf( minDistance ); 3933 var distance = distances[ closestIndex ]; 3934 var len = this.slides.length; 3935 3936 var delta = distance >= 0 ? 1 : -1; 3937 return { 3938 a: closestIndex, 3939 b: utils.modulo( closestIndex + delta, len ), 3940 }; 3941}; 3942 3943proto.getFadeDragLimitIndexes = function() { 3944 var dragIndex = 0; 3945 for ( var i=0; i < this.slides.length - 1; i++ ) { 3946 var slide = this.slides[i]; 3947 if ( -this.x < slide.target ) { 3948 break; 3949 } 3950 dragIndex = i; 3951 } 3952 return { 3953 a: dragIndex, 3954 b: dragIndex + 1, 3955 }; 3956}; 3957 3958proto.wrapDifference = function( a, b ) { 3959 var diff = b - a; 3960 3961 if ( !this.options.wrapAround ) { 3962 return diff; 3963 } 3964 3965 var diffPlus = diff + this.slideableWidth; 3966 var diffMinus = diff - this.slideableWidth; 3967 if ( Math.abs( diffPlus ) < Math.abs( diff ) ) { 3968 diff = diffPlus; 3969 } 3970 if ( Math.abs( diffMinus ) < Math.abs( diff ) ) { 3971 diff = diffMinus; 3972 } 3973 return diff; 3974}; 3975 3976 3977var _getWrapShiftCells = proto._getWrapShiftCells; 3978proto._getWrapShiftCells = function() { 3979 if ( !this.options.fade ) { 3980 _getWrapShiftCells.apply( this, arguments ); 3981 } 3982}; 3983 3984var shiftWrapCells = proto.shiftWrapCells; 3985proto.shiftWrapCells = function() { 3986 if ( !this.options.fade ) { 3987 shiftWrapCells.apply( this, arguments ); 3988 } 3989}; 3990 3991return Flickity; 3992 3993})); 3994 3995function formatMoney(cents, format) { 3996 if (typeof cents === 'string') { 3997 cents = cents.replace('.', ''); 3998 } 3999 let value = ''; 4000 const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/; 4001 const formatString = format || moneyFormat; 4002 4003 function formatWithDelimiters( 4004 number, 4005 precision = 2, 4006 thousands = ',', 4007 decimal = '.' 4008 ) { 4009 if (isNaN(number) || number == null) { 4010 return 0; 4011 } 4012 4013 number = (number / 100.0).toFixed(precision); 4014 4015 const parts = number.split('.'); 4016 const dollarsAmount = parts[0].replace( 4017 /(\d)(?=(\d\d\d)+(?!\d))/g, 4018 `$1${thousands}` 4019 ); 4020 const centsAmount = parts[1] ? decimal + parts[1] : ''; 4021 4022 return dollarsAmount + centsAmount; 4023 } 4024 4025 switch (formatString.match(placeholderRegex)[1]) { 4026 case 'amount': 4027 value = formatWithDelimiters(cents, 2); 4028 break; 4029 case 'amount_no_decimals': 4030 value = formatWithDelimiters(cents, 0); 4031 break; 4032 case 'amount_with_comma_separator': 4033 value = formatWithDelimiters(cents, 2, '.', ','); 4034 break; 4035 case 'amount_no_decimals_with_comma_separator': 4036 value = formatWithDelimiters(cents, 0, '.', ','); 4037 break; 4038 case "amount_with_apostrophe_separator": 4039 value = formatWithDelimiters(cents, 2, "'", "."); 4040 break; 4041 } 4042 4043 return formatString.replace(placeholderRegex, value); 4044} 4045 4046var dispatchCustomEvent = function dispatchCustomEvent(eventName) { 4047 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 4048 var detail = { 4049 detail: data 4050 }; 4051 var event = new CustomEvent(eventName, data ? detail : null); 4052 document.dispatchEvent(event); 4053}; 4054!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self, function () { var n = e.Cookies, r = e.Cookies = t(); r.noConflict = function () { return e.Cookies = n, r } }()) }(this, (function () { "use strict"; function e(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) e[r] = n[r] } return e } var t = { read: function (e) { return e.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent) }, write: function (e) { return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent) } }; return function n(r, o) { function i(t, n, i) { if ("undefined" != typeof document) { "number" == typeof (i = e({}, o, i)).expires && (i.expires = new Date(Date.now() + 864e5 * i.expires)), i.expires && (i.expires = i.expires.toUTCString()), t = encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape), n = r.write(n, t); var c = ""; for (var u in i) i[u] && (c += "; " + u, !0 !== i[u] && (c += "=" + i[u].split(";")[0])); return document.cookie = t + "=" + n + c } } return Object.create({ set: i, get: function (e) { if ("undefined" != typeof document && (!arguments.length || e)) { for (var n = document.cookie ? document.cookie.split("; ") : [], o = {}, i = 0; i < n.length; i++) { var c = n[i].split("="), u = c.slice(1).join("="); '"' === u[0] && (u = u.slice(1, -1)); try { var f = t.read(c[0]); if (o[f] = r.read(u, f), e === f) break } catch (e) { } }
4054 return e ? o[e] : o } }, remove: function (t, n) { i(t, "", e({}, n, { expires: -1 })) }, withAttributes: function (t) { return n(this.converter, e({}, this.attributes, t)) }, withConverter: function (t) { return n(e({}, this.converter, t), this.attributes) } }, { attributes: { value: Object.freeze(o) }, converter: { value: Object.freeze(r) } }) }(t, { path: "/" }) })); 4055 4056!function(a,b){var c=b(a,a.document);a.lazySizes=c,"object"==typeof module&&module.exports&&(module.exports=c)}("undefined"!=typeof window?window:{},function(a,b){"use strict";var c,d;if(function(){var b,c={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};d=a.lazySizesConfig||a.lazysizesConfig||{};for(b in c)b in d||(d[b]=c[b])}(),!b||!b.getElementsByClassName)return{init:function(){},cfg:d,noSupport:!0};var e=b.documentElement,f=a.Date,g=a.HTMLPictureElement,h="addEventListener",i="getAttribute",j=a[h],k=a.setTimeout,l=a.requestAnimationFrame||k,m=a.requestIdleCallback,n=/^picture$/i,o=["load","error","lazyincluded","_lazyloaded"],p={},q=Array.prototype.forEach,r=function(a,b){return p[b]||(p[b]=new RegExp("(\\s|^)"+b+"(\\s|$)")),p[b].test(a[i]("class")||"")&&p[b]},s=function(a,b){r(a,b)||a.setAttribute("class",(a[i]("class")||"").trim()+" "+b)},t=function(a,b){var c;(c=r(a,b))&&a.setAttribute("class",(a[i]("class")||"").replace(c," "))},u=function(a,b,c){var d=c?h:"removeEventListener";c&&u(a,b),o.forEach(function(c){a[d](c,b)})},v=function(a,d,e,f,g){var h=b.createEvent("Event");return e||(e={}),e.instance=c,h.initEvent(d,!f,!g),h.detail=e,a.dispatchEvent(h),h},w=function(b,c){var e;!g&&(e=a.picturefill||d.pf)?(c&&c.src&&!b[i]("srcset")&&b.setAttribute("srcset",c.src),e({reevaluate:!0,elements:[b]})):c&&c.src&&(b.src=c.src)},x=function(a,b){return(getComputedStyle(a,null)||{})[b]},y=function(a,b,c){for(c=c||a.offsetWidth;c<d.minSize&&b&&!a._lazysizesWidth;)c=b.offsetWidth,b=b.parentNode;return c},z=function(){var a,c,d=[],e=[],f=d,g=function(){var b=f;for(f=d.length?e:d,a=!0,c=!1;b.length;)b.shift()();a=!1},h=function(d,e){a&&!e?d.apply(this,arguments):(f.push(d),c||(c=!0,(b.hidden?k:l)(g)))};return h._lsFlush=g,h}(),A=function(a,b){return b?function(){z(a)}:function(){var b=this,c=arguments;z(function(){a.apply(b,c)})}},B=function(a){var b,c=0,e=d.throttleDelay,g=d.ricTimeout,h=function(){b=!1,c=f.now(),a()},i=m&&g>49?function(){m(h,{timeout:g}),g!==d.ricTimeout&&(g=d.ricTimeout)}:A(function(){k(h)},!0);return function(a){var d;(a=!0===a)&&(g=33),b||(b=!0,d=e-(f.now()-c),d<0&&(d=0),a||d<9?i():k(i,d))}},C=function(a){var b,c,d=99,e=function(){b=null,a()},g=function(){var a=f.now()-c;a<d?k(g,d-a):(m||e)(e)};return function(){c=f.now(),b||(b=k(g,d))}},D=function(){var g,l,m,o,p,y,D,F,G,H,I,J,K=/^img$/i,L=/^iframe$/i,M="onscroll"in a&&!/(gle|ing)bot/.test(navigator.userAgent),N=0,O=0,P=0,Q=-1,R=function(a){P--,(!a||P<0||!a.target)&&(P=0)},S=function(a){return null==J&&(J="hidden"==x(b.body,"visibility")),J||"hidden"!=x(a.parentNode,"visibility")&&"hidden"!=x(a,"visibility")},T=function(a,c){var d,f=a,g=S(a);for(F-=c,I+=c,G-=c,H+=c;g&&(f=f.offsetParent)&&f!=b.body&&f!=e;)(g=(x(f,"opacity")||1)>0)&&"visible"!=x(f,"overflow")&&(d=f.getBoundingClientRect(),g=H>d.left&&G<d.right&&I>d.top-1&&F<d.bottom+1);return g},U=function(){var a,f,h,j,k,m,n,p,q,r,s,t,u=c.elements;if((o=d.loadMode)&&P<8&&(a=u.length)){for(f=0,Q++;f<a;f++)if(u[f]&&!u[f]._lazyRace)if(!M||c.prematureUnveil&&c.prematureUnveil(u[f]))aa(u[f]);else if((p=u[f][i]("data-expand"))&&(m=1*p)||(m=O),r||(r=!d.expand||d.expand<1?e.clientHeight>500&&e.clientWidth>500?500:370:d.expand,c._defEx=r,s=r*d.expFactor,t=d.hFac,J=null,O<s&&P<1&&Q>2&&o>2&&!b.hidden?(O=s,Q=0):O=o>1&&Q>1&&P<6?r:N),q!==m&&(y=innerWidth+m*t,D=innerHeight+m,n=-1*m,q=m),h=u[f].getBoundingClientRect(),(I=h.bottom)>=n&&(F=h.top)<=D&&(H=h.right)>=n*t&&(G=h.left)<=y&&(I||H||G||F)&&(d.loadHidden||S(u[f]))&&(l&&P<3&&!p&&(o<3||Q<4)||T(u[f],m))){if(aa(u[f]),k=!0,P>9)break}else!k&&l&&!j&&P<4&&Q<4&&o>
40562&&(g[0]||d.preloadAfterLoad)&&(g[0]||!p&&(I||H||G||F||"auto"!=u[f][i](d.sizesAttr)))&&(j=g[0]||u[f]);j&&!k&&aa(j)}},V=B(U),W=function(a){var b=a.target;if(b._lazyCache)return void delete b._lazyCache;R(a),s(b,d.loadedClass),t(b,d.loadingClass),u(b,Y),v(b,"lazyloaded")},X=A(W),Y=function(a){X({target:a.target})},Z=function(a,b){try{a.contentWindow.location.replace(b)}catch(c){a.src=b}},$=function(a){var b,c=a[i](d.srcsetAttr);(b=d.customMedia[a[i]("data-media")||a[i]("media")])&&a.setAttribute("media",b),c&&a.setAttribute("srcset",c)},_=A(function(a,b,c,e,f){var g,h,j,l,o,p;(o=v(a,"lazybeforeunveil",b)).defaultPrevented||(e&&(c?s(a,d.autosizesClass):a.setAttribute("sizes",e)),h=a[i](d.srcsetAttr),g=a[i](d.srcAttr),f&&(j=a.parentNode,l=j&&n.test(j.nodeName||"")),p=b.firesLoad||"src"in a&&(h||g||l),o={target:a},s(a,d.loadingClass),p&&(clearTimeout(m),m=k(R,2500),u(a,Y,!0)),l&&q.call(j.getElementsByTagName("source"),$),h?a.setAttribute("srcset",h):g&&!l&&(L.test(a.nodeName)?Z(a,g):a.src=g),f&&(h||l)&&w(a,{src:g})),a._lazyRace&&delete a._lazyRace,t(a,d.lazyClass),z(function(){var b=a.complete&&a.naturalWidth>1;p&&!b||(b&&s(a,"ls-is-cached"),W(o),a._lazyCache=!0,k(function(){"_lazyCache"in a&&delete a._lazyCache},9)),"lazy"==a.loading&&P--},!0)}),aa=function(a){if(!a._lazyRace){var b,c=K.test(a.nodeName),e=c&&(a[i](d.sizesAttr)||a[i]("sizes")),f="auto"==e;(!f&&l||!c||!a[i]("src")&&!a.srcset||a.complete||r(a,d.errorClass)||!r(a,d.lazyClass))&&(b=v(a,"lazyunveilread").detail,f&&E.updateElem(a,!0,a.offsetWidth),a._lazyRace=!0,P++,_(a,b,f,e,c))}},ba=C(function(){d.loadMode=3,V()}),ca=function(){3==d.loadMode&&(d.loadMode=2),ba()},da=function(){if(!l){if(f.now()-p<999)return void k(da,999);l=!0,d.loadMode=3,V(),j("scroll",ca,!0)}};return{_:function(){p=f.now(),c.elements=b.getElementsByClassName(d.lazyClass),g=b.getElementsByClassName(d.lazyClass+" "+d.preloadClass),j("scroll",V,!0),j("resize",V,!0),a.MutationObserver?new MutationObserver(V).observe(e,{childList:!0,subtree:!0,attributes:!0}):(e[h]("DOMNodeInserted",V,!0),e[h]("DOMAttrModified",V,!0),setInterval(V,999)),j("hashchange",V,!0),["focus","mouseover","click","load","transitionend","animationend"].forEach(function(a){b[h](a,V,!0)}),/d$|^c/.test(b.readyState)?da():(j("load",da),b[h]("DOMContentLoaded",V),k(da,2e4)),c.elements.length?(U(),z._lsFlush()):V()},checkElems:V,unveil:aa,_aLSL:ca}}(),E=function(){var a,c=A(function(a,b,c,d){var e,f,g;if(a._lazysizesWidth=d,d+="px",a.setAttribute("sizes",d),n.test(b.nodeName||""))for(e=b.getElementsByTagName("source"),f=0,g=e.length;f<g;f++)e[f].setAttribute("sizes",d);c.detail.dataAttr||w(a,c.detail)}),e=function(a,b,d){var e,f=a.parentNode;f&&(d=y(a,f,d),e=v(a,"lazybeforesizes",{width:d,dataAttr:!!b}),e.defaultPrevented||(d=e.detail.width)&&d!==a._lazysizesWidth&&c(a,f,e,d))},f=function(){var b,c=a.length;if(c)for(b=0;b<c;b++)e(a[b])},g=C(f);return{_:function(){a=b.getElementsByClassName(d.autosizesClass),j("resize",g)},checkElems:g,updateElem:e}}(),F=function(){!F.i&&b.getElementsByClassName&&(F.i=!0,E._(),D._())};return k(function(){d.init&&F()}),c={cfg:d,autoSizer:E,loader:D,init:F,uP:w,aC:s,rC:t,hC:r,fire:v,gW:y,rAF:z}}); 4057gsap.registerPlugin({ 4058 name: "className", 4059 init: true, 4060 register(gsap, Plugin) { 4061 var CSSPlugin = gsap.plugins.css, 4062 cssCore = CSSPlugin.core || console.warn("Requires GSAP 3.2.1 or later") || {}, 4063 _removeLinkedListItem = gsap.core._removeLinkedListItem, 4064 _removeProperty = cssCore._removeProperty, 4065 PropTween = gsap.core.PropTween, 4066 _getAllStyles = function(target, uncache) { 4067 var styles = {}, 4068 computed = getComputedStyle(target), 4069 cache = target._gsap, 4070 p; 4071 for (p in computed) { 4072 if (isNaN(p) && p !== "cssText" && p !== "length") { 4073 styles[p] = computed[p]; 4074 } 4075 } 4076 uncache && cache && (cache.uncache = true); 4077 gsap.getProperty(target, "x"); 4078 cache = target._gsap; 4079 for (p in cache) { 4080 styles[p] = cache[p]; 4081 } 4082 return styles; 4083 }; 4084 Plugin.prototype.init = function(target, endValue, tween) { 4085 let startClassList = target.getAttribute("class"), 4086 style = target.style, 4087 cssText = style.cssText, 4088 cache = target._gsap, 4089 classPT = cache.classPT, 4090 inlineToRemoveAtEnd = {}, 4091 end = (endValue.charAt(1) !== "=") ? endValue : startClassList.replace(new RegExp("(?:\\s|^)" + endValue.substr(2) + "(?![\\w-])"), "") + ((endValue.charAt(0) === "+") ? " " + endValue.substr(2) : ""), 4092 plugin = this,
4093 changingVars = {}, 4094 startVars = _getAllStyles(target), 4095 transformRelated = /(transform|perspective)/i, 4096 css = new CSSPlugin(), 4097 _renderClassName = function(ratio) { 4098 css.render(ratio, css); 4099 if (!ratio || ratio === 1) { 4100 target.setAttribute("class", ratio ? end : startClassList); 4101 for (var p in inlineToRemoveAtEnd) { 4102 _removeProperty(target, p); 4103 } 4104 } 4105 }, 4106 endVars, p; 4107 if (classPT) { 4108 classPT.r(1, classPT.d); 4109 _removeLinkedListItem(classPT.d, classPT, "_pt"); 4110 } 4111 target.setAttribute("class", end); 4112 endVars = _getAllStyles(target, true); 4113 target.setAttribute("class", startClassList); 4114 for (p in endVars) { 4115 if (endVars[p] !== startVars[p] && !transformRelated.test(p)) { 4116 changingVars[p] = endVars[p]; 4117 if (!style[p] && style[p] !== "0") { 4118 inlineToRemoveAtEnd[p] = 1; 4119 } 4120 } 4121 } 4122 cache.classPT = plugin._pt = new PropTween(null, target, "className", 0, 0, _renderClassName, plugin, 0, -11); 4123 if (style.cssText !== cssText) { 4124 style.cssText = cssText; 4125 } 4126 cache.uncache = true; 4127 gsap.getProperty(target, "x");
4128 css.init(target, changingVars, tween); 4129 plugin._props.push.apply(plugin._props, css._props); 4130 return 1; 4131 }; 4132 } 4133});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.