tor-commits
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
March 2021
- 17 participants
- 2170 discussions
commit 0471d3feb5c226cdcd8f0c62e5249f6632129d42
Author: hiro <hiro(a)torproject.org>
Date: Thu Feb 18 12:13:54 2021 +0100
Add dist because it was missing
---
assets/static/revealjs/dist/reset.css | 64 ++++
assets/static/revealjs/dist/reveal.css | 8 +
assets/static/revealjs/dist/reveal.esm.js | 9 +
assets/static/revealjs/dist/reveal.js | 9 +
assets/static/revealjs/dist/theme/beige.css | 301 +++++++++++++++++++
assets/static/revealjs/dist/theme/black.css | 294 +++++++++++++++++++
assets/static/revealjs/dist/theme/blood.css | 323 +++++++++++++++++++++
.../dist/theme/fonts/league-gothic/LICENSE | 2 +
.../theme/fonts/league-gothic/league-gothic.css | 10 +
.../theme/fonts/league-gothic/league-gothic.eot | Bin 0 -> 25696 bytes
.../theme/fonts/league-gothic/league-gothic.ttf | Bin 0 -> 64256 bytes
.../theme/fonts/league-gothic/league-gothic.woff | Bin 0 -> 30764 bytes
.../dist/theme/fonts/source-sans-pro/LICENSE | 45 +++
.../source-sans-pro/source-sans-pro-italic.eot | Bin 0 -> 75720 bytes
.../source-sans-pro/source-sans-pro-italic.ttf | Bin 0 -> 238084 bytes
.../source-sans-pro/source-sans-pro-italic.woff | Bin 0 -> 98556 bytes
.../source-sans-pro/source-sans-pro-regular.eot | Bin 0 -> 88070 bytes
.../source-sans-pro/source-sans-pro-regular.ttf | Bin 0 -> 288008 bytes
.../source-sans-pro/source-sans-pro-regular.woff | Bin 0 -> 114324 bytes
.../source-sans-pro/source-sans-pro-semibold.eot | Bin 0 -> 89897 bytes
.../source-sans-pro/source-sans-pro-semibold.ttf | Bin 0 -> 284640 bytes
.../source-sans-pro/source-sans-pro-semibold.woff | Bin 0 -> 115648 bytes
.../source-sans-pro-semibolditalic.eot | Bin 0 -> 75706 bytes
.../source-sans-pro-semibolditalic.ttf | Bin 0 -> 240944 bytes
.../source-sans-pro-semibolditalic.woff | Bin 0 -> 98816 bytes
.../fonts/source-sans-pro/source-sans-pro.css | 39 +++
assets/static/revealjs/dist/theme/league.css | 303 +++++++++++++++++++
assets/static/revealjs/dist/theme/moon.css | 301 +++++++++++++++++++
assets/static/revealjs/dist/theme/night.css | 295 +++++++++++++++++++
assets/static/revealjs/dist/theme/serif.css | 297 +++++++++++++++++++
assets/static/revealjs/dist/theme/simple.css | 297 +++++++++++++++++++
assets/static/revealjs/dist/theme/sky.css | 304 +++++++++++++++++++
assets/static/revealjs/dist/theme/solarized.css | 298 +++++++++++++++++++
assets/static/revealjs/dist/theme/tor.css | 296 +++++++++++++++++++
assets/static/revealjs/dist/theme/white.css | 294 +++++++++++++++++++
35 files changed, 3789 insertions(+)
diff --git a/assets/static/revealjs/dist/reset.css b/assets/static/revealjs/dist/reset.css
new file mode 100644
index 0000000..8346e9a
--- /dev/null
+++ b/assets/static/revealjs/dist/reset.css
@@ -0,0 +1,64 @@
+/* http://meyerweb.com/eric/tools/css/reset/
+ v4.0 | 20180602
+ License: none (public domain)
+*/
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+main, menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, hgroup, main, menu, nav, section {
+ display: block;
+}
+
+.footer {
+ bottom: 3px;
+ background: rgb(89, 49, 107);
+ display: block;
+ opacity: 1;
+ transition: opacity 800ms ease-in-out;
+ position: fixed;
+ height: 4vh;
+ z-index: 20;
+ width: 100%;
+ font-size: 2vh;
+ text-align: center;
+ letter-spacing: 0em;
+}
+
+.footer .left {
+ padding: 0.5em;
+ float: left;
+}
+
+.footer .left a {
+ color: white;
+}
+
+.footer .right {
+ padding-right: 0.5em;
+ margin-top: -0.3em;
+ float: right;
+}
+
+.footer .right img {
+ height: 1em;
+}
diff --git a/assets/static/revealjs/dist/reveal.css b/assets/static/revealjs/dist/reveal.css
new file mode 100644
index 0000000..b09c3b6
--- /dev/null
+++ b/assets/static/revealjs/dist/reveal.css
@@ -0,0 +1,8 @@
+/*!
+* reveal.js 4.0.2
+* https://revealjs.com
+* MIT licensed
+*
+* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
+*/
+.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;-o-object-fit:contain;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start
}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000}.reveal .slides section .fragment{opacity:0;visibility:hidden;transition:all .2s ease;will-change:opacity}.reveal .slides section .fragment.visible{opacity:1;visibility:inherit}.reveal .slides section .fragment.disabled{transition:none}.reveal .slides section .fragment.grow{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow.visible{transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1;visibility:inherit}.reveal .slides section .fragment.shrink.visible{transform:scale(.7)}.reveal .slides section .fragment.zoom-in{transform:scale(.1)}.reveal .slides section .fragment.zoom-in.visible{transform:none}.reveal .slides section .fragment.fade-
out{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.strike{opacity:1;visibility:inherit}.reveal .slides section .fragment.strike.visible{text-decoration:line-through}.reveal .slides section .fragment.fade-up{transform:translate(0,40px)}.reveal .slides section .fragment.fade-up.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-down{transform:translate(0,-40px)}.reveal .slides section .fragment.fade-down.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-right{transform:translate(-40px,0)}.reveal .slides section .fragment.fade-right.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-left{transform:translate(40px,0)}.reveal .slides section .fragment.fade-left.visible{tra
nsform:translate(0,0)}.reveal .slides section .fragment.current-visible,.reveal .slides section .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.current-visible.current-fragment,.reveal .slides section .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-blue,.reveal .slides section .fragment.highlight-current-blue,.reveal .slides section .fragment.highlight-current-green,.reveal .slides section .fragment.highlight-current-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red.visible
{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal .slides section .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .slides section .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .slides section .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:'';font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(10px)}30%{transform:translateX(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(-10px)}30%{transform:translateX(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;
z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:'';position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}.reve
al .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translateX(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translateX(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translateX(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translateX(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.r
eveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-b
ack-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bot
tom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%
;right:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.8em;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:-.3em;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:rgba(0,0,0,.2);color:#fff}.reveal .progress:after{content:'';display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:rgba(0,0,0,.4);padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;
overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>s
ection.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.past,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal.slide section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~
=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal.linear section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition])
.past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:trans
late3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-t
ransition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.re
veal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave
-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-tra
nsition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.revea
l.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.pag
e .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translate3d(0,0,0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translate3d(0,0,0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-i
ndex:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:rgba(0,0,0,0);transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-si
ze:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;-o-object-fit:cover;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{-o-object-fit:contain;object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background{transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background{opacity:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-backgrou
nd.past{transform:translate(-100%,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future{transform:translate(100%,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past{transform:translate(0,-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future{transform:translate(0,100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past{opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.revea
l[data-background-transition=convex]>.backgrounds .slide-background.future{opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past{opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future{opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past{opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[dat
a-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future{opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past{opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future{opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background{transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transitio
n=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past{opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past{opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future{opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:
1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overvi
ew .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{tran
sition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEd
hQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARm
itkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVo
VLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtE
BAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float
:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:
image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reve
al>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px 20px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-c
ode,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);transform:translate3d(0,0,-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:ab
solute;left:0;top:0;padding:0 2px;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.33333%;height:100%;top:0;left:100%;padding:14px 18px 14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:'Speaker notes';display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{borde
r-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:42.85714%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:66.66667%;height:40vh}.reveal .speaker-notes{font-size:14px}}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}html.print-pdf *{-webkit-print-color-adjust:exact}html.print-pdf{width:100%;height:100%;overflow:visible}html.print-pdf body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.print-pdf .nestedarrow,html.print-pdf .reveal .controls,html.print-pdf .reveal .playback,html.print-pdf .reveal .
progress,html.print-pdf .reveal.overview,html.print-pdf .state-background{display:none!important}html.print-pdf .reveal pre code{overflow:hidden!important;font-family:Courier,'Courier New',monospace!important}html.print-pdf .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.print-pdf .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.print-pdf .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.print-pdf .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.print-pdf .reveal section.stack{posit
ion:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.print-pdf .reveal img{box-shadow:none}html.print-pdf .reveal .backgrounds{display:none}html.print-pdf .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.print-pdf .reveal.show-notes{max-width:none;max-height:none}html.print-pdf .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.print-pdf .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px}html.print-pdf .aria-status{display:none}@media print{html:not(.print-pdf){background:#fff;width:auto;height:auto;overflow:visible}html:not(.p
rint-pdf) body{background:#fff;font-size:20pt;width:auto;height:auto;border:0;margin:0 5%;padding:0;overflow:visible;float:none!important}html:not(.print-pdf) .controls,html:not(.print-pdf) .fork-reveal,html:not(.print-pdf) .nestedarrow,html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .share-reveal,html:not(.print-pdf) .state-background{display:none!important}html:not(.print-pdf) body,html:not(.print-pdf) li,html:not(.print-pdf) p,html:not(.print-pdf) td{font-size:20pt!important;color:#000}html:not(.print-pdf) h1,html:not(.print-pdf) h2,html:not(.print-pdf) h3,html:not(.print-pdf) h4,html:not(.print-pdf) h5,html:not(.print-pdf) h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) h1{font-size:28pt!important}html:not(.print-pdf) h2{font-size:24pt!important}html:not(.print-pdf) h3{font-size:22pt!important}html:not(.print-pdf) h4{f
ont-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) h5{font-size:21pt!important}html:not(.print-pdf) h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) a:link,html:not(.print-pdf) a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) div,html:not(.print-pdf) ol,html:not(.print-pdf) p,html:not(.print-pdf) ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!
important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}
html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}
\ No newline at end of file
diff --git a/assets/static/revealjs/dist/reveal.esm.js b/assets/static/revealjs/dist/reveal.esm.js
new file mode 100644
index 0000000..c6a6b95
--- /dev/null
+++ b/assets/static/revealjs/dist/reveal.esm.js
@@ -0,0 +1,9 @@
+/*!
+* reveal.js 4.0.2
+* https://revealjs.com
+* MIT licensed
+*
+* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
+*/
+var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(e,t,i){return e(i={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&i.path)}},i.exports),i.exports}var n,a=function(e){return e&&e.Math==Math&&e},s=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof e&&e)||Function("return this")(),r={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginAr
ray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},o=function(e){try{return!!e()}catch(e){return!0}},l={}.toString,d=function(e){return l.call(e).slice(8,-1)},c="".split,u=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==d(e)?c.call(e,""):Object(e)}:Object,h=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},g=function(e){return u(h(e))},v=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),p=function(e){return"object"==typeof e?null!==e:"function"==typeof e},f=s.document,m=p(f)&&p(f.createElement),b=function(e){return m?f.createElement(e):{}},y=!v&&!o((function(){return 7!=Object.defineProperty(b("div"),"a",{get:function(){return 7}}).a})),w=function(e){if(!p(e))throw TypeError(String(e)+" is not an object");return e},S=function(e,t){if(!p(e))return
e;var i,n;if(t&&"function"==typeof(i=e.toString)&&!p(n=i.call(e)))return n;if("function"==typeof(i=e.valueOf)&&!p(n=i.call(e)))return n;if(!t&&"function"==typeof(i=e.toString)&&!p(n=i.call(e)))return n;throw TypeError("Can't convert object to primitive value")},E=Object.defineProperty,R={f:v?E:function(e,t,i){if(w(e),t=S(t,!0),w(i),y)try{return E(e,t,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(e[t]=i.value),e}},A=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},k=v?function(e,t,i){return R.f(e,t,A(1,i))}:function(e,t,i){return e[t]=i,e},L=function(e,t){try{k(s,e,t)}catch(i){s[e]=t}return t},x=s["__core-js_shared__"]||L("__core-js_shared__",{}),C=i((function(e){(e.exports=function(e,t){return x[e]||(x[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),P={}.hasOwnProperty,N=function(e,t){return P.call(e,t)},M=0,I=Math.
random(),T=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++M+I).toString(36)},D=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())})),O=D&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,z=C("wks"),H=s.Symbol,B=O?H:H&&H.withoutSetter||T,U=function(e){return N(z,e)||(D&&N(H,e)?z[e]=H[e]:z[e]=B("Symbol."+e)),z[e]},j=Math.ceil,F=Math.floor,q=function(e){return isNaN(e=+e)?0:(e>0?F:j)(e)},W=Math.min,_=function(e){return e>0?W(q(e),9007199254740991):0},V=Math.max,K=Math.min,X=function(e){return function(t,i,n){var a,s=g(t),r=_(s.length),o=function(e,t){var i=q(e);return i<0?V(i+t,0):K(i,t)}(n,r);if(e&&i!=i){for(;r>o;)if((a=s[o++])!=a)return!0}else for(;r>o;o++)if((e||o in s)&&s[o]===i)return e||o||0;return!e&&-1}},$={includes:X(!0),indexOf:X(!1)},Y={},G=$.indexOf,J=function(e,t){var i,n=g(e),a=0,s=[];for(i in n)!N(Y,i)&&N(n,i)&&s.push(i);for(;t.length>a;)N(n,i=t[a++])&&(~G(s,i)||s.push(i));return s},Q=["constructor","hasOwnProperty","isPrototypeOf","propert
yIsEnumerable","toLocaleString","toString","valueOf"],Z=Object.keys||function(e){return J(e,Q)},ee=v?Object.defineProperties:function(e,t){w(e);for(var i,n=Z(t),a=n.length,s=0;a>s;)R.f(e,i=n[s++],t[i]);return e},te=s,ie=function(e){return"function"==typeof e?e:void 0},ne=function(e,t){return arguments.length<2?ie(te[e])||ie(s[e]):te[e]&&te[e][t]||s[e]&&s[e][t]},ae=ne("document","documentElement"),se=C("keys"),re=function(e){return se[e]||(se[e]=T(e))},oe=re("IE_PROTO"),le=function(){},de=function(e){return"<script>"+e+"<\/script>"},ce=function(){try{n=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;ce=n?function(e){e.write(de("")),e.close();var t=e.parentWindow.Object;return e=null,t}(n):((t=b("iframe")).style.display="none",ae.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(de("document.F=Object")),e.close(),e.F);for(var i=Q.length;i--;)delete ce.prototype[Q[i]];return ce()};Y[oe]=!0;var ue=Object.create||function(e,t){var i;r
eturn null!==e?(le.prototype=w(e),i=new le,le.prototype=null,i[oe]=e):i=ce(),void 0===t?i:ee(i,t)},he=U("unscopables"),ge=Array.prototype;null==ge[he]&&R.f(ge,he,{configurable:!0,value:ue(null)});var ve=function(e){ge[he][e]=!0},pe=Function.toString;"function"!=typeof x.inspectSource&&(x.inspectSource=function(e){return pe.call(e)});var fe,me,be,ye=x.inspectSource,we=s.WeakMap,Se="function"==typeof we&&/native code/.test(ye(we)),Ee=s.WeakMap;if(Se){var Re=new Ee,Ae=Re.get,ke=Re.has,Le=Re.set;fe=function(e,t){return Le.call(Re,e,t),t},me=function(e){return Ae.call(Re,e)||{}},be=function(e){return ke.call(Re,e)}}else{var xe=re("state");Y[xe]=!0,fe=function(e,t){return k(e,xe,t),t},me=function(e){return N(e,xe)?e[xe]:{}},be=function(e){return N(e,xe)}}var Ce,Pe,Ne,Me={set:fe,get:me,has:be,enforce:function(e){return be(e)?me(e):fe(e,{})},getterFor:function(e){return function(t){var i;if(!p(t)||(i=me(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return i}}},Ie={}.
propertyIsEnumerable,Te=Object.getOwnPropertyDescriptor,De={f:Te&&!Ie.call({1:2},1)?function(e){var t=Te(this,e);return!!t&&t.enumerable}:Ie},Oe=Object.getOwnPropertyDescriptor,ze={f:v?Oe:function(e,t){if(e=g(e),t=S(t,!0),y)try{return Oe(e,t)}catch(e){}if(N(e,t))return A(!De.f.call(e,t),e[t])}},He=i((function(e){var t=Me.get,i=Me.enforce,n=String(String).split("String");(e.exports=function(e,t,a,r){var o=!!r&&!!r.unsafe,l=!!r&&!!r.enumerable,d=!!r&&!!r.noTargetGet;"function"==typeof a&&("string"!=typeof t||N(a,"name")||k(a,"name",t),i(a).source=n.join("string"==typeof t?t:"")),e!==s?(o?!d&&e[t]&&(l=!0):delete e[t],l?e[t]=a:k(e,t,a)):l?e[t]=a:L(t,a)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||ye(this)}))})),Be=Q.concat("length","prototype"),Ue={f:Object.getOwnPropertyNames||function(e){return J(e,Be)}},je={f:Object.getOwnPropertySymbols},Fe=ne("Reflect","ownKeys")||function(e){var t=Ue.f(w(e)),i=je.f;return i?t.concat(i(e)):t},qe=functio
n(e,t){for(var i=Fe(t),n=R.f,a=ze.f,s=0;s<i.length;s++){var r=i[s];N(e,r)||n(e,r,a(t,r))}},We=/#|\.prototype\./,_e=function(e,t){var i=Ke[Ve(e)];return i==$e||i!=Xe&&("function"==typeof t?o(t):!!t)},Ve=_e.normalize=function(e){return String(e).replace(We,".").toLowerCase()},Ke=_e.data={},Xe=_e.NATIVE="N",$e=_e.POLYFILL="P",Ye=_e,Ge=ze.f,Je=function(e,t){var i,n,a,r,o,l=e.target,d=e.global,c=e.stat;if(i=d?s:c?s[l]||L(l,{}):(s[l]||{}).prototype)for(n in t){if(r=t[n],a=e.noTargetGet?(o=Ge(i,n))&&o.value:i[n],!Ye(d?n:l+(c?".":"#")+n,e.forced)&&void 0!==a){if(typeof r==typeof a)continue;qe(r,a)}(e.sham||a&&a.sham)&&k(r,"sham",!0),He(i,n,r,e)}},Qe=function(e){return Object(h(e))},Ze=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),et=re("IE_PROTO"),tt=Object.prototype,it=Ze?Object.getPrototypeOf:function(e){return e=Qe(e),N(e,et)?e[et]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instan
ceof Object?tt:null},nt=U("iterator"),at=!1;[].keys&&("next"in(Ne=[].keys())?(Pe=it(it(Ne)))!==Object.prototype&&(Ce=Pe):at=!0),null==Ce&&(Ce={}),N(Ce,nt)||k(Ce,nt,(function(){return this}));var st={IteratorPrototype:Ce,BUGGY_SAFARI_ITERATORS:at},rt=R.f,ot=U("toStringTag"),lt=function(e,t,i){e&&!N(e=i?e:e.prototype,ot)&&rt(e,ot,{configurable:!0,value:t})},dt=st.IteratorPrototype,ct=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,i={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(i,[]),t=i instanceof Array}catch(e){}return function(i,n){return w(i),function(e){if(!p(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype")}(n),t?e.call(i,n):i.__proto__=n,i}}():void 0),ut=st.IteratorPrototype,ht=st.BUGGY_SAFARI_ITERATORS,gt=U("iterator"),vt=function(){return this},pt=Me.set,ft=Me.getterFor("Array Iterator"),mt=function(e,t,i,n,a,s,r){!function(e,t,i){var n=t+" Iterator";e.prototype=ue(dt,{next:A(1,i)}),lt(e,n,!1)}(i,t,n);var
o,l,d,c=function(e){if(e===a&&p)return p;if(!ht&&e in g)return g[e];switch(e){case"keys":case"values":case"entries":return function(){return new i(this,e)}}return function(){return new i(this)}},u=t+" Iterator",h=!1,g=e.prototype,v=g[gt]||g["@@iterator"]||a&&g[a],p=!ht&&v||c(a),f="Array"==t&&g.entries||v;if(f&&(o=it(f.call(new e)),ut!==Object.prototype&&o.next&&(it(o)!==ut&&(ct?ct(o,ut):"function"!=typeof o[gt]&&k(o,gt,vt)),lt(o,u,!0))),"values"==a&&v&&"values"!==v.name&&(h=!0,p=function(){return v.call(this)}),g[gt]!==p&&k(g,gt,p),a)if(l={values:c("values"),keys:s?p:c("keys"),entries:c("entries")},r)for(d in l)(ht||h||!(d in g))&&He(g,d,l[d]);else Je({target:t,proto:!0,forced:ht||h},l);return l}(Array,"Array",(function(e,t){pt(this,{type:"Array Iterator",target:g(e),index:0,kind:t})}),(function(){var e=ft(this),t=e.target,i=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==i?{value:n,done:!1}:"values"==i?{value:t[n],done:!1}:{value:[n,t[n]],d
one:!1}}),"values");ve("keys"),ve("values"),ve("entries");var bt=U("iterator"),yt=U("toStringTag"),wt=mt.values;for(var St in r){var Et=s[St],Rt=Et&&Et.prototype;if(Rt){if(Rt[bt]!==wt)try{k(Rt,bt,wt)}catch(e){Rt[bt]=wt}if(Rt[yt]||k(Rt,yt,St),r[St])for(var At in mt)if(Rt[At]!==mt[At])try{k(Rt,At,mt[At])}catch(e){Rt[At]=mt[At]}}}const kt=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,Lt=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;var xt=function(){var e=w(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t};function Ct(e,t){return RegExp(e,t)}var Pt,Nt,Mt={UNSUPPORTED_Y:o((function(){var e=Ct("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),BROKEN_CARET:o((function(){var e=Ct("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},It=RegExp.prototype.exec,Tt=String.prototype.replace,Dt=It,Ot=(Pt=/a/,Nt=/b*/g
,It.call(Pt,"a"),It.call(Nt,"a"),0!==Pt.lastIndex||0!==Nt.lastIndex),zt=Mt.UNSUPPORTED_Y||Mt.BROKEN_CARET,Ht=void 0!==/()??/.exec("")[1];(Ot||Ht||zt)&&(Dt=function(e){var t,i,n,a,s=this,r=zt&&s.sticky,o=xt.call(s),l=s.source,d=0,c=e;return r&&(-1===(o=o.replace("y","")).indexOf("g")&&(o+="g"),c=String(e).slice(s.lastIndex),s.lastIndex>0&&(!s.multiline||s.multiline&&"\n"!==e[s.lastIndex-1])&&(l="(?: "+l+")",c=" "+c,d++),i=new RegExp("^(?:"+l+")",o)),Ht&&(i=new RegExp("^"+l+"$(?!\\s)",o)),Ot&&(t=s.lastIndex),n=It.call(r?i:s,c),r?n?(n.input=n.input.slice(d),n[0]=n[0].slice(d),n.index=s.lastIndex,s.lastIndex+=n[0].length):s.lastIndex=0:Ot&&n&&(s.lastIndex=s.global?n.index+n[0].length:t),Ht&&n&&n.length>1&&Tt.call(n[0],i,(function(){for(a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(n[a]=void 0)})),n});var Bt=Dt;Je({target:"RegExp",proto:!0,forced:/./.exec!==Bt},{exec:Bt});var Ut=U("species"),jt=!o((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"
7"!=="".replace(e,"$<a>")})),Ft="$0"==="a".replace(/./,"$0"),qt=U("replace"),Wt=!!/./[qt]&&""===/./[qt]("a","$0"),_t=!o((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var i="ab".split(e);return 2!==i.length||"a"!==i[0]||"b"!==i[1]})),Vt=function(e){return function(t,i){var n,a,s=String(h(t)),r=q(i),o=s.length;return r<0||r>=o?e?"":void 0:(n=s.charCodeAt(r))<55296||n>56319||r+1===o||(a=s.charCodeAt(r+1))<56320||a>57343?e?s.charAt(r):n:e?s.slice(r,r+2):a-56320+(n-55296<<10)+65536}},Kt={codeAt:Vt(!1),charAt:Vt(!0)}.charAt,Xt=function(e,t,i){return t+(i?Kt(e,t).length:1)},$t=function(e,t){var i=e.exec;if("function"==typeof i){var n=i.call(e,t);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==d(e))throw TypeError("RegExp#exec called on incompatible receiver");return Bt.call(e,t)},Yt=Math.max,Gt=Math.min,Jt=Math.floor,Qt=/\$([$&'`]|\d\d?|<[^>]*>)/g,Zt=/\$([$&'`]|\d\d?)/g;
!function(e,t,i,n){var a=U(e),s=!o((function(){var t={};return t[a]=function(){return 7},7!=""[e](t)})),r=s&&!o((function(){var t=!1,i=/a/;return"split"===e&&((i={}).constructor={},i.constructor[Ut]=function(){return i},i.flags="",i[a]=/./[a]),i.exec=function(){return t=!0,null},i[a](""),!t}));if(!s||!r||"replace"===e&&(!jt||!Ft||Wt)||"split"===e&&!_t){var l=/./[a],d=i(a,""[e],(function(e,t,i,n,a){return t.exec===Bt?s&&!a?{done:!0,value:l.call(t,i,n)}:{done:!0,value:e.call(i,t,n)}:{done:!1}}),{REPLACE_KEEPS_$0:Ft,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Wt}),c=d[0],u=d[1];He(String.prototype,e,c),He(RegExp.prototype,a,2==t?function(e,t){return u.call(e,this,t)}:function(e){return u.call(e,this)})}n&&k(RegExp.prototype[a],"sham",!0)}("replace",2,(function(e,t,i,n){var a=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,s=n.REPLACE_KEEPS_$0,r=a?"$":"$0";return[function(i,n){var a=h(this),s=null==i?void 0:i[e];return void 0!==s?s.call(i,a,n):t.call(String(a),i,n)},function(e,n){if(!a&
&s||"string"==typeof n&&-1===n.indexOf(r)){var l=i(t,e,this,n);if(l.done)return l.value}var d=w(e),c=String(this),u="function"==typeof n;u||(n=String(n));var h=d.global;if(h){var g=d.unicode;d.lastIndex=0}for(var v=[];;){var p=$t(d,c);if(null===p)break;if(v.push(p),!h)break;""===String(p[0])&&(d.lastIndex=Xt(c,_(d.lastIndex),g))}for(var f,m="",b=0,y=0;y<v.length;y++){p=v[y];for(var S=String(p[0]),E=Yt(Gt(q(p.index),c.length),0),R=[],A=1;A<p.length;A++)R.push(void 0===(f=p[A])?f:String(f));var k=p.groups;if(u){var L=[S].concat(R,E,c);void 0!==k&&L.push(k);var x=String(n.apply(void 0,L))}else x=o(S,c,E,R,k,n);E>=b&&(m+=c.slice(b,E)+x,b=E+S.length)}return m+c.slice(b)}];function o(e,i,n,a,s,r){var o=n+e.length,l=a.length,d=Zt;return void 0!==s&&(s=Qe(s),d=Qt),t.call(r,d,(function(t,r){var d;switch(r.charAt(0)){case"$":return"$";case"&":return e;case"`":return i.slice(0,n);case"'":return i.slice(o);case"<":d=s[r.slice(1,-1)];break;default:var c=+r;if(0===c)return t;if(c>l){var u=Jt(c/10
);return 0===u?t:u<=l?void 0===a[u-1]?r.charAt(1):a[u-1]+r.charAt(1):t}d=a[c-1]}return void 0===d?"":d}))}}));const ei=(e,t)=>{for(let i in t)e[i]=t[i];return e},ti=(e,t)=>Array.from(e.querySelectorAll(t)),ii=(e,t,i)=>{i?e.classList.add(t):e.classList.remove(t)},ni=e=>{if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},ai=(e,t)=>{e.style.transform=t},si=(e,t)=>{let i=e.matches||e.matchesSelector||e.msMatchesSelector;return!(!i||!i.call(e,t))},ri=(e,t)=>{if("function"==typeof e.closest)return e.closest(t);for(;e;){if(si(e,t))return e;e=e.parentNode}return null},oi=(e,t,i,n="")=>{let a=e.querySelectorAll("."+i);for(let t=0;t<a.length;t++){let i=a[t];if(i.parentNode===e)return i}let s=document.createElement(t);return s.className=i,s.innerHTML=n,e.appendChild(s),s},li=e=>{let t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t
.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},di=()=>{let e={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,t=>{e[t.split("=").shift()]=t.split("=").pop()});for(let t in e){let i=e[t];e[t]=ni(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},ci=(e,t=0)=>{if(e){let i,n=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=n+"px",e.parentNode.style.removeProperty("height"),i}return t},ui=navigator.userAgent,hi=document.createElement("div"),gi=/(iphone|ipod|ipad|android)/gi.test(ui)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,vi=/chrome/i.test(ui)&&!/edge/i.test(ui),pi=/android/gi.test(ui),fi="zoom"in hi.style&&!gi&&(vi||/Version\/[\d\.]+.*Safari/.test(ui));var mi=t(i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.h
asOwnProperty.call(i,n)&&(e[n]=i[n])}return e};t.default=function(e){if(e){var t=function(e){return[].slice.call(e)},n=0,a=1,s=2,r=3,o=[],l=null,d="requestAnimationFrame"in e?function(){e.cancelAnimationFrame(l),l=e.requestAnimationFrame((function(){return u(o.filter((function(e){return e.dirty&&e.active})))}))}:function(){},c=function(e){return function(){o.forEach((function(t){return t.dirty=e})),d()}},u=function(e){e.filter((function(e){return!e.styleComputed})).forEach((function(e){e.styleComputed=p(e)})),e.filter(f).forEach(m);var t=e.filter(v);t.forEach(g),t.forEach((function(e){m(e),h(e)})),t.forEach(b)},h=function(e){return e.dirty=n},g=function(e){e.availableWidth=e.element.parentNode.clientWidth,e.currentWidth=e.element.scrollWidth,e.previousFontSize=e.currentFontSize,e.currentFontSize=Math.min(Math.max(e.minSize,e.availableWidth/e.currentWidth*e.previousFontSize),e.maxSize),e.whiteSpace=e.multiLine&&e.currentFontSize===e.minSize?"normal":"nowrap"},v=function(e){return e.d
irty!==s||e.dirty===s&&e.element.parentNode.clientWidth!==e.availableWidth},p=function(t){var i=e.getComputedStyle(t.element,null);t.currentFontSize=parseInt(i.getPropertyValue("font-size"),10),t.display=i.getPropertyValue("display"),t.whiteSpace=i.getPropertyValue("white-space")},f=function(e){var t=!1;return!e.preStyleTestCompleted&&(/inline-/.test(e.display)||(t=!0,e.display="inline-block"),"nowrap"!==e.whiteSpace&&(t=!0,e.whiteSpace="nowrap"),e.preStyleTestCompleted=!0,t)},m=function(e){e.originalStyle||(e.originalStyle=e.element.getAttribute("style")||""),e.element.style.cssText=e.originalStyle+";white-space:"+e.whiteSpace+";display:"+e.display+";font-size:"+e.currentFontSize+"px"},b=function(e){e.element.dispatchEvent(new CustomEvent("fit",{detail:{oldValue:e.previousFontSize,newValue:e.currentFontSize,scaleFactor:e.currentFontSize/e.previousFontSize}}))},y=function(e,t){return function(){e.dirty=t,e.active&&d()}},w=function(e){return function(){o=o.filter((function(t){return
t.element!==e.element})),e.observeMutations&&e.observer.disconnect(),e.element.style.cssText=e.originalStyle}},S=function(e){return function(){e.active||(e.active=!0,d())}},E=function(e){return function(){return e.active=!1}},R=function(e){e.observeMutations&&(e.observer=new MutationObserver(y(e,a)),e.observer.observe(e.element,e.observeMutations))},A={minSize:16,maxSize:512,multiLine:!0,observeMutations:"MutationObserver"in e&&{subtree:!0,childList:!0,characterData:!0}},k=null,L=function(){e.clearTimeout(k),k=e.setTimeout(c(s),P.observeWindowDelay)},x=["resize","orientationchange"];return Object.defineProperty(P,"observeWindow",{set:function(t){var i=(t?"add":"remove")+"EventListener";x.forEach((function(t){e[i](t,L)}))}}),P.observeWindow=!0,P.observeWindowDelay=100,P.fitAll=c(r),P}function C(e,t){var n=i({},A,t),a=e.map((function(e){var t=i({},n,{element:e,active:!0});return function(e){R(e),e.newbie=!0,e.dirty=!0,o.push(e)}(t),{element:e,fit:y(t,r),unfreeze:S(t),freeze:E(t),unsub
scribe:w(t)}}));return d(),a}function P(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e?C(t(document.querySelectorAll(e)),i):C([e],i)[0]}}("undefined"==typeof window?null:window)})));class bi{constructor(e){this.Reveal=e,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}shouldPreload(e){let t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}load(e,t={}){e.style.display=this.Reveal.getConfig().display,ti(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach(e=>{("IFRAME"!==e.tagName||this.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))}),ti(e,"video, audio").forEach(e=>{let t=0;ti(e,"source[data-src]").forEach(e=>{e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("data-src"),e.setAttribute("data-lazy-loaded",""),t+=1}),gi&&"VIDEO"===e.tagName&&e.s
etAttribute("playsinline",""),t>0&&e.load()});let i=e.slideBackgroundElement;if(i){i.style.display="block";let n=e.slideBackgroundContentElement,a=e.getAttribute("data-background-iframe");if(!1===i.hasAttribute("data-loaded")){i.setAttribute("data-loaded","true");let s=e.getAttribute("data-background-image"),r=e.getAttribute("data-background-video"),o=e.hasAttribute("data-background-video-loop"),l=e.hasAttribute("data-background-video-muted");if(s)n.style.backgroundImage="url("+encodeURI(s)+")";else if(r&&!this.Reveal.isSpeakerNotes()){let e=document.createElement("video");o&&e.setAttribute("loop",""),l&&(e.muted=!0),gi&&(e.muted=!0,e.setAttribute("playsinline","")),r.split(",").forEach(t=>{e.innerHTML+='<source src="'+t+'">'}),n.appendChild(e)}else if(a&&!0!==t.excludeIframes){let e=document.createElement("iframe");e.setAttribute("allowfullscreen",""),e.setAttribute("mozallowfullscreen",""),e.setAttribute("webkitallowfullscreen",""),e.setAttribute("allow","autoplay"),e.setAttribute
("data-src",a),e.style.width="100%",e.style.height="100%",e.style.maxHeight="100%",e.style.maxWidth="100%",n.appendChild(e)}}let s=n.querySelector("iframe[data-src]");s&&this.shouldPreload(i)&&!/autoplay=(1|true|yes)/gi.test(a)&&s.getAttribute("src")!==a&&s.setAttribute("src",a)}Array.from(e.querySelectorAll(".r-fit-text:not([data-fitted])")).forEach(e=>{e.dataset.fitted="",mi(e,{minSize:24,maxSize:.8*this.Reveal.getConfig().height,observeMutations:!1,observeWindow:!1})})}unload(e){e.style.display="none";let t=this.Reveal.getSlideBackground(e);t&&(t.style.display="none",ti(t,"iframe[src]").forEach(e=>{e.removeAttribute("src")})),ti(e,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach(e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")}),ti(e,"video[data-lazy-loaded] source[src], audio source[src]").forEach(e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")})}formatEmbeddedContent()
{let e=(e,t,i)=>{ti(this.Reveal.getSlidesElement(),"iframe["+e+'*="'+t+'"]').forEach(t=>{let n=t.getAttribute(e);n&&-1===n.indexOf(i)&&t.setAttribute(e,n+(/\?/.test(n)?"&":"?")+i)})};e("src","youtube.com/embed/","enablejsapi=1"),e("data-src","youtube.com/embed/","enablejsapi=1"),e("src","player.vimeo.com/","api=1"),e("data-src","player.vimeo.com/","api=1")}startEmbeddedContent(e){e&&!this.Reveal.isSpeakerNotes()&&(ti(e,'img[src$=".gif"]').forEach(e=>{e.setAttribute("src",e.getAttribute("src"))}),ti(e,"video, audio").forEach(e=>{if(ri(e,".fragment")&&!ri(e,".fragment.visible"))return;let t=this.Reveal.getConfig().autoPlayMedia;if("boolean"!=typeof t&&(t=e.hasAttribute("data-autoplay")||!!ri(e,".slide-background")),t&&"function"==typeof e.play)if(e.readyState>1)this.startEmbeddedMedia({target:e});else if(gi){let t=e.play();t&&"function"==typeof t.catch&&!1===e.controls&&t.catch(()=>{e.controls=!0,e.addEventListener("play",()=>{e.controls=!1})})}else e.removeEventListener("loadeddata",
this.startEmbeddedMedia),e.addEventListener("loadeddata",this.startEmbeddedMedia)}),ti(e,"iframe[src]").forEach(e=>{ri(e,".fragment")&&!ri(e,".fragment.visible")||this.startEmbeddedIframe({target:e})}),ti(e,"iframe[data-src]").forEach(e=>{ri(e,".fragment")&&!ri(e,".fragment.visible")||e.getAttribute("src")!==e.getAttribute("data-src")&&(e.removeEventListener("load",this.startEmbeddedIframe),e.addEventListener("load",this.startEmbeddedIframe),e.setAttribute("src",e.getAttribute("data-src")))}))}startEmbeddedMedia(e){let t=!!ri(e.target,"html"),i=!!ri(e.target,".present");t&&i&&(e.target.currentTime=0,e.target.play()),e.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}startEmbeddedIframe(e){let t=e.target;if(t&&t.contentWindow){let i=!!ri(e.target,"html"),n=!!ri(e.target,".present");if(i&&n){let e=this.Reveal.getConfig().autoPlayMedia;"boolean"!=typeof e&&(e=t.hasAttribute("data-autoplay")||!!ri(t,".slide-background")),/youtube\.com\/embed\//.test(t.getAttribute("src")
)&&e?t.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(t.getAttribute("src"))&&e?t.contentWindow.postMessage('{"method":"play"}',"*"):t.contentWindow.postMessage("slide:start","*")}}}stopEmbeddedContent(e,t={}){t=ei({unloadIframes:!0},t),e&&e.parentNode&&(ti(e,"video, audio").forEach(e=>{e.hasAttribute("data-ignore")||"function"!=typeof e.pause||(e.setAttribute("data-paused-by-reveal",""),e.pause())}),ti(e,"iframe").forEach(e=>{e.contentWindow&&e.contentWindow.postMessage("slide:stop","*"),e.removeEventListener("load",this.startEmbeddedIframe)}),ti(e,'iframe[src*="youtube.com/embed/"]').forEach(e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),ti(e,'iframe[src*="player.vimeo.com/"]').forEach(e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMess
age&&e.contentWindow.postMessage('{"method":"pause"}',"*")}),!0===t.unloadIframes&&ti(e,"iframe[data-src]").forEach(e=>{e.setAttribute("src","about:blank"),e.removeAttribute("src")}))}}class yi{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){let i="none";e.slideNumber&&!this.Reveal.isPrintingPDF()&&("all"===e.showSlideNumber||"speaker"===e.showSlideNumber&&this.Reveal.isSpeakerNotes())&&(i="block"),this.element.style.display=i}update(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}getSlideNumber(e=this.Reveal.getCurrentSlide()){let t,i=this.Reveal.getConfig(),n="h.v";if("function"==typeof i.slideNumber)t=i.slideNumber(e);else{"string"==typeof i.slideNumber&&(n=i.slideNumber),/c/.test(n)||1!==this.Reveal.getHorizontalSlides().length||(n="c");let a=e&&"uncounted"===e.dataset.visibility?0:1;swi
tch(t=[],n){case"c":t.push(this.Reveal.getSlidePastCount(e)+a);break;case"c/t":t.push(this.Reveal.getSlidePastCount(e)+a,"/",this.Reveal.getTotalSlides());break;default:let i=this.Reveal.getIndices(e);t.push(i.h+a);let s="h/v"===n?"/":".";this.Reveal.isVerticalSlide(e)&&t.push(s,i.v+1)}}let a="#"+this.Reveal.location.getHash(e);return this.formatNumber(t[0],t[1],t[2],a)}formatNumber(e,t,i,n="#"+this.Reveal.location.getHash()){return"number"!=typeof i||isNaN(i)?'<a href="'.concat(n,'">\n\t\t\t\t\t<span class="slide-number-a">').concat(e,"</span>\n\t\t\t\t\t</a>"):'<a href="'.concat(n,'">\n\t\t\t\t\t<span class="slide-number-a">').concat(e,'</span>\n\t\t\t\t\t<span class="slide-number-delimiter">').concat(t,'</span>\n\t\t\t\t\t<span class="slide-number-b">').concat(i,"</span>\n\t\t\t\t\t</a>")}}const wi=e=>{let t=e.match(/^#([0-9a-f]{3})$/i);if(t&&t[1])return t=t[1],{r:17*parseInt(t.charAt(0),16),g:17*parseInt(t.charAt(1),16),b:17*parseInt(t.charAt(2),16)};let i=e.match(/^#([0-9a-f]{6
})$/i);if(i&&i[1])return i=i[1],{r:parseInt(i.substr(0,2),16),g:parseInt(i.substr(2,2),16),b:parseInt(i.substr(4,2),16)};let n=e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(n)return{r:parseInt(n[1],10),g:parseInt(n[2],10),b:parseInt(n[3],10)};let a=e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return a?{r:parseInt(a[1],10),g:parseInt(a[2],10),b:parseInt(a[3],10),a:parseFloat(a[4])}:null};class Si{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}create(){this.Reveal.isPrintingPDF();this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach(e=>{let t=this.createBackground(e,this.element);ti(e,"section").forEach(e=>{this.createBackground(e,t),t.classList.add("stack")})}),this.Reveal.getConfig().parallaxBackgroundImage?(this.element.style.backgroundImag
e='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(e,t){let i=document.createElement("div");i.className="slide-background "+e.className.replace(/present|past|future/,"");let n=document.createElement("div");return n.className="slide-background-content",i.appendChild(n),t.appendChild(i),e.slideBackgroundElement=i,e.slideBackgroundContentElement=n,this.sync(e),i}sync(e){let t=e.slideBackgroundElement,i=e.slideBackgroundContentElement;e.classList.remove("has-dark-background"),e.classList.remove("has-ligh
t-background"),t.removeAttribute("data-loaded"),t.removeAttribute("data-background-hash"),t.removeAttribute("data-background-size"),t.removeAttribute("data-background-transition"),t.style.backgroundColor="",i.style.backgroundSize="",i.style.backgroundRepeat="",i.style.backgroundPosition="",i.style.backgroundImage="",i.style.opacity="",i.innerHTML="";let n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundVideo:e.getAttribute("data-background-video"),backgroundIframe:e.getAttribute("data-background-iframe"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition"),backgroundOpacity:e.getAttribute("data-background-opacity")};n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(svg|p
ng|jpg|jpeg|gif|bmp)([?#\s]|$)/gi.test(n.background)?e.setAttribute("data-background-image",n.background):t.style.background=n.background),(n.background||n.backgroundColor||n.backgroundImage||n.backgroundVideo||n.backgroundIframe)&&t.setAttribute("data-background-hash",n.background+n.backgroundSize+n.backgroundImage+n.backgroundVideo+n.backgroundIframe+n.backgroundColor+n.backgroundRepeat+n.backgroundPosition+n.backgroundTransition+n.backgroundOpacity),n.backgroundSize&&t.setAttribute("data-background-size",n.backgroundSize),n.backgroundColor&&(t.style.backgroundColor=n.backgroundColor),n.backgroundTransition&&t.setAttribute("data-background-transition",n.backgroundTransition),e.hasAttribute("data-preload")&&t.setAttribute("data-preload",""),n.backgroundSize&&(i.style.backgroundSize=n.backgroundSize),n.backgroundRepeat&&(i.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(i.style.backgroundPosition=n.backgroundPosition),n.backgroundOpacity&&(i.style.opacity=n.backgro
undOpacity);let a=n.backgroundColor;if(!a){let e=window.getComputedStyle(t);e&&e.backgroundColor&&(a=e.backgroundColor)}if(a){let t=wi(a);t&&0!==t.a&&("string"==typeof(s=a)&&(s=wi(s)),(s?(299*s.r+587*s.g+114*s.b)/1e3:null)<128?e.classList.add("has-dark-background"):e.classList.add("has-light-background"))}var s}update(e=!1){let t=this.Reveal.getCurrentSlide(),i=this.Reveal.getIndices(),n=null,a=this.Reveal.getConfig().rtl?"future":"past",s=this.Reveal.getConfig().rtl?"past":"future";if(Array.from(this.element.childNodes).forEach((t,r)=>{t.classList.remove("past","present","future"),r<i.h?t.classList.add(a):r>i.h?t.classList.add(s):(t.classList.add("present"),n=t),(e||r===i.h)&&ti(t,".slide-background").forEach((e,t)=>{e.classList.remove("past","present","future"),t<i.v?e.classList.add("past"):t>i.v?e.classList.add("future"):(e.classList.add("present"),r===i.h&&(n=e))})}),this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!thi
s.Reveal.slideContent.shouldPreload(this.previousBackground)}),n){this.Reveal.slideContent.startEmbeddedContent(n);let e=n.querySelector(".slide-background-content");if(e){let t=e.style.backgroundImage||"";/\.gif/i.test(t)&&(e.style.backgroundImage="",window.getComputedStyle(e).opacity,e.style.backgroundImage=t)}let t=this.previousBackground?this.previousBackground.getAttribute("data-background-hash"):null,i=n.getAttribute("data-background-hash");i&&i===t&&n!==this.previousBackground&&this.element.classList.add("no-transition"),this.previousBackground=n}t&&["has-light-background","has-dark-background"].forEach(e=>{t.classList.contains(e)?this.Reveal.getRevealElement().classList.add(e):this.Reveal.getRevealElement().classList.remove(e)},this),setTimeout(()=>{this.element.classList.remove("no-transition")},1)}updateParallax(){let e=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){let t,i,n=this.Reveal.getHorizontalSlides(),a=this.Reveal.getVerticalSlides(),
s=this.element.style.backgroundSize.split(" ");1===s.length?t=i=parseInt(s[0],10):(t=parseInt(s[0],10),i=parseInt(s[1],10));let r,o,l=this.element.offsetWidth,d=n.length;r="number"==typeof this.Reveal.getConfig().parallaxBackgroundHorizontal?this.Reveal.getConfig().parallaxBackgroundHorizontal:d>1?(t-l)/(d-1):0,o=r*e.h*-1;let c,u,h=this.element.offsetHeight,g=a.length;c="number"==typeof this.Reveal.getConfig().parallaxBackgroundVertical?this.Reveal.getConfig().parallaxBackgroundVertical:(i-h)/(g-1),u=g>0?c*e.v:0,this.element.style.backgroundPosition=o+"px "+-u+"px"}}}let Ei=0;class Ri{constructor(e){this.Reveal=e}run(e,t){if(this.reset(),e.hasAttribute("data-auto-animate")&&t.hasAttribute("data-auto-animate")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||li();let i=this.getAutoAnimateOptions(t);e.dataset.autoAnimate="pending",t.dataset.autoAnimate="pending";let n=this.Reveal.getSlides();i.slideDirection=n.indexOf(t)>n.indexOf(e)?"forward":"backward";let a=this.getAutoAnima
tableElements(e,t).map(e=>this.autoAnimateElements(e.from,e.to,e.options||{},i,Ei++));if("false"!==t.dataset.autoAnimateUnmatched&&!0===this.Reveal.getConfig().autoAnimateUnmatched){let e=.8*i.duration,n=.2*i.duration;this.getUnmatchedAutoAnimateElements(t).forEach(e=>{let t=this.getAutoAnimateOptions(e,i),n="unmatched";t.duration===i.duration&&t.delay===i.delay||(n="unmatched-"+Ei++,a.push('[data-auto-animate="running"] [data-auto-animate-target="'.concat(n,'"] { transition: opacity ').concat(t.duration,"s ease ").concat(t.delay,"s; }"))),e.dataset.autoAnimateTarget=n},this),a.push('[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity '.concat(e,"s ease ").concat(n,"s; }"))}this.autoAnimateStyleSheet.innerHTML=a.join(""),requestAnimationFrame(()=>{this.autoAnimateStyleSheet&&(getComputedStyle(this.autoAnimateStyleSheet).fontWeight,t.dataset.autoAnimate="running")}),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:e,toSlide:t,sheet:
this.autoAnimateStyleSheet}})}}reset(){ti(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach(e=>{e.dataset.autoAnimate=""}),ti(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach(e=>{delete e.dataset.autoAnimateTarget}),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}autoAnimateElements(e,t,i,n,a){e.dataset.autoAnimateTarget="",t.dataset.autoAnimateTarget=a;let s=this.getAutoAnimateOptions(t,n);void 0!==i.delay&&(s.delay=i.delay),void 0!==i.duration&&(s.duration=i.duration),void 0!==i.easing&&(s.easing=i.easing);let r=this.getAutoAnimatableProperties("from",e,i),o=this.getAutoAnimatableProperties("to",t,i);if(t.classList.contains("fragment")&&(delete o.styles.opacity,e.classList.contains("fragment"))){(e.className.match(Lt)||[""])[0]===(t.className.match(Lt)||[""])[0]&&"forward"===n.slideDirection&&
t.classList.add("visible","disabled")}if(!1!==i.translate||!1!==i.scale){let e=this.Reveal.getScale(),t={x:(r.x-o.x)/e,y:(r.y-o.y)/e,scaleX:r.width/o.width,scaleY:r.height/o.height};t.x=Math.round(1e3*t.x)/1e3,t.y=Math.round(1e3*t.y)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3;let n=!1!==i.translate&&(0!==t.x||0!==t.y),a=!1!==i.scale&&(0!==t.scaleX||0!==t.scaleY);if(n||a){let e=[];n&&e.push("translate(".concat(t.x,"px, ").concat(t.y,"px)")),a&&e.push("scale(".concat(t.scaleX,", ").concat(t.scaleY,")")),r.styles.transform=e.join(" "),r.styles["transform-origin"]="top left",o.styles.transform="none"}}for(let e in o.styles){const t=o.styles[e],i=r.styles[e];t===i?delete o.styles[e]:(!0===t.explicitValue&&(o.styles[e]=t.value),!0===i.explicitValue&&(r.styles[e]=i.value))}let l="",d=Object.keys(o.styles);if(d.length>0){r.styles.transition="none",o.styles.transition="all ".concat(s.duration,"s ").concat(s.easing," ").concat(s.delay,"s"),o.styles["transi
tion-property"]=d.join(", "),o.styles["will-change"]=d.join(", "),l='[data-auto-animate-target="'+a+'"] {'+Object.keys(r.styles).map(e=>e+": "+r.styles[e]+" !important;").join("")+'}[data-auto-animate="running"] [data-auto-animate-target="'+a+'"] {'+Object.keys(o.styles).map(e=>e+": "+o.styles[e]+" !important;").join("")+"}"}return l}getAutoAnimateOptions(e,t){let i={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(i=ei(i,t),e.parentNode){let t=ri(e.parentNode,"[data-auto-animate-target]");t&&(i=this.getAutoAnimateOptions(t,i))}return e.dataset.autoAnimateEasing&&(i.easing=e.dataset.autoAnimateEasing),e.dataset.autoAnimateDuration&&(i.duration=parseFloat(e.dataset.autoAnimateDuration)),e.dataset.autoAnimateDelay&&(i.delay=parseFloat(e.dataset.autoAnimateDelay)),i}getAutoAnimatableProperties(e,t,i){let n=this.Reveal.getConfig(),a={styles:[]};if(!1!==i.translate||!1!==i.scale){let e;if("function"==typeof i.measure)e=i.me
asure(t);else if(n.center)e=t.getBoundingClientRect();else{let i=this.Reveal.getScale();e={x:t.offsetLeft*i,y:t.offsetTop*i,width:t.offsetWidth*i,height:t.offsetHeight*i}}a.x=e.x,a.y=e.y,a.width=e.width,a.height=e.height}const s=getComputedStyle(t);return(i.styles||n.autoAnimateStyles).forEach(t=>{let i;"string"==typeof t&&(t={property:t}),i=void 0!==t.from&&"from"===e?{value:t.from,explicitValue:!0}:void 0!==t.to&&"to"===e?{value:t.to,explicitValue:!0}:s[t.property],""!==i&&(a.styles[t.property]=i)}),a}getAutoAnimatableElements(e,t){let i=("function"==typeof this.Reveal.getConfig().autoAnimateMatcher?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,e,t),n=[];return i.filter((e,t)=>{if(-1===n.indexOf(e.to))return n.push(e.to),!0})}getAutoAnimatePairs(e,t){let i=[];const n="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(i,e,t,"[data-id]",e=>e.nodeName+":::"+e.getAttribute("data-id")),this.findAutoAnimateMatches(i,e,t,n,e=>e.nodeName+":
::"+e.innerText),this.findAutoAnimateMatches(i,e,t,"img, video, iframe",e=>e.nodeName+":::"+(e.getAttribute("src")||e.getAttribute("data-src"))),this.findAutoAnimateMatches(i,e,t,"pre",e=>e.nodeName+":::"+e.innerText),i.forEach(e=>{si(e.from,n)?e.options={scale:!1}:si(e.from,"pre")&&(e.options={scale:!1,styles:["width","height"]},this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-code",e=>e.textContent,{scale:!1,styles:[],measure:this.getLocalBoundingBox.bind(this)}),this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-line[data-line-number]",e=>e.getAttribute("data-line-number"),{scale:!1,styles:["width"],measure:this.getLocalBoundingBox.bind(this)}))},this),i}getLocalBoundingBox(e){const t=this.Reveal.getScale();return{x:Math.round(e.offsetLeft*t*100)/100,y:Math.round(e.offsetTop*t*100)/100,width:Math.round(e.offsetWidth*t*100)/100,height:Math.round(e.offsetHeight*t*100)/100}}findAutoAnimateMatches(e,t,i,n,a,s){let r={},o={};[].slice.call(t.querySelectorAll(n)).forEach
((e,t)=>{const i=a(e);"string"==typeof i&&i.length&&(r[i]=r[i]||[],r[i].push(e))}),[].slice.call(i.querySelectorAll(n)).forEach((t,i)=>{const n=a(t);let l;if(o[n]=o[n]||[],o[n].push(t),r[n]){const e=o[n].length-1,t=r[n].length-1;r[n][e]?(l=r[n][e],r[n][e]=null):r[n][t]&&(l=r[n][t],r[n][t]=null)}l&&e.push({from:l,to:t,options:s})})}getUnmatchedAutoAnimateElements(e){return[].slice.call(e.children).reduce((e,t)=>{const i=t.querySelector("[data-auto-animate-target]");return t.hasAttribute("data-auto-animate-target")||i||e.push(t),t.querySelector("[data-auto-animate-target]")&&(e=e.concat(this.getUnmatchedAutoAnimateElements(t))),e},[])}}class Ai{constructor(e){this.Reveal=e}configure(e,t){!1===e.fragments?this.disable():!1===t.fragments&&this.enable()}disable(){ti(this.Reveal.getSlidesElement(),".fragment").forEach(e=>{e.classList.add("visible"),e.classList.remove("current-fragment")})}enable(){ti(this.Reveal.getSlidesElement(),".fragment").forEach(e=>{e.classList.remove("visible"),e.c
lassList.remove("current-fragment")})}availableRoutes(){let e=this.Reveal.getCurrentSlide();if(e&&this.Reveal.getConfig().fragments){let t=e.querySelectorAll(".fragment:not(.disabled)"),i=e.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:t.length-i.length>0,next:!!i.length}}return{prev:!1,next:!1}}sort(e,t=!1){e=Array.from(e);let i=[],n=[],a=[];e.forEach(e=>{if(e.hasAttribute("data-fragment-index")){let t=parseInt(e.getAttribute("data-fragment-index"),10);i[t]||(i[t]=[]),i[t].push(e)}else n.push([e])}),i=i.concat(n);let s=0;return i.forEach(e=>{e.forEach(e=>{a.push(e),e.setAttribute("data-fragment-index",s)}),s++}),!0===t?i:a}sortAll(){this.Reveal.getHorizontalSlides().forEach(e=>{let t=ti(e,"section");t.forEach((e,t)=>{this.sort(e.querySelectorAll(".fragment"))},this),0===t.length&&this.sort(e.querySelectorAll(".fragment"))})}update(e,t){let i={shown:[],hidden:[]},n=this.Reveal.getCurrentSlide();if(n&&this.Reveal.getConfig().fragments&&(t=t||this.sort(n.query
SelectorAll(".fragment"))).length){let a=0;if("number"!=typeof e){let t=this.sort(n.querySelectorAll(".fragment.visible")).pop();t&&(e=parseInt(t.getAttribute("data-fragment-index")||0,10))}Array.from(t).forEach((t,n)=>{if(t.hasAttribute("data-fragment-index")&&(n=parseInt(t.getAttribute("data-fragment-index"),10)),a=Math.max(a,n),n<=e){let a=t.classList.contains("visible");t.classList.add("visible"),t.classList.remove("current-fragment"),n===e&&(this.Reveal.announceStatus(this.Reveal.getStatusText(t)),t.classList.add("current-fragment"),this.Reveal.slideContent.startEmbeddedContent(t)),a||(i.shown.push(t),this.Reveal.dispatchEvent({target:t,type:"visible",bubbles:!1}))}else{let e=t.classList.contains("visible");t.classList.remove("visible"),t.classList.remove("current-fragment"),e&&(i.hidden.push(t),this.Reveal.dispatchEvent({target:t,type:"hidden",bubbles:!1}))}}),e="number"==typeof e?e:-1,e=Math.max(Math.min(e,a),-1),n.setAttribute("data-fragment",e)}return i}sync(e=this.Reveal.g
etCurrentSlide()){return this.sort(e.querySelectorAll(".fragment"))}goto(e,t=0){let i=this.Reveal.getCurrentSlide();if(i&&this.Reveal.getConfig().fragments){let n=this.sort(i.querySelectorAll(".fragment:not(.disabled)"));if(n.length){if("number"!=typeof e){let t=this.sort(i.querySelectorAll(".fragment:not(.disabled).visible")).pop();e=t?parseInt(t.getAttribute("data-fragment-index")||0,10):-1}e+=t;let a=this.update(e,n);return a.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:a.hidden[0],fragments:a.hidden}}),a.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:a.shown[0],fragments:a.shown}}),this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!(!a.shown.length&&!a.hidden.length)}}return!1}next(){return this.goto(null,1)}prev(){return this.goto(null,-1)}}class ki{constructor(e){this.Reveal=e,this.active=!1,this.onSlideClicked=this.onSlideClicked.bin
d(this)}activate(){if(this.Reveal.getConfig().overview&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),ti(this.Reveal.getRevealElement(),".slides section").forEach(e=>{e.classList.contains("stack")||e.addEventListener("click",this.onSlideClicked,!0)});const e=70,t=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=t.width+e,this.overviewSlideHeight=t.height+e,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();const i=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:i.h,indexv:i.v,currentSlide:this.Reveal.getCurrentSlide()}})}}layout(){this.Reveal.getHorizontalSlides().forEach((e,t)=>{e.setAttribute("data-index-h",t),ai(e,"translate3d("+t*this.overviewSlideWidth+"px, 0, 0)"),e
.classList.contains("stack")&&ti(e,"section").forEach((e,i)=>{e.setAttribute("data-index-h",t),e.setAttribute("data-index-v",i),ai(e,"translate3d(0, "+i*this.overviewSlideHeight+"px, 0)")})}),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((e,t)=>{ai(e,"translate3d("+t*this.overviewSlideWidth+"px, 0, 0)"),ti(e,".slide-background").forEach((e,t)=>{ai(e,"translate3d(0, "+t*this.overviewSlideHeight+"px, 0)")})})}update(){const e=Math.min(window.innerWidth,window.innerHeight),t=Math.max(e/5,150)/e,i=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+t+")","translateX("+-i.h*this.overviewSlideWidth+"px)","translateY("+-i.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()),ti(this.Reveal.getRevealElement(),".slides section").forEach(e=>{ai(e,""),e.removeEventListener("click",this.onSlideClicked,!0)}),ti(this.Reveal.getBackgroundsElement(),".slide-background").forEach(e=>{ai(e,"")}),this.Reveal.transformSlides({overview:""});const e=this.Reveal.getIndices();this.Reveal.slide(e.h,e.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:e.h,indexv:e.v,currentSlide:this.Reveal.getCurrentSlide()}})}}toggle(e){"boolean"==typeof e?e?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}onSlideClicked(e){if(this.isActive()){e.preventDefault();let t=e.target;for(;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(this.deactivate(),t.nodeName.match(/section/gi))){let e=parseInt(t.getAttribute("data-index-h"),10),i=parseInt(t
.getAttribute("data-index-v"),10);this.Reveal.slide(e,i)}}}}class Li{constructor(e){this.Reveal=e,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this),this.onDocumentKeyPress=this.onDocumentKeyPress.bind(this)}configure(e,t){"linear"===e.navigationMode?(this.shortcuts["→ , ↓ , SPACE , N , L , J"]="Next slide",this.shortcuts["← , ↑ , P , H , K"]="Previous slide"):(this.shortcuts["N , SPACE"]="Next slide",this.shortcuts.P="Previous slide",this.shortcuts["← , H"]="Navigate left",this.shortcuts["→ , L"]="Navigate right",this.shortcuts["↑ , K"]="Navigate up",this.shortcuts["↓ , J"]="Navigate down"),this.shortcuts["Home , Shift ←"]="First slide",this.shortcuts["End , Shift →"]="Last slide",this.shortcuts["B , ."]="Pause",this.shortcuts.F="Fullscreen",this.shortcuts["ESC, O"]="Slide overview"}bind(){document.addEventListener("keydown",this.onDocumentKeyDown,!
1),document.addEventListener("keypress",this.onDocumentKeyPress,!1)}unbind(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1),document.removeEventListener("keypress",this.onDocumentKeyPress,!1)}addKeyBinding(e,t){"object"==typeof e&&e.keyCode?this.bindings[e.keyCode]={callback:t,key:e.key,description:e.description}:this.bindings[e]={callback:t,key:null,description:null}}removeKeyBinding(e){delete this.bindings[e]}triggerKey(e){this.onDocumentKeyDown({keyCode:e})}registerKeyboardShortcut(e,t){this.shortcuts[e]=t}getShortcuts(){return this.shortcuts}getBindings(){return this.bindings}onDocumentKeyPress(e){e.shiftKey&&63===e.charCode&&this.Reveal.toggleHelp()}onDocumentKeyDown(e){let t=this.Reveal.getConfig();if("function"==typeof t.keyboardCondition&&!1===t.keyboardCondition(e))return!0;if("focused"===t.keyboardCondition&&!this.Reveal.isFocused())return!0;let i=e.keyCode,n=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(e);let a=document.activeElement&&!0===docum
ent.activeElement.isContentEditable,s=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),r=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),o=e.shiftKey&&32===e.keyCode,l=e.shiftKey&&37===i,d=e.shiftKey&&39===i,c=!o&&!l&&!d&&(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey);if(a||s||r||c)return;let u,h=[66,86,190,191];if("object"==typeof t.keyboard)for(u in t.keyboard)"togglePause"===t.keyboard[u]&&h.push(parseInt(u,10));if(this.Reveal.isPaused()&&-1===h.indexOf(i))return!1;let g="linear"===t.navigationMode||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVerticalSlides(),v=!1;if("object"==typeof t.keyboard)for(u in t.keyboard)if(parseInt(u,10)===i){let i=t.keyboard[u];"function"==typeof i?i.apply(null,[e]):"string"==typeof i&&"function"==typeof this.Reveal[i]&&this.Reveal[i].call(),v=!0}if(!1===v)for(u in this.bindings)if(parseInt(u,10)===i){let t=this.binding
s[u].callback;"function"==typeof t?t.apply(null,[e]):"string"==typeof t&&"function"==typeof this.Reveal[t]&&this.Reveal[t].call(),v=!0}!1===v&&(v=!0,80===i||33===i?this.Reveal.prev():78===i||34===i?this.Reveal.next():72===i||37===i?l?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&g?this.Reveal.prev():this.Reveal.left():76===i||39===i?d?this.Reveal.slide(Number.MAX_VALUE):!this.Reveal.overview.isActive()&&g?this.Reveal.next():this.Reveal.right():75===i||38===i?!this.Reveal.overview.isActive()&&g?this.Reveal.prev():this.Reveal.up():74===i||40===i?!this.Reveal.overview.isActive()&&g?this.Reveal.next():this.Reveal.down():36===i?this.Reveal.slide(0):35===i?this.Reveal.slide(Number.MAX_VALUE):32===i?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),e.shiftKey?this.Reveal.prev():this.Reveal.next()):58===i||59===i||66===i||86===i||190===i||191===i?this.Reveal.togglePause():70===i?(e=>{let t=(e=e||document.documentElement).requestFullscreen||e.webkitRequestFullscree
n||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen;t&&t.apply(e)})(t.embedded?this.Reveal.getViewportElement():document.documentElement):65===i?t.autoSlideStoppable&&this.Reveal.toggleAutoSlide(n):v=!1),v?e.preventDefault&&e.preventDefault():27!==i&&79!==i||(!1===this.Reveal.closeOverlay()&&this.Reveal.overview.toggle(),e.preventDefault&&e.preventDefault()),this.Reveal.cueAutoSlide()}}class xi{constructor(e){this.Reveal=e,this.writeURLTimeout=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}bind(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}unbind(){window.removeEventListener("hashchange",this.onWindowHashChange,!1)}readURL(){let e=this.Reveal.getConfig(),t=this.Reveal.getIndices(),i=this.Reveal.getCurrentSlide(),n=window.location.hash,a=n.slice(2).split("/"),s=n.replace(/#\/?/gi,"");if(!/^[0-9]*$/.test(a[0])&&s.length){let e,n;/\/[-\d]+$/g.test(s)&&(n=parseInt(s.split("/").pop(),10),n=isNaN(n)?void 0:n,s=s.split("/").shift()
);try{e=document.getElementById(decodeURIComponent(s))}catch(e){}let a=!!i&&i.getAttribute("id")===s;if(e){if(!a||void 0!==n){let t=this.Reveal.getIndices(e);this.Reveal.slide(t.h,t.v,n)}}else this.Reveal.slide(t.h||0,t.v||0)}else{let i,n=e.hashOneBasedIndex?1:0,s=parseInt(a[0],10)-n||0,r=parseInt(a[1],10)-n||0;e.fragmentInURL&&(i=parseInt(a[2],10),isNaN(i)&&(i=void 0)),s===t.h&&r===t.v&&void 0===i||this.Reveal.slide(s,r,i)}}writeURL(e){let t=this.Reveal.getConfig(),i=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),"number"==typeof e)this.writeURLTimeout=setTimeout(this.writeURL,e);else if(i){let e=this.getHash();t.history?window.location.hash=e:t.hash&&("/"===e?window.history.replaceState(null,null,window.location.pathname+window.location.search):window.history.replaceState(null,null,"#"+e))}}getHash(e){let t="/",i=e||this.Reveal.getCurrentSlide(),n=i?i.getAttribute("id"):null;n&&(n=encodeURIComponent(n));let a=this.Reveal.getIndices(e);if(this.Reveal.getConfig(
).fragmentInURL||(a.f=void 0),"string"==typeof n&&n.length)t="/"+n,a.f>=0&&(t+="/"+a.f);else{let e=this.Reveal.getConfig().hashOneBasedIndex?1:0;(a.h>0||a.v>0||a.f>=0)&&(t+=a.h+e),(a.v>0||a.f>=0)&&(t+="/"+(a.v+e)),a.f>=0&&(t+="/"+a.f)}return t}onWindowHashChange(e){this.readURL()}}class Ci{constructor(e){this.Reveal=e,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)}render(){const e=this.Reveal.getConfig().rtl,t=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML='<button class="navigate-left" aria-label="'.concat(e?"next slide":"previous slide",'"><div class="controls-a
rrow"></div></button>\n\t\t\t<button class="navigate-right" aria-label="').concat(e?"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=ti(t,".navigate-left"),this.controlsRight=ti(t,".navigate-right"),this.controlsUp=ti(t,".navigate-up"),this.controlsDown=ti(t,".navigate-down"),this.controlsPrev=ti(t,".navigate-prev"),this.controlsNext=ti(t,".navigate-next"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}configure(e,t){this.element.style.display=e.controls?"block":"none",this.element.setAttribute("data-controls-layout",
e.controlsLayout),this.element.setAttribute("data-controls-back-arrows",e.controlsBackArrows)}bind(){let e=["touchstart","click"];pi&&(e=["touchstart"]),e.forEach(e=>{this.controlsLeft.forEach(t=>t.addEventListener(e,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach(t=>t.addEventListener(e,this.onNavigateRightClicked,!1)),this.controlsUp.forEach(t=>t.addEventListener(e,this.onNavigateUpClicked,!1)),this.controlsDown.forEach(t=>t.addEventListener(e,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach(t=>t.addEventListener(e,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach(t=>t.addEventListener(e,this.onNavigateNextClicked,!1))})}unbind(){["touchstart","click"].forEach(e=>{this.controlsLeft.forEach(t=>t.removeEventListener(e,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach(t=>t.removeEventListener(e,this.onNavigateRightClicked,!1)),this.controlsUp.forEach(t=>t.removeEventListener(e,this.onNavigateUpClicked,!1)),this.controlsDown.forEach(t=>t.removeEven
tListener(e,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach(t=>t.removeEventListener(e,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach(t=>t.removeEventListener(e,this.onNavigateNextClicked,!1))})}update(){let e=this.Reveal.availableRoutes();[...this.controlsLeft,...this.controlsRight,...this.controlsUp,...this.controlsDown,...this.controlsPrev,...this.controlsNext].forEach(e=>{e.classList.remove("enabled","fragmented"),e.setAttribute("disabled","disabled")}),e.left&&this.controlsLeft.forEach(e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}),e.right&&this.controlsRight.forEach(e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}),e.up&&this.controlsUp.forEach(e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}),e.down&&this.controlsDown.forEach(e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}),(e.left||e.up)&&this.controlsPrev.forEach(e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}),(e.right||e.down)&&this
.controlsNext.forEach(e=>{e.classList.add("enabled"),e.removeAttribute("disabled")});let t=this.Reveal.getCurrentSlide();if(t){let e=this.Reveal.fragments.availableRoutes();e.prev&&this.controlsPrev.forEach(e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}),e.next&&this.controlsNext.forEach(e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}),this.Reveal.isVerticalSlide(t)?(e.prev&&this.controlsUp.forEach(e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}),e.next&&this.controlsDown.forEach(e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})):(e.prev&&this.controlsLeft.forEach(e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}),e.next&&this.controlsRight.forEach(e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}))}if(this.Reveal.getConfig().controlsTutorial){let t=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&e.down?this.con
trolsDownArrow.classList.add("highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&e.left&&0===t.v?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&e.right&&0===t.v?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}onNavigateLeftClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.prev():this.Reveal.left()}onNavigateRightClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.next():this.Reveal.right()}onNavigateUpClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}onNavigateDownClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.down()}onNavigatePrevClicked(e){e.preventDefault(),this.Reveal.
onUserInput(),this.Reveal.prev()}onNavigateNextClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}}class Pi{constructor(e){this.Reveal=e,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(e,t){this.element.style.display=e.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 e=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(e=0),this.bar.style.transform="scaleX("+e+")"}}getMaxWidth(){return this.Reveal.getRevealElement().offsetWidth}onProgressClicke
d(e){this.Reveal.onUserInput(e),e.preventDefault();let t=this.Reveal.getHorizontalSlides().length,i=Math.floor(e.clientX/this.getMaxWidth()*t);this.Reveal.getConfig().rtl&&(i=t-i),this.Reveal.slide(i)}}class Ni{constructor(e){this.Reveal=e,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}configure(e,t){e.mouseWheel?(document.addEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.addEventListener("mousewheel",this.onDocumentMouseScroll,!1)):(document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1)),e.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(){!1===this.cursorHidden&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}onDocumentCursorActive(e){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}onDocumentMouseScroll(e){if(Date.now()-this.lastMouseWheelStep>1e3){this.lastMouseWheelStep=Date.now();let t=e.detail||-e.wheelDelta;t>0?this.Reveal.next():t<0&&this.Reveal.prev()}}}const Mi=(e,t)=>{const i=document.createElement("script");i.type="text/javascript",i.async=!1,i.defer=!1,i.src=e,"function"==typeof t&&(i.onload=i.onreadystatechange=e=>{("load"===e.type||/loaded|complete/.test(i.readyState))&&(i.onload=i.onreadystatechange=i.onerror=null,t())},i.onerror=e=>{i.onload=i.on
readystatechange=i.onerror=null,t(new Error("Failed loading script: "+i.src+"\n"+e))});const n=document.querySelector("head");n.insertBefore(i,n.lastChild)};class Ii{constructor(e){this.Reveal=e,this.state="idle",this.registeredPlugins={},this.asyncDependencies=[]}load(e,t){return this.state="loading",e.forEach(this.registerPlugin.bind(this)),new Promise(e=>{let i=[],n=0;if(t.forEach(e=>{e.condition&&!e.condition()||(e.async?this.asyncDependencies.push(e):i.push(e))}),i.length){n=i.length;const t=t=>{t&&"function"==typeof t.callback&&t.callback(),0==--n&&this.initPlugins().then(e)};i.forEach(e=>{"string"==typeof e.id?(this.registerPlugin(e),t(e)):"string"==typeof e.src?Mi(e.src,()=>t(e)):(console.warn("Unrecognized plugin format",e),t())})}else this.initPlugins().then(e)})}initPlugins(){return new Promise(e=>{let t=Object.values(this.registeredPlugins),i=t.length;if(0===i)this.loadAsync().then(e);else{let n,a=()=>{0==--i?this.loadAsync().then(e):n()},s=0;n=()=>{let e=t[s++];if("func
tion"==typeof e.init){let t=e.init(this.Reveal);t&&"function"==typeof t.then?t.then(a):a()}else a()},n()}})}loadAsync(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach(e=>{Mi(e.src,e.callback)}),Promise.resolve()}registerPlugin(e){2===arguments.length&&"string"==typeof arguments[0]?(e=arguments[1]).id=arguments[0]:"function"==typeof e&&(e=e());let t=e.id;"string"!=typeof t?console.warn("Unrecognized plugin format; can't find plugin.id",e):void 0===this.registeredPlugins[t]?(this.registeredPlugins[t]=e,"loaded"===this.state&&"function"==typeof e.init&&e.init(this.Reveal)):console.warn('reveal.js: "'+t+'" plugin has already been registered')}hasPlugin(e){return!!this.registeredPlugins[e]}getPlugin(e){return this.registeredPlugins[e]}getRegisteredPlugins(){return this.registeredPlugins}}class Ti{constructor(e){this.Reveal=e}setupPDF(){let e=this.Reveal.getConfig(),t=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),i=Math.fl
oor(t.width*(1+e.margin)),n=Math.floor(t.height*(1+e.margin)),a=t.width,s=t.height;li("@page{size:"+i+"px "+n+"px; margin: 0px;}"),li(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+a+"px; max-height:"+s+"px}"),document.documentElement.classList.add("print-pdf"),document.body.style.width=i+"px",document.body.style.height=n+"px",this.Reveal.layoutSlideContents(a,s);let r=e.slideNumber&&/all|print/i.test(e.showSlideNumber);ti(this.Reveal.getRevealElement(),".slides section").forEach((function(e){e.setAttribute("data-slide-number",this.Reveal.slideNumber.getSlideNumber(e))}),this),ti(this.Reveal.getRevealElement(),".slides section").forEach((function(t){if(!1===t.classList.contains("stack")){let o=(i-a)/2,l=(n-s)/2,d=t.scrollHeight,c=Math.max(Math.ceil(d/n),1);c=Math.min(c,e.pdfMaxPagesPerSlide),(1===c&&e.center||t.classList.contains("center"))&&(l=Math.max((n-d)/2,0));let u=document.createElement("div");if(u.className="pdf-page",u.style.height=(n+e.pdf
PageHeightOffset)*c+"px",t.parentNode.insertBefore(u,t),u.appendChild(t),t.style.left=o+"px",t.style.top=l+"px",t.style.width=a+"px",t.slideBackgroundElement&&u.insertBefore(t.slideBackgroundElement,t),e.showNotes){let n=this.Reveal.getSlideNotes(t);if(n){let t=8,a="string"==typeof e.showNotes?e.showNotes:"inline",s=document.createElement("div");s.classList.add("speaker-notes"),s.classList.add("speaker-notes-pdf"),s.setAttribute("data-layout",a),s.innerHTML=n,"separate-page"===a?u.parentNode.insertBefore(s,u.nextSibling):(s.style.left=t+"px",s.style.bottom=t+"px",s.style.width=i-2*t+"px",u.appendChild(s))}}if(r){let e=document.createElement("div");e.classList.add("slide-number"),e.classList.add("slide-number-pdf"),e.innerHTML=t.getAttribute("data-slide-number"),u.appendChild(e)}if(e.pdfSeparateFragments){let e,t,i=this.Reveal.fragments.sort(u.querySelectorAll(".fragment"),!0);i.forEach((function(i){e&&e.forEach((function(e){e.classList.remove("current-fragment")})),i.forEach((functi
on(e){e.classList.add("visible","current-fragment")}),this);let n=u.cloneNode(!0);u.parentNode.insertBefore(n,(t||u).nextSibling),e=i,t=n}),this),i.forEach((function(e){e.forEach((function(e){e.classList.remove("visible","current-fragment")}))}))}else ti(u,".fragment:not(.fade-out)").forEach((function(e){e.classList.add("visible")}))}}),this),this.Reveal.dispatchEvent({type:"pdf-ready"})}isPrintingPDF(){return/print-pdf/gi.test(window.location.search)}}class Di{constructor(e){this.Reveal=e,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 e=this.Reveal.getRevealElement();"onpointerdown"in window?(e.addEventListener("pointerdown",this.onPointerDown,!1),e.addEventListe
ner("pointermove",this.onPointerMove,!1),e.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(e.addEventListener("MSPointerDown",this.onPointerDown,!1),e.addEventListener("MSPointerMove",this.onPointerMove,!1),e.addEventListener("MSPointerUp",this.onPointerUp,!1)):(e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1))}unbind(){let e=this.Reveal.getRevealElement();e.removeEventListener("pointerdown",this.onPointerDown,!1),e.removeEventListener("pointermove",this.onPointerMove,!1),e.removeEventListener("pointerup",this.onPointerUp,!1),e.removeEventListener("MSPointerDown",this.onPointerDown,!1),e.removeEventListener("MSPointerMove",this.onPointerMove,!1),e.removeEventListener("MSPointerUp",this.onPointerUp,!1),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touche
nd",this.onTouchEnd,!1)}isSwipePrevented(e){for(;e&&"function"==typeof e.hasAttribute;){if(e.hasAttribute("data-prevent-swipe"))return!0;e=e.parentNode}return!1}onTouchStart(e){if(this.isSwipePrevented(e.target))return!0;this.touchStartX=e.touches[0].clientX,this.touchStartY=e.touches[0].clientY,this.touchStartCount=e.touches.length}onTouchMove(e){if(this.isSwipePrevented(e.target))return!0;let t=this.Reveal.getConfig();if(this.touchCaptured)pi&&e.preventDefault();else{this.Reveal.onUserInput(e);let i=e.touches[0].clientX,n=e.touches[0].clientY;if(1===e.touches.length&&2!==this.touchStartCount){let a=this.Reveal.availableRoutes({includeFragments:!0}),s=i-this.touchStartX,r=n-this.touchStartY;s>40&&Math.abs(s)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):s<-40&&Math.abs(s)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):r>40
&&a.up?(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.prev():this.Reveal.up()):r<-40&&a.down&&(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.next():this.Reveal.down()),t.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&e.preventDefault():e.preventDefault()}}}onTouchEnd(e){this.touchCaptured=!1}onPointerDown(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchStart(e))}onPointerMove(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchMove(e))}onPointerUp(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchEnd(e))}}class Oi{constructor(e){this.Reveal=e,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}configure(e,t){e.embedded?this.b
lur():(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(){"focus"!==this.state&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state="focus"}blur(){"blur"!==this.state&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state="blur"}isFocused(){return"focus"===this.state}onRevealPointerDown(e){this.focus()}onDocumentPointerDown(e){let t=ri(e.target,".reveal");t&&t===this.Reveal.getRevealElement()||this.blur()}}class zi{constructor(e){this.Reveal=e}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(e,t){e.showNotes&&this.element.setAttribute("data-layout","string"==typeof e.showNotes?e.showNotes:"inline")}update(){this.Reveal.getConfig().showNotes&&this.element&&this.Reveal.getCurrentSlide()&&!this.Reveal.print.isPrintingPDF()&&(this.element.innerHTML=this.getSlideNotes()||'<span class="notes-placeholder">No notes on this slide.</span>')}updateVisibility(){this.Reveal.getConfig().showNotes&&this.hasNotes()&&!this.Reveal.print.isPrintingPDF()?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(e=this.Reveal.getCurrentSlide()){if(e.hasAttribute("data
-notes"))return e.getAttribute("data-notes");let t=e.querySelector("aside.notes");return t?t.innerHTML:null}}class Hi{constructor(e,t){this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=e,this.progressCheck=t,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(e){const t=this.playing;this.playing=e,!t&&this.playing?this.animate():this.render()}animate(){const e=this.progress;this.progress=this.progressCheck(),e>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}render(){let e=this.playing?this.progress:0,t=this.diameter2-this.thickness,i=
this.diameter2,n=this.diameter2,a=28;this.progressOffset+=.1*(1-this.progressOffset);const s=-Math.PI/2+e*(2*Math.PI),r=-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(i,n,t+4,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(i,n,t,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(i,n,t,r,s,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(i-14,n-14),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,10,a),this.context.fillRect(18,0,10,a)):(this.context.beginPath(),this.context.translate(4,0),this.context.moveTo(0,0),this.context.lineTo(24,14),this.context.lineTo(0,a),this.cont
ext.fillStyle="#fff",this.context.fill()),this.context.restore()}on(e,t){this.canvas.addEventListener(e,t,!1)}off(e,t){this.canvas.removeEventListener(e,t,!1)}destroy(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}}var Bi={width:960,height:700,margin:.04,minScale:.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!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,pdfMaxPagesPerSlide:Number.POSITIVE_INFINITY,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCursor:!0,hideCursorTime:5e3,dependencies:[],plugins:[]};function Ui(e,t){arguments.length<2&&(t=arguments[0],e=document.querySelector(".reveal"));const i={};let n,a,s,r,o,l={},d=!1,c={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},u=[],h=1,g={layout:"",overview:""},v={},p="idle",f=0,m=0,b=-1,y=!1,w=new bi(i),S=new yi(i),E=new Ri(
i),R=new Si(i),A=new Ai(i),k=new ki(i),L=new Li(i),x=new xi(i),C=new Ci(i),P=new Pi(i),N=new Ni(i),M=new Ii(i),I=new Ti(i),T=new Oi(i),D=new Di(i),O=new zi(i);function z(n){return v.wrapper=e,v.slides=e.querySelector(".slides"),l={...Bi,...l,...t,...n,...di()},H(),window.addEventListener("load",re,!1),M.load(l.plugins,l.dependencies).then(B),new Promise(e=>i.on("ready",e))}function H(){!0===l.embedded?v.viewport=ri(e,".reveal-viewport")||e:(v.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),v.viewport.classList.add("reveal-viewport")}function B(){d=!0,U(),j(),V(),_(),Ae(),K(),x.readURL(),R.update(!0),setTimeout(()=>{v.slides.classList.remove("no-transition"),v.wrapper.classList.add("ready"),Q({type:"ready",data:{indexh:n,indexv:a,currentSlide:r}})},1),I.isPrintingPDF()&&($(),"complete"===document.readyState?I.setupPDF():window.addEventListener("load",()=>{I.setupPDF()}))}function U(){l.showHiddenSlides||ti(v.wrapper,'section[data-visibility="hidden"
]').forEach(e=>{e.parentNode.removeChild(e)})}function j(){v.slides.classList.add("no-transition"),gi?v.wrapper.classList.add("no-hover"):v.wrapper.classList.remove("no-hover"),R.render(),S.render(),C.render(),P.render(),O.render(),v.pauseOverlay=oi(v.wrapper,"div","pause-overlay",l.controls?'<button class="resume-button">Resume presentation</button>':null),v.statusElement=F(),v.wrapper.setAttribute("role","application")}function F(){let e=v.wrapper.querySelector(".aria-status");return e||(e=document.createElement("div"),e.style.position="absolute",e.style.height="1px",e.style.width="1px",e.style.overflow="hidden",e.style.clip="rect( 1px, 1px, 1px, 1px )",e.classList.add("aria-status"),e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),v.wrapper.appendChild(e)),e}function q(e){v.statusElement.textContent=e}function W(e){let t="";if(3===e.nodeType)t+=e.textContent;else if(1===e.nodeType){let i=e.getAttribute("aria-hidden"),n="none"===window.getComputedStyle(e).
display;"true"===i||n||Array.from(e.childNodes).forEach(e=>{t+=W(e)})}return t=t.trim(),""===t?"":t+" "}function _(){setInterval(()=>{0===v.wrapper.scrollTop&&0===v.wrapper.scrollLeft||(v.wrapper.scrollTop=0,v.wrapper.scrollLeft=0)},1e3)}function V(){l.postMessage&&window.addEventListener("message",e=>{let t=e.data;if("string"==typeof t&&"{"===t.charAt(0)&&"}"===t.charAt(t.length-1)&&(t=JSON.parse(t),t.method&&"function"==typeof i[t.method]))if(!1===kt.test(t.method)){const e=i[t.method].apply(i,t.args);Z("callback",{method:t.method,result:e})}else console.warn('reveal.js: "'+t.method+'" is is blacklisted from the postMessage API')},!1)}function K(e){const t={...l};if("object"==typeof e&&ei(l,e),!1===i.isReady())return;const n=v.wrapper.querySelectorAll(".slides section").length;v.wrapper.classList.remove(t.transition),v.wrapper.classList.add(l.transition),v.wrapper.setAttribute("data-transition-speed",l.transitionSpeed),v.wrapper.setAttribute("data-background-transition",l.backgrou
ndTransition),v.viewport.style.setProperty("--slide-width",l.width+"px"),v.viewport.style.setProperty("--slide-height",l.height+"px"),l.shuffle&&ke(),ii(v.wrapper,"embedded",l.embedded),ii(v.wrapper,"rtl",l.rtl),ii(v.wrapper,"center",l.center),!1===l.pause&&fe(),l.previewLinks?(ee(),te("[data-preview-link=false]")):(te(),ee("[data-preview-link]:not([data-preview-link=false])")),E.reset(),o&&(o.destroy(),o=null),n>1&&l.autoSlide&&l.autoSlideStoppable&&(o=new Hi(v.wrapper,()=>Math.min(Math.max((Date.now()-b)/f,0),1)),o.on("click",st),y=!1),"default"!==l.navigationMode?v.wrapper.setAttribute("data-navigation-mode",l.navigationMode):v.wrapper.removeAttribute("data-navigation-mode"),O.configure(l,t),T.configure(l,t),N.configure(l,t),C.configure(l,t),P.configure(l,t),L.configure(l,t),A.configure(l,t),S.configure(l,t),Ee()}function X(){window.addEventListener("resize",it,!1),l.touch&&D.bind(),l.keyboard&&L.bind(),l.progress&&P.bind(),l.respondToHashChanges&&x.bind(),C.bind(),T.bind(),v.sli
des.addEventListener("transitionend",tt,!1),v.pauseOverlay.addEventListener("click",fe,!1),l.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",nt,!1)}function $(){D.unbind(),T.unbind(),L.unbind(),C.unbind(),P.unbind(),x.unbind(),window.removeEventListener("resize",it,!1),v.slides.removeEventListener("transitionend",tt,!1),v.pauseOverlay.removeEventListener("click",fe,!1)}function Y(t,i,n){e.addEventListener(t,i,n)}function G(t,i,n){e.removeEventListener(t,i,n)}function J(e){"string"==typeof e.layout&&(g.layout=e.layout),"string"==typeof e.overview&&(g.overview=e.overview),g.layout?ai(v.slides,g.layout+" "+g.overview):ai(v.slides,g.overview)}function Q({target:e=v.wrapper,type:t,data:i,bubbles:n=!0}){let a=document.createEvent("HTMLEvents",1,2);a.initEvent(t,n,!0),ei(a,i),e.dispatchEvent(a),e===v.wrapper&&Z(t)}function Z(e,t){if(l.postMessageEvents&&window.parent!==window.self){let i={namespace:"reveal",eventName:e,state:qe()};ei(i,t),window.parent.postMes
sage(JSON.stringify(i),"*")}}function ee(e="a"){Array.from(v.wrapper.querySelectorAll(e)).forEach(e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",at,!1)})}function te(e="a"){Array.from(v.wrapper.querySelectorAll(e)).forEach(e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",at,!1)})}function ie(e){se(),v.overlay=document.createElement("div"),v.overlay.classList.add("overlay"),v.overlay.classList.add("overlay-preview"),v.wrapper.appendChild(v.overlay),v.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="'.concat(e,'" 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="').concat(e,'"></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>'),v.overlay.querySelector("iframe").addEventListener("load",e=>{v.overlay.classList.add("loaded")},!1),v.overlay.querySelector(".close").addEventListener("click",e=>{se(),e.preventDefault()},!1),v.overlay.querySelector(".external").addEventListener("click",e=>{se()},!1)}function ne(e){"boolean"==typeof e?e?ae():se():v.overlay?se():ae()}function ae(){if(l.help){se(),v.overlay=document.createElement("div"),v.overlay.classList.add("overlay"),v.overlay.classList.add("overlay-help"),v.wrapper.appendChild(v.overlay);let e='<p class="title">Keyboard Shortcuts</p><br/>',t=L.getShortcuts(),i=L.getBindings();e+="<table><th>KEY</th><th>ACTION</th>";for(let i in t)e+="<tr><td>".concat(i,"</td><td>").concat(t[i],"</td></tr>");for(let t in i)i[t].key&&i[t].description&&(e+="<tr><td>".concat(i[t].key,"</td><td>").concat(i[t].description,"</td></tr>"));e+="</table>",v.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">'.concat(e,"</div>\n\t\t\t\t</div>\n\t\t\t"),v.overlay.querySelector(".close").addEventListener("click",e=>{se(),e.preventDefault()},!1)}}function se(){return!!v.overlay&&(v.overlay.parentNode.removeChild(v.overlay),v.overlay=null,!0)}function re(){if(v.wrapper&&!I.isPrintingPDF()){if(!l.disableLayout){gi&&!l.embedded&&document.documentElement.style.setProperty("--vh",.01*window.innerHeight+"px");const e=le(),t=h;oe(l.width,l.height),v.slides.style.width=e.width+"px",v.slides.style.height=e.height+"px",h=Math.min(e.presentationWidth/e.width,e.presentationHeight/e.height),h=Math.max(h,l.minScale),h=Math.min(h,l.maxScale),1===h?(v.slides.style.zoom="",v.slides.style.left="",v.slides.style.top="",v.slides.style.bottom="",v.slides.style.right="",J({layout:""})):h>1&&fi&&window.devicePixelRatio<2?(v.slides.style.zoom=h,v.slides.style.left="",v.slides.style.top="",v.slides.style.bottom=""
,v.slides.style.right="",J({layout:""})):(v.slides.style.zoom="",v.slides.style.left="50%",v.slides.style.top="50%",v.slides.style.bottom="auto",v.slides.style.right="auto",J({layout:"translate(-50%, -50%) scale("+h+")"}));const i=Array.from(v.wrapper.querySelectorAll(".slides section"));for(let t=0,n=i.length;t<n;t++){const n=i[t];"none"!==n.style.display&&(l.center||n.classList.contains("center")?n.classList.contains("stack")?n.style.top=0:n.style.top=Math.max((e.height-n.scrollHeight)/2,0)+"px":n.style.top="")}t!==h&&Q({type:"resize",data:{oldScale:t,scale:h,size:e}})}P.update(),R.updateParallax(),k.isActive()&&k.update()}}function oe(e,t){ti(v.slides,"section > .stretch, section > .r-stretch").forEach(i=>{let n=ci(i,t);if(/(img|video)/gi.test(i.nodeName)){const t=i.naturalWidth||i.videoWidth,a=i.naturalHeight||i.videoHeight,s=Math.min(e/t,n/a);i.style.width=t*s+"px",i.style.height=a*s+"px"}else i.style.width=e+"px",i.style.height=n+"px"})}function le(e,t){const i={width:l.width,
height:l.height,presentationWidth:e||v.wrapper.offsetWidth,presentationHeight:t||v.wrapper.offsetHeight};return i.presentationWidth-=i.presentationWidth*l.margin,i.presentationHeight-=i.presentationHeight*l.margin,"string"==typeof i.width&&/%$/.test(i.width)&&(i.width=parseInt(i.width,10)/100*i.presentationWidth),"string"==typeof i.height&&/%$/.test(i.height)&&(i.height=parseInt(i.height,10)/100*i.presentationHeight),i}function de(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function ce(e){if("object"==typeof e&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){const t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function ue(e=r){return e&&e.parentNode&&!!e.parentNode.nodeName.match(/section/i)}function he(){return!(!r||!ue(r))&&!r.nextElementSibling}function ge(){return 0===n&&0===a}function ve(){return!!r&&(!r.nextElementSib
ling&&(!ue(r)||!r.parentNode.nextElementSibling))}function pe(){if(l.pause){const e=v.wrapper.classList.contains("paused");Ve(),v.wrapper.classList.add("paused"),!1===e&&Q({type:"paused"})}}function fe(){const e=v.wrapper.classList.contains("paused");v.wrapper.classList.remove("paused"),_e(),e&&Q({type:"resumed"})}function me(e){"boolean"==typeof e?e?pe():fe():be()?fe():pe()}function be(){return v.wrapper.classList.contains("paused")}function ye(e){"boolean"==typeof e?e?Xe():Ke():y?Xe():Ke()}function we(){return!(!f||y)}function Se(e,t,i,o){s=r;const d=v.wrapper.querySelectorAll(".slides>section");if(0===d.length)return;void 0!==t||k.isActive()||(t=ce(d[e])),s&&s.parentNode&&s.parentNode.classList.contains("stack")&&de(s.parentNode,a);const c=u.concat();u.length=0;let h=n||0,g=a||0;n=Le(".slides>section",void 0===e?n:e),a=Le(".slides>section.present>section",void 0===t?a:t);let f=n!==h||a!==g;f||(s=null);let m=d[n],b=m.querySelectorAll("section");r=b[a]||m;let y=!1;f&&s&&r&&!k.isAct
ive()&&(s.hasAttribute("data-auto-animate")&&r.hasAttribute("data-auto-animate")&&(y=!0,v.slides.classList.add("disable-slide-transitions")),p="running"),xe(),re(),k.isActive()&&k.update(),void 0!==i&&A.goto(i),s&&s!==r&&(s.classList.remove("present"),s.setAttribute("aria-hidden","true"),ge()&&setTimeout(()=>{Oe().forEach(e=>{de(e,0)})},0));e:for(let e=0,t=u.length;e<t;e++){for(let t=0;t<c.length;t++)if(c[t]===u[e]){c.splice(t,1);continue e}v.viewport.classList.add(u[e]),Q({type:u[e]})}for(;c.length;)v.viewport.classList.remove(c.pop());f&&Q({type:"slidechanged",data:{indexh:n,indexv:a,previousSlide:s,currentSlide:r,origin:o}}),!f&&s||(w.stopEmbeddedContent(s),w.startEmbeddedContent(r)),q(W(r)),P.update(),C.update(),O.update(),R.update(),R.updateParallax(),S.update(),A.update(),x.writeURL(),_e(),y&&(setTimeout(()=>{v.slides.classList.remove("disable-slide-transitions")},0),l.autoAnimate&&E.run(s,r))}function Ee(){$(),X(),re(),f=l.autoSlide,_e(),R.create(),x.writeURL(),A.sortAll(),C.
update(),P.update(),xe(),O.update(),O.updateVisibility(),R.update(!0),S.update(),w.formatEmbeddedContent(),!1===l.autoPlayMedia?w.stopEmbeddedContent(r,{unloadIframes:!1}):w.startEmbeddedContent(r),k.isActive()&&k.layout()}function Re(e=r){R.sync(e),A.sync(e),w.load(e),R.update(),O.update()}function Ae(){Te().forEach(e=>{ti(e,"section").forEach((e,t)=>{t>0&&(e.classList.remove("present"),e.classList.remove("past"),e.classList.add("future"),e.setAttribute("aria-hidden","true"))})})}function ke(e=Te()){e.forEach((t,i)=>{let n=e[Math.floor(Math.random()*e.length)];n.parentNode===t.parentNode&&t.parentNode.insertBefore(t,n);let a=t.querySelectorAll("section");a.length&&ke(a)})}function Le(e,t){let i=ti(v.wrapper,e),n=i.length,a=I.isPrintingPDF();if(n){l.loop&&(t%=n)<0&&(t=n+t),t=Math.max(Math.min(t,n-1),0);for(let e=0;e<n;e++){let n=i[e],s=l.rtl&&!ue(n);n.classList.remove("past"),n.classList.remove("present"),n.classList.remove("future"),n.setAttribute("hidden",""),n.setAttribute("aria-
hidden","true"),n.querySelector("section")&&n.classList.add("stack"),a?n.classList.add("present"):e<t?(n.classList.add(s?"future":"past"),l.fragments&&ti(n,".fragment").forEach(e=>{e.classList.add("visible"),e.classList.remove("current-fragment")})):e>t&&(n.classList.add(s?"past":"future"),l.fragments&&ti(n,".fragment.visible").forEach(e=>{e.classList.remove("visible","current-fragment")}))}let e=i[t],s=e.classList.contains("present");e.classList.add("present"),e.removeAttribute("hidden"),e.removeAttribute("aria-hidden"),s||Q({target:e,type:"visible",bubbles:!1});let r=e.getAttribute("data-state");r&&(u=u.concat(r.split(" ")))}else t=0;return t}function xe(){let e,t,i=Te(),s=i.length;if(s&&void 0!==n){let r=k.isActive()?10:l.viewDistance;gi&&(r=k.isActive()?6:l.mobileViewDistance),I.isPrintingPDF()&&(r=Number.MAX_VALUE);for(let o=0;o<s;o++){let d=i[o],c=ti(d,"section"),u=c.length;if(e=Math.abs((n||0)-o)||0,l.loop&&(e=Math.abs(((n||0)-o)%(s-r))||0),e<r?w.load(d):w.unload(d),u){let i=
ce(d);for(let s=0;s<u;s++){let l=c[s];t=o===(n||0)?Math.abs((a||0)-s):Math.abs(s-i),e+t<r?w.load(l):w.unload(l)}}}He()?v.wrapper.classList.add("has-vertical-slides"):v.wrapper.classList.remove("has-vertical-slides"),ze()?v.wrapper.classList.add("has-horizontal-slides"):v.wrapper.classList.remove("has-horizontal-slides")}}function Ce({includeFragments:e=!1}={}){let t=v.wrapper.querySelectorAll(".slides>section"),i=v.wrapper.querySelectorAll(".slides>section.present>section"),s={left:n>0,right:n<t.length-1,up:a>0,down:a<i.length-1};if(l.loop&&(t.length>1&&(s.left=!0,s.right=!0),i.length>1&&(s.up=!0,s.down=!0)),t.length>1&&"linear"===l.navigationMode&&(s.right=s.right||s.down,s.left=s.left||s.up),!0===e){let e=A.availableRoutes();s.left=s.left||e.prev,s.up=s.up||e.prev,s.down=s.down||e.next,s.right=s.right||e.next}if(l.rtl){let e=s.left;s.left=s.right,s.right=e}return s}function Pe(e=r){let t=Te(),i=0;e:for(let n=0;n<t.length;n++){let a=t[n],s=a.querySelectorAll("section");for(let t=0;
t<s.length;t++){if(s[t]===e)break e;"uncounted"!==s[t].dataset.visibility&&i++}if(a===e)break;!1===a.classList.contains("stack")&&"uncounted"!==a.dataset.visibility&&i++}return i}function Ne(){let e=Ue(),t=Pe();if(r){let e=r.querySelectorAll(".fragment");if(e.length>0){let i=.9;t+=r.querySelectorAll(".fragment.visible").length/e.length*i}}return Math.min(t/(e-1),1)}function Me(e){let t,i=n,s=a;if(e){let t=ue(e),n=t?e.parentNode:e,a=Te();i=Math.max(a.indexOf(n),0),s=void 0,t&&(s=Math.max(ti(e.parentNode,"section").indexOf(e),0))}if(!e&&r){if(r.querySelectorAll(".fragment").length>0){let e=r.querySelector(".current-fragment");t=e&&e.hasAttribute("data-fragment-index")?parseInt(e.getAttribute("data-fragment-index"),10):r.querySelectorAll(".fragment.visible").length-1}}return{h:i,v:s,f:t}}function Ie(){return ti(v.wrapper,'.slides section:not(.stack):not([data-visibility="uncounted"])')}function Te(){return ti(v.wrapper,".slides>section")}function De(){return ti(v.wrapper,".slides>secti
on>section")}function Oe(){return ti(v.wrapper,".slides>section.stack")}function ze(){return Te().length>1}function He(){return De().length>1}function Be(){return Ie().map(e=>{let t={};for(let i=0;i<e.attributes.length;i++){let n=e.attributes[i];t[n.name]=n.value}return t})}function Ue(){return Ie().length}function je(e,t){let i=Te()[e],n=i&&i.querySelectorAll("section");return n&&n.length&&"number"==typeof t?n?n[t]:void 0:i}function Fe(e,t){let i="number"==typeof e?je(e,t):e;if(i)return i.slideBackgroundElement}function qe(){let e=Me();return{indexh:e.h,indexv:e.v,indexf:e.f,paused:be(),overview:k.isActive()}}function We(e){if("object"==typeof e){Se(ni(e.indexh),ni(e.indexv),ni(e.indexf));let t=ni(e.paused),i=ni(e.overview);"boolean"==typeof t&&t!==be()&&me(t),"boolean"==typeof i&&i!==k.isActive()&&k.toggle(i)}}function _e(){if(Ve(),r&&!1!==l.autoSlide){let e=r.querySelector(".current-fragment");e||(e=r.querySelector(".fragment"));let t=e?e.getAttribute("data-autoslide"):null,i=r.p
arentNode?r.parentNode.getAttribute("data-autoslide"):null,n=r.getAttribute("data-autoslide");t?f=parseInt(t,10):n?f=parseInt(n,10):i?f=parseInt(i,10):(f=l.autoSlide,0===r.querySelectorAll(".fragment").length&&ti(r,"video, audio").forEach(e=>{e.hasAttribute("data-autoplay")&&f&&1e3*e.duration/e.playbackRate>f&&(f=1e3*e.duration/e.playbackRate+1e3)})),!f||y||be()||k.isActive()||ve()&&!A.availableRoutes().next&&!0!==l.loop||(m=setTimeout(()=>{"function"==typeof l.autoSlideMethod?l.autoSlideMethod():Ze(),_e()},f),b=Date.now()),o&&o.setPlaying(-1!==m)}}function Ve(){clearTimeout(m),m=-1}function Ke(){f&&!y&&(y=!0,Q({type:"autoslidepaused"}),clearTimeout(m),o&&o.setPlaying(!1))}function Xe(){f&&y&&(y=!1,Q({type:"autoslideresumed"}),_e())}function $e(){c.hasNavigatedHorizontally=!0,l.rtl?(k.isActive()||!1===A.next())&&Ce().left&&Se(n+1,"grid"===l.navigationMode?a:void 0):(k.isActive()||!1===A.prev())&&Ce().left&&Se(n-1,"grid"===l.navigationMode?a:void 0)}function Ye(){c.hasNavigatedHorizo
ntally=!0,l.rtl?(k.isActive()||!1===A.prev())&&Ce().right&&Se(n-1,"grid"===l.navigationMode?a:void 0):(k.isActive()||!1===A.next())&&Ce().right&&Se(n+1,"grid"===l.navigationMode?a:void 0)}function Ge(){(k.isActive()||!1===A.prev())&&Ce().up&&Se(n,a-1)}function Je(){c.hasNavigatedVertically=!0,(k.isActive()||!1===A.next())&&Ce().down&&Se(n,a+1)}function Qe(){if(!1===A.prev())if(Ce().up)Ge();else{let e;if(e=l.rtl?ti(v.wrapper,".slides>section.future").pop():ti(v.wrapper,".slides>section.past").pop(),e){let t=e.querySelectorAll("section").length-1||void 0;Se(n-1,t)}}}function Ze(){if(c.hasNavigatedHorizontally=!0,c.hasNavigatedVertically=!0,!1===A.next()){let e=Ce();e.down&&e.right&&l.loop&&he()&&(e.down=!1),e.down?Je():l.rtl?$e():Ye()}}function et(e){l.autoSlideStoppable&&Ke()}function tt(e){"running"===p&&/section/gi.test(e.target.nodeName)&&(p="idle",Q({type:"slidetransitionend",data:{indexh:n,indexv:a,previousSlide:s,currentSlide:r}}))}function it(e){re()}function nt(e){!1===docume
nt.hidden&&document.activeElement!==document.body&&("function"==typeof document.activeElement.blur&&document.activeElement.blur(),document.body.focus())}function at(e){if(e.currentTarget&&e.currentTarget.hasAttribute("href")){let t=e.currentTarget.getAttribute("href");t&&(ie(t),e.preventDefault())}}function st(e){ve()&&!1===l.loop?(Se(0,0),Xe()):y?Xe():Ke()}const rt={VERSION:"4.1.0",initialize:z,configure:K,sync:Ee,syncSlide:Re,syncFragments:A.sync.bind(A),slide:Se,left:$e,right:Ye,up:Ge,down:Je,prev:Qe,next:Ze,navigateLeft:$e,navigateRight:Ye,navigateUp:Ge,navigateDown:Je,navigatePrev:Qe,navigateNext:Ze,navigateFragment:A.goto.bind(A),prevFragment:A.prev.bind(A),nextFragment:A.next.bind(A),on:Y,off:G,addEventListener:Y,removeEventListener:G,layout:re,shuffle:ke,availableRoutes:Ce,availableFragments:A.availableRoutes.bind(A),toggleHelp:ne,toggleOverview:k.toggle.bind(k),togglePause:me,toggleAutoSlide:ye,isFirstSlide:ge,isLastSlide:ve,isLastVerticalSlide:he,isVerticalSlide:ue,isPause
d:be,isAutoSliding:we,isSpeakerNotes:O.isSpeakerNotesWindow.bind(O),isOverview:k.isActive.bind(k),isFocused:T.isFocused.bind(T),isPrintingPDF:I.isPrintingPDF.bind(I),isReady:()=>d,loadSlide:w.load.bind(w),unloadSlide:w.unload.bind(w),addEventListeners:X,removeEventListeners:$,dispatchEvent:Q,getState:qe,setState:We,getProgress:Ne,getIndices:Me,getSlidesAttributes:Be,getSlidePastCount:Pe,getTotalSlides:Ue,getSlide:je,getPreviousSlide:()=>s,getCurrentSlide:()=>r,getSlideBackground:Fe,getSlideNotes:O.getSlideNotes.bind(O),getSlides:Ie,getHorizontalSlides:Te,getVerticalSlides:De,hasHorizontalSlides:ze,hasVerticalSlides:He,hasNavigatedHorizontally:()=>c.hasNavigatedHorizontally,hasNavigatedVertically:()=>c.hasNavigatedVertically,addKeyBinding:L.addKeyBinding.bind(L),removeKeyBinding:L.removeKeyBinding.bind(L),triggerKey:L.triggerKey.bind(L),registerKeyboardShortcut:L.registerKeyboardShortcut.bind(L),getComputedSlideSize:le,getScale:()=>h,getConfig:()=>l,getQueryHash:di,getRevealElement:(
)=>e,getSlidesElement:()=>v.slides,getViewportElement:()=>v.viewport,getBackgroundsElement:()=>R.element,registerPlugin:M.registerPlugin.bind(M),hasPlugin:M.hasPlugin.bind(M),getPlugin:M.getPlugin.bind(M),getPlugins:M.getRegisteredPlugins.bind(M)};return ei(i,{...rt,announceStatus:q,getStatusText:W,print:I,focus:T,progress:P,controls:C,location:x,overview:k,fragments:A,slideContent:w,slideNumber:S,onUserInput:et,closeOverlay:se,updateSlidesVisibility:xe,layoutSlideContents:oe,transformSlides:J,cueAutoSlide:_e,cancelAutoSlide:Ve}),rt}let ji=Ui,Fi=[];ji.initialize=e=>(Object.assign(ji,new Ui(document.querySelector(".reveal"),e)),Fi.map(e=>e(ji)),ji.initialize()),["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach(e=>{ji[e]=(...t)=>{Fi.push(i=>i[e].call(null,...t))}}),ji.isReady=()=>!1,ji.VERSION="4.1.0";export default ji;
+//# sourceMappingURL=reveal.esm.js.map
diff --git a/assets/static/revealjs/dist/reveal.js b/assets/static/revealjs/dist/reveal.js
new file mode 100644
index 0000000..aa55e2f
--- /dev/null
+++ b/assets/static/revealjs/dist/reveal.js
@@ -0,0 +1,9 @@
+/*!
+* reveal.js 4.0.2
+* https://revealjs.com
+* MIT licensed
+*
+* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
+*/
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Reveal=t()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}var i=function(e){return e&&e.Math==Math&&e},r=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof e&&e)||Function("return this")(),a=function(e){try{return!!e()}catch(e){return!0}},o=!a((function(){return 7!=Object.de
fineProperty({},1,{get:function(){return 7}})[1]})),s={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,u={f:l&&!s.call({1:2},1)?function(e){var t=l(this,e);return!!t&&t.enumerable}:s},c=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},d={}.toString,h=function(e){return d.call(e).slice(8,-1)},f="".split,v=a((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==h(e)?f.call(e,""):Object(e)}:Object,g=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},p=function(e){return v(g(e))},m=function(e){return"object"==typeof e?null!==e:"function"==typeof e},y=function(e,t){if(!m(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!m(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!m(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!m(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(e,t){return b.call(
e,t)},S=r.document,E=m(S)&&m(S.createElement),k=function(e){return E?S.createElement(e):{}},A=!o&&!a((function(){return 7!=Object.defineProperty(k("div"),"a",{get:function(){return 7}}).a})),R=Object.getOwnPropertyDescriptor,x={f:o?R:function(e,t){if(e=p(e),t=y(t,!0),A)try{return R(e,t)}catch(e){}if(w(e,t))return c(!u.f.call(e,t),e[t])}},L=function(e){if(!m(e))throw TypeError(String(e)+" is not an object");return e},C=Object.defineProperty,P={f:o?C:function(e,t,n){if(L(e),t=y(t,!0),L(n),A)try{return C(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},N=o?function(e,t,n){return P.f(e,t,c(1,n))}:function(e,t,n){return e[t]=n,e},M=function(e,t){try{N(r,e,t)}catch(n){r[e]=t}return t},I="__core-js_shared__",O=r[I]||M(I,{}),T=Function.toString;"function"!=typeof O.inspectSource&&(O.inspectSource=function(e){return T.call(e)});var D,j,z,H=O.inspectSource,F=r.WeakMap,U="function"==typeof F&&/native code/.test(H(F)),B=n(
(function(e){(e.exports=function(e,t){return O[e]||(O[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),q=0,W=Math.random(),_=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++q+W).toString(36)},V=B("keys"),K=function(e){return V[e]||(V[e]=_(e))},$={},X=r.WeakMap;if(U){var Y=new X,G=Y.get,J=Y.has,Q=Y.set;D=function(e,t){return Q.call(Y,e,t),t},j=function(e){return G.call(Y,e)||{}},z=function(e){return J.call(Y,e)}}else{var Z=K("state");$[Z]=!0,D=function(e,t){return N(e,Z,t),t},j=function(e){return w(e,Z)?e[Z]:{}},z=function(e){return w(e,Z)}}var ee,te,ne={set:D,get:j,has:z,enforce:function(e){return z(e)?j(e):D(e,{})},getterFor:function(e){return function(t){var n;if(!m(t)||(n=j(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}},ie=n((function(e){var t=ne.get,n=ne.enforce,i=String(String).split("String");(e.exports=function(e,t,a,o){var s=!!o&&!!o.unsafe,l=!!o&&!!o
.enumerable,u=!!o&&!!o.noTargetGet;"function"==typeof a&&("string"!=typeof t||w(a,"name")||N(a,"name",t),n(a).source=i.join("string"==typeof t?t:"")),e!==r?(s?!u&&e[t]&&(l=!0):delete e[t],l?e[t]=a:N(e,t,a)):l?e[t]=a:M(t,a)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||H(this)}))})),re=r,ae=function(e){return"function"==typeof e?e:void 0},oe=function(e,t){return arguments.length<2?ae(re[e])||ae(r[e]):re[e]&&re[e][t]||r[e]&&r[e][t]},se=Math.ceil,le=Math.floor,ue=function(e){return isNaN(e=+e)?0:(e>0?le:se)(e)},ce=Math.min,de=function(e){return e>0?ce(ue(e),9007199254740991):0},he=Math.max,fe=Math.min,ve=function(e,t){var n=ue(e);return n<0?he(n+t,0):fe(n,t)},ge=function(e){return function(t,n,i){var r,a=p(t),o=de(a.length),s=ve(i,o);if(e&&n!=n){for(;o>s;)if((r=a[s++])!=r)return!0}else for(;o>s;s++)if((e||s in a)&&a[s]===n)return e||s||0;return!e&&-1}},pe={includes:ge(!0),indexOf:ge(!1)},me=pe.indexOf,ye=function(e,t){var n,i=p(e),r=0,a=[];f
or(n in i)!w($,n)&&w(i,n)&&a.push(n);for(;t.length>r;)w(i,n=t[r++])&&(~me(a,n)||a.push(n));return a},be=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],we=be.concat("length","prototype"),Se={f:Object.getOwnPropertyNames||function(e){return ye(e,we)}},Ee={f:Object.getOwnPropertySymbols},ke=oe("Reflect","ownKeys")||function(e){var t=Se.f(L(e)),n=Ee.f;return n?t.concat(n(e)):t},Ae=function(e,t){for(var n=ke(t),i=P.f,r=x.f,a=0;a<n.length;a++){var o=n[a];w(e,o)||i(e,o,r(t,o))}},Re=/#|\.prototype\./,xe=function(e,t){var n=Ce[Le(e)];return n==Ne||n!=Pe&&("function"==typeof t?a(t):!!t)},Le=xe.normalize=function(e){return String(e).replace(Re,".").toLowerCase()},Ce=xe.data={},Pe=xe.NATIVE="N",Ne=xe.POLYFILL="P",Me=xe,Ie=x.f,Oe=function(e,t){var n,i,a,o,s,l=e.target,u=e.global,c=e.stat;if(n=u?r:c?r[l]||M(l,{}):(r[l]||{}).prototype)for(i in t){if(o=t[i],a=e.noTargetGet?(s=Ie(n,i))&&s.value:n[i],!Me(u?i:l+(c?".":"#")+i,e.forced)&&voi
d 0!==a){if(typeof o==typeof a)continue;Ae(o,a)}(e.sham||a&&a.sham)&&N(o,"sham",!0),ie(n,i,o,e)}},Te=Array.isArray||function(e){return"Array"==h(e)},De=function(e){return Object(g(e))},je=function(e,t,n){var i=y(t);i in e?P.f(e,i,c(0,n)):e[i]=n},ze=!!Object.getOwnPropertySymbols&&!a((function(){return!String(Symbol())})),He=ze&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Fe=B("wks"),Ue=r.Symbol,Be=He?Ue:Ue&&Ue.withoutSetter||_,qe=function(e){return w(Fe,e)||(ze&&w(Ue,e)?Fe[e]=Ue[e]:Fe[e]=Be("Symbol."+e)),Fe[e]},We=qe("species"),_e=function(e,t){var n;return Te(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!Te(n.prototype)?m(n)&&null===(n=n[We])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)},Ve=oe("navigator","userAgent")||"",Ke=r.process,$e=Ke&&Ke.versions,Xe=$e&&$e.v8;Xe?te=(ee=Xe.split("."))[0]+ee[1]:Ve&&(!(ee=Ve.match(/Edge\/(\d+)/))||ee[1]>=74)&&(ee=Ve.match(/Chrome\/(\d+)/))&&(te=ee[1]);var Ye=te&&+te,Ge=qe("species"),Je=function(e){return Ye>=51||!a((funct
ion(){var t=[];return(t.constructor={})[Ge]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},Qe=qe("isConcatSpreadable"),Ze=9007199254740991,et="Maximum allowed index exceeded",tt=Ye>=51||!a((function(){var e=[];return e[Qe]=!1,e.concat()[0]!==e})),nt=Je("concat"),it=function(e){if(!m(e))return!1;var t=e[Qe];return void 0!==t?!!t:Te(e)};Oe({target:"Array",proto:!0,forced:!tt||!nt},{concat:function(e){var t,n,i,r,a,o=De(this),s=_e(o,0),l=0;for(t=-1,i=arguments.length;t<i;t++)if(it(a=-1===t?o:arguments[t])){if(l+(r=de(a.length))>Ze)throw TypeError(et);for(n=0;n<r;n++,l++)n in a&&je(s,l,a[n])}else{if(l>=Ze)throw TypeError(et);je(s,l++,a)}return s.length=l,s}});var rt=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},at=function(e,t,n){if(rt(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,i){return e.call(t,n,i)};case 3:return function(n,i,r){
return e.call(t,n,i,r)}}return function(){return e.apply(t,arguments)}},ot=[].push,st=function(e){var t=1==e,n=2==e,i=3==e,r=4==e,a=6==e,o=5==e||a;return function(s,l,u,c){for(var d,h,f=De(s),g=v(f),p=at(l,u,3),m=de(g.length),y=0,b=c||_e,w=t?b(s,m):n?b(s,0):void 0;m>y;y++)if((o||y in g)&&(h=p(d=g[y],y,f),e))if(t)w[y]=h;else if(h)switch(e){case 3:return!0;case 5:return d;case 6:return y;case 2:ot.call(w,d)}else if(r)return!1;return a?-1:i||r?r:w}},lt={forEach:st(0),map:st(1),filter:st(2),some:st(3),every:st(4),find:st(5),findIndex:st(6)},ut=function(e,t){var n=[][e];return!!n&&a((function(){n.call(null,t||function(){throw 1},1)}))},ct=Object.defineProperty,dt={},ht=function(e){throw e},ft=function(e,t){if(w(dt,e))return dt[e];t||(t={});var n=[][e],i=!!w(t,"ACCESSORS")&&t.ACCESSORS,r=w(t,0)?t[0]:ht,s=w(t,1)?t[1]:void 0;return dt[e]=!!n&&!a((function(){if(i&&!o)return!0;var e={length:-1};i?ct(e,1,{enumerable:!0,get:ht}):e[1]=1,n.call(e,r,s)}))},vt=lt.forEach,gt=ut("forEach"),pt=ft("for
Each"),mt=gt&&pt?[].forEach:function(e){return vt(this,e,arguments.length>1?arguments[1]:void 0)};Oe({target:"Array",proto:!0,forced:[].forEach!=mt},{forEach:mt});var yt=lt.map,bt=Je("map"),wt=ft("map");Oe({target:"Array",proto:!0,forced:!bt||!wt},{map:function(e){return yt(this,e,arguments.length>1?arguments[1]:void 0)}});var St=Object.keys||function(e){return ye(e,be)},Et=Object.assign,kt=Object.defineProperty,At=!Et||a((function(){if(o&&1!==Et({b:1},Et(kt({},"a",{enumerable:!0,get:function(){kt(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),i="abcdefghijklmnopqrst";return e[n]=7,i.split("").forEach((function(e){t[e]=e})),7!=Et({},e)[n]||St(Et({},t)).join("")!=i}))?function(e,t){for(var n=De(e),i=arguments.length,r=1,a=Ee.f,s=u.f;i>r;)for(var l,c=v(arguments[r++]),d=a?St(c).concat(a(c)):St(c),h=d.length,f=0;h>f;)l=d[f++],o&&!s.call(c,l)||(n[l]=c[l]);return n}:Et;Oe({target:"Object",stat:!0,forced:Object.assign!==At},{assign:At});var Rt,xt=o?Object
.defineProperties:function(e,t){L(e);for(var n,i=St(t),r=i.length,a=0;r>a;)P.f(e,n=i[a++],t[n]);return e},Lt=oe("document","documentElement"),Ct=K("IE_PROTO"),Pt=function(){},Nt=function(e){return"<script>"+e+"</"+"script>"},Mt=function(){try{Rt=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;Mt=Rt?function(e){e.write(Nt("")),e.close();var t=e.parentWindow.Object;return e=null,t}(Rt):((t=k("iframe")).style.display="none",Lt.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(Nt("document.F=Object")),e.close(),e.F);for(var n=be.length;n--;)delete Mt.prototype[be[n]];return Mt()};$[Ct]=!0;var It=Object.create||function(e,t){var n;return null!==e?(Pt.prototype=L(e),n=new Pt,Pt.prototype=null,n[Ct]=e):n=Mt(),void 0===t?n:xt(n,t)},Ot=Se.f,Tt={}.toString,Dt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],jt={f:function(e){return Dt&&"[object Window]"==Tt.call(e)?function(e){try{return Ot(
e)}catch(e){return Dt.slice()}}(e):Ot(p(e))}},zt={f:qe},Ht=P.f,Ft=P.f,Ut=qe("toStringTag"),Bt=function(e,t,n){e&&!w(e=n?e:e.prototype,Ut)&&Ft(e,Ut,{configurable:!0,value:t})},qt=lt.forEach,Wt=K("hidden"),_t="Symbol",Vt=qe("toPrimitive"),Kt=ne.set,$t=ne.getterFor(_t),Xt=Object.prototype,Yt=r.Symbol,Gt=oe("JSON","stringify"),Jt=x.f,Qt=P.f,Zt=jt.f,en=u.f,tn=B("symbols"),nn=B("op-symbols"),rn=B("string-to-symbol-registry"),an=B("symbol-to-string-registry"),on=B("wks"),sn=r.QObject,ln=!sn||!sn.prototype||!sn.prototype.findChild,un=o&&a((function(){return 7!=It(Qt({},"a",{get:function(){return Qt(this,"a",{value:7}).a}})).a}))?function(e,t,n){var i=Jt(Xt,t);i&&delete Xt[t],Qt(e,t,n),i&&e!==Xt&&Qt(Xt,t,i)}:Qt,cn=function(e,t){var n=tn[e]=It(Yt.prototype);return Kt(n,{type:_t,tag:e,description:t}),o||(n.description=t),n},dn=He?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof Yt},hn=function(e,t,n){e===Xt&&hn(nn,t,n),L(e);var i=y(t,!0);return L(n),w(tn,i)?(n.enume
rable?(w(e,Wt)&&e[Wt][i]&&(e[Wt][i]=!1),n=It(n,{enumerable:c(0,!1)})):(w(e,Wt)||Qt(e,Wt,c(1,{})),e[Wt][i]=!0),un(e,i,n)):Qt(e,i,n)},fn=function(e,t){L(e);var n=p(t),i=St(n).concat(mn(n));return qt(i,(function(t){o&&!vn.call(n,t)||hn(e,t,n[t])})),e},vn=function(e){var t=y(e,!0),n=en.call(this,t);return!(this===Xt&&w(tn,t)&&!w(nn,t))&&(!(n||!w(this,t)||!w(tn,t)||w(this,Wt)&&this[Wt][t])||n)},gn=function(e,t){var n=p(e),i=y(t,!0);if(n!==Xt||!w(tn,i)||w(nn,i)){var r=Jt(n,i);return!r||!w(tn,i)||w(n,Wt)&&n[Wt][i]||(r.enumerable=!0),r}},pn=function(e){var t=Zt(p(e)),n=[];return qt(t,(function(e){w(tn,e)||w($,e)||n.push(e)})),n},mn=function(e){var t=e===Xt,n=Zt(t?nn:p(e)),i=[];return qt(n,(function(e){!w(tn,e)||t&&!w(Xt,e)||i.push(tn[e])})),i};if(ze||(ie((Yt=function(){if(this instanceof Yt)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=_(e),n=function(e){this===Xt&&n.call(nn,e),w(this,Wt)&&w(this[Wt],t)&&(this[Wt][
t]=!1),un(this,t,c(1,e))};return o&&ln&&un(Xt,t,{configurable:!0,set:n}),cn(t,e)}).prototype,"toString",(function(){return $t(this).tag})),ie(Yt,"withoutSetter",(function(e){return cn(_(e),e)})),u.f=vn,P.f=hn,x.f=gn,Se.f=jt.f=pn,Ee.f=mn,zt.f=function(e){return cn(qe(e),e)},o&&(Qt(Yt.prototype,"description",{configurable:!0,get:function(){return $t(this).description}}),ie(Xt,"propertyIsEnumerable",vn,{unsafe:!0}))),Oe({global:!0,wrap:!0,forced:!ze,sham:!ze},{Symbol:Yt}),qt(St(on),(function(e){!function(e){var t=re.Symbol||(re.Symbol={});w(t,e)||Ht(t,e,{value:zt.f(e)})}(e)})),Oe({target:_t,stat:!0,forced:!ze},{for:function(e){var t=String(e);if(w(rn,t))return rn[t];var n=Yt(t);return rn[t]=n,an[n]=t,n},keyFor:function(e){if(!dn(e))throw TypeError(e+" is not a symbol");if(w(an,e))return an[e]},useSetter:function(){ln=!0},useSimple:function(){ln=!1}}),Oe({target:"Object",stat:!0,forced:!ze,sham:!o},{create:function(e,t){return void 0===t?It(e):fn(It(e),t)},defineProperty:hn,defineProper
ties:fn,getOwnPropertyDescriptor:gn}),Oe({target:"Object",stat:!0,forced:!ze},{getOwnPropertyNames:pn,getOwnPropertySymbols:mn}),Oe({target:"Object",stat:!0,forced:a((function(){Ee.f(1)}))},{getOwnPropertySymbols:function(e){return Ee.f(De(e))}}),Gt){var yn=!ze||a((function(){var e=Yt();return"[null]"!=Gt([e])||"{}"!=Gt({a:e})||"{}"!=Gt(Object(e))}));Oe({target:"JSON",stat:!0,forced:yn},{stringify:function(e,t,n){for(var i,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(i=t,(m(t)||void 0!==e)&&!dn(e))return Te(t)||(t=function(e,t){if("function"==typeof i&&(t=i.call(this,e,t)),!dn(t))return t}),r[1]=t,Gt.apply(null,r)}})}Yt.prototype[Vt]||N(Yt.prototype,Vt,Yt.prototype.valueOf),Bt(Yt,_t),$[Wt]=!0;var bn=P.f,wn=r.Symbol;if(o&&"function"==typeof wn&&(!("description"in wn.prototype)||void 0!==wn().description)){var Sn={},En=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof En?new wn(e):void 0===e?wn():wn(e);return""===e&&(Sn
[t]=!0),t};Ae(En,wn);var kn=En.prototype=wn.prototype;kn.constructor=En;var An=kn.toString,Rn="Symbol(test)"==String(wn("test")),xn=/^Symbol\((.*)\)[^)]+$/;bn(kn,"description",{configurable:!0,get:function(){var e=m(this)?this.valueOf():this,t=An.call(e);if(w(Sn,e))return"";var n=Rn?t.slice(7,-1):t.replace(xn,"$1");return""===n?void 0:n}}),Oe({global:!0,forced:!0},{Symbol:En})}var Ln=function(e,t,n,i){try{return i?t(L(n)[0],n[1]):t(n)}catch(t){var r=e.return;throw void 0!==r&&L(r.call(e)),t}},Cn={},Pn=qe("iterator"),Nn=Array.prototype,Mn=function(e){return void 0!==e&&(Cn.Array===e||Nn[Pn]===e)},In={};In[qe("toStringTag")]="z";var On="[object z]"===String(In),Tn=qe("toStringTag"),Dn="Arguments"==h(function(){return arguments}()),jn=On?h:function(e){var t,n,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),Tn))?n:Dn?h(t):"Object"==(i=h(t))&&"function"==typeof t.callee?"Arguments":i},zn=qe("iterator"),Hn=function(e
){if(null!=e)return e[zn]||e["@@iterator"]||Cn[jn(e)]},Fn=qe("iterator"),Un=!1;try{var Bn=0,qn={next:function(){return{done:!!Bn++}},return:function(){Un=!0}};qn[Fn]=function(){return this},Array.from(qn,(function(){throw 2}))}catch(e){}var Wn=function(e,t){if(!t&&!Un)return!1;var n=!1;try{var i={};i[Fn]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(e){}return n},_n=!Wn((function(e){Array.from(e)}));Oe({target:"Array",stat:!0,forced:_n},{from:function(e){var t,n,i,r,a,o,s=De(e),l="function"==typeof this?this:Array,u=arguments.length,c=u>1?arguments[1]:void 0,d=void 0!==c,h=Hn(s),f=0;if(d&&(c=at(c,u>2?arguments[2]:void 0,2)),null==h||l==Array&&Mn(h))for(n=new l(t=de(s.length));t>f;f++)o=d?c(s[f],f):s[f],je(n,f,o);else for(a=(r=h.call(s)).next,n=new l;!(i=a.call(r)).done;f++)o=d?Ln(r,c,[i.value,f],!0):i.value,je(n,f,o);return n.length=f,n}});var Vn=pe.indexOf,Kn=[].indexOf,$n=!!Kn&&1/[1].indexOf(1,-0)<0,Xn=ut("indexOf"),Yn=ft("indexOf",{ACCESSORS:!0,1:0});Oe({targe
t:"Array",proto:!0,forced:$n||!Xn||!Yn},{indexOf:function(e){return $n?Kn.apply(this,arguments)||0:Vn(this,e,arguments.length>1?arguments[1]:void 0)}});var Gn=Je("splice"),Jn=ft("splice",{ACCESSORS:!0,0:0,1:2}),Qn=Math.max,Zn=Math.min,ei=9007199254740991,ti="Maximum allowed length exceeded";Oe({target:"Array",proto:!0,forced:!Gn||!Jn},{splice:function(e,t){var n,i,r,a,o,s,l=De(this),u=de(l.length),c=ve(e,u),d=arguments.length;if(0===d?n=i=0:1===d?(n=0,i=u-c):(n=d-2,i=Zn(Qn(ue(t),0),u-c)),u+n-i>ei)throw TypeError(ti);for(r=_e(l,i),a=0;a<i;a++)(o=c+a)in l&&je(r,a,l[o]);if(r.length=i,n<i){for(a=c;a<u-i;a++)s=a+n,(o=a+i)in l?l[s]=l[o]:delete l[s];for(a=u;a>u-i+n;a--)delete l[a-1]}else if(n>i)for(a=u-i;a>c;a--)s=a+n-1,(o=a+i-1)in l?l[s]=l[o]:delete l[s];for(a=0;a<n;a++)l[a+c]=arguments[a+2];return l.length=u-i+n,r}});var ni=P.f,ii=Function.prototype,ri=ii.toString,ai=/^\s*function ([^ (]*)/,oi="name";o&&!(oi in ii)&&ni(ii,oi,{configurable:!0,get:function(){try{return ri.call(this).match(
ai)[1]}catch(e){return""}}});var si=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(e){}return function(n,i){return L(n),function(e){if(!m(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype")}(i),t?e.call(n,i):n.__proto__=i,n}}():void 0),li=function(e,t,n){var i,r;return si&&"function"==typeof(i=t.constructor)&&i!==n&&m(r=i.prototype)&&r!==n.prototype&&si(e,r),e},ui="\t\n\v\f\r \u2028\u2029\ufeff",ci="["+ui+"]",di=RegExp("^"+ci+ci+"*"),hi=RegExp(ci+ci+"*$"),fi=function(e){return function(t){var n=String(g(t));return 1&e&&(n=n.replace(di,"")),2&e&&(n=n.replace(hi,"")),n}},vi={start:fi(1),end:fi(2),trim:fi(3)},gi=Se.f,pi=x.f,mi=P.f,yi=vi.trim,bi="Number",wi=r.Number,Si=wi.prototype,Ei=h(It(Si))==bi,ki=function(e){var t,n,i,r,a,o,s,l,u=y(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=yi
(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+u}for(o=(a=u.slice(2)).length,s=0;s<o;s++)if((l=a.charCodeAt(s))<48||l>r)return NaN;return parseInt(a,i)}return+u};if(Me(bi,!wi(" 0o1")||!wi("0b1")||wi("+0x1"))){for(var Ai,Ri=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof Ri&&(Ei?a((function(){Si.valueOf.call(n)})):h(n)!=bi)?li(new wi(ki(t)),n,Ri):ki(t)},xi=o?gi(wi):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),Li=0;xi.length>Li;Li++)w(wi,Ai=xi[Li])&&!w(Ri,Ai)&&mi(Ri,Ai,pi(wi,Ai));Ri.prototype=Si,Si.constructor=Ri,ie(r,bi,Ri)}var Ci=On?{}.toString:function(){return"[object "+jn(this)+"]"};On||ie(Object.prototype,"toString",Ci,{unsafe:!0});var Pi,Ni,Mi,Ii=r.Promise,Oi=qe("species"),Ti=
n((function(e){var t=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,n,i,r,a){var o,s,l,u,c,d,h,f=at(n,i,r?2:1);if(a)o=e;else{if("function"!=typeof(s=Hn(e)))throw TypeError("Target is not iterable");if(Mn(s)){for(l=0,u=de(e.length);u>l;l++)if((c=r?f(L(h=e[l])[0],h[1]):f(e[l]))&&c instanceof t)return c;return new t(!1)}o=s.call(e)}for(d=o.next;!(h=d.call(o)).done;)if("object"==typeof(c=Ln(o,f,h.value,r))&&c&&c instanceof t)return c;return new t(!1)}).stop=function(e){return new t(!0,e)}})),Di=qe("species"),ji=function(e,t){var n,i=L(e).constructor;return void 0===i||null==(n=L(i)[Di])?t:rt(n)},zi=/(iphone|ipod|ipad).*applewebkit/i.test(Ve),Hi=r.location,Fi=r.setImmediate,Ui=r.clearImmediate,Bi=r.process,qi=r.MessageChannel,Wi=r.Dispatch,_i=0,Vi={},Ki="onreadystatechange",$i=function(e){if(Vi.hasOwnProperty(e)){var t=Vi[e];delete Vi[e],t()}},Xi=function(e){return function(){$i(e)}},Yi=function(e){$i(e.data)},Gi=function(e){r.postMessage(e+"",Hi.protocol+"//"+Hi.host)
};Fi&&Ui||(Fi=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return Vi[++_i]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},Pi(_i),_i},Ui=function(e){delete Vi[e]},"process"==h(Bi)?Pi=function(e){Bi.nextTick(Xi(e))}:Wi&&Wi.now?Pi=function(e){Wi.now(Xi(e))}:qi&&!zi?(Mi=(Ni=new qi).port2,Ni.port1.onmessage=Yi,Pi=at(Mi.postMessage,Mi,1)):!r.addEventListener||"function"!=typeof postMessage||r.importScripts||a(Gi)||"file:"===Hi.protocol?Pi=Ki in k("script")?function(e){Lt.appendChild(k("script")).onreadystatechange=function(){Lt.removeChild(this),$i(e)}}:function(e){setTimeout(Xi(e),0)}:(Pi=Gi,r.addEventListener("message",Yi,!1)));var Ji,Qi,Zi,er,tr,nr,ir,rr,ar={set:Fi,clear:Ui},or=x.f,sr=ar.set,lr=r.MutationObserver||r.WebKitMutationObserver,ur=r.process,cr=r.Promise,dr="process"==h(ur),hr=or(r,"queueMicrotask"),fr=hr&&hr.value;fr||(Ji=function(){var e,t;for(dr&&(e=ur.domain)&&e.exit();Qi;){t=Qi.fn,Qi=Qi.next;try{t()}catch(e){throw Qi?er():Zi=v
oid 0,e}}Zi=void 0,e&&e.enter()},dr?er=function(){ur.nextTick(Ji)}:lr&&!zi?(tr=!0,nr=document.createTextNode(""),new lr(Ji).observe(nr,{characterData:!0}),er=function(){nr.data=tr=!tr}):cr&&cr.resolve?(ir=cr.resolve(void 0),rr=ir.then,er=function(){rr.call(ir,Ji)}):er=function(){sr.call(r,Ji)});var vr,gr,pr,mr,yr=fr||function(e){var t={fn:e,next:void 0};Zi&&(Zi.next=t),Qi||(Qi=t,er()),Zi=t},br=function(e){var t,n;this.promise=new e((function(e,i){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=i})),this.resolve=rt(t),this.reject=rt(n)},wr={f:function(e){return new br(e)}},Sr=function(e,t){if(L(e),m(t)&&t.constructor===e)return t;var n=wr.f(e);return(0,n.resolve)(t),n.promise},Er=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},kr=ar.set,Ar=qe("species"),Rr="Promise",xr=ne.get,Lr=ne.set,Cr=ne.getterFor(Rr),Pr=Ii,Nr=r.TypeError,Mr=r.document,Ir=r.process,Or=oe("fetch"),Tr=wr.f,Dr=Tr,jr="process"==h(Ir),zr=!!(Mr&&Mr.createEvent&&
r.dispatchEvent),Hr="unhandledrejection",Fr=Me(Rr,(function(){if(!(H(Pr)!==String(Pr))){if(66===Ye)return!0;if(!jr&&"function"!=typeof PromiseRejectionEvent)return!0}if(Ye>=51&&/native code/.test(Pr))return!1;var e=Pr.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[Ar]=t,!(e.then((function(){}))instanceof t)})),Ur=Fr||!Wn((function(e){Pr.all(e).catch((function(){}))})),Br=function(e){var t;return!(!m(e)||"function"!=typeof(t=e.then))&&t},qr=function(e,t,n){if(!t.notified){t.notified=!0;var i=t.reactions;yr((function(){for(var r=t.value,a=1==t.state,o=0;i.length>o;){var s,l,u,c=i[o++],d=a?c.ok:c.fail,h=c.resolve,f=c.reject,v=c.domain;try{d?(a||(2===t.rejection&&Kr(e,t),t.rejection=1),!0===d?s=r:(v&&v.enter(),s=d(r),v&&(v.exit(),u=!0)),s===c.promise?f(Nr("Promise-chain cycle")):(l=Br(s))?l.call(s,h,f):h(s)):f(r)}catch(e){v&&!u&&v.exit(),f(e)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&_r(e,t)}))}},Wr=function(e,t,n){var i,a;zr?((i=Mr.createEvent(
"Event")).promise=t,i.reason=n,i.initEvent(e,!1,!0),r.dispatchEvent(i)):i={promise:t,reason:n},(a=r["on"+e])?a(i):e===Hr&&function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}("Unhandled promise rejection",n)},_r=function(e,t){kr.call(r,(function(){var n,i=t.value;if(Vr(t)&&(n=Er((function(){jr?Ir.emit("unhandledRejection",i,e):Wr(Hr,e,i)})),t.rejection=jr||Vr(t)?2:1,n.error))throw n.value}))},Vr=function(e){return 1!==e.rejection&&!e.parent},Kr=function(e,t){kr.call(r,(function(){jr?Ir.emit("rejectionHandled",e):Wr("rejectionhandled",e,t.value)}))},$r=function(e,t,n,i){return function(r){e(t,n,r,i)}},Xr=function(e,t,n,i){t.done||(t.done=!0,i&&(t=i),t.value=n,t.state=2,qr(e,t,!0))},Yr=function(e,t,n,i){if(!t.done){t.done=!0,i&&(t=i);try{if(e===n)throw Nr("Promise can't be resolved itself");var r=Br(n);r?yr((function(){var i={done:!1};try{r.call(n,$r(Yr,e,i,t),$r(Xr,e,i,t))}catch(n){Xr(e,i,n,t)}})):(t.value=n,t.state=1,qr(e,t,!1))}catch(n){Xr(e,{do
ne:!1},n,t)}}};Fr&&(Pr=function(e){!function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation")}(this,Pr,Rr),rt(e),vr.call(this);var t=xr(this);try{e($r(Yr,this,t),$r(Xr,this,t))}catch(e){Xr(this,t,e)}},(vr=function(e){Lr(this,{type:Rr,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=function(e,t,n){for(var i in t)ie(e,i,t[i],n);return e}(Pr.prototype,{then:function(e,t){var n=Cr(this),i=Tr(ji(this,Pr));return i.ok="function"!=typeof e||e,i.fail="function"==typeof t&&t,i.domain=jr?Ir.domain:void 0,n.parent=!0,n.reactions.push(i),0!=n.state&&qr(this,n,!1),i.promise},catch:function(e){return this.then(void 0,e)}}),gr=function(){var e=new vr,t=xr(e);this.promise=e,this.resolve=$r(Yr,e,t),this.reject=$r(Xr,e,t)},wr.f=Tr=function(e){return e===Pr||e===pr?new gr(e):Dr(e)},"function"==typeof Ii&&(mr=Ii.prototype.then,ie(Ii.prototype,"then",(function(e,t){var n=this;return new Pr((function(e,t){mr.call(n,e,t)})).then
(e,t)}),{unsafe:!0}),"function"==typeof Or&&Oe({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return Sr(Pr,Or.apply(r,arguments))}}))),Oe({global:!0,wrap:!0,forced:Fr},{Promise:Pr}),Bt(Pr,Rr,!1),function(e){var t=oe(e),n=P.f;o&&t&&!t[Oi]&&n(t,Oi,{configurable:!0,get:function(){return this}})}(Rr),pr=oe(Rr),Oe({target:Rr,stat:!0,forced:Fr},{reject:function(e){var t=Tr(this);return t.reject.call(void 0,e),t.promise}}),Oe({target:Rr,stat:!0,forced:Fr},{resolve:function(e){return Sr(this,e)}}),Oe({target:Rr,stat:!0,forced:Ur},{all:function(e){var t=this,n=Tr(t),i=n.resolve,r=n.reject,a=Er((function(){var n=rt(t.resolve),a=[],o=0,s=1;Ti(e,(function(e){var l=o++,u=!1;a.push(void 0),s++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--s||i(a))}),r)})),--s||i(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=Tr(t),i=n.reject,r=Er((function(){var r=rt(t.resolve);Ti(e,(function(e){r.call(t,e).then(n.resolve,i)}))}));return r.error&&i(r.value),n.promise}});var Gr
=function(){var e=L(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t};function Jr(e,t){return RegExp(e,t)}var Qr,Zr,ea={UNSUPPORTED_Y:a((function(){var e=Jr("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),BROKEN_CARET:a((function(){var e=Jr("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},ta=RegExp.prototype.exec,na=String.prototype.replace,ia=ta,ra=(Qr=/a/,Zr=/b*/g,ta.call(Qr,"a"),ta.call(Zr,"a"),0!==Qr.lastIndex||0!==Zr.lastIndex),aa=ea.UNSUPPORTED_Y||ea.BROKEN_CARET,oa=void 0!==/()??/.exec("")[1];(ra||oa||aa)&&(ia=function(e){var t,n,i,r,a=this,o=aa&&a.sticky,s=Gr.call(a),l=a.source,u=0,c=e;return o&&(-1===(s=s.replace("y","")).indexOf("g")&&(s+="g"),c=String(e).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==e[a.lastIndex-1])&&(l="(?: "+l+")",c=" "+c,u++),n=new RegExp("^(?:"+l+")",s)),oa&&(n=new RegExp("^"+l+"$(?!\\s)",s)),ra&&(t=a.lastIndex),i=ta.call(o
?n:a,c),o?i?(i.input=i.input.slice(u),i[0]=i[0].slice(u),i.index=a.lastIndex,a.lastIndex+=i[0].length):a.lastIndex=0:ra&&i&&(a.lastIndex=a.global?i.index+i[0].length:t),oa&&i&&i.length>1&&na.call(i[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(i[r]=void 0)})),i});var sa=ia;Oe({target:"RegExp",proto:!0,forced:/./.exec!==sa},{exec:sa});var la,ua,ca,da=function(e){return function(t,n){var i,r,a=String(g(t)),o=ue(n),s=a.length;return o<0||o>=s?e?"":void 0:(i=a.charCodeAt(o))<55296||i>56319||o+1===s||(r=a.charCodeAt(o+1))<56320||r>57343?e?a.charAt(o):i:e?a.slice(o,o+2):r-56320+(i-55296<<10)+65536}},ha={codeAt:da(!1),charAt:da(!0)},fa=!a((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),va=K("IE_PROTO"),ga=Object.prototype,pa=fa?Object.getPrototypeOf:function(e){return e=De(e),w(e,va)?e[va]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?ga:null},m
a=qe("iterator"),ya=!1;[].keys&&("next"in(ca=[].keys())?(ua=pa(pa(ca)))!==Object.prototype&&(la=ua):ya=!0),null==la&&(la={}),w(la,ma)||N(la,ma,(function(){return this}));var ba={IteratorPrototype:la,BUGGY_SAFARI_ITERATORS:ya},wa=ba.IteratorPrototype,Sa=function(){return this},Ea=ba.IteratorPrototype,ka=ba.BUGGY_SAFARI_ITERATORS,Aa=qe("iterator"),Ra="keys",xa="values",La="entries",Ca=function(){return this},Pa=ha.charAt,Na="String Iterator",Ma=ne.set,Ia=ne.getterFor(Na);!function(e,t,n,i,r,a,o){!function(e,t,n){var i=t+" Iterator";e.prototype=It(wa,{next:c(1,n)}),Bt(e,i,!1),Cn[i]=Sa}(n,t,i);var s,l,u,d=function(e){if(e===r&&p)return p;if(!ka&&e in v)return v[e];switch(e){case Ra:case xa:case La:return function(){return new n(this,e)}}return function(){return new n(this)}},h=t+" Iterator",f=!1,v=e.prototype,g=v[Aa]||v["@@iterator"]||r&&v[r],p=!ka&&g||d(r),m="Array"==t&&v.entries||g;if(m&&(s=pa(m.call(new e)),Ea!==Object.prototype&&s.next&&(pa(s)!==Ea&&(si?si(s,Ea):"function"!=typeof s
[Aa]&&N(s,Aa,Ca)),Bt(s,h,!0))),r==xa&&g&&g.name!==xa&&(f=!0,p=function(){return g.call(this)}),v[Aa]!==p&&N(v,Aa,p),Cn[t]=p,r)if(l={values:d(xa),keys:a?p:d(Ra),entries:d(La)},o)for(u in l)(ka||f||!(u in v))&&ie(v,u,l[u]);else Oe({target:t,proto:!0,forced:ka||f},l)}(String,"String",(function(e){Ma(this,{type:Na,string:String(e),index:0})}),(function(){var e,t=Ia(this),n=t.string,i=t.index;return i>=n.length?{value:void 0,done:!0}:(e=Pa(n,i),t.index+=e.length,{value:e,done:!1})}));var Oa=qe("species"),Ta=!a((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Da="$0"==="a".replace(/./,"$0"),ja=qe("replace"),za=!!/./[ja]&&""===/./[ja]("a","$0"),Ha=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),Fa=function(e,t,n,i){var r=qe(e),o=!a((function(){var t={};return t[r]=function(){return 7},7!=""[e](t)})),s=o&&!a((function(){var
t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[Oa]=function(){return n},n.flags="",n[r]=/./[r]),n.exec=function(){return t=!0,null},n[r](""),!t}));if(!o||!s||"replace"===e&&(!Ta||!Da||za)||"split"===e&&!Ha){var l=/./[r],u=n(r,""[e],(function(e,t,n,i,r){return t.exec===sa?o&&!r?{done:!0,value:l.call(t,n,i)}:{done:!0,value:e.call(n,t,i)}:{done:!1}}),{REPLACE_KEEPS_$0:Da,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:za}),c=u[0],d=u[1];ie(String.prototype,e,c),ie(RegExp.prototype,r,2==t?function(e,t){return d.call(e,this,t)}:function(e){return d.call(e,this)})}i&&N(RegExp.prototype[r],"sham",!0)},Ua=ha.charAt,Ba=function(e,t,n){return t+(n?Ua(e,t).length:1)},qa=function(e,t){var n=e.exec;if("function"==typeof n){var i=n.call(e,t);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==h(e))throw TypeError("RegExp#exec called on incompatible receiver");return sa.call(e,t)};Fa("match",1,(functio
n(e,t,n){return[function(t){var n=g(this),i=null==t?void 0:t[e];return void 0!==i?i.call(t,n):new RegExp(t)[e](String(n))},function(e){var i=n(t,e,this);if(i.done)return i.value;var r=L(e),a=String(this);if(!r.global)return qa(r,a);var o=r.unicode;r.lastIndex=0;for(var s,l=[],u=0;null!==(s=qa(r,a));){var c=String(s[0]);l[u]=c,""===c&&(r.lastIndex=Ba(a,de(r.lastIndex),o)),u++}return 0===u?null:l}]}));var Wa=qe("match"),_a=[].push,Va=Math.min,Ka=4294967295,$a=!a((function(){return!RegExp(Ka,"y")}));Fa("split",2,(function(e,t,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var i,r,a=String(g(this)),o=void 0===n?Ka:n>>>0;if(0===o)return[];if(void 0===e)return[a];if(!m(i=e)||!(void 0!==(r=i[Wa])?r:"RegExp"==h(i)))return t.call(a,e,o);for(var s,l,u,c=[],d=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?
"y":""),f=0,v=new RegExp(e.source,d+"g");(s=sa.call(v,a))&&!((l=v.lastIndex)>f&&(c.push(a.slice(f,s.index)),s.length>1&&s.index<a.length&&_a.apply(c,s.slice(1)),u=s[0].length,f=l,c.length>=o));)v.lastIndex===s.index&&v.lastIndex++;return f===a.length?!u&&v.test("")||c.push(""):c.push(a.slice(f)),c.length>o?c.slice(0,o):c}:"0".split(void 0,0).length?function(e,n){return void 0===e&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=g(this),a=null==t?void 0:t[e];return void 0!==a?a.call(t,r,n):i.call(String(r),t,n)},function(e,r){var a=n(i,e,this,r,i!==t);if(a.done)return a.value;var o=L(e),s=String(this),l=ji(o,RegExp),u=o.unicode,c=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+($a?"y":"g"),d=new l($a?o:"^(?:"+o.source+")",c),h=void 0===r?Ka:r>>>0;if(0===h)return[];if(0===s.length)return null===qa(d,s)?[s]:[];for(var f=0,v=0,g=[];v<s.length;){d.lastIndex=$a?v:0;var p,m=qa(d,$a?s:s.slice(v));if(null===m||(p=Va(de(d.lastIndex+($a?0:v)),s.length))===f)v=Ba(s,v,u);else{if(
g.push(s.slice(f,v)),g.length===h)return g;for(var y=1;y<=m.length-1;y++)if(g.push(m[y]),g.length===h)return g;v=f=p}}return g.push(s.slice(f)),g}]}),!$a);var Xa,Ya=vi.trim;Oe({target:"String",proto:!0,forced:(Xa="trim",a((function(){return!!ui[Xa]()||"
"!="
"[Xa]()||ui[Xa].name!==Xa})))},{trim:function(){return Ya(this)}});for(var Ga in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var Ja=r[Ga],Qa=Ja&&Ja.prototype;if(Qa&&Qa.forEach!==mt)try{N(Qa,"forEach",mt)}catch(e){Qa.forEach=mt}}function Za(e){return(Za="function"==t
ypeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function eo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function to(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function no(e,t,n){return t&&to(e.prototype,t),n&&to(e,n),e}function io(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ro(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ao(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ro(Object(n),!0).forEach((function(t){io(e
,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ro(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oo(e){return function(e){if(Array.isArray(e))return so(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return so(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return so(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function so(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var lo=".slides section",uo
=".slides>section",co=".slides>section.present>section",ho=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,fo=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/,vo=Math.max,go=Math.min,po=Math.floor,mo=/\$([$&'`]|\d\d?|<[^>]*>)/g,yo=/\$([$&'`]|\d\d?)/g;Fa("replace",2,(function(e,t,n,i){var r=i.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,a=i.REPLACE_KEEPS_$0,o=r?"$":"$0";return[function(n,i){var r=g(this),a=null==n?void 0:n[e];return void 0!==a?a.call(n,r,i):t.call(String(r),n,i)},function(e,i){if(!r&&a||"string"==typeof i&&-1===i.indexOf(o)){var l=n(t,e,this,i);if(l.done)return l.value}var u=L(e),c=String(this),d="function"==typeof i;d||(i=String(i));var h=u.global;if(h){var f=u.unicode;u.lastIndex=0}for(var v=[];;){var g=qa(u,c);if(null===g)break;if(v.push(g),!h)break;""===String(g[0])&&(u.lastIndex=Ba(c,de(u.lastIndex),f))}for(var p,m="",y=0,b=0;b<v.length;b++){g=v[b];for(var w=String(g[0]),S=vo(go(ue(g.
index),c.length),0),E=[],k=1;k<g.length;k++)E.push(void 0===(p=g[k])?p:String(p));var A=g.groups;if(d){var R=[w].concat(E,S,c);void 0!==A&&R.push(A);var x=String(i.apply(void 0,R))}else x=s(w,c,S,E,A,i);S>=y&&(m+=c.slice(y,S)+x,y=S+w.length)}return m+c.slice(y)}];function s(e,n,i,r,a,o){var s=i+e.length,l=r.length,u=yo;return void 0!==a&&(a=De(a),u=mo),t.call(o,u,(function(t,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,i);case"'":return n.slice(s);case"<":u=a[o.slice(1,-1)];break;default:var c=+o;if(0===c)return t;if(c>l){var d=po(c/10);return 0===d?t:d<=l?void 0===r[d-1]?o.charAt(1):r[d-1]+o.charAt(1):t}u=r[c-1]}return void 0===u?"":u}))}}));var bo=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};Fa("search",1,(function(e,t,n){return[function(t){var n=g(this),i=null==t?void 0:t[e];return void 0!==i?i.call(t,n):new RegExp(t)[e](String(n))},function(e){var i=n(t,e,this);if(i.done)return i.value;var r=L(e),a=String(this),o=r
.lastIndex;bo(o,0)||(r.lastIndex=0);var s=qa(r,a);return bo(r.lastIndex,o)||(r.lastIndex=o),null===s?-1:s.index}]}));var wo=function(e,t){for(var n in t)e[n]=t[n];return e},So=function(e,t){return Array.from(e.querySelectorAll(t))},Eo=function(e,t,n){n?e.classList.add(t):e.classList.remove(t)},ko=function(e){if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},Ao=function(e,t){e.style.transform=t},Ro=function(e,t){var n=e.matches||e.matchesSelector||e.msMatchesSelector;return!(!n||!n.call(e,t))},xo=function(e,t){if("function"==typeof e.closest)return e.closest(t);for(;e;){if(Ro(e,t))return e;e=e.parentNode}return null},Lo=function(e,t,n){for(var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=e.querySelectorAll("."+n),a=0;a<r.length;a++){var o=r[a];if(o.parentNode===e)return o}var s=document.createElement(t);return s.className=n,s.innerHTML=i,e.appendChild(s),s},Co=funct
ion(e){var t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},Po=function(){var e={};for(var t in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(function(t){e[t.split("=").shift()]=t.split("=").pop()})),e){var n=e[t];e[t]=ko(unescape(n))}return void 0!==e.dependencies&&delete e.dependencies,e},No=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e){var n,i=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",n=t-e.parentNode.offsetHeight,e.style.height=i+"px",e.parentNode.style.removeProperty("height"),n}return t},Mo=navigator.userAgent,Io=document.createElement("div"),Oo=/(iphone|ipod|ipad|android)/gi.test(Mo)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,To=/chrome/i.test(Mo)&&!/edge/i.test(Mo),Do=/android/gi.test(Mo),jo="zoom"in Io.style&&!Oo&&(To||/Version\/[\d\.]+.*Safari/.te
st(Mo)),zo=t(n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};t.default=function(e){if(e){var t=function(e){return[].slice.call(e)},i=0,r=1,a=2,o=3,s=[],l=null,u="requestAnimationFrame"in e?function(){e.cancelAnimationFrame(l),l=e.requestAnimationFrame((function(){return d(s.filter((function(e){return e.dirty&&e.active})))}))}:function(){},c=function(e){return function(){s.forEach((function(t){return t.dirty=e})),u()}},d=function(e){e.filter((function(e){return!e.styleComputed})).forEach((function(e){e.styleComputed=g(e)})),e.filter(p).forEach(m);var t=e.filter(v);t.forEach(f),t.forEach((function(e){m(e),h(e)})),t.forEach(y)},h=function(e){return e.dirty=i},f=function(e){e.availableWidth=e.element.parentNode.clientWidth,e.currentWidth=e.element.scrollWidth,e.previousFontSize=e.currentFontSize,e.curren
tFontSize=Math.min(Math.max(e.minSize,e.availableWidth/e.currentWidth*e.previousFontSize),e.maxSize),e.whiteSpace=e.multiLine&&e.currentFontSize===e.minSize?"normal":"nowrap"},v=function(e){return e.dirty!==a||e.dirty===a&&e.element.parentNode.clientWidth!==e.availableWidth},g=function(t){var n=e.getComputedStyle(t.element,null);t.currentFontSize=parseInt(n.getPropertyValue("font-size"),10),t.display=n.getPropertyValue("display"),t.whiteSpace=n.getPropertyValue("white-space")},p=function(e){var t=!1;return!e.preStyleTestCompleted&&(/inline-/.test(e.display)||(t=!0,e.display="inline-block"),"nowrap"!==e.whiteSpace&&(t=!0,e.whiteSpace="nowrap"),e.preStyleTestCompleted=!0,t)},m=function(e){e.originalStyle||(e.originalStyle=e.element.getAttribute("style")||""),e.element.style.cssText=e.originalStyle+";white-space:"+e.whiteSpace+";display:"+e.display+";font-size:"+e.currentFontSize+"px"},y=function(e){e.element.dispatchEvent(new CustomEvent("fit",{detail:{oldValue:e.previousFontSize,newV
alue:e.currentFontSize,scaleFactor:e.currentFontSize/e.previousFontSize}}))},b=function(e,t){return function(){e.dirty=t,e.active&&u()}},w=function(e){return function(){s=s.filter((function(t){return t.element!==e.element})),e.observeMutations&&e.observer.disconnect(),e.element.style.cssText=e.originalStyle}},S=function(e){return function(){e.active||(e.active=!0,u())}},E=function(e){return function(){return e.active=!1}},k=function(e){e.observeMutations&&(e.observer=new MutationObserver(b(e,r)),e.observer.observe(e.element,e.observeMutations))},A={minSize:16,maxSize:512,multiLine:!0,observeMutations:"MutationObserver"in e&&{subtree:!0,childList:!0,characterData:!0}},R=null,x=function(){e.clearTimeout(R),R=e.setTimeout(c(a),P.observeWindowDelay)},L=["resize","orientationchange"];return Object.defineProperty(P,"observeWindow",{set:function(t){var n=(t?"add":"remove")+"EventListener";L.forEach((function(t){e[n](t,x)}))}}),P.observeWindow=!0,P.observeWindowDelay=100,P.fitAll=c(o),P}fun
ction C(e,t){var i=n({},A,t),r=e.map((function(e){var t=n({},i,{element:e,active:!0});return function(e){k(e),e.newbie=!0,e.dirty=!0,s.push(e)}(t),{element:e,fit:b(t,o),unfreeze:S(t),freeze:E(t),unsubscribe:w(t)}}));return u(),r}function P(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e?C(t(document.querySelectorAll(e)),n):C([e],n)[0]}}("undefined"==typeof window?null:window)}))),Ho=function(){function e(t){eo(this,e),this.Reveal=t,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}return no(e,[{key:"shouldPreload",value:function(e){var t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}},{key:"load",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.style.display=this.Reveal.getConfig().display,So(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((function(e){("IFRAME"!==e.tagName||t.shouldPreload(e))&&(e.se
tAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),So(e,"video, audio").forEach((function(e){var t=0;So(e,"source[data-src]").forEach((function(e){e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("data-src"),e.setAttribute("data-lazy-loaded",""),t+=1})),Oo&&"VIDEO"===e.tagName&&e.setAttribute("playsinline",""),t>0&&e.load()}));var i=e.slideBackgroundElement;if(i){i.style.display="block";var r=e.slideBackgroundContentElement,a=e.getAttribute("data-background-iframe");if(!1===i.hasAttribute("data-loaded")){i.setAttribute("data-loaded","true");var o=e.getAttribute("data-background-image"),s=e.getAttribute("data-background-video"),l=e.hasAttribute("data-background-video-loop"),u=e.hasAttribute("data-background-video-muted");if(o)r.style.backgroundImage="url("+encodeURI(o)+")";else if(s&&!this.Reveal.isSpeakerNotes()){var c=document.createElement("video");l&&c.setAttribute("loop",""),u&&(c.muted=!0),Oo&&(
c.muted=!0,c.setAttribute("playsinline","")),s.split(",").forEach((function(e){c.innerHTML+='<source src="'+e+'">'})),r.appendChild(c)}else if(a&&!0!==n.excludeIframes){var d=document.createElement("iframe");d.setAttribute("allowfullscreen",""),d.setAttribute("mozallowfullscreen",""),d.setAttribute("webkitallowfullscreen",""),d.setAttribute("allow","autoplay"),d.setAttribute("data-src",a),d.style.width="100%",d.style.height="100%",d.style.maxHeight="100%",d.style.maxWidth="100%",r.appendChild(d)}}var h=r.querySelector("iframe[data-src]");h&&this.shouldPreload(i)&&!/autoplay=(1|true|yes)/gi.test(a)&&h.getAttribute("src")!==a&&h.setAttribute("src",a)}Array.from(e.querySelectorAll(".r-fit-text:not([data-fitted])")).forEach((function(e){e.dataset.fitted="",zo(e,{minSize:24,maxSize:.8*t.Reveal.getConfig().height,observeMutations:!1,observeWindow:!1})}))}},{key:"unload",value:function(e){e.style.display="none";var t=this.Reveal.getSlideBackground(e);t&&(t.style.display="none",So(t,"iframe
[src]").forEach((function(e){e.removeAttribute("src")}))),So(e,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((function(e){e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")})),So(e,"video[data-lazy-loaded] source[src], audio source[src]").forEach((function(e){e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")}))}},{key:"formatEmbeddedContent",value:function(){var e=this,t=function(t,n,i){So(e.Reveal.getSlidesElement(),"iframe["+t+'*="'+n+'"]').forEach((function(e){var n=e.getAttribute(t);n&&-1===n.indexOf(i)&&e.setAttribute(t,n+(/\?/.test(n)?"&":"?")+i)}))};t("src","youtube.com/embed/","enablejsapi=1"),t("data-src","youtube.com/embed/","enablejsapi=1"),t("src","player.vimeo.com/","api=1"),t("data-src","player.vimeo.com/","api=1")}},{key:"startEmbeddedContent",value:function(e){var t=this;e&&!this.Reveal.isSpeakerNotes()&&(So(e,'img[src$=".gif"]').forEach((function(e){e.setAttribute("
src",e.getAttribute("src"))})),So(e,"video, audio").forEach((function(e){if(!xo(e,".fragment")||xo(e,".fragment.visible")){var n=t.Reveal.getConfig().autoPlayMedia;if("boolean"!=typeof n&&(n=e.hasAttribute("data-autoplay")||!!xo(e,".slide-background")),n&&"function"==typeof e.play)if(e.readyState>1)t.startEmbeddedMedia({target:e});else if(Oo){var i=e.play();i&&"function"==typeof i.catch&&!1===e.controls&&i.catch((function(){e.controls=!0,e.addEventListener("play",(function(){e.controls=!1}))}))}else e.removeEventListener("loadeddata",t.startEmbeddedMedia),e.addEventListener("loadeddata",t.startEmbeddedMedia)}})),So(e,"iframe[src]").forEach((function(e){xo(e,".fragment")&&!xo(e,".fragment.visible")||t.startEmbeddedIframe({target:e})})),So(e,"iframe[data-src]").forEach((function(e){xo(e,".fragment")&&!xo(e,".fragment.visible")||e.getAttribute("src")!==e.getAttribute("data-src")&&(e.removeEventListener("load",t.startEmbeddedIframe),e.addEventListener("load",t.startEmbeddedIframe),e.set
Attribute("src",e.getAttribute("data-src")))})))}},{key:"startEmbeddedMedia",value:function(e){var t=!!xo(e.target,"html"),n=!!xo(e.target,".present");t&&n&&(e.target.currentTime=0,e.target.play()),e.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}},{key:"startEmbeddedIframe",value:function(e){var t=e.target;if(t&&t.contentWindow){var n=!!xo(e.target,"html"),i=!!xo(e.target,".present");if(n&&i){var r=this.Reveal.getConfig().autoPlayMedia;"boolean"!=typeof r&&(r=t.hasAttribute("data-autoplay")||!!xo(t,".slide-background")),/youtube\.com\/embed\//.test(t.getAttribute("src"))&&r?t.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(t.getAttribute("src"))&&r?t.contentWindow.postMessage('{"method":"play"}',"*"):t.contentWindow.postMessage("slide:start","*")}}}},{key:"stopEmbeddedContent",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n=wo({unloadIframes:!0},n),e&&e.parentN
ode&&(So(e,"video, audio").forEach((function(e){e.hasAttribute("data-ignore")||"function"!=typeof e.pause||(e.setAttribute("data-paused-by-reveal",""),e.pause())})),So(e,"iframe").forEach((function(e){e.contentWindow&&e.contentWindow.postMessage("slide:stop","*"),e.removeEventListener("load",t.startEmbeddedIframe)})),So(e,'iframe[src*="youtube.com/embed/"]').forEach((function(e){!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")})),So(e,'iframe[src*="player.vimeo.com/"]').forEach((function(e){!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"method":"pause"}',"*")})),!0===n.unloadIframes&&So(e,"iframe[data-src]").forEach((function(e){e.setAttribute("src","about:blank"),e.removeAttribute("src")})))}}]),e}(),Fo=function(){function e(t){eo(this,e),this.Reveal=t}return no(e,[{key:"
render",value:function(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}},{key:"configure",value:function(e,t){var n="none";e.slideNumber&&!this.Reveal.isPrintingPDF()&&("all"===e.showSlideNumber||"speaker"===e.showSlideNumber&&this.Reveal.isSpeakerNotes())&&(n="block"),this.element.style.display=n}},{key:"update",value:function(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}},{key:"getSlideNumber",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.Reveal.getCurrentSlide(),n=this.Reveal.getConfig(),i="h.v";if("function"==typeof n.slideNumber)e=n.slideNumber(t);else{"string"==typeof n.slideNumber&&(i=n.slideNumber),/c/.test(i)||1!==this.Reveal.getHorizontalSlides().length||(i="c");var r=t&&"uncounted"===t.dataset.visibility?0:1;switch(e=[],i){case"c":e.push(this.Reveal.getSlidePastCount(t)+r);break;case"c/t":
e.push(this.Reveal.getSlidePastCount(t)+r,"/",this.Reveal.getTotalSlides());break;default:var a=this.Reveal.getIndices(t);e.push(a.h+r);var o="h/v"===i?"/":".";this.Reveal.isVerticalSlide(t)&&e.push(o,a.v+1)}}var s="#"+this.Reveal.location.getHash(t);return this.formatNumber(e[0],e[1],e[2],s)}},{key:"formatNumber",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#"+this.Reveal.location.getHash();return"number"!=typeof n||isNaN(n)?'<a href="'.concat(i,'">\n\t\t\t\t\t<span class="slide-number-a">').concat(e,"</span>\n\t\t\t\t\t</a>"):'<a href="'.concat(i,'">\n\t\t\t\t\t<span class="slide-number-a">').concat(e,'</span>\n\t\t\t\t\t<span class="slide-number-delimiter">').concat(t,'</span>\n\t\t\t\t\t<span class="slide-number-b">').concat(n,"</span>\n\t\t\t\t\t</a>")}}]),e}(),Uo=function(e){var t=e.match(/^#([0-9a-f]{3})$/i);if(t&&t[1])return t=t[1],{r:17*parseInt(t.charAt(0),16),g:17*parseInt(t.charAt(1),16),b:17*parseInt(t.charAt(2),16)};var n=e.match(
/^#([0-9a-f]{6})$/i);if(n&&n[1])return n=n[1],{r:parseInt(n.substr(0,2),16),g:parseInt(n.substr(2,2),16),b:parseInt(n.substr(4,2),16)};var i=e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(i)return{r:parseInt(i[1],10),g:parseInt(i[2],10),b:parseInt(i[3],10)};var r=e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return r?{r:parseInt(r[1],10),g:parseInt(r[2],10),b:parseInt(r[3],10),a:parseFloat(r[4])}:null},Bo=function(){function e(t){eo(this,e),this.Reveal=t}return no(e,[{key:"render",value:function(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}},{key:"create",value:function(){var e=this;this.Reveal.isPrintingPDF();this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach((function(t){var n=e.createBackground(t,e.element);So(t,"section").forEach((function(t){e.createBackground(t,n),n.c
lassList.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((function(){e.Reveal.getRevealElement().classList.add("has-parallax-background")}),1)):(this.element.style.backgroundImage="",this.Reveal.getRevealElement().classList.remove("has-parallax-background"))}},{key:"createBackground",value:function(e,t){var n=document.createElement("div");n.className="slide-background "+e.className.replace(/present|past|future/,"");var i=document.createElement("div");return i.className="slide-background-content",n.appendChild(i),t.appendChild(n),e.slideBackgroundElement=n,e.slideBackgroundContentElement=i,this.sync(e),n}},{k
ey:"sync",value:function(e){var t=e.slideBackgroundElement,n=e.slideBackgroundContentElement;e.classList.remove("has-dark-background"),e.classList.remove("has-light-background"),t.removeAttribute("data-loaded"),t.removeAttribute("data-background-hash"),t.removeAttribute("data-background-size"),t.removeAttribute("data-background-transition"),t.style.backgroundColor="",n.style.backgroundSize="",n.style.backgroundRepeat="",n.style.backgroundPosition="",n.style.backgroundImage="",n.style.opacity="",n.innerHTML="";var i={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundVideo:e.getAttribute("data-background-video"),backgroundIframe:e.getAttribute("data-background-iframe"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttr
ibute("data-background-transition"),backgroundOpacity:e.getAttribute("data-background-opacity")};i.background&&(/^(http|file|\/\/)/gi.test(i.background)||/\.(svg|png|jpg|jpeg|gif|bmp)([?#\s]|$)/gi.test(i.background)?e.setAttribute("data-background-image",i.background):t.style.background=i.background),(i.background||i.backgroundColor||i.backgroundImage||i.backgroundVideo||i.backgroundIframe)&&t.setAttribute("data-background-hash",i.background+i.backgroundSize+i.backgroundImage+i.backgroundVideo+i.backgroundIframe+i.backgroundColor+i.backgroundRepeat+i.backgroundPosition+i.backgroundTransition+i.backgroundOpacity),i.backgroundSize&&t.setAttribute("data-background-size",i.backgroundSize),i.backgroundColor&&(t.style.backgroundColor=i.backgroundColor),i.backgroundTransition&&t.setAttribute("data-background-transition",i.backgroundTransition),e.hasAttribute("data-preload")&&t.setAttribute("data-preload",""),i.backgroundSize&&(n.style.backgroundSize=i.backgroundSize),i.backgroundRepeat&&(n
.style.backgroundRepeat=i.backgroundRepeat),i.backgroundPosition&&(n.style.backgroundPosition=i.backgroundPosition),i.backgroundOpacity&&(n.style.opacity=i.backgroundOpacity);var r,a=i.backgroundColor;if(!a){var o=window.getComputedStyle(t);o&&o.backgroundColor&&(a=o.backgroundColor)}if(a){var s=Uo(a);s&&0!==s.a&&("string"==typeof(r=a)&&(r=Uo(r)),(r?(299*r.r+587*r.g+114*r.b)/1e3:null)<128?e.classList.add("has-dark-background"):e.classList.add("has-light-background"))}}},{key:"update",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.Reveal.getCurrentSlide(),i=this.Reveal.getIndices(),r=null,a=this.Reveal.getConfig().rtl?"future":"past",o=this.Reveal.getConfig().rtl?"past":"future";if(Array.from(this.element.childNodes).forEach((function(e,n){e.classList.remove("past","present","future"),n<i.h?e.classList.add(a):n>i.h?e.classList.add(o):(e.classList.add("present"),r=e),(t||n===i.h)&&So(e,".slide-background").forEach((function(e,t){e.classLis
t.remove("past","present","future"),t<i.v?e.classList.add("past"):t>i.v?e.classList.add("future"):(e.classList.add("present"),n===i.h&&(r=e))}))})),this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!this.Reveal.slideContent.shouldPreload(this.previousBackground)}),r){this.Reveal.slideContent.startEmbeddedContent(r);var s=r.querySelector(".slide-background-content");if(s){var l=s.style.backgroundImage||"";/\.gif/i.test(l)&&(s.style.backgroundImage="",window.getComputedStyle(s).opacity,s.style.backgroundImage=l)}var u=this.previousBackground?this.previousBackground.getAttribute("data-background-hash"):null,c=r.getAttribute("data-background-hash");c&&c===u&&r!==this.previousBackground&&this.element.classList.add("no-transition"),this.previousBackground=r}n&&["has-light-background","has-dark-background"].forEach((function(t){n.classList.contains(t)?e.Reveal.getRevealElement().classList.add(t):e.Reveal.getRevealElement().classLis
t.remove(t)}),this),setTimeout((function(){e.element.classList.remove("no-transition")}),1)}},{key:"updateParallax",value:function(){var e=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){var t,n,i=this.Reveal.getHorizontalSlides(),r=this.Reveal.getVerticalSlides(),a=this.element.style.backgroundSize.split(" ");1===a.length?t=n=parseInt(a[0],10):(t=parseInt(a[0],10),n=parseInt(a[1],10));var o,s=this.element.offsetWidth,l=i.length;o=("number"==typeof this.Reveal.getConfig().parallaxBackgroundHorizontal?this.Reveal.getConfig().parallaxBackgroundHorizontal:l>1?(t-s)/(l-1):0)*e.h*-1;var u,c,d=this.element.offsetHeight,h=r.length;u="number"==typeof this.Reveal.getConfig().parallaxBackgroundVertical?this.Reveal.getConfig().parallaxBackgroundVertical:(n-d)/(h-1),c=h>0?u*e.v:0,this.element.style.backgroundPosition=o+"px "+-c+"px"}}}]),e}(),qo=lt.filter,Wo=Je("filter"),_o=ft("filter");Oe({target:"Array",proto:!0,forced:!Wo||!_o},{filter:function(e){return qo(this,
e,arguments.length>1?arguments[1]:void 0)}});var Vo=[].join,Ko=v!=Object,$o=ut("join",",");Oe({target:"Array",proto:!0,forced:Ko||!$o},{join:function(e){return Vo.call(p(this),void 0===e?",":e)}});var Xo=function(e){return function(t,n,i,r){rt(n);var a=De(t),o=v(a),s=de(a.length),l=e?s-1:0,u=e?-1:1;if(i<2)for(;;){if(l in o){r=o[l],l+=u;break}if(l+=u,e?l<0:s<=l)throw TypeError("Reduce of empty array with no initial value")}for(;e?l>=0:s>l;l+=u)l in o&&(r=n(r,o[l],l,a));return r}},Yo={left:Xo(!1),right:Xo(!0)}.left,Go=ut("reduce"),Jo=ft("reduce",{1:0});Oe({target:"Array",proto:!0,forced:!Go||!Jo},{reduce:function(e){return Yo(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var Qo=Je("slice"),Zo=ft("slice",{ACCESSORS:!0,0:0,1:2}),es=qe("species"),ts=[].slice,ns=Math.max;Oe({target:"Array",proto:!0,forced:!Qo||!Zo},{slice:function(e,t){var n,i,r,a=p(this),o=de(a.length),s=ve(e,o),l=ve(void 0===t?o:t,o);if(Te(a)&&("function"!=typeof(n=a.constructor)||n!==Array&&!Te(n.p
rototype)?m(n)&&null===(n=n[es])&&(n=void 0):n=void 0,n===Array||void 0===n))return ts.call(a,s,l);for(i=new(void 0===n?Array:n)(ns(l-s,0)),r=0;s<l;s++,r++)s in a&&je(i,r,a[s]);return i.length=r,i}});var is=a((function(){St(1)}));Oe({target:"Object",stat:!0,forced:is},{keys:function(e){return St(De(e))}});var rs=0,as=function(){function e(t){eo(this,e),this.Reveal=t}return no(e,[{key:"run",value:function(e,t){var n=this;if(this.reset(),e.hasAttribute("data-auto-animate")&&t.hasAttribute("data-auto-animate")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||Co();var i=this.getAutoAnimateOptions(t);e.dataset.autoAnimate="pending",t.dataset.autoAnimate="pending";var r=this.Reveal.getSlides();i.slideDirection=r.indexOf(t)>r.indexOf(e)?"forward":"backward";var a=this.getAutoAnimatableElements(e,t).map((function(e){return n.autoAnimateElements(e.from,e.to,e.options||{},i,rs++)}));if("false"!==t.dataset.autoAnimateUnmatched&&!0===this.Reveal.getConfig().autoAnimateUnmatched){var o=.8
*i.duration,s=.2*i.duration;this.getUnmatchedAutoAnimateElements(t).forEach((function(e){var t=n.getAutoAnimateOptions(e,i),r="unmatched";t.duration===i.duration&&t.delay===i.delay||(r="unmatched-"+rs++,a.push('[data-auto-animate="running"] [data-auto-animate-target="'.concat(r,'"] { transition: opacity ').concat(t.duration,"s ease ").concat(t.delay,"s; }"))),e.dataset.autoAnimateTarget=r}),this),a.push('[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity '.concat(o,"s ease ").concat(s,"s; }"))}this.autoAnimateStyleSheet.innerHTML=a.join(""),requestAnimationFrame((function(){n.autoAnimateStyleSheet&&(getComputedStyle(n.autoAnimateStyleSheet).fontWeight,t.dataset.autoAnimate="running")})),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:e,toSlide:t,sheet:this.autoAnimateStyleSheet}})}}},{key:"reset",value:function(){So(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach((function(e){e.dataset.au
toAnimate=""})),So(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach((function(e){delete e.dataset.autoAnimateTarget})),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}},{key:"autoAnimateElements",value:function(e,t,n,i,r){e.dataset.autoAnimateTarget="",t.dataset.autoAnimateTarget=r;var a=this.getAutoAnimateOptions(t,i);void 0!==n.delay&&(a.delay=n.delay),void 0!==n.duration&&(a.duration=n.duration),void 0!==n.easing&&(a.easing=n.easing);var o=this.getAutoAnimatableProperties("from",e,n),s=this.getAutoAnimatableProperties("to",t,n);t.classList.contains("fragment")&&(delete s.styles.opacity,e.classList.contains("fragment")&&(e.className.match(fo)||[""])[0]===(t.className.match(fo)||[""])[0]&&"forward"===i.slideDirection&&t.classList.add("visible","disabled"));if(!1!==n.translate||!1!==n.scale){var l=this.Reveal.getScale(),u={x:(o.x-s.x)
/l,y:(o.y-s.y)/l,scaleX:o.width/s.width,scaleY:o.height/s.height};u.x=Math.round(1e3*u.x)/1e3,u.y=Math.round(1e3*u.y)/1e3,u.scaleX=Math.round(1e3*u.scaleX)/1e3,u.scaleX=Math.round(1e3*u.scaleX)/1e3;var c=!1!==n.translate&&(0!==u.x||0!==u.y),d=!1!==n.scale&&(0!==u.scaleX||0!==u.scaleY);if(c||d){var h=[];c&&h.push("translate(".concat(u.x,"px, ").concat(u.y,"px)")),d&&h.push("scale(".concat(u.scaleX,", ").concat(u.scaleY,")")),o.styles.transform=h.join(" "),o.styles["transform-origin"]="top left",s.styles.transform="none"}}for(var f in s.styles){var v=s.styles[f],g=o.styles[f];v===g?delete s.styles[f]:(!0===v.explicitValue&&(s.styles[f]=v.value),!0===g.explicitValue&&(o.styles[f]=g.value))}var p="",m=Object.keys(s.styles);m.length>0&&(o.styles.transition="none",s.styles.transition="all ".concat(a.duration,"s ").concat(a.easing," ").concat(a.delay,"s"),s.styles["transition-property"]=m.join(", "),s.styles["will-change"]=m.join(", "),p='[data-auto-animate-target="'+r+'"] {'+Object.keys(o
.styles).map((function(e){return e+": "+o.styles[e]+" !important;"})).join("")+'}[data-auto-animate="running"] [data-auto-animate-target="'+r+'"] {'+Object.keys(s.styles).map((function(e){return e+": "+s.styles[e]+" !important;"})).join("")+"}");return p}},{key:"getAutoAnimateOptions",value:function(e,t){var n={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(n=wo(n,t),e.parentNode){var i=xo(e.parentNode,"[data-auto-animate-target]");i&&(n=this.getAutoAnimateOptions(i,n))}return e.dataset.autoAnimateEasing&&(n.easing=e.dataset.autoAnimateEasing),e.dataset.autoAnimateDuration&&(n.duration=parseFloat(e.dataset.autoAnimateDuration)),e.dataset.autoAnimateDelay&&(n.delay=parseFloat(e.dataset.autoAnimateDelay)),n}},{key:"getAutoAnimatableProperties",value:function(e,t,n){var i=this.Reveal.getConfig(),r={styles:[]};if(!1!==n.translate||!1!==n.scale){var a;if("function"==typeof n.measure)a=n.measure(t);else if(i.center)a=t.get
BoundingClientRect();else{var o=this.Reveal.getScale();a={x:t.offsetLeft*o,y:t.offsetTop*o,width:t.offsetWidth*o,height:t.offsetHeight*o}}r.x=a.x,r.y=a.y,r.width=a.width,r.height=a.height}var s=getComputedStyle(t);return(n.styles||i.autoAnimateStyles).forEach((function(t){var n;"string"==typeof t&&(t={property:t}),""!==(n=void 0!==t.from&&"from"===e?{value:t.from,explicitValue:!0}:void 0!==t.to&&"to"===e?{value:t.to,explicitValue:!0}:s[t.property])&&(r.styles[t.property]=n)})),r}},{key:"getAutoAnimatableElements",value:function(e,t){var n=("function"==typeof this.Reveal.getConfig().autoAnimateMatcher?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,e,t),i=[];return n.filter((function(e,t){if(-1===i.indexOf(e.to))return i.push(e.to),!0}))}},{key:"getAutoAnimatePairs",value:function(e,t){var n=this,i=[],r="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(i,e,t,"[data-id]",(function(e){return e.nodeName+":::"+e.getAttribute("data-id")})),t
his.findAutoAnimateMatches(i,e,t,r,(function(e){return e.nodeName+":::"+e.innerText})),this.findAutoAnimateMatches(i,e,t,"img, video, iframe",(function(e){return e.nodeName+":::"+(e.getAttribute("src")||e.getAttribute("data-src"))})),this.findAutoAnimateMatches(i,e,t,"pre",(function(e){return e.nodeName+":::"+e.innerText})),i.forEach((function(e){Ro(e.from,r)?e.options={scale:!1}:Ro(e.from,"pre")&&(e.options={scale:!1,styles:["width","height"]},n.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-code",(function(e){return e.textContent}),{scale:!1,styles:[],measure:n.getLocalBoundingBox.bind(n)}),n.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-line[data-line-number]",(function(e){return e.getAttribute("data-line-number")}),{scale:!1,styles:["width"],measure:n.getLocalBoundingBox.bind(n)}))}),this),i}},{key:"getLocalBoundingBox",value:function(e){var t=this.Reveal.getScale();return{x:Math.round(e.offsetLeft*t*100)/100,y:Math.round(e.offsetTop*t*100)/100,width:Math.round(e.of
fsetWidth*t*100)/100,height:Math.round(e.offsetHeight*t*100)/100}}},{key:"findAutoAnimateMatches",value:function(e,t,n,i,r,a){var o={},s={};[].slice.call(t.querySelectorAll(i)).forEach((function(e,t){var n=r(e);"string"==typeof n&&n.length&&(o[n]=o[n]||[],o[n].push(e))})),[].slice.call(n.querySelectorAll(i)).forEach((function(t,n){var i,l=r(t);if(s[l]=s[l]||[],s[l].push(t),o[l]){var u=s[l].length-1,c=o[l].length-1;o[l][u]?(i=o[l][u],o[l][u]=null):o[l][c]&&(i=o[l][c],o[l][c]=null)}i&&e.push({from:i,to:t,options:a})}))}},{key:"getUnmatchedAutoAnimateElements",value:function(e){var t=this;return[].slice.call(e.children).reduce((function(e,n){var i=n.querySelector("[data-auto-animate-target]");return n.hasAttribute("data-auto-animate-target")||i||e.push(n),n.querySelector("[data-auto-animate-target]")&&(e=e.concat(t.getUnmatchedAutoAnimateElements(n))),e}),[])}}]),e}(),os=function(){function e(t){eo(this,e),this.Reveal=t}return no(e,[{key:"configure",value:function(e,t){!1===e.fragments
?this.disable():!1===t.fragments&&this.enable()}},{key:"disable",value:function(){So(this.Reveal.getSlidesElement(),".fragment").forEach((function(e){e.classList.add("visible"),e.classList.remove("current-fragment")}))}},{key:"enable",value:function(){So(this.Reveal.getSlidesElement(),".fragment").forEach((function(e){e.classList.remove("visible"),e.classList.remove("current-fragment")}))}},{key:"availableRoutes",value:function(){var e=this.Reveal.getCurrentSlide();if(e&&this.Reveal.getConfig().fragments){var t=e.querySelectorAll(".fragment:not(.disabled)"),n=e.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:t.length-n.length>0,next:!!n.length}}return{prev:!1,next:!1}}},{key:"sort",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e=Array.from(e);var n=[],i=[],r=[];e.forEach((function(e){if(e.hasAttribute("data-fragment-index")){var t=parseInt(e.getAttribute("data-fragment-index"),10);n[t]||(n[t]=[]),n[t].push(e)}else i.push([e])}
)),n=n.concat(i);var a=0;return n.forEach((function(e){e.forEach((function(e){r.push(e),e.setAttribute("data-fragment-index",a)})),a++})),!0===t?n:r}},{key:"sortAll",value:function(){var e=this;this.Reveal.getHorizontalSlides().forEach((function(t){var n=So(t,"section");n.forEach((function(t,n){e.sort(t.querySelectorAll(".fragment"))}),e),0===n.length&&e.sort(t.querySelectorAll(".fragment"))}))}},{key:"update",value:function(e,t){var n=this,i={shown:[],hidden:[]},r=this.Reveal.getCurrentSlide();if(r&&this.Reveal.getConfig().fragments&&(t=t||this.sort(r.querySelectorAll(".fragment"))).length){var a=0;if("number"!=typeof e){var o=this.sort(r.querySelectorAll(".fragment.visible")).pop();o&&(e=parseInt(o.getAttribute("data-fragment-index")||0,10))}Array.from(t).forEach((function(t,r){if(t.hasAttribute("data-fragment-index")&&(r=parseInt(t.getAttribute("data-fragment-index"),10)),a=Math.max(a,r),r<=e){var o=t.classList.contains("visible");t.classList.add("visible"),t.classList.remove("cu
rrent-fragment"),r===e&&(n.Reveal.announceStatus(n.Reveal.getStatusText(t)),t.classList.add("current-fragment"),n.Reveal.slideContent.startEmbeddedContent(t)),o||(i.shown.push(t),n.Reveal.dispatchEvent({target:t,type:"visible",bubbles:!1}))}else{var s=t.classList.contains("visible");t.classList.remove("visible"),t.classList.remove("current-fragment"),s&&(i.hidden.push(t),n.Reveal.dispatchEvent({target:t,type:"hidden",bubbles:!1}))}})),e="number"==typeof e?e:-1,e=Math.max(Math.min(e,a),-1),r.setAttribute("data-fragment",e)}return i}},{key:"sync",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.Reveal.getCurrentSlide();return this.sort(e.querySelectorAll(".fragment"))}},{key:"goto",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.Reveal.getCurrentSlide();if(n&&this.Reveal.getConfig().fragments){var i=this.sort(n.querySelectorAll(".fragment:not(.disabled)"));if(i.length){if("number"!=typeof e){var r=this.sort(n.qu
erySelectorAll(".fragment:not(.disabled).visible")).pop();e=r?parseInt(r.getAttribute("data-fragment-index")||0,10):-1}e+=t;var a=this.update(e,i);return a.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:a.hidden[0],fragments:a.hidden}}),a.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:a.shown[0],fragments:a.shown}}),this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!(!a.shown.length&&!a.hidden.length)}}return!1}},{key:"next",value:function(){return this.goto(null,1)}},{key:"prev",value:function(){return this.goto(null,-1)}}]),e}(),ss=function(){function e(t){eo(this,e),this.Reveal=t,this.active=!1,this.onSlideClicked=this.onSlideClicked.bind(this)}return no(e,[{key:"activate",value:function(){var e=this;if(this.Reveal.getConfig().overview&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.ca
ncelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),So(this.Reveal.getRevealElement(),lo).forEach((function(t){t.classList.contains("stack")||t.addEventListener("click",e.onSlideClicked,!0)}));var t=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=t.width+70,this.overviewSlideHeight=t.height+70,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();var n=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:n.h,indexv:n.v,currentSlide:this.Reveal.getCurrentSlide()}})}}},{key:"layout",value:function(){var e=this;this.Reveal.getHorizontalSlides().forEach((function(t,n){t.setAttribute("data-index-h",n),Ao(t,"translate3d("+n*e.overviewSlideWidth+"px, 0, 0)"),t.classList.contains("stack")&&So(t,"section").forEach((function(t,i){t.setAttribute("data-index-h",n),t.setAttribute("data-index-v",i),A
o(t,"translate3d(0, "+i*e.overviewSlideHeight+"px, 0)")}))})),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((function(t,n){Ao(t,"translate3d("+n*e.overviewSlideWidth+"px, 0, 0)"),So(t,".slide-background").forEach((function(t,n){Ao(t,"translate3d(0, "+n*e.overviewSlideHeight+"px, 0)")}))}))}},{key:"update",value:function(){var e=Math.min(window.innerWidth,window.innerHeight),t=Math.max(e/5,150)/e,n=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+t+")","translateX("+-n.h*this.overviewSlideWidth+"px)","translateY("+-n.v*this.overviewSlideHeight+"px)"].join(" ")})}},{key:"deactivate",value:function(){var e=this;if(this.Reveal.getConfig().overview){this.active=!1,this.Reveal.getRevealElement().classList.remove("overview"),this.Reveal.getRevealElement().classList.add("overview-deactivating"),setTimeout((function(){e.Reveal.getRevealElement().classList.remove("overview-deactivating")}),1),this.Reveal.getRevealElement().appendChild(this.Reveal.g
etBackgroundsElement()),So(this.Reveal.getRevealElement(),lo).forEach((function(t){Ao(t,""),t.removeEventListener("click",e.onSlideClicked,!0)})),So(this.Reveal.getBackgroundsElement(),".slide-background").forEach((function(e){Ao(e,"")})),this.Reveal.transformSlides({overview:""});var t=this.Reveal.getIndices();this.Reveal.slide(t.h,t.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:t.h,indexv:t.v,currentSlide:this.Reveal.getCurrentSlide()}})}}},{key:"toggle",value:function(e){"boolean"==typeof e?e?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}},{key:"isActive",value:function(){return this.active}},{key:"onSlideClicked",value:function(e){if(this.isActive()){e.preventDefault();for(var t=e.target;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(this.deactivate(),t.nodeName.match(/section/gi))){var n=parseInt(t.getAttribute("data-index-h"),10)
,i=parseInt(t.getAttribute("data-index-v"),10);this.Reveal.slide(n,i)}}}}]),e}(),ls=function(){function e(t){eo(this,e),this.Reveal=t,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this),this.onDocumentKeyPress=this.onDocumentKeyPress.bind(this)}return no(e,[{key:"configure",value:function(e,t){"linear"===e.navigationMode?(this.shortcuts["→ , ↓ , SPACE , N , L , J"]="Next slide",this.shortcuts["← , ↑ , P , H , K"]="Previous slide"):(this.shortcuts["N , SPACE"]="Next slide",this.shortcuts.P="Previous slide",this.shortcuts["← , H"]="Navigate left",this.shortcuts["→ , L"]="Navigate right",this.shortcuts["↑ , K"]="Navigate up",this.shortcuts["↓ , J"]="Navigate down"),this.shortcuts["Home , Shift ←"]="First slide",this.shortcuts["End , Shift →"]="Last slide",this.shortcuts["B , ."]="Pause",this.shortcuts.F="Fullscreen",this.shortcuts["ESC, O"]="Slide overvi
ew"}},{key:"bind",value:function(){document.addEventListener("keydown",this.onDocumentKeyDown,!1),document.addEventListener("keypress",this.onDocumentKeyPress,!1)}},{key:"unbind",value:function(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1),document.removeEventListener("keypress",this.onDocumentKeyPress,!1)}},{key:"addKeyBinding",value:function(e,t){"object"===Za(e)&&e.keyCode?this.bindings[e.keyCode]={callback:t,key:e.key,description:e.description}:this.bindings[e]={callback:t,key:null,description:null}}},{key:"removeKeyBinding",value:function(e){delete this.bindings[e]}},{key:"triggerKey",value:function(e){this.onDocumentKeyDown({keyCode:e})}},{key:"registerKeyboardShortcut",value:function(e,t){this.shortcuts[e]=t}},{key:"getShortcuts",value:function(){return this.shortcuts}},{key:"getBindings",value:function(){return this.bindings}},{key:"onDocumentKeyPress",value:function(e){e.shiftKey&&63===e.charCode&&this.Reveal.toggleHelp()}},{key:"onDocumentKeyDown",val
ue:function(e){var t=this.Reveal.getConfig();if("function"==typeof t.keyboardCondition&&!1===t.keyboardCondition(e))return!0;if("focused"===t.keyboardCondition&&!this.Reveal.isFocused())return!0;var n=e.keyCode,i=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(e);var r=document.activeElement&&!0===document.activeElement.isContentEditable,a=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),o=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),s=e.shiftKey&&32===e.keyCode,l=e.shiftKey&&37===n,u=e.shiftKey&&39===n,c=!s&&!l&&!u&&(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey);if(!(r||a||o||c)){var d,h=[66,86,190,191];if("object"===Za(t.keyboard))for(d in t.keyboard)"togglePause"===t.keyboard[d]&&h.push(parseInt(d,10));if(this.Reveal.isPaused()&&-1===h.indexOf(n))return!1;var f,v,g="linear"===t.navigationMode||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVer
ticalSlides(),p=!1;if("object"===Za(t.keyboard))for(d in t.keyboard)if(parseInt(d,10)===n){var m=t.keyboard[d];"function"==typeof m?m.apply(null,[e]):"string"==typeof m&&"function"==typeof this.Reveal[m]&&this.Reveal[m].call(),p=!0}if(!1===p)for(d in this.bindings)if(parseInt(d,10)===n){var y=this.bindings[d].callback;"function"==typeof y?y.apply(null,[e]):"string"==typeof y&&"function"==typeof this.Reveal[y]&&this.Reveal[y].call(),p=!0}!1===p&&(p=!0,80===n||33===n?this.Reveal.prev():78===n||34===n?this.Reveal.next():72===n||37===n?l?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&g?this.Reveal.prev():this.Reveal.left():76===n||39===n?u?this.Reveal.slide(Number.MAX_VALUE):!this.Reveal.overview.isActive()&&g?this.Reveal.next():this.Reveal.right():75===n||38===n?!this.Reveal.overview.isActive()&&g?this.Reveal.prev():this.Reveal.up():74===n||40===n?!this.Reveal.overview.isActive()&&g?this.Reveal.next():this.Reveal.down():36===n?this.Reveal.slide(0):35===n?this.Reveal.slide(Numbe
r.MAX_VALUE):32===n?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),e.shiftKey?this.Reveal.prev():this.Reveal.next()):58===n||59===n||66===n||86===n||190===n||191===n?this.Reveal.togglePause():70===n?(f=t.embedded?this.Reveal.getViewportElement():document.documentElement,(v=(f=f||document.documentElement).requestFullscreen||f.webkitRequestFullscreen||f.webkitRequestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen)&&v.apply(f)):65===n?t.autoSlideStoppable&&this.Reveal.toggleAutoSlide(i):p=!1),p?e.preventDefault&&e.preventDefault():27!==n&&79!==n||(!1===this.Reveal.closeOverlay()&&this.Reveal.overview.toggle(),e.preventDefault&&e.preventDefault()),this.Reveal.cueAutoSlide()}}}]),e}(),us=function(){function e(t){eo(this,e),this.Reveal=t,this.writeURLTimeout=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}return no(e,[{key:"bind",value:function(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}},{key:"unbind",value:function(){wi
ndow.removeEventListener("hashchange",this.onWindowHashChange,!1)}},{key:"readURL",value:function(){var e=this.Reveal.getConfig(),t=this.Reveal.getIndices(),n=this.Reveal.getCurrentSlide(),i=window.location.hash,r=i.slice(2).split("/"),a=i.replace(/#\/?/gi,"");if(!/^[0-9]*$/.test(r[0])&&a.length){var o,s;/\/[-\d]+$/g.test(a)&&(s=parseInt(a.split("/").pop(),10),s=isNaN(s)?void 0:s,a=a.split("/").shift());try{o=document.getElementById(decodeURIComponent(a))}catch(e){}var l=!!n&&n.getAttribute("id")===a;if(o){if(!l||void 0!==s){var u=this.Reveal.getIndices(o);this.Reveal.slide(u.h,u.v,s)}}else this.Reveal.slide(t.h||0,t.v||0)}else{var c,d=e.hashOneBasedIndex?1:0,h=parseInt(r[0],10)-d||0,f=parseInt(r[1],10)-d||0;e.fragmentInURL&&(c=parseInt(r[2],10),isNaN(c)&&(c=void 0)),h===t.h&&f===t.v&&void 0===c||this.Reveal.slide(h,f,c)}}},{key:"writeURL",value:function(e){var t=this.Reveal.getConfig(),n=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),"number"==typeof e)this.wri
teURLTimeout=setTimeout(this.writeURL,e);else if(n){var i=this.getHash();t.history?window.location.hash=i:t.hash&&("/"===i?window.history.replaceState(null,null,window.location.pathname+window.location.search):window.history.replaceState(null,null,"#"+i))}}},{key:"getHash",value:function(e){var t="/",n=e||this.Reveal.getCurrentSlide(),i=n?n.getAttribute("id"):null;i&&(i=encodeURIComponent(i));var r=this.Reveal.getIndices(e);if(this.Reveal.getConfig().fragmentInURL||(r.f=void 0),"string"==typeof i&&i.length)t="/"+i,r.f>=0&&(t+="/"+r.f);else{var a=this.Reveal.getConfig().hashOneBasedIndex?1:0;(r.h>0||r.v>0||r.f>=0)&&(t+=r.h+a),(r.v>0||r.f>=0)&&(t+="/"+(r.v+a)),r.f>=0&&(t+="/"+r.f)}return t}},{key:"onWindowHashChange",value:function(e){this.readURL()}}]),e}(),cs=function(){function e(t){eo(this,e),this.Reveal=t,this.onNavigateLeftClicked=this.onNavigateLeftClicked.bind(this),this.onNavigateRightClicked=this.onNavigateRightClicked.bind(this),this.onNavigateUpClicked=this.onNavigateUpCli
cked.bind(this),this.onNavigateDownClicked=this.onNavigateDownClicked.bind(this),this.onNavigatePrevClicked=this.onNavigatePrevClicked.bind(this),this.onNavigateNextClicked=this.onNavigateNextClicked.bind(this)}return no(e,[{key:"render",value:function(){var e=this.Reveal.getConfig().rtl,t=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML='<button class="navigate-left" aria-label="'.concat(e?"next slide":"previous slide",'"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-right" aria-label="').concat(e?"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=So(t,".navigate-
left"),this.controlsRight=So(t,".navigate-right"),this.controlsUp=So(t,".navigate-up"),this.controlsDown=So(t,".navigate-down"),this.controlsPrev=So(t,".navigate-prev"),this.controlsNext=So(t,".navigate-next"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}},{key:"configure",value:function(e,t){this.element.style.display=e.controls?"block":"none",this.element.setAttribute("data-controls-layout",e.controlsLayout),this.element.setAttribute("data-controls-back-arrows",e.controlsBackArrows)}},{key:"bind",value:function(){var e=this,t=["touchstart","click"];Do&&(t=["touchstart"]),t.forEach((function(t){e.controlsLeft.forEach((function(n){return n.addEventListener(t,e.onNavigateLeftClicked,!1)})),e.controlsRight.forEach((function(n){return n.addEventListener(t,e.onNavigateRightClicked,!1)})),e.controlsUp.forEach((function(n){return
n.addEventListener(t,e.onNavigateUpClicked,!1)})),e.controlsDown.forEach((function(n){return n.addEventListener(t,e.onNavigateDownClicked,!1)})),e.controlsPrev.forEach((function(n){return n.addEventListener(t,e.onNavigatePrevClicked,!1)})),e.controlsNext.forEach((function(n){return n.addEventListener(t,e.onNavigateNextClicked,!1)}))}))}},{key:"unbind",value:function(){var e=this;["touchstart","click"].forEach((function(t){e.controlsLeft.forEach((function(n){return n.removeEventListener(t,e.onNavigateLeftClicked,!1)})),e.controlsRight.forEach((function(n){return n.removeEventListener(t,e.onNavigateRightClicked,!1)})),e.controlsUp.forEach((function(n){return n.removeEventListener(t,e.onNavigateUpClicked,!1)})),e.controlsDown.forEach((function(n){return n.removeEventListener(t,e.onNavigateDownClicked,!1)})),e.controlsPrev.forEach((function(n){return n.removeEventListener(t,e.onNavigatePrevClicked,!1)})),e.controlsNext.forEach((function(n){return n.removeEventListener(t,e.onNavigateNext
Clicked,!1)}))}))}},{key:"update",value:function(){var e=this.Reveal.availableRoutes();[].concat(oo(this.controlsLeft),oo(this.controlsRight),oo(this.controlsUp),oo(this.controlsDown),oo(this.controlsPrev),oo(this.controlsNext)).forEach((function(e){e.classList.remove("enabled","fragmented"),e.setAttribute("disabled","disabled")})),e.left&&this.controlsLeft.forEach((function(e){e.classList.add("enabled"),e.removeAttribute("disabled")})),e.right&&this.controlsRight.forEach((function(e){e.classList.add("enabled"),e.removeAttribute("disabled")})),e.up&&this.controlsUp.forEach((function(e){e.classList.add("enabled"),e.removeAttribute("disabled")})),e.down&&this.controlsDown.forEach((function(e){e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.left||e.up)&&this.controlsPrev.forEach((function(e){e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.right||e.down)&&this.controlsNext.forEach((function(e){e.classList.add("enabled"),e.removeAttribute("disabled")}));var
t=this.Reveal.getCurrentSlide();if(t){var n=this.Reveal.fragments.availableRoutes();n.prev&&this.controlsPrev.forEach((function(e){e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),n.next&&this.controlsNext.forEach((function(e){e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),this.Reveal.isVerticalSlide(t)?(n.prev&&this.controlsUp.forEach((function(e){e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),n.next&&this.controlsDown.forEach((function(e){e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}))):(n.prev&&this.controlsLeft.forEach((function(e){e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),n.next&&this.controlsRight.forEach((function(e){e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})))}if(this.Reveal.getConfig().controlsTutorial){var i=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&e.down?this.controlsDownArrow.classList.add(
"highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&e.left&&0===i.v?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&e.right&&0===i.v?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}},{key:"onNavigateLeftClicked",value:function(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.prev():this.Reveal.left()}},{key:"onNavigateRightClicked",value:function(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.next():this.Reveal.right()}},{key:"onNavigateUpClicked",value:function(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}},{key:"onNavigateDownClicked",value:function(e){e.preventDefault(),this.Reveal.onUserInput(),this.Rev
eal.down()}},{key:"onNavigatePrevClicked",value:function(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.prev()}},{key:"onNavigateNextClicked",value:function(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}}]),e}(),ds=function(){function e(t){eo(this,e),this.Reveal=t,this.onProgressClicked=this.onProgressClicked.bind(this)}return no(e,[{key:"render",value:function(){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)}},{key:"configure",value:function(e,t){this.element.style.display=e.progress?"block":"none"}},{key:"bind",value:function(){this.Reveal.getConfig().progress&&this.element&&this.element.addEventListener("click",this.onProgressClicked,!1)}},{key:"unbind",value:function(){this.Reveal.getConfig().progress&&this.element&&this.element.removeEventListener("click",this.onProgressClicked,!1)}},{
key:"update",value:function(){if(this.Reveal.getConfig().progress&&this.bar){var e=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(e=0),this.bar.style.transform="scaleX("+e+")"}}},{key:"getMaxWidth",value:function(){return this.Reveal.getRevealElement().offsetWidth}},{key:"onProgressClicked",value:function(e){this.Reveal.onUserInput(e),e.preventDefault();var t=this.Reveal.getHorizontalSlides().length,n=Math.floor(e.clientX/this.getMaxWidth()*t);this.Reveal.getConfig().rtl&&(n=t-n),this.Reveal.slide(n)}}]),e}(),hs=function(){function e(t){eo(this,e),this.Reveal=t,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}return no(e,[{key:"configure",value:function(e,t){e.mouseWheel?(document.addEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.addEventListener("mousewheel",this.onDocumentMouseScroll,!1)):
(document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1)),e.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))}},{key:"showCursor",value:function(){this.cursorHidden&&(this.cursorHidden=!1,this.Reveal.getRevealElement().style.cursor="")}},{key:"hideCursor",value:function(){!1===this.cursorHidden&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}},{key:"onDocumentCursorActive",value:function(e){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}},{key:"onDocumentMouseScroll",value:func
tion(e){if(Date.now()-this.lastMouseWheelStep>1e3){this.lastMouseWheelStep=Date.now();var t=e.detail||-e.wheelDelta;t>0?this.Reveal.next():t<0&&this.Reveal.prev()}}}]),e}(),fs=u.f,vs=function(e){return function(t){for(var n,i=p(t),r=St(i),a=r.length,s=0,l=[];a>s;)n=r[s++],o&&!fs.call(i,n)||l.push(e?[n,i[n]]:i[n]);return l}},gs={entries:vs(!0),values:vs(!1)}.values;Oe({target:"Object",stat:!0},{values:function(e){return gs(e)}});var ps=function(e,t){var n=document.createElement("script");n.type="text/javascript",n.async=!1,n.defer=!1,n.src=e,"function"==typeof t&&(n.onload=n.onreadystatechange=function(e){("load"===e.type||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=n.onerror=null,t())},n.onerror=function(e){n.onload=n.onreadystatechange=n.onerror=null,t(new Error("Failed loading script: "+n.src+"\n"+e))});var i=document.querySelector("head");i.insertBefore(n,i.lastChild)},ms=function(){function e(t){eo(this,e),this.Reveal=t,this.state="idle",this.registered
Plugins={},this.asyncDependencies=[]}return no(e,[{key:"load",value:function(e,t){var n=this;return this.state="loading",e.forEach(this.registerPlugin.bind(this)),new Promise((function(e){var i=[],r=0;if(t.forEach((function(e){e.condition&&!e.condition()||(e.async?n.asyncDependencies.push(e):i.push(e))})),i.length){r=i.length;var a=function(t){t&&"function"==typeof t.callback&&t.callback(),0==--r&&n.initPlugins().then(e)};i.forEach((function(e){"string"==typeof e.id?(n.registerPlugin(e),a(e)):"string"==typeof e.src?ps(e.src,(function(){return a(e)})):(console.warn("Unrecognized plugin format",e),a())}))}else n.initPlugins().then(e)}))}},{key:"initPlugins",value:function(){var e=this;return new Promise((function(t){var n=Object.values(e.registeredPlugins),i=n.length;if(0===i)e.loadAsync().then(t);else{var r,a=function(){0==--i?e.loadAsync().then(t):r()},o=0;(r=function(){var t=n[o++];if("function"==typeof t.init){var i=t.init(e.Reveal);i&&"function"==typeof i.then?i.then(a):a()}else
a()})()}}))}},{key:"loadAsync",value:function(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach((function(e){ps(e.src,e.callback)})),Promise.resolve()}},{key:"registerPlugin",value:function(e){2===arguments.length&&"string"==typeof arguments[0]?(e=arguments[1]).id=arguments[0]:"function"==typeof e&&(e=e());var t=e.id;"string"!=typeof t?console.warn("Unrecognized plugin format; can't find plugin.id",e):void 0===this.registeredPlugins[t]?(this.registeredPlugins[t]=e,"loaded"===this.state&&"function"==typeof e.init&&e.init(this.Reveal)):console.warn('reveal.js: "'+t+'" plugin has already been registered')}},{key:"hasPlugin",value:function(e){return!!this.registeredPlugins[e]}},{key:"getPlugin",value:function(e){return this.registeredPlugins[e]}},{key:"getRegisteredPlugins",value:function(){return this.registeredPlugins}}]),e}(),ys=function(){function e(t){eo(this,e),this.Reveal=t}return no(e,[{key:"setupPDF",value:function(){var e=this.Reveal.ge
tConfig(),t=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),n=Math.floor(t.width*(1+e.margin)),i=Math.floor(t.height*(1+e.margin)),r=t.width,a=t.height;Co("@page{size:"+n+"px "+i+"px; margin: 0px;}"),Co(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+r+"px; max-height:"+a+"px}"),document.documentElement.classList.add("print-pdf"),document.body.style.width=n+"px",document.body.style.height=i+"px",this.Reveal.layoutSlideContents(r,a);var o=e.slideNumber&&/all|print/i.test(e.showSlideNumber);So(this.Reveal.getRevealElement(),lo).forEach((function(e){e.setAttribute("data-slide-number",this.Reveal.slideNumber.getSlideNumber(e))}),this),So(this.Reveal.getRevealElement(),lo).forEach((function(t){if(!1===t.classList.contains("stack")){var s=(n-r)/2,l=(i-a)/2,u=t.scrollHeight,c=Math.max(Math.ceil(u/i),1);(1===(c=Math.min(c,e.pdfMaxPagesPerSlide))&&e.center||t.classList.contains("center"))&&(l=Math.max((i-u)/2,0));var d=document.createEl
ement("div");if(d.className="pdf-page",d.style.height=(i+e.pdfPageHeightOffset)*c+"px",t.parentNode.insertBefore(d,t),d.appendChild(t),t.style.left=s+"px",t.style.top=l+"px",t.style.width=r+"px",t.slideBackgroundElement&&d.insertBefore(t.slideBackgroundElement,t),e.showNotes){var h=this.Reveal.getSlideNotes(t);if(h){var f="string"==typeof e.showNotes?e.showNotes:"inline",v=document.createElement("div");v.classList.add("speaker-notes"),v.classList.add("speaker-notes-pdf"),v.setAttribute("data-layout",f),v.innerHTML=h,"separate-page"===f?d.parentNode.insertBefore(v,d.nextSibling):(v.style.left="8px",v.style.bottom="8px",v.style.width=n-16+"px",d.appendChild(v))}}if(o){var g=document.createElement("div");g.classList.add("slide-number"),g.classList.add("slide-number-pdf"),g.innerHTML=t.getAttribute("data-slide-number"),d.appendChild(g)}if(e.pdfSeparateFragments){var p,m,y=this.Reveal.fragments.sort(d.querySelectorAll(".fragment"),!0);y.forEach((function(e){p&&p.forEach((function(e){e.cl
assList.remove("current-fragment")})),e.forEach((function(e){e.classList.add("visible","current-fragment")}),this);var t=d.cloneNode(!0);d.parentNode.insertBefore(t,(m||d).nextSibling),p=e,m=t}),this),y.forEach((function(e){e.forEach((function(e){e.classList.remove("visible","current-fragment")}))}))}else So(d,".fragment:not(.fade-out)").forEach((function(e){e.classList.add("visible")}))}}),this),this.Reveal.dispatchEvent({type:"pdf-ready"})}},{key:"isPrintingPDF",value:function(){return/print-pdf/gi.test(window.location.search)}}]),e}(),bs=function(){function e(t){eo(this,e),this.Reveal=t,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)}return no(e,[{key:"bind",value:function
(){var e=this.Reveal.getRevealElement();"onpointerdown"in window?(e.addEventListener("pointerdown",this.onPointerDown,!1),e.addEventListener("pointermove",this.onPointerMove,!1),e.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(e.addEventListener("MSPointerDown",this.onPointerDown,!1),e.addEventListener("MSPointerMove",this.onPointerMove,!1),e.addEventListener("MSPointerUp",this.onPointerUp,!1)):(e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"unbind",value:function(){var e=this.Reveal.getRevealElement();e.removeEventListener("pointerdown",this.onPointerDown,!1),e.removeEventListener("pointermove",this.onPointerMove,!1),e.removeEventListener("pointerup",this.onPointerUp,!1),e.removeEventListener("MSPointerDown",this.onPointerDown,!1),e.removeEventListener("MSPointerMove",this.onPointerMove,!1),e.removeEventListener("MSPointerUp",t
his.onPointerUp,!1),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1)}},{key:"isSwipePrevented",value:function(e){for(;e&&"function"==typeof e.hasAttribute;){if(e.hasAttribute("data-prevent-swipe"))return!0;e=e.parentNode}return!1}},{key:"onTouchStart",value:function(e){if(this.isSwipePrevented(e.target))return!0;this.touchStartX=e.touches[0].clientX,this.touchStartY=e.touches[0].clientY,this.touchStartCount=e.touches.length}},{key:"onTouchMove",value:function(e){if(this.isSwipePrevented(e.target))return!0;var t=this.Reveal.getConfig();if(this.touchCaptured)Do&&e.preventDefault();else{this.Reveal.onUserInput(e);var n=e.touches[0].clientX,i=e.touches[0].clientY;if(1===e.touches.length&&2!==this.touchStartCount){var r=this.Reveal.availableRoutes({includeFragments:!0}),a=n-this.touchStartX,o=i-this.touchStartY;a>40&&Math.abs(a)>Math.abs(o)?(this.touchCaptured=!0,"linear"==
=t.navigationMode?t.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):a<-40&&Math.abs(a)>Math.abs(o)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):o>40&&r.up?(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.prev():this.Reveal.up()):o<-40&&r.down&&(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.next():this.Reveal.down()),t.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&e.preventDefault():e.preventDefault()}}}},{key:"onTouchEnd",value:function(e){this.touchCaptured=!1}},{key:"onPointerDown",value:function(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchStart(e))}},{key:"onPointerMove",value:function(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchMove(e))}},{key:"onPointerUp",value:function(e){e.po
interType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchEnd(e))}}]),e}(),ws="focus",Ss="blur",Es=function(){function e(t){eo(this,e),this.Reveal=t,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}return no(e,[{key:"configure",value:function(e,t){e.embedded?this.blur():(this.focus(),this.unbind())}},{key:"bind",value:function(){this.Reveal.getConfig().embedded&&this.Reveal.getRevealElement().addEventListener("pointerdown",this.onRevealPointerDown,!1)}},{key:"unbind",value:function(){this.Reveal.getRevealElement().removeEventListener("pointerdown",this.onRevealPointerDown,!1),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)}},{key:"focus",value:function(){this.state!==ws&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=ws}},{ke
y:"blur",value:function(){this.state!==Ss&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=Ss}},{key:"isFocused",value:function(){return this.state===ws}},{key:"onRevealPointerDown",value:function(e){this.focus()}},{key:"onDocumentPointerDown",value:function(e){var t=xo(e.target,".reveal");t&&t===this.Reveal.getRevealElement()||this.blur()}}]),e}(),ks=function(){function e(t){eo(this,e),this.Reveal=t}return no(e,[{key:"render",value:function(){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)}},{key:"configure",value:function(e,t){e.showNotes&&this.element.setAttribute("data-layout","string"==typeof e.showNotes?e.showNotes:"inline")}},{key:"update",value:function(){this.Reveal.getConfig().showNotes&&this.ele
ment&&this.Reveal.getCurrentSlide()&&!this.Reveal.print.isPrintingPDF()&&(this.element.innerHTML=this.getSlideNotes()||'<span class="notes-placeholder">No notes on this slide.</span>')}},{key:"updateVisibility",value:function(){this.Reveal.getConfig().showNotes&&this.hasNotes()&&!this.Reveal.print.isPrintingPDF()?this.Reveal.getRevealElement().classList.add("show-notes"):this.Reveal.getRevealElement().classList.remove("show-notes")}},{key:"hasNotes",value:function(){return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length>0}},{key:"isSpeakerNotesWindow",value:function(){return!!window.location.search.match(/receiver/gi)}},{key:"getSlideNotes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.Reveal.getCurrentSlide();if(e.hasAttribute("data-notes"))return e.getAttribute("data-notes");var t=e.querySelector("aside.notes");return t?t.innerHTML:null}}]),e}(),As=qe("unscopables"),Rs=Array.prototype;null==Rs[As]&&P.f(Rs,As,
{configurable:!0,value:It(null)});Oe({target:"Array",proto:!0},{fill:function(e){for(var t=De(this),n=de(t.length),i=arguments.length,r=ve(i>1?arguments[1]:void 0,n),a=i>2?arguments[2]:void 0,o=void 0===a?n:ve(a,n);o>r;)t[r++]=e;return t}}),function(e){Rs[As][e]=!0}("fill");var xs=function(){function e(t,n){eo(this,e),this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=t,this.progressCheck=n,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()}return no(e,[{key:"setPlaying",value:function(e){var t=this.playing;this.playing=e,!t&&this.playing?this.animate():this.render()}},{key:"animate",value:function(){var e=this.progress;this.pro
gress=this.progressCheck(),e>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}},{key:"render",value:function(){var e=this.playing?this.progress:0,t=this.diameter2-this.thickness,n=this.diameter2,i=this.diameter2,r=28;this.progressOffset+=.1*(1-this.progressOffset);var a=-Math.PI/2+e*(2*Math.PI),o=-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(n,i,t+4,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(n,i,t,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(n,i,t,o,a,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate
(n-14,i-14),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,10,r),this.context.fillRect(18,0,10,r)):(this.context.beginPath(),this.context.translate(4,0),this.context.moveTo(0,0),this.context.lineTo(24,14),this.context.lineTo(0,r),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()}},{key:"on",value:function(e,t){this.canvas.addEventListener(e,t,!1)}},{key:"off",value:function(e,t){this.canvas.removeEventListener(e,t,!1)}},{key:"destroy",value:function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}}]),e}(),Ls={width:960,height:700,margin:.04,minScale:.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!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,pdfMaxPagesPerSlide:Number.POSITIVE_INFINITY,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCu
rsor:!0,hideCursorTime:5e3,dependencies:[],plugins:[]},Cs="4.1.0";function Ps(e,t){arguments.length<2&&(t=arguments[0],e=document.querySelector(".reveal"));var n,i,r,a,o,s={},l={},u=!1,c={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},d=[],h=1,f={layout:"",overview:""},v={},g="idle",p=0,m=0,y=-1,b=!1,w=new Ho(s),S=new Fo(s),E=new as(s),k=new Bo(s),A=new os(s),R=new ss(s),x=new ls(s),L=new us(s),C=new cs(s),P=new ds(s),N=new hs(s),M=new ms(s),I=new ys(s),O=new Es(s),T=new bs(s),D=new ks(s);function j(n){return v.wrapper=e,v.slides=e.querySelector(".slides"),l=ao(ao(ao(ao(ao({},Ls),l),t),n),Po()),z(),window.addEventListener("load",oe,!1),M.load(l.plugins,l.dependencies).then(H),new Promise((function(e){return s.on("ready",e)}))}function z(){!0===l.embedded?v.viewport=xo(e,".reveal-viewport")||e:(v.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),v.viewport.classList.add("reveal-viewport")}function H(){u=!0,F(),U(),V(),_(),Ae(),K(),L.readURL(),
k.update(!0),setTimeout((function(){v.slides.classList.remove("no-transition"),v.wrapper.classList.add("ready"),Q({type:"ready",data:{indexh:n,indexv:i,currentSlide:a}})}),1),I.isPrintingPDF()&&(X(),"complete"===document.readyState?I.setupPDF():window.addEventListener("load",(function(){I.setupPDF()})))}function F(){l.showHiddenSlides||So(v.wrapper,'section[data-visibility="hidden"]').forEach((function(e){e.parentNode.removeChild(e)}))}function U(){v.slides.classList.add("no-transition"),Oo?v.wrapper.classList.add("no-hover"):v.wrapper.classList.remove("no-hover"),k.render(),S.render(),C.render(),P.render(),D.render(),v.pauseOverlay=Lo(v.wrapper,"div","pause-overlay",l.controls?'<button class="resume-button">Resume presentation</button>':null),v.statusElement=B(),v.wrapper.setAttribute("role","application")}function B(){var e=v.wrapper.querySelector(".aria-status");return e||((e=document.createElement("div")).style.position="absolute",e.style.height="1px",e.style.width="1px",e.style
.overflow="hidden",e.style.clip="rect( 1px, 1px, 1px, 1px )",e.classList.add("aria-status"),e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),v.wrapper.appendChild(e)),e}function q(e){v.statusElement.textContent=e}function W(e){var t="";if(3===e.nodeType)t+=e.textContent;else if(1===e.nodeType){var n=e.getAttribute("aria-hidden"),i="none"===window.getComputedStyle(e).display;"true"===n||i||Array.from(e.childNodes).forEach((function(e){t+=W(e)}))}return""===(t=t.trim())?"":t+" "}function _(){setInterval((function(){0===v.wrapper.scrollTop&&0===v.wrapper.scrollLeft||(v.wrapper.scrollTop=0,v.wrapper.scrollLeft=0)}),1e3)}function V(){l.postMessage&&window.addEventListener("message",(function(e){var t=e.data;if("string"==typeof t&&"{"===t.charAt(0)&&"}"===t.charAt(t.length-1)&&(t=JSON.parse(t)).method&&"function"==typeof s[t.method])if(!1===ho.test(t.method)){var n=s[t.method].apply(s,t.args);Z("callback",{method:t.method,result:n})}else console.warn('reveal.js: "
'+t.method+'" is is blacklisted from the postMessage API')}),!1)}function K(e){var t=ao({},l);if("object"===Za(e)&&wo(l,e),!1!==s.isReady()){var n=v.wrapper.querySelectorAll(lo).length;v.wrapper.classList.remove(t.transition),v.wrapper.classList.add(l.transition),v.wrapper.setAttribute("data-transition-speed",l.transitionSpeed),v.wrapper.setAttribute("data-background-transition",l.backgroundTransition),v.viewport.style.setProperty("--slide-width",l.width+"px"),v.viewport.style.setProperty("--slide-height",l.height+"px"),l.shuffle&&Re(),Eo(v.wrapper,"embedded",l.embedded),Eo(v.wrapper,"rtl",l.rtl),Eo(v.wrapper,"center",l.center),!1===l.pause&&pe(),l.previewLinks?(ee(),te("[data-preview-link=false]")):(te(),ee("[data-preview-link]:not([data-preview-link=false])")),E.reset(),o&&(o.destroy(),o=null),n>1&&l.autoSlide&&l.autoSlideStoppable&&((o=new xs(v.wrapper,(function(){return Math.min(Math.max((Date.now()-y)/p,0),1)}))).on("click",at),b=!1),"default"!==l.navigationMode?v.wrapper.setAt
tribute("data-navigation-mode",l.navigationMode):v.wrapper.removeAttribute("data-navigation-mode"),D.configure(l,t),O.configure(l,t),N.configure(l,t),C.configure(l,t),P.configure(l,t),x.configure(l,t),A.configure(l,t),S.configure(l,t),Ee()}}function $(){window.addEventListener("resize",nt,!1),l.touch&&T.bind(),l.keyboard&&x.bind(),l.progress&&P.bind(),l.respondToHashChanges&&L.bind(),C.bind(),O.bind(),v.slides.addEventListener("transitionend",tt,!1),v.pauseOverlay.addEventListener("click",pe,!1),l.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",it,!1)}function X(){T.unbind(),O.unbind(),x.unbind(),C.unbind(),P.unbind(),L.unbind(),window.removeEventListener("resize",nt,!1),v.slides.removeEventListener("transitionend",tt,!1),v.pauseOverlay.removeEventListener("click",pe,!1)}function Y(t,n,i){e.addEventListener(t,n,i)}function G(t,n,i){e.removeEventListener(t,n,i)}function J(e){"string"==typeof e.layout&&(f.layout=e.layout),"string"==typeof e.overview&&(f.o
verview=e.overview),f.layout?Ao(v.slides,f.layout+" "+f.overview):Ao(v.slides,f.overview)}function Q(e){var t=e.target,n=void 0===t?v.wrapper:t,i=e.type,r=e.data,a=e.bubbles,o=void 0===a||a,s=document.createEvent("HTMLEvents",1,2);s.initEvent(i,o,!0),wo(s,r),n.dispatchEvent(s),n===v.wrapper&&Z(i)}function Z(e,t){if(l.postMessageEvents&&window.parent!==window.self){var n={namespace:"reveal",eventName:e,state:qe()};wo(n,t),window.parent.postMessage(JSON.stringify(n),"*")}}function ee(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"a";Array.from(v.wrapper.querySelectorAll(e)).forEach((function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",rt,!1)}))}function te(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"a";Array.from(v.wrapper.querySelectorAll(e)).forEach((function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",rt,!1)}))}function ne(e){ae(),v.overlay=document.createElement("div"),v.overlay
.classList.add("overlay"),v.overlay.classList.add("overlay-preview"),v.wrapper.appendChild(v.overlay),v.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="'.concat(e,'" 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="').concat(e,'"></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>'),v.overlay.querySelector("iframe").addEventListener("load",(function(e){v.overlay.classList.add("loaded")}),!1),v.overlay.querySelector(".close").addEventListener("click",(function(e){ae(),e.preventDefault()}),!1),v.overlay.querySelector(".external").addEventListener("click",(function(e){ae()}),!1)}function ie(e){"boolean"==typeof e?e?re():ae():v.overlay?ae():re()}funct
ion re(){if(l.help){ae(),v.overlay=document.createElement("div"),v.overlay.classList.add("overlay"),v.overlay.classList.add("overlay-help"),v.wrapper.appendChild(v.overlay);var e='<p class="title">Keyboard Shortcuts</p><br/>',t=x.getShortcuts(),n=x.getBindings();for(var i in e+="<table><th>KEY</th><th>ACTION</th>",t)e+="<tr><td>".concat(i,"</td><td>").concat(t[i],"</td></tr>");for(var r in n)n[r].key&&n[r].description&&(e+="<tr><td>".concat(n[r].key,"</td><td>").concat(n[r].description,"</td></tr>"));e+="</table>",v.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">'.concat(e,"</div>\n\t\t\t\t</div>\n\t\t\t"),v.overlay.querySelector(".close").addEventListener("click",(function(e){ae(),e.preventDefault()}),!1)}}function ae(){return!!v.overlay&&(v.overlay.parentNode.removeChild(v.overlay),v.overlay=null,!0)}function oe(){if(v.wrapper&&!I.isP
rintingPDF()){if(!l.disableLayout){Oo&&!l.embedded&&document.documentElement.style.setProperty("--vh",.01*window.innerHeight+"px");var e=le(),t=h;se(l.width,l.height),v.slides.style.width=e.width+"px",v.slides.style.height=e.height+"px",h=Math.min(e.presentationWidth/e.width,e.presentationHeight/e.height),h=Math.max(h,l.minScale),1===(h=Math.min(h,l.maxScale))?(v.slides.style.zoom="",v.slides.style.left="",v.slides.style.top="",v.slides.style.bottom="",v.slides.style.right="",J({layout:""})):h>1&&jo&&window.devicePixelRatio<2?(v.slides.style.zoom=h,v.slides.style.left="",v.slides.style.top="",v.slides.style.bottom="",v.slides.style.right="",J({layout:""})):(v.slides.style.zoom="",v.slides.style.left="50%",v.slides.style.top="50%",v.slides.style.bottom="auto",v.slides.style.right="auto",J({layout:"translate(-50%, -50%) scale("+h+")"}));for(var n=Array.from(v.wrapper.querySelectorAll(lo)),i=0,r=n.length;i<r;i++){var a=n[i];"none"!==a.style.display&&(l.center||a.classList.contains("cen
ter")?a.classList.contains("stack")?a.style.top=0:a.style.top=Math.max((e.height-a.scrollHeight)/2,0)+"px":a.style.top="")}t!==h&&Q({type:"resize",data:{oldScale:t,scale:h,size:e}})}P.update(),k.updateParallax(),R.isActive()&&R.update()}}function se(e,t){So(v.slides,"section > .stretch, section > .r-stretch").forEach((function(n){var i=No(n,t);if(/(img|video)/gi.test(n.nodeName)){var r=n.naturalWidth||n.videoWidth,a=n.naturalHeight||n.videoHeight,o=Math.min(e/r,i/a);n.style.width=r*o+"px",n.style.height=a*o+"px"}else n.style.width=e+"px",n.style.height=i+"px"}))}function le(e,t){var n={width:l.width,height:l.height,presentationWidth:e||v.wrapper.offsetWidth,presentationHeight:t||v.wrapper.offsetHeight};return n.presentationWidth-=n.presentationWidth*l.margin,n.presentationHeight-=n.presentationHeight*l.margin,"string"==typeof n.width&&/%$/.test(n.width)&&(n.width=parseInt(n.width,10)/100*n.presentationWidth),"string"==typeof n.height&&/%$/.test(n.height)&&(n.height=parseInt(n.height
,10)/100*n.presentationHeight),n}function ue(e,t){"object"===Za(e)&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function ce(e){if("object"===Za(e)&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){var t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function de(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;return e&&e.parentNode&&!!e.parentNode.nodeName.match(/section/i)}function he(){return!(!a||!de(a))&&!a.nextElementSibling}function fe(){return 0===n&&0===i}function ve(){return!!a&&(!a.nextElementSibling&&(!de(a)||!a.parentNode.nextElementSibling))}function ge(){if(l.pause){var e=v.wrapper.classList.contains("paused");Ve(),v.wrapper.classList.add("paused"),!1===e&&Q({type:"paused"})}}function pe(){var e=v.wrapper.classList.contains("paused");v.wrapper.classList.remove("paused"),_e(),e&&Q({type:"resumed"})}function me(e){"boolean"
==typeof e?e?ge():pe():ye()?pe():ge()}function ye(){return v.wrapper.classList.contains("paused")}function be(e){"boolean"==typeof e?e?$e():Ke():b?$e():Ke()}function we(){return!(!p||b)}function Se(e,t,o,s){r=a;var u=v.wrapper.querySelectorAll(uo);if(0!==u.length){void 0!==t||R.isActive()||(t=ce(u[e])),r&&r.parentNode&&r.parentNode.classList.contains("stack")&&ue(r.parentNode,i);var c=d.concat();d.length=0;var h=n||0,f=i||0;n=xe(uo,void 0===e?n:e),i=xe(co,void 0===t?i:t);var p=n!==h||i!==f;p||(r=null);var m=u[n],y=m.querySelectorAll("section");a=y[i]||m;var b=!1;p&&r&&a&&!R.isActive()&&(r.hasAttribute("data-auto-animate")&&a.hasAttribute("data-auto-animate")&&(b=!0,v.slides.classList.add("disable-slide-transitions")),g="running"),Le(),oe(),R.isActive()&&R.update(),void 0!==o&&A.goto(o),r&&r!==a&&(r.classList.remove("present"),r.setAttribute("aria-hidden","true"),fe()&&setTimeout((function(){De().forEach((function(e){ue(e,0)}))}),0));e:for(var x=0,N=d.length;x<N;x++){for(var M=0;M<c.
length;M++)if(c[M]===d[x]){c.splice(M,1);continue e}v.viewport.classList.add(d[x]),Q({type:d[x]})}for(;c.length;)v.viewport.classList.remove(c.pop());p&&Q({type:"slidechanged",data:{indexh:n,indexv:i,previousSlide:r,currentSlide:a,origin:s}}),!p&&r||(w.stopEmbeddedContent(r),w.startEmbeddedContent(a)),q(W(a)),P.update(),C.update(),D.update(),k.update(),k.updateParallax(),S.update(),A.update(),L.writeURL(),_e(),b&&(setTimeout((function(){v.slides.classList.remove("disable-slide-transitions")}),0),l.autoAnimate&&E.run(r,a))}}function Ee(){X(),$(),oe(),p=l.autoSlide,_e(),k.create(),L.writeURL(),A.sortAll(),C.update(),P.update(),Le(),D.update(),D.updateVisibility(),k.update(!0),S.update(),w.formatEmbeddedContent(),!1===l.autoPlayMedia?w.stopEmbeddedContent(a,{unloadIframes:!1}):w.startEmbeddedContent(a),R.isActive()&&R.layout()}function ke(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;k.sync(e),A.sync(e),w.load(e),k.update(),D.update()}function Ae(){Oe().forEach((func
tion(e){So(e,"section").forEach((function(e,t){t>0&&(e.classList.remove("present"),e.classList.remove("past"),e.classList.add("future"),e.setAttribute("aria-hidden","true"))}))}))}function Re(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Oe();e.forEach((function(t,n){var i=e[Math.floor(Math.random()*e.length)];i.parentNode===t.parentNode&&t.parentNode.insertBefore(t,i);var r=t.querySelectorAll("section");r.length&&Re(r)}))}function xe(e,t){var n=So(v.wrapper,e),i=n.length,r=I.isPrintingPDF();if(i){l.loop&&(t%=i)<0&&(t=i+t),t=Math.max(Math.min(t,i-1),0);for(var a=0;a<i;a++){var o=n[a],s=l.rtl&&!de(o);o.classList.remove("past"),o.classList.remove("present"),o.classList.remove("future"),o.setAttribute("hidden",""),o.setAttribute("aria-hidden","true"),o.querySelector("section")&&o.classList.add("stack"),r?o.classList.add("present"):a<t?(o.classList.add(s?"future":"past"),l.fragments&&So(o,".fragment").forEach((function(e){e.classList.add("visible"),e.classList.remove("c
urrent-fragment")}))):a>t&&(o.classList.add(s?"past":"future"),l.fragments&&So(o,".fragment.visible").forEach((function(e){e.classList.remove("visible","current-fragment")})))}var u=n[t],c=u.classList.contains("present");u.classList.add("present"),u.removeAttribute("hidden"),u.removeAttribute("aria-hidden"),c||Q({target:u,type:"visible",bubbles:!1});var h=u.getAttribute("data-state");h&&(d=d.concat(h.split(" ")))}else t=0;return t}function Le(){var e,t=Oe(),r=t.length;if(r&&void 0!==n){var a=R.isActive()?10:l.viewDistance;Oo&&(a=R.isActive()?6:l.mobileViewDistance),I.isPrintingPDF()&&(a=Number.MAX_VALUE);for(var o=0;o<r;o++){var s=t[o],u=So(s,"section"),c=u.length;if(e=Math.abs((n||0)-o)||0,l.loop&&(e=Math.abs(((n||0)-o)%(r-a))||0),e<a?w.load(s):w.unload(s),c)for(var d=ce(s),h=0;h<c;h++){var f=u[h];e+(o===(n||0)?Math.abs((i||0)-h):Math.abs(h-d))<a?w.load(f):w.unload(f)}}ze()?v.wrapper.classList.add("has-vertical-slides"):v.wrapper.classList.remove("has-vertical-slides"),je()?v.wrapp
er.classList.add("has-horizontal-slides"):v.wrapper.classList.remove("has-horizontal-slides")}}function Ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.includeFragments,r=void 0!==t&&t,a=v.wrapper.querySelectorAll(uo),o=v.wrapper.querySelectorAll(co),s={left:n>0,right:n<a.length-1,up:i>0,down:i<o.length-1};if(l.loop&&(a.length>1&&(s.left=!0,s.right=!0),o.length>1&&(s.up=!0,s.down=!0)),a.length>1&&"linear"===l.navigationMode&&(s.right=s.right||s.down,s.left=s.left||s.up),!0===r){var u=A.availableRoutes();s.left=s.left||u.prev,s.up=s.up||u.prev,s.down=s.down||u.next,s.right=s.right||u.next}if(l.rtl){var c=s.left;s.left=s.right,s.right=c}return s}function Pe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,t=Oe(),n=0;e:for(var i=0;i<t.length;i++){for(var r=t[i],o=r.querySelectorAll("section"),s=0;s<o.length;s++){if(o[s]===e)break e;"uncounted"!==o[s].dataset.visibility&&n++}if(r===e)break;!1===r.classList.contains("stack")&&"uncounted"!==r.datas
et.visibility&&n++}return n}function Ne(){var e=Fe(),t=Pe();if(a){var n=a.querySelectorAll(".fragment");if(n.length>0){t+=a.querySelectorAll(".fragment.visible").length/n.length*.9}}return Math.min(t/(e-1),1)}function Me(e){var t,r=n,o=i;if(e){var s=de(e),l=s?e.parentNode:e,u=Oe();r=Math.max(u.indexOf(l),0),o=void 0,s&&(o=Math.max(So(e.parentNode,"section").indexOf(e),0))}if(!e&&a&&a.querySelectorAll(".fragment").length>0){var c=a.querySelector(".current-fragment");t=c&&c.hasAttribute("data-fragment-index")?parseInt(c.getAttribute("data-fragment-index"),10):a.querySelectorAll(".fragment.visible").length-1}return{h:r,v:o,f:t}}function Ie(){return So(v.wrapper,'.slides section:not(.stack):not([data-visibility="uncounted"])')}function Oe(){return So(v.wrapper,uo)}function Te(){return So(v.wrapper,".slides>section>section")}function De(){return So(v.wrapper,".slides>section.stack")}function je(){return Oe().length>1}function ze(){return Te().length>1}function He(){return Ie().map((funct
ion(e){for(var t={},n=0;n<e.attributes.length;n++){var i=e.attributes[n];t[i.name]=i.value}return t}))}function Fe(){return Ie().length}function Ue(e,t){var n=Oe()[e],i=n&&n.querySelectorAll("section");return i&&i.length&&"number"==typeof t?i?i[t]:void 0:n}function Be(e,t){var n="number"==typeof e?Ue(e,t):e;if(n)return n.slideBackgroundElement}function qe(){var e=Me();return{indexh:e.h,indexv:e.v,indexf:e.f,paused:ye(),overview:R.isActive()}}function We(e){if("object"===Za(e)){Se(ko(e.indexh),ko(e.indexv),ko(e.indexf));var t=ko(e.paused),n=ko(e.overview);"boolean"==typeof t&&t!==ye()&&me(t),"boolean"==typeof n&&n!==R.isActive()&&R.toggle(n)}}function _e(){if(Ve(),a&&!1!==l.autoSlide){var e=a.querySelector(".current-fragment");e||(e=a.querySelector(".fragment"));var t=e?e.getAttribute("data-autoslide"):null,n=a.parentNode?a.parentNode.getAttribute("data-autoslide"):null,i=a.getAttribute("data-autoslide");t?p=parseInt(t,10):i?p=parseInt(i,10):n?p=parseInt(n,10):(p=l.autoSlide,0===a.qu
erySelectorAll(".fragment").length&&So(a,"video, audio").forEach((function(e){e.hasAttribute("data-autoplay")&&p&&1e3*e.duration/e.playbackRate>p&&(p=1e3*e.duration/e.playbackRate+1e3)}))),!p||b||ye()||R.isActive()||ve()&&!A.availableRoutes().next&&!0!==l.loop||(m=setTimeout((function(){"function"==typeof l.autoSlideMethod?l.autoSlideMethod():Ze(),_e()}),p),y=Date.now()),o&&o.setPlaying(-1!==m)}}function Ve(){clearTimeout(m),m=-1}function Ke(){p&&!b&&(b=!0,Q({type:"autoslidepaused"}),clearTimeout(m),o&&o.setPlaying(!1))}function $e(){p&&b&&(b=!1,Q({type:"autoslideresumed"}),_e())}function Xe(){c.hasNavigatedHorizontally=!0,l.rtl?(R.isActive()||!1===A.next())&&Ce().left&&Se(n+1,"grid"===l.navigationMode?i:void 0):(R.isActive()||!1===A.prev())&&Ce().left&&Se(n-1,"grid"===l.navigationMode?i:void 0)}function Ye(){c.hasNavigatedHorizontally=!0,l.rtl?(R.isActive()||!1===A.prev())&&Ce().right&&Se(n-1,"grid"===l.navigationMode?i:void 0):(R.isActive()||!1===A.next())&&Ce().right&&Se(n+1,"gri
d"===l.navigationMode?i:void 0)}function Ge(){(R.isActive()||!1===A.prev())&&Ce().up&&Se(n,i-1)}function Je(){c.hasNavigatedVertically=!0,(R.isActive()||!1===A.next())&&Ce().down&&Se(n,i+1)}function Qe(){var e;if(!1===A.prev())if(Ce().up)Ge();else if(e=l.rtl?So(v.wrapper,".slides>section.future").pop():So(v.wrapper,".slides>section.past").pop()){var t=e.querySelectorAll("section").length-1||void 0;Se(n-1,t)}}function Ze(){if(c.hasNavigatedHorizontally=!0,c.hasNavigatedVertically=!0,!1===A.next()){var e=Ce();e.down&&e.right&&l.loop&&he()&&(e.down=!1),e.down?Je():l.rtl?Xe():Ye()}}function et(e){l.autoSlideStoppable&&Ke()}function tt(e){"running"===g&&/section/gi.test(e.target.nodeName)&&(g="idle",Q({type:"slidetransitionend",data:{indexh:n,indexv:i,previousSlide:r,currentSlide:a}}))}function nt(e){oe()}function it(e){!1===document.hidden&&document.activeElement!==document.body&&("function"==typeof document.activeElement.blur&&document.activeElement.blur(),document.body.focus())}functi
on rt(e){if(e.currentTarget&&e.currentTarget.hasAttribute("href")){var t=e.currentTarget.getAttribute("href");t&&(ne(t),e.preventDefault())}}function at(e){ve()&&!1===l.loop?(Se(0,0),$e()):b?$e():Ke()}var ot={VERSION:Cs,initialize:j,configure:K,sync:Ee,syncSlide:ke,syncFragments:A.sync.bind(A),slide:Se,left:Xe,right:Ye,up:Ge,down:Je,prev:Qe,next:Ze,navigateLeft:Xe,navigateRight:Ye,navigateUp:Ge,navigateDown:Je,navigatePrev:Qe,navigateNext:Ze,navigateFragment:A.goto.bind(A),prevFragment:A.prev.bind(A),nextFragment:A.next.bind(A),on:Y,off:G,addEventListener:Y,removeEventListener:G,layout:oe,shuffle:Re,availableRoutes:Ce,availableFragments:A.availableRoutes.bind(A),toggleHelp:ie,toggleOverview:R.toggle.bind(R),togglePause:me,toggleAutoSlide:be,isFirstSlide:fe,isLastSlide:ve,isLastVerticalSlide:he,isVerticalSlide:de,isPaused:ye,isAutoSliding:we,isSpeakerNotes:D.isSpeakerNotesWindow.bind(D),isOverview:R.isActive.bind(R),isFocused:O.isFocused.bind(O),isPrintingPDF:I.isPrintingPDF.bind(I),
isReady:function(){return u},loadSlide:w.load.bind(w),unloadSlide:w.unload.bind(w),addEventListeners:$,removeEventListeners:X,dispatchEvent:Q,getState:qe,setState:We,getProgress:Ne,getIndices:Me,getSlidesAttributes:He,getSlidePastCount:Pe,getTotalSlides:Fe,getSlide:Ue,getPreviousSlide:function(){return r},getCurrentSlide:function(){return a},getSlideBackground:Be,getSlideNotes:D.getSlideNotes.bind(D),getSlides:Ie,getHorizontalSlides:Oe,getVerticalSlides:Te,hasHorizontalSlides:je,hasVerticalSlides:ze,hasNavigatedHorizontally:function(){return c.hasNavigatedHorizontally},hasNavigatedVertically:function(){return c.hasNavigatedVertically},addKeyBinding:x.addKeyBinding.bind(x),removeKeyBinding:x.removeKeyBinding.bind(x),triggerKey:x.triggerKey.bind(x),registerKeyboardShortcut:x.registerKeyboardShortcut.bind(x),getComputedSlideSize:le,getScale:function(){return h},getConfig:function(){return l},getQueryHash:Po,getRevealElement:function(){return e},getSlidesElement:function(){return v.slid
es},getViewportElement:function(){return v.viewport},getBackgroundsElement:function(){return k.element},registerPlugin:M.registerPlugin.bind(M),hasPlugin:M.hasPlugin.bind(M),getPlugin:M.getPlugin.bind(M),getPlugins:M.getRegisteredPlugins.bind(M)};return wo(s,ao(ao({},ot),{},{announceStatus:q,getStatusText:W,print:I,focus:O,progress:P,controls:C,location:L,overview:R,fragments:A,slideContent:w,slideNumber:S,onUserInput:et,closeOverlay:ae,updateSlidesVisibility:Le,layoutSlideContents:se,transformSlides:J,cueAutoSlide:_e,cancelAutoSlide:Ve})),ot}var Ns=Ps,Ms=[];return Ns.initialize=function(e){return Object.assign(Ns,new Ps(document.querySelector(".reveal"),e)),Ms.map((function(e){return e(Ns)})),Ns.initialize()},["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach((function(e){Ns[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];Ms.push((function(t){var i;return(i=t[e]).call.apply(i,[null].concat(n))}))}})),Ns.i
sReady=function(){return!1},Ns.VERSION=Cs,Ns}));
+//# sourceMappingURL=reveal.js.map
diff --git a/assets/static/revealjs/dist/theme/beige.css b/assets/static/revealjs/dist/theme/beige.css
new file mode 100644
index 0000000..4cdd397
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/beige.css
@@ -0,0 +1,301 @@
+/**
+ * Beige theme for reveal.js.
+ *
+ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
+ */
+@import url(./fonts/league-gothic/league-gothic.css);
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700itali…;
+section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
+ color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #f7f3de;
+ --main-font: Lato, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #333;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: League Gothic, Impact, sans-serif;
+ --heading-color: #333;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: none;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15);
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #8b743d;
+ --link-color-hover: #c0a86e;
+ --selection-background-color: rgba(79, 64, 28, 0.99);
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #f7f2d3;
+ background: -moz-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
+ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, white), color-stop(100%, #f7f2d3));
+ background: -webkit-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
+ background: -o-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
+ background: -ms-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
+ background: radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
+ background-color: #f7f3de; }
+
+.reveal {
+ font-family: "Lato", sans-serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #333; }
+
+.reveal ::selection {
+ color: #fff;
+ background: rgba(79, 64, 28, 0.99);
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: rgba(79, 64, 28, 0.99);
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #333;
+ font-family: "League Gothic", Impact, sans-serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #8b743d;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #c0a86e;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #564826; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #333;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #8b743d;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #8b743d; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #8b743d; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #f7f3de; } }
diff --git a/assets/static/revealjs/dist/theme/black.css b/assets/static/revealjs/dist/theme/black.css
new file mode 100644
index 0000000..dcde9de
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/black.css
@@ -0,0 +1,294 @@
+/**
+ * Black theme for reveal.js. This is the opposite of the 'white' theme.
+ *
+ * By Hakim El Hattab, http://hakim.se
+ */
+@import url(./fonts/source-sans-pro/source-sans-pro.css);
+section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
+ color: #222; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #191919;
+ --main-font: Source Sans Pro, Helvetica, sans-serif;
+ --main-font-size: 42px;
+ --main-color: #fff;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: Source Sans Pro, Helvetica, sans-serif;
+ --heading-color: #fff;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: none;
+ --heading-font-weight: 600;
+ --heading1-text-shadow: none;
+ --heading1-size: 2.5em;
+ --heading2-size: 1.6em;
+ --heading3-size: 1.3em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #42affa;
+ --link-color-hover: #8dcffc;
+ --selection-background-color: #bee4fd;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #191919;
+ background-color: #191919; }
+
+.reveal {
+ font-family: "Source Sans Pro", Helvetica, sans-serif;
+ font-size: 42px;
+ font-weight: normal;
+ color: #fff; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #bee4fd;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #bee4fd;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #fff;
+ font-family: "Source Sans Pro", Helvetica, sans-serif;
+ font-weight: 600;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 2.5em; }
+
+.reveal h2 {
+ font-size: 1.6em; }
+
+.reveal h3 {
+ font-size: 1.3em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #42affa;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #8dcffc;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #068de9; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #fff;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #42affa;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #42affa; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #42affa; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #191919; } }
diff --git a/assets/static/revealjs/dist/theme/blood.css b/assets/static/revealjs/dist/theme/blood.css
new file mode 100644
index 0000000..9062842
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/blood.css
@@ -0,0 +1,323 @@
+/**
+ * Blood theme for reveal.js
+ * Author: Walther http://github.com/Walther
+ *
+ * Designed to be used with highlight.js theme
+ * "monokai_sublime.css" available from
+ * https://github.com/isagalaev/highlight.js/
+ *
+ * For other themes, change $codeBackground accordingly.
+ *
+ */
+@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700ita…;
+section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
+ color: #222; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #222;
+ --main-font: Ubuntu, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #eee;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: Ubuntu, sans-serif;
+ --heading-color: #eee;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: 2px 2px 2px #222;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15);
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #a23;
+ --link-color-hover: #dd5566;
+ --selection-background-color: #a23;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #222;
+ background-color: #222; }
+
+.reveal {
+ font-family: Ubuntu, "sans-serif";
+ font-size: 40px;
+ font-weight: normal;
+ color: #eee; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #a23;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #a23;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #eee;
+ font-family: Ubuntu, "sans-serif";
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: 2px 2px 2px #222;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #a23;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #dd5566;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #6a1520; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #eee;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #a23;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #a23; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #a23; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #222; } }
+
+.reveal p {
+ font-weight: 300;
+ text-shadow: 1px 1px #222; }
+
+section.has-light-background p, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4 {
+ text-shadow: none; }
+
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ font-weight: 700; }
+
+.reveal p code {
+ background-color: #23241f;
+ display: inline-block;
+ border-radius: 7px; }
+
+.reveal small code {
+ vertical-align: baseline; }
diff --git a/assets/static/revealjs/dist/theme/fonts/league-gothic/LICENSE b/assets/static/revealjs/dist/theme/fonts/league-gothic/LICENSE
new file mode 100644
index 0000000..29513e9
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/fonts/league-gothic/LICENSE
@@ -0,0 +1,2 @@
+SIL Open Font License (OFL)
+http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
diff --git a/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.css b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.css
new file mode 100644
index 0000000..32862f8
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.css
@@ -0,0 +1,10 @@
+@font-face {
+ font-family: 'League Gothic';
+ src: url('./league-gothic.eot');
+ src: url('./league-gothic.eot?#iefix') format('embedded-opentype'),
+ url('./league-gothic.woff') format('woff'),
+ url('./league-gothic.ttf') format('truetype');
+
+ font-weight: normal;
+ font-style: normal;
+}
diff --git a/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot
new file mode 100755
index 0000000..f62619a
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot differ
diff --git a/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf
new file mode 100755
index 0000000..baa9a95
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf differ
diff --git a/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff
new file mode 100755
index 0000000..8c1227b
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/LICENSE b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/LICENSE
new file mode 100644
index 0000000..71b7a02
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/LICENSE
@@ -0,0 +1,45 @@
+SIL Open Font License
+
+Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/) with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+—————————————————————————————-
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+—————————————————————————————-
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+“Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+“Reserved Font Name” refers to any names specified as such after the copyright statement(s).
+
+“Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+“Modified Version” refers to any derivative made by adding to, deleting, or substituting—in part or in whole—any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+“Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
\ No newline at end of file
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot
new file mode 100755
index 0000000..32fe466
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf
new file mode 100755
index 0000000..f9ac13f
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff
new file mode 100755
index 0000000..ceecbf1
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot
new file mode 100755
index 0000000..4d29dda
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf
new file mode 100755
index 0000000..00c833c
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff
new file mode 100755
index 0000000..630754a
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot
new file mode 100755
index 0000000..1104e07
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf
new file mode 100755
index 0000000..6d0253d
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff
new file mode 100755
index 0000000..8888cf8
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot
new file mode 100755
index 0000000..cdf7334
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf
new file mode 100755
index 0000000..5644299
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff
new file mode 100755
index 0000000..7c2d3c7
Binary files /dev/null and b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff differ
diff --git a/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css
new file mode 100644
index 0000000..99e4fb7
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css
@@ -0,0 +1,39 @@
+@font-face {
+ font-family: 'Source Sans Pro';
+ src: url('./source-sans-pro-regular.eot');
+ src: url('./source-sans-pro-regular.eot?#iefix') format('embedded-opentype'),
+ url('./source-sans-pro-regular.woff') format('woff'),
+ url('./source-sans-pro-regular.ttf') format('truetype');
+ font-weight: normal;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Source Sans Pro';
+ src: url('./source-sans-pro-italic.eot');
+ src: url('./source-sans-pro-italic.eot?#iefix') format('embedded-opentype'),
+ url('./source-sans-pro-italic.woff') format('woff'),
+ url('./source-sans-pro-italic.ttf') format('truetype');
+ font-weight: normal;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Source Sans Pro';
+ src: url('./source-sans-pro-semibold.eot');
+ src: url('./source-sans-pro-semibold.eot?#iefix') format('embedded-opentype'),
+ url('./source-sans-pro-semibold.woff') format('woff'),
+ url('./source-sans-pro-semibold.ttf') format('truetype');
+ font-weight: 600;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Source Sans Pro';
+ src: url('./source-sans-pro-semibolditalic.eot');
+ src: url('./source-sans-pro-semibolditalic.eot?#iefix') format('embedded-opentype'),
+ url('./source-sans-pro-semibolditalic.woff') format('woff'),
+ url('./source-sans-pro-semibolditalic.ttf') format('truetype');
+ font-weight: 600;
+ font-style: italic;
+}
diff --git a/assets/static/revealjs/dist/theme/league.css b/assets/static/revealjs/dist/theme/league.css
new file mode 100644
index 0000000..e21024b
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/league.css
@@ -0,0 +1,303 @@
+/**
+ * League theme for reveal.js.
+ *
+ * This was the default theme pre-3.0.0.
+ *
+ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
+ */
+@import url(./fonts/league-gothic/league-gothic.css);
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700itali…;
+section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
+ color: #222; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #2b2b2b;
+ --main-font: Lato, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #eee;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: League Gothic, Impact, sans-serif;
+ --heading-color: #eee;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
+ --heading-font-weight: normal;
+ --heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15);
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #13DAEC;
+ --link-color-hover: #71e9f4;
+ --selection-background-color: #FF5E99;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #1c1e20;
+ background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
+ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20));
+ background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
+ background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
+ background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
+ background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
+ background-color: #2b2b2b; }
+
+.reveal {
+ font-family: "Lato", sans-serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #eee; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #FF5E99;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #FF5E99;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #eee;
+ font-family: "League Gothic", Impact, sans-serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #13DAEC;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #71e9f4;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #0d99a5; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #eee;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #13DAEC;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #13DAEC; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #13DAEC; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #2b2b2b; } }
diff --git a/assets/static/revealjs/dist/theme/moon.css b/assets/static/revealjs/dist/theme/moon.css
new file mode 100644
index 0000000..3852595
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/moon.css
@@ -0,0 +1,301 @@
+/**
+ * Solarized Dark theme for reveal.js.
+ * Author: Achim Staebler
+ */
+@import url(./fonts/league-gothic/league-gothic.css);
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700itali…;
+/**
+ * Solarized colors by Ethan Schoonover
+ */
+html * {
+ color-profile: sRGB;
+ rendering-intent: auto; }
+
+section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
+ color: #222; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #002b36;
+ --main-font: Lato, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #93a1a1;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: League Gothic, Impact, sans-serif;
+ --heading-color: #eee8d5;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: none;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: none;
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #268bd2;
+ --link-color-hover: #78b9e6;
+ --selection-background-color: #d33682;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #002b36;
+ background-color: #002b36; }
+
+.reveal {
+ font-family: "Lato", sans-serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #93a1a1; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #d33682;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #d33682;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #eee8d5;
+ font-family: "League Gothic", Impact, sans-serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #268bd2;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #78b9e6;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #1a6091; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #93a1a1;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #268bd2;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #268bd2; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #268bd2; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #002b36; } }
diff --git a/assets/static/revealjs/dist/theme/night.css b/assets/static/revealjs/dist/theme/night.css
new file mode 100644
index 0000000..0abd954
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/night.css
@@ -0,0 +1,295 @@
+/**
+ * Black theme for reveal.js.
+ *
+ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
+ */
+@import url(https://fonts.googleapis.com/css?family=Montserrat:700);
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700…;
+section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
+ color: #222; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #111;
+ --main-font: Open Sans, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #eee;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: Montserrat, Impact, sans-serif;
+ --heading-color: #eee;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: -0.03em;
+ --heading-text-transform: none;
+ --heading-text-shadow: none;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: none;
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #e7ad52;
+ --link-color-hover: #f3d7ac;
+ --selection-background-color: #e7ad52;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #111;
+ background-color: #111; }
+
+.reveal {
+ font-family: "Open Sans", sans-serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #eee; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #e7ad52;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #e7ad52;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #eee;
+ font-family: "Montserrat", Impact, sans-serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: -0.03em;
+ text-transform: none;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #e7ad52;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #f3d7ac;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #d08a1d; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #eee;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #e7ad52;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #e7ad52; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #e7ad52; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #111; } }
diff --git a/assets/static/revealjs/dist/theme/serif.css b/assets/static/revealjs/dist/theme/serif.css
new file mode 100644
index 0000000..1744dd1
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/serif.css
@@ -0,0 +1,297 @@
+/**
+ * A simple theme for reveal.js presentations, similar
+ * to the default theme. The accent color is brown.
+ *
+ * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed.
+ */
+.reveal a {
+ line-height: 1.3em; }
+
+section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
+ color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #F0F1EB;
+ --main-font: Palatino Linotype, Book Antiqua, Palatino, FreeSerif, serif;
+ --main-font-size: 40px;
+ --main-color: #000;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: Palatino Linotype, Book Antiqua, Palatino, FreeSerif, serif;
+ --heading-color: #383D3D;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: none;
+ --heading-text-shadow: none;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: none;
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #51483D;
+ --link-color-hover: #8b7c69;
+ --selection-background-color: #26351C;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #F0F1EB;
+ background-color: #F0F1EB; }
+
+.reveal {
+ font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #000; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #26351C;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #26351C;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #383D3D;
+ font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: none;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #51483D;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #8b7c69;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #25211c; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #000;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #51483D;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #51483D; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #51483D; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #F0F1EB; } }
diff --git a/assets/static/revealjs/dist/theme/simple.css b/assets/static/revealjs/dist/theme/simple.css
new file mode 100644
index 0000000..ff3e063
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/simple.css
@@ -0,0 +1,297 @@
+/**
+ * A simple theme for reveal.js presentations, similar
+ * to the default theme. The accent color is darkblue.
+ *
+ * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed.
+ * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
+ */
+@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700);
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700itali…;
+section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
+ color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #fff;
+ --main-font: Lato, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #000;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: News Cycle, Impact, sans-serif;
+ --heading-color: #000;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: none;
+ --heading-text-shadow: none;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: none;
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #00008B;
+ --link-color-hover: #0000f1;
+ --selection-background-color: rgba(0, 0, 0, 0.99);
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #fff;
+ background-color: #fff; }
+
+.reveal {
+ font-family: "Lato", sans-serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #000; }
+
+.reveal ::selection {
+ color: #fff;
+ background: rgba(0, 0, 0, 0.99);
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: rgba(0, 0, 0, 0.99);
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #000;
+ font-family: "News Cycle", Impact, sans-serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: none;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #00008B;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #0000f1;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #00003f; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #000;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #00008B;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #00008B; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #00008B; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #fff; } }
diff --git a/assets/static/revealjs/dist/theme/sky.css b/assets/static/revealjs/dist/theme/sky.css
new file mode 100644
index 0000000..ab9a40c
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/sky.css
@@ -0,0 +1,304 @@
+/**
+ * Sky theme for reveal.js.
+ *
+ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
+ */
+@import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700…;
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,4…;
+.reveal a {
+ line-height: 1.3em; }
+
+section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
+ color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #f7fbfc;
+ --main-font: Open Sans, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #333;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: Quicksand, sans-serif;
+ --heading-color: #333;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: -0.08em;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: none;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: none;
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #3b759e;
+ --link-color-hover: #74a7cb;
+ --selection-background-color: #134674;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #add9e4;
+ background: -moz-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
+ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #f7fbfc), color-stop(100%, #add9e4));
+ background: -webkit-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
+ background: -o-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
+ background: -ms-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
+ background: radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
+ background-color: #f7fbfc; }
+
+.reveal {
+ font-family: "Open Sans", sans-serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #333; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #134674;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #134674;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #333;
+ font-family: "Quicksand", sans-serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: -0.08em;
+ text-transform: uppercase;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #3b759e;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #74a7cb;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #264c66; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #333;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #3b759e;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #3b759e; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #3b759e; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #f7fbfc; } }
diff --git a/assets/static/revealjs/dist/theme/solarized.css b/assets/static/revealjs/dist/theme/solarized.css
new file mode 100644
index 0000000..a690537
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/solarized.css
@@ -0,0 +1,298 @@
+/**
+ * Solarized Light theme for reveal.js.
+ * Author: Achim Staebler
+ */
+@import url(./fonts/league-gothic/league-gothic.css);
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700itali…;
+/**
+ * Solarized colors by Ethan Schoonover
+ */
+html * {
+ color-profile: sRGB;
+ rendering-intent: auto; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #fdf6e3;
+ --main-font: Lato, sans-serif;
+ --main-font-size: 40px;
+ --main-color: #657b83;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: League Gothic, Impact, sans-serif;
+ --heading-color: #586e75;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: none;
+ --heading-font-weight: normal;
+ --heading1-text-shadow: none;
+ --heading1-size: 3.77em;
+ --heading2-size: 2.11em;
+ --heading3-size: 1.55em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #268bd2;
+ --link-color-hover: #78b9e6;
+ --selection-background-color: #d33682;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #fdf6e3;
+ background-color: #fdf6e3; }
+
+.reveal {
+ font-family: "Lato", sans-serif;
+ font-size: 40px;
+ font-weight: normal;
+ color: #657b83; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #d33682;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #d33682;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #586e75;
+ font-family: "League Gothic", Impact, sans-serif;
+ font-weight: normal;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 3.77em; }
+
+.reveal h2 {
+ font-size: 2.11em; }
+
+.reveal h3 {
+ font-size: 1.55em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #268bd2;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #78b9e6;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #1a6091; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #657b83;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #268bd2;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #268bd2; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #268bd2; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #fdf6e3; } }
diff --git a/assets/static/revealjs/dist/theme/tor.css b/assets/static/revealjs/dist/theme/tor.css
new file mode 100644
index 0000000..31b0054
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/tor.css
@@ -0,0 +1,296 @@
+
+
+/**
+ * White theme for reveal.js. This is the opposite of the 'black' theme.
+ *
+ * By Hakim El Hattab, http://hakim.se
+ */
+@import url(./fonts/source-sans-pro/source-sans-pro.css);
+section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
+ color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #fff;
+ --main-font: Source Sans Pro, Helvetica, sans-serif;
+ --main-font-size: 42px;
+ --main-color: #222;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: Source Sans Pro, Helvetica, sans-serif;
+ --heading-color: #59316B;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: none;
+ --heading-font-weight: 600;
+ --heading1-text-shadow: none;
+ --heading1-size: 2.5em;
+ --heading2-size: 1.6em;
+ --heading3-size: 1.3em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #59316B;
+ --link-color-hover: #9400ff;
+ --selection-background-color: #98bdef;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #fff;
+ background-color: #fff; }
+
+.reveal {
+ font-family: "Source Sans Pro", Helvetica, sans-serif;
+ font-size: 42px;
+ font-weight: normal;
+ color: #222; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #98bdef;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #98bdef;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #59316B;
+ font-family: "Source Sans Pro", Helvetica, sans-serif;
+ font-weight: 600;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 2.5em; }
+
+.reveal h2 {
+ font-size: 1.6em; }
+
+.reveal h3 {
+ font-size: 1.3em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #2a76dd;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #6ca0e8;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #1a53a1; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #222;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #2a76dd;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #2a76dd; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #2a76dd; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #fff; } }
diff --git a/assets/static/revealjs/dist/theme/white.css b/assets/static/revealjs/dist/theme/white.css
new file mode 100644
index 0000000..e9b1ead
--- /dev/null
+++ b/assets/static/revealjs/dist/theme/white.css
@@ -0,0 +1,294 @@
+/**
+ * White theme for reveal.js. This is the opposite of the 'black' theme.
+ *
+ * By Hakim El Hattab, http://hakim.se
+ */
+@import url(./fonts/source-sans-pro/source-sans-pro.css);
+section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
+ color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+:root {
+ --background-color: #fff;
+ --main-font: Source Sans Pro, Helvetica, sans-serif;
+ --main-font-size: 42px;
+ --main-color: #222;
+ --block-margin: 20px;
+ --heading-margin: 0 0 20px 0;
+ --heading-font: Source Sans Pro, Helvetica, sans-serif;
+ --heading-color: #222;
+ --heading-line-height: 1.2;
+ --heading-letter-spacing: normal;
+ --heading-text-transform: uppercase;
+ --heading-text-shadow: none;
+ --heading-font-weight: 600;
+ --heading1-text-shadow: none;
+ --heading1-size: 2.5em;
+ --heading2-size: 1.6em;
+ --heading3-size: 1.3em;
+ --heading4-size: 1em;
+ --code-font: monospace;
+ --link-color: #2a76dd;
+ --link-color-hover: #6ca0e8;
+ --selection-background-color: #98bdef;
+ --selection-color: #fff; }
+
+.reveal-viewport {
+ background: #fff;
+ background-color: #fff; }
+
+.reveal {
+ font-family: "Source Sans Pro", Helvetica, sans-serif;
+ font-size: 42px;
+ font-weight: normal;
+ color: #222; }
+
+.reveal ::selection {
+ color: #fff;
+ background: #98bdef;
+ text-shadow: none; }
+
+.reveal ::-moz-selection {
+ color: #fff;
+ background: #98bdef;
+ text-shadow: none; }
+
+.reveal .slides section,
+.reveal .slides section > section {
+ line-height: 1.3;
+ font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1,
+.reveal h2,
+.reveal h3,
+.reveal h4,
+.reveal h5,
+.reveal h6 {
+ margin: 0 0 20px 0;
+ color: #222;
+ font-family: "Source Sans Pro", Helvetica, sans-serif;
+ font-weight: 600;
+ line-height: 1.2;
+ letter-spacing: normal;
+ text-transform: uppercase;
+ text-shadow: none;
+ word-wrap: break-word; }
+
+.reveal h1 {
+ font-size: 2.5em; }
+
+.reveal h2 {
+ font-size: 1.6em; }
+
+.reveal h3 {
+ font-size: 1.3em; }
+
+.reveal h4 {
+ font-size: 1em; }
+
+.reveal h1 {
+ text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+ margin: 20px 0;
+ line-height: 1.3; }
+
+/* Remove trailing margins after titles */
+.reveal h1:last-child,
+.reveal h2:last-child,
+.reveal h3:last-child,
+.reveal h4:last-child,
+.reveal h5:last-child,
+.reveal h6:last-child {
+ margin-bottom: 0; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img,
+.reveal video,
+.reveal iframe {
+ max-width: 95%;
+ max-height: 95%; }
+
+.reveal strong,
+.reveal b {
+ font-weight: bold; }
+
+.reveal em {
+ font-style: italic; }
+
+.reveal ol,
+.reveal dl,
+.reveal ul {
+ display: inline-block;
+ text-align: left;
+ margin: 0 0 0 1em; }
+
+.reveal ol {
+ list-style-type: decimal; }
+
+.reveal ul {
+ list-style-type: disc; }
+
+.reveal ul ul {
+ list-style-type: square; }
+
+.reveal ul ul ul {
+ list-style-type: circle; }
+
+.reveal ul ul,
+.reveal ul ol,
+.reveal ol ol,
+.reveal ol ul {
+ display: block;
+ margin-left: 40px; }
+
+.reveal dt {
+ font-weight: bold; }
+
+.reveal dd {
+ margin-left: 40px; }
+
+.reveal blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 20px auto;
+ padding: 5px;
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child,
+.reveal blockquote p:last-child {
+ display: inline-block; }
+
+.reveal q {
+ font-style: italic; }
+
+.reveal pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 20px auto;
+ text-align: left;
+ font-size: 0.55em;
+ font-family: monospace;
+ line-height: 1.2em;
+ word-wrap: break-word;
+ box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
+
+.reveal code {
+ font-family: monospace;
+ text-transform: none; }
+
+.reveal pre code {
+ display: block;
+ padding: 5px;
+ overflow: auto;
+ max-height: 400px;
+ word-wrap: normal; }
+
+.reveal table {
+ margin: auto;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+.reveal table th {
+ font-weight: bold; }
+
+.reveal table th,
+.reveal table td {
+ text-align: left;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ border-bottom: 1px solid; }
+
+.reveal table th[align="center"],
+.reveal table td[align="center"] {
+ text-align: center; }
+
+.reveal table th[align="right"],
+.reveal table td[align="right"] {
+ text-align: right; }
+
+.reveal table tbody tr:last-child th,
+.reveal table tbody tr:last-child td {
+ border-bottom: none; }
+
+.reveal sup {
+ vertical-align: super;
+ font-size: smaller; }
+
+.reveal sub {
+ vertical-align: sub;
+ font-size: smaller; }
+
+.reveal small {
+ display: inline-block;
+ font-size: 0.6em;
+ line-height: 1.2em;
+ vertical-align: top; }
+
+.reveal small * {
+ vertical-align: top; }
+
+.reveal img {
+ margin: 20px 0; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+ color: #2a76dd;
+ text-decoration: none;
+ transition: color .15s ease; }
+
+.reveal a:hover {
+ color: #6ca0e8;
+ text-shadow: none;
+ border: none; }
+
+.reveal .roll span:after {
+ color: #fff;
+ background: #1a53a1; }
+
+/*********************************************
+ * Frame helper
+ *********************************************/
+.reveal .r-frame {
+ border: 4px solid #222;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
+
+.reveal a .r-frame {
+ transition: all .15s linear; }
+
+.reveal a:hover .r-frame {
+ border-color: #2a76dd;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls {
+ color: #2a76dd; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+ background: rgba(0, 0, 0, 0.2);
+ color: #2a76dd; }
+
+/*********************************************
+ * PRINT BACKGROUND
+ *********************************************/
+@media print {
+ .backgrounds {
+ background-color: #fff; } }
1
0
commit 795bfd57083bc5ed2cff0259b35b3d688e90d664
Author: hiro <hiro(a)torproject.org>
Date: Mon Mar 15 20:04:58 2021 +0100
Finish template and slides
---
assets/static/revealjs/dist/theme/tor.css | 6 +-
.../training/resources/tor-training/contents.lr | 400 +++++++++++++++++++--
templates/blocks/slide.html | 3 +-
3 files changed, 382 insertions(+), 27 deletions(-)
diff --git a/assets/static/revealjs/dist/theme/tor.css b/assets/static/revealjs/dist/theme/tor.css
index 2c55510..0ff2e67 100644
--- a/assets/static/revealjs/dist/theme/tor.css
+++ b/assets/static/revealjs/dist/theme/tor.css
@@ -301,8 +301,12 @@ section.has-dark-background, section.has-dark-background h1, section.has-dark-ba
*********************************************/
@media print {
.backgrounds {
- background-color: #fff; } }
+ background-color: #fff; }
+}
+.print-pdf .footer {
+ display: none;
+}
/*********************************************
* FOOTER
*********************************************/
diff --git a/content/training/resources/tor-training/contents.lr b/content/training/resources/tor-training/contents.lr
index 16254df..4a38efa 100644
--- a/content/training/resources/tor-training/contents.lr
+++ b/content/training/resources/tor-training/contents.lr
@@ -22,8 +22,7 @@ description:
- Relay diversity
- Getting help
-----
-background: white
+
#### slide ####
title: What's Tor?
@@ -34,8 +33,7 @@ description:
- Run by a US non-profit and volunteers from all over the world
- It' s Tor, not TOR
-----
-background: white
+
#### slide ####
title: The Tor network
@@ -44,8 +42,7 @@ description:
- An open network, everyone can be part of it. Basically, your server will relay the tor traffic to another server in the Internet.
- The network is composed by different types of servers run by volunteers around the world.
- To ingress in the network, the new server will pass automatically to a new relay lifecycle.
-----
-background: white
+
#### slide ####
title: Why run a Tor relay?
@@ -56,8 +53,7 @@ By running a Tor relay you can help make the Tor network:
- more robust against attacks
- more stable in case of outages
- safer for its users (spying on more relays is harder than on a few)
-----
-background: white
+
#### slide ####
title: Types of Relays
@@ -66,6 +62,7 @@ layout: title
----
background-image: /static/images/onion-white.png
+
#### slide ####
title: Guard/middle (aka non-exit) relay
----
@@ -73,8 +70,7 @@ description:
- A guard is the first relay in the chain of 3 relays building a Tor circuit.
- A middle relay is neither a guard nor an exit, but acts as the second hop between the two.
- To become a guard, a relay has to be stable and fast (at least 2MByte/s) otherwise it will remain a middle relay.
-----
-background: white
+
#### slide ####
title: Exit relay
@@ -84,8 +80,7 @@ description:
- That's why exit relays have the greatest legal exposure and liability of all the relays.
- Before running an exit relay, check it with your local digital rights organization.
- **You should not run a Tor exit relay from your home**
-----
-background: white
+
#### slide ####
title: Bridge
@@ -94,8 +89,7 @@ description:
- A bridge is a node in the network that isn't listed in the public Tor directory, which make it harder for ISPs and governments to block it.
- Bridges are relatively easy, low-risk and low bandwidth Tor nodes to operate.
- And there's another special kind of bridge: Pluggable transports. It hides your tor traffic by adding an additional layer of obfuscation.
-----
-background: white
+
#### slide ####
title: The lifecycle of a new relay
@@ -105,8 +99,7 @@ Non-exit relays pass by a lifecycle of four phases (defined by days):
- Days 0-3: the unmeasured phase
- Days 3-8: network authorities start the remote measurement phase (the ramp-up guard phase)
- Days 8-68: guard phase (where load counter intuitively drops and then rises higher)
-----
-background: white
+
#### slide ####
title: The lifecycle of a new relay
@@ -115,8 +108,7 @@ description:
- And after 68 days, if the relay is stable and fast enough, it receives a Guard flag (steady-state guard phase).
- Exit relays also have a lifecycle more or less similar.
- Read about all the phases in: [https://blog.torproject.org/lifecycle-new-relay](https://blog.torproject.or…
-----
-background: white
+
#### slide ####
title: Relay requirements
@@ -125,6 +117,7 @@ layout: title
----
background-image: /static/images/onion-white.png
+
#### slide ####
title: Before we start
----
@@ -132,8 +125,7 @@ description:
- Never run a relay without the consent of network administrator or machine owner. Read the Terms of Service (ToS) first, so you don’t lose money.
- Choose which type of relay you will host. Non-exit relay is a easy way to start helping the network.
- Read the documentation: [https://torproject.org/tor-relays](https://torproject.org/tor-relays)
-----
-background: white
+
#### slide ####
title: Bandwidth requirements
@@ -142,8 +134,7 @@ description:
- At least 16 Mbit/s (Mbps) upload and download bandwidth available for Tor. More is better.
- The minimum requirements for a relay are 10 Mbit/s (Mbps).
- If you have less than 10 Mbit/s but at least 1 Mbit/s we recommend you run a bridge with obfs4 support.
-----
-background: white
+
#### slide ####
title: Monthly outbound traffic
@@ -152,8 +143,7 @@ description:
- It is required to use a minimum of 100 GByte of outbound/incoming traffic per month.
- If you have a metered plan you might want to configure tor to only use a given amount of bandwidth or monthly traffic.
- More (>2 TB/month) is better and recommended
-----
-background: white
+
#### slide ####
title: Public IPv4 address
@@ -163,5 +153,365 @@ description:
- The IPv4 address is not required to be static but static IP addresses are preferred.
- Your IPv4 address should remain unchanged for at least 3 hours (network consensus).
- You can only run two Tor relays per public IPv4.
+
+
+#### slide ####
+title: Other requirements
----
-background: white
+description:
+- Memory: A <40 Mbit/s non-exit relay should have at least 512 MB of RAM available.
+- Disk storage: Tor does not need much disk storage. A typical Tor relay needs less than 200 MB.
+
+#### slide ####
+title: Other requirements
+----
+description:
+- Any modern CPU should be fine.
+- Uptime: Ideally the relay runs on a server which runs 24/7.
+
+
+#### slide ####
+title: Choosing your relay hosting
+----
+description:
+- Tor community maintain the list GoodBadISPs, about the experience of running relays: https://trac.torproject.org/projects/tor/wiki/doc/GoodBadISPs
+- Some providers only allow non-exit relays, so before buying a service, check the GoodBadISPs.
+
+
+#### slide ####
+title: Choosing your relay hosting
+----
+description:
+- This can cost anywhere between $3.00/mo and thousands per month.
+
+
+#### slide ####
+title: Technical setup
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
+
+
+#### slide ####
+title: Non-exit relay - Debian/Ubuntu
+----
+description:
+- Enable the Torproject package repository
+- Install the tor package
+
+```
+ $ apt update && apt install tor
+```
+
+
+#### slide ####
+title: Non-exit relay - Debian/Ubuntu
+----
+description:
+- Put the configuration file `/etc/tor/torrc` in place:
+```
+ Nickname myNiceRelay
+ ExitRelay 0
+ SocksPort 0
+ ControORPort 443
+ lSocket 0
+ ContactInfo tor-operator@your-emailaddress-domain
+ Log notice syslog
+```
+
+
+#### slide ####
+title: Non-exit relay - Debian/Ubuntu
+----
+description:
+- Restart the tor daemon:
+
+```
+ $ systemctl restart tor@default
+```
+
+
+#### slide ####
+title: Non-exit relay - FreeBSD
+----
+description:
+- Install the tor package
+
+```
+ pkg install tor ca_root_nss
+```
+
+
+#### slide ####
+title: Non-exit relay - FreeBSD
+----
+description:
+ - Edit the configuration `file/usr/local/etc/tor/torrc`
+
+```
+ Nickname myNiceRelay
+ ORPort 9001
+ ExitRelay 0
+ SocksPort 0
+ ControlSocket 0
+ ContactInfo tor-operator@your-emailaddress-domain
+ Log notice syslog
+```
+
+
+#### slide ####
+title: Non-exit relay - FreeBSD
+----
+description:
+- Ensure that the random_id sysctl setting is enabled:
+
+```
+ echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
+ sysctl net.inet.ip.random_id=1
+```
+
+
+#### slide ####
+title: Non-exit relay - FreeBSD
+----
+description:
+- Start the tor daemon and make sure it starts at boot:
+
+```
+ sysrc tor_enable=YES
+ service tor start
+```
+
+
+#### slide ####
+title: Non-exit relay - FreeBSD
+----
+description:
+Optional, but recommended to get package updates faster:
+[https://trac.torproject.org/projects/tor/wiki/TorRelayGuide/FreeBSD](https://trac.torproject.org/projects/tor/wiki/TorRelayGuide/FreeBSD)
+
+
+#### slide ####
+title: Verify that your relay works
+----
+description:
+
+After restarting the service, verify in the log file if it contains the following entry:
+```
+ Self-testing indicates your ORPort is
+ reachable from the outside.
+ Excellent.
+ Publishing server descriptor.
+```
+
+About 3 hours after you started your relay it should appear on Metrics portal in Relay Search.
+
+
+#### slide ####
+title: More about relays
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
+
+
+#### slide ####
+title: Technical tips
+----
+description:
+- Enable automatic software updates.
+- Backup your Tor Identity Keys.
+- It’s possible to limit bandwidth usage (and traffic). Check the parameters, for example: AccountingMax, AccountingRule, AccountingStart.
+- If run more than one Tor relay, you need to set MyFamily parameter.
+
+
+#### slide ####
+title: Orchestrating
+----
+description:
+- Running multiple relays by hand can be challenging.
+- Configuration management tools can make the relay operator life easier:
+- Ansible-relayor: [http://github.com/nusenu/ansible-relayor](http://github.com/nusenu/ansible-…
+- Bash script: [https://github.com/coldhakca/tor-relay-bootstrap](https://github.com/coldha…
+
+
+#### slide ####
+title: Metrics
+----
+description:
+- Metrics portal - [https://metrics.torproject.org](https://metrics.torproject.org)
+- It’s possible to search: how many relays are in the network, how many are exit, etc
+- In 2019 there are ~6,600 relays and ~1,500 bridges.
+- Check: how many relays are in your country? Who run these relays? How diverse it is?
+
+
+#### slide ####
+title: Network diversity
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
+
+
+#### slide ####
+title: Monoculture
+----
+description:
+- A single kernel vulnerability in GNU/Linux impacting Tor relays could be devastating.
+- Diversity of Operating System (OS): ~90% of relays are Linux.
+
+
+#### slide ####
+title: Monoculture
+----
+description:
+- Diversity of Autonomous System (AS). Try to avoid the following hosters: OVH SAS (AS16276), Online S.a.s. (AS12876), Hetzner Online GmbH (AS24940), DigitalOcean, LLC (AS14061).
+
+
+#### slide ####
+title: More about exit relays
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
+
+
+#### slide ####
+title: Legal information
+----
+description:
+- In many countries there are regulations that exclude communication service providers from liability.
+- It's a good idea to consult with a lawyer or your local digital rights organization.
+- Under most circumstances you will be able to handle legal matters by having an abuse response letter.
+
+
+#### slide ####
+title: Legal resources
+----
+description:
+- The EFF Tor Legal FAQ:
+[https://community.torproject.org/relay/community-resources/eff-tor-legal-faq/](https://community.torproject.org/relay/community-resources/eff-tor-legal-faq/)
+- It’s important to respond to abuse complaints in a timely manner (usually within 24 hours).
+- Abuse templates letters:
+[https://community.torproject.org/relay/community-resources/tor-abuse-templates](https://community.torproject.org/relay/community-resources/tor-abuse-templates)
+
+
+#### slide ####
+title: Running relays with others
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
+
+
+#### slide ####
+title: Running a relay with others
+----
+description:
+- You can work with your university department, employer or institution, or an organization like [Torservers.org](Torservers.org)
+- [Torservers.org](Torservers.org) is an independent, global network of organizations that helps the Tor network by running high bandwidth Tor relays.
+- In many countries operating as a corporation instead of as an individual can also get you certain legal protections.
+
+
+#### slide ####
+title: Relays associations
+----
+description:
+- It’s often advised to create some type of non-profit corporation. This is useful for having a bank account and shared ownership.
+- To start a relay association, the most important thing is to have a group of people (3-5 suggested to start) interested in helping.
+- For example: Torservers.org, Cold Hak, enn.lu, nos-oignons.
+
+
+#### slide ####
+title: Running a relay with universities
+----
+description:
+- Universities are typically home to a reliable, robust, and well-equipped network.
+- Many computer science departments and university libraries run relays, i.e., Massachussetts Institute of Technology (MIT CSAIL), Universitaet Stuttgart, the University of Waterloo.
+
+
+#### slide ####
+title: Running a relay with universities
+----
+description:
+- Start running a relay campaign in your university: [https://www.eff.org/torchallenge/tor-on-campus.html](https://www.eff.org/to…
+
+
+#### slide ####
+title: At your company or organization
+----
+description:
+- If you work at a Tor-friendly company or organization, that's another ideal place to run a relay.
+- Companies like Brass Horn Communications, Quintex Alliance Consulting, and OmuraVPN
+- And organizations like Digital Courage, Access Now, Derechos Digitales, and Lebanon Libraries in New Hampshire.
+
+
+#### slide ####
+title: Bad relays
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
+
+
+#### slide ####
+title: What is a bad relay?
+----
+description:
+- A bad relay is one that either doesn't work properly or tampers with our users' connections. This can be either through maliciousness or misconfiguration.
+
+
+#### slide ####
+title: What is a bad relay?
+----
+description:
+- For example: tampering with exit traffic in any way (including dropping accepted connections). Or, running HSDirs that harvest and probe .onion addresses
+
+
+#### slide ####
+title: Reporting a bad relay
+----
+description:
+- Bad relays is also a private working group in Tor Project to detect misconfigured, malicious, or suspicious relay.
+- Users can report bad relays sending an email to bad-relays(a)lists.torproject.org with the relay's IP address or fingerprint, what kind of behavior did you see, and any additional information it’s needed to reproduce the issue.
+
+
+#### slide ####
+title: What happens to bad relays?
+----
+description:
+- After a relay is reported and we've verified the behavior we'll attempt to contact the relay operator.
+- We'll flag it to prevent it from continuing to be used (BadExit, Invalid, Reject).
+- The working group actively look for bad relays using open source tools like: exitmap, sysbilhunter.
+
+
+#### slide ####
+title: How do I get help running a Tor relay?
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
+
+
+#### slide ####
+title: Getting help
+----
+description:
+- Read the Tor Relay Guide documentation before:
+- [https://torproject.org/relay-guide](https://torproject.org/relay-guide)
+- Search the mailing list archive: tor-relays in [https://lists.torproject.org](https://lists.torproject.org)
+- Join the IRC channel: #tor-relays in irc.oftc.net
+
+#### slide ####
+title: Thank you!
+----
+author:
+name - email(a)example.com
+----
+subtitle:
+PGP FINGERPRINT
+----
+layout: title
+----
+background-image: /static/images/onion-white.png
diff --git a/templates/blocks/slide.html b/templates/blocks/slide.html
index e0421ea..809873c 100644
--- a/templates/blocks/slide.html
+++ b/templates/blocks/slide.html
@@ -3,9 +3,10 @@
<h3>{{ this.title }}</h3>
<hr class="dark" />
<h4>{{ this.subtitle }}</h4>
+ <h5>{{ this.author }}</h5>
</section>
{% else %}
-<section data-background-color="{{ this.background }}">
+<section {% if this.background != "white" %} data-background-color="{{ this.background }}" {% else %} data-background-color="white" {% endif %} >
<h2>{{ this.title }}</h2>
{{ this.description }}
1
0
commit 62bc0a3a324c3f40002d3578b6b339523f727c6e
Author: hiro <hiro(a)torproject.org>
Date: Sun Mar 21 20:06:09 2021 +0100
Use string for localization
---
content/outreach/contents.lr | 2 +-
templates/hero.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/content/outreach/contents.lr b/content/outreach/contents.lr
index cd2b5fe..9cf4a65 100644
--- a/content/outreach/contents.lr
+++ b/content/outreach/contents.lr
@@ -1,4 +1,4 @@
-section: Community
+section: community
---
section_id: outreach
---
diff --git a/templates/hero.html b/templates/hero.html
index f02d70c..5c215c8 100644
--- a/templates/hero.html
+++ b/templates/hero.html
@@ -2,7 +2,7 @@
<div class="row">
<div class="col-12 content-center">
<div class="row">
- <h6 class="mx-auto text-white pt-3">{{ _(Community) }}</h6>
+ <h6 class="mx-auto text-white pt-3">{{ _('Community') }}</h6>
</div>
<div class="row">
<h2 class="mx-auto display-3 text-white">{% block title %}{{ this.title }}{% endblock %}</h2>
1
0
commit 1e6f286391a5727c97186757fa54a38e32e78e77
Author: Jacobo <jacobo(a)metahumano.org>
Date: Sat Aug 8 23:21:40 2020 -0500
Add ASN to Axtel
---
content/relay-operations/community-resources/good-bad-isps/contents.lr | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/relay-operations/community-resources/good-bad-isps/contents.lr b/content/relay-operations/community-resources/good-bad-isps/contents.lr
index 69e5c5e..1bc19bc 100644
--- a/content/relay-operations/community-resources/good-bad-isps/contents.lr
+++ b/content/relay-operations/community-resources/good-bad-isps/contents.lr
@@ -151,7 +151,7 @@ For network diversity and stronger anonymity, you should avoid providers and cou
| **Company/ISP** | **ASN** | **Bridges** | **Relay** | **Exit** | **Comments** | **Last Updated** |
|-------------------------|-------------|-----------------|--------------|-------------|---------------------|------------------------|
-| Axtel | - | Yes | Yes | Yes | Currently some Guard / Middle and exit nodes are running in Axtel network | 2019 |
+| Axtel | AS6503 | Yes | Yes | Yes | Currently some Guard / Middle and exit nodes are running in Axtel network | 2019 |
### Moldova
1
0
[community/staging] Add Mega Cable to Good Experiences ISP in Mexico
by hiro@torproject.org 21 Mar '21
by hiro@torproject.org 21 Mar '21
21 Mar '21
commit 80d275af4c3d8594dad6e038b630c161c8287310
Author: Jacobo <jacobo(a)metahumano.org>
Date: Wed Aug 12 16:56:25 2020 -0500
Add Mega Cable to Good Experiences ISP in Mexico
---
content/relay-operations/community-resources/good-bad-isps/contents.lr | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/relay-operations/community-resources/good-bad-isps/contents.lr b/content/relay-operations/community-resources/good-bad-isps/contents.lr
index e6097af..504fb26 100644
--- a/content/relay-operations/community-resources/good-bad-isps/contents.lr
+++ b/content/relay-operations/community-resources/good-bad-isps/contents.lr
@@ -153,7 +153,7 @@ For network diversity and stronger anonymity, you should avoid providers and cou
|-------------------------|-------------|-----------------|--------------|-------------|---------------------|------------------------|
| Axtel | AS6503 | Yes | Yes | Yes | Currently some Guard / Middle and exit nodes are running in Axtel network | 2020 |
| Telmex | AS8151 | No | Yes | No | Currently some Guard / Middle nodes are running in Telmex network | 2020 |
-
+| Mega Cable | AS13999 | No | Yes | No | Currently some Guard / Middle nodes are running in Mega Cable network | 2020 |
### Moldova
1
0
[community/staging] Add Telmex to Good Experiences in Mexico and update Axtel
by hiro@torproject.org 21 Mar '21
by hiro@torproject.org 21 Mar '21
21 Mar '21
commit 234106cdb7eb56ba44a2b9b0b3e270da6b239b4a
Author: Jacobo <jacobo(a)metahumano.org>
Date: Sat Aug 8 23:24:18 2020 -0500
Add Telmex to Good Experiences in Mexico and update Axtel
---
.../relay-operations/community-resources/good-bad-isps/contents.lr | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/content/relay-operations/community-resources/good-bad-isps/contents.lr b/content/relay-operations/community-resources/good-bad-isps/contents.lr
index 1bc19bc..e6097af 100644
--- a/content/relay-operations/community-resources/good-bad-isps/contents.lr
+++ b/content/relay-operations/community-resources/good-bad-isps/contents.lr
@@ -151,7 +151,9 @@ For network diversity and stronger anonymity, you should avoid providers and cou
| **Company/ISP** | **ASN** | **Bridges** | **Relay** | **Exit** | **Comments** | **Last Updated** |
|-------------------------|-------------|-----------------|--------------|-------------|---------------------|------------------------|
-| Axtel | AS6503 | Yes | Yes | Yes | Currently some Guard / Middle and exit nodes are running in Axtel network | 2019 |
+| Axtel | AS6503 | Yes | Yes | Yes | Currently some Guard / Middle and exit nodes are running in Axtel network | 2020 |
+| Telmex | AS8151 | No | Yes | No | Currently some Guard / Middle nodes are running in Telmex network | 2020 |
+
### Moldova
1
0
commit 25f93cb11a266b8feab6498e753b89ed20008065
Author: Nicolei Ocana <nicoleiocana(a)gmail.com>
Date: Wed Jul 15 00:35:17 2020 +0000
Refine Windows bridge instructions
---
content/relay-operations/technical-setup/bridge/windows/contents.lr | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/relay-operations/technical-setup/bridge/windows/contents.lr b/content/relay-operations/technical-setup/bridge/windows/contents.lr
index 8de2601..7bf3ddc 100644
--- a/content/relay-operations/technical-setup/bridge/windows/contents.lr
+++ b/content/relay-operations/technical-setup/bridge/windows/contents.lr
@@ -16,7 +16,7 @@ body:
* [Windows Expert Bundle](https://www.torproject.org/download/tor/). Unzip the contents on the desktop.
-* [Tor Browser](https://www.torproject.org/download/#windows). Run the `.exe` and install with default settings.
+* [Tor Browser (version depends on your computer)](https://www.torproject.org/download/languages/) Run the `.exe` and install with default settings.
You will need to show hidden items and file name extensions. In your Explorer window, in the top-left, click on the View tab. In the Show/hide section furthest to the right, check the checkbox for Hidden items; check the checkbox for File name extensions.
1
0
commit c577dd9b86bee5312b4304618dfb9d14940d6ae5
Author: Jacobo <jacobo(a)metahumano.org>
Date: Sat Aug 8 23:19:34 2020 -0500
Changed exit nodes in Axtel to yes
---
content/relay-operations/community-resources/good-bad-isps/contents.lr | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/relay-operations/community-resources/good-bad-isps/contents.lr b/content/relay-operations/community-resources/good-bad-isps/contents.lr
index 4dab46e..69e5c5e 100644
--- a/content/relay-operations/community-resources/good-bad-isps/contents.lr
+++ b/content/relay-operations/community-resources/good-bad-isps/contents.lr
@@ -151,7 +151,7 @@ For network diversity and stronger anonymity, you should avoid providers and cou
| **Company/ISP** | **ASN** | **Bridges** | **Relay** | **Exit** | **Comments** | **Last Updated** |
|-------------------------|-------------|-----------------|--------------|-------------|---------------------|------------------------|
-| Axtel | - | Yes | Yes | ? | Currently some Guard / Middle nodes are running in Axtel network | 2019 |
+| Axtel | - | Yes | Yes | Yes | Currently some Guard / Middle and exit nodes are running in Axtel network | 2019 |
### Moldova
1
0
21 Mar '21
commit 90e80e8d25aafe6cc664b005743e2727dd74359b
Author: antonela <antonela(a)torproject.org>
Date: Tue Jul 21 08:54:32 2020 -0300
Add CC documents links in homepage.
Close https://gitlab.torproject.org/tpo/web/community/-/issues/141
---
templates/homepage.html | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/templates/homepage.html b/templates/homepage.html
index 9f7db9e..d01c9ff 100644
--- a/templates/homepage.html
+++ b/templates/homepage.html
@@ -19,7 +19,13 @@
</main>
</div>
</div>
- </div>
+ <div class="container">
+ <div class="row p-5 m-3 border">
+ <p>
+ {{ _('The Tor Project is committed to fostering an inclusive environment and community. Tor is a place where people should feel safe to engage, share their point of view, and participate.') }} Read our <a href="https://gitweb.torproject.org/community/policies.git/tree/code_of_conduct.t…" title="Code of Conduct" target="_blank">Code of Conduct</a>, <a href="https://gitweb.torproject.org/community/policies.git/tree/social_contract.t…" title="Social Contract" target="_blank">Social Contract</a>, <a href="https://gitweb.torproject.org/community/policies.git/tree/statement_of_valu…" title="Statement of Values" target="_blank">Statement of Values</a> and learn about the <a href="https://gitweb.torproject.org/community/policies.git/tree/community_council…" title="Tor Commmunity Council" target="_blank">Tor Community Council</a>.
+ </p>
+ </div>
+ </div>
<footer>
{% include 'footer.html' %}
</footer>
1
0
[community/staging] Change whitelist to allow, change blacklist to blocklist
by hiro@torproject.org 21 Mar '21
by hiro@torproject.org 21 Mar '21
21 Mar '21
commit a061237a03aa63b3551459e172faf01ac611ce6d
Author: gus <gus(a)torproject.org>
Date: Tue Jul 21 16:17:20 2020 -0400
Change whitelist to allow, change blacklist to blocklist
---
content/relay-operations/community-resources/bad-relays/contents.lr | 2 +-
.../relay-operations/technical-setup/bridge/dragonflybsd/contents.lr | 2 +-
content/relay-operations/technical-setup/bridge/freebsd/contents.lr | 2 +-
content/relay-operations/technical-setup/bridge/netbsd/contents.lr | 2 +-
content/relay-operations/types-of-relays/contents.lr | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/content/relay-operations/community-resources/bad-relays/contents.lr b/content/relay-operations/community-resources/bad-relays/contents.lr
index 0a03c6f..13dcdc9 100644
--- a/content/relay-operations/community-resources/bad-relays/contents.lr
+++ b/content/relay-operations/community-resources/bad-relays/contents.lr
@@ -19,7 +19,7 @@ A bad relay is one that either doesn't work properly or tampers with our users'
* Performing a [Sybil attack](https://en.wikipedia.org/wiki/Sybil_attack), which means flooding the network with new relays in an effort to deanonymize users. If you want to run multiple relays then that's great! But please be sure to set the [MyFamily parameter](https://www.torproject.org/docs/tor-manual.html.en#MyFamily).
* Exit relays routing their exit traffic back into the tor network (not actually exiting any traffic)
-Also, if your relay is stolen or goes missing, please report it as well, so we can blacklist it in case whoever took it puts it back online.
+Also, if your relay is stolen or goes missing, please report it as well, so we can blocklist it in case whoever took it puts it back online.
The following are currently permitted yet do have some discussion for prohibition (as such, they should not be reported at this time)...
diff --git a/content/relay-operations/technical-setup/bridge/dragonflybsd/contents.lr b/content/relay-operations/technical-setup/bridge/dragonflybsd/contents.lr
index b12ef7e..22d58ad 100644
--- a/content/relay-operations/technical-setup/bridge/dragonflybsd/contents.lr
+++ b/content/relay-operations/technical-setup/bridge/dragonflybsd/contents.lr
@@ -103,7 +103,7 @@ Don't forget to change the `ORPort`, `ServerTransportListenAddr`, `ContactInfo`,
* Note that both Tor's OR port and its obfs4 port must be reachable. If your bridge is behind a firewall or NAT, make sure to open/forward both ports. You can use [our reachability test](https://bridges.torproject.org/scan/) to see if your obfs4 port is reachable from the Internet.
-* Are you firewalling your DragonflyBSD? If so, make sure that `obfs4proxy` can talk to `tor` over the loopback interface - do not forget to whitelist the **ExtORPort**.
+* Are you firewalling your DragonflyBSD? If so, make sure that `obfs4proxy` can talk to `tor` over the loopback interface - do not forget to allow the **ExtORPort**.
### 4. Start `tor`:
diff --git a/content/relay-operations/technical-setup/bridge/freebsd/contents.lr b/content/relay-operations/technical-setup/bridge/freebsd/contents.lr
index 93f7aec..073fb68 100644
--- a/content/relay-operations/technical-setup/bridge/freebsd/contents.lr
+++ b/content/relay-operations/technical-setup/bridge/freebsd/contents.lr
@@ -54,7 +54,7 @@ Don't forget to change the `ORPort`, `ServerTransportListenAddr`, `ContactInfo`,
* Note that both Tor's OR port and its obfs4 port must be reachable. If your bridge is behind a firewall or NAT, make sure to open both ports. You can use [our reachability test](https://bridges.torproject.org/scan/) to see if your obfs4 port is reachable from the Internet.
-* Are you using FreeBSD's firewall with a "default deny" policy? If so, make sure that your obfs4proxy can talk to your Tor process over the loopback interface. Don't forget to whitelist Tor's `ExtORPort`.
+* Are you using FreeBSD's firewall with a "default deny" policy? If so, make sure that your obfs4proxy can talk to your Tor process over the loopback interface. Don't forget to allow Tor's `ExtORPort`.
### 3. Ensure that the `random_id` sysctl setting is enabled:
diff --git a/content/relay-operations/technical-setup/bridge/netbsd/contents.lr b/content/relay-operations/technical-setup/bridge/netbsd/contents.lr
index 91eb156..a9799cd 100644
--- a/content/relay-operations/technical-setup/bridge/netbsd/contents.lr
+++ b/content/relay-operations/technical-setup/bridge/netbsd/contents.lr
@@ -60,7 +60,7 @@ Don't forget to change the `ORPort`, `ServerTransportListenAddr`, `ContactInfo`,
* Note that both Tor's OR port and its obfs4 port must be reachable. If your bridge is behind a firewall or NAT, make sure to open/forward both ports. You can use [our reachability test](https://bridges.torproject.org/scan/) to see if your obfs4 port is reachable from the Internet.
-* Are you firewalling your NetBSD? If so, make sure that `obfs4proxy` can talk to `tor` over the loopback interface - do not forget to whitelist the **ExtORPort**.
+* Are you firewalling your NetBSD? If so, make sure that `obfs4proxy` can talk to `tor` over the loopback interface - do not forget to allow the **ExtORPort**.
### 3. Start `tor`:
diff --git a/content/relay-operations/types-of-relays/contents.lr b/content/relay-operations/types-of-relays/contents.lr
index dccab39..3dc30aa 100644
--- a/content/relay-operations/types-of-relays/contents.lr
+++ b/content/relay-operations/types-of-relays/contents.lr
@@ -55,7 +55,7 @@ If you are considering running an exit relay, please read the [section on legal
# Bridge
The design of the Tor network means that the IP address of Tor relays is public.
-However, one of the ways Tor can be blocked by governments or ISPs is by blacklisting the IP addresses of these public Tor nodes.
+However, one of the ways Tor can be blocked by governments or ISPs is by blocklisting the IP addresses of these public Tor nodes.
Tor bridges are nodes in the network that are not listed in the public Tor directory, which make it harder for ISPs and governments to block them.
Bridges are useful for Tor users under oppressive regimes or for people who want an extra layer of security because they're worried somebody will recognize that they are contacting a public Tor relay IP address.
1
0