aboutsummaryrefslogtreecommitdiff
path: root/semestre 1/anglais/presentation/build.js
blob: 3f9be0341baab737cf425724f20508aecdaa0020 (plain)
1
2
3
4
5
6
7
8
9
10
11
var b2=function(Q,W){arguments.length<2&&(W=arguments[0],Q=document.querySelector(".reveal"));const U={};let V,z,F,j,G,D={},_=!1,N=!1,P={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},E=[],S=1,J={layout:"",overview:""},H={},Z="idle",x=0,v=0,m=-1,w=!1,X=new t1(U),M=new e1(U),p=new Q2(U),A=new U2(U),c=new W2(U),B=new V2(U),g=new z2(U),f=new F2(U),d=new j2(U),l=new D2(U),a=new K2(U),o=new G2(U),W0=new P2(U),F1=new H2(U),e=new N2(U),H0=new _2(U),p0=new I2(U),t=new B2(U);function v2(){N=!0,D.showHiddenSlides||$(H.wrapper,'section[data-visibility="hidden"]').forEach((K)=>{const I=K.parentNode;I.childElementCount===1&&/section/i.test(I.nodeName)?I.remove():K.remove()}),function(){H.slides.classList.add("no-transition"),S0?H.wrapper.classList.add("no-hover"):H.wrapper.classList.remove("no-hover"),c.render(),M.render(),p.render(),o.render(),W0.render(),t.render(),H.pauseOverlay=((K,I,L,b="")=>{let q=K.querySelectorAll("."+L);for(let R=0;R<q.length;R++){let T=q[R];if(T.parentNode===K)return T}let k=document.createElement(I);return k.className=L,k.innerHTML=b,K.appendChild(k),k})(H.wrapper,"div","pause-overlay",D.controls?'<button class="resume-button">Resume presentation</button>':null),H.statusElement=function(){let K=H.wrapper.querySelector(".aria-status");return K||(K=document.createElement("div"),K.style.position="absolute",K.style.height="1px",K.style.width="1px",K.style.overflow="hidden",K.style.clip="rect( 1px, 1px, 1px, 1px )",K.classList.add("aria-status"),K.setAttribute("aria-live","polite"),K.setAttribute("aria-atomic","true"),H.wrapper.appendChild(K)),K}(),H.wrapper.setAttribute("role","application")}(),D.postMessage&&window.addEventListener("message",R1,!1),setInterval(()=>{(!B.isActive()&&H.wrapper.scrollTop!==0||H.wrapper.scrollLeft!==0)&&(H.wrapper.scrollTop=0,H.wrapper.scrollLeft=0)},1000),document.addEventListener("fullscreenchange",v0),document.addEventListener("webkitfullscreenchange",v0),j0().forEach((K)=>{$(K,"section").forEach((I,L)=>{L>0&&(I.classList.remove("present"),I.classList.remove("past"),I.classList.add("future"),I.setAttribute("aria-hidden","true"))})}),j1(),c.update(!0),function(){const K=D.view==="print",I=D.view==="scroll"||D.view==="reader";(K||I)&&(K?X0():p0.unbind(),H.viewport.classList.add("loading-scroll-mode"),K?document.readyState==="complete"?g.activate():window.addEventListener("load",()=>g.activate()):B.activate())}(),a.readURL(),setTimeout(()=>{H.slides.classList.remove("no-transition"),H.wrapper.classList.add("ready"),s({type:"ready",data:{indexh:V,indexv:z,currentSlide:j}})},1)}function u0(K){H.statusElement.textContent=K}function O0(K){let I="";if(K.nodeType===3)I+=K.textContent;else if(K.nodeType===1){let L=K.getAttribute("aria-hidden"),b=window.getComputedStyle(K).display==="none";L==="true"||b||Array.from(K.childNodes).forEach((q)=>{I+=O0(q)})}return I=I.trim(),I===""?"":I+" "}function j1(K){const I={...D};if(typeof K=="object"&&b0(D,K),U.isReady()===!1)return;const L=H.wrapper.querySelectorAll(I0).length;H.wrapper.classList.remove(I.transition),H.wrapper.classList.add(D.transition),H.wrapper.setAttribute("data-transition-speed",D.transitionSpeed),H.wrapper.setAttribute("data-background-transition",D.backgroundTransition),H.viewport.style.setProperty("--slide-width",typeof D.width=="string"?D.width:D.width+"px"),H.viewport.style.setProperty("--slide-height",typeof D.height=="string"?D.height:D.height+"px"),D.shuffle&&r0(),e0(H.wrapper,"embedded",D.embedded),e0(H.wrapper,"rtl",D.rtl),e0(H.wrapper,"center",D.center),D.pause===!1&&J0(),D.previewLinks?(N1(),o0("[data-preview-link=false]")):(o0(),N1("[data-preview-link]:not([data-preview-link=false])")),A.reset(),G&&(G.destroy(),G=null),L>1&&D.autoSlide&&D.autoSlideStoppable&&(G=new E2(H.wrapper,()=>Math.min(Math.max((Date.now()-m)/x,0),1)),G.on("click",f2),w=!1),D.navigationMode!=="default"?H.wrapper.setAttribute("data-navigation-mode",D.navigationMode):H.wrapper.removeAttribute("data-navigation-mode"),t.configure(D,I),H0.configure(D,I),F1.configure(D,I),o.configure(D,I),W0.configure(D,I),l.configure(D,I),f.configure(D,I),M.configure(D,I),Z1()}function D1(){window.addEventListener("resize",h1,!1),D.touch&&p0.bind(),D.keyboard&&l.bind(),D.progress&&W0.bind(),D.respondToHashChanges&&a.bind(),o.bind(),H0.bind(),H.slides.addEventListener("click",d1,!1),H.slides.addEventListener("transitionend",M1,!1),H.pauseOverlay.addEventListener("click",J0,!1),D.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",T1,!1)}function X0(){p0.unbind(),H0.unbind(),l.unbind(),o.unbind(),W0.unbind(),a.unbind(),window.removeEventListener("resize",h1,!1),H.slides.removeEventListener("click",d1,!1),H.slides.removeEventListener("transitionend",M1,!1),H.pauseOverlay.removeEventListener("click",J0,!1)}function K1(K,I,L){Q.addEventListener(K,I,L)}function G1(K,I,L){Q.removeEventListener(K,I,L)}function A0(K){typeof K.layout=="string"&&(J.layout=K.layout),typeof K.overview=="string"&&(J.overview=K.overview),J.layout?K0(H.slides,J.layout+" "+J.overview):K0(H.slides,J.overview)}function s({target:K=H.wrapper,type:I,data:L,bubbles:b=!0}){let q=document.createEvent("HTMLEvents",1,2);return q.initEvent(I,b,!0),b0(q,L),K.dispatchEvent(q),K===H.wrapper&&H1(I),q}function P1(K){s({type:"slidechanged",data:{indexh:V,indexv:z,previousSlide:F,currentSlide:j,origin:K}})}function H1(K,I){if(D.postMessageEvents&&window.parent!==window.self){let L={namespace:"reveal",eventName:K,state:k1()};b0(L,I),window.parent.postMessage(JSON.stringify(L),"*")}}function N1(K="a"){Array.from(H.wrapper.querySelectorAll(K)).forEach((I)=>{/^(http|www)/gi.test(I.getAttribute("href"))&&I.addEventListener("click",c1,!1)})}function o0(K="a"){Array.from(H.wrapper.querySelectorAll(K)).forEach((I)=>{/^(http|www)/gi.test(I.getAttribute("href"))&&I.removeEventListener("click",c1,!1)})}function I1(K){U0(),H.overlay=document.createElement("div"),H.overlay.classList.add("overlay"),H.overlay.classList.add("overlay-preview"),H.wrapper.appendChild(H.overlay),H.overlay.innerHTML=`<header>\n\t\t\t\t<a class="close" href="#"><span class="icon"></span></a>\n\t\t\t\t<a class="external" href="${K}" target="_blank"><span class="icon"></span></a>\n\t\t\t</header>\n\t\t\t<div class="spinner"></div>\n\t\t\t<div class="viewport">\n\t\t\t\t<iframe src="${K}"></iframe>\n\t\t\t\t<small class="viewport-inner">\n\t\t\t\t\t<span class="x-frame-error">Unable to load iframe. This is likely due to the site's policy (x-frame-options).</span>\n\t\t\t\t</small>\n\t\t\t</div>`,H.overlay.querySelector("iframe").addEventListener("load",(I)=>{H.overlay.classList.add("loaded")},!1),H.overlay.querySelector(".close").addEventListener("click",(I)=>{U0(),I.preventDefault()},!1),H.overlay.querySelector(".external").addEventListener("click",(I)=>{U0()},!1)}function _1(){if(D.help){U0(),H.overlay=document.createElement("div"),H.overlay.classList.add("overlay"),H.overlay.classList.add("overlay-help"),H.wrapper.appendChild(H.overlay);let K='<p class="title">Keyboard Shortcuts</p><br/>',I=l.getShortcuts(),L=l.getBindings();K+="<table><th>KEY</th><th>ACTION</th>";for(let b in I)K+=`<tr><td>${b}</td><td>${I[b]}</td></tr>`;for(let b in L)L[b].key&&L[b].description&&(K+=`<tr><td>${L[b].key}</td><td>${L[b].description}</td></tr>`);K+="</table>",H.overlay.innerHTML=`\n\t\t\t\t<header>\n\t\t\t\t\t<a class="close" href="#"><span class="icon"></span></a>\n\t\t\t\t</header>\n\t\t\t\t<div class="viewport">\n\t\t\t\t\t<div class="viewport-inner">${K}</div>\n\t\t\t\t</div>\n\t\t\t`,H.overlay.querySelector(".close").addEventListener("click",(b)=>{U0(),b.preventDefault()},!1)}}function U0(){return!!H.overlay&&(H.overlay.parentNode.removeChild(H.overlay),H.overlay=null,!0)}function B0(){if(H.wrapper&&!g.isActive()){const K=H.viewport.offsetWidth,I=H.viewport.offsetHeight;if(!D.disableLayout){S0&&!D.embedded&&document.documentElement.style.setProperty("--vh",0.01*window.innerHeight+"px");const L=B.isActive()?$0(K,I):$0(),b=S;B1(D.width,D.height),H.slides.style.width=L.width+"px",H.slides.style.height=L.height+"px",S=Math.min(L.presentationWidth/L.width,L.presentationHeight/L.height),S=Math.max(S,D.minScale),S=Math.min(S,D.maxScale),S===1||B.isActive()?(H.slides.style.zoom="",H.slides.style.left="",H.slides.style.top="",H.slides.style.bottom="",H.slides.style.right="",A0({layout:""})):(H.slides.style.zoom="",H.slides.style.left="50%",H.slides.style.top="50%",H.slides.style.bottom="auto",H.slides.style.right="auto",A0({layout:"translate(-50%, -50%) scale("+S+")"}));const q=Array.from(H.wrapper.querySelectorAll(I0));for(let k=0,R=q.length;k<R;k++){const T=q[k];T.style.display!=="none"&&(D.center||T.classList.contains("center")?T.classList.contains("stack")?T.style.top=0:T.style.top=Math.max((L.height-T.scrollHeight)/2,0)+"px":T.style.top="")}b!==S&&s({type:"resize",data:{oldScale:b,scale:S,size:L}})}(function(){if(H.wrapper&&!D.disableLayout&&!g.isActive()&&typeof D.scrollActivationWidth=="number"&&D.view!=="scroll"){const L=$0();L.presentationWidth>0&&L.presentationWidth<=D.scrollActivationWidth?B.isActive()||(c.create(),B.activate()):B.isActive()&&B.deactivate()}})(),H.viewport.style.setProperty("--slide-scale",S),H.viewport.style.setProperty("--viewport-width",K+"px"),H.viewport.style.setProperty("--viewport-height",I+"px"),B.layout(),W0.update(),c.updateParallax(),d.isActive()&&d.update()}}function B1(K,I){$(H.slides,"section > .stretch, section > .r-stretch").forEach((L)=>{let b=((q,k=0)=>{if(q){let R,T=q.style.height;return q.style.height="0px",q.parentNode.style.height="auto",R=k-q.parentNode.offsetHeight,q.style.height=T+"px",q.parentNode.style.removeProperty("height"),R}return k})(L,I);if(/(img|video)/gi.test(L.nodeName)){const q=L.naturalWidth||L.videoWidth,k=L.naturalHeight||L.videoHeight,R=Math.min(K/q,b/k);L.style.width=q*R+"px",L.style.height=k*R+"px"}else L.style.width=K+"px",L.style.height=b+"px"})}function $0(K,I){let{width:L,height:b}=D;D.disableLayout&&(L=H.slides.offsetWidth,b=H.slides.offsetHeight);const q={width:L,height:b,presentationWidth:K||H.wrapper.offsetWidth,presentationHeight:I||H.wrapper.offsetHeight};return q.presentationWidth-=q.presentationWidth*D.margin,q.presentationHeight-=q.presentationHeight*D.margin,typeof q.width=="string"&&/%$/.test(q.width)&&(q.width=parseInt(q.width,10)/100*q.presentationWidth),typeof q.height=="string"&&/%$/.test(q.height)&&(q.height=parseInt(q.height,10)/100*q.presentationHeight),q}function E1(K,I){typeof K=="object"&&typeof K.setAttribute=="function"&&K.setAttribute("data-previous-indexv",I||0)}function L1(K){if(typeof K=="object"&&typeof K.setAttribute=="function"&&K.classList.contains("stack")){const I=K.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(K.getAttribute(I)||0,10)}return 0}function q0(K=j){return K&&K.parentNode&&!!K.parentNode.nodeName.match(/section/i)}function b1(){return!(!j||!q0(j))&&!j.nextElementSibling}function S1(){return V===0&&z===0}function l0(){return!!j&&(!j.nextElementSibling&&(!q0(j)||!j.parentNode.nextElementSibling))}function q1(){if(D.pause){const K=H.wrapper.classList.contains("paused");y0(),H.wrapper.classList.add("paused"),K===!1&&s({type:"paused"})}}function J0(){const K=H.wrapper.classList.contains("paused");H.wrapper.classList.remove("paused"),E0(),K&&s({type:"resumed"})}function J1(K){typeof K=="boolean"?K?q1():J0():Z0()?J0():q1()}function Z0(){return H.wrapper.classList.contains("paused")}function Q0(K,I,L,b){if(s({type:"beforeslidechange",data:{indexh:K===void 0?V:K,indexv:I===void 0?z:I,origin:b}}).defaultPrevented)return;F=j;const q=H.wrapper.querySelectorAll(D0);if(B.isActive()){const i=B.getSlideByIndices(K,I);return void(i&&B.scrollToSlide(i))}if(q.length===0)return;I!==void 0||d.isActive()||(I=L1(q[K])),F&&F.parentNode&&F.parentNode.classList.contains("stack")&&E1(F.parentNode,z);const k=E.concat();E.length=0;let R=V||0,T=z||0;V=O1(D0,K===void 0?V:K),z=O1(A1,I===void 0?z:I);let z0=V!==R||z!==T;z0||(F=null);let N0=q[V],n=N0.querySelectorAll("section");Q.classList.toggle("is-vertical-slide",n.length>1),j=n[z]||N0;let u=!1;z0&&F&&j&&!d.isActive()&&(Z="running",u=Y0(F,j,R,T),u&&H.slides.classList.add("disable-slide-transitions")),a0(),B0(),d.isActive()&&d.update(),L!==void 0&&f.goto(L),F&&F!==j&&(F.classList.remove("present"),F.setAttribute("aria-hidden","true"),S1()&&setTimeout(()=>{$(H.wrapper,D0+".stack").forEach((i)=>{E1(i,0)})},0));Q:for(let i=0,k2=E.length;i<k2;i++){for(let f0=0;f0<k.length;f0++)if(k[f0]===E[i]){k.splice(f0,1);continue Q}H.viewport.classList.add(E[i]),s({type:E[i]})}for(;k.length;)H.viewport.classList.remove(k.pop());z0&&P1(b),!z0&&F||(X.stopEmbeddedContent(F),X.startEmbeddedContent(j)),requestAnimationFrame(()=>{u0(O0(j))}),W0.update(),o.update(),t.update(),c.update(),c.updateParallax(),M.update(),f.update(),a.writeURL(),E0(),u&&(setTimeout(()=>{H.slides.classList.remove("disable-slide-transitions")},0),D.autoAnimate&&A.run(F,j))}function Y0(K,I,L,b){return K.hasAttribute("data-auto-animate")&&I.hasAttribute("data-auto-animate")&&K.getAttribute("data-auto-animate-id")===I.getAttribute("data-auto-animate-id")&&!(V>L||z>b?I:K).hasAttribute("data-auto-animate-restart")}function Z1(){X0(),D1(),B0(),x=D.autoSlide,E0(),c.create(),a.writeURL(),D.sortFragmentsOnSync===!0&&f.sortAll(),o.update(),W0.update(),a0(),t.update(),t.updateVisibility(),c.update(!0),M.update(),X.formatEmbeddedContent(),D.autoPlayMedia===!1?X.stopEmbeddedContent(j,{unloadIframes:!1}):X.startEmbeddedContent(j),d.isActive()&&d.layout()}function r0(K=j0()){K.forEach((I,L)=>{let b=K[Math.floor(Math.random()*K.length)];b.parentNode===I.parentNode&&I.parentNode.insertBefore(I,b);let q=I.querySelectorAll("section");q.length&&r0(q)})}function O1(K,I){let L=$(H.wrapper,K),b=L.length,q=B.isActive()||g.isActive(),k=!1,R=!1;if(b){D.loop&&(I>=b&&(k=!0),(I%=b)<0&&(I=b+I,R=!0)),I=Math.max(Math.min(I,b-1),0);for(let n=0;n<b;n++){let u=L[n],i=D.rtl&&!q0(u);u.classList.remove("past"),u.classList.remove("present"),u.classList.remove("future"),u.setAttribute("hidden",""),u.setAttribute("aria-hidden","true"),u.querySelector("section")&&u.classList.add("stack"),q?u.classList.add("present"):n<I?(u.classList.add(i?"future":"past"),D.fragments&&X1(u)):n>I?(u.classList.add(i?"past":"future"),D.fragments&&$1(u)):n===I&&D.fragments&&(k?$1(u):R&&X1(u))}let T=L[I],z0=T.classList.contains("present");T.classList.add("present"),T.removeAttribute("hidden"),T.removeAttribute("aria-hidden"),z0||s({target:T,type:"visible",bubbles:!1});let N0=T.getAttribute("data-state");N0&&(E=E.concat(N0.split(" ")))}else I=0;return I}function X1(K){$(K,".fragment").forEach((I)=>{I.classList.add("visible"),I.classList.remove("current-fragment")})}function $1(K){$(K,".fragment.visible").forEach((I)=>{I.classList.remove("visible","current-fragment")})}function a0(){let K,I,L=j0(),b=L.length;if(b&&V!==void 0){let q=d.isActive()?10:D.viewDistance;S0&&(q=d.isActive()?6:D.mobileViewDistance),g.isActive()&&(q=Number.MAX_VALUE);for(let k=0;k<b;k++){let R=L[k],T=$(R,"section"),z0=T.length;if(K=Math.abs((V||0)-k)||0,D.loop&&(K=Math.abs(((V||0)-k)%(b-q))||0),K<q?X.load(R):X.unload(R),z0){let N0=L1(R);for(let n=0;n<z0;n++){let u=T[n];I=k===(V||0)?Math.abs((z||0)-n):Math.abs(n-N0),K+I<q?X.load(u):X.unload(u)}}}m1()?H.wrapper.classList.add("has-vertical-slides"):H.wrapper.classList.remove("has-vertical-slides"),w1()?H.wrapper.classList.add("has-horizontal-slides"):H.wrapper.classList.remove("has-horizontal-slides")}}function V0({includeFragments:K=!1}={}){let I=H.wrapper.querySelectorAll(D0),L=H.wrapper.querySelectorAll(A1),b={left:V>0,right:V<I.length-1,up:z>0,down:z<L.length-1};if(D.loop&&(I.length>1&&(b.left=!0,b.right=!0),L.length>1&&(b.up=!0,b.down=!0)),I.length>1&&D.navigationMode==="linear"&&(b.right=b.right||b.down,b.left=b.left||b.up),K===!0){let q=f.availableRoutes();b.left=b.left||q.prev,b.up=b.up||q.prev,b.down=b.down||q.next,b.right=b.right||q.next}if(D.rtl){let q=b.left;b.left=b.right,b.right=q}return b}function y1(K=j){let I=j0(),L=0;Q:for(let b=0;b<I.length;b++){let q=I[b],k=q.querySelectorAll("section");for(let R=0;R<k.length;R++){if(k[R]===K)break Q;k[R].dataset.visibility!=="uncounted"&&L++}if(q===K)break;q.classList.contains("stack")===!1&&q.dataset.visibility!=="uncounted"&&L++}return L}function x1(K){let I,L=V,b=z;if(K)if(B.isActive())L=parseInt(K.getAttribute("data-index-h"),10),K.getAttribute("data-index-v")&&(b=parseInt(K.getAttribute("data-index-v"),10));else{let q=q0(K),k=q?K.parentNode:K,R=j0();L=Math.max(R.indexOf(k),0),b=void 0,q&&(b=Math.max($(K.parentNode,"section").indexOf(K),0))}if(!K&&j){if(j.querySelectorAll(".fragment").length>0){let q=j.querySelector(".current-fragment");I=q&&q.hasAttribute("data-fragment-index")?parseInt(q.getAttribute("data-fragment-index"),10):j.querySelectorAll(".fragment.visible").length-1}}return{h:L,v:b,f:I}}function n0(){return $(H.wrapper,I0+':not(.stack):not([data-visibility="uncounted"])')}function j0(){return $(H.wrapper,D0)}function C1(){return $(H.wrapper,".slides>section>section")}function w1(){return j0().length>1}function m1(){return C1().length>1}function v1(){return n0().length}function f1(K,I){let L=j0()[K],b=L&&L.querySelectorAll("section");return b&&b.length&&typeof I=="number"?b?b[I]:void 0:L}function k1(){let K=x1();return{indexh:K.h,indexv:K.v,indexf:K.f,paused:Z0(),overview:d.isActive()}}function E0(){if(y0(),j&&D.autoSlide!==!1){let K=j.querySelector(".current-fragment[data-autoslide]"),I=K?K.getAttribute("data-autoslide"):null,L=j.parentNode?j.parentNode.getAttribute("data-autoslide"):null,b=j.getAttribute("data-autoslide");I?x=parseInt(I,10):b?x=parseInt(b,10):L?x=parseInt(L,10):(x=D.autoSlide,j.querySelectorAll(".fragment").length===0&&$(j,"video, audio").forEach((q)=>{q.hasAttribute("data-autoplay")&&x&&1000*q.duration/q.playbackRate>x&&(x=1000*q.duration/q.playbackRate+1000)})),!x||w||Z0()||d.isActive()||l0()&&!f.availableRoutes().next&&D.loop!==!0||(v=setTimeout(()=>{typeof D.autoSlideMethod=="function"?D.autoSlideMethod():t0(),E0()},x),m=Date.now()),G&&G.setPlaying(v!==-1)}}function y0(){clearTimeout(v),v=-1}function x0(){x&&!w&&(w=!0,s({type:"autoslidepaused"}),clearTimeout(v),G&&G.setPlaying(!1))}function C0(){x&&w&&(w=!1,s({type:"autoslideresumed"}),E0())}function w0({skipFragments:K=!1}={}){if(P.hasNavigatedHorizontally=!0,B.isActive())return B.prev();D.rtl?(d.isActive()||K||f.next()===!1)&&V0().left&&Q0(V+1,D.navigationMode==="grid"?z:void 0):(d.isActive()||K||f.prev()===!1)&&V0().left&&Q0(V-1,D.navigationMode==="grid"?z:void 0)}function m0({skipFragments:K=!1}={}){if(P.hasNavigatedHorizontally=!0,B.isActive())return B.next();D.rtl?(d.isActive()||K||f.prev()===!1)&&V0().right&&Q0(V-1,D.navigationMode==="grid"?z:void 0):(d.isActive()||K||f.next()===!1)&&V0().right&&Q0(V+1,D.navigationMode==="grid"?z:void 0)}function i0({skipFragments:K=!1}={}){if(B.isActive())return B.prev();(d.isActive()||K||f.prev()===!1)&&V0().up&&Q0(V,z-1)}function s0({skipFragments:K=!1}={}){if(P.hasNavigatedVertically=!0,B.isActive())return B.next();(d.isActive()||K||f.next()===!1)&&V0().down&&Q0(V,z+1)}function g1({skipFragments:K=!1}={}){if(B.isActive())return B.prev();if(K||f.prev()===!1)if(V0().up)i0({skipFragments:K});else{let I;if(I=D.rtl?$(H.wrapper,D0+".future").pop():$(H.wrapper,D0+".past").pop(),I&&I.classList.contains("stack")){let L=I.querySelectorAll("section").length-1||void 0;Q0(V-1,L)}else D.rtl?m0({skipFragments:K}):w0({skipFragments:K})}}function t0({skipFragments:K=!1}={}){if(P.hasNavigatedHorizontally=!0,P.hasNavigatedVertically=!0,B.isActive())return B.next();if(K||f.next()===!1){let I=V0();I.down&&I.right&&D.loop&&b1()&&(I.down=!1),I.down?s0({skipFragments:K}):D.rtl?w0({skipFragments:K}):m0({skipFragments:K})}}function R1(K){let I=K.data;if(typeof I=="string"&&I.charAt(0)==="{"&&I.charAt(I.length-1)==="}"&&(I=JSON.parse(I),I.method&&typeof U[I.method]=="function"))if(M2.test(I.method)===!1){const L=U[I.method].apply(U,I.args);H1("callback",{method:I.method,result:L})}else console.warn('reveal.js: "'+I.method+'" is is blacklisted from the postMessage API')}function M1(K){Z==="running"&&/section/gi.test(K.target.nodeName)&&(Z="idle",s({type:"slidetransitionend",data:{indexh:V,indexv:z,previousSlide:F,currentSlide:j}}))}function d1(K){const I=Y(K.target,'a[href^="#"]');if(I){const L=I.getAttribute("href"),b=a.getIndicesFromHash(L);b&&(U.slide(b.h,b.v,b.f),K.preventDefault())}}function h1(K){B0()}function T1(K){document.hidden===!1&&document.activeElement!==document.body&&(typeof document.activeElement.blur=="function"&&document.activeElement.blur(),document.body.focus())}function v0(K){(document.fullscreenElement||document.webkitFullscreenElement)===H.wrapper&&(K.stopImmediatePropagation(),setTimeout(()=>{U.layout(),U.focus.focus()},1))}function c1(K){if(K.currentTarget&&K.currentTarget.hasAttribute("href")){let I=K.currentTarget.getAttribute("href");I&&(I1(I),K.preventDefault())}}function f2(K){l0()&&D.loop===!1?(Q0(0,0),C0()):w?C0():x0()}const p1={VERSION:L2,initialize:function(K){if(!Q)throw'Unable to find presentation root (<div class="reveal">).';if(_=!0,H.wrapper=Q,H.slides=Q.querySelector(".slides"),!H.slides)throw'Unable to find slides container (<div class="slides">).';return D={...d2,...D,...W,...K,...u1()},/print-pdf/gi.test(window.location.search)&&(D.view="print"),function(){D.embedded===!0?H.viewport=Y(Q,".reveal-viewport")||Q:(H.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),H.viewport.classList.add("reveal-viewport")}(),window.addEventListener("load",B0,!1),e.load(D.plugins,D.dependencies).then(v2),new Promise((I)=>U.on("ready",I))},configure:j1,destroy:function(){_!==!1&&(X0(),y0(),o0(),t.destroy(),H0.destroy(),e.destroy(),F1.destroy(),o.destroy(),W0.destroy(),c.destroy(),M.destroy(),p.destroy(),document.removeEventListener("fullscreenchange",v0),document.removeEventListener("webkitfullscreenchange",v0),document.removeEventListener("visibilitychange",T1,!1),window.removeEventListener("message",R1,!1),window.removeEventListener("load",B0,!1),H.pauseOverlay&&H.pauseOverlay.remove(),H.statusElement&&H.statusElement.remove(),document.documentElement.classList.remove("reveal-full-page"),H.wrapper.classList.remove("ready","center","has-horizontal-slides","has-vertical-slides"),H.wrapper.removeAttribute("data-transition-speed"),H.wrapper.removeAttribute("data-background-transition"),H.viewport.classList.remove("reveal-viewport"),H.viewport.style.removeProperty("--slide-width"),H.viewport.style.removeProperty("--slide-height"),H.slides.style.removeProperty("width"),H.slides.style.removeProperty("height"),H.slides.style.removeProperty("zoom"),H.slides.style.removeProperty("left"),H.slides.style.removeProperty("top"),H.slides.style.removeProperty("bottom"),H.slides.style.removeProperty("right"),H.slides.style.removeProperty("transform"),Array.from(H.wrapper.querySelectorAll(I0)).forEach((K)=>{K.style.removeProperty("display"),K.style.removeProperty("top"),K.removeAttribute("hidden"),K.removeAttribute("aria-hidden")}))},sync:Z1,syncSlide:function(K=j){c.sync(K),f.sync(K),X.load(K),c.update(),t.update()},syncFragments:f.sync.bind(f),slide:Q0,left:w0,right:m0,up:i0,down:s0,prev:g1,next:t0,navigateLeft:w0,navigateRight:m0,navigateUp:i0,navigateDown:s0,navigatePrev:g1,navigateNext:t0,navigateFragment:f.goto.bind(f),prevFragment:f.prev.bind(f),nextFragment:f.next.bind(f),on:K1,off:G1,addEventListener:K1,removeEventListener:G1,layout:B0,shuffle:r0,availableRoutes:V0,availableFragments:f.availableRoutes.bind(f),toggleHelp:function(K){typeof K=="boolean"?K?_1():U0():H.overlay?U0():_1()},toggleOverview:d.toggle.bind(d),toggleScrollView:B.toggle.bind(B),togglePause:J1,toggleAutoSlide:function(K){typeof K=="boolean"?K?C0():x0():w?C0():x0()},toggleJumpToSlide:function(K){typeof K=="boolean"?K?p.show():p.hide():p.isVisible()?p.hide():p.show()},isFirstSlide:S1,isLastSlide:l0,isLastVerticalSlide:b1,isVerticalSlide:q0,isVerticalStack:function(K=j){return K.classList.contains(".stack")||K.querySelector("section")!==null},isPaused:Z0,isAutoSliding:function(){return!(!x||w)},isSpeakerNotes:t.isSpeakerNotesWindow.bind(t),isOverview:d.isActive.bind(d),isFocused:H0.isFocused.bind(H0),isScrollView:B.isActive.bind(B),isPrintView:g.isActive.bind(g),isReady:()=>N,loadSlide:X.load.bind(X),unloadSlide:X.unload.bind(X),startEmbeddedContent:()=>X.startEmbeddedContent(j),stopEmbeddedContent:()=>X.stopEmbeddedContent(j,{unloadIframes:!1}),showPreview:I1,hidePreview:U0,addEventListeners:D1,removeEventListeners:X0,dispatchEvent:s,getState:k1,setState:function(K){if(typeof K=="object"){Q0(L0(K.indexh),L0(K.indexv),L0(K.indexf));let I=L0(K.paused),L=L0(K.overview);typeof I=="boolean"&&I!==Z0()&&J1(I),typeof L=="boolean"&&L!==d.isActive()&&d.toggle(L)}},getProgress:function(){let K=v1(),I=y1();if(j){let L=j.querySelectorAll(".fragment");if(L.length>0){let b=0.9;I+=j.querySelectorAll(".fragment.visible").length/L.length*b}}return Math.min(I/(K-1),1)},getIndices:x1,getSlidesAttributes:function(){return n0().map((K)=>{let I={};for(let L=0;L<K.attributes.length;L++){let b=K.attributes[L];I[b.name]=b.value}return I})},getSlidePastCount:y1,getTotalSlides:v1,getSlide:f1,getPreviousSlide:()=>F,getCurrentSlide:()=>j,getSlideBackground:function(K,I){let L=typeof K=="number"?f1(K,I):K;if(L)return L.slideBackgroundElement},getSlideNotes:t.getSlideNotes.bind(t),getSlides:n0,getHorizontalSlides:j0,getVerticalSlides:C1,hasHorizontalSlides:w1,hasVerticalSlides:m1,hasNavigatedHorizontally:()=>P.hasNavigatedHorizontally,hasNavigatedVertically:()=>P.hasNavigatedVertically,shouldAutoAnimateBetween:Y0,addKeyBinding:l.addKeyBinding.bind(l),removeKeyBinding:l.removeKeyBinding.bind(l),triggerKey:l.triggerKey.bind(l),registerKeyboardShortcut:l.registerKeyboardShortcut.bind(l),getComputedSlideSize:$0,setCurrentScrollPage:function(K,I,L){let b=V||0;V=I,z=L;const q=j!==K;F=j,j=K,j&&F&&D.autoAnimate&&Y0(F,j,b,z)&&A.run(F,j),q&&(F&&(X.stopEmbeddedContent(F),X.stopEmbeddedContent(F.slideBackgroundElement)),X.startEmbeddedContent(j),X.startEmbeddedContent(j.slideBackgroundElement)),requestAnimationFrame(()=>{u0(O0(j))}),P1()},getScale:()=>S,getConfig:()=>D,getQueryHash:u1,getSlidePath:a.getHash.bind(a),getRevealElement:()=>Q,getSlidesElement:()=>H.slides,getViewportElement:()=>H.viewport,getBackgroundsElement:()=>c.element,registerPlugin:e.registerPlugin.bind(e),hasPlugin:e.hasPlugin.bind(e),getPlugin:e.getPlugin.bind(e),getPlugins:e.getRegisteredPlugins.bind(e)};return b0(U,{...p1,announceStatus:u0,getStatusText:O0,focus:H0,scroll:B,progress:W0,controls:o,location:a,overview:d,fragments:f,backgrounds:c,slideContent:X,slideNumber:M,onUserInput:function(K){D.autoSlideStoppable&&x0()},closeOverlay:U0,updateSlidesVisibility:a0,layoutSlideContents:B1,transformSlides:A0,cueAutoSlide:E0,cancelAutoSlide:y0}),p1};/*!
* reveal.js 5.1.0
* https://revealjs.com
* MIT licensed
*
* Copyright (C) 2011-2024 Hakim El Hattab, https://hakim.se
*/var b0=(Q,W)=>{for(let U in W)Q[U]=W[U];return Q},$=(Q,W)=>Array.from(Q.querySelectorAll(W)),e0=(Q,W,U)=>{U?Q.classList.add(W):Q.classList.remove(W)},L0=(Q)=>{if(typeof Q=="string"){if(Q==="null")return null;if(Q==="true")return!0;if(Q==="false")return!1;if(Q.match(/^-?[\d\.]+$/))return parseFloat(Q)}return Q},K0=(Q,W)=>{Q.style.transform=W},k0=(Q,W)=>{let U=Q.matches||Q.matchesSelector||Q.msMatchesSelector;return!(!U||!U.call(Q,W))},Y=(Q,W)=>{if(typeof Q.closest=="function")return Q.closest(W);for(;Q;){if(k0(Q,W))return Q;Q=Q.parentNode}return null},n1=(Q)=>{let W=(Q=Q||document.documentElement).requestFullscreen||Q.webkitRequestFullscreen||Q.webkitRequestFullScreen||Q.mozRequestFullScreen||Q.msRequestFullscreen;W&&W.apply(Q)},U1=(Q)=>{let W=document.createElement("style");return W.type="text/css",Q&&Q.length>0&&(W.styleSheet?W.styleSheet.cssText=Q:W.appendChild(document.createTextNode(Q))),document.head.appendChild(W),W},u1=()=>{let Q={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(W)=>{Q[W.split("=").shift()]=W.split("=").pop()});for(let W in Q){let U=Q[W];Q[W]=L0(unescape(U))}return Q.dependencies!==void 0&&delete Q.dependencies,Q},g2={mp4:"video/mp4",m4a:"video/mp4",ogv:"video/ogg",mpeg:"video/mpeg",webm:"video/webm"},i1=navigator.userAgent,S0=/(iphone|ipod|ipad|android)/gi.test(i1)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,s1=/android/gi.test(i1),R2=function(Q){if(Q){var W=function(B){return[].slice.call(B)},U=3,V=[],z=null,F="requestAnimationFrame"in Q?function(){Q.cancelAnimationFrame(z),z=Q.requestAnimationFrame(function(){return G(V.filter(function(B){return B.dirty&&B.active}))})}:function(){},j=function(B){return function(){V.forEach(function(g){return g.dirty=B}),F()}},G=function(B){B.filter(function(f){return!f.styleComputed}).forEach(function(f){f.styleComputed=P(f)}),B.filter(E).forEach(S);var g=B.filter(N);g.forEach(_),g.forEach(function(f){S(f),D(f)}),g.forEach(J)},D=function(B){return B.dirty=0},_=function(B){B.availableWidth=B.element.parentNode.clientWidth,B.currentWidth=B.element.scrollWidth,B.previousFontSize=B.currentFontSize,B.currentFontSize=Math.min(Math.max(B.minSize,B.availableWidth/B.currentWidth*B.previousFontSize),B.maxSize),B.whiteSpace=B.multiLine&&B.currentFontSize===B.minSize?"normal":"nowrap"},N=function(B){return B.dirty!==2||B.dirty===2&&B.element.parentNode.clientWidth!==B.availableWidth},P=function(B){var g=Q.getComputedStyle(B.element,null);return B.currentFontSize=parseFloat(g.getPropertyValue("font-size")),B.display=g.getPropertyValue("display"),B.whiteSpace=g.getPropertyValue("white-space"),!0},E=function(B){var g=!1;return!B.preStyleTestCompleted&&(/inline-/.test(B.display)||(g=!0,B.display="inline-block"),B.whiteSpace!=="nowrap"&&(g=!0,B.whiteSpace="nowrap"),B.preStyleTestCompleted=!0,g)},S=function(B){B.element.style.whiteSpace=B.whiteSpace,B.element.style.display=B.display,B.element.style.fontSize=B.currentFontSize+"px"},J=function(B){B.element.dispatchEvent(new CustomEvent("fit",{detail:{oldValue:B.previousFontSize,newValue:B.currentFontSize,scaleFactor:B.currentFontSize/B.previousFontSize}}))},H=function(B,g){return function(){B.dirty=g,B.active&&F()}},Z=function(B){return function(){V=V.filter(function(g){return g.element!==B.element}),B.observeMutations&&B.observer.disconnect(),B.element.style.whiteSpace=B.originalStyle.whiteSpace,B.element.style.display=B.originalStyle.display,B.element.style.fontSize=B.originalStyle.fontSize}},x=function(B){return function(){B.active||(B.active=!0,F())}},v=function(B){return function(){return B.active=!1}},m=function(B){B.observeMutations&&(B.observer=new MutationObserver(H(B,1)),B.observer.observe(B.element,B.observeMutations))},w={minSize:16,maxSize:512,multiLine:!0,observeMutations:"MutationObserver"in Q&&{subtree:!0,childList:!0,characterData:!0}},X=null,M=function(){Q.clearTimeout(X),X=Q.setTimeout(j(2),c.observeWindowDelay)},p=["resize","orientationchange"];return Object.defineProperty(c,"observeWindow",{set:function(B){var g="".concat(B?"add":"remove","EventListener");p.forEach(function(f){Q[g](f,M)})}}),c.observeWindow=!0,c.observeWindowDelay=100,c.fitAll=j(U),c}function A(B,g){var f=Object.assign({},w,g),d=B.map(function(l){var a=Object.assign({},f,{element:l,active:!0});return function(o){o.originalStyle={whiteSpace:o.element.style.whiteSpace,display:o.element.style.display,fontSize:o.element.style.fontSize},m(o),o.newbie=!0,o.dirty=!0,V.push(o)}(a),{element:l,fit:H(a,U),unfreeze:x(a),freeze:v(a),unsubscribe:Z(a)}});return F(),d}function c(B){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return typeof B=="string"?A(W(document.querySelectorAll(B)),g):A([B],g)[0]}}(typeof window=="undefined"?null:window);class t1{constructor(Q){this.Reveal=Q,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}shouldPreload(Q){if(this.Reveal.isScrollView())return!0;let W=this.Reveal.getConfig().preloadIframes;return typeof W!="boolean"&&(W=Q.hasAttribute("data-preload")),W}load(Q,W={}){Q.style.display=this.Reveal.getConfig().display,$(Q,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((V)=>{(V.tagName!=="IFRAME"||this.shouldPreload(V))&&(V.setAttribute("src",V.getAttribute("data-src")),V.setAttribute("data-lazy-loaded",""),V.removeAttribute("data-src"))}),$(Q,"video, audio").forEach((V)=>{let z=0;$(V,"source[data-src]").forEach((F)=>{F.setAttribute("src",F.getAttribute("data-src")),F.removeAttribute("data-src"),F.setAttribute("data-lazy-loaded",""),z+=1}),S0&&V.tagName==="VIDEO"&&V.setAttribute("playsinline",""),z>0&&V.load()});let U=Q.slideBackgroundElement;if(U){U.style.display="block";let V=Q.slideBackgroundContentElement,z=Q.getAttribute("data-background-iframe");if(U.hasAttribute("data-loaded")===!1){U.setAttribute("data-loaded","true");let j=Q.getAttribute("data-background-image"),G=Q.getAttribute("data-background-video"),D=Q.hasAttribute("data-background-video-loop"),_=Q.hasAttribute("data-background-video-muted");if(j)/^data:/.test(j.trim())?V.style.backgroundImage=`url(${j.trim()})`:V.style.backgroundImage=j.split(",").map((N)=>`url(${((P="")=>encodeURI(P).replace(/%5B/g,"[").replace(/%5D/g,"]").replace(/[!'()*]/g,(E)=>`%${E.charCodeAt(0).toString(16).toUpperCase()}`))(decodeURI(N.trim()))})`).join(",");else if(G&&!this.Reveal.isSpeakerNotes()){let N=document.createElement("video");D&&N.setAttribute("loop",""),_&&(N.muted=!0),S0&&(N.muted=!0,N.setAttribute("playsinline","")),G.split(",").forEach((P)=>{const E=document.createElement("source");E.setAttribute("src",P);let S=((J="")=>g2[J.split(".").pop()])(P);S&&E.setAttribute("type",S),N.appendChild(E)}),V.appendChild(N)}else if(z&&W.excludeIframes!==!0){let N=document.createElement("iframe");N.setAttribute("allowfullscreen",""),N.setAttribute("mozallowfullscreen",""),N.setAttribute("webkitallowfullscreen",""),N.setAttribute("allow","autoplay"),N.setAttribute("data-src",z),N.style.width="100%",N.style.height="100%",N.style.maxHeight="100%",N.style.maxWidth="100%",V.appendChild(N)}}let F=V.querySelector("iframe[data-src]");F&&this.shouldPreload(U)&&!/autoplay=(1|true|yes)/gi.test(z)&&F.getAttribute("src")!==z&&F.setAttribute("src",z)}this.layout(Q)}layout(Q){Array.from(Q.querySelectorAll(".r-fit-text")).forEach((W)=>{R2(W,{minSize:24,maxSize:0.8*this.Reveal.getConfig().height,observeMutations:!1,observeWindow:!1})})}unload(Q){Q.style.display="none";let W=this.Reveal.getSlideBackground(Q);W&&(W.style.display="none",$(W,"iframe[src]").forEach((U)=>{U.removeAttribute("src")})),$(Q,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((U)=>{U.setAttribute("data-src",U.getAttribute("src")),U.removeAttribute("src")}),$(Q,"video[data-lazy-loaded] source[src], audio source[src]").forEach((U)=>{U.setAttribute("data-src",U.getAttribute("src")),U.removeAttribute("src")})}formatEmbeddedContent(){let Q=(W,U,V)=>{$(this.Reveal.getSlidesElement(),"iframe["+W+'*="'+U+'"]').forEach((z)=>{let F=z.getAttribute(W);F&&F.indexOf(V)===-1&&z.setAttribute(W,F+(/\?/.test(F)?"&":"?")+V)})};Q("src","youtube.com/embed/","enablejsapi=1"),Q("data-src","youtube.com/embed/","enablejsapi=1"),Q("src","player.vimeo.com/","api=1"),Q("data-src","player.vimeo.com/","api=1")}startEmbeddedContent(Q){Q&&!this.Reveal.isSpeakerNotes()&&($(Q,'img[src$=".gif"]').forEach((W)=>{W.setAttribute("src",W.getAttribute("src"))}),$(Q,"video, audio").forEach((W)=>{if(Y(W,".fragment")&&!Y(W,".fragment.visible"))return;let U=this.Reveal.getConfig().autoPlayMedia;if(typeof U!="boolean"&&(U=W.hasAttribute("data-autoplay")||!!Y(W,".slide-background")),U&&typeof W.play=="function")if(W.readyState>1)this.startEmbeddedMedia({target:W});else if(S0){let V=W.play();V&&typeof V.catch=="function"&&W.controls===!1&&V.catch(()=>{W.controls=!0,W.addEventListener("play",()=>{W.controls=!1})})}else W.removeEventListener("loadeddata",this.startEmbeddedMedia),W.addEventListener("loadeddata",this.startEmbeddedMedia)}),$(Q,"iframe[src]").forEach((W)=>{Y(W,".fragment")&&!Y(W,".fragment.visible")||this.startEmbeddedIframe({target:W})}),$(Q,"iframe[data-src]").forEach((W)=>{Y(W,".fragment")&&!Y(W,".fragment.visible")||W.getAttribute("src")!==W.getAttribute("data-src")&&(W.removeEventListener("load",this.startEmbeddedIframe),W.addEventListener("load",this.startEmbeddedIframe),W.setAttribute("src",W.getAttribute("data-src")))}))}startEmbeddedMedia(Q){let W=!!Y(Q.target,"html"),U=!!Y(Q.target,".present");W&&U&&(Q.target.paused||Q.target.ended)&&(Q.target.currentTime=0,Q.target.play()),Q.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}startEmbeddedIframe(Q){let W=Q.target;if(W&&W.contentWindow){let U=!!Y(Q.target,"html"),V=!!Y(Q.target,".present");if(U&&V){let z=this.Reveal.getConfig().autoPlayMedia;typeof z!="boolean"&&(z=W.hasAttribute("data-autoplay")||!!Y(W,".slide-background")),/youtube\.com\/embed\//.test(W.getAttribute("src"))&&z?W.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(W.getAttribute("src"))&&z?W.contentWindow.postMessage('{"method":"play"}',"*"):W.contentWindow.postMessage("slide:start","*")}}}stopEmbeddedContent(Q,W={}){W=b0({unloadIframes:!0},W),Q&&Q.parentNode&&($(Q,"video, audio").forEach((U)=>{U.hasAttribute("data-ignore")||typeof U.pause!="function"||(U.setAttribute("data-paused-by-reveal",""),U.pause())}),$(Q,"iframe").forEach((U)=>{U.contentWindow&&U.contentWindow.postMessage("slide:stop","*"),U.removeEventListener("load",this.startEmbeddedIframe)}),$(Q,'iframe[src*="youtube.com/embed/"]').forEach((U)=>{!U.hasAttribute("data-ignore")&&U.contentWindow&&typeof U.contentWindow.postMessage=="function"&&U.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),$(Q,'iframe[src*="player.vimeo.com/"]').forEach((U)=>{!U.hasAttribute("data-ignore")&&U.contentWindow&&typeof U.contentWindow.postMessage=="function"&&U.contentWindow.postMessage('{"method":"pause"}',"*")}),W.unloadIframes===!0&&$(Q,"iframe[data-src]").forEach((U)=>{U.setAttribute("src","about:blank"),U.removeAttribute("src")}))}}var I0=".slides section",D0=".slides>section",A1=".slides>section.present>section",M2=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/,o1=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;class e1{constructor(Q){this.Reveal=Q}render(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}configure(Q,W){let U="none";Q.slideNumber&&!this.Reveal.isPrintView()&&(Q.showSlideNumber==="all"||Q.showSlideNumber==="speaker"&&this.Reveal.isSpeakerNotes())&&(U="block"),this.element.style.display=U}update(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}getSlideNumber(Q=this.Reveal.getCurrentSlide()){let W,U=this.Reveal.getConfig(),V="h.v";if(typeof U.slideNumber=="function")W=U.slideNumber(Q);else{typeof U.slideNumber=="string"&&(V=U.slideNumber),/c/.test(V)||this.Reveal.getHorizontalSlides().length!==1||(V="c");let F=Q&&Q.dataset.visibility==="uncounted"?0:1;switch(W=[],V){case"c":W.push(this.Reveal.getSlidePastCount(Q)+F);break;case"c/t":W.push(this.Reveal.getSlidePastCount(Q)+F,"/",this.Reveal.getTotalSlides());break;default:let j=this.Reveal.getIndices(Q);W.push(j.h+F);let G=V==="h/v"?"/":".";this.Reveal.isVerticalSlide(Q)&&W.push(G,j.v+1)}}let z="#"+this.Reveal.location.getHash(Q);return this.formatNumber(W[0],W[1],W[2],z)}formatNumber(Q,W,U,V="#"+this.Reveal.location.getHash()){return typeof U!="number"||isNaN(U)?`<a href="${V}">\n\t\t\t\t\t<span class="slide-number-a">${Q}</span>\n\t\t\t\t\t</a>`:`<a href="${V}">\n\t\t\t\t\t<span class="slide-number-a">${Q}</span>\n\t\t\t\t\t<span class="slide-number-delimiter">${W}</span>\n\t\t\t\t\t<span class="slide-number-b">${U}</span>\n\t\t\t\t\t</a>`}destroy(){this.element.remove()}}class Q2{constructor(Q){this.Reveal=Q,this.onInput=this.onInput.bind(this),this.onBlur=this.onBlur.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}render(){this.element=document.createElement("div"),this.element.className="jump-to-slide",this.jumpInput=document.createElement("input"),this.jumpInput.type="text",this.jumpInput.className="jump-to-slide-input",this.jumpInput.placeholder="Jump to slide",this.jumpInput.addEventListener("input",this.onInput),this.jumpInput.addEventListener("keydown",this.onKeyDown),this.jumpInput.addEventListener("blur",this.onBlur),this.element.appendChild(this.jumpInput)}show(){this.indicesOnShow=this.Reveal.getIndices(),this.Reveal.getRevealElement().appendChild(this.element),this.jumpInput.focus()}hide(){this.isVisible()&&(this.element.remove(),this.jumpInput.value="",clearTimeout(this.jumpTimeout),delete this.jumpTimeout)}isVisible(){return!!this.element.parentNode}jump(){clearTimeout(this.jumpTimeout),delete this.jumpTimeout;let Q,W=this.jumpInput.value.trim("");if(/^\d+$/.test(W)){const U=this.Reveal.getConfig().slideNumber;if(U==="c"||U==="c/t"){const V=this.Reveal.getSlides()[parseInt(W,10)-1];V&&(Q=this.Reveal.getIndices(V))}}return Q||(/^\d+\.\d+$/.test(W)&&(W=W.replace(".","/")),Q=this.Reveal.location.getIndicesFromHash(W,{oneBasedIndex:!0})),!Q&&/\S+/i.test(W)&&W.length>1&&(Q=this.search(W)),Q&&W!==""?(this.Reveal.slide(Q.h,Q.v,Q.f),!0):(this.Reveal.slide(this.indicesOnShow.h,this.indicesOnShow.v,this.indicesOnShow.f),!1)}jumpAfter(Q){clearTimeout(this.jumpTimeout),this.jumpTimeout=setTimeout(()=>this.jump(),Q)}search(Q){const W=new RegExp("\\b"+Q.trim()+"\\b","i"),U=this.Reveal.getSlides().find((V)=>W.test(V.innerText));return U?this.Reveal.getIndices(U):null}cancel(){this.Reveal.slide(this.indicesOnShow.h,this.indicesOnShow.v,this.indicesOnShow.f),this.hide()}confirm(){this.jump(),this.hide()}destroy(){this.jumpInput.removeEventListener("input",this.onInput),this.jumpInput.removeEventListener("keydown",this.onKeyDown),this.jumpInput.removeEventListener("blur",this.onBlur),this.element.remove()}onKeyDown(Q){Q.keyCode===13?this.confirm():Q.keyCode===27&&(this.cancel(),Q.stopImmediatePropagation())}onInput(Q){this.jumpAfter(200)}onBlur(){setTimeout(()=>this.hide(),1)}}var Q1=(Q)=>{let W=Q.match(/^#([0-9a-f]{3})$/i);if(W&&W[1])return W=W[1],{r:17*parseInt(W.charAt(0),16),g:17*parseInt(W.charAt(1),16),b:17*parseInt(W.charAt(2),16)};let U=Q.match(/^#([0-9a-f]{6})$/i);if(U&&U[1])return U=U[1],{r:parseInt(U.slice(0,2),16),g:parseInt(U.slice(2,4),16),b:parseInt(U.slice(4,6),16)};let V=Q.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(V)return{r:parseInt(V[1],10),g:parseInt(V[2],10),b:parseInt(V[3],10)};let z=Q.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return z?{r:parseInt(z[1],10),g:parseInt(z[2],10),b:parseInt(z[3],10),a:parseFloat(z[4])}:null};class W2{constructor(Q){this.Reveal=Q}render(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}create(){this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach((Q)=>{let W=this.createBackground(Q,this.element);$(Q,"section").forEach((U)=>{this.createBackground(U,W),W.classList.add("stack")})}),this.Reveal.getConfig().parallaxBackgroundImage?(this.element.style.backgroundImage='url("'+this.Reveal.getConfig().parallaxBackgroundImage+'")',this.element.style.backgroundSize=this.Reveal.getConfig().parallaxBackgroundSize,this.element.style.backgroundRepeat=this.Reveal.getConfig().parallaxBackgroundRepeat,this.element.style.backgroundPosition=this.Reveal.getConfig().parallaxBackgroundPosition,setTimeout(()=>{this.Reveal.getRevealElement().classList.add("has-parallax-background")},1)):(this.element.style.backgroundImage="",this.Reveal.getRevealElement().classList.remove("has-parallax-background"))}createBackground(Q,W){let U=document.createElement("div");U.className="slide-background "+Q.className.replace(/present|past|future/,"");let V=document.createElement("div");return V.className="slide-background-content",U.appendChild(V),W.appendChild(U),Q.slideBackgroundElement=U,Q.slideBackgroundContentElement=V,this.sync(Q),U}sync(Q){const{slideBackgroundElement:W,slideBackgroundContentElement:U}=Q,V={background:Q.getAttribute("data-background"),backgroundSize:Q.getAttribute("data-background-size"),backgroundImage:Q.getAttribute("data-background-image"),backgroundVideo:Q.getAttribute("data-background-video"),backgroundIframe:Q.getAttribute("data-background-iframe"),backgroundColor:Q.getAttribute("data-background-color"),backgroundGradient:Q.getAttribute("data-background-gradient"),backgroundRepeat:Q.getAttribute("data-background-repeat"),backgroundPosition:Q.getAttribute("data-background-position"),backgroundTransition:Q.getAttribute("data-background-transition"),backgroundOpacity:Q.getAttribute("data-background-opacity")},z=Q.hasAttribute("data-preload");Q.classList.remove("has-dark-background"),Q.classList.remove("has-light-background"),W.removeAttribute("data-loaded"),W.removeAttribute("data-background-hash"),W.removeAttribute("data-background-size"),W.removeAttribute("data-background-transition"),W.style.backgroundColor="",U.style.backgroundSize="",U.style.backgroundRepeat="",U.style.backgroundPosition="",U.style.backgroundImage="",U.style.opacity="",U.innerHTML="",V.background&&(/^(http|file|\/\/)/gi.test(V.background)||/\.(svg|png|jpg|jpeg|gif|bmp|webp)([?#\s]|$)/gi.test(V.background)?Q.setAttribute("data-background-image",V.background):W.style.background=V.background),(V.background||V.backgroundColor||V.backgroundGradient||V.backgroundImage||V.backgroundVideo||V.backgroundIframe)&&W.setAttribute("data-background-hash",V.background+V.backgroundSize+V.backgroundImage+V.backgroundVideo+V.backgroundIframe+V.backgroundColor+V.backgroundGradient+V.backgroundRepeat+V.backgroundPosition+V.backgroundTransition+V.backgroundOpacity),V.backgroundSize&&W.setAttribute("data-background-size",V.backgroundSize),V.backgroundColor&&(W.style.backgroundColor=V.backgroundColor),V.backgroundGradient&&(W.style.backgroundImage=V.backgroundGradient),V.backgroundTransition&&W.setAttribute("data-background-transition",V.backgroundTransition),z&&W.setAttribute("data-preload",""),V.backgroundSize&&(U.style.backgroundSize=V.backgroundSize),V.backgroundRepeat&&(U.style.backgroundRepeat=V.backgroundRepeat),V.backgroundPosition&&(U.style.backgroundPosition=V.backgroundPosition),V.backgroundOpacity&&(U.style.opacity=V.backgroundOpacity);const F=this.getContrastClass(Q);typeof F=="string"&&Q.classList.add(F)}getContrastClass(Q){const W=Q.slideBackgroundElement;let U=Q.getAttribute("data-background-color");if(!U||!Q1(U)){let z=window.getComputedStyle(W);z&&z.backgroundColor&&(U=z.backgroundColor)}if(U){const z=Q1(U);if(z&&z.a!==0)return typeof(V=U)=="string"&&(V=Q1(V)),(V?(299*V.r+587*V.g+114*V.b)/1000:null)<128?"has-dark-background":"has-light-background"}var V;return null}bubbleSlideContrastClassToElement(Q,W){["has-light-background","has-dark-background"].forEach((U)=>{Q.classList.contains(U)?W.classList.add(U):W.classList.remove(U)},this)}update(Q=!1){let W=this.Reveal.getConfig(),U=this.Reveal.getCurrentSlide(),V=this.Reveal.getIndices(),z=null,F=W.rtl?"future":"past",j=W.rtl?"past":"future";if(Array.from(this.element.childNodes).forEach((G,D)=>{G.classList.remove("past","present","future"),D<V.h?G.classList.add(F):D>V.h?G.classList.add(j):(G.classList.add("present"),z=G),(Q||D===V.h)&&$(G,".slide-background").forEach((_,N)=>{_.classList.remove("past","present","future");const P=typeof V.v=="number"?V.v:0;N<P?_.classList.add("past"):N>P?_.classList.add("future"):(_.classList.add("present"),D===V.h&&(z=_))})}),this.previousBackground&&!this.previousBackground.closest("body")&&(this.previousBackground=null),z&&this.previousBackground){let G=this.previousBackground.getAttribute("data-background-hash"),D=z.getAttribute("data-background-hash");if(D&&D===G&&z!==this.previousBackground){this.element.classList.add("no-transition");const _=z.querySelector("video"),N=this.previousBackground.querySelector("video");if(_&&N){const P=_.parentNode;N.parentNode.appendChild(_),P.appendChild(N)}}}if(this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!this.Reveal.slideContent.shouldPreload(this.previousBackground)}),z){this.Reveal.slideContent.startEmbeddedContent(z);let G=z.querySelector(".slide-background-content");if(G){let D=G.style.backgroundImage||"";/\.gif/i.test(D)&&(G.style.backgroundImage="",window.getComputedStyle(G).opacity,G.style.backgroundImage=D)}this.previousBackground=z}U&&this.bubbleSlideContrastClassToElement(U,this.Reveal.getRevealElement()),setTimeout(()=>{this.element.classList.remove("no-transition")},10)}updateParallax(){let Q=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){let W,U,V=this.Reveal.getHorizontalSlides(),z=this.Reveal.getVerticalSlides(),F=this.element.style.backgroundSize.split(" ");F.length===1?W=U=parseInt(F[0],10):(W=parseInt(F[0],10),U=parseInt(F[1],10));let j,G,D=this.element.offsetWidth,_=V.length;j=typeof this.Reveal.getConfig().parallaxBackgroundHorizontal=="number"?this.Reveal.getConfig().parallaxBackgroundHorizontal:_>1?(W-D)/(_-1):0,G=j*Q.h*-1;let N,P,E=this.element.offsetHeight,S=z.length;N=typeof this.Reveal.getConfig().parallaxBackgroundVertical=="number"?this.Reveal.getConfig().parallaxBackgroundVertical:(U-E)/(S-1),P=S>0?N*Q.v:0,this.element.style.backgroundPosition=G+"px "+-P+"px"}}destroy(){this.element.remove()}}var l1=0;class U2{constructor(Q){this.Reveal=Q}run(Q,W){this.reset();let U=this.Reveal.getSlides(),V=U.indexOf(W),z=U.indexOf(Q);if(Q&&W&&Q.hasAttribute("data-auto-animate")&&W.hasAttribute("data-auto-animate")&&Q.getAttribute("data-auto-animate-id")===W.getAttribute("data-auto-animate-id")&&!(V>z?W:Q).hasAttribute("data-auto-animate-restart")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||U1();let F=this.getAutoAnimateOptions(W);Q.dataset.autoAnimate="pending",W.dataset.autoAnimate="pending",F.slideDirection=V>z?"forward":"backward";let j=Q.style.display==="none";j&&(Q.style.display=this.Reveal.getConfig().display);let G=this.getAutoAnimatableElements(Q,W).map((D)=>this.autoAnimateElements(D.from,D.to,D.options||{},F,l1++));if(j&&(Q.style.display="none"),W.dataset.autoAnimateUnmatched!=="false"&&this.Reveal.getConfig().autoAnimateUnmatched===!0){let D=0.8*F.duration,_=0.2*F.duration;this.getUnmatchedAutoAnimateElements(W).forEach((N)=>{let P=this.getAutoAnimateOptions(N,F),E="unmatched";P.duration===F.duration&&P.delay===F.delay||(E="unmatched-"+l1++,G.push(`[data-auto-animate="running"] [data-auto-animate-target="${E}"] { transition: opacity ${P.duration}s ease ${P.delay}s; }`)),N.dataset.autoAnimateTarget=E},this),G.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${D}s ease ${_}s; }`)}this.autoAnimateStyleSheet.innerHTML=G.join(""),requestAnimationFrame(()=>{this.autoAnimateStyleSheet&&(getComputedStyle(this.autoAnimateStyleSheet).fontWeight,W.dataset.autoAnimate="running")}),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:Q,toSlide:W,sheet:this.autoAnimateStyleSheet}})}}reset(){$(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach((Q)=>{Q.dataset.autoAnimate=""}),$(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach((Q)=>{delete Q.dataset.autoAnimateTarget}),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}autoAnimateElements(Q,W,U,V,z){Q.dataset.autoAnimateTarget="",W.dataset.autoAnimateTarget=z;let F=this.getAutoAnimateOptions(W,V);U.delay!==void 0&&(F.delay=U.delay),U.duration!==void 0&&(F.duration=U.duration),U.easing!==void 0&&(F.easing=U.easing);let j=this.getAutoAnimatableProperties("from",Q,U),G=this.getAutoAnimatableProperties("to",W,U);if(W.classList.contains("fragment")&&(delete G.styles.opacity,Q.classList.contains("fragment")))(Q.className.match(o1)||[""])[0]===(W.className.match(o1)||[""])[0]&&V.slideDirection==="forward"&&W.classList.add("visible","disabled");if(U.translate!==!1||U.scale!==!1){let N=this.Reveal.getScale(),P={x:(j.x-G.x)/N,y:(j.y-G.y)/N,scaleX:j.width/G.width,scaleY:j.height/G.height};P.x=Math.round(1000*P.x)/1000,P.y=Math.round(1000*P.y)/1000,P.scaleX=Math.round(1000*P.scaleX)/1000,P.scaleX=Math.round(1000*P.scaleX)/1000;let E=U.translate!==!1&&(P.x!==0||P.y!==0),S=U.scale!==!1&&(P.scaleX!==0||P.scaleY!==0);if(E||S){let J=[];E&&J.push(`translate(${P.x}px, ${P.y}px)`),S&&J.push(`scale(${P.scaleX}, ${P.scaleY})`),j.styles.transform=J.join(" "),j.styles["transform-origin"]="top left",G.styles.transform="none"}}for(let N in G.styles){const P=G.styles[N],E=j.styles[N];P===E?delete G.styles[N]:(P.explicitValue===!0&&(G.styles[N]=P.value),E.explicitValue===!0&&(j.styles[N]=E.value))}let D="",_=Object.keys(G.styles);if(_.length>0)j.styles.transition="none",G.styles.transition=`all ${F.duration}s ${F.easing} ${F.delay}s`,G.styles["transition-property"]=_.join(", "),G.styles["will-change"]=_.join(", "),D='[data-auto-animate-target="'+z+'"] {'+Object.keys(j.styles).map((N)=>N+": "+j.styles[N]+" !important;").join("")+'}[data-auto-animate="running"] [data-auto-animate-target="'+z+'"] {'+Object.keys(G.styles).map((N)=>N+": "+G.styles[N]+" !important;").join("")+"}";return D}getAutoAnimateOptions(Q,W){let U={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(U=b0(U,W),Q.parentNode){let V=Y(Q.parentNode,"[data-auto-animate-target]");V&&(U=this.getAutoAnimateOptions(V,U))}return Q.dataset.autoAnimateEasing&&(U.easing=Q.dataset.autoAnimateEasing),Q.dataset.autoAnimateDuration&&(U.duration=parseFloat(Q.dataset.autoAnimateDuration)),Q.dataset.autoAnimateDelay&&(U.delay=parseFloat(Q.dataset.autoAnimateDelay)),U}getAutoAnimatableProperties(Q,W,U){let V=this.Reveal.getConfig(),z={styles:[]};if(U.translate!==!1||U.scale!==!1){let j;if(typeof U.measure=="function")j=U.measure(W);else if(V.center)j=W.getBoundingClientRect();else{let G=this.Reveal.getScale();j={x:W.offsetLeft*G,y:W.offsetTop*G,width:W.offsetWidth*G,height:W.offsetHeight*G}}z.x=j.x,z.y=j.y,z.width=j.width,z.height=j.height}const F=getComputedStyle(W);return(U.styles||V.autoAnimateStyles).forEach((j)=>{let G;typeof j=="string"&&(j={property:j}),j.from!==void 0&&Q==="from"?G={value:j.from,explicitValue:!0}:j.to!==void 0&&Q==="to"?G={value:j.to,explicitValue:!0}:(j.property==="line-height"&&(G=parseFloat(F["line-height"])/parseFloat(F["font-size"])),isNaN(G)&&(G=F[j.property])),G!==""&&(z.styles[j.property]=G)}),z}getAutoAnimatableElements(Q,W){let U=(typeof this.Reveal.getConfig().autoAnimateMatcher=="function"?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,Q,W),V=[];return U.filter((z,F)=>{if(V.indexOf(z.to)===-1)return V.push(z.to),!0})}getAutoAnimatePairs(Q,W){let U=[];const V="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(U,Q,W,"[data-id]",(z)=>z.nodeName+":::"+z.getAttribute("data-id")),this.findAutoAnimateMatches(U,Q,W,V,(z)=>z.nodeName+":::"+z.innerText),this.findAutoAnimateMatches(U,Q,W,"img, video, iframe",(z)=>z.nodeName+":::"+(z.getAttribute("src")||z.getAttribute("data-src"))),this.findAutoAnimateMatches(U,Q,W,"pre",(z)=>z.nodeName+":::"+z.innerText),U.forEach((z)=>{k0(z.from,V)?z.options={scale:!1}:k0(z.from,"pre")&&(z.options={scale:!1,styles:["width","height"]},this.findAutoAnimateMatches(U,z.from,z.to,".hljs .hljs-ln-code",(F)=>F.textContent,{scale:!1,styles:[],measure:this.getLocalBoundingBox.bind(this)}),this.findAutoAnimateMatches(U,z.from,z.to,".hljs .hljs-ln-numbers[data-line-number]",(F)=>F.getAttribute("data-line-number"),{scale:!1,styles:["width"],measure:this.getLocalBoundingBox.bind(this)}))},this),U}getLocalBoundingBox(Q){const W=this.Reveal.getScale();return{x:Math.round(Q.offsetLeft*W*100)/100,y:Math.round(Q.offsetTop*W*100)/100,width:Math.round(Q.offsetWidth*W*100)/100,height:Math.round(Q.offsetHeight*W*100)/100}}findAutoAnimateMatches(Q,W,U,V,z,F){let j={},G={};[].slice.call(W.querySelectorAll(V)).forEach((D,_)=>{const N=z(D);typeof N=="string"&&N.length&&(j[N]=j[N]||[],j[N].push(D))}),[].slice.call(U.querySelectorAll(V)).forEach((D,_)=>{const N=z(D);let P;if(G[N]=G[N]||[],G[N].push(D),j[N]){const E=G[N].length-1,S=j[N].length-1;j[N][E]?(P=j[N][E],j[N][E]=null):j[N][S]&&(P=j[N][S],j[N][S]=null)}P&&Q.push({from:P,to:D,options:F})})}getUnmatchedAutoAnimateElements(Q){return[].slice.call(Q.children).reduce((W,U)=>{const V=U.querySelector("[data-auto-animate-target]");return U.hasAttribute("data-auto-animate-target")||V||W.push(U),U.querySelector("[data-auto-animate-target]")&&(W=W.concat(this.getUnmatchedAutoAnimateElements(U))),W},[])}}class V2{constructor(Q){this.Reveal=Q,this.active=!1,this.activatedCallbacks=[],this.onScroll=this.onScroll.bind(this)}activate(){if(this.active)return;const Q=this.Reveal.getState();this.active=!0,this.slideHTMLBeforeActivation=this.Reveal.getSlidesElement().innerHTML;const W=$(this.Reveal.getRevealElement(),D0),U=$(this.Reveal.getRevealElement(),".backgrounds>.slide-background");let V;this.viewportElement.classList.add("loading-scroll-mode","reveal-scroll");const z=window.getComputedStyle(this.viewportElement);z&&z.background&&(V=z.background);const F=[],j=W[0].parentNode;let G;const D=(_,N,P,E)=>{let S;if(G&&this.Reveal.shouldAutoAnimateBetween(G,_))S=document.createElement("div"),S.className="scroll-page-content scroll-auto-animate-page",S.style.display="none",G.closest(".scroll-page-content").parentNode.appendChild(S);else{const J=document.createElement("div");if(J.className="scroll-page",F.push(J),E&&U.length>N){const Z=U[N],x=window.getComputedStyle(Z);x&&x.background?J.style.background=x.background:V&&(J.style.background=V)}else V&&(J.style.background=V);const H=document.createElement("div");H.className="scroll-page-sticky",J.appendChild(H),S=document.createElement("div"),S.className="scroll-page-content",H.appendChild(S)}S.appendChild(_),_.classList.remove("past","future"),_.setAttribute("data-index-h",N),_.setAttribute("data-index-v",P),_.slideBackgroundElement&&(_.slideBackgroundElement.remove("past","future"),S.insertBefore(_.slideBackgroundElement,_)),G=_};W.forEach((_,N)=>{this.Reveal.isVerticalStack(_)?_.querySelectorAll("section").forEach((P,E)=>{D(P,N,E,!0)}):D(_,N,0)},this),this.createProgressBar(),$(this.Reveal.getRevealElement(),".stack").forEach((_)=>_.remove()),F.forEach((_)=>j.appendChild(_)),this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()),this.Reveal.layout(),this.Reveal.setState(Q),this.activatedCallbacks.forEach((_)=>_()),this.activatedCallbacks=[],this.restoreScrollPosition(),this.viewportElement.classList.remove("loading-scroll-mode"),this.viewportElement.addEventListener("scroll",this.onScroll,{passive:!0})}deactivate(){if(!this.active)return;const Q=this.Reveal.getState();this.active=!1,this.viewportElement.removeEventListener("scroll",this.onScroll),this.viewportElement.classList.remove("reveal-scroll"),this.removeProgressBar(),this.Reveal.getSlidesElement().innerHTML=this.slideHTMLBeforeActivation,this.Reveal.sync(),this.Reveal.setState(Q),this.slideHTMLBeforeActivation=null}toggle(Q){typeof Q=="boolean"?Q?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}createProgressBar(){this.progressBar=document.createElement("div"),this.progressBar.className="scrollbar",this.progressBarInner=document.createElement("div"),this.progressBarInner.className="scrollbar-inner",this.progressBar.appendChild(this.progressBarInner),this.progressBarPlayhead=document.createElement("div"),this.progressBarPlayhead.className="scrollbar-playhead",this.progressBarInner.appendChild(this.progressBarPlayhead),this.viewportElement.insertBefore(this.progressBar,this.viewportElement.firstChild);const Q=(U)=>{let V=(U.clientY-this.progressBarInner.getBoundingClientRect().top)/this.progressBarHeight;V=Math.max(Math.min(V,1),0),this.viewportElement.scrollTop=V*(this.viewportElement.scrollHeight-this.viewportElement.offsetHeight)},W=(U)=>{this.draggingProgressBar=!1,this.showProgressBar(),document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",W)};this.progressBarInner.addEventListener("mousedown",(U)=>{U.preventDefault(),this.draggingProgressBar=!0,document.addEventListener("mousemove",Q),document.addEventListener("mouseup",W),Q(U)})}removeProgressBar(){this.progressBar&&(this.progressBar.remove(),this.progressBar=null)}layout(){this.isActive()&&(this.syncPages(),this.syncScrollPosition())}syncPages(){const Q=this.Reveal.getConfig(),W=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),U=this.Reveal.getScale(),V=Q.scrollLayout==="compact",z=this.viewportElement.offsetHeight,F=W.height*U,j=V?F:z;this.scrollTriggerHeight=V?F:z,this.viewportElement.style.setProperty("--page-height",j+"px"),this.viewportElement.style.scrollSnapType=typeof Q.scrollSnap=="string"?`y ${Q.scrollSnap}`:"",this.slideTriggers=[];const G=Array.from(this.Reveal.getRevealElement().querySelectorAll(".scroll-page"));this.pages=G.map((D)=>{const _=this.createPage({pageElement:D,slideElement:D.querySelector("section"),stickyElement:D.querySelector(".scroll-page-sticky"),contentElement:D.querySelector(".scroll-page-content"),backgroundElement:D.querySelector(".slide-background"),autoAnimateElements:D.querySelectorAll(".scroll-auto-animate-page"),autoAnimatePages:[]});_.pageElement.style.setProperty("--slide-height",Q.center===!0?"auto":W.height+"px"),this.slideTriggers.push({page:_,activate:()=>this.activatePage(_),deactivate:()=>this.deactivatePage(_)}),this.createFragmentTriggersForPage(_),_.autoAnimateElements.length>0&&this.createAutoAnimateTriggersForPage(_);let N=Math.max(_.scrollTriggers.length-1,0);N+=_.autoAnimatePages.reduce((P,E)=>P+Math.max(E.scrollTriggers.length-1,0),_.autoAnimatePages.length),_.pageElement.querySelectorAll(".scroll-snap-point").forEach((P)=>P.remove());for(let P=0;P<N+1;P++){const E=document.createElement("div");E.className="scroll-snap-point",E.style.height=this.scrollTriggerHeight+"px",E.style.scrollSnapAlign=V?"center":"start",_.pageElement.appendChild(E),P===0&&(E.style.marginTop=-this.scrollTriggerHeight+"px")}return V&&_.scrollTriggers.length>0?(_.pageHeight=z,_.pageElement.style.setProperty("--page-height",z+"px")):(_.pageHeight=j,_.pageElement.style.removeProperty("--page-height")),_.scrollPadding=this.scrollTriggerHeight*N,_.totalHeight=_.pageHeight+_.scrollPadding,_.pageElement.style.setProperty("--page-scroll-padding",_.scrollPadding+"px"),N>0?(_.stickyElement.style.position="sticky",_.stickyElement.style.top=Math.max((z-_.pageHeight)/2,0)+"px"):(_.stickyElement.style.position="relative",_.pageElement.style.scrollSnapAlign=_.pageHeight<z?"center":"start"),_}),this.setTriggerRanges(),this.viewportElement.setAttribute("data-scrollbar",Q.scrollProgress),Q.scrollProgress&&this.totalScrollTriggerCount>1?(this.progressBar||this.createProgressBar(),this.syncProgressBar()):this.removeProgressBar()}setTriggerRanges(){this.totalScrollTriggerCount=this.slideTriggers.reduce((W,U)=>W+Math.max(U.page.scrollTriggers.length,1),0);let Q=0;this.slideTriggers.forEach((W,U)=>{W.range=[Q,Q+Math.max(W.page.scrollTriggers.length,1)/this.totalScrollTriggerCount];const V=(W.range[1]-W.range[0])/W.page.scrollTriggers.length;W.page.scrollTriggers.forEach((z,F)=>{z.range=[Q+F*V,Q+(F+1)*V]}),Q=W.range[1]})}createFragmentTriggersForPage(Q,W){W=W||Q.slideElement;const U=this.Reveal.fragments.sort(W.querySelectorAll(".fragment"),!0);return U.length&&(Q.fragments=this.Reveal.fragments.sort(W.querySelectorAll(".fragment:not(.disabled)")),Q.scrollTriggers.push({activate:()=>{this.Reveal.fragments.update(-1,Q.fragments,W)}}),U.forEach((V,z)=>{Q.scrollTriggers.push({activate:()=>{this.Reveal.fragments.update(z,Q.fragments,W)}})})),Q.scrollTriggers.length}createAutoAnimateTriggersForPage(Q){Q.autoAnimateElements.length>0&&this.slideTriggers.push(...Array.from(Q.autoAnimateElements).map((W,U)=>{let V=this.createPage({slideElement:W.querySelector("section"),contentElement:W,backgroundElement:W.querySelector(".slide-background")});return this.createFragmentTriggersForPage(V,V.slideElement),Q.autoAnimatePages.push(V),{page:V,activate:()=>this.activatePage(V),deactivate:()=>this.deactivatePage(V)}}))}createPage(Q){return Q.scrollTriggers=[],Q.indexh=parseInt(Q.slideElement.getAttribute("data-index-h"),10),Q.indexv=parseInt(Q.slideElement.getAttribute("data-index-v"),10),Q}syncProgressBar(){this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach((F)=>F.remove());const Q=this.viewportElement.scrollHeight,W=this.viewportElement.offsetHeight,U=W/Q;this.progressBarHeight=this.progressBarInner.offsetHeight,this.playheadHeight=Math.max(U*this.progressBarHeight,8),this.progressBarScrollableHeight=this.progressBarHeight-this.playheadHeight;const V=W/Q*this.progressBarHeight,z=Math.min(V/8,4);this.progressBarPlayhead.style.height=this.playheadHeight-z+"px",V>6?this.slideTriggers.forEach((F)=>{const{page:j}=F;j.progressBarSlide=document.createElement("div"),j.progressBarSlide.className="scrollbar-slide",j.progressBarSlide.style.top=F.range[0]*this.progressBarHeight+"px",j.progressBarSlide.style.height=(F.range[1]-F.range[0])*this.progressBarHeight-z+"px",j.progressBarSlide.classList.toggle("has-triggers",j.scrollTriggers.length>0),this.progressBarInner.appendChild(j.progressBarSlide),j.scrollTriggerElements=j.scrollTriggers.map((G,D)=>{const _=document.createElement("div");return _.className="scrollbar-trigger",_.style.top=(G.range[0]-F.range[0])*this.progressBarHeight+"px",_.style.height=(G.range[1]-G.range[0])*this.progressBarHeight-z+"px",j.progressBarSlide.appendChild(_),D===0&&(_.style.display="none"),_})}):this.pages.forEach((F)=>F.progressBarSlide=null)}syncScrollPosition(){const Q=this.viewportElement.offsetHeight,W=Q/this.viewportElement.scrollHeight,U=this.viewportElement.scrollTop,V=this.viewportElement.scrollHeight-Q,z=Math.max(Math.min(U/V,1),0),F=Math.max(Math.min((U+Q/2)/this.viewportElement.scrollHeight,1),0);let j;this.slideTriggers.forEach((G)=>{const{page:D}=G;z>=G.range[0]-2*W&&z<=G.range[1]+2*W&&!D.loaded?(D.loaded=!0,this.Reveal.slideContent.load(D.slideElement)):D.loaded&&(D.loaded=!1,this.Reveal.slideContent.unload(D.slideElement)),z>=G.range[0]&&z<=G.range[1]?(this.activateTrigger(G),j=G.page):G.active&&this.deactivateTrigger(G)}),j&&j.scrollTriggers.forEach((G)=>{F>=G.range[0]&&F<=G.range[1]?this.activateTrigger(G):G.active&&this.deactivateTrigger(G)}),this.setProgressBarValue(U/(this.viewportElement.scrollHeight-Q))}setProgressBarValue(Q){this.progressBar&&(this.progressBarPlayhead.style.transform=`translateY(${Q*this.progressBarScrollableHeight}px)`,this.getAllPages().filter((W)=>W.progressBarSlide).forEach((W)=>{W.progressBarSlide.classList.toggle("active",W.active===!0),W.scrollTriggers.forEach((U,V)=>{W.scrollTriggerElements[V].classList.toggle("active",W.active===!0&&U.active===!0)})}),this.showProgressBar())}showProgressBar(){this.progressBar.classList.add("visible"),clearTimeout(this.hideProgressBarTimeout),this.Reveal.getConfig().scrollProgress!=="auto"||this.draggingProgressBar||(this.hideProgressBarTimeout=setTimeout(()=>{this.progressBar&&this.progressBar.classList.remove("visible")},500))}prev(){this.viewportElement.scrollTop-=this.scrollTriggerHeight}next(){this.viewportElement.scrollTop+=this.scrollTriggerHeight}scrollToSlide(Q){if(this.active){const W=this.getScrollTriggerBySlide(Q);W&&(this.viewportElement.scrollTop=W.range[0]*(this.viewportElement.scrollHeight-this.viewportElement.offsetHeight))}else this.activatedCallbacks.push(()=>this.scrollToSlide(Q))}storeScrollPosition(){clearTimeout(this.storeScrollPositionTimeout),this.storeScrollPositionTimeout=setTimeout(()=>{sessionStorage.setItem("reveal-scroll-top",this.viewportElement.scrollTop),sessionStorage.setItem("reveal-scroll-origin",location.origin+location.pathname),this.storeScrollPositionTimeout=null},50)}restoreScrollPosition(){const Q=sessionStorage.getItem("reveal-scroll-top"),W=sessionStorage.getItem("reveal-scroll-origin");Q&&W===location.origin+location.pathname&&(this.viewportElement.scrollTop=parseInt(Q,10))}activatePage(Q){if(!Q.active){Q.active=!0;const{slideElement:W,backgroundElement:U,contentElement:V,indexh:z,indexv:F}=Q;V.style.display="block",W.classList.add("present"),U&&U.classList.add("present"),this.Reveal.setCurrentScrollPage(W,z,F),this.Reveal.backgrounds.bubbleSlideContrastClassToElement(W,this.viewportElement),Array.from(V.parentNode.querySelectorAll(".scroll-page-content")).forEach((j)=>{j!==V&&(j.style.display="none")})}}deactivatePage(Q){Q.active&&(Q.active=!1,Q.slideElement&&Q.slideElement.classList.remove("present"),Q.backgroundElement&&Q.backgroundElement.classList.remove("present"))}activateTrigger(Q){Q.active||(Q.active=!0,Q.activate())}deactivateTrigger(Q){Q.active&&(Q.active=!1,Q.deactivate&&Q.deactivate())}getSlideByIndices(Q,W){const U=this.getAllPages().find((V)=>V.indexh===Q&&V.indexv===W);return U?U.slideElement:null}getScrollTriggerBySlide(Q){return this.slideTriggers.find((W)=>W.page.slideElement===Q)}getAllPages(){return this.pages.flatMap((Q)=>[Q,...Q.autoAnimatePages||[]])}onScroll(){this.syncScrollPosition(),this.storeScrollPosition()}get viewportElement(){return this.Reveal.getViewportElement()}}class z2{constructor(Q){this.Reveal=Q}async activate(){const Q=this.Reveal.getConfig(),W=$(this.Reveal.getRevealElement(),I0),U=Q.slideNumber&&/all|print/i.test(Q.showSlideNumber),V=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),z=Math.floor(V.width*(1+Q.margin)),F=Math.floor(V.height*(1+Q.margin)),j=V.width,G=V.height;await new Promise(requestAnimationFrame),U1("@page{size:"+z+"px "+F+"px; margin: 0px;}"),U1(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+j+"px; max-height:"+G+"px}"),document.documentElement.classList.add("reveal-print","print-pdf"),document.body.style.width=z+"px",document.body.style.height=F+"px";const D=this.Reveal.getViewportElement();let _;if(D){const J=window.getComputedStyle(D);J&&J.background&&(_=J.background)}await new Promise(requestAnimationFrame),this.Reveal.layoutSlideContents(j,G),await new Promise(requestAnimationFrame);const N=W.map((J)=>J.scrollHeight),P=[],E=W[0].parentNode;let S=1;W.forEach(function(J,H){if(J.classList.contains("stack")===!1){let Z=(z-j)/2,x=(F-G)/2;const v=N[H];let m=Math.max(Math.ceil(v/F),1);m=Math.min(m,Q.pdfMaxPagesPerSlide),(m===1&&Q.center||J.classList.contains("center"))&&(x=Math.max((F-v)/2,0));const w=document.createElement("div");if(P.push(w),w.className="pdf-page",w.style.height=(F+Q.pdfPageHeightOffset)*m+"px",_&&(w.style.background=_),w.appendChild(J),J.style.left=Z+"px",J.style.top=x+"px",J.style.width=j+"px",this.Reveal.slideContent.layout(J),J.slideBackgroundElement&&w.insertBefore(J.slideBackgroundElement,J),Q.showNotes){const X=this.Reveal.getSlideNotes(J);if(X){const p=typeof Q.showNotes=="string"?Q.showNotes:"inline",A=document.createElement("div");A.classList.add("speaker-notes"),A.classList.add("speaker-notes-pdf"),A.setAttribute("data-layout",p),A.innerHTML=X,p==="separate-page"?P.push(A):(A.style.left=8+"px",A.style.bottom=8+"px",A.style.width=z-16+"px",w.appendChild(A))}}if(U){const X=document.createElement("div");X.classList.add("slide-number"),X.classList.add("slide-number-pdf"),X.innerHTML=S++,w.appendChild(X)}if(Q.pdfSeparateFragments){const X=this.Reveal.fragments.sort(w.querySelectorAll(".fragment"),!0);let M;X.forEach(function(p,A){M&&M.forEach(function(B){B.classList.remove("current-fragment")}),p.forEach(function(B){B.classList.add("visible","current-fragment")},this);const c=w.cloneNode(!0);if(U){const B=A+1;c.querySelector(".slide-number-pdf").innerHTML+="."+B}P.push(c),M=p},this),X.forEach(function(p){p.forEach(function(A){A.classList.remove("visible","current-fragment")})})}else $(w,".fragment:not(.fade-out)").forEach(function(X){X.classList.add("visible")})}},this),await new Promise(requestAnimationFrame),P.forEach((J)=>E.appendChild(J)),this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()),this.Reveal.dispatchEvent({type:"pdf-ready"}),D.classList.remove("loading-scroll-mode")}isActive(){return this.Reveal.getConfig().view==="print"}}class F2{constructor(Q){this.Reveal=Q}configure(Q,W){Q.fragments===!1?this.disable():W.fragments===!1&&this.enable()}disable(){$(this.Reveal.getSlidesElement(),".fragment").forEach((Q)=>{Q.classList.add("visible"),Q.classList.remove("current-fragment")})}enable(){$(this.Reveal.getSlidesElement(),".fragment").forEach((Q)=>{Q.classList.remove("visible"),Q.classList.remove("current-fragment")})}availableRoutes(){let Q=this.Reveal.getCurrentSlide();if(Q&&this.Reveal.getConfig().fragments){let W=Q.querySelectorAll(".fragment:not(.disabled)"),U=Q.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:W.length-U.length>0,next:!!U.length}}return{prev:!1,next:!1}}sort(Q,W=!1){Q=Array.from(Q);let U=[],V=[],z=[];Q.forEach((j)=>{if(j.hasAttribute("data-fragment-index")){let G=parseInt(j.getAttribute("data-fragment-index"),10);U[G]||(U[G]=[]),U[G].push(j)}else V.push([j])}),U=U.concat(V);let F=0;return U.forEach((j)=>{j.forEach((G)=>{z.push(G),G.setAttribute("data-fragment-index",F)}),F++}),W===!0?U:z}sortAll(){this.Reveal.getHorizontalSlides().forEach((Q)=>{let W=$(Q,"section");W.forEach((U,V)=>{this.sort(U.querySelectorAll(".fragment"))},this),W.length===0&&this.sort(Q.querySelectorAll(".fragment"))})}update(Q,W,U=this.Reveal.getCurrentSlide()){let V={shown:[],hidden:[]};if(U&&this.Reveal.getConfig().fragments&&(W=W||this.sort(U.querySelectorAll(".fragment"))).length){let z=0;if(typeof Q!="number"){let F=this.sort(U.querySelectorAll(".fragment.visible")).pop();F&&(Q=parseInt(F.getAttribute("data-fragment-index")||0,10))}Array.from(W).forEach((F,j)=>{if(F.hasAttribute("data-fragment-index")&&(j=parseInt(F.getAttribute("data-fragment-index"),10)),z=Math.max(z,j),j<=Q){let G=F.classList.contains("visible");F.classList.add("visible"),F.classList.remove("current-fragment"),j===Q&&(this.Reveal.announceStatus(this.Reveal.getStatusText(F)),F.classList.add("current-fragment"),this.Reveal.slideContent.startEmbeddedContent(F)),G||(V.shown.push(F),this.Reveal.dispatchEvent({target:F,type:"visible",bubbles:!1}))}else{let G=F.classList.contains("visible");F.classList.remove("visible"),F.classList.remove("current-fragment"),G&&(this.Reveal.slideContent.stopEmbeddedContent(F),V.hidden.push(F),this.Reveal.dispatchEvent({target:F,type:"hidden",bubbles:!1}))}}),Q=typeof Q=="number"?Q:-1,Q=Math.max(Math.min(Q,z),-1),U.setAttribute("data-fragment",Q)}return V.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:V.hidden[0],fragments:V.hidden}}),V.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:V.shown[0],fragments:V.shown}}),V}sync(Q=this.Reveal.getCurrentSlide()){return this.sort(Q.querySelectorAll(".fragment"))}goto(Q,W=0){let U=this.Reveal.getCurrentSlide();if(U&&this.Reveal.getConfig().fragments){let V=this.sort(U.querySelectorAll(".fragment:not(.disabled)"));if(V.length){if(typeof Q!="number"){let F=this.sort(U.querySelectorAll(".fragment:not(.disabled).visible")).pop();Q=F?parseInt(F.getAttribute("data-fragment-index")||0,10):-1}Q+=W;let z=this.update(Q,V);return this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!(!z.shown.length&&!z.hidden.length)}}return!1}next(){return this.goto(null,1)}prev(){return this.goto(null,-1)}}class j2{constructor(Q){this.Reveal=Q,this.active=!1,this.onSlideClicked=this.onSlideClicked.bind(this)}activate(){if(this.Reveal.getConfig().overview&&!this.Reveal.isScrollView()&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),$(this.Reveal.getRevealElement(),I0).forEach((V)=>{V.classList.contains("stack")||V.addEventListener("click",this.onSlideClicked,!0)});const Q=70,W=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=W.width+Q,this.overviewSlideHeight=W.height+Q,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();const U=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:U.h,indexv:U.v,currentSlide:this.Reveal.getCurrentSlide()}})}}layout(){this.Reveal.getHorizontalSlides().forEach((Q,W)=>{Q.setAttribute("data-index-h",W),K0(Q,"translate3d("+W*this.overviewSlideWidth+"px, 0, 0)"),Q.classList.contains("stack")&&$(Q,"section").forEach((U,V)=>{U.setAttribute("data-index-h",W),U.setAttribute("data-index-v",V),K0(U,"translate3d(0, "+V*this.overviewSlideHeight+"px, 0)")})}),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((Q,W)=>{K0(Q,"translate3d("+W*this.overviewSlideWidth+"px, 0, 0)"),$(Q,".slide-background").forEach((U,V)=>{K0(U,"translate3d(0, "+V*this.overviewSlideHeight+"px, 0)")})})}update(){const Q=Math.min(window.innerWidth,window.innerHeight),W=Math.max(Q/5,150)/Q,U=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+W+")","translateX("+-U.h*this.overviewSlideWidth+"px)","translateY("+-U.v*this.overviewSlideHeight+"px)"].join(" ")})}deactivate(){if(this.Reveal.getConfig().overview){this.active=!1,this.Reveal.getRevealElement().classList.remove("overview"),this.Reveal.getRevealElement().classList.add("overview-deactivating"),setTimeout(()=>{this.Reveal.getRevealElement().classList.remove("overview-deactivating")},1),this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),$(this.Reveal.getRevealElement(),I0).forEach((W)=>{K0(W,""),W.removeEventListener("click",this.onSlideClicked,!0)}),$(this.Reveal.getBackgroundsElement(),".slide-background").forEach((W)=>{K0(W,"")}),this.Reveal.transformSlides({overview:""});const Q=this.Reveal.getIndices();this.Reveal.slide(Q.h,Q.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:Q.h,indexv:Q.v,currentSlide:this.Reveal.getCurrentSlide()}})}}toggle(Q){typeof Q=="boolean"?Q?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}onSlideClicked(Q){if(this.isActive()){Q.preventDefault();let W=Q.target;for(;W&&!W.nodeName.match(/section/gi);)W=W.parentNode;if(W&&!W.classList.contains("disabled")&&(this.deactivate(),W.nodeName.match(/section/gi))){let U=parseInt(W.getAttribute("data-index-h"),10),V=parseInt(W.getAttribute("data-index-v"),10);this.Reveal.slide(U,V)}}}}class D2{constructor(Q){this.Reveal=Q,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this)}configure(Q,W){Q.navigationMode==="linear"?(this.shortcuts["&#8594;  ,  &#8595;  ,  SPACE  ,  N  ,  L  ,  J"]="Next slide",this.shortcuts["&#8592;  ,  &#8593;  ,  P  ,  H  ,  K"]="Previous slide"):(this.shortcuts["N  ,  SPACE"]="Next slide",this.shortcuts["P  ,  Shift SPACE"]="Previous slide",this.shortcuts["&#8592;  ,  H"]="Navigate left",this.shortcuts["&#8594;  ,  L"]="Navigate right",this.shortcuts["&#8593;  ,  K"]="Navigate up",this.shortcuts["&#8595;  ,  J"]="Navigate down"),this.shortcuts["Alt + &#8592;/&#8593/&#8594;/&#8595;"]="Navigate without fragments",this.shortcuts["Shift + &#8592;/&#8593/&#8594;/&#8595;"]="Jump to first/last slide",this.shortcuts["B  ,  ."]="Pause",this.shortcuts.F="Fullscreen",this.shortcuts.G="Jump to slide",this.shortcuts["ESC, O"]="Slide overview"}bind(){document.addEventListener("keydown",this.onDocumentKeyDown,!1)}unbind(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1)}addKeyBinding(Q,W){typeof Q=="object"&&Q.keyCode?this.bindings[Q.keyCode]={callback:W,key:Q.key,description:Q.description}:this.bindings[Q]={callback:W,key:null,description:null}}removeKeyBinding(Q){delete this.bindings[Q]}triggerKey(Q){this.onDocumentKeyDown({keyCode:Q})}registerKeyboardShortcut(Q,W){this.shortcuts[Q]=W}getShortcuts(){return this.shortcuts}getBindings(){return this.bindings}onDocumentKeyDown(Q){let W=this.Reveal.getConfig();if(typeof W.keyboardCondition=="function"&&W.keyboardCondition(Q)===!1)return!0;if(W.keyboardCondition==="focused"&&!this.Reveal.isFocused())return!0;let U=Q.keyCode,V=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(Q);let z=document.activeElement&&document.activeElement.isContentEditable===!0,F=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),j=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),G=!([32,37,38,39,40,63,78,80,191].indexOf(Q.keyCode)!==-1&&Q.shiftKey||Q.altKey)&&(Q.shiftKey||Q.altKey||Q.ctrlKey||Q.metaKey);if(z||F||j||G)return;let D,_=[66,86,190,191,112];if(typeof W.keyboard=="object")for(D in W.keyboard)W.keyboard[D]==="togglePause"&&_.push(parseInt(D,10));if(this.Reveal.isPaused()&&_.indexOf(U)===-1)return!1;let N=W.navigationMode==="linear"||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVerticalSlides(),P=!1;if(typeof W.keyboard=="object"){for(D in W.keyboard)if(parseInt(D,10)===U){let E=W.keyboard[D];typeof E=="function"?E.apply(null,[Q]):typeof E=="string"&&typeof this.Reveal[E]=="function"&&this.Reveal[E].call(),P=!0}}if(P===!1){for(D in this.bindings)if(parseInt(D,10)===U){let E=this.bindings[D].callback;typeof E=="function"?E.apply(null,[Q]):typeof E=="string"&&typeof this.Reveal[E]=="function"&&this.Reveal[E].call(),P=!0}}P===!1&&(P=!0,U===80||U===33?this.Reveal.prev({skipFragments:Q.altKey}):U===78||U===34?this.Reveal.next({skipFragments:Q.altKey}):U===72||U===37?Q.shiftKey?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&N?W.rtl?this.Reveal.next({skipFragments:Q.altKey}):this.Reveal.prev({skipFragments:Q.altKey}):this.Reveal.left({skipFragments:Q.altKey}):U===76||U===39?Q.shiftKey?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):!this.Reveal.overview.isActive()&&N?W.rtl?this.Reveal.prev({skipFragments:Q.altKey}):this.Reveal.next({skipFragments:Q.altKey}):this.Reveal.right({skipFragments:Q.altKey}):U===75||U===38?Q.shiftKey?this.Reveal.slide(void 0,0):!this.Reveal.overview.isActive()&&N?this.Reveal.prev({skipFragments:Q.altKey}):this.Reveal.up({skipFragments:Q.altKey}):U===74||U===40?Q.shiftKey?this.Reveal.slide(void 0,Number.MAX_VALUE):!this.Reveal.overview.isActive()&&N?this.Reveal.next({skipFragments:Q.altKey}):this.Reveal.down({skipFragments:Q.altKey}):U===36?this.Reveal.slide(0):U===35?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):U===32?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),Q.shiftKey?this.Reveal.prev({skipFragments:Q.altKey}):this.Reveal.next({skipFragments:Q.altKey})):[58,59,66,86,190].includes(U)||U===191&&!Q.shiftKey?this.Reveal.togglePause():U===70?n1(W.embedded?this.Reveal.getViewportElement():document.documentElement):U===65?W.autoSlideStoppable&&this.Reveal.toggleAutoSlide(V):U===71?W.jumpToSlide&&this.Reveal.toggleJumpToSlide():U!==63&&U!==191||!Q.shiftKey?U===112?this.Reveal.toggleHelp():P=!1:this.Reveal.toggleHelp()),P?Q.preventDefault&&Q.preventDefault():U!==27&&U!==79||(this.Reveal.closeOverlay()===!1&&this.Reveal.overview.toggle(),Q.preventDefault&&Q.preventDefault()),this.Reveal.cueAutoSlide()}}class K2{MAX_REPLACE_STATE_FREQUENCY=1000;constructor(Q){this.Reveal=Q,this.writeURLTimeout=0,this.replaceStateTimestamp=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}bind(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}unbind(){window.removeEventListener("hashchange",this.onWindowHashChange,!1)}getIndicesFromHash(Q=window.location.hash,W={}){let U=Q.replace(/^#\/?/,""),V=U.split("/");if(/^[0-9]*$/.test(V[0])||!U.length){const z=this.Reveal.getConfig();let F,j=z.hashOneBasedIndex||W.oneBasedIndex?1:0,G=parseInt(V[0],10)-j||0,D=parseInt(V[1],10)-j||0;return z.fragmentInURL&&(F=parseInt(V[2],10),isNaN(F)&&(F=void 0)),{h:G,v:D,f:F}}{let z,F;/\/[-\d]+$/g.test(U)&&(F=parseInt(U.split("/").pop(),10),F=isNaN(F)?void 0:F,U=U.split("/").shift());try{z=document.getElementById(decodeURIComponent(U)).closest(".slides section")}catch(j){}if(z)return{...this.Reveal.getIndices(z),f:F}}return null}readURL(){const Q=this.Reveal.getIndices(),W=this.getIndicesFromHash();W?W.h===Q.h&&W.v===Q.v&&W.f===void 0||this.Reveal.slide(W.h,W.v,W.f):this.Reveal.slide(Q.h||0,Q.v||0)}writeURL(Q){let W=this.Reveal.getConfig(),U=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),typeof Q=="number")this.writeURLTimeout=setTimeout(this.writeURL,Q);else if(U){let V=this.getHash();W.history?window.location.hash=V:W.hash&&(V==="/"?this.debouncedReplaceState(window.location.pathname+window.location.search):this.debouncedReplaceState("#"+V))}}replaceState(Q){window.history.replaceState(null,null,Q),this.replaceStateTimestamp=Date.now()}debouncedReplaceState(Q){clearTimeout(this.replaceStateTimeout),Date.now()-this.replaceStateTimestamp>this.MAX_REPLACE_STATE_FREQUENCY?this.replaceState(Q):this.replaceStateTimeout=setTimeout(()=>this.replaceState(Q),this.MAX_REPLACE_STATE_FREQUENCY)}getHash(Q){let W="/",U=Q||this.Reveal.getCurrentSlide(),V=U?U.getAttribute("id"):null;V&&(V=encodeURIComponent(V));let z=this.Reveal.getIndices(Q);if(this.Reveal.getConfig().fragmentInURL||(z.f=void 0),typeof V=="string"&&V.length)W="/"+V,z.f>=0&&(W+="/"+z.f);else{let F=this.Reveal.getConfig().hashOneBasedIndex?1:0;(z.h>0||z.v>0||z.f>=0)&&(W+=z.h+F),(z.v>0||z.f>=0)&&(W+="/"+(z.v+F)),z.f>=0&&(W+="/"+z.f)}return W}onWindowHashChange(Q){this.readURL()}}class G2{constructor(Q){this.Reveal=Q,this.onNavigateLeftClicked=this.onNavigateLeftClicked.bind(this),this.onNavigateRightClicked=this.onNavigateRightClicked.bind(this),this.onNavigateUpClicked=this.onNavigateUpClicked.bind(this),this.onNavigateDownClicked=this.onNavigateDownClicked.bind(this),this.onNavigatePrevClicked=this.onNavigatePrevClicked.bind(this),this.onNavigateNextClicked=this.onNavigateNextClicked.bind(this),this.onEnterFullscreen=this.onEnterFullscreen.bind(this)}render(){const Q=this.Reveal.getConfig().rtl,W=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML=`<button class="navigate-left" aria-label="${Q?"next slide":"previous slide"}"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-right" aria-label="${Q?"previous slide":"next slide"}"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`,this.Reveal.getRevealElement().appendChild(this.element),this.controlsLeft=$(W,".navigate-left"),this.controlsRight=$(W,".navigate-right"),this.controlsUp=$(W,".navigate-up"),this.controlsDown=$(W,".navigate-down"),this.controlsPrev=$(W,".navigate-prev"),this.controlsNext=$(W,".navigate-next"),this.controlsFullscreen=$(W,".enter-fullscreen"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}configure(Q,W){this.element.style.display=Q.controls?"block":"none",this.element.setAttribute("data-controls-layout",Q.controlsLayout),this.element.setAttribute("data-controls-back-arrows",Q.controlsBackArrows)}bind(){let Q=["touchstart","click"];s1&&(Q=["touchstart"]),Q.forEach((W)=>{this.controlsLeft.forEach((U)=>U.addEventListener(W,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach((U)=>U.addEventListener(W,this.onNavigateRightClicked,!1)),this.controlsUp.forEach((U)=>U.addEventListener(W,this.onNavigateUpClicked,!1)),this.controlsDown.forEach((U)=>U.addEventListener(W,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach((U)=>U.addEventListener(W,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach((U)=>U.addEventListener(W,this.onNavigateNextClicked,!1)),this.controlsFullscreen.forEach((U)=>U.addEventListener(W,this.onEnterFullscreen,!1))})}unbind(){["touchstart","click"].forEach((Q)=>{this.controlsLeft.forEach((W)=>W.removeEventListener(Q,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach((W)=>W.removeEventListener(Q,this.onNavigateRightClicked,!1)),this.controlsUp.forEach((W)=>W.removeEventListener(Q,this.onNavigateUpClicked,!1)),this.controlsDown.forEach((W)=>W.removeEventListener(Q,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach((W)=>W.removeEventListener(Q,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach((W)=>W.removeEventListener(Q,this.onNavigateNextClicked,!1)),this.controlsFullscreen.forEach((W)=>W.removeEventListener(Q,this.onEnterFullscreen,!1))})}update(){let Q=this.Reveal.availableRoutes();[...this.controlsLeft,...this.controlsRight,...this.controlsUp,...this.controlsDown,...this.controlsPrev,...this.controlsNext].forEach((U)=>{U.classList.remove("enabled","fragmented"),U.setAttribute("disabled","disabled")}),Q.left&&this.controlsLeft.forEach((U)=>{U.classList.add("enabled"),U.removeAttribute("disabled")}),Q.right&&this.controlsRight.forEach((U)=>{U.classList.add("enabled"),U.removeAttribute("disabled")}),Q.up&&this.controlsUp.forEach((U)=>{U.classList.add("enabled"),U.removeAttribute("disabled")}),Q.down&&this.controlsDown.forEach((U)=>{U.classList.add("enabled"),U.removeAttribute("disabled")}),(Q.left||Q.up)&&this.controlsPrev.forEach((U)=>{U.classList.add("enabled"),U.removeAttribute("disabled")}),(Q.right||Q.down)&&this.controlsNext.forEach((U)=>{U.classList.add("enabled"),U.removeAttribute("disabled")});let W=this.Reveal.getCurrentSlide();if(W){let U=this.Reveal.fragments.availableRoutes();U.prev&&this.controlsPrev.forEach((V)=>{V.classList.add("fragmented","enabled"),V.removeAttribute("disabled")}),U.next&&this.controlsNext.forEach((V)=>{V.classList.add("fragmented","enabled"),V.removeAttribute("disabled")}),this.Reveal.isVerticalSlide(W)?(U.prev&&this.controlsUp.forEach((V)=>{V.classList.add("fragmented","enabled"),V.removeAttribute("disabled")}),U.next&&this.controlsDown.forEach((V)=>{V.classList.add("fragmented","enabled"),V.removeAttribute("disabled")})):(U.prev&&this.controlsLeft.forEach((V)=>{V.classList.add("fragmented","enabled"),V.removeAttribute("disabled")}),U.next&&this.controlsRight.forEach((V)=>{V.classList.add("fragmented","enabled"),V.removeAttribute("disabled")}))}if(this.Reveal.getConfig().controlsTutorial){let U=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&Q.down?this.controlsDownArrow.classList.add("highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&Q.left&&U.v===0?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&Q.right&&U.v===0?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}destroy(){this.unbind(),this.element.remove()}onNavigateLeftClicked(Q){Q.preventDefault(),this.Reveal.onUserInput(),this.Reveal.getConfig().navigationMode==="linear"?this.Reveal.prev():this.Reveal.left()}onNavigateRightClicked(Q){Q.preventDefault(),this.Reveal.onUserInput(),this.Reveal.getConfig().navigationMode==="linear"?this.Reveal.next():this.Reveal.right()}onNavigateUpClicked(Q){Q.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}onNavigateDownClicked(Q){Q.preventDefault(),this.Reveal.onUserInput(),this.Reveal.down()}onNavigatePrevClicked(Q){Q.preventDefault(),this.Reveal.onUserInput(),this.Reveal.prev()}onNavigateNextClicked(Q){Q.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}onEnterFullscreen(Q){const W=this.Reveal.getConfig(),U=this.Reveal.getViewportElement();n1(W.embedded?U:U.parentElement)}}class P2{constructor(Q){this.Reveal=Q,this.onProgressClicked=this.onProgressClicked.bind(this)}render(){this.element=document.createElement("div"),this.element.className="progress",this.Reveal.getRevealElement().appendChild(this.element),this.bar=document.createElement("span"),this.element.appendChild(this.bar)}configure(Q,W){this.element.style.display=Q.progress?"block":"none"}bind(){this.Reveal.getConfig().progress&&this.element&&this.element.addEventListener("click",this.onProgressClicked,!1)}unbind(){this.Reveal.getConfig().progress&&this.element&&this.element.removeEventListener("click",this.onProgressClicked,!1)}update(){if(this.Reveal.getConfig().progress&&this.bar){let Q=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(Q=0),this.bar.style.transform="scaleX("+Q+")"}}getMaxWidth(){return this.Reveal.getRevealElement().offsetWidth}onProgressClicked(Q){this.Reveal.onUserInput(Q),Q.preventDefault();let W=this.Reveal.getSlides(),U=W.length,V=Math.floor(Q.clientX/this.getMaxWidth()*U);this.Reveal.getConfig().rtl&&(V=U-V);let z=this.Reveal.getIndices(W[V]);this.Reveal.slide(z.h,z.v)}destroy(){this.element.remove()}}class H2{constructor(Q){this.Reveal=Q,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}configure(Q,W){Q.mouseWheel?document.addEventListener("wheel",this.onDocumentMouseScroll,!1):document.removeEventListener("wheel",this.onDocumentMouseScroll,!1),Q.hideInactiveCursor?(document.addEventListener("mousemove",this.onDocumentCursorActive,!1),document.addEventListener("mousedown",this.onDocumentCursorActive,!1)):(this.showCursor(),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1))}showCursor(){this.cursorHidden&&(this.cursorHidden=!1,this.Reveal.getRevealElement().style.cursor="")}hideCursor(){this.cursorHidden===!1&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}destroy(){this.showCursor(),document.removeEventListener("wheel",this.onDocumentMouseScroll,!1),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1)}onDocumentCursorActive(Q){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}onDocumentMouseScroll(Q){if(Date.now()-this.lastMouseWheelStep>1000){this.lastMouseWheelStep=Date.now();let W=Q.detail||-Q.wheelDelta;W>0?this.Reveal.next():W<0&&this.Reveal.prev()}}}var Y1=(Q,W)=>{const U=document.createElement("script");U.type="text/javascript",U.async=!1,U.defer=!1,U.src=Q,typeof W=="function"&&(U.onload=U.onreadystatechange=(z)=>{(z.type==="load"||/loaded|complete/.test(U.readyState))&&(U.onload=U.onreadystatechange=U.onerror=null,W())},U.onerror=(z)=>{U.onload=U.onreadystatechange=U.onerror=null,W(new Error("Failed loading script: "+U.src+"\n"+z))});const V=document.querySelector("head");V.insertBefore(U,V.lastChild)};class N2{constructor(Q){this.Reveal=Q,this.state="idle",this.registeredPlugins={},this.asyncDependencies=[]}load(Q,W){return this.state="loading",Q.forEach(this.registerPlugin.bind(this)),new Promise((U)=>{let V=[],z=0;if(W.forEach((F)=>{F.condition&&!F.condition()||(F.async?this.asyncDependencies.push(F):V.push(F))}),V.length){z=V.length;const F=(j)=>{j&&typeof j.callback=="function"&&j.callback(),--z==0&&this.initPlugins().then(U)};V.forEach((j)=>{typeof j.id=="string"?(this.registerPlugin(j),F(j)):typeof j.src=="string"?Y1(j.src,()=>F(j)):(console.warn("Unrecognized plugin format",j),F())})}else this.initPlugins().then(U)})}initPlugins(){return new Promise((Q)=>{let W=Object.values(this.registeredPlugins),U=W.length;if(U===0)this.loadAsync().then(Q);else{let V,z=()=>{--U==0?this.loadAsync().then(Q):V()},F=0;V=()=>{let j=W[F++];if(typeof j.init=="function"){let G=j.init(this.Reveal);G&&typeof G.then=="function"?G.then(z):z()}else z()},V()}})}loadAsync(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach((Q)=>{Y1(Q.src,Q.callback)}),Promise.resolve()}registerPlugin(Q){arguments.length===2&&typeof arguments[0]=="string"?(Q=arguments[1]).id=arguments[0]:typeof Q=="function"&&(Q=Q());let W=Q.id;typeof W!="string"?console.warn("Unrecognized plugin format; can't find plugin.id",Q):this.registeredPlugins[W]===void 0?(this.registeredPlugins[W]=Q,this.state==="loaded"&&typeof Q.init=="function"&&Q.init(this.Reveal)):console.warn('reveal.js: "'+W+'" plugin has already been registered')}hasPlugin(Q){return!!this.registeredPlugins[Q]}getPlugin(Q){return this.registeredPlugins[Q]}getRegisteredPlugins(){return this.registeredPlugins}destroy(){Object.values(this.registeredPlugins).forEach((Q)=>{typeof Q.destroy=="function"&&Q.destroy()}),this.registeredPlugins={},this.asyncDependencies=[]}}class I2{constructor(Q){this.Reveal=Q,this.touchStartX=0,this.touchStartY=0,this.touchStartCount=0,this.touchCaptured=!1,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onTouchStart=this.onTouchStart.bind(this),this.onTouchMove=this.onTouchMove.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this)}bind(){let Q=this.Reveal.getRevealElement();"onpointerdown"in window?(Q.addEventListener("pointerdown",this.onPointerDown,!1),Q.addEventListener("pointermove",this.onPointerMove,!1),Q.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(Q.addEventListener("MSPointerDown",this.onPointerDown,!1),Q.addEventListener("MSPointerMove",this.onPointerMove,!1),Q.addEventListener("MSPointerUp",this.onPointerUp,!1)):(Q.addEventListener("touchstart",this.onTouchStart,!1),Q.addEventListener("touchmove",this.onTouchMove,!1),Q.addEventListener("touchend",this.onTouchEnd,!1))}unbind(){let Q=this.Reveal.getRevealElement();Q.removeEventListener("pointerdown",this.onPointerDown,!1),Q.removeEventListener("pointermove",this.onPointerMove,!1),Q.removeEventListener("pointerup",this.onPointerUp,!1),Q.removeEventListener("MSPointerDown",this.onPointerDown,!1),Q.removeEventListener("MSPointerMove",this.onPointerMove,!1),Q.removeEventListener("MSPointerUp",this.onPointerUp,!1),Q.removeEventListener("touchstart",this.onTouchStart,!1),Q.removeEventListener("touchmove",this.onTouchMove,!1),Q.removeEventListener("touchend",this.onTouchEnd,!1)}isSwipePrevented(Q){if(k0(Q,"video[controls], audio[controls]"))return!0;for(;Q&&typeof Q.hasAttribute=="function";){if(Q.hasAttribute("data-prevent-swipe"))return!0;Q=Q.parentNode}return!1}onTouchStart(Q){if(this.touchCaptured=!1,this.isSwipePrevented(Q.target))return!0;this.touchStartX=Q.touches[0].clientX,this.touchStartY=Q.touches[0].clientY,this.touchStartCount=Q.touches.length}onTouchMove(Q){if(this.isSwipePrevented(Q.target))return!0;let W=this.Reveal.getConfig();if(this.touchCaptured)s1&&Q.preventDefault();else{this.Reveal.onUserInput(Q);let U=Q.touches[0].clientX,V=Q.touches[0].clientY;if(Q.touches.length===1&&this.touchStartCount!==2){let z=this.Reveal.availableRoutes({includeFragments:!0}),F=U-this.touchStartX,j=V-this.touchStartY;F>40&&Math.abs(F)>Math.abs(j)?(this.touchCaptured=!0,W.navigationMode==="linear"?W.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):F<-40&&Math.abs(F)>Math.abs(j)?(this.touchCaptured=!0,W.navigationMode==="linear"?W.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):j>40&&z.up?(this.touchCaptured=!0,W.navigationMode==="linear"?this.Reveal.prev():this.Reveal.up()):j<-40&&z.down&&(this.touchCaptured=!0,W.navigationMode==="linear"?this.Reveal.next():this.Reveal.down()),W.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&Q.preventDefault():Q.preventDefault()}}}onTouchEnd(Q){this.touchCaptured=!1}onPointerDown(Q){Q.pointerType!==Q.MSPOINTER_TYPE_TOUCH&&Q.pointerType!=="touch"||(Q.touches=[{clientX:Q.clientX,clientY:Q.clientY}],this.onTouchStart(Q))}onPointerMove(Q){Q.pointerType!==Q.MSPOINTER_TYPE_TOUCH&&Q.pointerType!=="touch"||(Q.touches=[{clientX:Q.clientX,clientY:Q.clientY}],this.onTouchMove(Q))}onPointerUp(Q){Q.pointerType!==Q.MSPOINTER_TYPE_TOUCH&&Q.pointerType!=="touch"||(Q.touches=[{clientX:Q.clientX,clientY:Q.clientY}],this.onTouchEnd(Q))}}var W1="focus",r1="blur";class _2{constructor(Q){this.Reveal=Q,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}configure(Q,W){Q.embedded?this.blur():(this.focus(),this.unbind())}bind(){this.Reveal.getConfig().embedded&&this.Reveal.getRevealElement().addEventListener("pointerdown",this.onRevealPointerDown,!1)}unbind(){this.Reveal.getRevealElement().removeEventListener("pointerdown",this.onRevealPointerDown,!1),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)}focus(){this.state!==W1&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=W1}blur(){this.state!==r1&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=r1}isFocused(){return this.state===W1}destroy(){this.Reveal.getRevealElement().classList.remove("focused")}onRevealPointerDown(Q){this.focus()}onDocumentPointerDown(Q){let W=Y(Q.target,".reveal");W&&W===this.Reveal.getRevealElement()||this.blur()}}class B2{constructor(Q){this.Reveal=Q}render(){this.element=document.createElement("div"),this.element.className="speaker-notes",this.element.setAttribute("data-prevent-swipe",""),this.element.setAttribute("tabindex","0"),this.Reveal.getRevealElement().appendChild(this.element)}configure(Q,W){Q.showNotes&&this.element.setAttribute("data-layout",typeof Q.showNotes=="string"?Q.showNotes:"inline")}update(){this.Reveal.getConfig().showNotes&&this.element&&this.Reveal.getCurrentSlide()&&!this.Reveal.isScrollView()&&!this.Reveal.isPrintView()&&(this.element.innerHTML=this.getSlideNotes()||'<span class="notes-placeholder">No notes on this slide.</span>')}updateVisibility(){this.Reveal.getConfig().showNotes&&this.hasNotes()&&!this.Reveal.isScrollView()&&!this.Reveal.isPrintView()?this.Reveal.getRevealElement().classList.add("show-notes"):this.Reveal.getRevealElement().classList.remove("show-notes")}hasNotes(){return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length>0}isSpeakerNotesWindow(){return!!window.location.search.match(/receiver/gi)}getSlideNotes(Q=this.Reveal.getCurrentSlide()){if(Q.hasAttribute("data-notes"))return Q.getAttribute("data-notes");let W=Q.querySelectorAll("aside.notes");return W?Array.from(W).map((U)=>U.innerHTML).join("\n"):null}destroy(){this.element.remove()}}class E2{constructor(Q,W){this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=Q,this.progressCheck=W,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.canvas.style.width=this.diameter2+"px",this.canvas.style.height=this.diameter2+"px",this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}setPlaying(Q){const W=this.playing;this.playing=Q,!W&&this.playing?this.animate():this.render()}animate(){const Q=this.progress;this.progress=this.progressCheck(),Q>0.8&&this.progress<0.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}render(){let Q=this.playing?this.progress:0,W=this.diameter2-this.thickness,U=this.diameter2,V=this.diameter2,z=28;this.progressOffset+=0.1*(1-this.progressOffset);const F=-Math.PI/2+Q*(2*Math.PI),j=-Math.PI/2+this.progressOffset*(2*Math.PI);this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(U,V,W+4,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(U,V,W,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="rgba( 255, 255, 255, 0.2 )",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(U,V,W,j,F,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(U-14,V-14),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,10,z),this.context.fillRect(18,0,10,z)):(this.context.beginPath(),this.context.translate(4,0),this.context.moveTo(0,0),this.context.lineTo(24,14),this.context.lineTo(0,z),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()}on(Q,W){this.canvas.addEventListener(Q,W,!1)}off(Q,W){this.canvas.removeEventListener(Q,W,!1)}destroy(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}}var d2={width:960,height:700,margin:0.04,minScale:0.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!0,jumpToSlide:!0,history:!1,keyboard:!0,keyboardCondition:null,disableLayout:!1,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,navigationMode:"default",shuffle:!1,fragments:!0,fragmentInURL:!0,embedded:!1,help:!0,pause:!0,showNotes:!1,showHiddenSlides:!1,autoPlayMedia:null,preloadIframes:null,autoAnimate:!0,autoAnimateMatcher:null,autoAnimateEasing:"ease",autoAnimateDuration:1,autoAnimateUnmatched:!0,autoAnimateStyles:["opacity","color","background-color","padding","font-size","line-height","letter-spacing","border-width","border-color","border-radius","outline","outline-offset"],autoSlide:0,autoSlideStoppable:!0,autoSlideMethod:null,defaultTiming:null,mouseWheel:!1,previewLinks:!1,postMessage:!0,postMessageEvents:!1,focusBodyOnPageVisibilityChange:!0,transition:"slide",transitionSpeed:"default",backgroundTransition:"fade",parallaxBackgroundImage:"",parallaxBackgroundSize:"",parallaxBackgroundRepeat:"",parallaxBackgroundPosition:"",parallaxBackgroundHorizontal:null,parallaxBackgroundVertical:null,view:null,scrollLayout:"full",scrollSnap:"mandatory",scrollProgress:"auto",scrollActivationWidth:435,pdfMaxPagesPerSlide:Number.POSITIVE_INFINITY,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCursor:!0,hideCursorTime:5000,sortFragmentsOnSync:!0,dependencies:[],plugins:[]},L2="5.1.0",F0=b2,a1=[];F0.initialize=(Q)=>(Object.assign(F0,new b2(document.querySelector(".reveal"),Q)),a1.map((W)=>W(F0)),F0.initialize()),["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach((Q)=>{F0[Q]=(...W)=>{a1.push((U)=>U[Q].call(null,...W))}}),F0.isReady=()=>!1,F0.VERSION=L2;var h2=function(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},r=function(Q,W){if(W){if(y2.test(Q))return Q.replace(T2,S2)}else if(x2.test(Q))return Q.replace(c2,S2);return Q},C2=function(Q){return Q.replace(u2,(W,U)=>(U=U.toLowerCase())==="colon"?":":U.charAt(0)==="#"?U.charAt(1)==="x"?String.fromCharCode(parseInt(U.substring(2),16)):String.fromCharCode(+U.substring(1)):"")},h=function(Q,W){Q=typeof Q=="string"?Q:Q.source,W=W||"";const U={replace:(V,z)=>(z=(z=z.source||z).replace(A2,"$1"),Q=Q.replace(V,z),U),getRegex:()=>new RegExp(Q,W)};return U},q2=function(Q,W,U){if(Q){let V;try{V=decodeURIComponent(C2(U)).replace(o2,"").toLowerCase()}catch(z){return null}if(V.indexOf("javascript:")===0||V.indexOf("vbscript:")===0||V.indexOf("data:")===0)return null}W&&!l2.test(U)&&(U=function(V,z){g0[" "+V]||(Y2.test(V)?g0[" "+V]=V+"/":g0[" "+V]=M0(V,"/",!0)),V=g0[" "+V];const F=V.indexOf(":")===-1;return z.substring(0,2)==="//"?F?z:V.replace(r2,"$1")+z:z.charAt(0)==="/"?F?z:V.replace(a2,"$1")+z:V+z}(W,U));try{U=encodeURI(U).replace(/%25/g,"%")}catch(V){return null}return U},J2=function(Q,W){const U=Q.replace(/\|/g,(z,F,j)=>{let G=!1,D=F;for(;--D>=0&&j[D]==="\\";)G=!G;return G?"|":" |"}).split(/ \|/);let V=0;if(U[0].trim()||U.shift(),U.length>0&&!U[U.length-1].trim()&&U.pop(),U.length>W)U.splice(W);else for(;U.length<W;)U.push("");for(;V<U.length;V++)U[V]=U[V].trim().replace(/\\\|/g,"|");return U},M0=function(Q,W,U){const V=Q.length;if(V===0)return"";let z=0;for(;z<V;){const F=Q.charAt(V-z-1);if(F!==W||U){if(F===W||!U)break;z++}else z++}return Q.slice(0,V-z)},Z2=function(Q,W){if(W<1)return"";let U="";for(;W>1;)1&W&&(U+=Q),W>>=1,Q+=Q;return U+Q},O2=function(Q,W,U,V){const z=W.href,F=W.title?r(W.title):null,j=Q[1].replace(/\\([\[\]])/g,"$1");if(Q[0].charAt(0)!=="!"){V.state.inLink=!0;const G={type:"link",raw:U,href:z,title:F,text:j,tokens:V.inlineTokens(j)};return V.state.inLink=!1,G}return{type:"image",raw:U,href:z,title:F,text:r(j)}},n2=function(Q){return Q.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201C").replace(/"/g,"\u201D").replace(/\.{3}/g,"\u2026")},X2=function(Q){let W,U,V="";const z=Q.length;for(W=0;W<z;W++)U=Q.charCodeAt(W),Math.random()>0.5&&(U="x"+U.toString(16)),V+="&#"+U+";";return V},w2=function(Q,W){return(U,V,z)=>{typeof V=="function"&&(z=V,V=null);const F={...V},j=function(G,D,_){return(N)=>{if(N.message+="\nPlease report this to https://github.com/markedjs/marked.",G){const P="<p>An error occurred:</p><pre>"+r(N.message+"",!0)+"</pre>";return D?Promise.resolve(P):_?void _(null,P):P}if(D)return Promise.reject(N);if(!_)throw N;_(N)}}((V={...y.defaults,...F}).silent,V.async,z);if(U==null)return j(new Error("marked(): input parameter is undefined or null"));if(typeof U!="string")return j(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(U)+", string expected"));if(function(G){G&&G.sanitize&&!G.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}(V),V.hooks&&(V.hooks.options=V),z){const G=V.highlight;let D;try{V.hooks&&(U=V.hooks.preprocess(U)),D=Q(U,V)}catch(P){return j(P)}const _=function(P){let E;if(!P)try{V.walkTokens&&y.walkTokens(D,V.walkTokens),E=W(D,V),V.hooks&&(E=V.hooks.postprocess(E))}catch(S){P=S}return V.highlight=G,P?j(P):z(null,E)};if(!G||G.length<3)return _();if(delete V.highlight,!D.length)return _();let N=0;return y.walkTokens(D,function(P){P.type==="code"&&(N++,setTimeout(()=>{G(P.text,P.lang,function(E,S){if(E)return _(E);S!=null&&S!==P.text&&(P.text=S,P.escaped=!0),N--,N===0&&_()})},0))}),void(N===0&&_())}if(V.async)return Promise.resolve(V.hooks?V.hooks.preprocess(U):U).then((G)=>Q(G,V)).then((G)=>V.walkTokens?Promise.all(y.walkTokens(G,V.walkTokens)).then(()=>G):G).then((G)=>W(G,V)).then((G)=>V.hooks?V.hooks.postprocess(G):G).catch(j);try{V.hooks&&(U=V.hooks.preprocess(U));const G=Q(U,V);V.walkTokens&&y.walkTokens(G,V.walkTokens);let D=W(G,V);return V.hooks&&(D=V.hooks.postprocess(D)),D}catch(G){return j(G)}}},y=function(Q,W,U){return w2(G0.lex,P0.parse)(Q,W,U)},_0={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},y2=/[&<>"']/,T2=new RegExp(y2.source,"g"),x2=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,c2=new RegExp(x2.source,"g"),p2={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},S2=(Q)=>p2[Q],u2=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,A2=/(^|[^\[])\^/g,o2=/[^\w:]/g,l2=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,g0={},Y2=/^[^:]+:\/*[^/]*$/,r2=/^([^:]+:)[\s\S]*$/,a2=/^([^:]+:\/*[^/]*)[\s\S]*$/,h0={exec:function(){}};class T0{constructor(Q){this.options=Q||_0}space(Q){const W=this.rules.block.newline.exec(Q);if(W&&W[0].length>0)return{type:"space",raw:W[0]}}code(Q){const W=this.rules.block.code.exec(Q);if(W){const U=W[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:W[0],codeBlockStyle:"indented",text:this.options.pedantic?U:M0(U,"\n")}}}fences(Q){const W=this.rules.block.fences.exec(Q);if(W){const U=W[0],V=function(z,F){const j=z.match(/^(\s+)(?:```)/);if(j===null)return F;const G=j[1];return F.split("\n").map((D)=>{const _=D.match(/^\s+/);if(_===null)return D;const[N]=_;return N.length>=G.length?D.slice(G.length):D}).join("\n")}(U,W[3]||"");return{type:"code",raw:U,lang:W[2]?W[2].trim().replace(this.rules.inline._escapes,"$1"):W[2],text:V}}}heading(Q){const W=this.rules.block.heading.exec(Q);if(W){let U=W[2].trim();if(/#$/.test(U)){const V=M0(U,"#");this.options.pedantic?U=V.trim():V&&!/ $/.test(V)||(U=V.trim())}return{type:"heading",raw:W[0],depth:W[1].length,text:U,tokens:this.lexer.inline(U)}}}hr(Q){const W=this.rules.block.hr.exec(Q);if(W)return{type:"hr",raw:W[0]}}blockquote(Q){const W=this.rules.block.blockquote.exec(Q);if(W){const U=W[0].replace(/^ *>[ \t]?/gm,""),V=this.lexer.state.top;this.lexer.state.top=!0;const z=this.lexer.blockTokens(U);return this.lexer.state.top=V,{type:"blockquote",raw:W[0],tokens:z,text:U}}}list(Q){let W=this.rules.block.list.exec(Q);if(W){let U,V,z,F,j,G,D,_,N,P,E,S,J=W[1].trim();const H=J.length>1,Z={type:"list",raw:"",ordered:H,start:H?+J.slice(0,-1):"",loose:!1,items:[]};J=H?`\\d{1,9}\\${J.slice(-1)}`:`\\${J}`,this.options.pedantic&&(J=H?J:"[*+-]");const x=new RegExp(`^( {0,3}${J})((?:[\t ][^\\n]*)?(?:\\n|\$))`);for(;Q&&(S=!1,W=x.exec(Q))&&!this.rules.block.hr.test(Q);){if(U=W[0],Q=Q.substring(U.length),_=W[2].split("\n",1)[0].replace(/^\t+/,(m)=>" ".repeat(3*m.length)),N=Q.split("\n",1)[0],this.options.pedantic?(F=2,E=_.trimLeft()):(F=W[2].search(/[^ ]/),F=F>4?1:F,E=_.slice(F),F+=W[1].length),G=!1,!_&&/^ *$/.test(N)&&(U+=N+"\n",Q=Q.substring(N.length+1),S=!0),!S){const m=new RegExp(`^ {0,${Math.min(3,F-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|\$))`),w=new RegExp(`^ {0,${Math.min(3,F-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|\$)`),X=new RegExp(`^ {0,${Math.min(3,F-1)}}(?:\`\`\`|~~~)`),M=new RegExp(`^ {0,${Math.min(3,F-1)}}#`);for(;Q&&(P=Q.split("\n",1)[0],N=P,this.options.pedantic&&(N=N.replace(/^ {1,4}(?=( {4})*[^ ])/g,"  ")),!X.test(N))&&!M.test(N)&&!m.test(N)&&!w.test(Q);){if(N.search(/[^ ]/)>=F||!N.trim())E+="\n"+N.slice(F);else{if(G)break;if(_.search(/[^ ]/)>=4)break;if(X.test(_))break;if(M.test(_))break;if(w.test(_))break;E+="\n"+N}G||N.trim()||(G=!0),U+=P+"\n",Q=Q.substring(P.length+1),_=N.slice(F)}}Z.loose||(D?Z.loose=!0:/\n *\n *$/.test(U)&&(D=!0)),this.options.gfm&&(V=/^\[[ xX]\] /.exec(E),V&&(z=V[0]!=="[ ] ",E=E.replace(/^\[[ xX]\] +/,""))),Z.items.push({type:"list_item",raw:U,task:!!V,checked:z,loose:!1,text:E}),Z.raw+=U}Z.items[Z.items.length-1].raw=U.trimRight(),Z.items[Z.items.length-1].text=E.trimRight(),Z.raw=Z.raw.trimRight();const v=Z.items.length;for(j=0;j<v;j++)if(this.lexer.state.top=!1,Z.items[j].tokens=this.lexer.blockTokens(Z.items[j].text,[]),!Z.loose){const m=Z.items[j].tokens.filter((X)=>X.type==="space"),w=m.length>0&&m.some((X)=>/\n.*\n/.test(X.raw));Z.loose=w}if(Z.loose)for(j=0;j<v;j++)Z.items[j].loose=!0;return Z}}html(Q){const W=this.rules.block.html.exec(Q);if(W){const U={type:"html",raw:W[0],pre:!this.options.sanitizer&&(W[1]==="pre"||W[1]==="script"||W[1]==="style"),text:W[0]};if(this.options.sanitize){const V=this.options.sanitizer?this.options.sanitizer(W[0]):r(W[0]);U.type="paragraph",U.text=V,U.tokens=this.lexer.inline(V)}return U}}def(Q){const W=this.rules.block.def.exec(Q);if(W){const U=W[1].toLowerCase().replace(/\s+/g," "),V=W[2]?W[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline._escapes,"$1"):"",z=W[3]?W[3].substring(1,W[3].length-1).replace(this.rules.inline._escapes,"$1"):W[3];return{type:"def",tag:U,raw:W[0],href:V,title:z}}}table(Q){const W=this.rules.block.table.exec(Q);if(W){const U={type:"table",header:J2(W[1]).map((V)=>({text:V})),align:W[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:W[3]&&W[3].trim()?W[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(U.header.length===U.align.length){U.raw=W[0];let V,z,F,j,G=U.align.length;for(V=0;V<G;V++)/^ *-+: *$/.test(U.align[V])?U.align[V]="right":/^ *:-+: *$/.test(U.align[V])?U.align[V]="center":/^ *:-+ *$/.test(U.align[V])?U.align[V]="left":U.align[V]=null;for(G=U.rows.length,V=0;V<G;V++)U.rows[V]=J2(U.rows[V],U.header.length).map((D)=>({text:D}));for(G=U.header.length,z=0;z<G;z++)U.header[z].tokens=this.lexer.inline(U.header[z].text);for(G=U.rows.length,z=0;z<G;z++)for(j=U.rows[z],F=0;F<j.length;F++)j[F].tokens=this.lexer.inline(j[F].text);return U}}}lheading(Q){const W=this.rules.block.lheading.exec(Q);if(W)return{type:"heading",raw:W[0],depth:W[2].charAt(0)==="="?1:2,text:W[1],tokens:this.lexer.inline(W[1])}}paragraph(Q){const W=this.rules.block.paragraph.exec(Q);if(W){const U=W[1].charAt(W[1].length-1)==="\n"?W[1].slice(0,-1):W[1];return{type:"paragraph",raw:W[0],text:U,tokens:this.lexer.inline(U)}}}text(Q){const W=this.rules.block.text.exec(Q);if(W)return{type:"text",raw:W[0],text:W[0],tokens:this.lexer.inline(W[0])}}escape(Q){const W=this.rules.inline.escape.exec(Q);if(W)return{type:"escape",raw:W[0],text:r(W[1])}}tag(Q){const W=this.rules.inline.tag.exec(Q);if(W)return!this.lexer.state.inLink&&/^<a /i.test(W[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(W[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(W[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(W[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:W[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(W[0]):r(W[0]):W[0]}}link(Q){const W=this.rules.inline.link.exec(Q);if(W){const U=W[2].trim();if(!this.options.pedantic&&/^</.test(U)){if(!/>$/.test(U))return;const F=M0(U.slice(0,-1),"\\");if((U.length-F.length)%2==0)return}else{const F=function(j,G){if(j.indexOf(G[1])===-1)return-1;const D=j.length;let _=0,N=0;for(;N<D;N++)if(j[N]==="\\")N++;else if(j[N]===G[0])_++;else if(j[N]===G[1]&&(_--,_<0))return N;return-1}(W[2],"()");if(F>-1){const j=(W[0].indexOf("!")===0?5:4)+W[1].length+F;W[2]=W[2].substring(0,F),W[0]=W[0].substring(0,j).trim(),W[3]=""}}let V=W[2],z="";if(this.options.pedantic){const F=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(V);F&&(V=F[1],z=F[3])}else z=W[3]?W[3].slice(1,-1):"";return V=V.trim(),/^</.test(V)&&(V=this.options.pedantic&&!/>$/.test(U)?V.slice(1):V.slice(1,-1)),O2(W,{href:V?V.replace(this.rules.inline._escapes,"$1"):V,title:z?z.replace(this.rules.inline._escapes,"$1"):z},W[0],this.lexer)}}reflink(Q,W){let U;if((U=this.rules.inline.reflink.exec(Q))||(U=this.rules.inline.nolink.exec(Q))){let V=(U[2]||U[1]).replace(/\s+/g," ");if(V=W[V.toLowerCase()],!V){const z=U[0].charAt(0);return{type:"text",raw:z,text:z}}return O2(U,V,U[0],this.lexer)}}emStrong(Q,W,U=""){let V=this.rules.inline.emStrong.lDelim.exec(Q);if(!V)return;if(V[3]&&U.match(/[\p{L}\p{N}]/u))return;const z=V[1]||V[2]||"";if(!z||z&&(U===""||this.rules.inline.punctuation.exec(U))){const F=V[0].length-1;let j,G,D=F,_=0;const N=V[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(N.lastIndex=0,W=W.slice(-1*Q.length+F);(V=N.exec(W))!=null;){if(j=V[1]||V[2]||V[3]||V[4]||V[5]||V[6],!j)continue;if(G=j.length,V[3]||V[4]){D+=G;continue}if((V[5]||V[6])&&F%3&&!((F+G)%3)){_+=G;continue}if(D-=G,D>0)continue;G=Math.min(G,G+D+_);const P=Q.slice(0,F+V.index+(V[0].length-j.length)+G);if(Math.min(F,G)%2){const S=P.slice(1,-1);return{type:"em",raw:P,text:S,tokens:this.lexer.inlineTokens(S)}}const E=P.slice(2,-2);return{type:"strong",raw:P,text:E,tokens:this.lexer.inlineTokens(E)}}}}codespan(Q){const W=this.rules.inline.code.exec(Q);if(W){let U=W[2].replace(/\n/g," ");const V=/[^ ]/.test(U),z=/^ /.test(U)&&/ $/.test(U);return V&&z&&(U=U.substring(1,U.length-1)),U=r(U,!0),{type:"codespan",raw:W[0],text:U}}}br(Q){const W=this.rules.inline.br.exec(Q);if(W)return{type:"br",raw:W[0]}}del(Q){const W=this.rules.inline.del.exec(Q);if(W)return{type:"del",raw:W[0],text:W[2],tokens:this.lexer.inlineTokens(W[2])}}autolink(Q,W){const U=this.rules.inline.autolink.exec(Q);if(U){let V,z;return U[2]==="@"?(V=r(this.options.mangle?W(U[1]):U[1]),z="mailto:"+V):(V=r(U[1]),z=V),{type:"link",raw:U[0],text:V,href:z,tokens:[{type:"text",raw:V,text:V}]}}}url(Q,W){let U;if(U=this.rules.inline.url.exec(Q)){let V,z;if(U[2]==="@")V=r(this.options.mangle?W(U[0]):U[0]),z="mailto:"+V;else{let F;do F=U[0],U[0]=this.rules.inline._backpedal.exec(U[0])[0];while(F!==U[0]);V=r(U[0]),z=U[1]==="www."?"http://"+U[0]:U[0]}return{type:"link",raw:U[0],text:V,href:z,tokens:[{type:"text",raw:V,text:V}]}}}inlineText(Q,W){const U=this.rules.inline.text.exec(Q);if(U){let V;return V=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(U[0]):r(U[0]):U[0]:r(this.options.smartypants?W(U[0]):U[0]),{type:"text",raw:U[0],text:V}}}}var C={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:h0,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};C.def=h(C.def).replace("label",C._label).replace("title",C._title).getRegex(),C.bullet=/(?:[*+-]|\d{1,9}[.)])/,C.listItemStart=h(/^( *)(bull) */).replace("bull",C.bullet).getRegex(),C.list=h(C.list).replace(/bull/g,C.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+C.def.source+")").getRegex(),C._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",C._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,C.html=h(C.html,"i").replace("comment",C._comment).replace("tag",C._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),C.paragraph=h(C._paragraph).replace("hr",C.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C._tag).getRegex(),C.blockquote=h(C.blockquote).replace("paragraph",C.paragraph).getRegex(),C.normal={...C},C.gfm={...C.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},C.gfm.table=h(C.gfm.table).replace("hr",C.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C._tag).getRegex(),C.gfm.paragraph=h(C._paragraph).replace("hr",C.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",C.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C._tag).getRegex(),C.pedantic={...C.normal,html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",C._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:h0,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:h(C.normal._paragraph).replace("hr",C.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",C.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};var O={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:h0,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:h0,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/};O._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",O.punctuation=h(O.punctuation).replace(/punctuation/g,O._punctuation).getRegex(),O.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,O.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,O._comment=h(C._comment).replace("(?:-->|$)","-->").getRegex(),O.emStrong.lDelim=h(O.emStrong.lDelim).replace(/punct/g,O._punctuation).getRegex(),O.emStrong.rDelimAst=h(O.emStrong.rDelimAst,"g").replace(/punct/g,O._punctuation).getRegex(),O.emStrong.rDelimUnd=h(O.emStrong.rDelimUnd,"g").replace(/punct/g,O._punctuation).getRegex(),O._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,O._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,O._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,O.autolink=h(O.autolink).replace("scheme",O._scheme).replace("email",O._email).getRegex(),O._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,O.tag=h(O.tag).replace("comment",O._comment).replace("attribute",O._attribute).getRegex(),O._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,O._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,O._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,O.link=h(O.link).replace("label",O._label).replace("href",O._href).replace("title",O._title).getRegex(),O.reflink=h(O.reflink).replace("label",O._label).replace("ref",C._label).getRegex(),O.nolink=h(O.nolink).replace("ref",C._label).getRegex(),O.reflinkSearch=h(O.reflinkSearch,"g").replace("reflink",O.reflink).replace("nolink",O.nolink).getRegex(),O.normal={...O},O.pedantic={...O.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",O._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",O._label).getRegex()},O.gfm={...O.normal,escape:h(O.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},O.gfm.url=h(O.gfm.url,"i").replace("email",O.gfm._extended_email).getRegex(),O.breaks={...O.gfm,br:h(O.br).replace("{2,}","*").getRegex(),text:h(O.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()};class G0{constructor(Q){this.tokens=[],this.tokens.links=Object.create(null),this.options=Q||_0,this.options.tokenizer=this.options.tokenizer||new T0,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const W={block:C.normal,inline:O.normal};this.options.pedantic?(W.block=C.pedantic,W.inline=O.pedantic):this.options.gfm&&(W.block=C.gfm,this.options.breaks?W.inline=O.breaks:W.inline=O.gfm),this.tokenizer.rules=W}static get rules(){return{block:C,inline:O}}static lex(Q,W){return new G0(W).lex(Q)}static lexInline(Q,W){return new G0(W).inlineTokens(Q)}lex(Q){let W;for(Q=Q.replace(/\r\n|\r/g,"\n"),this.blockTokens(Q,this.tokens);W=this.inlineQueue.shift();)this.inlineTokens(W.src,W.tokens);return this.tokens}blockTokens(Q,W=[]){let U,V,z,F;for(Q=this.options.pedantic?Q.replace(/\t/g,"    ").replace(/^ +$/gm,""):Q.replace(/^( *)(\t+)/gm,(j,G,D)=>G+"    ".repeat(D.length));Q;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((j)=>!!(U=j.call({lexer:this},Q,W))&&(Q=Q.substring(U.raw.length),W.push(U),!0))))if(U=this.tokenizer.space(Q))Q=Q.substring(U.raw.length),U.raw.length===1&&W.length>0?W[W.length-1].raw+="\n":W.push(U);else if(U=this.tokenizer.code(Q))Q=Q.substring(U.raw.length),V=W[W.length-1],!V||V.type!=="paragraph"&&V.type!=="text"?W.push(U):(V.raw+="\n"+U.raw,V.text+="\n"+U.text,this.inlineQueue[this.inlineQueue.length-1].src=V.text);else if(U=this.tokenizer.fences(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.heading(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.hr(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.blockquote(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.list(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.html(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.def(Q))Q=Q.substring(U.raw.length),V=W[W.length-1],!V||V.type!=="paragraph"&&V.type!=="text"?this.tokens.links[U.tag]||(this.tokens.links[U.tag]={href:U.href,title:U.title}):(V.raw+="\n"+U.raw,V.text+="\n"+U.raw,this.inlineQueue[this.inlineQueue.length-1].src=V.text);else if(U=this.tokenizer.table(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.lheading(Q))Q=Q.substring(U.raw.length),W.push(U);else{if(z=Q,this.options.extensions&&this.options.extensions.startBlock){let j=Infinity;const G=Q.slice(1);let D;this.options.extensions.startBlock.forEach(function(_){D=_.call({lexer:this},G),typeof D=="number"&&D>=0&&(j=Math.min(j,D))}),j<Infinity&&j>=0&&(z=Q.substring(0,j+1))}if(this.state.top&&(U=this.tokenizer.paragraph(z)))V=W[W.length-1],F&&V.type==="paragraph"?(V.raw+="\n"+U.raw,V.text+="\n"+U.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=V.text):W.push(U),F=z.length!==Q.length,Q=Q.substring(U.raw.length);else if(U=this.tokenizer.text(Q))Q=Q.substring(U.raw.length),V=W[W.length-1],V&&V.type==="text"?(V.raw+="\n"+U.raw,V.text+="\n"+U.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=V.text):W.push(U);else if(Q){const j="Infinite loop on byte: "+Q.charCodeAt(0);if(this.options.silent){console.error(j);break}throw new Error(j)}}return this.state.top=!0,W}inline(Q,W=[]){return this.inlineQueue.push({src:Q,tokens:W}),W}inlineTokens(Q,W=[]){let U,V,z,F,j,G,D=Q;if(this.tokens.links){const _=Object.keys(this.tokens.links);if(_.length>0)for(;(F=this.tokenizer.rules.inline.reflinkSearch.exec(D))!=null;)_.includes(F[0].slice(F[0].lastIndexOf("[")+1,-1))&&(D=D.slice(0,F.index)+"["+Z2("a",F[0].length-2)+"]"+D.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(F=this.tokenizer.rules.inline.blockSkip.exec(D))!=null;)D=D.slice(0,F.index)+"["+Z2("a",F[0].length-2)+"]"+D.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(F=this.tokenizer.rules.inline.escapedEmSt.exec(D))!=null;)D=D.slice(0,F.index+F[0].length-2)+"++"+D.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;Q;)if(j||(G=""),j=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((_)=>!!(U=_.call({lexer:this},Q,W))&&(Q=Q.substring(U.raw.length),W.push(U),!0))))if(U=this.tokenizer.escape(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.tag(Q))Q=Q.substring(U.raw.length),V=W[W.length-1],V&&U.type==="text"&&V.type==="text"?(V.raw+=U.raw,V.text+=U.text):W.push(U);else if(U=this.tokenizer.link(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.reflink(Q,this.tokens.links))Q=Q.substring(U.raw.length),V=W[W.length-1],V&&U.type==="text"&&V.type==="text"?(V.raw+=U.raw,V.text+=U.text):W.push(U);else if(U=this.tokenizer.emStrong(Q,D,G))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.codespan(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.br(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.del(Q))Q=Q.substring(U.raw.length),W.push(U);else if(U=this.tokenizer.autolink(Q,X2))Q=Q.substring(U.raw.length),W.push(U);else if(this.state.inLink||!(U=this.tokenizer.url(Q,X2))){if(z=Q,this.options.extensions&&this.options.extensions.startInline){let _=Infinity;const N=Q.slice(1);let P;this.options.extensions.startInline.forEach(function(E){P=E.call({lexer:this},N),typeof P=="number"&&P>=0&&(_=Math.min(_,P))}),_<Infinity&&_>=0&&(z=Q.substring(0,_+1))}if(U=this.tokenizer.inlineText(z,n2))Q=Q.substring(U.raw.length),U.raw.slice(-1)!=="_"&&(G=U.raw.slice(-1)),j=!0,V=W[W.length-1],V&&V.type==="text"?(V.raw+=U.raw,V.text+=U.text):W.push(U);else if(Q){const _="Infinite loop on byte: "+Q.charCodeAt(0);if(this.options.silent){console.error(_);break}throw new Error(_)}}else Q=Q.substring(U.raw.length),W.push(U);return W}}class c0{constructor(Q){this.options=Q||_0}code(Q,W,U){const V=(W||"").match(/\S*/)[0];if(this.options.highlight){const z=this.options.highlight(Q,V);z!=null&&z!==Q&&(U=!0,Q=z)}return Q=Q.replace(/\n$/,"")+"\n",V?'<pre><code class="'+this.options.langPrefix+r(V)+'">'+(U?Q:r(Q,!0))+"</code></pre>\n":"<pre><code>"+(U?Q:r(Q,!0))+"</code></pre>\n"}blockquote(Q){return`<blockquote>\n${Q}</blockquote>\n`}html(Q){return Q}heading(Q,W,U,V){if(this.options.headerIds)return`<h${W} id="${this.options.headerPrefix+V.slug(U)}">${Q}</h${W}>\n`;return`<h${W}>${Q}</h${W}>\n`}hr(){return this.options.xhtml?"<hr/>\n":"<hr>\n"}list(Q,W,U){const V=W?"ol":"ul";return"<"+V+(W&&U!==1?' start="'+U+'"':"")+">\n"+Q+"</"+V+">\n"}listitem(Q){return`<li>${Q}</li>\n`}checkbox(Q){return"<input "+(Q?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "}paragraph(Q){return`<p>${Q}</p>\n`}table(Q,W){return W&&(W=`<tbody>${W}</tbody>`),"<table>\n<thead>\n"+Q+"</thead>\n"+W+"</table>\n"}tablerow(Q){return`<tr>\n${Q}</tr>\n`}tablecell(Q,W){const U=W.header?"th":"td";return(W.align?`<${U} align="${W.align}">`:`<${U}>`)+Q+`</${U}>\n`}strong(Q){return`<strong>${Q}</strong>`}em(Q){return`<em>${Q}</em>`}codespan(Q){return`<code>${Q}</code>`}br(){return this.options.xhtml?"<br/>":"<br>"}del(Q){return`<del>${Q}</del>`}link(Q,W,U){if((Q=q2(this.options.sanitize,this.options.baseUrl,Q))===null)return U;let V='<a href="'+Q+'"';return W&&(V+=' title="'+W+'"'),V+=">"+U+"</a>",V}image(Q,W,U){if((Q=q2(this.options.sanitize,this.options.baseUrl,Q))===null)return U;let V=`<img src="${Q}" alt="${U}"`;return W&&(V+=` title="${W}"`),V+=this.options.xhtml?"/>":">",V}text(Q){return Q}}class V1{strong(Q){return Q}em(Q){return Q}codespan(Q){return Q}del(Q){return Q}html(Q){return Q}text(Q){return Q}link(Q,W,U){return""+U}image(Q,W,U){return""+U}br(){return""}}class z1{constructor(){this.seen={}}serialize(Q){return Q.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(Q,W){let U=Q,V=0;if(this.seen.hasOwnProperty(U)){V=this.seen[Q];do V++,U=Q+"-"+V;while(this.seen.hasOwnProperty(U))}return W||(this.seen[Q]=V,this.seen[U]=0),U}slug(Q,W={}){const U=this.serialize(Q);return this.getNextSafeSlug(U,W.dryrun)}}class P0{constructor(Q){this.options=Q||_0,this.options.renderer=this.options.renderer||new c0,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new V1,this.slugger=new z1}static parse(Q,W){return new P0(W).parse(Q)}static parseInline(Q,W){return new P0(W).parseInline(Q)}parse(Q,W=!0){let U,V,z,F,j,G,D,_,N,P,E,S,J,H,Z,x,v,m,w,X="";const M=Q.length;for(U=0;U<M;U++)if(P=Q[U],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[P.type]&&(w=this.options.extensions.renderers[P.type].call({parser:this},P),w!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(P.type)))X+=w||"";else switch(P.type){case"space":continue;case"hr":X+=this.renderer.hr();continue;case"heading":X+=this.renderer.heading(this.parseInline(P.tokens),P.depth,C2(this.parseInline(P.tokens,this.textRenderer)),this.slugger);continue;case"code":X+=this.renderer.code(P.text,P.lang,P.escaped);continue;case"table":for(_="",D="",F=P.header.length,V=0;V<F;V++)D+=this.renderer.tablecell(this.parseInline(P.header[V].tokens),{header:!0,align:P.align[V]});for(_+=this.renderer.tablerow(D),N="",F=P.rows.length,V=0;V<F;V++){for(G=P.rows[V],D="",j=G.length,z=0;z<j;z++)D+=this.renderer.tablecell(this.parseInline(G[z].tokens),{header:!1,align:P.align[z]});N+=this.renderer.tablerow(D)}X+=this.renderer.table(_,N);continue;case"blockquote":N=this.parse(P.tokens),X+=this.renderer.blockquote(N);continue;case"list":for(E=P.ordered,S=P.start,J=P.loose,F=P.items.length,N="",V=0;V<F;V++)Z=P.items[V],x=Z.checked,v=Z.task,H="",Z.task&&(m=this.renderer.checkbox(x),J?Z.tokens.length>0&&Z.tokens[0].type==="paragraph"?(Z.tokens[0].text=m+" "+Z.tokens[0].text,Z.tokens[0].tokens&&Z.tokens[0].tokens.length>0&&Z.tokens[0].tokens[0].type==="text"&&(Z.tokens[0].tokens[0].text=m+" "+Z.tokens[0].tokens[0].text)):Z.tokens.unshift({type:"text",text:m}):H+=m),H+=this.parse(Z.tokens,J),N+=this.renderer.listitem(H,v,x);X+=this.renderer.list(N,E,S);continue;case"html":X+=this.renderer.html(P.text);continue;case"paragraph":X+=this.renderer.paragraph(this.parseInline(P.tokens));continue;case"text":for(N=P.tokens?this.parseInline(P.tokens):P.text;U+1<M&&Q[U+1].type==="text";)P=Q[++U],N+="\n"+(P.tokens?this.parseInline(P.tokens):P.text);X+=W?this.renderer.paragraph(N):N;continue;default:{const p='Token with "'+P.type+'" type was not found.';if(this.options.silent)return void console.error(p);throw new Error(p)}}return X}parseInline(Q,W){W=W||this.renderer;let U,V,z,F="";const j=Q.length;for(U=0;U<j;U++)if(V=Q[U],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[V.type]&&(z=this.options.extensions.renderers[V.type].call({parser:this},V),z!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(V.type)))F+=z||"";else switch(V.type){case"escape":case"text":F+=W.text(V.text);break;case"html":F+=W.html(V.text);break;case"link":F+=W.link(V.href,V.title,this.parseInline(V.tokens,W));break;case"image":F+=W.image(V.href,V.title,V.text);break;case"strong":F+=W.strong(this.parseInline(V.tokens,W));break;case"em":F+=W.em(this.parseInline(V.tokens,W));break;case"codespan":F+=W.codespan(V.text);break;case"br":F+=W.br();break;case"del":F+=W.del(this.parseInline(V.tokens,W));break;default:{const G='Token with "'+V.type+'" type was not found.';if(this.options.silent)return void console.error(G);throw new Error(G)}}return F}}class d0{constructor(Q){this.options=Q||_0}static passThroughHooks=new Set(["preprocess","postprocess"]);preprocess(Q){return Q}postprocess(Q){return Q}}y.options=y.setOptions=function(Q){var W;return y.defaults={...y.defaults,...Q},W=y.defaults,_0=W,y},y.getDefaults=h2,y.defaults=_0,y.use=function(...Q){const W=y.defaults.extensions||{renderers:{},childTokens:{}};Q.forEach((U)=>{const V={...U};if(V.async=y.defaults.async||V.async||!1,U.extensions&&(U.extensions.forEach((z)=>{if(!z.name)throw new Error("extension name required");if(z.renderer){const F=W.renderers[z.name];W.renderers[z.name]=F?function(...j){let G=z.renderer.apply(this,j);return G===!1&&(G=F.apply(this,j)),G}:z.renderer}if(z.tokenizer){if(!z.level||z.level!=="block"&&z.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");W[z.level]?W[z.level].unshift(z.tokenizer):W[z.level]=[z.tokenizer],z.start&&(z.level==="block"?W.startBlock?W.startBlock.push(z.start):W.startBlock=[z.start]:z.level==="inline"&&(W.startInline?W.startInline.push(z.start):W.startInline=[z.start]))}z.childTokens&&(W.childTokens[z.name]=z.childTokens)}),V.extensions=W),U.renderer){const z=y.defaults.renderer||new c0;for(let F in U.renderer){const j=z[F];z[F]=(...G)=>{let D=U.renderer[F].apply(z,G);return D===!1&&(D=j.apply(z,G)),D}}V.renderer=z}if(U.tokenizer){const z=y.defaults.tokenizer||new T0;for(let F in U.tokenizer){const j=z[F];z[F]=(...G)=>{let D=U.tokenizer[F].apply(z,G);return D===!1&&(D=j.apply(z,G)),D}}V.tokenizer=z}if(U.hooks){const z=y.defaults.hooks||new d0;for(let F in U.hooks){const j=z[F];d0.passThroughHooks.has(F)?z[F]=(G)=>{if(y.defaults.async)return Promise.resolve(U.hooks[F].call(z,G)).then((_)=>j.call(z,_));const D=U.hooks[F].call(z,G);return j.call(z,D)}:z[F]=(...G)=>{let D=U.hooks[F].apply(z,G);return D===!1&&(D=j.apply(z,G)),D}}V.hooks=z}if(U.walkTokens){const z=y.defaults.walkTokens;V.walkTokens=function(F){let j=[];return j.push(U.walkTokens.call(this,F)),z&&(j=j.concat(z.call(this,F))),j}}y.setOptions(V)})},y.walkTokens=function(Q,W){let U=[];for(let V of Q)switch(U=U.concat(W.call(y,V)),V.type){case"table":for(let z of V.header)U=U.concat(y.walkTokens(z.tokens,W));for(let z of V.rows)for(let F of z)U=U.concat(y.walkTokens(F.tokens,W));break;case"list":U=U.concat(y.walkTokens(V.items,W));break;default:y.defaults.extensions&&y.defaults.extensions.childTokens&&y.defaults.extensions.childTokens[V.type]?y.defaults.extensions.childTokens[V.type].forEach(function(z){U=U.concat(y.walkTokens(V[z],W))}):V.tokens&&(U=U.concat(y.walkTokens(V.tokens,W)))}return U},y.parseInline=w2(G0.lexInline,P0.parseInline),y.Parser=P0,y.parser=P0.parse,y.Renderer=c0,y.TextRenderer=V1,y.Lexer=G0,y.lexer=G0.lex,y.Tokenizer=T0,y.Slugger=z1,y.Hooks=d0,y.parse=y,y.options,y.setOptions,y.use,y.walkTokens,y.parseInline,P0.parse,G0.lex;/*!
 * The reveal.js markdown plugin. Handles parsing of
 * markdown inside of presentations as well as loading
 * of external markdown documents.
 */var $2="__SCRIPT_END__",R0=/\[\s*((\d*):)?\s*([\s\d,|-]*)\]/,i2={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},m2=()=>{let Q;function W(N){let P=(N.querySelector("[data-template]")||N.querySelector("script")||N).textContent;P=P.replace(new RegExp($2,"g"),"</script>");const E=P.match(/^\n?(\s*)/)[1].length,S=P.match(/^\n?(\t*)/)[1].length;return S>0?P=P.replace(new RegExp("\\n?\\t{"+S+"}(.*)","g"),function(J,H){return"\n"+H}):E>1&&(P=P.replace(new RegExp("\\n? {"+E+"}(.*)","g"),function(J,H){return"\n"+H})),P}function U(N){const P=N.attributes,E=[];for(let S=0,J=P.length;S<J;S++){const H=P[S].name,Z=P[S].value;/data\-(markdown|separator|vertical|notes)/gi.test(H)||(Z?E.push(H+'="'+Z+'"'):E.push(H))}return E.join(" ")}function V(N){const P=Q?.getConfig?.().markdown;return(N=N||{}).separator=N.separator||P?.separator||"\r?\n---\r?\n",N.verticalSeparator=N.verticalSeparator||P?.verticalSeparator||null,N.notesSeparator=N.notesSeparator||P?.notesSeparator||"^s*notes?:",N.attributes=N.attributes||"",N}function z(N,P){P=V(P);const E=N.split(new RegExp(P.notesSeparator,"mgi"));return E.length===2&&(N=E[0]+'<aside class="notes">'+y(E[1].trim())+"</aside>"),'<script type="text/template">'+(N=N.replace(/<\/script>/g,$2))+"</script>"}function F(N,P){P=V(P);const E=new RegExp(P.separator+(P.verticalSeparator?"|"+P.verticalSeparator:""),"mg"),S=new RegExp(P.separator);let J,H,Z,x=0,v=!0,m=[];for(;J=E.exec(N);)H=S.test(J[0]),!H&&v&&m.push([]),Z=N.substring(x,J.index),H&&v?m.push(Z):m[m.length-1].push(Z),x=E.lastIndex,v=H;(v?m:m[m.length-1]).push(N.substring(x));let w="";for(let X=0,M=m.length;X<M;X++)m[X]instanceof Array?(w+="<section "+P.attributes+">",m[X].forEach(function(p){w+="<section data-markdown>"+z(p,P)+"</section>"}),w+="</section>"):w+="<section "+P.attributes+" data-markdown>"+z(m[X],P)+"</section>";return w}function j(N){return new Promise(function(P){const E=[];[].slice.call(N.querySelectorAll("section[data-markdown]:not([data-markdown-parsed])")).forEach(function(S,J){S.getAttribute("data-markdown").length?E.push(function(H){return new Promise(function(Z,x){const v=new XMLHttpRequest,m=H.getAttribute("data-markdown"),w=H.getAttribute("data-charset");w!==null&&w!==""&&v.overrideMimeType("text/html; charset="+w),v.onreadystatechange=function(X,M){M.readyState===4&&(M.status>=200&&M.status<300||M.status===0?Z(M,m):x(M,m))}.bind(this,H,v),v.open("GET",m,!0);try{v.send()}catch(X){console.warn("Failed to get the Markdown file "+m+". Make sure that the presentation and the file are served by a HTTP server and the file can be found there. "+X),Z(v,m)}})}(S).then(function(H,Z){S.outerHTML=F(H.responseText,{separator:S.getAttribute("data-separator"),verticalSeparator:S.getAttribute("data-separator-vertical"),notesSeparator:S.getAttribute("data-separator-notes"),attributes:U(S)})},function(H,Z){S.outerHTML='<section data-state="alert">ERROR: The attempt to fetch '+Z+" failed with HTTP status "+H.status+".Check your browser's JavaScript console for more details.<p>Remember that you need to serve the presentation HTML from a HTTP server.</p></section>"})):S.outerHTML=F(W(S),{separator:S.getAttribute("data-separator"),verticalSeparator:S.getAttribute("data-separator-vertical"),notesSeparator:S.getAttribute("data-separator-notes"),attributes:U(S)})}),Promise.all(E).then(P)})}function G(N,P,E){const S=new RegExp(E,"mg"),J=new RegExp('([^"= ]+?)="([^"]+?)"|(data-[^"= ]+?)(?=[" ])',"mg");let H,Z,x=N.nodeValue;if(H=S.exec(x)){const v=H[1];for(x=x.substring(0,H.index)+x.substring(S.lastIndex),N.nodeValue=x;Z=J.exec(v);)Z[2]?P.setAttribute(Z[1],Z[2]):P.setAttribute(Z[3],"");return!0}return!1}function D(N,P,E,S,J){if(P!==null&&P.childNodes!==void 0&&P.childNodes.length>0){let H=P;for(let Z=0;Z<P.childNodes.length;Z++){const x=P.childNodes[Z];if(Z>0){let m=Z-1;for(;m>=0;){const w=P.childNodes[m];if(typeof w.setAttribute=="function"&&w.tagName!=="BR"){H=w;break}m-=1}}let v=N;x.nodeName==="section"&&(v=x,H=x),typeof x.setAttribute!="function"&&x.nodeType!==Node.COMMENT_NODE||D(v,x,H,S,J)}}P.nodeType===Node.COMMENT_NODE&&G(P,E,S)===!1&&G(P,N,J)}function _(){const N=Q.getRevealElement().querySelectorAll("[data-markdown]:not([data-markdown-parsed])");return[].slice.call(N).forEach(function(P){P.setAttribute("data-markdown-parsed",!0);const E=P.querySelector("aside.notes"),S=W(P);P.innerHTML=y(S),D(P,P,null,P.getAttribute("data-element-attributes")||P.parentNode.getAttribute("data-element-attributes")||"\\.element\\s*?(.+?)$",P.getAttribute("data-attributes")||P.parentNode.getAttribute("data-attributes")||"\\.slide:\\s*?(\\S.+?)$"),E&&P.appendChild(E)}),Promise.resolve()}return{id:"markdown",init:function(N){Q=N;let{renderer:P,animateLists:E,...S}=Q.getConfig().markdown||{};return P||(P=new y.Renderer,P.code=(J,H)=>{let Z="",x="";if(R0.test(H)){let v=H.match(R0)[2];v&&(Z=`data-ln-start-from="${v.trim()}"`),x=H.match(R0)[3].trim(),x=`data-line-numbers="${x}"`,H=H.replace(R0,"").trim()}return`<pre><code ${x} ${Z} class="${H}">${J=J.replace(/([&<>'"])/g,(v)=>i2[v])}</code></pre>`}),E===!0&&(P.listitem=(J)=>`<li class="fragment">${J}</li>`),y.setOptions({renderer:P,...S}),j(Q.getRevealElement()).then(_)},processSlides:j,convertSlides:_,slidify:F,marked:y}};var s2=new F0({plugins:[m2]});s2.initialize();