; (self.AMP=self.AMP||[]).push({m:1,v:"2603032146000",n:"amp-carousel",ev:"0.1",l:!0,f:function(t,i){(()=>{function i(t,i,s){return i in t?Object.defineProperty(t,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[i]=s,t}function s(t,i){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);i&&(n=n.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),s.push.apply(s,n)}return s}function n(t){for(var n=1;n{t.classList.add(g,"amp-scrollable-carousel-slide"),n.appendChild(t)})),{cells:s,container:n}}(t):function(t){var i;if(v(t))return function(t){const i=t.querySelector(`.${p(w)}`),s=Array.from(t.querySelectorAll(`.${p(x)}`)),n=Array.from(t.querySelectorAll(`.${p(g)}`));return T(i,s,n),{slides:n,slidesContainer:i,slideWrappers:s}}(t);const s=t.ownerDocument,n=d(t);t.classList.add("i-amphtml-slidescroll");const e=s.createElement("div");e.setAttribute("tabindex","-1"),e.classList.add(w,E),e.setAttribute("aria-live","polite"),t.appendChild(e);const o=[];return n.forEach((t=>{t.classList.add(g);const i=s.createElement("div");i.classList.add(x),i.appendChild(t),e.appendChild(i),o.push(i)})),null===(i=o[0])||void 0===i||i.classList.add(y),{slidesContainer:e,slides:n,slideWrappers:o}}(t);return n(n({},function(t,i){if(v(t))return function(t){const i=t.querySelector(`.${p(b)}`),s=t.querySelector(`.${p(A)}`);return T(i,s),{prevButton:i,nextButton:s}}(t);(function(t,i){const s=i.documentElement;return["⚡4email","amp4email"].some((t=>s.hasAttribute(t)))}(0,t.ownerDocument)||t.hasAttribute("controls"))&&t.classList.add(P);const s=t.hasAttribute("loop"),n=i>1?2:s?0:1;return{prevButton:I(t,{className:b,title:V(t,{index:String(s?i:0),total:String(i)}),enabled:t.hasAttribute("loop")}),nextButton:I(t,{className:A,title:k(t,{index:String(n),total:String(i)}),enabled:i>1})}}(t,i)),s)}function k(t,i){const s=t.getAttribute("data-next-button-aria-label")||"Next item in carousel",{index:n,total:e}=i;return O(t,{prefix:s,index:n,total:e})}function V(t,i){const s=t.getAttribute("data-prev-button-aria-label")||"Previous item in carousel",{index:n,total:e}=i;return O(t,{prefix:s,index:n,total:e})}function O(t,{index:i,prefix:s,total:n}){return C(t)?s:`${s} ${(t.getAttribute("data-button-count-format")||"(%s of %s)").replace("%s",i).replace("%s",n)}`}function C(t){return"slides"!==t.getAttribute("type")}function j(){return _||(_=Promise.resolve(void 0))}var B=class{constructor(){this.promise=new Promise(((t,i)=>{this.resolve=t,this.reject=i}))}},N="ArrowLeft",z="ArrowRight",L="fixed",$="fixed-height";function F(t,i,s={}){const{needsRootBounds:n,rootMargin:e,threshold:o}=s,r=function(t){return t.parent&&t.parent!=t}(i)&&(n||e)?i.document:void 0;return new i.IntersectionObserver(t,{threshold:o,root:r,rootMargin:e})}var W,H=new WeakMap,U=new WeakMap;function X(t,i,s){const n=c(t);if(s){const e=F((t=>{i(t[t.length-1])}),n,s);return e.observe(t),()=>{e.unobserve(t)}}let e=H.get(n);e||H.set(n,e=F(Y,n));let o=U.get(t);return o||(o=[],U.set(t,o)),o.push(i),e.observe(t),()=>{!function(t,i){const s=U.get(t);if(!s)return;if(!function(t,i){const s=t.indexOf(i);return-1!=s&&(t.splice(s,1),!0)}(s,i))return;if(s.length)return;const n=c(t),e=H.get(n);null==e||e.unobserve(t),U.delete(t)}(t,i)}}function Y(t){const i=new Set;for(let s=t.length-1;s>=0;s--){const n=t[s],{target:e}=n;if(i.has(e))continue;i.add(e);const o=U.get(e);if(o)for(let t=0;t{throw J(i),i}))}(t)}}var q=["Webkit","webkit","Moz","moz","ms","O","o"],K={"getPropertyPriority":()=>"","getPropertyValue":()=>""};function Q(t,i,s){if(it(i))return i;W||(W=h());let n=W[i];if(!n||s){if(n=i,void 0===t[i]){const s=function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(i),e=function(t,i){for(let s=0;s"-"+t.toLowerCase()));return q.some((t=>i.startsWith(t+"-")))?`-${i}`:i}(o),r)}function it(t){return t.startsWith("--")}function st(t,i){return s=>t+(i-t)*s}var nt=/(?:^[#?]?|&)([^=&]+)(?:=([^&]*))?/g;function et(t,i=""){try{return decodeURIComponent(t)}catch(t){return i}}self.__AMP_LOG=self.__AMP_LOG||{user:null,dev:null,userForEmbed:null};var ot=self.__AMP_LOG;function rt(t,i){throw new Error("failed to call initLogConstructor")}function lt(t){return ot.user||(ot.user=ht()),function(t,i){return i&&i.ownerDocument.defaultView!=t}(ot.user.win,t)?ot.userForEmbed||(ot.userForEmbed=ht()):ot.user}function ht(t){return rt()}function at(){return ot.dev||(ot.dev=rt())}function ut(t,i,s,n,e,o,r,l,h,a,u){return t}function ct(t,i){return vt(t=function(t){return t.__AMP_TOP||(t.__AMP_TOP=t)}(t),i)}function pt(t,i){return vt(mt(ft(t)),i)}function dt(t,i){return _t(mt(t),i)}function ft(t){return t.nodeType?(i=c(t),ct(i,"ampdoc")).getAmpDoc(t):t;var i}function mt(t){const i=ft(t);return i.isSingleDoc()?i.win:i}function vt(t,i){ut(At(t,i));const s=bt(t)[i];return s.obj||(ut(s.ctor),ut(s.context),s.obj=new s.ctor(s.context),ut(s.obj),s.context=null,s.resolve&&s.resolve(s.obj)),s.obj}function _t(t,i){const s=bt(t)[i];return s?s.promise?s.promise:(vt(t,i),s.promise=Promise.resolve(s.obj)):null}function bt(t){let i=t.__AMP_SERVICES;return i||(i=t.__AMP_SERVICES={}),i}function At(t,i){const s=t.__AMP_SERVICES&&t.__AMP_SERVICES[i];return!(!s||!s.ctor)}var Pt=t=>function(t,i){const s=mt(ft(t));return At(s,i)?vt(s,i):null}(t,"action"),gt=t=>function(t,i,s,n){const e=dt(t,i);if(e)return e;const o=ft(t);return o.whenExtensionsKnown().then((()=>{const t=o.getExtensionVersion(s);return t?ct(o.win,"extensions").waitForExtension(s,t):null})).then((s=>s?function(t,i){return function(t,i){const s=_t(t,i);if(s)return s;const n=bt(t);return n[i]=function(){const t=new B,{promise:i,reject:s,resolve:n}=t;return i.catch((()=>{})),{obj:null,promise:i,resolve:n,reject:s,context:null,ctor:null}}(),n[i].promise}(mt(t),i)}(t,i):null))}(t,"amp-analytics-instrumentation","amp-analytics"),xt=t=>pt(t,"owners"),wt=t=>ct(t,"platform"),Et=t=>vt(t,"timer"),yt=t=>ct(t,"vsync");function Mt(t,i,s,n){return e=>Tt.solveYValueFromXValue(e,0,0,t,i,s,n,1,1)}var Tt=class t{static solveYValueFromXValue(i,s,n,e,o,r,l,h,a){return t.Fr(t.Br(i,s,e,r,h),n,o,l,a)}static Br(i,s,n,e,o){const r=1e-6;let l=(i-s)/(o-s);if(l<=0)return 0;if(l>=1)return 1;let h=0,a=1,u=0;for(let c=0;c<8;c++){u=t.Hr(l,s,n,e,o);const c=(t.Hr(l+r,s,n,e,o)-u)/r;if(Math.abs(u-i)r&&c<8;c++)ut,EASE:t=>Tt.solveYValueFromXValue(t,0,0,.25,.1,.25,1,1,1),EASE_IN:t=>Tt.solveYValueFromXValue(t,0,0,.42,0,1,1,1,1),EASE_OUT:t=>Tt.solveYValueFromXValue(t,0,0,0,0,.58,1,1,1),EASE_IN_OUT:t=>Tt.solveYValueFromXValue(t,0,0,.42,0,.58,1,1,1)},Rt={"linear":It.LINEAR,"ease":It.EASE,"ease-in":It.EASE_IN,"ease-out":It.EASE_OUT,"ease-in-out":It.EASE_IN_OUT};function St(t){if(!t)return null;if(o(t)){if(-1!=t.indexOf("cubic-bezier")){const i=t.match(/cubic-bezier\((.+)\)/);if(i){const t=i[1].split(",").map(parseFloat);if(4==t.length){for(let i=0;i<4;i++)if(isNaN(t[i]))return null;return Mt(t[0],t[1],t[2],t[3])}}return null}return Rt[t]}return t}var kt,Vt="Animation",Ot=function(){},Ct=class t{static animate(i,s,n,e){return new t(i).setCurve(e).add(0,s,1).start(n)}constructor(t,i){this.zr=t,this.Gr=i||yt(self),this.qr=null,this.Wr=[]}setCurve(t){return t&&(this.qr=St(t)),this}add(t,i,s,n){return this.Wr.push({delay:t,func:i,duration:s,curve:St(n)}),this}start(t){return new jt(this.Gr,this.zr,this.Wr,this.qr,t)}},jt=class{constructor(t,i,s,n,e){this.Gr=t,this.zr=i,this.Wr=[];for(let t=0;t1&&this.Wr.sort(((t,i)=>t.delay+t.duration-(i.delay+i.duration)));try{if(i>0)for(let t=0;t=0;t--)this.Wr[t].func(0,!1)}catch(i){at().error(Vt,"completion failed: "+i,i),t=!1}}t?this.ae():this.Jr()}}Xr(t){if(!this.$e)return;const i=Date.now(),s=Math.min((i-this.Ir)/this.Kr,1);for(let t=0;t=i.delay&&(i.started=!0)}for(let t=0;t0){if(s=Math.min((i-t.delay)/t.duration,1),n=s,t.curve&&1!=n)try{n=t.curve(s)}catch(t){return at().error(Vt,"step curve failed: "+t,t),void this.Zr(!1,0)}}else s=1,n=1;1==s&&(t.completed=!0);try{t.func(n,t.completed)}catch(t){return at().error(Vt,"step mutate failed: "+t,t),void this.Zr(!1,0)}}};function Bt(t,i,s,n){return function(t,i,s,n){let e=t,o=s,r=t=>{try{return o(t)}catch(t){var i,s;throw null===(i=(s=self).__AMP_REPORT_ERROR)||void 0===i||i.call(s,t),t}};const l=function(){if(void 0!==kt)return kt;kt=!1;try{const t={get capture(){return kt=!0,!1}};self.addEventListener("test-options",null,t),self.removeEventListener("test-options",null,t)}catch(t){}return kt}(),h=!(null==n||!n.capture);return e.addEventListener(i,r,l?n:h),()=>{null==e||e.removeEventListener(i,r,l?n:h),o=null,e=null,r=null}}(t,i,s,n)}var Nt=class{constructor({element:t,go:i,nextButton:s,prevButton:n}){this.el=t,this.Cst=i,this.i=c(t),this.Df=n,this.Nf=s,this.A5=!1,this.jst()}jst(){var t;this.setupButtonInteraction(this.Df,(()=>this.handlePrev())),this.setupButtonInteraction(this.Nf,(()=>this.handleNext())),this.el.hasAttribute("controls")?this.A5=!0:(t=this.i,ct(t,"input")).onMouseDetected((t=>{t&&(this.A5=!0,m(this.el,"i-amphtml-carousel-hide-buttons",!this.A5),this.el.classList.add(P))}),!0)}setupButtonInteraction(t,i){t.addEventListener("click",i),t.addEventListener("keydown",(t=>{t.defaultPrevented||"Enter"!=t.key&&" "!=t.key||(t.preventDefault(),i())}))}setControlsState({next:t,prev:i}){R(this.Df,i),R(this.Nf,t)}hintControls(){this.A5||yt(this.i).mutate((()=>{const t="i-amphtml-carousel-button-start-hint";this.el.classList.add(t),Et(this.i).delay((()=>{var i;(i=this.el,pt(i,"mutator")).measureMutateElement(this.el,null,(()=>{this.el.classList.remove(t),m(this.el,"i-amphtml-carousel-hide-buttons",!this.A5)}))}),4e3)}))}updateButtonTitles(t,i){this.Df.title=t,this.Nf.title=i}handlePrev(){!this.Df.classList.contains("amp-disabled")&&this.Cst(-1,!0,!1)}handleNext(){!this.Nf.classList.contains("amp-disabled")&&this.Cst(1,!0,!1)}},zt=class extends t.BaseElement{constructor(t){super(t),this.fB=0,this.Bst=0,this.Nst=null,this.v_=null,this.mB=null,this.wj=null,this.fd=null}isLayoutSupported(t){return function(t){return t==L||t==$}(t)}isRelayoutNeeded(){return!0}zst(){this.Lst(),this.v_.addEventListener("scroll",this._f.bind(this)),this.v_.addEventListener("keydown",this.tX.bind(this)),this.Nst.forEach((t=>{xt(this.element).setOwner(t,this.element)})),this.registerAction("goToSlide",(t=>{const{args:i}=t;if(i){const t=parseInt(i.index,10);this.goToSlide(t)}}),1),Pt(this.element).addToAllowlist("amp-carousel","goToSlide",["email"])}buildCallback(){const{cells:t,container:i,nextButton:s,prevButton:n}=S(this.element);this.v_=i,this.Nst=t,this.fd=new Nt({element:this.element,prevButton:n,nextButton:s,go:this.go.bind(this)}),this.zst()}layoutCallback(){return this.wj=X(this.element,(({isIntersecting:t})=>this.viewportCallback(t))),this.$st(this.fB),this.Fst(this.fB,1),this.fd.setControlsState({prev:this.Wst(),next:this.Hst()}),j()}unlayoutCallback(){var t;return null===(t=this.wj)||void 0===t||t.call(this),this.wj=null,!0}viewportCallback(t){this.Ust(this.fB,this.fB),t&&this.fd.hintControls()}go(t,i){const s=this.Xst(this.fB,t),n=this.fB;if(s!=n)if(i){const t=st(n,s),i=200,e="ease-in-out";Ct.animate(this.element,(i=>{this.v_.scrollLeft=t(i)}),i,e).thenAlways((()=>{this.Yst(s)}))}else this.Yst(s),this.v_.scrollLeft=s}goToSlide(t){const i=this.Nst.length;if(!isFinite(t)||t<0||t>=i)return this.user().error("amp-scrollable-carousel","Invalid [slide] value: %s",t),j();const s=this.fB;let n=s;this.measureMutateElement((()=>{n=this.Dst(t)}),(()=>{if(n==s)return;const t=st(s,n);Ct.animate(this.element,(i=>{this.v_.scrollLeft=t(i)}),200,"ease-in-out").thenAlways((()=>{this.Yst(n)}))}))}Dst(t){const i=this.element.offsetWidth;return this.Nst[t].offsetLeft-(i-this.Nst[t].offsetWidth)/2}_f(){const t=this.v_.scrollLeft;this.fB=t,null===this.mB&&this.GB(t)}tX(t){const{key:i}=t;i!=N&&i!=z||t.stopPropagation()}GB(t){this.mB=Et(this.win).delay((()=>{Math.abs(t-this.fB)<30?(this.mB=null,this.Yst(this.fB)):this.GB(this.fB)}),100)}Yst(t){this.Ust(t,this.Bst),this.$st(t),this.Fst(t,Math.sign(t-this.Bst)),this.Bst=t,this.fB=t,this.fd.setControlsState({prev:this.Wst(),next:this.Hst()})}Xst(t,i){const s=this.element.offsetWidth,n=this.v_.scrollWidth,e=t+i*s;return e<0?0:n>=s&&e>n-s?n-s:e}Gst(t,i){const s=this.element.offsetWidth;for(let n=0;n=t&&e.offsetLeft<=t+s&&i(e)}}$st(t){this.Gst(t,(t=>{xt(this.element).scheduleLayout(this.element,t)}))}Fst(t,i){const s=this.Xst(t,i);s!=t&&this.Gst(s,(t=>{xt(this.element).schedulePreload(this.element,t)}))}Ust(t,i){const s=[];this.Gst(t,(t=>{s.push(t)})),i!=t&&this.Gst(i,(t=>{s.includes(t)||xt(this.element).schedulePause(this.element,t)}))}Wst(){return 0!=this.fB}Hst(){const t=this.element.offsetWidth,i=this.v_.scrollWidth,s=Math.max(i-t,0);return this.fB!=s}interactionNext(){this.fd.handleNext()}interactionPrev(){this.fd.handlePrev()}goCallback(t,i){this.go(t,i)}Lst(){Bt(this.element,"touchmove",(t=>t.stopPropagation()),{passive:!0})}},Lt=/vertical/,$t=new WeakMap,Ft=new WeakMap,Wt=new WeakMap;function Ht(t){let i=$t.get(t);return i||(i=new t.ResizeObserver(Ut),$t.set(t,i)),i}function Ut(t){const i=new Set;for(let s=t.length-1;s>=0;s--){const n=t[s],{target:e}=n;if(i.has(e))continue;i.add(e);const o=Ft.get(e);if(o){Wt.set(e,n);for(let t=0;t0?t[0]:{inlineSize:0,blockSize:0};else{const{target:t}=s,i=c(t),e=Lt.test(function(t,i){return t.getComputedStyle(i)||K}(i,t).writingMode),{offsetHeight:o,offsetWidth:r}=t;let l,h;e?(h=r,l=o):(l=r,h=o),n={inlineSize:l,blockSize:h}}Z(i,n)}}var Yt="__AMP__EXPERIMENT_TOGGLES",Dt="AMP-CAROUSEL",Gt=class extends t.BaseElement{constructor(t){super(t),this.Gr=null,this.Jst=!1,this.S4=[],this.Zst=0,this.qst=null,this.Kst=[],this.Qst=!1,this.tot=null,this.iot=!1,this.sot=null,this.not=!1,this.eot=!1,this.mq=!1,this.oot=5e3,this.rot=null,this.lot=0,this.hot=!1,this.aot=!1,this.uot=0,this.cot=null,this.pot=0,this.dot=0,this.fot=0,this.mot=[];const i=wt(this.win);this.gB=i.isIos(),this.av=i.isSafari(),this.Oc=null,this.vot=!!wt(this.win).getIosVersionString().startsWith("10.3")||!this.gB&&!function(t,i){const s=function(t){var i,s,o,r,l;if(t[Yt])return t[Yt];t[Yt]=h();const a=t[Yt];u(a);const c=n(n({},null!==(i=t.AMP_CONFIG)&&void 0!==i?i:{}),null!==(s=t.AMP_EXP)&&void 0!==s?s:(p=(null===(o=t.__AMP_EXP)||void 0===o?void 0:o.textContent)||"{}",JSON.parse(p)));var p;for(const t in c){const i=c[t];"number"==typeof i&&i>=0&&i<=1&&(a[t]=Math.random(){const{args:i}=t;i&&void 0!==i.toggleOn?this._5(i.toggleOn):this._5(!this.mq)}),1)}Aot(){if(this.Gr=this.getVsync(),this.Oc=Pt(this.element),this.Oc.addToAllowlist(Dt,"goToSlide",["email"]),this.Jst=null!=function(t,i,s){const n=Q(t.style,"scrollSnapType",void 0);if(n)return it(n)?t.style.getPropertyValue(n):t.style[n]}(this.element),this.vot&&(this.Jst=!1),this.qst.classList.toggle(E,this.vot),this.Jst){const t=this.win.document.createElement("div");t.classList.add("i-amphtml-carousel-start-marker"),this.qst.appendChild(t);const i=this.win.document.createElement("div");i.classList.add("i-amphtml-carousel-end-marker"),this.qst.appendChild(i)}this.S4.forEach(((t,i)=>{const s=t.getAttribute("data-slide-id")||i.toString();this.mot.push(s),xt(this.element).setOwner(t,this.element)})),this.Lst(),this.qst.addEventListener("scroll",this._f.bind(this)),this.qst.addEventListener("keydown",this.tX.bind(this)),Bt(this.qst,"touchmove",this.Pot.bind(this),{passive:!0}),Bt(this.qst,"touchend",this.got.bind(this),{passive:!0}),this.registerAction("goToSlide",(t=>{const{args:i}=t;i&&this.goToSlide(i.index,3)}),1)}attachedCallback(){(function(t,i,s){const n=t.ownerDocument.defaultView;if(!n)return;let e=Ft.get(t);if(e||(e=[],Ft.set(t,e),Ht(n).observe(t)),!e.some((t=>t.callback===s&&0===t.type))){e.push({type:0,callback:s});const i=Wt.get(t);i&&setTimeout((()=>Xt(0,s,i)))}})(this.element,0,this.gP)}detachedCallback(){(function(t,i,s){const n=Ft.get(t);if(n&&(function(t,i){const n=[];let e=0;for(let i=0;i1}mutatedAttributesCallback(t){const i=t.slide;void 0!==i&&this.goToSlide(i,3)}Pot(){this.xot(),this.iot=!0}viewportCallback(t){var i;t?(this.cj(),null===(i=this.fd)||void 0===i||i.hintControls()):this.xot()}interactionNext(){this.fd.handleNext()}interactionPrev(){this.fd.handlePrev()}goCallback(t,i,s){this.go(t,i,s)}go(t,i,s){const n=s?1:3;this.moveSlide(t,i,n),s?this.cj():this.xot()}wot(t){this.tot&&Et(this.win).cancel(this.tot),this.tot=Et(this.win).delay((()=>{if(this.tot=null,this.Qst||this.iot)return;const t=this.qst.scrollLeft;this.Jst?this.Eot(t,1):this.yot(t,void 0,3)}),t)}got(){const t=this.vot?45:100;this.iot=!1,this.wot(t)}gP(t){this.dot=t.width,this._ot=!0}buildCallback(){const{nextButton:t,prevButton:i,slideWrappers:s,slides:n,slidesContainer:e}=S(this.element);this.S4=n,this.qst=e,this.Kst=s,this.Zst=this.S4.length,this.not=this.element.hasAttribute("loop"),this.mq=this.element.hasAttribute("autoplay"),this.hot=this.not&&this.isLoopingEligible(),this.aot=this.mq&&this.isLoopingEligible(),this.fd=new Nt({element:this.element,go:this.go.bind(this),nextButton:t,prevButton:i}),this.fd.updateButtonTitles(this.getPrevButtonTitle(),this.getNextButtonTitle()),this.zst(),this.Aot()}layoutCallback(){if(this.wj=X(this.element,(({isIntersecting:t})=>this.viewportCallback(t))),this.element.closest("[i-amphtml-scale-animation]"))return j();if(this._ot||(this.dot=this.qst.clientWidth),null===this.cot)this.Mot(this.pot);else{const t=lt().assertNumber(this.cot,"E#19457 this.slideIndex_"),i=this.Tot(t);xt(this.element).scheduleLayout(this.element,this.S4[t]),this.qst.scrollLeft=i,this.fot=i}return j()}unlayoutCallback(){var t;return null===(t=this.wj)||void 0===t||t.call(this),this.wj=null,this.cot=null,!0}Wst(){return this.hot||this.cot>0}Hst(){return this.hot||this.cot=this.Zst&&(n=0),i){const i=1!=t||e?this.dot:0;this.yot(i,t,s)}else this.Iot(n,s)}}}_f(t){const i=this.qst.scrollLeft;this.gB||this.av||this.Rot(i);const s=this.Jst?200:this.gB?45:100;this.wot(s),this.fot=i}tX(t){const{key:i}=t;i!=N&&i!=z||t.stopPropagation()}Rot(t){const i=this.qst.scrollWidth;-1==this.uot&&t>=this.fot||1==this.uot&&t<=this.fot?this.yot(t).then((()=>{this.uot=0})):t<0?this.uot=-1:t+this.dot>i?this.uot=1:this.uot=0}yot(t,i,s){this.Qst=!0;let n=this.Sot(t)-this.cot;const e=this.Wst();let o=e?this.dot:0;return 0!=n||1!=i&&-1!=i||(n=i),1==n||-1!=n&&n==-1*(this.Zst-1)?o=e?2*this.dot:this.dot:-1!=n&&n!=this.Zst-1||(o=0),this.kot(t,o).then((()=>{this.Eot(o,s)}))}Sot(t){if(!t&&!this.dot)return 0;const i=Math.round(t/this.dot);let s=0;const n=this.Wst(),e=this.Hst();n&&e?s=i-1:e?s=i:n&&(s=i-1);let o=this.cot+s;return o=this.hot?o<0?this.Zst-1:o>=this.Zst?0:o:o<0?0:o>=this.Zst?this.Zst-1:o,o}getPrevButtonTitle(){const t=this.M5(this.cot),i=(null==t?0:t)+1;return V(this.element,{index:String(i),total:String(this.Zst)})}getNextButtonTitle(){const t=this.x5(this.cot),i=(null==t?this.Zst-1:t)+1;return k(this.element,{index:String(i),total:String(this.Zst)})}Eot(t,i){if(!a(t)||null===this.cot)return;this.Qst=!0;const s=this.Sot(t);this.Gr.mutate((()=>{this.Iot(s,i),this.Gr.mutate((()=>{this.Qst=!1}))}))}goToSlide(t,i){const s=parseInt(t,10);!isFinite(s)||s<0||s>=this.Zst?this.user().error(Dt,"Invalid [slide] value: ",t):null!==this.cot?this.Iot(s,i):this.pot=s}M5(t){return t-1>=0?t-1:this.hot?this.Zst-1:null}x5(t){return t+1=n||this.cot==t)return!1;const e=this.M5(t),o=this.x5(t),r=[];return null!=e&&r.push(e),r.push(t),null!=o&&o!==e&&r.push(o),void 0===this.S4[t]?(at().error(Dt,"Attempting to access a non-existant slide %s / %s",t,n),!1):(r.forEach(((i,s)=>{this.hot&&tt(this.Kst[i],"order",s+1),this.Kst[i].classList.add(y);const n=xt(this.element);i==t?(n.scheduleLayout(this.element,this.S4[i]),n.scheduleResume(this.element,this.S4[i]),this.S4[i].setAttribute("aria-hidden","false")):(n.schedulePreload(this.element,this.S4[i]),this.S4[i].setAttribute("aria-hidden","true"))})),this.qst.scrollLeft=this.Tot(t),this.C5(t),this.cot=t,this.rot&&this.cot===this.Zst-1&&(this.lot++,this.lot==this.rot&&this.Vot()),this.Oot(r),null===(i=this.fd)||void 0===i||i.setControlsState({prev:this.Wst(),next:this.Hst()}),null===(s=this.fd)||void 0===s||s.updateButtonTitles(this.getPrevButtonTitle(),this.getNextButtonTitle()),!0)}Iot(t,i=1){if(this.Mot(t)){const s="slideChange",n=function(t,i,s,n){const e={detail:s};return Object.assign(e,void 0),new t.CustomEvent(i,e)}(this.win,`slidescroll.${s}`,{"index":t});this.Oc.trigger(this.element,s,n,i),function(t,i,s,n){const e=s||{};u(t.ownerDocument);const{bubbles:o,cancelable:r}=f,l=new MessageEvent(i,{data:e,bubbles:o,cancelable:r});t.dispatchEvent(l)}(this.element,s,{index:t,actionTrust:i})}}Tot(t){let i=this.dot;return(!this.hot&&0==t||this.S4.length<=1)&&(i=0),i}Oot(t){const{Zst:i}=this;for(let s=0;s{this.qst.scrollLeft=s(t)}),80,n).thenAlways()}Lst(){Bt(this.element,"touchmove",(t=>t.stopPropagation()),{passive:!0})}C5(t){let i=t-this.cot;if(0==i)return;1!==Math.abs(i)&&(i=i<0?1:-1,null===this.cot&&(i=1));const s={"fromSlide":null===this.cot?"null":this.mot[this.cot],"toSlide":this.mot[t]};this.uZ("amp-carousel-change",s),1==i?this.uZ("amp-carousel-next",s):this.uZ("amp-carousel-prev",s)}uZ(t,i){!function(t,i,s={},n=!0){gt(t).then((e=>{e&&e.triggerEventForTarget(t,i,s,n)}))}(this.element,t,i)}bot(){const t=Number(this.element.getAttribute("delay"));t>0&&(this.oot=Math.max(1e3,t)),this.not||(this.element.setAttribute("loop",""),this.eot=!0,this.not=!0,this.hot=!0)}cj(){this.aot&&0!=this.rot&&(this.xot(),this.sot=Et(this.win).delay(this.go.bind(this,1,!0,!0),this.oot))}_5(t){if(t==this.aot)return;const i=this.aot;this.mq=t,this.aot=this.mq&&this.isLoopingEligible(),!i&&this.aot&&this.bot(),this.aot?this.cj():this.xot()}xot(){null!==this.sot&&(Et(this.win).cancel(this.sot),this.sot=null)}Vot(){this.xot(),this.eot&&(this.element.removeAttribute("loop"),this.eot=!1,this.not=!1,this.hot=!1),this.mq=!1,this.aot=this.mq&&this.isLoopingEligible()}},Jt=class extends t.BaseElement{upgradeCallback(){return C(this.element)?new zt(this.element):new Gt(this.element)}};t.registerElement("amp-carousel",Jt,'.amp-carousel-slide>.i-amphtml-replaced-content{-o-object-fit:contain;object-fit:contain}.amp-carousel-button{position:absolute;box-sizing:border-box;top:50%;height:34px;width:34px;border-radius:2px;opacity:0;pointer-events:all;background-color:rgba(0,0,0,.5);background-position:50% 50%;background-repeat:no-repeat;transform:translateY(-50%);visibility:hidden;z-index:10}.amp-carousel-button:focus{border:1px solid #000;outline:1px solid #fff}.amp-mode-mouse .amp-carousel-button,amp-carousel.i-amphtml-carousel-has-controls .amp-carousel-button,amp-carousel[controls] .amp-carousel-button{opacity:1;visibility:visible}.amp-carousel-button-prev{left:16px;background-image:url(\'data:image/svg+xml;charset=utf-8,\');background-size:18px 18px}.amp-carousel-button-next{right:16px;background-image:url(\'data:image/svg+xml;charset=utf-8,\');background-size:18px 18px}.i-amphtml-carousel-button-start-hint .amp-carousel-button:not(.amp-disabled){animation:i-amphtml-carousel-hint 1s ease-in 3s 1 normal both}.amp-mode-mouse .i-amphtml-carousel-button-start-hint .amp-carousel-button:not(.amp-disabled){animation:none}@keyframes i-amphtml-carousel-hint{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}amp-carousel .amp-carousel-button.amp-disabled{animation:none;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}amp-carousel[i-amphtml-carousel-hide-buttons] .amp-carousel-button-next,amp-carousel[i-amphtml-carousel-hide-buttons] .amp-carousel-button-prev{opacity:0;pointer-events:none;visibility:visible!important}.i-amphtml-slides-container{display:-ms-flexbox!important;display:flex!important;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:100%!important;left:0;overflow-x:auto!important;overflow-y:hidden!important;position:absolute!important;top:0;width:100%!important;scroll-snap-type:x mandatory!important;scrollbar-width:none;padding-bottom:20px!important;box-sizing:content-box!important;-webkit-overflow-scrolling:touch!important}.i-amphtml-slides-container::-webkit-scrollbar{display:none!important}.i-amphtml-slides-container.i-amphtml-no-scroll{overflow-x:hidden!important}.i-amphtml-slide-item{-ms-flex-align:center!important;align-items:center!important;display:none!important;-ms-flex:0 0 100%!important;flex:0 0 100%!important;height:100%!important;-ms-flex-pack:center!important;justify-content:center!important;position:relative!important;scroll-snap-align:start!important;width:100%!important}.i-amphtml-slide-item>*{height:100%;width:100%;overflow:hidden!important}.i-amphtml-slide-item-show{display:-ms-flexbox!important;display:flex!important}.i-amphtml-carousel-end-marker,.i-amphtml-carousel-start-marker{background-color:transparent!important;display:block!important;-ms-flex:0 0 1px!important;flex:0 0 1px!important;height:100%!important;position:relative!important;scroll-snap-align:start!important;width:1px!important}.i-amphtml-carousel-start-marker{-ms-flex-order:-1!important;order:-1!important;margin-left:-1px!important}.i-amphtml-carousel-end-marker{-ms-flex-order:100000000!important;order:100000000!important;margin-right:-1px!important}.i-amphtml-slidescroll-no-snap.i-amphtml-slides-container{scroll-snap-type:none!important}.i-amphtml-slidescroll-no-snap .i-amphtml-slide-item{scroll-snap-align:none!important}.i-amphtml-slidescroll-no-snap.i-amphtml-slides-container.i-amphtml-no-scroll{-webkit-overflow-scrolling:auto!important}.amp-scrollable-carousel-slide{display:inline-block!important;margin-left:8px}.amp-scrollable-carousel-slide:first-child{margin-left:0px}.i-amphtml-scrollable-carousel-container{white-space:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important}\n/*# sourceURL=/extensions/amp-carousel/0.1/amp-carousel.css*/')})(); /*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */}}); //# sourceMappingURL=amp-carousel-0.1.mjs.map