From b4e2c97d0c05395fa7ce46ca57dad029f878d088 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Mon, 18 Nov 2013 09:01:33 -0500 Subject: [PATCH] initial fragment rewrite --- js/reveal.js | 124 +++++++++++++++++++++++++++++------------------ js/reveal.min.js | 6 +-- 2 files changed, 80 insertions(+), 50 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index 7b81e5c8..ed41ce56 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -1047,7 +1047,7 @@ var Reveal = (function(){ a.forEach( function( el, idx ) { if( !el.hasAttribute( 'data-fragment-index' ) ) { - el.setAttribute( 'data-fragment-index', idx ); + el.setAttribute( 'data-fragment-index', idx + 1 ); } } ); @@ -2278,6 +2278,79 @@ var Reveal = (function(){ } + /** + * Navigate to the specified slide fragment. + * + * @return {Boolean} true if there was a next fragment, + * false otherwise + */ + function navigateFragment( index, offset ) { + + if( currentSlide && config.fragments ) { + + var fragments = sortFragments( currentSlide.querySelectorAll( '.fragment' ) ); + if( fragments.length ) { + + if( typeof index !== 'number' ) { + var lastVisibleFragment = sortFragments( currentSlide.querySelectorAll( '.fragment.visible' ) ).pop(); + + if( lastVisibleFragment ) { + index = parseInt( lastVisibleFragment.getAttribute( 'data-fragment-index' ) || 1, 10 ); + } + else { + index = 0; + } + } + + if( typeof offset === 'number' ) { + index += offset; + } + + var fragmentsShown = [], + fragmentsHidden = []; + + toArray( fragments ).forEach( function( element, i ) { + + if( i < index ) { + if( !element.classList.contains( 'visible' ) ) fragmentsShown.push( element ); + element.classList.add( 'visible' ); + element.classList.remove( 'current-fragment' ); + + if( i === index ) { + element.classList.add( 'current-fragment' ); + } + } + else { + if( element.classList.contains( 'visible' ) ) fragmentsHidden.push( element ); + element.classList.remove( 'visible' ); + element.classList.remove( 'current-fragment' ); + } + + + } ); + + if( offset < 0 && fragmentsHidden.length ) { + console.log('hidden'); + dispatchEvent( 'fragmenthidden', { fragment: fragmentsHidden[0], fragments: fragmentsHidden } ); + } + + if( offset > 0 && fragmentsShown.length ) { + console.log('hidden'); + dispatchEvent( 'fragmentshown', { fragment: fragmentsShown[0], fragments: fragmentsShown } ); + } + + updateControls(); + + return !!( fragmentsShown.length || fragmentsHidden.length ); + + } + + } + + return false; + + } + /** * Navigate to the next slide fragment. * @@ -2286,29 +2359,7 @@ var Reveal = (function(){ */ function nextFragment() { - if( currentSlide && config.fragments ) { - var fragments = sortFragments( currentSlide.querySelectorAll( '.fragment:not(.visible)' ) ); - - if( fragments.length ) { - // Find the index of the next fragment - var index = fragments[0].getAttribute( 'data-fragment-index' ); - - // Find all fragments with the same index - fragments = currentSlide.querySelectorAll( '.fragment[data-fragment-index="'+ index +'"]' ); - - toArray( fragments ).forEach( function( element ) { - element.classList.add( 'visible' ); - } ); - - // Notify subscribers of the change - dispatchEvent( 'fragmentshown', { fragment: fragments[0], fragments: fragments } ); - - updateControls(); - return true; - } - } - - return false; + return navigateFragment( null, 1 ); } @@ -2320,29 +2371,7 @@ var Reveal = (function(){ */ function previousFragment() { - if( currentSlide && config.fragments ) { - var fragments = sortFragments( currentSlide.querySelectorAll( '.fragment.visible' ) ); - - if( fragments.length ) { - // Find the index of the previous fragment - var index = fragments[ fragments.length - 1 ].getAttribute( 'data-fragment-index' ); - - // Find all fragments with the same index - fragments = currentSlide.querySelectorAll( '.fragment[data-fragment-index="'+ index +'"]' ); - - toArray( fragments ).forEach( function( f ) { - f.classList.remove( 'visible' ); - } ); - - // Notify subscribers of the change - dispatchEvent( 'fragmenthidden', { fragment: fragments[0], fragments: fragments } ); - - updateControls(); - return true; - } - } - - return false; + return navigateFragment( null, -1 ); } @@ -3132,6 +3161,7 @@ var Reveal = (function(){ next: navigateNext, prevFragment: previousFragment, nextFragment: nextFragment, + navigateFragment: navigateFragment, // Deprecated aliases navigateTo: slide, diff --git a/js/reveal.min.js b/js/reveal.min.js index 3f6cb3ee..ed6f7650 100644 --- a/js/reveal.min.js +++ b/js/reveal.min.js @@ -1,9 +1,9 @@ /*! - * reveal.js 2.6.0-dev (2013-11-17, 17:12) + * reveal.js 2.6.0-dev (2013-11-18, 08:59) * http://lab.hakim.se/reveal-js * MIT licensed * * Copyright (C) 2013 Hakim El Hattab, http://hakim.se */ -var Reveal=function(){"use strict";function a(a){if(b(),!cc.transforms2d&&!cc.transforms3d)return document.body.setAttribute("class","no-transforms"),void 0;window.addEventListener("load",C,!1);var d=Reveal.getQueryHash();"undefined"!=typeof d.dependencies&&delete d.dependencies,l(Zb,a),l(Zb,d),s(),c()}function b(){cc.transforms3d="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,cc.transforms2d="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,cc.requestAnimationFrameMethod=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,cc.requestAnimationFrame="function"==typeof cc.requestAnimationFrameMethod,cc.canvas=!!document.createElement("canvas").getContext,Tb=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function c(){function a(){c.length&&head.js.apply(null,c),d()}for(var b=[],c=[],e=0,f=Zb.dependencies.length;f>e;e++){var g=Zb.dependencies[e];(!g.condition||g.condition())&&(g.async?c.push(g.src):b.push(g.src),"function"==typeof g.callback&&head.ready(g.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],g.callback))}b.length?(head.ready(a),head.js.apply(null,b)):a()}function d(){f(),e(),i(),cb(),X(!0),setTimeout(function(){bc.slides.classList.remove("no-transition"),$b=!0,u("ready",{indexh:Ob,indexv:Pb,currentSlide:Rb})},1)}function e(){var a=m(document.querySelectorAll(Wb));a.forEach(function(a){var b=m(a.querySelectorAll("section"));b.forEach(function(a,b){b>0&&a.classList.add("future")})})}function f(){bc.theme=document.querySelector("#theme"),bc.wrapper=document.querySelector(".reveal"),bc.slides=document.querySelector(".reveal .slides"),bc.slides.classList.add("no-transition"),bc.background=g(bc.wrapper,"div","backgrounds",null),bc.progress=g(bc.wrapper,"div","progress",""),bc.progressbar=bc.progress.querySelector("span"),g(bc.wrapper,"aside","controls",''),bc.slideNumber=g(bc.wrapper,"div","slide-number",""),g(bc.wrapper,"div","state-background",null),g(bc.wrapper,"div","pause-overlay",null),bc.controls=document.querySelector(".reveal .controls"),bc.controlsLeft=m(document.querySelectorAll(".navigate-left")),bc.controlsRight=m(document.querySelectorAll(".navigate-right")),bc.controlsUp=m(document.querySelectorAll(".navigate-up")),bc.controlsDown=m(document.querySelectorAll(".navigate-down")),bc.controlsPrev=m(document.querySelectorAll(".navigate-prev")),bc.controlsNext=m(document.querySelectorAll(".navigate-next"))}function g(a,b,c,d){var e=a.querySelector("."+c);return e||(e=document.createElement(b),e.classList.add(c),null!==d&&(e.innerHTML=d),a.appendChild(e)),e}function h(){function a(a,b){var c={background:a.getAttribute("data-background"),backgroundSize:a.getAttribute("data-background-size"),backgroundImage:a.getAttribute("data-background-image"),backgroundColor:a.getAttribute("data-background-color"),backgroundRepeat:a.getAttribute("data-background-repeat"),backgroundPosition:a.getAttribute("data-background-position"),backgroundTransition:a.getAttribute("data-background-transition")},d=document.createElement("div");return d.className="slide-background",c.background&&(/^(http|file|\/\/)/gi.test(c.background)||/\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test(c.background)?d.style.backgroundImage="url("+c.background+")":d.style.background=c.background),(c.background||c.backgroundColor||c.backgroundImage)&&d.setAttribute("data-background-hash",c.background+c.backgroundSize+c.backgroundImage+c.backgroundColor+c.backgroundRepeat+c.backgroundPosition+c.backgroundTransition),c.backgroundSize&&(d.style.backgroundSize=c.backgroundSize),c.backgroundImage&&(d.style.backgroundImage='url("'+c.backgroundImage+'")'),c.backgroundColor&&(d.style.backgroundColor=c.backgroundColor),c.backgroundRepeat&&(d.style.backgroundRepeat=c.backgroundRepeat),c.backgroundPosition&&(d.style.backgroundPosition=c.backgroundPosition),c.backgroundTransition&&d.setAttribute("data-background-transition",c.backgroundTransition),b.appendChild(d),d}r()&&document.body.classList.add("print-pdf"),bc.background.innerHTML="",bc.background.classList.add("no-transition"),m(document.querySelectorAll(Wb)).forEach(function(b){var c;c=r()?a(b,b):a(b,bc.background),m(b.querySelectorAll("section")).forEach(function(b){r()?a(b,b):a(b,c)})}),Zb.parallaxBackgroundImage?(bc.background.style.backgroundImage='url("'+Zb.parallaxBackgroundImage+'")',bc.background.style.backgroundSize=Zb.parallaxBackgroundSize,setTimeout(function(){bc.wrapper.classList.add("has-parallax-background")},1)):(bc.background.style.backgroundImage="",bc.wrapper.classList.remove("has-parallax-background"))}function i(a){var b=document.querySelectorAll(Vb).length;if(bc.wrapper.classList.remove(Zb.transition),"object"==typeof a&&l(Zb,a),cc.transforms3d===!1&&(Zb.transition="linear"),bc.wrapper.classList.add(Zb.transition),bc.wrapper.setAttribute("data-transition-speed",Zb.transitionSpeed),bc.wrapper.setAttribute("data-background-transition",Zb.backgroundTransition),bc.controls.style.display=Zb.controls?"block":"none",bc.progress.style.display=Zb.progress?"block":"none",Zb.rtl?bc.wrapper.classList.add("rtl"):bc.wrapper.classList.remove("rtl"),Zb.center?bc.wrapper.classList.add("center"):bc.wrapper.classList.remove("center"),Zb.mouseWheel?(document.addEventListener("DOMMouseScroll",zb,!1),document.addEventListener("mousewheel",zb,!1)):(document.removeEventListener("DOMMouseScroll",zb,!1),document.removeEventListener("mousewheel",zb,!1)),Zb.rollingLinks?v():w(),Zb.previewLinks?x():(y(),x("[data-preview-link]")),b>1&&Zb.autoSlide&&Zb.autoSlideStoppable&&cc.canvas&&cc.requestAnimationFrame?(Ub=new Nb(bc.wrapper,function(){return Math.min(Math.max((Date.now()-kc)/ic,0),1)}),Ub.on("click",Mb),lc=!1):Ub&&(Ub.destroy(),Ub=null),Zb.theme&&bc.theme){var c=bc.theme.getAttribute("href"),d=/[^\/]*?(?=\.css)/,e=c.match(d)[0];Zb.theme!==e&&(c=c.replace(d,Zb.theme),bc.theme.setAttribute("href",c))}R()}function j(){if(hc=!0,window.addEventListener("hashchange",Hb,!1),window.addEventListener("resize",Ib,!1),Zb.touch&&(bc.wrapper.addEventListener("touchstart",tb,!1),bc.wrapper.addEventListener("touchmove",ub,!1),bc.wrapper.addEventListener("touchend",vb,!1),window.navigator.msPointerEnabled&&(bc.wrapper.addEventListener("MSPointerDown",wb,!1),bc.wrapper.addEventListener("MSPointerMove",xb,!1),bc.wrapper.addEventListener("MSPointerUp",yb,!1))),Zb.keyboard&&document.addEventListener("keydown",sb,!1),Zb.progress&&bc.progress&&bc.progress.addEventListener("click",Ab,!1),Zb.focusBodyOnPageVisiblityChange){var a;"hidden"in document?a="visibilitychange":"msHidden"in document?a="msvisibilitychange":"webkitHidden"in document&&(a="webkitvisibilitychange"),a&&document.addEventListener(a,Jb,!1)}["touchstart","click"].forEach(function(a){bc.controlsLeft.forEach(function(b){b.addEventListener(a,Bb,!1)}),bc.controlsRight.forEach(function(b){b.addEventListener(a,Cb,!1)}),bc.controlsUp.forEach(function(b){b.addEventListener(a,Db,!1)}),bc.controlsDown.forEach(function(b){b.addEventListener(a,Eb,!1)}),bc.controlsPrev.forEach(function(b){b.addEventListener(a,Fb,!1)}),bc.controlsNext.forEach(function(b){b.addEventListener(a,Gb,!1)})})}function k(){hc=!1,document.removeEventListener("keydown",sb,!1),window.removeEventListener("hashchange",Hb,!1),window.removeEventListener("resize",Ib,!1),bc.wrapper.removeEventListener("touchstart",tb,!1),bc.wrapper.removeEventListener("touchmove",ub,!1),bc.wrapper.removeEventListener("touchend",vb,!1),window.navigator.msPointerEnabled&&(bc.wrapper.removeEventListener("MSPointerDown",wb,!1),bc.wrapper.removeEventListener("MSPointerMove",xb,!1),bc.wrapper.removeEventListener("MSPointerUp",yb,!1)),Zb.progress&&bc.progress&&bc.progress.removeEventListener("click",Ab,!1),["touchstart","click"].forEach(function(a){bc.controlsLeft.forEach(function(b){b.removeEventListener(a,Bb,!1)}),bc.controlsRight.forEach(function(b){b.removeEventListener(a,Cb,!1)}),bc.controlsUp.forEach(function(b){b.removeEventListener(a,Db,!1)}),bc.controlsDown.forEach(function(b){b.removeEventListener(a,Eb,!1)}),bc.controlsPrev.forEach(function(b){b.removeEventListener(a,Fb,!1)}),bc.controlsNext.forEach(function(b){b.removeEventListener(a,Gb,!1)})})}function l(a,b){for(var c in b)a[c]=b[c]}function m(a){return Array.prototype.slice.call(a)}function n(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function o(a,b){a.style.WebkitTransform=b,a.style.MozTransform=b,a.style.msTransform=b,a.style.OTransform=b,a.style.transform=b}function p(a){var b=0;if(a){var c=0;m(a.childNodes).forEach(function(a){"number"==typeof a.offsetTop&&a.style&&("absolute"===a.style.position&&(c+=1),b=Math.max(b,a.offsetTop+a.offsetHeight))}),0===c&&(b=a.offsetHeight)}return b}function q(a,b){if(b=b||0,a){var c=a.parentNode,d=c.childNodes;m(d).forEach(function(c){if("number"==typeof c.offsetHeight&&c!==a){var d=window.getComputedStyle(c),e=parseInt(d.marginTop,10),f=parseInt(d.marginBottom,10);b-=c.offsetHeight+e+f}});var e=window.getComputedStyle(a);b-=parseInt(e.marginTop,10)+parseInt(e.marginBottom,10)}return b}function r(){return/print-pdf/gi.test(window.location.search)}function s(){Zb.hideAddressBar&&Tb&&(window.addEventListener("load",t,!1),window.addEventListener("orientationchange",t,!1))}function t(){setTimeout(function(){window.scrollTo(0,1)},10)}function u(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),l(c,b),bc.wrapper.dispatchEvent(c)}function v(){if(cc.transforms3d&&!("msPerspective"in document.body.style))for(var a=document.querySelectorAll(Vb+" a:not(.image)"),b=0,c=a.length;c>b;b++){var d=a[b];if(!(!d.textContent||d.querySelector("*")||d.className&&d.classList.contains(d,"roll"))){var e=document.createElement("span");e.setAttribute("data-title",d.text),e.innerHTML=d.innerHTML,d.classList.add("roll"),d.innerHTML="",d.appendChild(e)}}}function w(){for(var a=document.querySelectorAll(Vb+" a.roll"),b=0,c=a.length;c>b;b++){var d=a[b],e=d.querySelector("span");e&&(d.classList.remove("roll"),d.innerHTML=e.innerHTML)}}function x(a){var b=m(document.querySelectorAll(a?a:"a"));b.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.addEventListener("click",Lb,!1)})}function y(){var a=m(document.querySelectorAll("a"));a.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.removeEventListener("click",Lb,!1)})}function z(a){A(),bc.preview=document.createElement("div"),bc.preview.classList.add("preview-link-overlay"),bc.wrapper.appendChild(bc.preview),bc.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),bc.preview.querySelector("iframe").addEventListener("load",function(){bc.preview.classList.add("loaded")},!1),bc.preview.querySelector(".close").addEventListener("click",function(a){A(),a.preventDefault()},!1),bc.preview.querySelector(".external").addEventListener("click",function(){A()},!1),setTimeout(function(){bc.preview.classList.add("visible")},1)}function A(){bc.preview&&(bc.preview.setAttribute("src",""),bc.preview.parentNode.removeChild(bc.preview),bc.preview=null)}function B(a){var b=m(a);return b.forEach(function(a,b){a.hasAttribute("data-fragment-index")||a.setAttribute("data-fragment-index",b)}),b.sort(function(a,b){return a.getAttribute("data-fragment-index")-b.getAttribute("data-fragment-index")}),b}function C(){if(bc.wrapper&&!r()){var a=bc.wrapper.offsetWidth,b=bc.wrapper.offsetHeight;a-=b*Zb.margin,b-=b*Zb.margin;var c=Zb.width,d=Zb.height,e=20;D(Zb.width,Zb.height,e),"string"==typeof c&&/%$/.test(c)&&(c=parseInt(c,10)/100*a),"string"==typeof d&&/%$/.test(d)&&(d=parseInt(d,10)/100*b),bc.slides.style.width=c+"px",bc.slides.style.height=d+"px",ac=Math.min(a/c,b/d),ac=Math.max(ac,Zb.minScale),ac=Math.min(ac,Zb.maxScale),"undefined"==typeof bc.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?o(bc.slides,"translate(-50%, -50%) scale("+ac+") translate(50%, 50%)"):bc.slides.style.zoom=ac;for(var f=m(document.querySelectorAll(Vb)),g=0,h=f.length;h>g;g++){var i=f[g];"none"!==i.style.display&&(i.style.top=Zb.center||i.classList.contains("center")?i.classList.contains("stack")?0:Math.max(-(p(i)/2)-e,-d/2)+"px":"")}U(),Y()}}function D(a,b,c){m(bc.slides.querySelectorAll("section > .stretch")).forEach(function(d){var e=q(d,b-2*c);if(/(img|video)/gi.test(d.nodeName)){var f=d.naturalWidth||d.videoWidth,g=d.naturalHeight||d.videoHeight,h=Math.min(a/f,e/g);d.style.width=f*h+"px",d.style.height=g*h+"px"}else d.style.width=a+"px",d.style.height=e+"px"})}function E(a,b){"object"==typeof a&&"function"==typeof a.setAttribute&&a.setAttribute("data-previous-indexv",b||0)}function F(a){if("object"==typeof a&&"function"==typeof a.setAttribute&&a.classList.contains("stack")){var b=a.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(a.getAttribute(b)||0,10)}return 0}function G(){if(Zb.overview){ib();var a=bc.wrapper.classList.contains("overview"),b=window.innerWidth<400?1e3:2500;bc.wrapper.classList.add("overview"),bc.wrapper.classList.remove("overview-deactivating"),clearTimeout(fc),clearTimeout(gc),fc=setTimeout(function(){for(var c=document.querySelectorAll(Wb),d=0,e=c.length;e>d;d++){var f=c[d],g=Zb.rtl?-105:105;if(f.setAttribute("data-index-h",d),o(f,"translateZ(-"+b+"px) translate("+(d-Ob)*g+"%, 0%)"),f.classList.contains("stack"))for(var h=f.querySelectorAll("section"),i=0,j=h.length;j>i;i++){var k=d===Ob?Pb:F(f),l=h[i];l.setAttribute("data-index-h",d),l.setAttribute("data-index-v",i),o(l,"translate(0%, "+105*(i-k)+"%)"),l.addEventListener("click",Kb,!0)}else f.addEventListener("click",Kb,!0)}T(),C(),a||u("overviewshown",{indexh:Ob,indexv:Pb,currentSlide:Rb})},10)}}function H(){Zb.overview&&(clearTimeout(fc),clearTimeout(gc),bc.wrapper.classList.remove("overview"),bc.wrapper.classList.add("overview-deactivating"),gc=setTimeout(function(){bc.wrapper.classList.remove("overview-deactivating")},1),m(document.querySelectorAll(Vb)).forEach(function(a){o(a,""),a.removeEventListener("click",Kb,!0)}),Q(Ob,Pb),hb(),u("overviewhidden",{indexh:Ob,indexv:Pb,currentSlide:Rb}))}function I(a){"boolean"==typeof a?a?G():H():J()?H():G()}function J(){return bc.wrapper.classList.contains("overview")}function K(a){return a=a?a:Rb,a&&a.parentNode&&!!a.parentNode.nodeName.match(/section/i)}function L(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullscreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullScreen;b&&b.apply(a)}function M(){var a=bc.wrapper.classList.contains("paused");ib(),bc.wrapper.classList.add("paused"),a===!1&&u("paused")}function N(){var a=bc.wrapper.classList.contains("paused");bc.wrapper.classList.remove("paused"),hb(),a&&u("resumed")}function O(){P()?N():M()}function P(){return bc.wrapper.classList.contains("paused")}function Q(a,b,c,d){Qb=Rb;var e=document.querySelectorAll(Wb);void 0===b&&(b=F(e[a])),Qb&&Qb.parentNode&&Qb.parentNode.classList.contains("stack")&&E(Qb.parentNode,Pb);var f=_b.concat();_b.length=0;var g=Ob||0,h=Pb||0;Ob=S(Wb,void 0===a?Ob:a),Pb=S(Xb,void 0===b?Pb:b),T(),C();a:for(var i=0,j=_b.length;j>i;i++){for(var k=0;kb?a.classList.add("visible"):a.classList.remove("visible")})}var p=Ob!==g||Pb!==h;p?u("slidechanged",{indexh:Ob,indexv:Pb,previousSlide:Qb,currentSlide:Rb,origin:d}):Qb=null,Qb&&(Qb.classList.remove("present"),document.querySelector(Yb).classList.contains("present")&&setTimeout(function(){var a,b=m(document.querySelectorAll(Wb+".stack"));for(a in b)b[a]&&E(b[a],0)},0)),p&&(ab(Qb),_(Rb)),W(),U(),X(),Y(),V(),db(),hb()}function R(){k(),j(),C(),ic=Zb.autoSlide,hb(),h(),W(),U(),X(!0),V()}function S(a,b){var c=m(document.querySelectorAll(a)),d=c.length;if(d){Zb.loop&&(b%=d,0>b&&(b=d+b)),b=Math.max(Math.min(b,d-1),0);for(var e=0;d>e;e++){var f=c[e],g=Zb.rtl&&!K(f);if(f.classList.remove("past"),f.classList.remove("present"),f.classList.remove("future"),f.setAttribute("hidden",""),b>e){f.classList.add(g?"future":"past");for(var h=m(f.querySelectorAll(".fragment"));h.length;)h.pop().classList.add("visible")}else if(e>b){f.classList.add(g?"past":"future");for(var i=m(f.querySelectorAll(".fragment.visible"));i.length;)i.pop().classList.remove("visible")}f.querySelector("section")&&f.classList.add("stack")}c[b].classList.add("present"),c[b].removeAttribute("hidden");var j=c[b].getAttribute("data-state");j&&(_b=_b.concat(j.split(" ")))}else b=0;return b}function T(){var a,b,c=m(document.querySelectorAll(Wb)),d=c.length;if(d){var e=J()?10:Zb.viewDistance;Tb&&(e=J()?6:1);for(var f=0;d>f;f++){var g=c[f],h=m(g.querySelectorAll("section")),i=h.length;if(a=Math.abs((Ob-f)%(d-e))||0,g.style.display=a>e?"none":"block",i)for(var j=F(g),k=0;i>k;k++){var l=h[k];b=f===Ob?Math.abs(Pb-k):Math.abs(k-j),l.style.display=a+b>e?"none":"block"}}}}function U(){if(Zb.progress&&bc.progress){var a=m(document.querySelectorAll(Wb)),b=document.querySelectorAll(Vb+":not(.stack)").length,c=0;a:for(var d=0;d0&&(a+=" - "+Pb),bc.slideNumber.innerHTML=a}}function W(){var a=Z(),b=$();bc.controlsLeft.concat(bc.controlsRight).concat(bc.controlsUp).concat(bc.controlsDown).concat(bc.controlsPrev).concat(bc.controlsNext).forEach(function(a){a.classList.remove("enabled"),a.classList.remove("fragmented")}),a.left&&bc.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&bc.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&bc.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&bc.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&bc.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&bc.controlsNext.forEach(function(a){a.classList.add("enabled")}),Rb&&(b.prev&&bc.controlsPrev.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&bc.controlsNext.forEach(function(a){a.classList.add("fragmented","enabled")}),K(Rb)?(b.prev&&bc.controlsUp.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&bc.controlsDown.forEach(function(a){a.classList.add("fragmented","enabled")})):(b.prev&&bc.controlsLeft.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&bc.controlsRight.forEach(function(a){a.classList.add("fragmented","enabled")})))}function X(a){var b=null,c=Zb.rtl?"future":"past",d=Zb.rtl?"past":"future";if(m(bc.background.childNodes).forEach(function(e,f){Ob>f?e.className="slide-background "+c:f>Ob?e.className="slide-background "+d:(e.className="slide-background present",b=e),(a||f===Ob)&&m(e.childNodes).forEach(function(a,c){Pb>c?a.className="slide-background past":c>Pb?a.className="slide-background future":(a.className="slide-background present",f===Ob&&(b=a))})}),b){var e=Sb?Sb.getAttribute("data-background-hash"):null,f=b.getAttribute("data-background-hash");f&&f===e&&b!==Sb&&bc.background.classList.add("no-transition"),Sb=b}setTimeout(function(){bc.background.classList.remove("no-transition")},1)}function Y(){if(Zb.parallaxBackgroundImage){var a,b,c=document.querySelectorAll(Wb),d=document.querySelectorAll(Xb),e=bc.background.style.backgroundSize.split(" ");1===e.length?a=b=parseInt(e[0],10):(a=parseInt(e[0],10),b=parseInt(e[1],10));var f=bc.background.offsetWidth,g=c.length,h=-(a-f)/(g-1)*Ob,i=bc.background.offsetHeight,j=d.length,k=j>0?-(b-i)/(j-1)*Pb:0;bc.background.style.backgroundPosition=h+"px "+k+"px"}}function Z(){var a=document.querySelectorAll(Wb),b=document.querySelectorAll(Xb),c={left:Ob>0||Zb.loop,right:Ob0,down:Pb0,next:!!b.length}}return{prev:!1,next:!1}}function _(a){a&&!bb()&&(m(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&a.play()}),m(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:start","*")}),m(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-autoplay")&&a.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function ab(a){a&&(m(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-ignore")||a.pause()}),m(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:stop","*")}),m(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-ignore")||"function"!=typeof a.contentWindow.postMessage||a.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function bb(){return!!window.location.search.match(/receiver/gi)}function cb(){var a=window.location.hash,b=a.slice(2).split("/"),c=a.replace(/#|\//gi,"");if(isNaN(parseInt(b[0],10))&&c.length){var d=document.querySelector("#"+c);if(d){var e=Reveal.getIndices(d);Q(e.h,e.v)}else Q(Ob||0,Pb||0)}else{var f=parseInt(b[0],10)||0,g=parseInt(b[1],10)||0;(f!==Ob||g!==Pb)&&Q(f,g)}}function db(a){if(Zb.history)if(clearTimeout(ec),"number"==typeof a)ec=setTimeout(db,a);else{var b="/";Rb&&"string"==typeof Rb.getAttribute("id")?b="/"+Rb.getAttribute("id"):((Ob>0||Pb>0)&&(b+=Ob),Pb>0&&(b+="/"+Pb)),window.location.hash=b}}function eb(a){var b,c=Ob,d=Pb;if(a){var e=K(a),f=e?a.parentNode:a,g=m(document.querySelectorAll(Wb));c=Math.max(g.indexOf(f),0),e&&(d=Math.max(m(a.parentNode.querySelectorAll("section")).indexOf(a),0))}if(!a&&Rb){var h=Rb.querySelectorAll(".fragment").length>0;if(h){var i=Rb.querySelectorAll(".fragment.visible");b=i.length}}return{h:c,v:d,f:b}}function fb(){if(Rb&&Zb.fragments){var a=B(Rb.querySelectorAll(".fragment:not(.visible)"));if(a.length){var b=a[0].getAttribute("data-fragment-index");return a=Rb.querySelectorAll('.fragment[data-fragment-index="'+b+'"]'),m(a).forEach(function(a){a.classList.add("visible")}),u("fragmentshown",{fragment:a[0],fragments:a}),W(),!0}}return!1}function gb(){if(Rb&&Zb.fragments){var a=B(Rb.querySelectorAll(".fragment.visible"));if(a.length){var b=a[a.length-1].getAttribute("data-fragment-index");return a=Rb.querySelectorAll('.fragment[data-fragment-index="'+b+'"]'),m(a).forEach(function(a){a.classList.remove("visible")}),u("fragmenthidden",{fragment:a[0],fragments:a}),W(),!0}}return!1}function hb(){if(ib(),Rb){var a=Rb.parentNode?Rb.parentNode.getAttribute("data-autoslide"):null,b=Rb.getAttribute("data-autoslide");ic=b?parseInt(b,10):a?parseInt(a,10):Zb.autoSlide,!ic||lc||P()||J()||Reveal.isLastSlide()&&Zb.loop!==!0||(jc=setTimeout(qb,ic),kc=Date.now()),Ub&&Ub.setPlaying(-1!==jc)}}function ib(){clearTimeout(jc),jc=-1}function jb(){lc=!0,clearTimeout(jc),Ub&&Ub.setPlaying(!1)}function kb(){lc=!1,hb()}function lb(){Zb.rtl?(J()||fb()===!1)&&Z().left&&Q(Ob+1):(J()||gb()===!1)&&Z().left&&Q(Ob-1)}function mb(){Zb.rtl?(J()||gb()===!1)&&Z().right&&Q(Ob-1):(J()||fb()===!1)&&Z().right&&Q(Ob+1)}function nb(){(J()||gb()===!1)&&Z().up&&Q(Ob,Pb-1)}function ob(){(J()||fb()===!1)&&Z().down&&Q(Ob,Pb+1)}function pb(){if(gb()===!1)if(Z().up)nb();else{var a=document.querySelector(Wb+".past:nth-child("+Ob+")");if(a){var b=a.querySelectorAll("section").length-1||void 0,c=Ob-1;Q(c,b)}}}function qb(){fb()===!1&&(Z().down?ob():mb()),hb()}function rb(){Zb.autoSlideStoppable&&jb()}function sb(a){rb(a),document.activeElement;var b=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(b||a.shiftKey&&32!==a.keyCode||a.altKey||a.ctrlKey||a.metaKey)){if(P()&&-1===[66,190,191].indexOf(a.keyCode))return!1;var c=!1;if("object"==typeof Zb.keyboard)for(var d in Zb.keyboard)if(parseInt(d,10)===a.keyCode){var e=Zb.keyboard[d];"function"==typeof e?e.apply(null,[a]):"string"==typeof e&&"function"==typeof Reveal[e]&&Reveal[e].call(),c=!0}if(c===!1)switch(c=!0,a.keyCode){case 80:case 33:pb();break;case 78:case 34:qb();break;case 72:case 37:lb();break;case 76:case 39:mb();break;case 75:case 38:nb();break;case 74:case 40:ob();break;case 36:Q(0);break;case 35:Q(Number.MAX_VALUE);break;case 32:J()?H():a.shiftKey?pb():qb();break;case 13:J()?H():c=!1;break;case 66:case 190:case 191:O();break;case 70:L();break;default:c=!1}c?a.preventDefault():27!==a.keyCode&&79!==a.keyCode||!cc.transforms3d||(bc.preview?A():I(),a.preventDefault()),hb()}}function tb(a){mc.startX=a.touches[0].clientX,mc.startY=a.touches[0].clientY,mc.startCount=a.touches.length,2===a.touches.length&&Zb.overview&&(mc.startSpan=n({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:mc.startX,y:mc.startY}))}function ub(a){if(mc.captured)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{rb(a);var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===mc.startCount&&Zb.overview){var d=n({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:mc.startX,y:mc.startY});Math.abs(mc.startSpan-d)>mc.threshold&&(mc.captured=!0,dmc.threshold&&Math.abs(e)>Math.abs(f)?(mc.captured=!0,lb()):e<-mc.threshold&&Math.abs(e)>Math.abs(f)?(mc.captured=!0,mb()):f>mc.threshold?(mc.captured=!0,nb()):f<-mc.threshold&&(mc.captured=!0,ob()),Zb.embedded?(mc.captured||K(Rb))&&a.preventDefault():a.preventDefault()}}}function vb(){mc.captured=!1}function wb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],tb(a))}function xb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],ub(a))}function yb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],vb(a))}function zb(a){if(Date.now()-dc>600){dc=Date.now();var b=a.detail||-a.wheelDelta;b>0?qb():pb()}}function Ab(a){rb(a),a.preventDefault();var b=m(document.querySelectorAll(Wb)).length,c=Math.floor(a.clientX/bc.wrapper.offsetWidth*b);Q(c)}function Bb(a){a.preventDefault(),rb(),lb()}function Cb(a){a.preventDefault(),rb(),mb()}function Db(a){a.preventDefault(),rb(),nb()}function Eb(a){a.preventDefault(),rb(),ob()}function Fb(a){a.preventDefault(),rb(),pb()}function Gb(a){a.preventDefault(),rb(),qb()}function Hb(){cb()}function Ib(){C()}function Jb(){var a=document.webkitHidden||document.msHidden||document.hidden;a===!1&&document.activeElement!==document.body&&(document.activeElement.blur(),document.body.focus())}function Kb(a){if(hc&&J()){a.preventDefault();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b&&!b.classList.contains("disabled")&&(H(),b.nodeName.match(/section/gi))){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);Q(c,d)}}}function Lb(a){var b=a.target.getAttribute("href");b&&(z(b),a.preventDefault())}function Mb(){Reveal.isLastSlide()&&Zb.loop===!1?(Q(0,0),kb()):lc?kb():jb()}function Nb(a,b){this.diameter=50,this.thickness=3,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=a,this.progressCheck=b,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}var Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb=".reveal .slides section",Wb=".reveal .slides>section",Xb=".reveal .slides>section.present>section",Yb=".reveal .slides>section:first-of-type",Zb={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,slideNumber:!1,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,autoSlideStoppable:!0,mouseWheel:!1,rollingLinks:!1,hideAddressBar:!0,previewLinks:!1,focusBodyOnPageVisiblityChange:!0,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",parallaxBackgroundImage:"",parallaxBackgroundSize:"",viewDistance:3,dependencies:[]},$b=!1,_b=[],ac=1,bc={},cc={},dc=0,ec=0,fc=0,gc=0,hc=!1,ic=0,jc=0,kc=-1,lc=!1,mc={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return Nb.prototype.setPlaying=function(a){var b=this.playing;this.playing=a,!b&&this.playing?this.animate():this.render()},Nb.prototype.animate=function(){var a=this.progress;this.progress=this.progressCheck(),a>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&cc.requestAnimationFrameMethod.call(window,this.animate.bind(this))},Nb.prototype.render=function(){var a=this.playing?this.progress:0,b=this.diameter/2-this.thickness,c=this.diameter/2,d=this.diameter/2,e=14;this.progressOffset+=.1*(1-this.progressOffset);var f=-Math.PI/2+a*2*Math.PI,g=-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(c,d,b+2,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(c,d,b,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#666",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(c,d,b,g,f,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(c-e/2,d-e/2),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,e/2-2,e),this.context.fillRect(e/2+2,0,e/2-2,e)):(this.context.beginPath(),this.context.translate(2,0),this.context.moveTo(0,0),this.context.lineTo(e-2,e/2),this.context.lineTo(0,e),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()},Nb.prototype.on=function(a,b){this.canvas.addEventListener(a,b,!1)},Nb.prototype.off=function(a,b){this.canvas.removeEventListener(a,b,!1)},Nb.prototype.destroy=function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)},{initialize:a,configure:i,sync:R,slide:Q,left:lb,right:mb,up:nb,down:ob,prev:pb,next:qb,prevFragment:gb,nextFragment:fb,navigateTo:Q,navigateLeft:lb,navigateRight:mb,navigateUp:nb,navigateDown:ob,navigatePrev:pb,navigateNext:qb,layout:C,availableRoutes:Z,availableFragments:$,toggleOverview:I,togglePause:O,isOverview:J,isPaused:P,addEventListeners:j,removeEventListeners:k,getIndices:eb,getSlide:function(a,b){var c=document.querySelectorAll(Wb)[a],d=c&&c.querySelectorAll("section");return"undefined"!=typeof b?d?d[b]:void 0:c},getPreviousSlide:function(){return Qb},getCurrentSlide:function(){return Rb},getScale:function(){return ac},getConfig:function(){return Zb},getQueryHash:function(){var a={};location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(b){a[b.split("=").shift()]=b.split("=").pop()});for(var b in a){var c=a[b];"null"===c?a[b]=null:"true"===c?a[b]=!0:"false"===c?a[b]=!1:isNaN(parseFloat(c))||(a[b]=parseFloat(c))}return a},isFirstSlide:function(){return null==document.querySelector(Vb+".past")?!0:!1},isLastSlide:function(){return Rb?Rb.nextElementSibling?!1:K(Rb)&&Rb.parentNode.nextElementSibling?!1:!0:!1 -},isReady:function(){return $b},addEventListener:function(a,b,c){"addEventListener"in window&&(bc.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(bc.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file +var Reveal=function(){"use strict";function a(a){if(b(),!dc.transforms2d&&!dc.transforms3d)return document.body.setAttribute("class","no-transforms"),void 0;window.addEventListener("load",C,!1);var d=Reveal.getQueryHash();"undefined"!=typeof d.dependencies&&delete d.dependencies,l($b,a),l($b,d),s(),c()}function b(){dc.transforms3d="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,dc.transforms2d="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,dc.requestAnimationFrameMethod=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,dc.requestAnimationFrame="function"==typeof dc.requestAnimationFrameMethod,dc.canvas=!!document.createElement("canvas").getContext,Ub=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function c(){function a(){c.length&&head.js.apply(null,c),d()}for(var b=[],c=[],e=0,f=$b.dependencies.length;f>e;e++){var g=$b.dependencies[e];(!g.condition||g.condition())&&(g.async?c.push(g.src):b.push(g.src),"function"==typeof g.callback&&head.ready(g.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],g.callback))}b.length?(head.ready(a),head.js.apply(null,b)):a()}function d(){f(),e(),i(),cb(),X(!0),setTimeout(function(){cc.slides.classList.remove("no-transition"),_b=!0,u("ready",{indexh:Pb,indexv:Qb,currentSlide:Sb})},1)}function e(){var a=m(document.querySelectorAll(Xb));a.forEach(function(a){var b=m(a.querySelectorAll("section"));b.forEach(function(a,b){b>0&&a.classList.add("future")})})}function f(){cc.theme=document.querySelector("#theme"),cc.wrapper=document.querySelector(".reveal"),cc.slides=document.querySelector(".reveal .slides"),cc.slides.classList.add("no-transition"),cc.background=g(cc.wrapper,"div","backgrounds",null),cc.progress=g(cc.wrapper,"div","progress",""),cc.progressbar=cc.progress.querySelector("span"),g(cc.wrapper,"aside","controls",''),cc.slideNumber=g(cc.wrapper,"div","slide-number",""),g(cc.wrapper,"div","state-background",null),g(cc.wrapper,"div","pause-overlay",null),cc.controls=document.querySelector(".reveal .controls"),cc.controlsLeft=m(document.querySelectorAll(".navigate-left")),cc.controlsRight=m(document.querySelectorAll(".navigate-right")),cc.controlsUp=m(document.querySelectorAll(".navigate-up")),cc.controlsDown=m(document.querySelectorAll(".navigate-down")),cc.controlsPrev=m(document.querySelectorAll(".navigate-prev")),cc.controlsNext=m(document.querySelectorAll(".navigate-next"))}function g(a,b,c,d){var e=a.querySelector("."+c);return e||(e=document.createElement(b),e.classList.add(c),null!==d&&(e.innerHTML=d),a.appendChild(e)),e}function h(){function a(a,b){var c={background:a.getAttribute("data-background"),backgroundSize:a.getAttribute("data-background-size"),backgroundImage:a.getAttribute("data-background-image"),backgroundColor:a.getAttribute("data-background-color"),backgroundRepeat:a.getAttribute("data-background-repeat"),backgroundPosition:a.getAttribute("data-background-position"),backgroundTransition:a.getAttribute("data-background-transition")},d=document.createElement("div");return d.className="slide-background",c.background&&(/^(http|file|\/\/)/gi.test(c.background)||/\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test(c.background)?d.style.backgroundImage="url("+c.background+")":d.style.background=c.background),(c.background||c.backgroundColor||c.backgroundImage)&&d.setAttribute("data-background-hash",c.background+c.backgroundSize+c.backgroundImage+c.backgroundColor+c.backgroundRepeat+c.backgroundPosition+c.backgroundTransition),c.backgroundSize&&(d.style.backgroundSize=c.backgroundSize),c.backgroundImage&&(d.style.backgroundImage='url("'+c.backgroundImage+'")'),c.backgroundColor&&(d.style.backgroundColor=c.backgroundColor),c.backgroundRepeat&&(d.style.backgroundRepeat=c.backgroundRepeat),c.backgroundPosition&&(d.style.backgroundPosition=c.backgroundPosition),c.backgroundTransition&&d.setAttribute("data-background-transition",c.backgroundTransition),b.appendChild(d),d}r()&&document.body.classList.add("print-pdf"),cc.background.innerHTML="",cc.background.classList.add("no-transition"),m(document.querySelectorAll(Xb)).forEach(function(b){var c;c=r()?a(b,b):a(b,cc.background),m(b.querySelectorAll("section")).forEach(function(b){r()?a(b,b):a(b,c)})}),$b.parallaxBackgroundImage?(cc.background.style.backgroundImage='url("'+$b.parallaxBackgroundImage+'")',cc.background.style.backgroundSize=$b.parallaxBackgroundSize,setTimeout(function(){cc.wrapper.classList.add("has-parallax-background")},1)):(cc.background.style.backgroundImage="",cc.wrapper.classList.remove("has-parallax-background"))}function i(a){var b=document.querySelectorAll(Wb).length;if(cc.wrapper.classList.remove($b.transition),"object"==typeof a&&l($b,a),dc.transforms3d===!1&&($b.transition="linear"),cc.wrapper.classList.add($b.transition),cc.wrapper.setAttribute("data-transition-speed",$b.transitionSpeed),cc.wrapper.setAttribute("data-background-transition",$b.backgroundTransition),cc.controls.style.display=$b.controls?"block":"none",cc.progress.style.display=$b.progress?"block":"none",$b.rtl?cc.wrapper.classList.add("rtl"):cc.wrapper.classList.remove("rtl"),$b.center?cc.wrapper.classList.add("center"):cc.wrapper.classList.remove("center"),$b.mouseWheel?(document.addEventListener("DOMMouseScroll",Ab,!1),document.addEventListener("mousewheel",Ab,!1)):(document.removeEventListener("DOMMouseScroll",Ab,!1),document.removeEventListener("mousewheel",Ab,!1)),$b.rollingLinks?v():w(),$b.previewLinks?x():(y(),x("[data-preview-link]")),b>1&&$b.autoSlide&&$b.autoSlideStoppable&&dc.canvas&&dc.requestAnimationFrame?(Vb=new Ob(cc.wrapper,function(){return Math.min(Math.max((Date.now()-lc)/jc,0),1)}),Vb.on("click",Nb),mc=!1):Vb&&(Vb.destroy(),Vb=null),$b.theme&&cc.theme){var c=cc.theme.getAttribute("href"),d=/[^\/]*?(?=\.css)/,e=c.match(d)[0];$b.theme!==e&&(c=c.replace(d,$b.theme),cc.theme.setAttribute("href",c))}R()}function j(){if(ic=!0,window.addEventListener("hashchange",Ib,!1),window.addEventListener("resize",Jb,!1),$b.touch&&(cc.wrapper.addEventListener("touchstart",ub,!1),cc.wrapper.addEventListener("touchmove",vb,!1),cc.wrapper.addEventListener("touchend",wb,!1),window.navigator.msPointerEnabled&&(cc.wrapper.addEventListener("MSPointerDown",xb,!1),cc.wrapper.addEventListener("MSPointerMove",yb,!1),cc.wrapper.addEventListener("MSPointerUp",zb,!1))),$b.keyboard&&document.addEventListener("keydown",tb,!1),$b.progress&&cc.progress&&cc.progress.addEventListener("click",Bb,!1),$b.focusBodyOnPageVisiblityChange){var a;"hidden"in document?a="visibilitychange":"msHidden"in document?a="msvisibilitychange":"webkitHidden"in document&&(a="webkitvisibilitychange"),a&&document.addEventListener(a,Kb,!1)}["touchstart","click"].forEach(function(a){cc.controlsLeft.forEach(function(b){b.addEventListener(a,Cb,!1)}),cc.controlsRight.forEach(function(b){b.addEventListener(a,Db,!1)}),cc.controlsUp.forEach(function(b){b.addEventListener(a,Eb,!1)}),cc.controlsDown.forEach(function(b){b.addEventListener(a,Fb,!1)}),cc.controlsPrev.forEach(function(b){b.addEventListener(a,Gb,!1)}),cc.controlsNext.forEach(function(b){b.addEventListener(a,Hb,!1)})})}function k(){ic=!1,document.removeEventListener("keydown",tb,!1),window.removeEventListener("hashchange",Ib,!1),window.removeEventListener("resize",Jb,!1),cc.wrapper.removeEventListener("touchstart",ub,!1),cc.wrapper.removeEventListener("touchmove",vb,!1),cc.wrapper.removeEventListener("touchend",wb,!1),window.navigator.msPointerEnabled&&(cc.wrapper.removeEventListener("MSPointerDown",xb,!1),cc.wrapper.removeEventListener("MSPointerMove",yb,!1),cc.wrapper.removeEventListener("MSPointerUp",zb,!1)),$b.progress&&cc.progress&&cc.progress.removeEventListener("click",Bb,!1),["touchstart","click"].forEach(function(a){cc.controlsLeft.forEach(function(b){b.removeEventListener(a,Cb,!1)}),cc.controlsRight.forEach(function(b){b.removeEventListener(a,Db,!1)}),cc.controlsUp.forEach(function(b){b.removeEventListener(a,Eb,!1)}),cc.controlsDown.forEach(function(b){b.removeEventListener(a,Fb,!1)}),cc.controlsPrev.forEach(function(b){b.removeEventListener(a,Gb,!1)}),cc.controlsNext.forEach(function(b){b.removeEventListener(a,Hb,!1)})})}function l(a,b){for(var c in b)a[c]=b[c]}function m(a){return Array.prototype.slice.call(a)}function n(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function o(a,b){a.style.WebkitTransform=b,a.style.MozTransform=b,a.style.msTransform=b,a.style.OTransform=b,a.style.transform=b}function p(a){var b=0;if(a){var c=0;m(a.childNodes).forEach(function(a){"number"==typeof a.offsetTop&&a.style&&("absolute"===a.style.position&&(c+=1),b=Math.max(b,a.offsetTop+a.offsetHeight))}),0===c&&(b=a.offsetHeight)}return b}function q(a,b){if(b=b||0,a){var c=a.parentNode,d=c.childNodes;m(d).forEach(function(c){if("number"==typeof c.offsetHeight&&c!==a){var d=window.getComputedStyle(c),e=parseInt(d.marginTop,10),f=parseInt(d.marginBottom,10);b-=c.offsetHeight+e+f}});var e=window.getComputedStyle(a);b-=parseInt(e.marginTop,10)+parseInt(e.marginBottom,10)}return b}function r(){return/print-pdf/gi.test(window.location.search)}function s(){$b.hideAddressBar&&Ub&&(window.addEventListener("load",t,!1),window.addEventListener("orientationchange",t,!1))}function t(){setTimeout(function(){window.scrollTo(0,1)},10)}function u(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),l(c,b),cc.wrapper.dispatchEvent(c)}function v(){if(dc.transforms3d&&!("msPerspective"in document.body.style))for(var a=document.querySelectorAll(Wb+" a:not(.image)"),b=0,c=a.length;c>b;b++){var d=a[b];if(!(!d.textContent||d.querySelector("*")||d.className&&d.classList.contains(d,"roll"))){var e=document.createElement("span");e.setAttribute("data-title",d.text),e.innerHTML=d.innerHTML,d.classList.add("roll"),d.innerHTML="",d.appendChild(e)}}}function w(){for(var a=document.querySelectorAll(Wb+" a.roll"),b=0,c=a.length;c>b;b++){var d=a[b],e=d.querySelector("span");e&&(d.classList.remove("roll"),d.innerHTML=e.innerHTML)}}function x(a){var b=m(document.querySelectorAll(a?a:"a"));b.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.addEventListener("click",Mb,!1)})}function y(){var a=m(document.querySelectorAll("a"));a.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.removeEventListener("click",Mb,!1)})}function z(a){A(),cc.preview=document.createElement("div"),cc.preview.classList.add("preview-link-overlay"),cc.wrapper.appendChild(cc.preview),cc.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),cc.preview.querySelector("iframe").addEventListener("load",function(){cc.preview.classList.add("loaded")},!1),cc.preview.querySelector(".close").addEventListener("click",function(a){A(),a.preventDefault()},!1),cc.preview.querySelector(".external").addEventListener("click",function(){A()},!1),setTimeout(function(){cc.preview.classList.add("visible")},1)}function A(){cc.preview&&(cc.preview.setAttribute("src",""),cc.preview.parentNode.removeChild(cc.preview),cc.preview=null)}function B(a){var b=m(a);return b.forEach(function(a,b){a.hasAttribute("data-fragment-index")||a.setAttribute("data-fragment-index",b+1)}),b.sort(function(a,b){return a.getAttribute("data-fragment-index")-b.getAttribute("data-fragment-index")}),b}function C(){if(cc.wrapper&&!r()){var a=cc.wrapper.offsetWidth,b=cc.wrapper.offsetHeight;a-=b*$b.margin,b-=b*$b.margin;var c=$b.width,d=$b.height,e=20;D($b.width,$b.height,e),"string"==typeof c&&/%$/.test(c)&&(c=parseInt(c,10)/100*a),"string"==typeof d&&/%$/.test(d)&&(d=parseInt(d,10)/100*b),cc.slides.style.width=c+"px",cc.slides.style.height=d+"px",bc=Math.min(a/c,b/d),bc=Math.max(bc,$b.minScale),bc=Math.min(bc,$b.maxScale),"undefined"==typeof cc.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?o(cc.slides,"translate(-50%, -50%) scale("+bc+") translate(50%, 50%)"):cc.slides.style.zoom=bc;for(var f=m(document.querySelectorAll(Wb)),g=0,h=f.length;h>g;g++){var i=f[g];"none"!==i.style.display&&(i.style.top=$b.center||i.classList.contains("center")?i.classList.contains("stack")?0:Math.max(-(p(i)/2)-e,-d/2)+"px":"")}U(),Y()}}function D(a,b,c){m(cc.slides.querySelectorAll("section > .stretch")).forEach(function(d){var e=q(d,b-2*c);if(/(img|video)/gi.test(d.nodeName)){var f=d.naturalWidth||d.videoWidth,g=d.naturalHeight||d.videoHeight,h=Math.min(a/f,e/g);d.style.width=f*h+"px",d.style.height=g*h+"px"}else d.style.width=a+"px",d.style.height=e+"px"})}function E(a,b){"object"==typeof a&&"function"==typeof a.setAttribute&&a.setAttribute("data-previous-indexv",b||0)}function F(a){if("object"==typeof a&&"function"==typeof a.setAttribute&&a.classList.contains("stack")){var b=a.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(a.getAttribute(b)||0,10)}return 0}function G(){if($b.overview){jb();var a=cc.wrapper.classList.contains("overview"),b=window.innerWidth<400?1e3:2500;cc.wrapper.classList.add("overview"),cc.wrapper.classList.remove("overview-deactivating"),clearTimeout(gc),clearTimeout(hc),gc=setTimeout(function(){for(var c=document.querySelectorAll(Xb),d=0,e=c.length;e>d;d++){var f=c[d],g=$b.rtl?-105:105;if(f.setAttribute("data-index-h",d),o(f,"translateZ(-"+b+"px) translate("+(d-Pb)*g+"%, 0%)"),f.classList.contains("stack"))for(var h=f.querySelectorAll("section"),i=0,j=h.length;j>i;i++){var k=d===Pb?Qb:F(f),l=h[i];l.setAttribute("data-index-h",d),l.setAttribute("data-index-v",i),o(l,"translate(0%, "+105*(i-k)+"%)"),l.addEventListener("click",Lb,!0)}else f.addEventListener("click",Lb,!0)}T(),C(),a||u("overviewshown",{indexh:Pb,indexv:Qb,currentSlide:Sb})},10)}}function H(){$b.overview&&(clearTimeout(gc),clearTimeout(hc),cc.wrapper.classList.remove("overview"),cc.wrapper.classList.add("overview-deactivating"),hc=setTimeout(function(){cc.wrapper.classList.remove("overview-deactivating")},1),m(document.querySelectorAll(Wb)).forEach(function(a){o(a,""),a.removeEventListener("click",Lb,!0)}),Q(Pb,Qb),ib(),u("overviewhidden",{indexh:Pb,indexv:Qb,currentSlide:Sb}))}function I(a){"boolean"==typeof a?a?G():H():J()?H():G()}function J(){return cc.wrapper.classList.contains("overview")}function K(a){return a=a?a:Sb,a&&a.parentNode&&!!a.parentNode.nodeName.match(/section/i)}function L(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullscreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullScreen;b&&b.apply(a)}function M(){var a=cc.wrapper.classList.contains("paused");jb(),cc.wrapper.classList.add("paused"),a===!1&&u("paused")}function N(){var a=cc.wrapper.classList.contains("paused");cc.wrapper.classList.remove("paused"),ib(),a&&u("resumed")}function O(){P()?N():M()}function P(){return cc.wrapper.classList.contains("paused")}function Q(a,b,c,d){Rb=Sb;var e=document.querySelectorAll(Xb);void 0===b&&(b=F(e[a])),Rb&&Rb.parentNode&&Rb.parentNode.classList.contains("stack")&&E(Rb.parentNode,Qb);var f=ac.concat();ac.length=0;var g=Pb||0,h=Qb||0;Pb=S(Xb,void 0===a?Pb:a),Qb=S(Yb,void 0===b?Qb:b),T(),C();a:for(var i=0,j=ac.length;j>i;i++){for(var k=0;kb?a.classList.add("visible"):a.classList.remove("visible")})}var p=Pb!==g||Qb!==h;p?u("slidechanged",{indexh:Pb,indexv:Qb,previousSlide:Rb,currentSlide:Sb,origin:d}):Rb=null,Rb&&(Rb.classList.remove("present"),document.querySelector(Zb).classList.contains("present")&&setTimeout(function(){var a,b=m(document.querySelectorAll(Xb+".stack"));for(a in b)b[a]&&E(b[a],0)},0)),p&&(ab(Rb),_(Sb)),W(),U(),X(),Y(),V(),db(),ib()}function R(){k(),j(),C(),jc=$b.autoSlide,ib(),h(),W(),U(),X(!0),V()}function S(a,b){var c=m(document.querySelectorAll(a)),d=c.length;if(d){$b.loop&&(b%=d,0>b&&(b=d+b)),b=Math.max(Math.min(b,d-1),0);for(var e=0;d>e;e++){var f=c[e],g=$b.rtl&&!K(f);if(f.classList.remove("past"),f.classList.remove("present"),f.classList.remove("future"),f.setAttribute("hidden",""),b>e){f.classList.add(g?"future":"past");for(var h=m(f.querySelectorAll(".fragment"));h.length;)h.pop().classList.add("visible")}else if(e>b){f.classList.add(g?"past":"future");for(var i=m(f.querySelectorAll(".fragment.visible"));i.length;)i.pop().classList.remove("visible")}f.querySelector("section")&&f.classList.add("stack")}c[b].classList.add("present"),c[b].removeAttribute("hidden");var j=c[b].getAttribute("data-state");j&&(ac=ac.concat(j.split(" ")))}else b=0;return b}function T(){var a,b,c=m(document.querySelectorAll(Xb)),d=c.length;if(d){var e=J()?10:$b.viewDistance;Ub&&(e=J()?6:1);for(var f=0;d>f;f++){var g=c[f],h=m(g.querySelectorAll("section")),i=h.length;if(a=Math.abs((Pb-f)%(d-e))||0,g.style.display=a>e?"none":"block",i)for(var j=F(g),k=0;i>k;k++){var l=h[k];b=f===Pb?Math.abs(Qb-k):Math.abs(k-j),l.style.display=a+b>e?"none":"block"}}}}function U(){if($b.progress&&cc.progress){var a=m(document.querySelectorAll(Xb)),b=document.querySelectorAll(Wb+":not(.stack)").length,c=0;a:for(var d=0;d0&&(a+=" - "+Qb),cc.slideNumber.innerHTML=a}}function W(){var a=Z(),b=$();cc.controlsLeft.concat(cc.controlsRight).concat(cc.controlsUp).concat(cc.controlsDown).concat(cc.controlsPrev).concat(cc.controlsNext).forEach(function(a){a.classList.remove("enabled"),a.classList.remove("fragmented")}),a.left&&cc.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&cc.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&cc.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&cc.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&cc.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&cc.controlsNext.forEach(function(a){a.classList.add("enabled")}),Sb&&(b.prev&&cc.controlsPrev.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&cc.controlsNext.forEach(function(a){a.classList.add("fragmented","enabled")}),K(Sb)?(b.prev&&cc.controlsUp.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&cc.controlsDown.forEach(function(a){a.classList.add("fragmented","enabled")})):(b.prev&&cc.controlsLeft.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&cc.controlsRight.forEach(function(a){a.classList.add("fragmented","enabled")})))}function X(a){var b=null,c=$b.rtl?"future":"past",d=$b.rtl?"past":"future";if(m(cc.background.childNodes).forEach(function(e,f){Pb>f?e.className="slide-background "+c:f>Pb?e.className="slide-background "+d:(e.className="slide-background present",b=e),(a||f===Pb)&&m(e.childNodes).forEach(function(a,c){Qb>c?a.className="slide-background past":c>Qb?a.className="slide-background future":(a.className="slide-background present",f===Pb&&(b=a))})}),b){var e=Tb?Tb.getAttribute("data-background-hash"):null,f=b.getAttribute("data-background-hash");f&&f===e&&b!==Tb&&cc.background.classList.add("no-transition"),Tb=b}setTimeout(function(){cc.background.classList.remove("no-transition")},1)}function Y(){if($b.parallaxBackgroundImage){var a,b,c=document.querySelectorAll(Xb),d=document.querySelectorAll(Yb),e=cc.background.style.backgroundSize.split(" ");1===e.length?a=b=parseInt(e[0],10):(a=parseInt(e[0],10),b=parseInt(e[1],10));var f=cc.background.offsetWidth,g=c.length,h=-(a-f)/(g-1)*Pb,i=cc.background.offsetHeight,j=d.length,k=j>0?-(b-i)/(j-1)*Qb:0;cc.background.style.backgroundPosition=h+"px "+k+"px"}}function Z(){var a=document.querySelectorAll(Xb),b=document.querySelectorAll(Yb),c={left:Pb>0||$b.loop,right:Pb0,down:Qb0,next:!!b.length}}return{prev:!1,next:!1}}function _(a){a&&!bb()&&(m(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&a.play()}),m(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:start","*")}),m(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-autoplay")&&a.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function ab(a){a&&(m(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-ignore")||a.pause()}),m(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:stop","*")}),m(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-ignore")||"function"!=typeof a.contentWindow.postMessage||a.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function bb(){return!!window.location.search.match(/receiver/gi)}function cb(){var a=window.location.hash,b=a.slice(2).split("/"),c=a.replace(/#|\//gi,"");if(isNaN(parseInt(b[0],10))&&c.length){var d=document.querySelector("#"+c);if(d){var e=Reveal.getIndices(d);Q(e.h,e.v)}else Q(Pb||0,Qb||0)}else{var f=parseInt(b[0],10)||0,g=parseInt(b[1],10)||0;(f!==Pb||g!==Qb)&&Q(f,g)}}function db(a){if($b.history)if(clearTimeout(fc),"number"==typeof a)fc=setTimeout(db,a);else{var b="/";Sb&&"string"==typeof Sb.getAttribute("id")?b="/"+Sb.getAttribute("id"):((Pb>0||Qb>0)&&(b+=Pb),Qb>0&&(b+="/"+Qb)),window.location.hash=b}}function eb(a){var b,c=Pb,d=Qb;if(a){var e=K(a),f=e?a.parentNode:a,g=m(document.querySelectorAll(Xb));c=Math.max(g.indexOf(f),0),e&&(d=Math.max(m(a.parentNode.querySelectorAll("section")).indexOf(a),0))}if(!a&&Sb){var h=Sb.querySelectorAll(".fragment").length>0;if(h){var i=Sb.querySelectorAll(".fragment.visible");b=i.length}}return{h:c,v:d,f:b}}function fb(a,b){if(Sb&&$b.fragments){var c=B(Sb.querySelectorAll(".fragment"));if(c.length){if("number"!=typeof a){var d=B(Sb.querySelectorAll(".fragment.visible")).pop();a=d?parseInt(d.getAttribute("data-fragment-index")||1,10):0}"number"==typeof b&&(a+=b);var e=[],f=[];return m(c).forEach(function(b,c){a>c?(b.classList.contains("visible")||e.push(b),b.classList.add("visible"),b.classList.remove("current-fragment"),c===a&&b.classList.add("current-fragment")):(b.classList.contains("visible")&&f.push(b),b.classList.remove("visible"),b.classList.remove("current-fragment"))}),0>b&&f.length&&(console.log("hidden"),u("fragmenthidden",{fragment:f[0],fragments:f})),b>0&&e.length&&(console.log("hidden"),u("fragmentshown",{fragment:e[0],fragments:e})),W(),!(!e.length&&!f.length)}}return!1}function gb(){return fb(null,1)}function hb(){return fb(null,-1)}function ib(){if(jb(),Sb){var a=Sb.parentNode?Sb.parentNode.getAttribute("data-autoslide"):null,b=Sb.getAttribute("data-autoslide");jc=b?parseInt(b,10):a?parseInt(a,10):$b.autoSlide,!jc||mc||P()||J()||Reveal.isLastSlide()&&$b.loop!==!0||(kc=setTimeout(rb,jc),lc=Date.now()),Vb&&Vb.setPlaying(-1!==kc)}}function jb(){clearTimeout(kc),kc=-1}function kb(){mc=!0,clearTimeout(kc),Vb&&Vb.setPlaying(!1)}function lb(){mc=!1,ib()}function mb(){$b.rtl?(J()||gb()===!1)&&Z().left&&Q(Pb+1):(J()||hb()===!1)&&Z().left&&Q(Pb-1)}function nb(){$b.rtl?(J()||hb()===!1)&&Z().right&&Q(Pb-1):(J()||gb()===!1)&&Z().right&&Q(Pb+1)}function ob(){(J()||hb()===!1)&&Z().up&&Q(Pb,Qb-1)}function pb(){(J()||gb()===!1)&&Z().down&&Q(Pb,Qb+1)}function qb(){if(hb()===!1)if(Z().up)ob();else{var a=document.querySelector(Xb+".past:nth-child("+Pb+")");if(a){var b=a.querySelectorAll("section").length-1||void 0,c=Pb-1;Q(c,b)}}}function rb(){gb()===!1&&(Z().down?pb():nb()),ib()}function sb(){$b.autoSlideStoppable&&kb()}function tb(a){sb(a),document.activeElement;var b=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(b||a.shiftKey&&32!==a.keyCode||a.altKey||a.ctrlKey||a.metaKey)){if(P()&&-1===[66,190,191].indexOf(a.keyCode))return!1;var c=!1;if("object"==typeof $b.keyboard)for(var d in $b.keyboard)if(parseInt(d,10)===a.keyCode){var e=$b.keyboard[d];"function"==typeof e?e.apply(null,[a]):"string"==typeof e&&"function"==typeof Reveal[e]&&Reveal[e].call(),c=!0}if(c===!1)switch(c=!0,a.keyCode){case 80:case 33:qb();break;case 78:case 34:rb();break;case 72:case 37:mb();break;case 76:case 39:nb();break;case 75:case 38:ob();break;case 74:case 40:pb();break;case 36:Q(0);break;case 35:Q(Number.MAX_VALUE);break;case 32:J()?H():a.shiftKey?qb():rb();break;case 13:J()?H():c=!1;break;case 66:case 190:case 191:O();break;case 70:L();break;default:c=!1}c?a.preventDefault():27!==a.keyCode&&79!==a.keyCode||!dc.transforms3d||(cc.preview?A():I(),a.preventDefault()),ib()}}function ub(a){nc.startX=a.touches[0].clientX,nc.startY=a.touches[0].clientY,nc.startCount=a.touches.length,2===a.touches.length&&$b.overview&&(nc.startSpan=n({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:nc.startX,y:nc.startY}))}function vb(a){if(nc.captured)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{sb(a);var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===nc.startCount&&$b.overview){var d=n({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:nc.startX,y:nc.startY});Math.abs(nc.startSpan-d)>nc.threshold&&(nc.captured=!0,dnc.threshold&&Math.abs(e)>Math.abs(f)?(nc.captured=!0,mb()):e<-nc.threshold&&Math.abs(e)>Math.abs(f)?(nc.captured=!0,nb()):f>nc.threshold?(nc.captured=!0,ob()):f<-nc.threshold&&(nc.captured=!0,pb()),$b.embedded?(nc.captured||K(Sb))&&a.preventDefault():a.preventDefault()}}}function wb(){nc.captured=!1}function xb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],ub(a))}function yb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],vb(a))}function zb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],wb(a))}function Ab(a){if(Date.now()-ec>600){ec=Date.now();var b=a.detail||-a.wheelDelta;b>0?rb():qb()}}function Bb(a){sb(a),a.preventDefault();var b=m(document.querySelectorAll(Xb)).length,c=Math.floor(a.clientX/cc.wrapper.offsetWidth*b);Q(c)}function Cb(a){a.preventDefault(),sb(),mb()}function Db(a){a.preventDefault(),sb(),nb()}function Eb(a){a.preventDefault(),sb(),ob()}function Fb(a){a.preventDefault(),sb(),pb()}function Gb(a){a.preventDefault(),sb(),qb()}function Hb(a){a.preventDefault(),sb(),rb()}function Ib(){cb()}function Jb(){C()}function Kb(){var a=document.webkitHidden||document.msHidden||document.hidden;a===!1&&document.activeElement!==document.body&&(document.activeElement.blur(),document.body.focus())}function Lb(a){if(ic&&J()){a.preventDefault();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b&&!b.classList.contains("disabled")&&(H(),b.nodeName.match(/section/gi))){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);Q(c,d)}}}function Mb(a){var b=a.target.getAttribute("href");b&&(z(b),a.preventDefault())}function Nb(){Reveal.isLastSlide()&&$b.loop===!1?(Q(0,0),lb()):mc?lb():kb()}function Ob(a,b){this.diameter=50,this.thickness=3,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=a,this.progressCheck=b,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}var Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb=".reveal .slides section",Xb=".reveal .slides>section",Yb=".reveal .slides>section.present>section",Zb=".reveal .slides>section:first-of-type",$b={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,slideNumber:!1,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,autoSlideStoppable:!0,mouseWheel:!1,rollingLinks:!1,hideAddressBar:!0,previewLinks:!1,focusBodyOnPageVisiblityChange:!0,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",parallaxBackgroundImage:"",parallaxBackgroundSize:"",viewDistance:3,dependencies:[]},_b=!1,ac=[],bc=1,cc={},dc={},ec=0,fc=0,gc=0,hc=0,ic=!1,jc=0,kc=0,lc=-1,mc=!1,nc={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return Ob.prototype.setPlaying=function(a){var b=this.playing;this.playing=a,!b&&this.playing?this.animate():this.render()},Ob.prototype.animate=function(){var a=this.progress;this.progress=this.progressCheck(),a>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&dc.requestAnimationFrameMethod.call(window,this.animate.bind(this))},Ob.prototype.render=function(){var a=this.playing?this.progress:0,b=this.diameter/2-this.thickness,c=this.diameter/2,d=this.diameter/2,e=14;this.progressOffset+=.1*(1-this.progressOffset);var f=-Math.PI/2+a*2*Math.PI,g=-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(c,d,b+2,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(c,d,b,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#666",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(c,d,b,g,f,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(c-e/2,d-e/2),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,e/2-2,e),this.context.fillRect(e/2+2,0,e/2-2,e)):(this.context.beginPath(),this.context.translate(2,0),this.context.moveTo(0,0),this.context.lineTo(e-2,e/2),this.context.lineTo(0,e),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()},Ob.prototype.on=function(a,b){this.canvas.addEventListener(a,b,!1)},Ob.prototype.off=function(a,b){this.canvas.removeEventListener(a,b,!1)},Ob.prototype.destroy=function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)},{initialize:a,configure:i,sync:R,slide:Q,left:mb,right:nb,up:ob,down:pb,prev:qb,next:rb,prevFragment:hb,nextFragment:gb,navigateFragment:fb,navigateTo:Q,navigateLeft:mb,navigateRight:nb,navigateUp:ob,navigateDown:pb,navigatePrev:qb,navigateNext:rb,layout:C,availableRoutes:Z,availableFragments:$,toggleOverview:I,togglePause:O,isOverview:J,isPaused:P,addEventListeners:j,removeEventListeners:k,getIndices:eb,getSlide:function(a,b){var c=document.querySelectorAll(Xb)[a],d=c&&c.querySelectorAll("section");return"undefined"!=typeof b?d?d[b]:void 0:c},getPreviousSlide:function(){return Rb},getCurrentSlide:function(){return Sb},getScale:function(){return bc},getConfig:function(){return $b},getQueryHash:function(){var a={};location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(b){a[b.split("=").shift()]=b.split("=").pop()});for(var b in a){var c=a[b];"null"===c?a[b]=null:"true"===c?a[b]=!0:"false"===c?a[b]=!1:isNaN(parseFloat(c))||(a[b]=parseFloat(c)) +}return a},isFirstSlide:function(){return null==document.querySelector(Wb+".past")?!0:!1},isLastSlide:function(){return Sb?Sb.nextElementSibling?!1:K(Sb)&&Sb.parentNode.nextElementSibling?!1:!0:!1},isReady:function(){return _b},addEventListener:function(a,b,c){"addEventListener"in window&&(cc.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(cc.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file