).'; if (Yt.wrapper = t, Yt.slides = t.querySelector(".slides"), !Yt.slides) throw 'Unable to find slides container (
).'
; return jt = e(e(e(e(e({}, Fm), jt), n), r), Rd()), a(), window.addEventListener("load", L, !1), ue.load(jt.plugins, jt.dependencies).then(o), new Promise(function (t) { return Ht.on("ready", t) })
} function a() { !0 === jt.embedded ? Yt.viewport = Ad(t, ".reveal-viewport") || t : (Yt.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), Yt.viewport.classList.add("reveal-viewport") } function o() { Ut = !0, s(), l(), p(), d(), m(), X(), f(), oe.readURL(), re.update(!0), setTimeout(function () { Yt.slides.classList.remove("no-transition"), Yt.wrapper.classList.add("ready"), k({ type: "ready", data: { indexh: Ot, indexv: Bt, currentSlide: Dt } }) }, 1), he.isPrintingPDF() && (v(), "complete" === document.readyState ? he.setupPDF() : window.addEventListener("load", function () { he.setupPDF() })) } function s() { jt.showHiddenSlides || bd(Yt.wrapper, 'section[data-visibility="hidden"]').forEach(function (t) { t.parentNode.removeChild(t) }) } function l() { Yt.slides.classList.add("no-transition"), Nd ? Yt.wrapper.classList.add("no-hover") : Yt.wrapper.classList.remove("no-hover"), re.render(), te.render(), se.render(), le.render(), pe.render(), Yt.pauseOverlay = Ed(Yt.wrapper, "div", "pause-overlay", jt.controls ? '
' : null), Yt.statusElement = c(), Yt.wrapper.setAttribute("role", "application") } function c() { var t = Yt.wrapper.querySelector(".aria-status"); return t || ((t = document.createElement("div")).style.position = "absolute", t.style.height = "1px", t.style.width = "1px", t.style.overflow = "hidden", t.style.clip = "rect( 1px, 1px, 1px, 1px )", t.classList.add("aria-status"), t.setAttribute("aria-live", "polite"), t.setAttribute("aria-atomic", "true"), Yt.wrapper.appendChild(t)), t } function u(t) { Yt.statusElement.textContent = t } function h(t) { var e = ""; if (3 === t.nodeType) e += t.textContent; else if (1 === t.nodeType) { var r = t.getAttribute("aria-hidden"), n = "none" === window.getComputedStyle(t).display; "true" === r || n || Array.from(t.childNodes).forEach(function (t) { e += h(t) }) } return "" === (e = e.trim()) ? "" : e + " " } function d() { setInterval(function () { 0 === Yt.wrapper.scrollTop && 0 === Yt.wrapper.scrollLeft || (Yt.wrapper.scrollTop = 0, Yt.wrapper.scrollLeft = 0) }, 1e3) } function m() { document.addEventListener("fullscreenchange", Nt), document.addEventListener("webkitfullscreenchange", Nt) } function p() { jt.postMessage && window.addEventListener("message", Rt, !1) } function f(t) { var n = e({}, jt); if ("object" === r(t) && yd(jt, t), !1 !== Ht.isReady()) { var i = Yt.wrapper.querySelectorAll(rm).length; Yt.wrapper.classList.remove(n.transition), Yt.wrapper.classList.add(jt.transition), Yt.wrapper.setAttribute("data-transition-speed", jt.transitionSpeed), Yt.wrapper.setAttribute("data-background-transition", jt.backgroundTransition), Yt.viewport.style.setProperty("--slide-width", jt.width + "px"), Yt.viewport.style.setProperty("--slide-height", jt.height + "px"), jt.shuffle && K(), xd(Yt.wrapper, "embedded", jt.embedded), xd(Yt.wrapper, "rtl", jt.rtl), xd(Yt.wrapper, "center", jt.center), !1 === jt.pause && H(), jt.previewLinks ? (A(), E("[data-preview-link=false]")) : (E(), A("[data-preview-link]:not([data-preview-link=false])")), ee.reset(), Ft && (Ft.destroy(), Ft = null), i > 1 && jt.autoSlide && jt.autoSlideStoppable && ((Ft = new Dm(Yt.wrapper, function () { return Math.min(Math.max((Date.now() - Zt) / Kt, 0), 1) })).on("click", It), Jt = !1), "default" !== jt.navigationMode ? Yt.wrapper.setAttribute("data-navigation-mode", jt.navigationMode) : Yt.wrapper.removeAttribute("data-navigation-mode"), pe.configure(jt, n), de.configure(jt, n), ce.configure(jt, n), se.configure(jt, n), le.configure(jt, n), ae.configure(jt, n), ne.configure(jt, n), te.configure(jt, n), G() } } function g() { window.addEventListener("resize", Lt, !1), jt.touch && me.bind(), jt.keyboard && ae.bind(), jt.progress && le.bind(), jt.respondToHashChanges && oe.bind(), se.bind(), de.bind(), Yt.slides.addEventListener("click", Ct, !1), Yt.slides.addEventListener("transitionend", Tt, !1), Yt.pauseOverlay.addEventListener("click", H, !1), jt.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", zt, !1) } function v() { me.unbind(), de.unbind(), ae.unbind(), se.unbind(), le.unbind(), oe.unbind(), window.removeEventListener("resize", Lt, !1), Yt.slides.removeEventListener("click", Ct, !1), Yt.slides.removeEventListener("transitionend", Tt, !1), Yt.pauseOverlay.removeEventListener("click", H, !1) } function y() { v(), vt(), E(), pe.destroy(), de.destroy(), ue.destroy(), ce.destroy(), se.destroy(), le.destroy(), re.destroy(), te.destroy(), document.removeEventListener("fullscreenchange", Nt), document.removeEventListener("webkitfullscreenchange", Nt), document.removeEventListener("visibilitychange", zt, !1), window.removeEventListener("message", Rt, !1), window.removeEventListener("load", L, !1), Yt.pauseOverlay && Yt.pauseOverlay.remove(), Yt.statusElement && Yt.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), Yt.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), Yt.wrapper.removeAttribute("data-transition-speed"), Yt.wrapper.removeAttribute("data-background-transition"), Yt.viewport.classList.remove("reveal-viewport"), Yt.viewport.style.removeProperty("--slide-width"), Yt.viewport.style.removeProperty("--slide-height"), Yt.slides.style.removeProperty("width"), Yt.slides.style.removeProperty("height"), Yt.slides.style.removeProperty("zoom"), Yt.slides.style.removeProperty("left"), Yt.slides.style.removeProperty("top"), Yt.slides.style.removeProperty("bottom"), Yt.slides.style.removeProperty("right"), Yt.slides.style.removeProperty("transform"), Array.from(Yt.wrapper.querySelectorAll(rm)).forEach(function (t) { t.style.removeProperty("display"), t.style.removeProperty("top"), t.removeAttribute("hidden"), t.removeAttribute("aria-hidden") }) } function b(e, r, n) { t.addEventListener(e, r, n) } function x(e, r, n) { t.removeEventListener(e, r, n) } function w(t) { "string" == typeof t.layout && (Gt.layout = t.layout), "string" == typeof t.overview && (Gt.overview = t.overview), Gt.layout ? kd(Yt.slides, Gt.layout + " " + Gt.overview) : kd(Yt.slides, Gt.overview) } function k(t) { var e = t.target, r = void 0 === e ? Yt.wrapper : e, n = t.type, i = t.data, a = t.bubbles, o = void 0 === a || a, s = document.createEvent("HTMLEvents", 1, 2); return s.initEvent(n, o, !0), yd(s, i), r.dispatchEvent(s), r === Yt.wrapper && S(n), s } function S(t, e) { if (jt.postMessageEvents && window.parent !== window.self) { var r = { namespace: "reveal", eventName: t, state: pt() }; yd(r, e), window.parent.postMessage(JSON.stringify(r), "*") } } function A() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "a"; Array.from(Yt.wrapper.querySelectorAll(t)).forEach(function (t) { /^(http|www)/gi.test(t.getAttribute("href")) && t.addEventListener("click", Pt, !1) }) } function E() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "a"; Array.from(Yt.wrapper.querySelectorAll(t)).forEach(function (t) { /^(http|www)/gi.test(t.getAttribute("href")) && t.removeEventListener("click", Pt, !1) }) } function M(t) { C(), Yt.overlay = document.createElement("div"), Yt.overlay.classList.add("overlay"), Yt.overlay.classList.add("overlay-preview"), Yt.wrapper.appendChild(Yt.overlay), Yt.overlay.innerHTML = '
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tUnable to load iframe. This is likely due to the site\'s policy (x-frame-options).\n\t\t\t\t\n\t\t\t
'), Yt.overlay.querySelector("iframe").addEventListener("load", function () { Yt.overlay.classList.add("loaded") }, !1), Yt.overlay.querySelector(".close").addEventListener("click", function (t) { C(), t.preventDefault() }, !1), Yt.overlay.querySelector(".external").addEventListener("click", function () { C() }, !1) } function R(t) { "boolean" == typeof t ? t ? T() : C() : Yt.overlay ? C() : T() } function T() { if (jt.help) { C(), Yt.overlay = document.createElement("div"), Yt.overlay.classList.add("overlay"), Yt.overlay.classList.add("overlay-help"), Yt.wrapper.appendChild(Yt.overlay); var t = '
Keyboard Shortcuts
', e = ae.getShortcuts(), r = ae.getBindings(); for (var n in t += "
| KEY | ACTION | ", e) t += "| ".concat(n, " | ").concat(e[n], " |
"); for (var i in r) r[i].key && r[i].description && (t += "| ".concat(r[i].key, " | ").concat(r[i].description, " |
")); t += "
", Yt.overlay.innerHTML = '\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
'.concat(t, "
\n\t\t\t\t
\n\t\t\t"), Yt.overlay.querySelector(".close").addEventListener("click", function (t) { C(), t.preventDefault() }, !1) } } function C() { return !!Yt.overlay && (Yt.overlay.parentNode.removeChild(Yt.overlay), Yt.overlay = null, !0) } function L() { if (Yt.wrapper && !he.isPrintingPDF()) { if (!jt.disableLayout) { Nd && !jt.embedded && document.documentElement.style.setProperty("--vh", .01 * window.innerHeight + "px"); var t = N(), e = Wt; z(jt.width, jt.height), Yt.slides.style.width = t.width + "px", Yt.slides.style.height = t.height + "px", Wt = Math.min(t.presentationWidth / t.width, t.presentationHeight / t.height), Wt = Math.max(Wt, jt.minScale), 1 === (Wt = Math.min(Wt, jt.maxScale)) ? (Yt.slides.style.zoom = "", Yt.slides.style.left = "", Yt.slides.style.top = "", Yt.slides.style.bottom = "", Yt.slides.style.right = "", w({ layout: "" })) : (Yt.slides.style.zoom = "", Yt.slides.style.left = "50%", Yt.slides.style.top = "50%", Yt.slides.style.bottom = "auto", Yt.slides.style.right = "auto", w({ layout: "translate(-50%, -50%) scale(" + Wt + ")" })); for (var r = Array.from(Yt.wrapper.querySelectorAll(rm)), n = 0, i = r.length; n < i; n++) { var a = r[n]; "none" !== a.style.display && (jt.center || a.classList.contains("center") ? a.classList.contains("stack") ? a.style.top = 0 : a.style.top = Math.max((t.height - a.scrollHeight) / 2, 0) + "px" : a.style.top = "") } e !== Wt && k({ type: "resize", data: { oldScale: e, scale: Wt, size: t } }) } Yt.viewport.style.setProperty("--slide-scale", Wt), le.update(), re.updateParallax(), ie.isActive() && ie.update() } } function z(t, e) { bd(Yt.slides, "section > .stretch, section > .r-stretch").forEach(function (r) { var n = Td(r, e); if (/(img|video)/gi.test(r.nodeName)) { var i = r.naturalWidth || r.videoWidth, a = r.naturalHeight || r.videoHeight, o = Math.min(t / i, n / a); r.style.width = i * o + "px", r.style.height = a * o + "px" } else r.style.width = t + "px", r.style.height = n + "px" }) } function N(t, e) { var r = { width: jt.width, height: jt.height, presentationWidth: t || Yt.wrapper.offsetWidth, presentationHeight: e || Yt.wrapper.offsetHeight }; return r.presentationWidth -= r.presentationWidth * jt.margin, r.presentationHeight -= r.presentationHeight * jt.margin, "string" == typeof r.width && /%$/.test(r.width) && (r.width = parseInt(r.width, 10) / 100 * r.presentationWidth), "string" == typeof r.height && /%$/.test(r.height) && (r.height = parseInt(r.height, 10) / 100 * r.presentationHeight), r } function P(t, e) { "object" === r(t) && "function" == typeof t.setAttribute && t.setAttribute("data-previous-indexv", e || 0) } function I(t) { if ("object" === r(t) && "function" == typeof t.setAttribute && t.classList.contains("stack")) { var e = t.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv"; return parseInt(t.getAttribute(e) || 0, 10) } return 0 } function O() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Dt; return t && t.parentNode && !!t.parentNode.nodeName.match(/section/i) } function B() { return !(!Dt || !O(Dt) || Dt.nextElementSibling) } function q() { return 0 === Ot && 0 === Bt } function D() { return !(!Dt || Dt.nextElementSibling || O(Dt) && Dt.parentNode.nextElementSibling) } function F() { if (jt.pause) { var t = Yt.wrapper.classList.contains("paused"); vt(), Yt.wrapper.classList.add("paused"), !1 === t && k({ type: "paused" }) } } function H() { var t = Yt.wrapper.classList.contains("paused"); Yt.wrapper.classList.remove("paused"), gt(), t && k({ type: "resumed" }) } function j(t) { "boolean" == typeof t ? t ? F() : H() : U() ? H() : F() } function U() { return Yt.wrapper.classList.contains("paused") } function _(t) { "boolean" == typeof t ? t ? bt() : yt() : Jt ? bt() : yt() } function V() { return !(!Kt || Jt) } function W(t, e, r, n) { if (!k({ type: "beforeslidechange", data: { indexh: void 0 === t ? Ot : t, indexv: void 0 === e ? Bt : e, origin: n } }).defaultPrevented) { qt = Dt; var i = Yt.wrapper.querySelectorAll(nm); if (0 !== i.length) { void 0 !== e || ie.isActive() || (e = I(i[t])), qt && qt.parentNode && qt.parentNode.classList.contains("stack") && P(qt.parentNode, Bt); var a = Vt.concat(); Vt.length = 0; var o = Ot || 0, s = Bt || 0; Ot = $(nm, void 0 === t ? Ot : t), Bt = $(im, void 0 === e ? Bt : e); var l = Ot !== o || Bt !== s; l || (qt = null); var c = i[Ot], d = c.querySelectorAll("section"); Dt = d[Bt] || c; var m = !1; l && qt && Dt && !ie.isActive() && (qt.hasAttribute("data-auto-animate") && Dt.hasAttribute("data-auto-animate") && qt.getAttribute("data-auto-animate-id") === Dt.getAttribute("data-auto-animate-id") && !(Ot > o || Bt > s ? Dt : qt).hasAttribute("data-auto-animate-restart") && (m = !0, Yt.slides.classList.add("disable-slide-transitions")), Xt = "running"), Q(), L(), ie.isActive() && ie.update(), void 0 !== r && ne.goto(r), qt && qt !== Dt && (qt.classList.remove("present"), qt.setAttribute("aria-hidden", "true"), q() && setTimeout(function () { st().forEach(function (t) { P(t, 0) }) }, 0)); t: for (var p = 0, f = Vt.length; p < f; p++) { for (var g = 0; g < a.length; g++)if (a[g] === Vt[p]) { a.splice(g, 1); continue t } Yt.viewport.classList.add(Vt[p]), k({ type: Vt[p] }) } for (; a.length;)Yt.viewport.classList.remove(a.pop()); l && k({ type: "slidechanged", data: { indexh: Ot, indexv: Bt, previousSlide: qt, currentSlide: Dt, origin: n } }), !l && qt || (Qt.stopEmbeddedContent(qt), Qt.startEmbeddedContent(Dt)), requestAnimationFrame(function () { u(h(Dt)) }), le.update(), se.update(), pe.update(), re.update(), re.updateParallax(), te.update(), ne.update(), oe.writeURL(), gt(), m && (setTimeout(function () { Yt.slides.classList.remove("disable-slide-transitions") }, 0), jt.autoAnimate && ee.run(qt, Dt)) } } } function G() { v(), g(), L(), Kt = jt.autoSlide, gt(), re.create(), oe.writeURL(), ne.sortAll(), se.update(), le.update(), Q(), pe.update(), pe.updateVisibility(), re.update(!0), te.update(), Qt.formatEmbeddedContent(), !1 === jt.autoPlayMedia ? Qt.stopEmbeddedContent(Dt, { unloadIframes: !1 }) : Qt.startEmbeddedContent(Dt), ie.isActive() && ie.layout() } function Y() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Dt; re.sync(t), ne.sync(t), Qt.load(t), re.update(), pe.update() } function X() { at().forEach(function (t) { bd(t, "section").forEach(function (t, e) { e > 0 && (t.classList.remove("present"), t.classList.remove("past"), t.classList.add("future"), t.setAttribute("aria-hidden", "true")) }) }) } function K() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : at(); t.forEach(function (e) { var r = t[Math.floor(Math.random() * t.length)]; r.parentNode === e.parentNode && e.parentNode.insertBefore(e, r); var n = e.querySelectorAll("section"); n.length && K(n) }) } function $(t, e) { var r = bd(Yt.wrapper, t), n = r.length, i = he.isPrintingPDF(), a = !1, o = !1; if (n) { jt.loop && (e >= n && (a = !0), (e %= n) < 0 && (e = n + e, o = !0)), e = Math.max(Math.min(e, n - 1), 0); for (var s = 0; s < n; s++) { var l = r[s], c = jt.rtl && !O(l); l.classList.remove("past"), l.classList.remove("present"), l.classList.remove("future"), l.setAttribute("hidden", ""), l.setAttribute("aria-hidden", "true"), l.querySelector("section") && l.classList.add("stack"), i ? l.classList.add("present") : s < e ? (l.classList.add(c ? "future" : "past"), jt.fragments && Z(l)) : s > e ? (l.classList.add(c ? "past" : "future"), jt.fragments && J(l)) : s === e && jt.fragments && (a ? J(l) : o && Z(l)) } var u = r[e], h = u.classList.contains("present"); u.classList.add("present"), u.removeAttribute("hidden"), u.removeAttribute("aria-hidden"), h || k({ target: u, type: "visible", bubbles: !1 }); var d = u.getAttribute("data-state"); d && (Vt = Vt.concat(d.split(" "))) } else e = 0; return e } function Z(t) { bd(t, ".fragment").forEach(function (t) { t.classList.add("visible"), t.classList.remove("current-fragment") }) } function J(t) { bd(t, ".fragment.visible").forEach(function (t) { t.classList.remove("visible", "current-fragment") }) } function Q() { var t, e = at(), r = e.length; if (r && void 0 !== Ot) { var n = ie.isActive() ? 10 : jt.viewDistance; Nd && (n = ie.isActive() ? 6 : jt.mobileViewDistance), he.isPrintingPDF() && (n = Number.MAX_VALUE); for (var i = 0; i < r; i++) { var a = e[i], o = bd(a, "section"), s = o.length; if (t = Math.abs((Ot || 0) - i) || 0, jt.loop && (t = Math.abs(((Ot || 0) - i) % (r - n)) || 0), t < n ? Qt.load(a) : Qt.unload(a), s) for (var l = I(a), c = 0; c < s; c++) { var u = o[c]; t + (i === (Ot || 0) ? Math.abs((Bt || 0) - c) : Math.abs(c - l)) < n ? Qt.load(u) : Qt.unload(u) } } ct() ? Yt.wrapper.classList.add("has-vertical-slides") : Yt.wrapper.classList.remove("has-vertical-slides"), lt() ? Yt.wrapper.classList.add("has-horizontal-slides") : Yt.wrapper.classList.remove("has-horizontal-slides") } } function tt() { var t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).includeFragments, e = void 0 !== t && t, r = Yt.wrapper.querySelectorAll(nm), n = Yt.wrapper.querySelectorAll(im), i = { left: Ot > 0, right: Ot < r.length - 1, up: Bt > 0, down: Bt < n.length - 1 }; if (jt.loop && (r.length > 1 && (i.left = !0, i.right = !0), n.length > 1 && (i.up = !0, i.down = !0)), r.length > 1 && "linear" === jt.navigationMode && (i.right = i.right || i.down, i.left = i.left || i.up), !0 === e) { var a = ne.availableRoutes(); i.left = i.left || a.prev, i.up = i.up || a.prev, i.down = i.down || a.next, i.right = i.right || a.next } if (jt.rtl) { var o = i.left; i.left = i.right, i.right = o } return i } function et() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Dt, e = at(), r = 0; t: for (var n = 0; n < e.length; n++) { for (var i = e[n], a = i.querySelectorAll("section"), o = 0; o < a.length; o++) { if (a[o] === t) break t; "uncounted" !== a[o].dataset.visibility && r++ } if (i === t) break; !1 === i.classList.contains("stack") && "uncounted" !== i.dataset.visibility && r++ } return r } function rt() { var t = ht(), e = et(); if (Dt) { var r = Dt.querySelectorAll(".fragment"); r.length > 0 && (e += Dt.querySelectorAll(".fragment.visible").length / r.length * .9) } return Math.min(e / (t - 1), 1) } function nt(t) { var e, r = Ot, n = Bt; if (t) { var i = O(t), a = i ? t.parentNode : t, o = at(); r = Math.max(o.indexOf(a), 0), n = void 0, i && (n = Math.max(bd(t.parentNode, "section").indexOf(t), 0)) } if (!t && Dt && Dt.querySelectorAll(".fragment").length > 0) { var s = Dt.querySelector(".current-fragment"); e = s && s.hasAttribute("data-fragment-index") ? parseInt(s.getAttribute("data-fragment-index"), 10) : Dt.querySelectorAll(".fragment.visible").length - 1 } return { h: r, v: n, f: e } } function it() { return bd(Yt.wrapper, '.slides section:not(.stack):not([data-visibility="uncounted"])') } function at() { return bd(Yt.wrapper, nm) } function ot() { return bd(Yt.wrapper, ".slides>section>section") } function st() { return bd(Yt.wrapper, ".slides>section.stack") } function lt() { return at().length > 1 } function ct() { return ot().length > 1 } function ut() { return it().map(function (t) { for (var e = {}, r = 0; r < t.attributes.length; r++) { var n = t.attributes[r]; e[n.name] = n.value } return e }) } function ht() { return it().length } function dt(t, e) { var r = at()[t], n = r && r.querySelectorAll("section"); return n && n.length && "number" == typeof e ? n ? n[e] : void 0 : r } function mt(t, e) { var r = "number" == typeof t ? dt(t, e) : t; if (r) return r.slideBackgroundElement } function pt() { var t = nt(); return { indexh: t.h, indexv: t.v, indexf: t.f, paused: U(), overview: ie.isActive() } } function ft(t) { if ("object" === r(t)) { W(wd(t.indexh), wd(t.indexv), wd(t.indexf)); var e = wd(t.paused), n = wd(t.overview); "boolean" == typeof e && e !== U() && j(e), "boolean" == typeof n && n !== ie.isActive() && ie.toggle(n) } } function gt() { if (vt(), Dt && !1 !== jt.autoSlide) { var t = Dt.querySelector(".current-fragment"); t || (t = Dt.querySelector(".fragment")); var e = t ? t.getAttribute("data-autoslide") : null, r = Dt.parentNode ? Dt.parentNode.getAttribute("data-autoslide") : null, n = Dt.getAttribute("data-autoslide"); e ? Kt = parseInt(e, 10) : n ? Kt = parseInt(n, 10) : r ? Kt = parseInt(r, 10) : (Kt = jt.autoSlide, 0 === Dt.querySelectorAll(".fragment").length && bd(Dt, "video, audio").forEach(function (t) { t.hasAttribute("data-autoplay") && Kt && 1e3 * t.duration / t.playbackRate > Kt && (Kt = 1e3 * t.duration / t.playbackRate + 1e3) })), !Kt || Jt || U() || ie.isActive() || D() && !ne.availableRoutes().next && !0 !== jt.loop || ($t = setTimeout(function () { "function" == typeof jt.autoSlideMethod ? jt.autoSlideMethod() : Et(), gt() }, Kt), Zt = Date.now()), Ft && Ft.setPlaying(-1 !== $t) } } function vt() { clearTimeout($t), $t = -1 } function yt() { Kt && !Jt && (Jt = !0, k({ type: "autoslidepaused" }), clearTimeout($t), Ft && Ft.setPlaying(!1)) } function bt() { Kt && Jt && (Jt = !1, k({ type: "autoslideresumed" }), gt()) } function xt() { var t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).skipFragments, e = void 0 !== t && t; _t.hasNavigatedHorizontally = !0, jt.rtl ? (ie.isActive() || e || !1 === ne.next()) && tt().left && W(Ot + 1, "grid" === jt.navigationMode ? Bt : void 0) : (ie.isActive() || e || !1 === ne.prev()) && tt().left && W(Ot - 1, "grid" === jt.navigationMode ? Bt : void 0) } function wt() { var t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).skipFragments, e = void 0 !== t && t; _t.hasNavigatedHorizontally = !0, jt.rtl ? (ie.isActive() || e || !1 === ne.prev()) && tt().right && W(Ot - 1, "grid" === jt.navigationMode ? Bt : void 0) : (ie.isActive() || e || !1 === ne.next()) && tt().right && W(Ot + 1, "grid" === jt.navigationMode ? Bt : void 0) } function kt() { var t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).skipFragments, e = void 0 !== t && t; (ie.isActive() || e || !1 === ne.prev()) && tt().up && W(Ot, Bt - 1) } function St() { var t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).skipFragments, e = void 0 !== t && t; _t.hasNavigatedVertically = !0, (ie.isActive() || e || !1 === ne.next()) && tt().down && W(Ot, Bt + 1) } function At() { var t, e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).skipFragments, r = void 0 !== e && e; if (r || !1 === ne.prev()) if (tt().up) kt({ skipFragments: r }); else if ((t = jt.rtl ? bd(Yt.wrapper, ".slides>section.future").pop() : bd(Yt.wrapper, ".slides>section.past").pop()) && t.classList.contains("stack")) { var n = t.querySelectorAll("section").length - 1 || void 0; W(Ot - 1, n) } else xt({ skipFragments: r }) } function Et() { var t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).skipFragments, e = void 0 !== t && t; if (_t.hasNavigatedHorizontally = !0, _t.hasNavigatedVertically = !0, e || !1 === ne.next()) { var r = tt(); r.down && r.right && jt.loop && B() && (r.down = !1), r.down ? St({ skipFragments: e }) : jt.rtl ? xt({ skipFragments: e }) : wt({ skipFragments: e }) } } function Mt() { jt.autoSlideStoppable && yt() } function Rt(t) { var e = t.data; if ("string" == typeof e && "{" === e.charAt(0) && "}" === e.charAt(e.length - 1) && (e = JSON.parse(e)).method && "function" == typeof Ht[e.method]) if (!1 === am.test(e.method)) { var r = Ht[e.method].apply(Ht, e.args); S("callback", { method: e.method, result: r }) } else console.warn('reveal.js: "' + e.method + '" is is blacklisted from the postMessage API') } function Tt(t) { "running" === Xt && /section/gi.test(t.target.nodeName) && (Xt = "idle", k({ type: "slidetransitionend", data: { indexh: Ot, indexv: Bt, previousSlide: qt, currentSlide: Dt } })) } function Ct(t) { var e = Ad(t.target, 'a[href^="#"]'); if (e) { var r = e.getAttribute("href"), n = oe.getIndicesFromHash(r); n && (Ht.slide(n.h, n.v, n.f), t.preventDefault()) } } function Lt() { L() } function zt() { !1 === document.hidden && document.activeElement !== document.body && ("function" == typeof document.activeElement.blur && document.activeElement.blur(), document.body.focus()) } function Nt(t) { (document.fullscreenElement || document.webkitFullscreenElement) === Yt.wrapper && (t.stopImmediatePropagation(), setTimeout(function () { Ht.layout(), Ht.focus.focus() }, 1)) } function Pt(t) { if (t.currentTarget && t.currentTarget.hasAttribute("href")) { var e = t.currentTarget.getAttribute("href"); e && (M(e), t.preventDefault()) } } function It() { D() && !1 === jt.loop ? (W(0, 0), bt()) : Jt ? bt() : yt() } arguments.length < 2 && (n = arguments[0], t = document.querySelector(".reveal")); var Ot, Bt, qt, Dt, Ft, Ht = {}, jt = {}, Ut = !1, _t = { hasNavigatedHorizontally: !1, hasNavigatedVertically: !1 }, Vt = [], Wt = 1, Gt = { layout: "", overview: "" }, Yt = {}, Xt = "idle", Kt = 0, $t = 0, Zt = -1, Jt = !1, Qt = new qd(Ht), te = new Dd(Ht), ee = new lm(Ht), re = new Jd(Ht), ne = new cm(Ht), ie = new um(Ht), ae = new hm(Ht), oe = new dm(Ht), se = new mm(Ht), le = new pm(Ht), ce = new fm(Ht), ue = new Sm(Ht), he = new Am(Ht), de = new Tm(Ht), me = new Em(Ht), pe = new Cm(Ht), fe = { VERSION: Hm, initialize: i, configure: f, destroy: y, sync: G, syncSlide: Y, syncFragments: ne.sync.bind(ne), slide: W, left: xt, right: wt, up: kt, down: St, prev: At, next: Et, navigateLeft: xt, navigateRight: wt, navigateUp: kt, navigateDown: St, navigatePrev: At, navigateNext: Et, navigateFragment: ne.goto.bind(ne), prevFragment: ne.prev.bind(ne), nextFragment: ne.next.bind(ne), on: b, off: x, addEventListener: b, removeEventListener: x, layout: L, shuffle: K, availableRoutes: tt, availableFragments: ne.availableRoutes.bind(ne), toggleHelp: R, toggleOverview: ie.toggle.bind(ie), togglePause: j, toggleAutoSlide: _, isFirstSlide: q, isLastSlide: D, isLastVerticalSlide: B, isVerticalSlide: O, isPaused: U, isAutoSliding: V, isSpeakerNotes: pe.isSpeakerNotesWindow.bind(pe), isOverview: ie.isActive.bind(ie), isFocused: de.isFocused.bind(de), isPrintingPDF: he.isPrintingPDF.bind(he), isReady: function () { return Ut }, loadSlide: Qt.load.bind(Qt), unloadSlide: Qt.unload.bind(Qt), showPreview: M, hidePreview: C, addEventListeners: g, removeEventListeners: v, dispatchEvent: k, getState: pt, setState: ft, getProgress: rt, getIndices: nt, getSlidesAttributes: ut, getSlidePastCount: et, getTotalSlides: ht, getSlide: dt, getPreviousSlide: function () { return qt }, getCurrentSlide: function () { return Dt }, getSlideBackground: mt, getSlideNotes: pe.getSlideNotes.bind(pe), getSlides: it, getHorizontalSlides: at, getVerticalSlides: ot, hasHorizontalSlides: lt, hasVerticalSlides: ct, hasNavigatedHorizontally: function () { return _t.hasNavigatedHorizontally }, hasNavigatedVertically: function () { return _t.hasNavigatedVertically }, addKeyBinding: ae.addKeyBinding.bind(ae), removeKeyBinding: ae.removeKeyBinding.bind(ae), triggerKey: ae.triggerKey.bind(ae), registerKeyboardShortcut: ae.registerKeyboardShortcut.bind(ae), getComputedSlideSize: N, getScale: function () { return Wt }, getConfig: function () { return jt }, getQueryHash: Rd, getSlidePath: oe.getHash.bind(oe), getRevealElement: function () { return t }, getSlidesElement: function () { return Yt.slides }, getViewportElement: function () { return Yt.viewport }, getBackgroundsElement: function () { return re.element }, registerPlugin: ue.registerPlugin.bind(ue), hasPlugin: ue.hasPlugin.bind(ue), getPlugin: ue.getPlugin.bind(ue), getPlugins: ue.getRegisteredPlugins.bind(ue) }; return yd(Ht, e(e({}, fe), {}, { announceStatus: u, getStatusText: h, print: he, focus: de, progress: le, controls: se, location: oe, overview: ie, fragments: ne, slideContent: Qt, slideNumber: te, onUserInput: Mt, closeOverlay: C, updateSlidesVisibility: Q, layoutSlideContents: z, transformSlides: w, cueAutoSlide: gt, cancelAutoSlide: vt })), fe
} var d = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, m = function (t) { return t && t.Math == Math && t }, p = m("object" == typeof globalThis && globalThis) || m("object" == typeof window && window) || m("object" == typeof self && self) || m("object" == typeof d && d) || function () { return this }() || Function("return this")(), f = {}, g = function (t) { try { return !!t() } catch (t) { return !0 } }, v = !g(function () { return 7 != Object.defineProperty({}, 1, { get: function () { return 7 } })[1] }), y = {}, b = {}.propertyIsEnumerable, x = Object.getOwnPropertyDescriptor, w = x && !b.call({ 1: 2 }, 1); y.f = w ? function (t) { var e = x(this, t); return !!e && e.enumerable } : b; var k = function (t, e) { return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e } }, S = {}.toString, A = function (t) { return S.call(t).slice(8, -1) }, E = A, M = "".split, R = g(function () { return !Object("z").propertyIsEnumerable(0) }) ? function (t) { return "String" == E(t) ? M.call(t, "") : Object(t) } : Object, T = function (t) { if (null == t) throw TypeError("Can't call method on " + t); return t }, C = R, L = T, z = function (t) { return C(L(t)) }, N = function (t) { return "object" == typeof t ? null !== t : "function" == typeof t }, P = N, I = function (t, e) { if (!P(t)) return t; var r, n; if (e && "function" == typeof (r = t.toString) && !P(n = r.call(t))) return n; if ("function" == typeof (r = t.valueOf) && !P(n = r.call(t))) return n; if (!e && "function" == typeof (r = t.toString) && !P(n = r.call(t))) return n; throw TypeError("Can't convert object to primitive value") }, O = T, B = function (t) { return Object(O(t)) }, q = B, D = {}.hasOwnProperty, F = function (t, e) { return D.call(q(t), e) }, H = N, j = p.document, U = H(j) && H(j.createElement), _ = function (t) { return U ? j.createElement(t) : {} }, V = _, W = !v && !g(function () { return 7 != Object.defineProperty(V("div"), "a", { get: function () { return 7 } }).a }), G = v, Y = y, X = k, K = z, $ = I, Z = F, J = W, Q = Object.getOwnPropertyDescriptor; f.f = G ? Q : function (t, e) { if (t = K(t), e = $(e, !0), J) try { return Q(t, e) } catch (t) { } if (Z(t, e)) return X(!Y.f.call(t, e), t[e]) }; var tt = {}, et = N, rt = function (t) { if (!et(t)) throw TypeError(String(t) + " is not an object"); return t }, nt = v, it = W, at = rt, ot = I, st = Object.defineProperty; tt.f = nt ? st : function (t, e, r) { if (at(t), e = ot(e, !0), at(r), it) try { return st(t, e, r) } catch (t) { } if ("get" in r || "set" in r) throw TypeError("Accessors not supported"); return "value" in r && (t[e] = r.value), t }; var lt = tt, ct = k, ut = v ? function (t, e, r) { return lt.f(t, e, ct(1, r)) } : function (t, e, r) { return t[e] = r, t }, ht = { exports: {} }, dt = p, mt = ut, pt = function (t, e) { try { mt(dt, t, e) } catch (p) { dt[t] = e } return e }, ft = pt, gt = "__core-js_shared__", vt = p[gt] || ft(gt, {}), yt = vt, bt = Function.toString; "function" != typeof yt.inspectSource && (yt.inspectSource = function (t) { return bt.call(t) }); var xt = yt.inspectSource, wt = xt, kt = p.WeakMap, St = "function" == typeof kt && /native code/.test(wt(kt)), At = { exports: {} }, Et = vt; (At.exports = function (t, e) { return Et[t] || (Et[t] = void 0 !== e ? e : {}) })("versions", []).push({ version: "3.12.1", mode: "global", copyright: "\xa9 2021 Denis Pushkarev (zloirock.ru)" }); var Mt, Rt, Tt, Ct = 0, Lt = Math.random(), zt = function (t) { return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++Ct + Lt).toString(36) }, Nt = At.exports, Pt = zt, It = Nt("keys"), Ot = function (t) { return It[t] || (It[t] = Pt(t)) }, Bt = {}, qt = St, Dt = N, Ft = ut, Ht = F, jt = vt, Ut = Ot, _t = Bt, Vt = "Object already initialized", Wt = p.WeakMap; if (qt || jt.state) { var Gt = jt.state || (jt.state = new Wt), Yt = Gt.get, Xt = Gt.has, Kt = Gt.set; Mt = function (t, e) { if (Xt.call(Gt, t)) throw new TypeError(Vt); return e.facade = t, Kt.call(Gt, t, e), e }, Rt = function (t) { return Yt.call(Gt, t) || {} }, Tt = function (t) { return Xt.call(Gt, t) } } else { var $t = Ut("state"); _t[$t] = !0, Mt = function (t, e) { if (Ht(t, $t)) throw new TypeError(Vt); return e.facade = t, Ft(t, $t, e), e }, Rt = function (t) { return Ht(t, $t) ? t[$t] : {} }, Tt = function (t) { return Ht(t, $t) } } var Zt = { set: Mt, get: Rt, has: Tt, enforce: function (t) { return Tt(t) ? Rt(t) : Mt(t, {}) }, getterFor: function (t) { return function (e) { var r; if (!Dt(e) || (r = Rt(e)).type !== t) throw TypeError("Incompatible receiver, " + t + " required"); return r } } }, Jt = p, Qt = ut, te = F, ee = pt, re = xt, ne = Zt.get, ie = Zt.enforce, ae = String(String).split("String"); (ht.exports = function (t, e, r, n) { var i, a = !!n && !!n.unsafe, o = !!n && !!n.enumerable, s = !!n && !!n.noTargetGet; "function" == typeof r && ("string" != typeof e || te(r, "name") || Qt(r, "name", e), (i = ie(r)).source || (i.source = ae.join("string" == typeof e ? e : ""))), t !== Jt ? (a ? !s && t[e] && (o = !0) : delete t[e], o ? t[e] = r : Qt(t, e, r)) : o ? t[e] = r : ee(e, r) })(Function.prototype, "toString", function () { return "function" == typeof this && ne(this).source || re(this) }); var oe = p, se = oe, le = p, ce = function (t) { return "function" == typeof t ? t : void 0 }, ue = function (t, e) { return arguments.length < 2 ? ce(se[t]) || ce(le[t]) : se[t] && se[t][e] || le[t] && le[t][e] }, he = {}, de = Math.ceil, me = Math.floor, pe = function (t) { return isNaN(t = +t) ? 0 : (t > 0 ? me : de)(t) }, fe = pe, ge = Math.min, ve = function (t) { return t > 0 ? ge(fe(t), 9007199254740991) : 0 }, ye = pe, be = Math.max, xe = Math.min, we = function (t, e) { var r = ye(t); return r < 0 ? be(r + e, 0) : xe(r, e) }, ke = z, Se = ve, Ae = we, Ee = function (t) { return function (e, r, n) { var i, a = ke(e), o = Se(a.length), s = Ae(n, o); if (t && r != r) { for (; o > s;)if ((i = a[s++]) != i) return !0 } else for (; o > s; s++)if ((t || s in a) && a[s] === r) return t || s || 0; return !t && -1 } }, Me = { includes: Ee(!0), indexOf: Ee(!1) }, Re = F, Te = z, Ce = Me.indexOf, Le = Bt, ze = function (t, e) { var r, n = Te(t), i = 0, a = []; for (r in n) !Re(Le, r) && Re(n, r) && a.push(r); for (; e.length > i;)Re(n, r = e[i++]) && (~Ce(a, r) || a.push(r)); return a }, Ne = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"], Pe = ze, Ie = Ne.concat("length", "prototype"); he.f = Object.getOwnPropertyNames || function (t) { return Pe(t, Ie) }; var Oe = {}; Oe.f = Object.getOwnPropertySymbols; var Be = he, qe = Oe, De = rt, Fe = ue("Reflect", "ownKeys") || function (t) { var e = Be.f(De(t)), r = qe.f; return r ? e.concat(r(t)) : e }, He = F, je = Fe, Ue = f, _e = tt, Ve = function (t, e) { for (var r = je(e), n = _e.f, i = Ue.f, a = 0; a < r.length; a++) { var o = r[a]; He(t, o) || n(t, o, i(e, o)) } }, We = g, Ge = /#|\.prototype\./, Ye = function (t, e) { var r = Ke[Xe(t)]; return r == Ze || r != $e && ("function" == typeof e ? We(e) : !!e) }, Xe = Ye.normalize = function (t) { return String(t).replace(Ge, ".").toLowerCase() }, Ke = Ye.data = {}, $e = Ye.NATIVE = "N", Ze = Ye.POLYFILL = "P", Je = Ye, Qe = p, tr = f.f, er = ut, rr = ht.exports, nr = pt, ir = Ve, ar = Je, or = function (t, e) { var r, n, i, a, o, s = t.target, l = t.global, c = t.stat; if (r = l ? Qe : c ? Qe[s] || nr(s, {}) : (Qe[s] || {}).prototype) for (n in e) { if (a = e[n], i = t.noTargetGet ? (o = tr(r, n)) && o.value : r[n], !ar(l ? n : s + (c ? "." : "#") + n, t.forced) && void 0 !== i) { if (typeof a == typeof i) continue; ir(a, i) } (t.sham || i && i.sham) && er(a, "sham", !0), rr(r, n, a, t) } }, sr = ze, lr = Ne, cr = Object.keys || function (t) { return sr(t, lr) }, ur = v, hr = g, dr = cr, mr = Oe, pr = y, fr = B, gr = R, vr = Object.assign, yr = Object.defineProperty, br = !vr || hr(function () { if (ur && 1 !== vr({ b: 1 }, vr(yr({}, "a", { enumerable: !0, get: function () { yr(this, "b", { value: 3, enumerable: !1 }) } }), { b: 2 })).b) return !0; var t = {}, e = {}, r = Symbol(), n = "abcdefghijklmnopqrst"; return t[r] = 7, n.split("").forEach(function (t) { e[t] = t }), 7 != vr({}, t)[r] || dr(vr({}, e)).join("") != n }) ? function (t) { for (var e = fr(t), r = arguments.length, n = 1, i = mr.f, a = pr.f; r > n;)for (var o, s = gr(arguments[n++]), l = i ? dr(s).concat(i(s)) : dr(s), c = l.length, u = 0; c > u;)o = l[u++], ur && !a.call(s, o) || (e[o] = s[o]); return e } : vr; or({ target: "Object", stat: !0, forced: Object.assign !== br }, { assign: br }); var xr, wr, kr = function (t) {
if ("function" != typeof t) throw TypeError(String(t) + " is not a function"); return t
}, Sr = kr, Ar = function (t, e, r) { if (Sr(t), void 0 === e) return t; switch (r) { case 0: return function () { return t.call(e) }; case 1: return function (r) { return t.call(e, r) }; case 2: return function (r, n) { return t.call(e, r, n) }; case 3: return function (r, n, i) { return t.call(e, r, n, i) } }return function () { return t.apply(e, arguments) } }, Er = A, Mr = Array.isArray || function (t) { return "Array" == Er(t) }, Rr = ue("navigator", "userAgent") || "", Tr = Rr, Cr = p.process, Lr = Cr && Cr.versions, zr = Lr && Lr.v8; zr ? wr = (xr = zr.split("."))[0] < 4 ? 1 : xr[0] + xr[1] : Tr && (!(xr = Tr.match(/Edge\/(\d+)/)) || xr[1] >= 74) && (xr = Tr.match(/Chrome\/(\d+)/)) && (wr = xr[1]); var Nr = wr && +wr, Pr = Nr, Ir = g, Or = !!Object.getOwnPropertySymbols && !Ir(function () { return !String(Symbol()) || !Symbol.sham && Pr && Pr < 41 }), Br = Or && !Symbol.sham && "symbol" == typeof Symbol.iterator, qr = p, Dr = At.exports, Fr = F, Hr = zt, jr = Or, Ur = Br, _r = Dr("wks"), Vr = qr.Symbol, Wr = Ur ? Vr : Vr && Vr.withoutSetter || Hr, Gr = function (t) { return Fr(_r, t) && (jr || "string" == typeof _r[t]) || (jr && Fr(Vr, t) ? _r[t] = Vr[t] : _r[t] = Wr("Symbol." + t)), _r[t] }, Yr = N, Xr = Mr, Kr = Gr("species"), $r = function (t, e) { var r; return Xr(t) && ("function" != typeof (r = t.constructor) || r !== Array && !Xr(r.prototype) ? Yr(r) && null === (r = r[Kr]) && (r = void 0) : r = void 0), new (void 0 === r ? Array : r)(0 === e ? 0 : e) }, Zr = Ar, Jr = R, Qr = B, tn = ve, en = $r, rn = [].push, nn = function (t) { var e = 1 == t, r = 2 == t, n = 3 == t, i = 4 == t, a = 6 == t, o = 7 == t, s = 5 == t || a; return function (l, c, u, h) { for (var d, m, p = Qr(l), f = Jr(p), g = Zr(c, u, 3), v = tn(f.length), y = 0, b = h || en, x = e ? b(l, v) : r || o ? b(l, 0) : void 0; v > y; y++)if ((s || y in f) && (m = g(d = f[y], y, p), t)) if (e) x[y] = m; else if (m) switch (t) { case 3: return !0; case 5: return d; case 6: return y; case 2: rn.call(x, d) } else switch (t) { case 4: return !1; case 7: rn.call(x, d) }return a ? -1 : n || i ? i : x } }, an = { forEach: nn(0), map: nn(1), filter: nn(2), some: nn(3), every: nn(4), find: nn(5), findIndex: nn(6), filterOut: nn(7) }, on = g, sn = Nr, ln = Gr("species"), cn = function (t) { return sn >= 51 || !on(function () { var e = []; return (e.constructor = {})[ln] = function () { return { foo: 1 } }, 1 !== e[t](Boolean).foo }) }, un = an.map; or({ target: "Array", proto: !0, forced: !cn("map") }, { map: function (t) { return un(this, t, arguments.length > 1 ? arguments[1] : void 0) } }); var hn = I, dn = tt, mn = k, pn = function (t, e, r) { var n = hn(e); n in t ? dn.f(t, n, mn(0, r)) : t[n] = r }, fn = or, gn = g, vn = Mr, yn = N, bn = B, xn = ve, wn = pn, kn = $r, Sn = cn, An = Nr, En = Gr("isConcatSpreadable"), Mn = 9007199254740991, Rn = "Maximum allowed index exceeded", Tn = An >= 51 || !gn(function () { var t = []; return t[En] = !1, t.concat()[0] !== t }), Cn = Sn("concat"), Ln = function (t) { if (!yn(t)) return !1; var e = t[En]; return void 0 !== e ? !!e : vn(t) }; fn({ target: "Array", proto: !0, forced: !Tn || !Cn }, { concat: function () { var t, e, r, n, i, a = bn(this), o = kn(a, 0), s = 0; for (t = -1, r = arguments.length; t < r; t++)if (Ln(i = -1 === t ? a : arguments[t])) { if (s + (n = xn(i.length)) > Mn) throw TypeError(Rn); for (e = 0; e < n; e++, s++)e in i && wn(o, s, i[e]) } else { if (s >= Mn) throw TypeError(Rn); wn(o, s++, i) } return o.length = s, o } }); var zn = {}; zn[Gr("toStringTag")] = "z"; var Nn = "[object z]" === String(zn), Pn = Nn, In = A, On = Gr("toStringTag"), Bn = "Arguments" == In(function () { return arguments }()), qn = Pn ? In : function (t) { var e, r, n; return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (r = function (t, e) { try { return t[e] } catch (t) { } }(e = Object(t), On)) ? r : Bn ? In(e) : "Object" == (n = In(e)) && "function" == typeof e.callee ? "Arguments" : n }, Dn = qn, Fn = Nn ? {}.toString : function () { return "[object " + Dn(this) + "]" }, Hn = Nn, jn = ht.exports, Un = Fn; Hn || jn(Object.prototype, "toString", Un, { unsafe: !0 }); var _n = p.Promise, Vn = ht.exports, Wn = N, Gn = rt, Yn = function (t) { if (!Wn(t) && null !== t) throw TypeError("Can't set " + String(t) + " as a prototype"); return t }, Xn = Object.setPrototypeOf || ("__proto__" in {} ? function () { var t, e = !1, r = {}; try { (t = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(r, []), e = r instanceof Array } catch (t) { } return function (r, n) { return Gn(r), Yn(n), e ? t.call(r, n) : r.__proto__ = n, r } }() : void 0), Kn = tt.f, $n = F, Zn = Gr("toStringTag"), Jn = function (t, e, r) { t && !$n(t = r ? t : t.prototype, Zn) && Kn(t, Zn, { configurable: !0, value: e }) }, Qn = ue, ti = tt, ei = v, ri = Gr("species"), ni = {}, ii = ni, ai = Gr("iterator"), oi = Array.prototype, si = function (t) { return void 0 !== t && (ii.Array === t || oi[ai] === t) }, li = qn, ci = ni, ui = Gr("iterator"), hi = function (t) { if (null != t) return t[ui] || t["@@iterator"] || ci[li(t)] }, di = rt, mi = function (t) { var e = t["return"]; if (void 0 !== e) return di(e.call(t)).value }, pi = rt, fi = si, gi = ve, vi = Ar, yi = hi, bi = mi, xi = function (t, e) { this.stopped = t, this.result = e }, wi = Gr("iterator"), ki = !1; try { var Si = 0, Ai = { next: function () { return { done: !!Si++ } }, "return": function () { ki = !0 } }; Ai[wi] = function () { return this }, Array.from(Ai, function () { throw 2 }) } catch (d) { } var Ei, Mi, Ri, Ti = function (t, e) { if (!e && !ki) return !1; var r = !1; try { var n = {}; n[wi] = function () { return { next: function () { return { done: r = !0 } } } }, t(n) } catch (t) { } return r }, Ci = rt, Li = kr, zi = Gr("species"), Ni = function (t, e) { var r, n = Ci(t).constructor; return void 0 === n || null == (r = Ci(n)[zi]) ? e : Li(r) }, Pi = ue("document", "documentElement"), Ii = /(?:iphone|ipod|ipad).*applewebkit/i.test(Rr), Oi = "process" == A(p.process), Bi = p, qi = g, Di = Ar, Fi = Pi, Hi = _, ji = Ii, Ui = Oi, _i = Bi.location, Vi = Bi.setImmediate, Wi = Bi.clearImmediate, Gi = Bi.process, Yi = Bi.MessageChannel, Xi = Bi.Dispatch, Ki = 0, $i = {}, Zi = "onreadystatechange", Ji = function (t) { if ($i.hasOwnProperty(t)) { var e = $i[t]; delete $i[t], e() } }, Qi = function (t) { return function () { Ji(t) } }, ta = function (t) { Ji(t.data) }, ea = function (t) { Bi.postMessage(t + "", _i.protocol + "//" + _i.host) }; Vi && Wi || (Vi = function (t) { for (var e = [], r = 1; arguments.length > r;)e.push(arguments[r++]); return $i[++Ki] = function () { ("function" == typeof t ? t : Function(t)).apply(void 0, e) }, Ei(Ki), Ki }, Wi = function (t) { delete $i[t] }, Ui ? Ei = function (t) { Gi.nextTick(Qi(t)) } : Xi && Xi.now ? Ei = function (t) { Xi.now(Qi(t)) } : Yi && !ji ? (Ri = (Mi = new Yi).port2, Mi.port1.onmessage = ta, Ei = Di(Ri.postMessage, Ri, 1)) : Bi.addEventListener && "function" == typeof postMessage && !Bi.importScripts && _i && "file:" !== _i.protocol && !qi(ea) ? (Ei = ea, Bi.addEventListener("message", ta, !1)) : Ei = Zi in Hi("script") ? function (t) { Fi.appendChild(Hi("script")).onreadystatechange = function () { Fi.removeChild(this), Ji(t) } } : function (t) { setTimeout(Qi(t), 0) }); var ra, na, ia, aa, oa, sa, la, ca, ua = { set: Vi, clear: Wi }, ha = /web0s(?!.*chrome)/i.test(Rr), da = p, ma = f.f, pa = ua.set, fa = Ii, ga = ha, va = Oi, ya = da.MutationObserver || da.WebKitMutationObserver, ba = da.document, xa = da.process, wa = da.Promise, ka = ma(da, "queueMicrotask"), Sa = ka && ka.value; Sa || (ra = function () { var t, e; for (va && (t = xa.domain) && t.exit(); na;) { e = na.fn, na = na.next; try { e() } catch (t) { throw na ? aa() : ia = void 0, t } } ia = void 0, t && t.enter() }, fa || va || ga || !ya || !ba ? wa && wa.resolve ? ((la = wa.resolve(void 0)).constructor = wa, ca = la.then, aa = function () { ca.call(la, ra) }) : aa = va ? function () { xa.nextTick(ra) } : function () { pa.call(da, ra) } : (oa = !0, sa = ba.createTextNode(""), new ya(ra).observe(sa, { characterData: !0 }), aa = function () { sa.data = oa = !oa })); var Aa = Sa || function (t) { var e = { fn: t, next: void 0 }; ia && (ia.next = e), na || (na = e, aa()), ia = e }, Ea = {}, Ma = kr, Ra = function (t) { var e, r; this.promise = new t(function (t, n) { if (void 0 !== e || void 0 !== r) throw TypeError("Bad Promise constructor"); e = t, r = n }), this.resolve = Ma(e), this.reject = Ma(r) }; Ea.f = function (t) { return new Ra(t) }; var Ta, Ca, La, za, Na = rt, Pa = N, Ia = Ea, Oa = p, Ba = "object" == typeof window, qa = or, Da = p, Fa = ue, Ha = _n, ja = ht.exports, Ua = function (t, e, r) { for (var n in e) Vn(t, n, e[n], r); return t }, _a = Xn, Va = Jn, Wa = function (t) { var e = Qn(t), r = ti.f; ei && e && !e[ri] && r(e, ri, { configurable: !0, get: function () { return this } }) }, Ga = N, Ya = kr, Xa = function (t, e, r) { if (!(t instanceof e)) throw TypeError("Incorrect " + (r ? r + " " : "") + "invocation"); return t }, Ka = xt, $a = function (t, e, r) { var n, i, a, o, s, l, c, u = r && r.that, h = !(!r || !r.AS_ENTRIES), d = !(!r || !r.IS_ITERATOR), m = !(!r || !r.INTERRUPTED), p = vi(e, u, 1 + h + m), f = function (t) { return n && bi(n), new xi(!0, t) }, g = function (t) { return h ? (pi(t), m ? p(t[0], t[1], f) : p(t[0], t[1])) : m ? p(t, f) : p(t) }; if (d) n = t; else { if ("function" != typeof (i = yi(t))) throw TypeError("Target is not iterable"); if (fi(i)) { for (a = 0, o = gi(t.length); o > a; a++)if ((s = g(t[a])) && s instanceof xi) return s; return new xi(!1) } n = i.call(t) } for (l = n.next; !(c = l.call(n)).done;) { try { s = g(c.value) } catch (t) { throw bi(n), t } if ("object" == typeof s && s && s instanceof xi) return s } return new xi(!1) }, Za = Ti, Ja = Ni, Qa = ua.set, to = Aa, eo = function (t, e) { if (Na(t), Pa(e) && e.constructor === t) return e; var r = Ia.f(t); return (0, r.resolve)(e), r.promise }, ro = function (t, e) { var r = Oa.console; r && r.error && (1 === arguments.length ? r.error(t) : r.error(t, e)) }, no = Ea, io = function (t) { try { return { error: !1, value: t() } } catch (t) { return { error: !0, value: t } } }, ao = Zt, oo = Je, so = Ba, lo = Oi, co = Nr, uo = Gr("species"), ho = "Promise", mo = ao.get, po = ao.set, fo = ao.getterFor(ho), go = Ha && Ha.prototype, vo = Ha, yo = go, bo = Da.TypeError, xo = Da.document, wo = Da.process, ko = no.f, So = ko, Ao = !!(xo && xo.createEvent && Da.dispatchEvent), Eo = "function" == typeof PromiseRejectionEvent, Mo = "unhandledrejection", Ro = !1, To = oo(ho, function () { var t = Ka(vo) !== String(vo); if (!t && 66 === co) return !0; if (co >= 51 && /native code/.test(vo)) return !1; var e = new vo(function (t) { t(1) }), r = function (t) { t(function () { }, function () { }) }; return (e.constructor = {})[uo] = r, !(Ro = e.then(function () { }) instanceof r) || !t && so && !Eo }), Co = To || !Za(function (t) { vo.all(t)["catch"](function () { }) }), Lo = function (t) { var e; return !(!Ga(t) || "function" != typeof (e = t.then)) && e }, zo = function (t, e) { if (!t.notified) { t.notified = !0; var r = t.reactions; to(function () { for (var n = t.value, i = 1 == t.state, a = 0; r.length > a;) { var o, s, l, c = r[a++], u = i ? c.ok : c.fail, h = c.resolve, d = c.reject, m = c.domain; try { u ? (i || (2 === t.rejection && Oo(t), t.rejection = 1), !0 === u ? o = n : (m && m.enter(), o = u(n), m && (m.exit(), l = !0)), o === c.promise ? d(bo("Promise-chain cycle")) : (s = Lo(o)) ? s.call(o, h, d) : h(o)) : d(n) } catch (t) { m && !l && m.exit(), d(t) } } t.reactions = [], t.notified = !1, e && !t.rejection && Po(t) }) } }, No = function (t, e, r) { var n, i; Ao ? ((n = xo.createEvent("Event")).promise = e, n.reason = r, n.initEvent(t, !1, !0), Da.dispatchEvent(n)) : n = { promise: e, reason: r }, !Eo && (i = Da["on" + t]) ? i(n) : t === Mo && ro("Unhandled promise rejection", r) }, Po = function (t) { Qa.call(Da, function () { var e, r = t.facade, n = t.value; if (Io(t) && (e = io(function () { lo ? wo.emit("unhandledRejection", n, r) : No(Mo, r, n) }), t.rejection = lo || Io(t) ? 2 : 1, e.error)) throw e.value }) }, Io = function (t) { return 1 !== t.rejection && !t.parent }, Oo = function (t) { Qa.call(Da, function () { var e = t.facade; lo ? wo.emit("rejectionHandled", e) : No("rejectionhandled", e, t.value) }) }, Bo = function (t, e, r) { return function (n) { t(e, n, r) } }, qo = function (t, e, r) { t.done || (t.done = !0, r && (t = r), t.value = e, t.state = 2, zo(t, !0)) }, Do = function (t, e, r) { if (!t.done) { t.done = !0, r && (t = r); try { if (t.facade === e) throw bo("Promise can't be resolved itself"); var n = Lo(e); n ? to(function () { var r = { done: !1 }; try { n.call(e, Bo(Do, r, t), Bo(qo, r, t)) } catch (e) { qo(r, e, t) } }) : (t.value = e, t.state = 1, zo(t, !1)) } catch (e) { qo({ done: !1 }, e, t) } } }; if (To && (yo = (vo = function (t) { Xa(this, vo, ho), Ya(t), Ta.call(this); var e = mo(this); try { t(Bo(Do, e), Bo(qo, e)) } catch (t) { qo(e, t) } }).prototype, (Ta = function () { po(this, { type: ho, done: !1, notified: !1, parent: !1, reactions: [], rejection: !1, state: 0, value: void 0 }) }).prototype = Ua(yo, { then: function (t, e) { var r = fo(this), n = ko(Ja(this, vo)); return n.ok = "function" != typeof t || t, n.fail = "function" == typeof e && e, n.domain = lo ? wo.domain : void 0, r.parent = !0, r.reactions.push(n), 0 != r.state && zo(r, !1), n.promise }, "catch": function (t) { return this.then(void 0, t) } }), Ca = function () { var t = new Ta, e = mo(t); this.promise = t, this.resolve = Bo(Do, e), this.reject = Bo(qo, e) }, no.f = ko = function (t) { return t === vo || t === La ? new Ca(t) : So(t) }, "function" == typeof Ha && go !== Object.prototype)) { za = go.then, Ro || (ja(go, "then", function (t, e) { var r = this; return new vo(function (t, e) { za.call(r, t, e) }).then(t, e) }, { unsafe: !0 }), ja(go, "catch", yo["catch"], { unsafe: !0 })); try { delete go.constructor } catch (d) { } _a && _a(go, yo) } qa({ global: !0, wrap: !0, forced: To }, { Promise: vo }), Va(vo, ho, !1), Wa(ho), La = Fa(ho), qa({ target: ho, stat: !0, forced: To }, { reject: function (t) { var e = ko(this); return e.reject.call(void 0, t), e.promise } }), qa({ target: ho, stat: !0, forced: To }, { resolve: function (t) { return eo(this, t) } }), qa({ target: ho, stat: !0, forced: Co }, { all: function (t) { var e = this, r = ko(e), n = r.resolve, i = r.reject, a = io(function () { var r = Ya(e.resolve), a = [], o = 0, s = 1; $a(t, function (t) { var l = o++, c = !1; a.push(void 0), s++, r.call(e, t).then(function (t) { c || (c = !0, a[l] = t, --s || n(a)) }, i) }), --s || n(a) }); return a.error && i(a.value), r.promise }, race: function (t) { var e = this, r = ko(e), n = r.reject, i = io(function () { var i = Ya(e.resolve); $a(t, function (t) { i.call(e, t).then(r.resolve, n) }) }); return i.error && n(i.value), r.promise } }); var Fo = g, Ho = function (t, e) { var r = [][t]; return !!r && Fo(function () { r.call(null, e || function () { throw 1 }, 1) }) }, jo = an.forEach, Uo = p, _o = { 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 }, Vo = Ho("forEach") ? [].forEach : function (t) { return jo(this, t, arguments.length > 1 ? arguments[1] : void 0) }, Wo = ut; for (var Go in _o) { var Yo = Uo[Go], Xo = Yo && Yo.prototype; if (Xo && Xo.forEach !== Vo) try { Wo(Xo, "forEach", Vo) } catch (d) { Xo.forEach = Vo } } var Ko = rt, $o = mi, Zo = Ar, Jo = B, Qo = function (t, e, r, n) { try { return n ? e(Ko(r)[0], r[1]) : e(r) } catch (e) { throw $o(t), e } }, ts = si, es = ve, rs = pn, ns = hi, is = function (t) { var e, r, n, i, a, o, s = Jo(t), l = "function" == typeof this ? this : Array, c = arguments.length, u = c > 1 ? arguments[1] : void 0, h = void 0 !== u, d = ns(s), m = 0; if (h && (u = Zo(u, c > 2 ? arguments[2] : void 0, 2)), null == d || l == Array && ts(d)) for (r = new l(e = es(s.length)); e > m; m++)o = h ? u(s[m], m) : s[m], rs(r, m, o); else for (a = (i = d.call(s)).next, r = new l; !(n = a.call(i)).done; m++)o = h ? Qo(i, u, [n.value, m], !0) : n.value, rs(r, m, o); return r.length = m, r }; or({ target: "Array", stat: !0, forced: !Ti(function (t) { Array.from(t) }) }, { from: is }); var as, os, ss, ls = pe, cs = T, us = function (t) { return function (e, r) { var n, i, a = String(cs(e)), o = ls(r), s = a.length; return o < 0 || o >= s ? t ? "" : void 0 : (n = a.charCodeAt(o)) < 55296 || n > 56319 || o + 1 === s || (i = a.charCodeAt(o + 1)) < 56320 || i > 57343 ? t ? a.charAt(o) : n : t ? a.slice(o, o + 2) : i - 56320 + (n - 55296 << 10) + 65536 } }, hs = { codeAt: us(!1), charAt: us(!0) }, ds = !g(function () { function t() { } return t.prototype.constructor = null, Object.getPrototypeOf(new t) !== t.prototype }), ms = F, ps = B, fs = ds, gs = Ot("IE_PROTO"), vs = Object.prototype, ys = fs ? Object.getPrototypeOf : function (t) { return t = ps(t), ms(t, gs) ? t[gs] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? vs : null }, bs = g, xs = ys, ws = ut, ks = F, Ss = Gr("iterator"), As = !1;[].keys && ("next" in (ss = [].keys()) ? (os = xs(xs(ss))) !== Object.prototype && (as = os) : As = !0), (null == as || bs(function () { var t = {}; return as[Ss].call(t) !== t })) && (as = {}), ks(as, Ss) || ws(as, Ss, function () { return this }); var Es, Ms = { IteratorPrototype: as, BUGGY_SAFARI_ITERATORS: As }, Rs = tt, Ts = rt, Cs = cr, Ls = v ? Object.defineProperties : function (t, e) { Ts(t); for (var r, n = Cs(e), i = n.length, a = 0; i > a;)Rs.f(t, r = n[a++], e[r]); return t }, zs = rt, Ns = Ls, Ps = Ne, Is = Bt, Os = Pi, Bs = _, qs = Ot("IE_PROTO"), Ds = function () { }, Fs = function (t) { return "
" + t + "" }, Hs = function () { try { Es = document.domain && new ActiveXObject("htmlfile") } catch (t) { } var t, e; Hs = Es ? function (t) { t.write(Fs("")), t.close(); var e = t.parentWindow.Object; return t = null, e }(Es) : ((e = Bs("iframe")).style.display = "none", Os.appendChild(e), e.src = String("javascript:"), (t = e.contentWindow.document).open(), t.write(Fs("document.F=Object")), t.close(), t.F); for (var r = Ps.length; r--;)delete Hs.prototype[Ps[r]]; return Hs() }; Is[qs] = !0; var js = Object.create || function (t, e) { var r; return null !== t ? (Ds.prototype = zs(t), r = new Ds, Ds.prototype = null, r[qs] = t) : r = Hs(), void 0 === e ? r : Ns(r, e) }, Us = Ms.IteratorPrototype, _s = js, Vs = k, Ws = Jn, Gs = ni, Ys = function () { return this }, Xs = or, Ks = function (t, e, r) { var n = e + " Iterator"; return t.prototype = _s(Us, { next: Vs(1, r) }), Ws(t, n, !1), Gs[n] = Ys, t }, $s = ys, Zs = Xn, Js = Jn, Qs = ut, tl = ht.exports, el = ni, rl = Ms.IteratorPrototype, nl = Ms.BUGGY_SAFARI_ITERATORS, il = Gr("iterator"), al = "keys", ol = "values", sl = "entries", ll = function () { return this }, cl = hs.charAt, ul = Zt, hl = function (t, e, r, n, i, a, o) { Ks(r, e, n); var s, l, c, u = function (t) { if (t === i && f) return f; if (!nl && t in m) return m[t]; switch (t) { case al: case ol: case sl: return function () { return new r(this, t) } }return function () { return new r(this) } }, h = e + " Iterator", d = !1, m = t.prototype, p = m[il] || m["@@iterator"] || i && m[i], f = !nl && p || u(i), g = "Array" == e && m.entries || p; if (g && (s = $s(g.call(new t)), rl !== Object.prototype && s.next && ($s(s) !== rl && (Zs ? Zs(s, rl) : "function" != typeof s[il] && Qs(s, il, ll)), Js(s, h, !0))), i == ol && p && p.name !== ol && (d = !0, f = function () { return p.call(this) }), m[il] !== f && Qs(m, il, f), el[e] = f, i) if (l = { values: u(ol), keys: a ? f : u(al), entries: u(sl) }, o) for (c in l) (nl || d || !(c in m)) && tl(m, c, l[c]); else Xs({ target: e, proto: !0, forced: nl || d }, l); return l }, dl = "String Iterator", ml = ul.set, pl = ul.getterFor(dl); hl(String, "String", function (t) { ml(this, { type: dl, string: String(t), index: 0 }) }, function () { var t, e = pl(this), r = e.string, n = e.index; return n >= r.length ? { value: void 0, done: !0 } : (t = cl(r, n), e.index += t.length, { value: t, done: !1 }) }); var fl = "\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff", gl = T, vl = "[\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff]", yl = RegExp("^" + vl + vl + "*"), bl = RegExp(vl + vl + "*$"), xl = function (t) { return function (e) { var r = String(gl(e)); return 1 & t && (r = r.replace(yl, "")), 2 & t && (r = r.replace(bl, "")), r } }, wl = { start: xl(1), end: xl(2), trim: xl(3) }, kl = g, Sl = fl, Al = wl.trim; or({ target: "String", proto: !0, forced: function (t) { return kl(function () { return !!Sl[t]() || "\u200b\x85\u180e" != "\u200b\x85\u180e"[t]() || Sl[t].name !== t }) }("trim") }, { trim: function () { return Al(this) } }); var El = {}, Ml = z, Rl = he.f, Tl = {}.toString, Cl = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; El.f = function (t) { return Cl && "[object Window]" == Tl.call(t) ? function (t) { try { return Rl(t) } catch (t) { return Cl.slice() } }(t) : Rl(Ml(t)) }; var Ll = {}, zl = Gr; Ll.f = zl; var Nl = oe, Pl = F, Il = Ll, Ol = tt.f, Bl = or, ql = p, Dl = ue, Fl = v, Hl = Or, jl = Br, Ul = g, _l = F, Vl = Mr, Wl = N, Gl = rt, Yl = B, Xl = z, Kl = I, $l = k, Zl = js, Jl = cr, Ql = he, tc = El, ec = Oe, rc = f, nc = tt, ic = y, ac = ut, oc = ht.exports, sc = At.exports, lc = Bt, cc = zt, uc = Gr, hc = Ll, dc = function (t) { var e = Nl.Symbol || (Nl.Symbol = {}); Pl(e, t) || Ol(e, t, { value: Il.f(t) }) }, mc = Jn, pc = Zt, fc = an.forEach, gc = Ot("hidden"), vc = "Symbol", yc = uc("toPrimitive"), bc = pc.set, xc = pc.getterFor(vc), wc = Object.prototype, kc = ql.Symbol, Sc = Dl("JSON", "stringify"), Ac = rc.f, Ec = nc.f, Mc = tc.f, Rc = ic.f, Tc = sc("symbols"), Cc = sc("op-symbols"), Lc = sc("string-to-symbol-registry"), zc = sc("symbol-to-string-registry"), Nc = sc("wks"), Pc = ql.QObject, Ic = !Pc || !Pc.prototype || !Pc.prototype.findChild, Oc = Fl && Ul(function () { return 7 != Zl(Ec({}, "a", { get: function () { return Ec(this, "a", { value: 7 }).a } })).a }) ? function (t, e, r) { var n = Ac(wc, e); n && delete wc[e], Ec(t, e, r), n && t !== wc && Ec(wc, e, n) } : Ec, Bc = function (t, e) { var r = Tc[t] = Zl(kc.prototype); return bc(r, { type: vc, tag: t, description: e }), Fl || (r.description = e), r }, qc = jl ? function (t) { return "symbol" == typeof t } : function (t) { return Object(t) instanceof kc }, Dc = function (t, e, r) { t === wc && Dc(Cc, e, r), Gl(t); var n = Kl(e, !0); return Gl(r), _l(Tc, n) ? (r.enumerable ? (_l(t, gc) && t[gc][n] && (t[gc][n] = !1), r = Zl(r, { enumerable: $l(0, !1) })) : (_l(t, gc) || Ec(t, gc, $l(1, {})), t[gc][n] = !0), Oc(t, n, r)) : Ec(t, n, r) }, Fc = function (t, e) { Gl(t); var r = Xl(e), n = Jl(r).concat(_c(r)); return fc(n, function (e) { Fl && !Hc.call(r, e) || Dc(t, e, r[e]) }), t }, Hc = function (t) { var e = Kl(t, !0), r = Rc.call(this, e); return !(this === wc && _l(Tc, e) && !_l(Cc, e)) && (!(r || !_l(this, e) || !_l(Tc, e) || _l(this, gc) && this[gc][e]) || r) }, jc = function (t, e) { var r = Xl(t), n = Kl(e, !0); if (r !== wc || !_l(Tc, n) || _l(Cc, n)) { var i = Ac(r, n); return !i || !_l(Tc, n) || _l(r, gc) && r[gc][n] || (i.enumerable = !0), i } }, Uc = function (t) { var e = Mc(Xl(t)), r = []; return fc(e, function (t) { _l(Tc, t) || _l(lc, t) || r.push(t) }), r }, _c = function (t) { var e = t === wc, r = Mc(e ? Cc : Xl(t)), n = []; return fc(r, function (t) { !_l(Tc, t) || e && !_l(wc, t) || n.push(Tc[t]) }), n }; Hl || (oc((kc = function () { if (this instanceof kc) throw TypeError("Symbol is not a constructor"); var t = arguments.length && void 0 !== arguments[0] ? String(arguments[0]) : void 0, e = cc(t), r = function (t) { this === wc && r.call(Cc, t), _l(this, gc) && _l(this[gc], e) && (this[gc][e] = !1), Oc(this, e, $l(1, t)) }; return Fl && Ic && Oc(wc, e, { configurable: !0, set: r }), Bc(e, t) }).prototype, "toString", function () { return xc(this).tag }), oc(kc, "withoutSetter", function (t) { return Bc(cc(t), t) }), ic.f = Hc, nc.f = Dc, rc.f = jc, Ql.f = tc.f = Uc, ec.f = _c, hc.f = function (t) { return Bc(uc(t), t) }, Fl && (Ec(kc.prototype, "description", { configurable: !0, get: function () { return xc(this).description } }), oc(wc, "propertyIsEnumerable", Hc, { unsafe: !0 }))), Bl({ global: !0, wrap: !0, forced: !Hl, sham: !Hl }, { Symbol: kc }), fc(Jl(Nc), function (t) { dc(t) }), Bl({ target: vc, stat: !0, forced: !Hl }, { "for": function (t) { var e = String(t); if (_l(Lc, e)) return Lc[e]; var r = kc(e); return Lc[e] = r, zc[r] = e, r }, keyFor: function (t) { if (!qc(t)) throw TypeError(t + " is not a symbol"); if (_l(zc, t)) return zc[t] }, useSetter: function () { Ic = !0 }, useSimple: function () { Ic = !1 } }), Bl({ target: "Object", stat: !0, forced: !Hl, sham: !Fl }, { create: function (t, e) { return void 0 === e ? Zl(t) : Fc(Zl(t), e) }, defineProperty: Dc, defineProperties: Fc, getOwnPropertyDescriptor: jc }), Bl({ target: "Object", stat: !0, forced: !Hl }, { getOwnPropertyNames: Uc, getOwnPropertySymbols: _c }), Bl({ target: "Object", stat: !0, forced: Ul(function () { ec.f(1) }) }, { getOwnPropertySymbols: function (t) { return ec.f(Yl(t)) } }), Sc && Bl({ target: "JSON", stat: !0, forced: !Hl || Ul(function () { var t = kc(); return "[null]" != Sc([t]) || "{}" != Sc({ a: t }) || "{}" != Sc(Object(t)) }) }, { stringify: function (t, e) { for (var r, n = [t], i = 1; arguments.length > i;)n.push(arguments[i++]); if (r = e, (Wl(e) || void 0 !== t) && !qc(t)) return Vl(e) || (e = function (t, e) { if ("function" == typeof r && (e = r.call(this, t, e)), !qc(e)) return e }), n[1] = e, Sc.apply(null, n) } }), kc.prototype[yc] || ac(kc.prototype, yc, kc.prototype.valueOf), mc(kc, vc), lc[gc] = !0; var Vc = or, Wc = v, Gc = p, Yc = F, Xc = N, Kc = tt.f, $c = Ve, Zc = Gc.Symbol; if (Wc && "function" == typeof Zc && (!("description" in Zc.prototype) || void 0 !== Zc().description)) { var Jc = {}, Qc = function () { var t = arguments.length < 1 || void 0 === arguments[0] ? void 0 : String(arguments[0]), e = this instanceof Qc ? new Zc(t) : void 0 === t ? Zc() : Zc(t); return "" === t && (Jc[e] = !0), e }; $c(Qc, Zc); var tu = Qc.prototype = Zc.prototype; tu.constructor = Qc; var eu = tu.toString, ru = "Symbol(test)" == String(Zc("test")), nu = /^Symbol\((.*)\)[^)]+$/; Kc(tu, "description", { configurable: !0, get: function () { var t = Xc(this) ? this.valueOf() : this, e = eu.call(t); if (Yc(Jc, t)) return ""; var r = ru ? e.slice(7, -1) : e.replace(nu, "$1"); return "" === r ? void 0 : r } }), Vc({ global: !0, forced: !0 }, { Symbol: Qc }) } var iu = rt, au = {}, ou = g; au.UNSUPPORTED_Y = ou(function () { var t = u("a", "y"); return t.lastIndex = 2, null != t.exec("abcd") }), au.BROKEN_CARET = ou(function () { var t = u("^r", "gy"); return t.lastIndex = 2, null != t.exec("str") }); var su, lu, cu = function () { var t = iu(this), e = ""; return t.global && (e += "g"), t.ignoreCase && (e += "i"), t.multiline && (e += "m"), t.dotAll && (e += "s"), t.unicode && (e += "u"), t.sticky && (e += "y"), e }, uu = au, hu = At.exports, du = RegExp.prototype.exec, mu = hu("native-string-replace", String.prototype.replace), pu = du, fu = (su = /a/, lu = /b*/g, du.call(su, "a"), du.call(lu, "a"), 0 !== su.lastIndex || 0 !== lu.lastIndex), gu = uu.UNSUPPORTED_Y || uu.BROKEN_CARET, vu = void 0 !== /()??/.exec("")[1]; (fu || vu || gu) && (pu = function (t) { var e, r, n, i, a = this, o = gu && a.sticky, s = cu.call(a), l = a.source, c = 0, u = t; return o && (-1 === (s = s.replace("y", "")).indexOf("g") && (s += "g"), u = String(t).slice(a.lastIndex), a.lastIndex > 0 && (!a.multiline || a.multiline && "\n" !== t[a.lastIndex - 1]) && (l = "(?: " + l + ")", u = " " + u, c++), r = new RegExp("^(?:" + l + ")", s)), vu && (r = new RegExp("^" + l + "$(?!\\s)", s)), fu && (e = a.lastIndex), n = du.call(o ? r : a, u), o ? n ? (n.input = n.input.slice(c), n[0] = n[0].slice(c), n.index = a.lastIndex, a.lastIndex += n[0].length) : a.lastIndex = 0 : fu && n && (a.lastIndex = a.global ? n.index + n[0].length : e), vu && n && n.length > 1 && mu.call(n[0], r, function () { for (i = 1; i < arguments.length - 2; i++)void 0 === arguments[i] && (n[i] = void 0) }), n }); var yu = pu; or({ target: "RegExp", proto: !0, forced: /./.exec !== yu }, { exec: yu }); var bu = ht.exports, xu = yu, wu = g, ku = Gr, Su = ut, Au = ku("species"), Eu = RegExp.prototype, Mu = !wu(function () { var t = /./; return t.exec = function () { var t = []; return t.groups = { a: "7" }, t }, "7" !== "".replace(t, "$
") }), Ru = "$0" === "a".replace(/./, "$0"), Tu = ku("replace"), Cu = !!/./[Tu] && "" === /./[Tu]("a", "$0"), Lu = !wu(function () { var t = /(?:)/, e = t.exec; t.exec = function () { return e.apply(this, arguments) }; var r = "ab".split(t); return 2 !== r.length || "a" !== r[0] || "b" !== r[1] }), zu = function (t, e, r, n) { var i = ku(t), a = !wu(function () { var e = {}; return e[i] = function () { return 7 }, 7 != ""[t](e) }), o = a && !wu(function () { var e = !1, r = /a/; return "split" === t && ((r = {}).constructor = {}, r.constructor[Au] = function () { return r }, r.flags = "", r[i] = /./[i]), r.exec = function () { return e = !0, null }, r[i](""), !e }); if (!a || !o || "replace" === t && (!Mu || !Ru || Cu) || "split" === t && !Lu) { var s = /./[i], l = r(i, ""[t], function (t, e, r, n, i) { var o = e.exec; return o === xu || o === Eu.exec ? a && !i ? { done: !0, value: s.call(e, r, n) } : { done: !0, value: t.call(r, e, n) } : { done: !1 } }, { REPLACE_KEEPS_$0: Ru, REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: Cu }), c = l[0], u = l[1]; bu(String.prototype, t, c), bu(Eu, i, 2 == e ? function (t, e) { return u.call(t, this, e) } : function (t) { return u.call(t, this) }) } n && Su(Eu[i], "sham", !0) }, Nu = hs.charAt, Pu = function (t, e, r) { return e + (r ? Nu(t, e).length : 1) }, Iu = A, Ou = yu, Bu = function (t, e) { var r = t.exec; if ("function" == typeof r) { var n = r.call(t, e); if ("object" != typeof n) throw TypeError("RegExp exec method returned something other than an Object or null"); return n } if ("RegExp" !== Iu(t)) throw TypeError("RegExp#exec called on incompatible receiver"); return Ou.call(t, e) }, qu = rt, Du = ve, Fu = T, Hu = Pu, ju = Bu; zu("match", 1, function (t, e, r) { return [function (e) { var r = Fu(this), n = null == e ? void 0 : e[t]; return void 0 !== n ? n.call(e, r) : new RegExp(e)[t](String(r)) }, function (t) { var n = r(e, t, this); if (n.done) return n.value; var i = qu(t), a = String(this); if (!i.global) return ju(i, a); var o = i.unicode; i.lastIndex = 0; for (var s, l = [], c = 0; null !== (s = ju(i, a));) { var u = String(s[0]); l[c] = u, "" === u && (i.lastIndex = Hu(a, Du(i.lastIndex), o)), c++ } return 0 === c ? null : l }] }); var Uu = or, _u = we, Vu = pe, Wu = ve, Gu = B, Yu = $r, Xu = pn, Ku = cn("splice"), $u = Math.max, Zu = Math.min, Ju = 9007199254740991, Qu = "Maximum allowed length exceeded"; Uu({ target: "Array", proto: !0, forced: !Ku }, { splice: function (t, e) { var r, n, i, a, o, s, l = Gu(this), c = Wu(l.length), u = _u(t, c), h = arguments.length; if (0 === h ? r = n = 0 : 1 === h ? (r = 0, n = c - u) : (r = h - 2, n = Zu($u(Vu(e), 0), c - u)), c + r - n > Ju) throw TypeError(Qu); for (i = Yu(l, n), a = 0; a < n; a++)(o = u + a) in l && Xu(i, a, l[o]); if (i.length = n, r < n) { for (a = u; a < c - n; a++)s = a + r, (o = a + n) in l ? l[s] = l[o] : delete l[s]; for (a = c; a > c - n + r; a--)delete l[a - 1] } else if (r > n) for (a = c - n; a > u; a--)s = a + r - 1, (o = a + n - 1) in l ? l[s] = l[o] : delete l[s]; for (a = 0; a < r; a++)l[a + u] = arguments[a + 2]; return l.length = c - n + r, i } }); var th = N, eh = A, rh = Gr("match"), nh = zu, ih = function (t) { var e; return th(t) && (void 0 !== (e = t[rh]) ? !!e : "RegExp" == eh(t)) }, ah = rt, oh = T, sh = Ni, lh = Pu, ch = ve, uh = Bu, hh = yu, dh = au.UNSUPPORTED_Y, mh = [].push, ph = Math.min, fh = 4294967295; nh("split", 2, function (t, e, r) { var n; return n = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? function (t, r) { var n = String(oh(this)), i = void 0 === r ? fh : r >>> 0; if (0 === i) return []; if (void 0 === t) return [n]; if (!ih(t)) return e.call(n, t, i); for (var a, o, s, l = [], c = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), u = 0, h = new RegExp(t.source, c + "g"); (a = hh.call(h, n)) && !((o = h.lastIndex) > u && (l.push(n.slice(u, a.index)), a.length > 1 && a.index < n.length && mh.apply(l, a.slice(1)), s = a[0].length, u = o, l.length >= i));)h.lastIndex === a.index && h.lastIndex++; return u === n.length ? !s && h.test("") || l.push("") : l.push(n.slice(u)), l.length > i ? l.slice(0, i) : l } : "0".split(void 0, 0).length ? function (t, r) { return void 0 === t && 0 === r ? [] : e.call(this, t, r) } : e, [function (e, r) { var i = oh(this), a = null == e ? void 0 : e[t]; return void 0 !== a ? a.call(e, i, r) : n.call(String(i), e, r) }, function (t, i) { var a = r(n, t, this, i, n !== e); if (a.done) return a.value; var o = ah(t), s = String(this), l = sh(o, RegExp), c = o.unicode, u = (o.ignoreCase ? "i" : "") + (o.multiline ? "m" : "") + (o.unicode ? "u" : "") + (dh ? "g" : "y"), h = new l(dh ? "^(?:" + o.source + ")" : o, u), d = void 0 === i ? fh : i >>> 0; if (0 === d) return []; if (0 === s.length) return null === uh(h, s) ? [s] : []; for (var m = 0, p = 0, f = []; p < s.length;) { h.lastIndex = dh ? 0 : p; var g, v = uh(h, dh ? s.slice(p) : s); if (null === v || (g = ph(ch(h.lastIndex + (dh ? p : 0)), s.length)) === m) p = lh(s, p, c); else { if (f.push(s.slice(m, p)), f.length === d) return f; for (var y = 1; y <= v.length - 1; y++)if (f.push(v[y]), f.length === d) return f; p = m = g } } return f.push(s.slice(m)), f }] }, dh); var gh = N, vh = Xn, yh = v, bh = p, xh = Je, wh = ht.exports, kh = F, Sh = A, Ah = function (t, e, r) { var n, i; return vh && "function" == typeof (n = e.constructor) && n !== r && gh(i = n.prototype) && i !== r.prototype && vh(t, i), t }, Eh = I, Mh = g, Rh = js, Th = he.f, Ch = f.f, Lh = tt.f, zh = wl.trim, Nh = "Number", Ph = bh.Number, Ih = Ph.prototype, Oh = Sh(Rh(Ih)) == Nh, Bh = function (t) { var e, r, n, i, a, o, s, l, c = Eh(t, !1); if ("string" == typeof c && c.length > 2) if (43 === (e = (c = zh(c)).charCodeAt(0)) || 45 === e) { if (88 === (r = c.charCodeAt(2)) || 120 === r) return NaN } else if (48 === e) { switch (c.charCodeAt(1)) { case 66: case 98: n = 2, i = 49; break; case 79: case 111: n = 8, i = 55; break; default: return +c }for (o = (a = c.slice(2)).length, s = 0; s < o; s++)if ((l = a.charCodeAt(s)) < 48 || l > i) return NaN; return parseInt(a, n) } return +c }; if (xh(Nh, !Ph(" 0o1") || !Ph("0b1") || Ph("+0x1"))) { for (var qh, Dh = function (t) { var e = arguments.length < 1 ? 0 : t, r = this; return r instanceof Dh && (Oh ? Mh(function () { Ih.valueOf.call(r) }) : Sh(r) != Nh) ? Ah(new Ph(Bh(e)), r, Dh) : Bh(e) }, Fh = yh ? Th(Ph) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","), Hh = 0; Fh.length > Hh; Hh++)kh(Ph, qh = Fh[Hh]) && !kh(Dh, qh) && Lh(Dh, qh, Ch(Ph, qh)); Dh.prototype = Ih, Ih.constructor = Dh, wh(bh, Nh, Dh) } var jh = v, Uh = tt.f, _h = Function.prototype, Vh = _h.toString, Wh = /^\s*function ([^ (]*)/, Gh = "name"; jh && !(Gh in _h) && Uh(_h, Gh, { configurable: !0, get: function () { try { return Vh.call(this).match(Wh)[1] } catch (d) { return "" } } }); var Yh = or, Xh = z, Kh = [].join, $h = R != Object, Zh = Ho("join", ","); Yh({ target: "Array", proto: !0, forced: $h || !Zh }, { join: function (t) { return Kh.call(Xh(this), void 0 === t ? "," : t) } }); var Jh = B, Qh = Math.floor, td = "".replace, ed = /\$([$&'`]|\d{1,2}|<[^>]*>)/g, rd = /\$([$&'`]|\d{1,2})/g, nd = zu, id = rt, ad = ve, od = pe, sd = T, ld = Pu, cd = function (t, e, r, n, i, a) { var o = r + t.length, s = n.length, l = rd; return void 0 !== i && (i = Jh(i), l = ed), td.call(a, l, function (a, l) { var c; switch (l.charAt(0)) { case "$": return "$"; case "&": return t; case "`": return e.slice(0, r); case "'": return e.slice(o); case "<": c = i[l.slice(1, -1)]; break; default: var u = +l; if (0 === u) return a; if (u > s) { var h = Qh(u / 10); return 0 === h ? a : h <= s ? void 0 === n[h - 1] ? l.charAt(1) : n[h - 1] + l.charAt(1) : a } c = n[u - 1] }return void 0 === c ? "" : c }) }, ud = Bu, hd = Math.max, dd = Math.min; nd("replace", 2, function (t, e, r, n) { var i = n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE, a = n.REPLACE_KEEPS_$0, o = i ? "$" : "$0"; return [function (r, n) { var i = sd(this), a = null == r ? void 0 : r[t]; return void 0 !== a ? a.call(r, i, n) : e.call(String(i), r, n) }, function (t, n) { if (!i && a || "string" == typeof n && -1 === n.indexOf(o)) { var s = r(e, t, this, n); if (s.done) return s.value } var l = id(t), c = String(this), u = "function" == typeof n; u || (n = String(n)); var h = l.global; if (h) { var d = l.unicode; l.lastIndex = 0 } for (var m = []; ;) { var p = ud(l, c); if (null === p) break; if (m.push(p), !h) break; "" === String(p[0]) && (l.lastIndex = ld(c, ad(l.lastIndex), d)) } for (var f, g = "", v = 0, y = 0; y < m.length; y++) { p = m[y]; for (var b = String(p[0]), x = hd(dd(od(p.index), c.length), 0), w = [], k = 1; k < p.length; k++)w.push(void 0 === (f = p[k]) ? f : String(f)); var S = p.groups; if (u) { var A = [b].concat(w, x, c); void 0 !== S && A.push(S); var E = String(n.apply(void 0, A)) } else E = cd(b, c, x, w, S, n); x >= v && (g += c.slice(v, x) + E, v = x + b.length) } return g + c.slice(v) }] }); var md = Object.is || function (t, e) { return t === e ? 0 !== t || 1 / t == 1 / e : t != t && e != e }, pd = rt, fd = T, gd = md, vd = Bu; zu("search", 1, function (t, e, r) { return [function (e) { var r = fd(this), n = null == e ? void 0 : e[t]; return void 0 !== n ? n.call(e, r) : new RegExp(e)[t](String(r)) }, function (t) { var n = r(e, t, this); if (n.done) return n.value; var i = pd(t), a = String(this), o = i.lastIndex; gd(o, 0) || (i.lastIndex = 0); var s = vd(i, a); return gd(i.lastIndex, o) || (i.lastIndex = o), null === s ? -1 : s.index }] }); var yd = function (t, e) { for (var r in e) t[r] = e[r]; return t }, bd = function (t, e) { return Array.from(t.querySelectorAll(e)) }, xd = function (t, e, r) { r ? t.classList.add(e) : t.classList.remove(e) }, wd = function (t) { if ("string" == typeof t) { if ("null" === t) return null; if ("true" === t) return !0; if ("false" === t) return !1; if (t.match(/^-?[\d\.]+$/)) return parseFloat(t) } return t }, kd = function (t, e) { t.style.transform = e }, Sd = function (t, e) { var r = t.matches || t.matchesSelector || t.msMatchesSelector; return !(!r || !r.call(t, e)) }, Ad = function (t, e) { if ("function" == typeof t.closest) return t.closest(e); for (; t;) { if (Sd(t, e)) return t; t = t.parentNode } return null }, Ed = function (t, e, r) { for (var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "", i = t.querySelectorAll("." + r), a = 0; a < i.length; a++) { var o = i[a]; if (o.parentNode === t) return o } var s = document.createElement(e); return s.className = r, s.innerHTML = n, t.appendChild(s), s }, Md = function (t) { var e = document.createElement("style"); return e.type = "text/css", t && t.length > 0 && (e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t))), document.head.appendChild(e), e }, Rd = function () {
var t = {}
; for (var e in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, function (e) { t[e.split("=").shift()] = e.split("=").pop() }), t) { var r = t[e]; t[e] = wd(unescape(r)) } return void 0 !== t.dependencies && delete t.dependencies, t
}, Td = function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; if (t) { var r, n = t.style.height; return t.style.height = "0px", t.parentNode.style.height = "auto", r = e - t.parentNode.offsetHeight, t.style.height = n + "px", t.parentNode.style.removeProperty("height"), r } return e }, Cd = { mp4: "video/mp4", m4a: "video/mp4", ogv: "video/ogg", mpeg: "video/mpeg", webm: "video/webm" }, Ld = function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; return Cd[t.split(".").pop()] }, zd = navigator.userAgent, Nd = /(iphone|ipod|ipad|android)/gi.test(zd) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 1; /chrome/i.test(zd) && /edge/i.test(zd); var Pd = /android/gi.test(zd), Id = {}; Object.defineProperty(Id, "__esModule", { value: !0 }); var Od = Object.assign || function (t) { for (var e = 1; e < arguments.length; e++) { var r = arguments[e]; for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (t[n] = r[n]) } return t }, Bd = Id["default"] = function (t) { function e(t, e) { var r = Od({}, E, e), n = t.map(function (t) { var e = Od({}, r, { element: t, active: !0 }); return function (t) { t.originalStyle = { whiteSpace: t.element.style.whiteSpace, display: t.element.style.display, fontSize: t.element.style.fontSize }, A(t), t.newbie = !0, t.dirty = !0, l.push(t) }(e), { element: t, fit: x(e, s), unfreeze: k(e), freeze: S(e), unsubscribe: w(e) } }); return u(), n } function r(t) { var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; return "string" == typeof t ? e(n(document.querySelectorAll(t)), r) : e([t], r)[0] } if (t) { var n = function (t) { return [].slice.call(t) }, i = 0, a = 1, o = 2, s = 3, l = [], c = null, u = "requestAnimationFrame" in t ? function () { t.cancelAnimationFrame(c), c = t.requestAnimationFrame(function () { return d(l.filter(function (t) { return t.dirty && t.active })) }) } : function () { }, h = function (t) { return function () { l.forEach(function (e) { return e.dirty = t }), u() } }, d = function (t) { t.filter(function (t) { return !t.styleComputed }).forEach(function (t) { t.styleComputed = g(t) }), t.filter(v).forEach(y); var e = t.filter(f); e.forEach(p), e.forEach(function (t) { y(t), m(t) }), e.forEach(b) }, m = function (t) { return t.dirty = i }, p = function (t) { t.availableWidth = t.element.parentNode.clientWidth, t.currentWidth = t.element.scrollWidth, t.previousFontSize = t.currentFontSize, t.currentFontSize = Math.min(Math.max(t.minSize, t.availableWidth / t.currentWidth * t.previousFontSize), t.maxSize), t.whiteSpace = t.multiLine && t.currentFontSize === t.minSize ? "normal" : "nowrap" }, f = function (t) { return t.dirty !== o || t.dirty === o && t.element.parentNode.clientWidth !== t.availableWidth }, g = function (e) { var r = t.getComputedStyle(e.element, null); e.currentFontSize = parseFloat(r.getPropertyValue("font-size")), e.display = r.getPropertyValue("display"), e.whiteSpace = r.getPropertyValue("white-space") }, v = function (t) { var e = !1; return !t.preStyleTestCompleted && (/inline-/.test(t.display) || (e = !0, t.display = "inline-block"), "nowrap" !== t.whiteSpace && (e = !0, t.whiteSpace = "nowrap"), t.preStyleTestCompleted = !0, e) }, y = function (t) { t.element.style.whiteSpace = t.whiteSpace, t.element.style.display = t.display, t.element.style.fontSize = t.currentFontSize + "px" }, b = function (t) { t.element.dispatchEvent(new CustomEvent("fit", { detail: { oldValue: t.previousFontSize, newValue: t.currentFontSize, scaleFactor: t.currentFontSize / t.previousFontSize } })) }, x = function (t, e) { return function () { t.dirty = e, t.active && u() } }, w = function (t) { return function () { l = l.filter(function (e) { return e.element !== t.element }), t.observeMutations && t.observer.disconnect(), t.element.style.whiteSpace = t.originalStyle.whiteSpace, t.element.style.display = t.originalStyle.display, t.element.style.fontSize = t.originalStyle.fontSize } }, k = function (t) { return function () { t.active || (t.active = !0, u()) } }, S = function (t) { return function () { return t.active = !1 } }, A = function (t) { t.observeMutations && (t.observer = new MutationObserver(x(t, a)), t.observer.observe(t.element, t.observeMutations)) }, E = { minSize: 16, maxSize: 512, multiLine: !0, observeMutations: "MutationObserver" in t && { subtree: !0, childList: !0, characterData: !0 } }, M = null, R = function () { t.clearTimeout(M), M = t.setTimeout(h(o), r.observeWindowDelay) }, T = ["resize", "orientationchange"]; return Object.defineProperty(r, "observeWindow", { set: function (e) { var r = (e ? "add" : "remove") + "EventListener"; T.forEach(function (e) { t[r](e, R) }) } }), r.observeWindow = !0, r.observeWindowDelay = 100, r.fitAll = h(s), r } }("undefined" == typeof window ? null : window), qd = function () { function t(e) { i(this, t), this.Reveal = e, this.startEmbeddedIframe = this.startEmbeddedIframe.bind(this) } return o(t, [{ key: "shouldPreload", value: function (t) { var e = this.Reveal.getConfig().preloadIframes; return "boolean" != typeof e && (e = t.hasAttribute("data-preload")), e } }, { key: "load", value: function (t) { var e = this, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; t.style.display = this.Reveal.getConfig().display, bd(t, "img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach(function (t) { ("IFRAME" !== t.tagName || e.shouldPreload(t)) && (t.setAttribute("src", t.getAttribute("data-src")), t.setAttribute("data-lazy-loaded", ""), t.removeAttribute("data-src")) }), bd(t, "video, audio").forEach(function (t) { var e = 0; bd(t, "source[data-src]").forEach(function (t) { t.setAttribute("src", t.getAttribute("data-src")), t.removeAttribute("data-src"), t.setAttribute("data-lazy-loaded", ""), e += 1 }), Nd && "VIDEO" === t.tagName && t.setAttribute("playsinline", ""), e > 0 && t.load() }); var n = t.slideBackgroundElement; if (n) { n.style.display = "block"; var i = t.slideBackgroundContentElement, a = t.getAttribute("data-background-iframe"); if (!1 === n.hasAttribute("data-loaded")) { n.setAttribute("data-loaded", "true"); var o = t.getAttribute("data-background-image"), s = t.getAttribute("data-background-video"), l = t.hasAttribute("data-background-video-loop"), c = t.hasAttribute("data-background-video-muted"); if (o) /^data:/.test(o.trim()) ? i.style.backgroundImage = "url(".concat(o.trim(), ")") : i.style.backgroundImage = o.split(",").map(function (t) { return "url(".concat(encodeURI(t.trim()), ")") }).join(","); else if (s && !this.Reveal.isSpeakerNotes()) { var u = document.createElement("video"); l && u.setAttribute("loop", ""), c && (u.muted = !0), Nd && (u.muted = !0, u.setAttribute("playsinline", "")), s.split(",").forEach(function (t) { var e = Ld(t); u.innerHTML += e ? '') : '') }), i.appendChild(u) } else if (a && !0 !== r.excludeIframes) { var h = document.createElement("iframe"); h.setAttribute("allowfullscreen", ""), h.setAttribute("mozallowfullscreen", ""), h.setAttribute("webkitallowfullscreen", ""), h.setAttribute("allow", "autoplay"), h.setAttribute("data-src", a), h.style.width = "100%", h.style.height = "100%", h.style.maxHeight = "100%", h.style.maxWidth = "100%", i.appendChild(h) } } var d = i.querySelector("iframe[data-src]"); d && this.shouldPreload(n) && !/autoplay=(1|true|yes)/gi.test(a) && d.getAttribute("src") !== a && d.setAttribute("src", a) } this.layout(t) } }, { key: "layout", value: function (t) { var e = this; Array.from(t.querySelectorAll(".r-fit-text")).forEach(function (t) { Bd(t, { minSize: 24, maxSize: .8 * e.Reveal.getConfig().height, observeMutations: !1, observeWindow: !1 }) }) } }, { key: "unload", value: function (t) { t.style.display = "none"; var e = this.Reveal.getSlideBackground(t); e && (e.style.display = "none", bd(e, "iframe[src]").forEach(function (t) { t.removeAttribute("src") })), bd(t, "video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach(function (t) { t.setAttribute("data-src", t.getAttribute("src")), t.removeAttribute("src") }), bd(t, "video[data-lazy-loaded] source[src], audio source[src]").forEach(function (t) { t.setAttribute("data-src", t.getAttribute("src")), t.removeAttribute("src") }) } }, { key: "formatEmbeddedContent", value: function () { var t = this, e = function (e, r, n) { bd(t.Reveal.getSlidesElement(), "iframe[" + e + '*="' + r + '"]').forEach(function (t) { var r = t.getAttribute(e); r && -1 === r.indexOf(n) && t.setAttribute(e, r + (/\?/.test(r) ? "&" : "?") + n) }) }; 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") } }, { key: "startEmbeddedContent", value: function (t) { var e = this; t && !this.Reveal.isSpeakerNotes() && (bd(t, 'img[src$=".gif"]').forEach(function (t) { t.setAttribute("src", t.getAttribute("src")) }), bd(t, "video, audio").forEach(function (t) { if (!Ad(t, ".fragment") || Ad(t, ".fragment.visible")) { var r = e.Reveal.getConfig().autoPlayMedia; if ("boolean" != typeof r && (r = t.hasAttribute("data-autoplay") || !!Ad(t, ".slide-background")), r && "function" == typeof t.play) if (t.readyState > 1) e.startEmbeddedMedia({ target: t }); else if (Nd) { var n = t.play(); n && "function" == typeof n["catch"] && !1 === t.controls && n["catch"](function () { t.controls = !0, t.addEventListener("play", function () { t.controls = !1 }) }) } else t.removeEventListener("loadeddata", e.startEmbeddedMedia), t.addEventListener("loadeddata", e.startEmbeddedMedia) } }), bd(t, "iframe[src]").forEach(function (t) { Ad(t, ".fragment") && !Ad(t, ".fragment.visible") || e.startEmbeddedIframe({ target: t }) }), bd(t, "iframe[data-src]").forEach(function (t) { Ad(t, ".fragment") && !Ad(t, ".fragment.visible") || t.getAttribute("src") !== t.getAttribute("data-src") && (t.removeEventListener("load", e.startEmbeddedIframe), t.addEventListener("load", e.startEmbeddedIframe), t.setAttribute("src", t.getAttribute("data-src"))) })) } }, { key: "startEmbeddedMedia", value: function (t) { var e = !!Ad(t.target, "html"), r = !!Ad(t.target, ".present"); e && r && (t.target.currentTime = 0, t.target.play()), t.target.removeEventListener("loadeddata", this.startEmbeddedMedia) } }, { key: "startEmbeddedIframe", value: function (t) { var e = t.target; if (e && e.contentWindow) { var r = !!Ad(t.target, "html"), n = !!Ad(t.target, ".present"); if (r && n) { var i = this.Reveal.getConfig().autoPlayMedia; "boolean" != typeof i && (i = e.hasAttribute("data-autoplay") || !!Ad(e, ".slide-background")), /youtube\.com\/embed\//.test(e.getAttribute("src")) && i ? e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', "*") : /player\.vimeo\.com\//.test(e.getAttribute("src")) && i ? e.contentWindow.postMessage('{"method":"play"}', "*") : e.contentWindow.postMessage("slide:start", "*") } } } }, { key: "stopEmbeddedContent", value: function (t) { var e = this, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; r = yd({ unloadIframes: !0 }, r), t && t.parentNode && (bd(t, "video, audio").forEach(function (t) { t.hasAttribute("data-ignore") || "function" != typeof t.pause || (t.setAttribute("data-paused-by-reveal", ""), t.pause()) }), bd(t, "iframe").forEach(function (t) { t.contentWindow && t.contentWindow.postMessage("slide:stop", "*"), t.removeEventListener("load", e.startEmbeddedIframe) }), bd(t, 'iframe[src*="youtube.com/embed/"]').forEach(function (t) { !t.hasAttribute("data-ignore") && t.contentWindow && "function" == typeof t.contentWindow.postMessage && t.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', "*") }), bd(t, 'iframe[src*="player.vimeo.com/"]').forEach(function (t) { !t.hasAttribute("data-ignore") && t.contentWindow && "function" == typeof t.contentWindow.postMessage && t.contentWindow.postMessage('{"method":"pause"}', "*") }), !0 === r.unloadIframes && bd(t, "iframe[data-src]").forEach(function (t) { t.setAttribute("src", "about:blank"), t.removeAttribute("src") })) } }]), t }(), Dd = function () { function t(e) { i(this, t), this.Reveal = e } return o(t, [{ key: "render", value: function () { this.element = document.createElement("div"), this.element.className = "slide-number", this.Reveal.getRevealElement().appendChild(this.element) } }, { key: "configure", value: function (t) { var e = "none"; t.slideNumber && !this.Reveal.isPrintingPDF() && ("all" === t.showSlideNumber || "speaker" === t.showSlideNumber && this.Reveal.isSpeakerNotes()) && (e = "block"), this.element.style.display = e } }, { key: "update", value: function () { this.Reveal.getConfig().slideNumber && this.element && (this.element.innerHTML = this.getSlideNumber()) } }, { key: "getSlideNumber", value: function () { var t, e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.Reveal.getCurrentSlide(), r = this.Reveal.getConfig(), n = "h.v"; if ("function" == typeof r.slideNumber) t = r.slideNumber(e); else { "string" == typeof r.slideNumber && (n = r.slideNumber), /c/.test(n) || 1 !== this.Reveal.getHorizontalSlides().length || (n = "c"); var i = e && "uncounted" === e.dataset.visibility ? 0 : 1; switch (t = [], n) { case "c": t.push(this.Reveal.getSlidePastCount(e) + i); break; case "c/t": t.push(this.Reveal.getSlidePastCount(e) + i, "/", this.Reveal.getTotalSlides()); break; default: var a = this.Reveal.getIndices(e); t.push(a.h + i); var o = "h/v" === n ? "/" : "."; this.Reveal.isVerticalSlide(e) && t.push(o, a.v + 1) } } var s = "#" + this.Reveal.location.getHash(e); return this.formatNumber(t[0], t[1], t[2], s) } }, { key: "formatNumber", value: function (t, e, r) { var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "#" + this.Reveal.location.getHash(); return "number" != typeof r || isNaN(r) ? '\n\t\t\t\t\t').concat(t, "\n\t\t\t\t\t") : '\n\t\t\t\t\t').concat(t, '\n\t\t\t\t\t').concat(e, '\n\t\t\t\t\t').concat(r, "\n\t\t\t\t\t") } }, { key: "destroy", value: function () { this.element.remove() } }]), t }(), Fd = or, Hd = N, jd = Mr, Ud = we, _d = ve, Vd = z, Wd = pn, Gd = Gr, Yd = cn("slice"), Xd = Gd("species"), Kd = [].slice, $d = Math.max; Fd({ target: "Array", proto: !0, forced: !Yd }, { slice: function (t, e) { var r, n, i, a = Vd(this), o = _d(a.length), s = Ud(t, o), l = Ud(void 0 === e ? o : e, o); if (jd(a) && ("function" != typeof (r = a.constructor) || r !== Array && !jd(r.prototype) ? Hd(r) && null === (r = r[Xd]) && (r = void 0) : r = void 0, r === Array || void 0 === r)) return Kd.call(a, s, l); for (n = new (void 0 === r ? Array : r)($d(l - s, 0)), i = 0; s < l; s++, i++)s in a && Wd(n, i, a[s]); return n.length = i, n } }); var Zd = function (t) { var e = t.match(/^#([0-9a-f]{3})$/i); if (e && e[1]) return e = e[1], { r: 17 * parseInt(e.charAt(0), 16), g: 17 * parseInt(e.charAt(1), 16), b: 17 * parseInt(e.charAt(2), 16) }; var r = t.match(/^#([0-9a-f]{6})$/i); if (r && r[1]) return r = r[1], { r: parseInt(r.slice(0, 2), 16), g: parseInt(r.slice(2, 4), 16), b: parseInt(r.slice(4, 6), 16) }; var n = t.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) }; var i = t.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i); return i ? { r: parseInt(i[1], 10), g: parseInt(i[2], 10), b: parseInt(i[3], 10), a: parseFloat(i[4]) } : null }, Jd = function () { function t(e) { i(this, t), this.Reveal = e } return o(t, [{ key: "render", value: function () { this.element = document.createElement("div"), this.element.className = "backgrounds", this.Reveal.getRevealElement().appendChild(this.element) } }, { key: "create", value: function () { var t = this; this.element.innerHTML = "", this.element.classList.add("no-transition"), this.Reveal.getHorizontalSlides().forEach(function (e) { var r = t.createBackground(e, t.element); bd(e, "section").forEach(function (e) { t.createBackground(e, r), r.classList.add("stack") }) }), this.Reveal.getConfig().parallaxBackgroundImage ? (this.element.style.backgroundImage = 'url("' + this.Reveal.getConfig().parallaxBackgroundImage + '")', this.element.style.backgroundSize = this.Reveal.getConfig().parallaxBackgroundSize, this.element.style.backgroundRepeat = this.Reveal.getConfig().parallaxBackgroundRepeat, this.element.style.backgroundPosition = this.Reveal.getConfig().parallaxBackgroundPosition, setTimeout(function () { t.Reveal.getRevealElement().classList.add("has-parallax-background") }, 1)) : (this.element.style.backgroundImage = "", this.Reveal.getRevealElement().classList.remove("has-parallax-background")) } }, { key: "createBackground", value: function (t, e) { var r = document.createElement("div"); r.className = "slide-background " + t.className.replace(/present|past|future/, ""); var n = document.createElement("div"); return n.className = "slide-background-content", r.appendChild(n), e.appendChild(r), t.slideBackgroundElement = r, t.slideBackgroundContentElement = n, this.sync(t), r } }, { key: "sync", value: function (t) { var e = t.slideBackgroundElement, r = t.slideBackgroundContentElement, n = { background: t.getAttribute("data-background"), backgroundSize: t.getAttribute("data-background-size"), backgroundImage: t.getAttribute("data-background-image"), backgroundVideo: t.getAttribute("data-background-video"), backgroundIframe: t.getAttribute("data-background-iframe"), backgroundColor: t.getAttribute("data-background-color"), backgroundRepeat: t.getAttribute("data-background-repeat"), backgroundPosition: t.getAttribute("data-background-position"), backgroundTransition: t.getAttribute("data-background-transition"), backgroundOpacity: t.getAttribute("data-background-opacity") }, i = t.hasAttribute("data-preload"); t.classList.remove("has-dark-background"), t.classList.remove("has-light-background"), e.removeAttribute("data-loaded"), e.removeAttribute("data-background-hash"), e.removeAttribute("data-background-size"), e.removeAttribute("data-background-transition"), e.style.backgroundColor = "", r.style.backgroundSize = "", r.style.backgroundRepeat = "", r.style.backgroundPosition = "", r.style.backgroundImage = "", r.style.opacity = "", r.innerHTML = "", n.background && (/^(http|file|\/\/)/gi.test(n.background) || /\.(svg|png|jpg|jpeg|gif|bmp|webp)([?#\s]|$)/gi.test(n.background) ? t.setAttribute("data-background-image", n.background) : e.style.background = n.background), (n.background || n.backgroundColor || n.backgroundImage || n.backgroundVideo || n.backgroundIframe) && e.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 && e.setAttribute("data-background-size", n.backgroundSize), n.backgroundColor && (e.style.backgroundColor = n.backgroundColor), n.backgroundTransition && e.setAttribute("data-background-transition", n.backgroundTransition), i && e.setAttribute("data-preload", ""), n.backgroundSize && (r.style.backgroundSize = n.backgroundSize), n.backgroundRepeat && (r.style.backgroundRepeat = n.backgroundRepeat), n.backgroundPosition && (r.style.backgroundPosition = n.backgroundPosition), n.backgroundOpacity && (r.style.opacity = n.backgroundOpacity); var a, o = n.backgroundColor; if (!o || !Zd(o)) { var s = window.getComputedStyle(e); s && s.backgroundColor && (o = s.backgroundColor) } if (o) { var l = Zd(o); l && 0 !== l.a && ("string" == typeof (a = o) && (a = Zd(a)), (a ? (299 * a.r + 587 * a.g + 114 * a.b) / 1e3 : null) < 128 ? t.classList.add("has-dark-background") : t.classList.add("has-light-background")) } } }, { key: "update", value: function () { var t = this, e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], r = this.Reveal.getCurrentSlide(), n = this.Reveal.getIndices(), i = null, a = this.Reveal.getConfig().rtl ? "future" : "past", o = this.Reveal.getConfig().rtl ? "past" : "future"; if (Array.from(this.element.childNodes).forEach(function (t, r) { t.classList.remove("past", "present", "future"), r < n.h ? t.classList.add(a) : r > n.h ? t.classList.add(o) : (t.classList.add("present"), i = t), (e || r === n.h) && bd(t, ".slide-background").forEach(function (t, e) { t.classList.remove("past", "present", "future"), e < n.v ? t.classList.add("past") : e > n.v ? t.classList.add("future") : (t.classList.add("present"), r === n.h && (i = t)) }) }), this.previousBackground && this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground, { unloadIframes: !this.Reveal.slideContent.shouldPreload(this.previousBackground) }), i) { this.Reveal.slideContent.startEmbeddedContent(i); var s = i.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 c = this.previousBackground ? this.previousBackground.getAttribute("data-background-hash") : null, u = i.getAttribute("data-background-hash"); u && u === c && i !== this.previousBackground && this.element.classList.add("no-transition"), this.previousBackground = i } r && ["has-light-background", "has-dark-background"].forEach(function (e) { r.classList.contains(e) ? t.Reveal.getRevealElement().classList.add(e) : t.Reveal.getRevealElement().classList.remove(e) }, this), setTimeout(function () { t.element.classList.remove("no-transition") }, 1) } }, { key: "updateParallax", value: function () { var t = this.Reveal.getIndices(); if (this.Reveal.getConfig().parallaxBackgroundImage) { var e, r, n = this.Reveal.getHorizontalSlides(), i = this.Reveal.getVerticalSlides(), a = this.element.style.backgroundSize.split(" "); 1 === a.length ? e = r = parseInt(a[0], 10) : (e = parseInt(a[0], 10), r = parseInt(a[1], 10)); var o, s = this.element.offsetWidth, l = n.length; o = ("number" == typeof this.Reveal.getConfig().parallaxBackgroundHorizontal ? this.Reveal.getConfig().parallaxBackgroundHorizontal : l > 1 ? (e - s) / (l - 1) : 0) * t.h * -1; var c, u, h = this.element.offsetHeight, d = i.length; c = "number" == typeof this.Reveal.getConfig().parallaxBackgroundVertical ? this.Reveal.getConfig().parallaxBackgroundVertical : (r - h) / (d - 1), u = d > 0 ? c * t.v : 0, this.element.style.backgroundPosition = o + "px " + -u + "px" } } }, { key: "destroy", value: function () { this.element.remove() } }]), t }(), Qd = B, tm = cr; or({ target: "Object", stat: !0, forced: g(function () { tm(1) }) }, { keys: function (t) { return tm(Qd(t)) } }); var em = an.filter; or({ target: "Array", proto: !0, forced: !cn("filter") }, { filter: function (t) { return em(this, t, arguments.length > 1 ? arguments[1] : void 0) } }); var rm = ".slides section", nm = ".slides>section", im = ".slides>section.present>section", am = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/, om = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/, sm = 0, lm = function () { function t(e) { i(this, t), this.Reveal = e } return o(t, [{ key: "run", value: function (t, e) { var r = this; this.reset(); var n = this.Reveal.getSlides(), i = n.indexOf(e), a = n.indexOf(t); if (t.hasAttribute("data-auto-animate") && e.hasAttribute("data-auto-animate") && t.getAttribute("data-auto-animate-id") === e.getAttribute("data-auto-animate-id") && !(i > a ? e : t).hasAttribute("data-auto-animate-restart")) { this.autoAnimateStyleSheet = this.autoAnimateStyleSheet || Md(); var o = this.getAutoAnimateOptions(e); t.dataset.autoAnimate = "pending", e.dataset.autoAnimate = "pending", o.slideDirection = i > a ? "forward" : "backward"; var s = "none" === t.style.display; s && (t.style.display = this.Reveal.getConfig().display); var l = this.getAutoAnimatableElements(t, e).map(function (t) { return r.autoAnimateElements(t.from, t.to, t.options || {}, o, sm++) }); if (s && (t.style.display = "none"), "false" !== e.dataset.autoAnimateUnmatched && !0 === this.Reveal.getConfig().autoAnimateUnmatched) { var c = .8 * o.duration, u = .2 * o.duration; this.getUnmatchedAutoAnimateElements(e).forEach(function (t) { var e = r.getAutoAnimateOptions(t, o), n = "unmatched"; e.duration === o.duration && e.delay === o.delay || (n = "unmatched-" + sm++, l.push('[data-auto-animate="running"] [data-auto-animate-target="'.concat(n, '"] { transition: opacity ').concat(e.duration, "s ease ").concat(e.delay, "s; }"))), t.dataset.autoAnimateTarget = n }, this), l.push('[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity '.concat(c, "s ease ").concat(u, "s; }")) } this.autoAnimateStyleSheet.innerHTML = l.join(""), requestAnimationFrame(function () { r.autoAnimateStyleSheet && (getComputedStyle(r.autoAnimateStyleSheet).fontWeight, e.dataset.autoAnimate = "running") }), this.Reveal.dispatchEvent({ type: "autoanimate", data: { fromSlide: t, toSlide: e, sheet: this.autoAnimateStyleSheet } }) } } }, { key: "reset", value: function () { bd(this.Reveal.getRevealElement(), '[data-auto-animate]:not([data-auto-animate=""])').forEach(function (t) { t.dataset.autoAnimate = "" }), bd(this.Reveal.getRevealElement(), "[data-auto-animate-target]").forEach(function (t) { delete t.dataset.autoAnimateTarget }), this.autoAnimateStyleSheet && this.autoAnimateStyleSheet.parentNode && (this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet), this.autoAnimateStyleSheet = null) } }, { key: "autoAnimateElements", value: function (t, e, r, n, i) { t.dataset.autoAnimateTarget = "", e.dataset.autoAnimateTarget = i; var a = this.getAutoAnimateOptions(e, n); void 0 !== r.delay && (a.delay = r.delay), void 0 !== r.duration && (a.duration = r.duration), void 0 !== r.easing && (a.easing = r.easing); var o = this.getAutoAnimatableProperties("from", t, r), s = this.getAutoAnimatableProperties("to", e, r); if (e.classList.contains("fragment") && (delete s.styles.opacity, t.classList.contains("fragment") && (t.className.match(om) || [""])[0] === (e.className.match(om) || [""])[0] && "forward" === n.slideDirection && e.classList.add("visible", "disabled")), !1 !== r.translate || !1 !== r.scale) { var l = this.Reveal.getScale(), c = { x: (o.x - s.x) / l, y: (o.y - s.y) / l, scaleX: o.width / s.width, scaleY: o.height / s.height }; c.x = Math.round(1e3 * c.x) / 1e3, c.y = Math.round(1e3 * c.y) / 1e3, c.scaleX = Math.round(1e3 * c.scaleX) / 1e3, c.scaleX = Math.round(1e3 * c.scaleX) / 1e3; var u = !1 !== r.translate && (0 !== c.x || 0 !== c.y), h = !1 !== r.scale && (0 !== c.scaleX || 0 !== c.scaleY); if (u || h) { var d = []; u && d.push("translate(".concat(c.x, "px, ").concat(c.y, "px)")), h && d.push("scale(".concat(c.scaleX, ", ").concat(c.scaleY, ")")), o.styles.transform = d.join(" "), o.styles["transform-origin"] = "top left", s.styles.transform = "none" } } for (var m in s.styles) { var p = s.styles[m], f = o.styles[m]; p === f ? delete s.styles[m] : (!0 === p.explicitValue && (s.styles[m] = p.value), !0 === f.explicitValue && (o.styles[m] = f.value)) } var g = "", v = Object.keys(s.styles); return v.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"] = v.join(", "), s.styles["will-change"] = v.join(", "), g = '[data-auto-animate-target="' + i + '"] {' + Object.keys(o.styles).map(function (t) { return t + ": " + o.styles[t] + " !important;" }).join("") + '}[data-auto-animate="running"] [data-auto-animate-target="' + i + '"] {' + Object.keys(s.styles).map(function (t) { return t + ": " + s.styles[t] + " !important;" }).join("") + "}"), g } }, { key: "getAutoAnimateOptions", value: function (t, e) { var r = { easing: this.Reveal.getConfig().autoAnimateEasing, duration: this.Reveal.getConfig().autoAnimateDuration, delay: 0 }; if (r = yd(r, e), t.parentNode) { var n = Ad(t.parentNode, "[data-auto-animate-target]"); n && (r = this.getAutoAnimateOptions(n, r)) } return t.dataset.autoAnimateEasing && (r.easing = t.dataset.autoAnimateEasing), t.dataset.autoAnimateDuration && (r.duration = parseFloat(t.dataset.autoAnimateDuration)), t.dataset.autoAnimateDelay && (r.delay = parseFloat(t.dataset.autoAnimateDelay)), r } }, { key: "getAutoAnimatableProperties", value: function (t, e, r) { var n = this.Reveal.getConfig(), i = { styles: [] }; if (!1 !== r.translate || !1 !== r.scale) { var a; if ("function" == typeof r.measure) a = r.measure(e); else if (n.center) a = e.getBoundingClientRect(); else { var o = this.Reveal.getScale(); a = { x: e.offsetLeft * o, y: e.offsetTop * o, width: e.offsetWidth * o, height: e.offsetHeight * o } } i.x = a.x, i.y = a.y, i.width = a.width, i.height = a.height } var s = getComputedStyle(e); return (r.styles || n.autoAnimateStyles).forEach(function (e) { var r; "string" == typeof e && (e = { property: e }), "" !== (r = void 0 !== e.from && "from" === t ? { value: e.from, explicitValue: !0 } : void 0 !== e.to && "to" === t ? { value: e.to, explicitValue: !0 } : s[e.property]) && (i.styles[e.property] = r) }), i } }, { key: "getAutoAnimatableElements", value: function (t, e) { var r = ("function" == typeof this.Reveal.getConfig().autoAnimateMatcher ? this.Reveal.getConfig().autoAnimateMatcher : this.getAutoAnimatePairs).call(this, t, e), n = []; return r.filter(function (t) { if (-1 === n.indexOf(t.to)) return n.push(t.to), !0 }) } }, { key: "getAutoAnimatePairs", value: function (t, e) { var r = this, n = [], i = "h1, h2, h3, h4, h5, h6, p, li"; return this.findAutoAnimateMatches(n, t, e, "[data-id]", function (t) { return t.nodeName + ":::" + t.getAttribute("data-id") }), this.findAutoAnimateMatches(n, t, e, i, function (t) { return t.nodeName + ":::" + t.innerText }), this.findAutoAnimateMatches(n, t, e, "img, video, iframe", function (t) { return t.nodeName + ":::" + (t.getAttribute("src") || t.getAttribute("data-src")) }), this.findAutoAnimateMatches(n, t, e, "pre", function (t) { return t.nodeName + ":::" + t.innerText }), n.forEach(function (t) { Sd(t.from, i) ? t.options = { scale: !1 } : Sd(t.from, "pre") && (t.options = { scale: !1, styles: ["width", "height"] }, r.findAutoAnimateMatches(n, t.from, t.to, ".hljs .hljs-ln-code", function (t) { return t.textContent }, { scale: !1, styles: [], measure: r.getLocalBoundingBox.bind(r) }), r.findAutoAnimateMatches(n, t.from, t.to, ".hljs .hljs-ln-line[data-line-number]", function (t) { return t.getAttribute("data-line-number") }, { scale: !1, styles: ["width"], measure: r.getLocalBoundingBox.bind(r) })) }, this), n } }, { key: "getLocalBoundingBox", value: function (t) { var e = this.Reveal.getScale(); return { x: Math.round(t.offsetLeft * e * 100) / 100, y: Math.round(t.offsetTop * e * 100) / 100, width: Math.round(t.offsetWidth * e * 100) / 100, height: Math.round(t.offsetHeight * e * 100) / 100 } } }, { key: "findAutoAnimateMatches", value: function (t, e, r, n, i, a) { var o = {}, s = {};[].slice.call(e.querySelectorAll(n)).forEach(function (t) { var e = i(t); "string" == typeof e && e.length && (o[e] = o[e] || [], o[e].push(t)) }), [].slice.call(r.querySelectorAll(n)).forEach(function (e) { var r, n = i(e); if (s[n] = s[n] || [], s[n].push(e), o[n]) { var l = s[n].length - 1, c = o[n].length - 1; o[n][l] ? (r = o[n][l], o[n][l] = null) : o[n][c] && (r = o[n][c], o[n][c] = null) } r && t.push({ from: r, to: e, options: a }) }) } }, { key: "getUnmatchedAutoAnimateElements", value: function (t) { var e = this; return [].slice.call(t.children).reduce(function (t, r) { var n = r.querySelector("[data-auto-animate-target]"); return r.hasAttribute("data-auto-animate-target") || n || t.push(r), r.querySelector("[data-auto-animate-target]") && (t = t.concat(e.getUnmatchedAutoAnimateElements(r))), t }, []) } }]), t }(), cm = function () { function t(e) { i(this, t), this.Reveal = e } return o(t, [{ key: "configure", value: function (t, e) { !1 === t.fragments ? this.disable() : !1 === e.fragments && this.enable() } }, { key: "disable", value: function () { bd(this.Reveal.getSlidesElement(), ".fragment").forEach(function (t) { t.classList.add("visible"), t.classList.remove("current-fragment") }) } }, { key: "enable", value: function () { bd(this.Reveal.getSlidesElement(), ".fragment").forEach(function (t) { t.classList.remove("visible"), t.classList.remove("current-fragment") }) } }, { key: "availableRoutes", value: function () { var t = this.Reveal.getCurrentSlide(); if (t && this.Reveal.getConfig().fragments) { var e = t.querySelectorAll(".fragment:not(.disabled)"), r = t.querySelectorAll(".fragment:not(.disabled):not(.visible)"); return { prev: e.length - r.length > 0, next: !!r.length } } return { prev: !1, next: !1 } } }, { key: "sort", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; t = Array.from(t); var r = [], n = [], i = []; t.forEach(function (t) { if (t.hasAttribute("data-fragment-index")) { var e = parseInt(t.getAttribute("data-fragment-index"), 10); r[e] || (r[e] = []), r[e].push(t) } else n.push([t]) }), r = r.concat(n); var a = 0; return r.forEach(function (t) { t.forEach(function (t) { i.push(t), t.setAttribute("data-fragment-index", a) }), a++ }), !0 === e ? r : i } }, { key: "sortAll", value: function () { var t = this; this.Reveal.getHorizontalSlides().forEach(function (e) { var r = bd(e, "section"); r.forEach(function (e) { t.sort(e.querySelectorAll(".fragment")) }, t), 0 === r.length && t.sort(e.querySelectorAll(".fragment")) }) } }, { key: "update", value: function (t, e) { var r = this, n = { shown: [], hidden: [] }, i = this.Reveal.getCurrentSlide(); if (i && this.Reveal.getConfig().fragments && (e = e || this.sort(i.querySelectorAll(".fragment"))).length) { var a = 0; if ("number" != typeof t) { var o = this.sort(i.querySelectorAll(".fragment.visible")).pop(); o && (t = parseInt(o.getAttribute("data-fragment-index") || 0, 10)) } Array.from(e).forEach(function (e, i) { if (e.hasAttribute("data-fragment-index") && (i = parseInt(e.getAttribute("data-fragment-index"), 10)), a = Math.max(a, i), i <= t) { var o = e.classList.contains("visible"); e.classList.add("visible"), e.classList.remove("current-fragment"), i === t && (r.Reveal.announceStatus(r.Reveal.getStatusText(e)), e.classList.add("current-fragment"), r.Reveal.slideContent.startEmbeddedContent(e)), o || (n.shown.push(e), r.Reveal.dispatchEvent({ target: e, type: "visible", bubbles: !1 })) } else { var s = e.classList.contains("visible"); e.classList.remove("visible"), e.classList.remove("current-fragment"), s && (r.Reveal.slideContent.stopEmbeddedContent(e), n.hidden.push(e), r.Reveal.dispatchEvent({ target: e, type: "hidden", bubbles: !1 })) } }), t = "number" == typeof t ? t : -1, t = Math.max(Math.min(t, a), -1), i.setAttribute("data-fragment", t) } return n } }, { key: "sync", value: function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.Reveal.getCurrentSlide(); return this.sort(t.querySelectorAll(".fragment")) } }, { key: "goto", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, r = this.Reveal.getCurrentSlide(); if (r && this.Reveal.getConfig().fragments) { var n = this.sort(r.querySelectorAll(".fragment:not(.disabled)")); if (n.length) { if ("number" != typeof t) { var i = this.sort(r.querySelectorAll(".fragment:not(.disabled).visible")).pop(); t = i ? parseInt(i.getAttribute("data-fragment-index") || 0, 10) : -1 } t += e; var a = this.update(t, 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 } }, { key: "next", value: function () { return this.goto(null, 1) } }, { key: "prev", value: function () { return this.goto(null, -1) } }]), t }(), um = function () {
function t(e) {
i(this, t), this.Reveal = e, this.active = !1,
this.onSlideClicked = this.onSlideClicked.bind(this)
} return o(t, [{ key: "activate", value: function () { var t = this; 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()), bd(this.Reveal.getRevealElement(), rm).forEach(function (e) { e.classList.contains("stack") || e.addEventListener("click", t.onSlideClicked, !0) }); var e = this.Reveal.getComputedSlideSize(); this.overviewSlideWidth = e.width + 70, this.overviewSlideHeight = e.height + 70, this.Reveal.getConfig().rtl && (this.overviewSlideWidth = -this.overviewSlideWidth), this.Reveal.updateSlidesVisibility(), this.layout(), this.update(), this.Reveal.layout(); var r = this.Reveal.getIndices(); this.Reveal.dispatchEvent({ type: "overviewshown", data: { indexh: r.h, indexv: r.v, currentSlide: this.Reveal.getCurrentSlide() } }) } } }, { key: "layout", value: function () { var t = this; this.Reveal.getHorizontalSlides().forEach(function (e, r) { e.setAttribute("data-index-h", r), kd(e, "translate3d(" + r * t.overviewSlideWidth + "px, 0, 0)"), e.classList.contains("stack") && bd(e, "section").forEach(function (e, n) { e.setAttribute("data-index-h", r), e.setAttribute("data-index-v", n), kd(e, "translate3d(0, " + n * t.overviewSlideHeight + "px, 0)") }) }), Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach(function (e, r) { kd(e, "translate3d(" + r * t.overviewSlideWidth + "px, 0, 0)"), bd(e, ".slide-background").forEach(function (e, r) { kd(e, "translate3d(0, " + r * t.overviewSlideHeight + "px, 0)") }) }) } }, { key: "update", value: function () { var t = Math.min(window.innerWidth, window.innerHeight), e = Math.max(t / 5, 150) / t, r = this.Reveal.getIndices(); this.Reveal.transformSlides({ overview: ["scale(" + e + ")", "translateX(" + -r.h * this.overviewSlideWidth + "px)", "translateY(" + -r.v * this.overviewSlideHeight + "px)"].join(" ") }) } }, { key: "deactivate", value: function () { var t = this; if (this.Reveal.getConfig().overview) { this.active = !1, this.Reveal.getRevealElement().classList.remove("overview"), this.Reveal.getRevealElement().classList.add("overview-deactivating"), setTimeout(function () { t.Reveal.getRevealElement().classList.remove("overview-deactivating") }, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()), bd(this.Reveal.getRevealElement(), rm).forEach(function (e) { kd(e, ""), e.removeEventListener("click", t.onSlideClicked, !0) }), bd(this.Reveal.getBackgroundsElement(), ".slide-background").forEach(function (t) { kd(t, "") }), this.Reveal.transformSlides({ overview: "" }); var 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() } }) } } }, { key: "toggle", value: function (t) { "boolean" == typeof t ? t ? this.activate() : this.deactivate() : this.isActive() ? this.deactivate() : this.activate() } }, { key: "isActive", value: function () { return this.active } }, { key: "onSlideClicked", value: function (t) { if (this.isActive()) { t.preventDefault(); for (var e = t.target; e && !e.nodeName.match(/section/gi);)e = e.parentNode; if (e && !e.classList.contains("disabled") && (this.deactivate(), e.nodeName.match(/section/gi))) { var r = parseInt(e.getAttribute("data-index-h"), 10), n = parseInt(e.getAttribute("data-index-v"), 10); this.Reveal.slide(r, n) } } } }]), t
}(), hm = function () { function t(e) { i(this, t), this.Reveal = e, this.shortcuts = {}, this.bindings = {}, this.onDocumentKeyDown = this.onDocumentKeyDown.bind(this), this.onDocumentKeyPress = this.onDocumentKeyPress.bind(this) } return o(t, [{ key: "configure", value: function (t) { "linear" === t.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 , Shift SPACE"] = "Previous slide", this.shortcuts["← , H"] = "Navigate left", this.shortcuts["→ , L"] = "Navigate right", this.shortcuts["↑ , K"] = "Navigate up", this.shortcuts["↓ , J"] = "Navigate down"), this.shortcuts["Alt + ←/↑/→/↓"] = "Navigate without fragments", this.shortcuts["Shift + ←/↑/→/↓"] = "Jump to first/last slide", this.shortcuts["B , ."] = "Pause", this.shortcuts.F = "Fullscreen", this.shortcuts["ESC, O"] = "Slide overview" } }, { 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 (t, e) { "object" === r(t) && t.keyCode ? this.bindings[t.keyCode] = { callback: e, key: t.key, description: t.description } : this.bindings[t] = { callback: e, key: null, description: null } } }, { key: "removeKeyBinding", value: function (t) { delete this.bindings[t] } }, { key: "triggerKey", value: function (t) { this.onDocumentKeyDown({ keyCode: t }) } }, { key: "registerKeyboardShortcut", value: function (t, e) { this.shortcuts[t] = e } }, { key: "getShortcuts", value: function () { return this.shortcuts } }, { key: "getBindings", value: function () { return this.bindings } }, { key: "onDocumentKeyPress", value: function (t) { t.shiftKey && 63 === t.charCode && this.Reveal.toggleHelp() } }, { key: "onDocumentKeyDown", value: function (t) { var e = this.Reveal.getConfig(); if ("function" == typeof e.keyboardCondition && !1 === e.keyboardCondition(t)) return !0; if ("focused" === e.keyboardCondition && !this.Reveal.isFocused()) return !0; var n = t.keyCode, i = !this.Reveal.isAutoSliding(); this.Reveal.onUserInput(t); var a = document.activeElement && !0 === document.activeElement.isContentEditable, o = document.activeElement && document.activeElement.tagName && /input|textarea/i.test(document.activeElement.tagName), s = document.activeElement && document.activeElement.className && /speaker-notes/i.test(document.activeElement.className), l = !(-1 !== [32, 37, 38, 39, 40, 78, 80].indexOf(t.keyCode) && t.shiftKey || t.altKey) && (t.shiftKey || t.altKey || t.ctrlKey || t.metaKey); if (!(a || o || s || l)) { var c, u = [66, 86, 190, 191]; if ("object" === r(e.keyboard)) for (c in e.keyboard) "togglePause" === e.keyboard[c] && u.push(parseInt(c, 10)); if (this.Reveal.isPaused() && -1 === u.indexOf(n)) return !1; var h, d, m = "linear" === e.navigationMode || !this.Reveal.hasHorizontalSlides() || !this.Reveal.hasVerticalSlides(), p = !1; if ("object" === r(e.keyboard)) for (c in e.keyboard) if (parseInt(c, 10) === n) { var f = e.keyboard[c]; "function" == typeof f ? f.apply(null, [t]) : "string" == typeof f && "function" == typeof this.Reveal[f] && this.Reveal[f].call(), p = !0 } if (!1 === p) for (c in this.bindings) if (parseInt(c, 10) === n) { var g = this.bindings[c].callback; "function" == typeof g ? g.apply(null, [t]) : "string" == typeof g && "function" == typeof this.Reveal[g] && this.Reveal[g].call(), p = !0 } !1 === p && (p = !0, 80 === n || 33 === n ? this.Reveal.prev({ skipFragments: t.altKey }) : 78 === n || 34 === n ? this.Reveal.next({ skipFragments: t.altKey }) : 72 === n || 37 === n ? t.shiftKey ? this.Reveal.slide(0) : !this.Reveal.overview.isActive() && m ? this.Reveal.prev({ skipFragments: t.altKey }) : this.Reveal.left({ skipFragments: t.altKey }) : 76 === n || 39 === n ? t.shiftKey ? this.Reveal.slide(this.Reveal.getHorizontalSlides().length - 1) : !this.Reveal.overview.isActive() && m ? this.Reveal.next({ skipFragments: t.altKey }) : this.Reveal.right({ skipFragments: t.altKey }) : 75 === n || 38 === n ? t.shiftKey ? this.Reveal.slide(void 0, 0) : !this.Reveal.overview.isActive() && m ? this.Reveal.prev({ skipFragments: t.altKey }) : this.Reveal.up({ skipFragments: t.altKey }) : 74 === n || 40 === n ? t.shiftKey ? this.Reveal.slide(void 0, Number.MAX_VALUE) : !this.Reveal.overview.isActive() && m ? this.Reveal.next({ skipFragments: t.altKey }) : this.Reveal.down({ skipFragments: t.altKey }) : 36 === n ? this.Reveal.slide(0) : 35 === n ? this.Reveal.slide(this.Reveal.getHorizontalSlides().length - 1) : 32 === n ? (this.Reveal.overview.isActive() && this.Reveal.overview.deactivate(), t.shiftKey ? this.Reveal.prev({ skipFragments: t.altKey }) : this.Reveal.next({ skipFragments: t.altKey })) : 58 === n || 59 === n || 66 === n || 86 === n || 190 === n || 191 === n ? this.Reveal.togglePause() : 70 === n ? (d = (h = (h = e.embedded ? this.Reveal.getViewportElement() : document.documentElement) || document.documentElement).requestFullscreen || h.webkitRequestFullscreen || h.webkitRequestFullScreen || h.mozRequestFullScreen || h.msRequestFullscreen) && d.apply(h) : 65 === n ? e.autoSlideStoppable && this.Reveal.toggleAutoSlide(i) : p = !1), p ? t.preventDefault && t.preventDefault() : 27 !== n && 79 !== n || (!1 === this.Reveal.closeOverlay() && this.Reveal.overview.toggle(), t.preventDefault && t.preventDefault()), this.Reveal.cueAutoSlide() } } }]), t }(), dm = function () { function t(e) { i(this, t), s(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this) } return o(t, [{ key: "bind", value: function () { window.addEventListener("hashchange", this.onWindowHashChange, !1) } }, { key: "unbind", value: function () { window.removeEventListener("hashchange", this.onWindowHashChange, !1) } }, { key: "getIndicesFromHash", value: function () { var t, r, n = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window.location.hash).replace(/^#\/?/, ""), i = n.split("/"); if (/^[0-9]*$/.test(i[0]) || !n.length) { var a, o = this.Reveal.getConfig(), s = o.hashOneBasedIndex ? 1 : 0, l = parseInt(i[0], 10) - s || 0, c = parseInt(i[1], 10) - s || 0; return o.fragmentInURL && (a = parseInt(i[2], 10), isNaN(a) && (a = void 0)), { h: l, v: c, f: a } } /\/[-\d]+$/g.test(n) && (r = parseInt(n.split("/").pop(), 10), r = isNaN(r) ? void 0 : r, n = n.split("/").shift()); try { t = document.getElementById(decodeURIComponent(n)) } catch (t) { } return t ? e(e({}, this.Reveal.getIndices(t)), {}, { f: r }) : null } }, { key: "readURL", value: function () { var t = this.Reveal.getIndices(), e = this.getIndicesFromHash(); e ? e.h === t.h && e.v === t.v && void 0 === e.f || this.Reveal.slide(e.h, e.v, e.f) : this.Reveal.slide(t.h || 0, t.v || 0) } }, { key: "writeURL", value: function (t) { var e = this.Reveal.getConfig(), r = this.Reveal.getCurrentSlide(); if (clearTimeout(this.writeURLTimeout), "number" == typeof t) this.writeURLTimeout = setTimeout(this.writeURL, t); else if (r) { var n = this.getHash(); e.history ? window.location.hash = n : e.hash && ("/" === n ? this.debouncedReplaceState(window.location.pathname + window.location.search) : this.debouncedReplaceState("#" + n)) } } }, { key: "replaceState", value: function (t) { window.history.replaceState(null, null, t), this.replaceStateTimestamp = Date.now() } }, { key: "debouncedReplaceState", value: function (t) { var e = this; clearTimeout(this.replaceStateTimeout), Date.now() - this.replaceStateTimestamp > this.MAX_REPLACE_STATE_FREQUENCY ? this.replaceState(t) : this.replaceStateTimeout = setTimeout(function () { return e.replaceState(t) }, this.MAX_REPLACE_STATE_FREQUENCY) } }, { key: "getHash", value: function (t) { var e = "/", r = t || this.Reveal.getCurrentSlide(), n = r ? r.getAttribute("id") : null; n && (n = encodeURIComponent(n)); var i = this.Reveal.getIndices(t); if (this.Reveal.getConfig().fragmentInURL || (i.f = void 0), "string" == typeof n && n.length) e = "/" + n, i.f >= 0 && (e += "/" + i.f); else { var a = this.Reveal.getConfig().hashOneBasedIndex ? 1 : 0; (i.h > 0 || i.v > 0 || i.f >= 0) && (e += i.h + a), (i.v > 0 || i.f >= 0) && (e += "/" + (i.v + a)), i.f >= 0 && (e += "/" + i.f) } return e } }, { key: "onWindowHashChange", value: function () { this.readURL() } }]), t }(), mm = function () { function t(e) { i(this, t), 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) } return o(t, [{ key: "render", value: function () { var t = this.Reveal.getConfig().rtl, e = this.Reveal.getRevealElement(); this.element = document.createElement("aside"), this.element.className = "controls", this.element.innerHTML = '\n\t\t\t\n\t\t\t\n\t\t\t'), this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft = bd(e, ".navigate-left"), this.controlsRight = bd(e, ".navigate-right"), this.controlsUp = bd(e, ".navigate-up"), this.controlsDown = bd(e, ".navigate-down"), this.controlsPrev = bd(e, ".navigate-prev"), this.controlsNext = bd(e, ".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 (t) { this.element.style.display = t.controls ? "block" : "none", this.element.setAttribute("data-controls-layout", t.controlsLayout), this.element.setAttribute("data-controls-back-arrows", t.controlsBackArrows) } }, { key: "bind", value: function () { var t = this, e = ["touchstart", "click"]; Pd && (e = ["touchstart"]), e.forEach(function (e) { t.controlsLeft.forEach(function (r) { return r.addEventListener(e, t.onNavigateLeftClicked, !1) }), t.controlsRight.forEach(function (r) { return r.addEventListener(e, t.onNavigateRightClicked, !1) }), t.controlsUp.forEach(function (r) { return r.addEventListener(e, t.onNavigateUpClicked, !1) }), t.controlsDown.forEach(function (r) { return r.addEventListener(e, t.onNavigateDownClicked, !1) }), t.controlsPrev.forEach(function (r) { return r.addEventListener(e, t.onNavigatePrevClicked, !1) }), t.controlsNext.forEach(function (r) { return r.addEventListener(e, t.onNavigateNextClicked, !1) }) }) } }, { key: "unbind", value: function () { var t = this;["touchstart", "click"].forEach(function (e) { t.controlsLeft.forEach(function (r) { return r.removeEventListener(e, t.onNavigateLeftClicked, !1) }), t.controlsRight.forEach(function (r) { return r.removeEventListener(e, t.onNavigateRightClicked, !1) }), t.controlsUp.forEach(function (r) { return r.removeEventListener(e, t.onNavigateUpClicked, !1) }), t.controlsDown.forEach(function (r) { return r.removeEventListener(e, t.onNavigateDownClicked, !1) }), t.controlsPrev.forEach(function (r) { return r.removeEventListener(e, t.onNavigatePrevClicked, !1) }), t.controlsNext.forEach(function (r) { return r.removeEventListener(e, t.onNavigateNextClicked, !1) }) }) } }, { key: "update", value: function () { var t = this.Reveal.availableRoutes();[].concat(l(this.controlsLeft), l(this.controlsRight), l(this.controlsUp), l(this.controlsDown), l(this.controlsPrev), l(this.controlsNext)).forEach(function (t) { t.classList.remove("enabled", "fragmented"), t.setAttribute("disabled", "disabled") }), t.left && this.controlsLeft.forEach(function (t) { t.classList.add("enabled"), t.removeAttribute("disabled") }), t.right && this.controlsRight.forEach(function (t) { t.classList.add("enabled"), t.removeAttribute("disabled") }), t.up && this.controlsUp.forEach(function (t) { t.classList.add("enabled"), t.removeAttribute("disabled") }), t.down && this.controlsDown.forEach(function (t) { t.classList.add("enabled"), t.removeAttribute("disabled") }), (t.left || t.up) && this.controlsPrev.forEach(function (t) { t.classList.add("enabled"), t.removeAttribute("disabled") }), (t.right || t.down) && this.controlsNext.forEach(function (t) { t.classList.add("enabled"), t.removeAttribute("disabled") }); var e = this.Reveal.getCurrentSlide(); if (e) { var r = this.Reveal.fragments.availableRoutes(); r.prev && this.controlsPrev.forEach(function (t) { t.classList.add("fragmented", "enabled"), t.removeAttribute("disabled") }), r.next && this.controlsNext.forEach(function (t) { t.classList.add("fragmented", "enabled"), t.removeAttribute("disabled") }), this.Reveal.isVerticalSlide(e) ? (r.prev && this.controlsUp.forEach(function (t) { t.classList.add("fragmented", "enabled"), t.removeAttribute("disabled") }), r.next && this.controlsDown.forEach(function (t) { t.classList.add("fragmented", "enabled"), t.removeAttribute("disabled") })) : (r.prev && this.controlsLeft.forEach(function (t) { t.classList.add("fragmented", "enabled"), t.removeAttribute("disabled") }), r.next && this.controlsRight.forEach(function (t) { t.classList.add("fragmented", "enabled"), t.removeAttribute("disabled") })) } if (this.Reveal.getConfig().controlsTutorial) { var n = this.Reveal.getIndices(); !this.Reveal.hasNavigatedVertically() && t.down ? this.controlsDownArrow.classList.add("highlight") : (this.controlsDownArrow.classList.remove("highlight"), this.Reveal.getConfig().rtl ? !this.Reveal.hasNavigatedHorizontally() && t.left && 0 === n.v ? this.controlsLeftArrow.classList.add("highlight") : this.controlsLeftArrow.classList.remove("highlight") : !this.Reveal.hasNavigatedHorizontally() && t.right && 0 === n.v ? this.controlsRightArrow.classList.add("highlight") : this.controlsRightArrow.classList.remove("highlight")) } } }, { key: "destroy", value: function () { this.unbind(), this.element.remove() } }, { key: "onNavigateLeftClicked", value: function (t) { t.preventDefault(), this.Reveal.onUserInput(), "linear" === this.Reveal.getConfig().navigationMode ? this.Reveal.prev() : this.Reveal.left() } }, { key: "onNavigateRightClicked", value: function (t) { t.preventDefault(), this.Reveal.onUserInput(), "linear" === this.Reveal.getConfig().navigationMode ? this.Reveal.next() : this.Reveal.right() } }, { key: "onNavigateUpClicked", value: function (t) { t.preventDefault(), this.Reveal.onUserInput(), this.Reveal.up() } }, { key: "onNavigateDownClicked", value: function (t) { t.preventDefault(), this.Reveal.onUserInput(), this.Reveal.down() } }, { key: "onNavigatePrevClicked", value: function (t) { t.preventDefault(), this.Reveal.onUserInput(), this.Reveal.prev() } }, { key: "onNavigateNextClicked", value: function (t) { t.preventDefault(), this.Reveal.onUserInput(), this.Reveal.next() } }]), t }(), pm = function () { function t(e) { i(this, t), this.Reveal = e, this.onProgressClicked = this.onProgressClicked.bind(this) } return o(t, [{ 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 (t) { this.element.style.display = t.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 t = this.Reveal.getProgress(); this.Reveal.getTotalSlides() < 2 && (t = 0), this.bar.style.transform = "scaleX(" + t + ")" } } }, { key: "getMaxWidth", value: function () { return this.Reveal.getRevealElement().offsetWidth } }, { key: "onProgressClicked", value: function (t) { this.Reveal.onUserInput(t), t.preventDefault(); var e = this.Reveal.getSlides(), r = e.length, n = Math.floor(t.clientX / this.getMaxWidth() * r); this.Reveal.getConfig().rtl && (n = r - n); var i = this.Reveal.getIndices(e[n]); this.Reveal.slide(i.h, i.v) } }, { key: "destroy", value: function () { this.element.remove() } }]), t }(), fm = function () { function t(e) { i(this, t), this.Reveal = e, this.lastMouseWheelStep = 0, this.cursorHidden = !1, this.cursorInactiveTimeout = 0, this.onDocumentCursorActive = this.onDocumentCursorActive.bind(this), this.onDocumentMouseScroll = this.onDocumentMouseScroll.bind(this) } return o(t, [{ key: "configure", value: function (t) { t.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)), t.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: "destroy", value: function () { this.showCursor(), document.removeEventListener("DOMMouseScroll", this.onDocumentMouseScroll, !1), document.removeEventListener("mousewheel", this.onDocumentMouseScroll, !1), document.removeEventListener("mousemove", this.onDocumentCursorActive, !1), document.removeEventListener("mousedown", this.onDocumentCursorActive, !1) } }, { key: "onDocumentCursorActive", value: function () { this.showCursor(), clearTimeout(this.cursorInactiveTimeout), this.cursorInactiveTimeout = setTimeout(this.hideCursor.bind(this), this.Reveal.getConfig().hideCursorTime) } }, { key: "onDocumentMouseScroll", value: function (t) { if (Date.now() - this.lastMouseWheelStep > 1e3) { this.lastMouseWheelStep = Date.now(); var e = t.detail || -t.wheelDelta; e > 0 ? this.Reveal.next() : e < 0 && this.Reveal.prev() } } }]), t }(), gm = v, vm = cr, ym = z, bm = y.f, xm = function (t) { return function (e) { for (var r, n = ym(e), i = vm(n), a = i.length, o = 0, s = []; a > o;)r = i[o++], gm && !bm.call(n, r) || s.push(t ? [r, n[r]] : n[r]); return s } }, wm = (xm(!0), xm(!1)); or({ target: "Object", stat: !0 }, { values: function (t) { return wm(t) } }); var km = function (t, e) { var r = document.createElement("script"); r.type = "text/javascript", r.async = !1, r.defer = !1, r.src = t, "function" == typeof e && (r.onload = r.onreadystatechange = function (t) { ("load" === t.type || /loaded|complete/.test(r.readyState)) && (r.onload = r.onreadystatechange = r.onerror = null, e()) }, r.onerror = function (t) { r.onload = r.onreadystatechange = r.onerror = null, e(new Error("Failed loading script: " + r.src + "\n" + t)) }); var n = document.querySelector("head"); n.insertBefore(r, n.lastChild) }, Sm = function () { function t(e) { i(this, t), this.Reveal = e, this.state = "idle", this.registeredPlugins = {}, this.asyncDependencies = [] } return o(t, [{ key: "load", value: function (t, e) { var r = this; return this.state = "loading", t.forEach(this.registerPlugin.bind(this)), new Promise(function (t) { var n = [], i = 0; if (e.forEach(function (t) { t.condition && !t.condition() || (t.async ? r.asyncDependencies.push(t) : n.push(t)) }), n.length) { i = n.length; var a = function (e) { e && "function" == typeof e.callback && e.callback(), 0 == --i && r.initPlugins().then(t) }; n.forEach(function (t) { "string" == typeof t.id ? (r.registerPlugin(t), a(t)) : "string" == typeof t.src ? km(t.src, function () { return a(t) }) : (console.warn("Unrecognized plugin format", t), a()) }) } else r.initPlugins().then(t) }) } }, { key: "initPlugins", value: function () { var t = this; return new Promise(function (e) { var r = Object.values(t.registeredPlugins), n = r.length; if (0 === n) t.loadAsync().then(e); else { var i, a = function () { 0 == --n ? t.loadAsync().then(e) : i() }, o = 0; (i = function () { var e = r[o++]; if ("function" == typeof e.init) { var n = e.init(t.Reveal); n && "function" == typeof n.then ? n.then(a) : a() } else a() })() } }) } }, { key: "loadAsync", value: function () { return this.state = "loaded", this.asyncDependencies.length && this.asyncDependencies.forEach(function (t) { km(t.src, t.callback) }), Promise.resolve() } }, { key: "registerPlugin", value: function (t) { 2 === arguments.length && "string" == typeof arguments[0] ? (t = arguments[1]).id = arguments[0] : "function" == typeof t && (t = t()); var e = t.id; "string" != typeof e ? console.warn("Unrecognized plugin format; can't find plugin.id", t) : void 0 === this.registeredPlugins[e] ? (this.registeredPlugins[e] = t, "loaded" === this.state && "function" == typeof t.init && t.init(this.Reveal)) : console.warn('reveal.js: "' + e + '" plugin has already been registered') } }, { key: "hasPlugin", value: function (t) { return !!this.registeredPlugins[t] } }, { key: "getPlugin", value: function (t) { return this.registeredPlugins[t] } }, { key: "getRegisteredPlugins", value: function () { return this.registeredPlugins } }, { key: "destroy", value: function () { Object.values(this.registeredPlugins).forEach(function (t) { "function" == typeof t.destroy && t.destroy() }), this.registeredPlugins = {}, this.asyncDependencies = [] } }]), t }(); !function (t) { var e = function (t) { function e(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e] } function r(t, e, r, a) { var o = e && e.prototype instanceof i ? e : i, s = Object.create(o.prototype), l = new d(a || []); return s._invoke = function (t, e, r) { var i = k; return function (a, o) { if (i === A) throw new Error("Generator is already running"); if (i === E) { if ("throw" === a) throw o; return p() } for (r.method = a, r.arg = o; ;) { var s = r.delegate; if (s) { var l = c(s, r); if (l) { if (l === M) continue; return l } } if ("next" === r.method) r.sent = r._sent = r.arg; else if ("throw" === r.method) { if (i === k) throw i = E, r.arg; r.dispatchException(r.arg) } else "return" === r.method && r.abrupt("return", r.arg); i = A; var u = n(t, e, r); if ("normal" === u.type) { if (i = r.done ? E : S, u.arg === M) continue; return { value: u.arg, done: r.done } } "throw" === u.type && (i = E, r.method = "throw", r.arg = u.arg) } } }(t, r, l), s } function n(t, e, r) { try { return { type: "normal", arg: t.call(e, r) } } catch (t) { return { type: "throw", arg: t } } } function i() { } function a() { } function o() { } function s(t) { ["next", "throw", "return"].forEach(function (r) { e(t, r, function (t) { return this._invoke(r, t) }) }) } function l(t, e) { function r(i, a, o, s) { var l = n(t[i], t, a); if ("throw" !== l.type) { var c = l.arg, u = c.value; return u && "object" == typeof u && v.call(u, "__await") ? e.resolve(u.__await).then(function (t) { r("next", t, o, s) }, function (t) { r("throw", t, o, s) }) : e.resolve(u).then(function (t) { c.value = t, o(c) }, function (t) { return r("throw", t, o, s) }) } s(l.arg) } var i; this._invoke = function (t, n) { function a() { return new e(function (e, i) { r(t, n, e, i) }) } return i = i ? i.then(a, a) : a() } } function c(t, e) { var r = t.iterator[e.method]; if (r === f) { if (e.delegate = null, "throw" === e.method) { if (t.iterator["return"] && (e.method = "return", e.arg = f, c(t, e), "throw" === e.method)) return M; e.method = "throw", e.arg = new TypeError("The iterator does not provide a 'throw' method") } return M } var i = n(r, t.iterator, e.arg); if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, M; var a = i.arg; return a ? a.done ? (e[t.resultName] = a.value, e.next = t.nextLoc, "return" !== e.method && (e.method = "next", e.arg = f), e.delegate = null, M) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, M) } function u(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e) } function h(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e } function d(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(u, this), this.reset(!0) } function m(t) { if (t) { var e = t[b]; if (e) return e.call(t); if ("function" == typeof t.next) return t; if (!isNaN(t.length)) { var r = -1, n = function e() { for (; ++r < t.length;)if (v.call(t, r)) return e.value = t[r], e.done = !1, e; return e.value = f, e.done = !0, e }; return n.next = n } } return { next: p } } function p() { return { value: f, done: !0 } } var f, g = Object.prototype, v = g.hasOwnProperty, y = "function" == typeof Symbol ? Symbol : {}, b = y.iterator || "@@iterator", x = y.asyncIterator || "@@asyncIterator", w = y.toStringTag || "@@toStringTag"; try { e({}, "") } catch (t) { e = function (t, e, r) { return t[e] = r } } t.wrap = r; var k = "suspendedStart", S = "suspendedYield", A = "executing", E = "completed", M = {}, R = {}; R[b] = function () { return this }; var T = Object.getPrototypeOf, C = T && T(T(m([]))); C && C !== g && v.call(C, b) && (R = C); var L = o.prototype = i.prototype = Object.create(R); return a.prototype = L.constructor = o, o.constructor = a, a.displayName = e(o, w, "GeneratorFunction"), t.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === a || "GeneratorFunction" === (e.displayName || e.name)) }, t.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, o) : (t.__proto__ = o, e(t, w, "GeneratorFunction")), t.prototype = Object.create(L), t }, t.awrap = function (t) { return { __await: t } }, s(l.prototype), l.prototype[x] = function () { return this }, t.AsyncIterator = l, t.async = function (e, n, i, a, o) { void 0 === o && (o = Promise); var s = new l(r(e, n, i, a), o); return t.isGeneratorFunction(n) ? s : s.next().then(function (t) { return t.done ? t.value : s.next() }) }, s(L), e(L, w, "Generator"), L[b] = function () { return this }, L.toString = function () { return "[object Generator]" }, t.keys = function (t) { var e = []; for (var r in t) e.push(r); return e.reverse(), function n() { for (; e.length;) { var r = e.pop(); if (r in t) return n.value = r, n.done = !1, n } return n.done = !0, n } }, t.values = m, d.prototype = { constructor: d, reset: function (t) { if (this.prev = 0, this.next = 0, this.sent = this._sent = f, this.done = !1, this.delegate = null, this.method = "next", this.arg = f, this.tryEntries.forEach(h), !t) for (var e in this) "t" === e.charAt(0) && v.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = f) }, stop: function () { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval }, dispatchException: function (t) { function e(e, n) { return a.type = "throw", a.arg = t, r.next = e, n && (r.method = "next", r.arg = f), !!n } if (this.done) throw t; for (var r = this, n = this.tryEntries.length - 1; n >= 0; --n) { var i = this.tryEntries[n], a = i.completion; if ("root" === i.tryLoc) return e("end"); if (i.tryLoc <= this.prev) { var o = v.call(i, "catchLoc"), s = v.call(i, "finallyLoc"); if (o && s) { if (this.prev < i.catchLoc) return e(i.catchLoc, !0); if (this.prev < i.finallyLoc) return e(i.finallyLoc) } else if (o) { if (this.prev < i.catchLoc) return e(i.catchLoc, !0) } else { if (!s) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return e(i.finallyLoc) } } } }, abrupt: function (t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var n = this.tryEntries[r]; if (n.tryLoc <= this.prev && v.call(n, "finallyLoc") && this.prev < n.finallyLoc) { var i = n; break } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, M) : this.complete(a) }, complete: function (t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), M }, finish: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), h(r), M } }, "catch": function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var i = n.arg; h(r) } return i } } throw new Error("illegal catch attempt") }, delegateYield: function (t, e, r) { return this.delegate = { iterator: m(t), resultName: e, nextLoc: r }, "next" === this.method && (this.arg = f), M } }, t }(t.exports); try { regeneratorRuntime = e } catch (t) { Function("r", "regeneratorRuntime = r")(e) } }({ exports: {} }); var Am = function () {
function t(e) { i(this, t), this.Reveal = e } var e, r; return o(t, [{
key: "setupPDF", value: (e = regeneratorRuntime.mark(function a() {
var t, e, r, n, i, o, s, l, c, u, h, d, m, p, f; return regeneratorRuntime.wrap(function (a) {
for (; ;)switch (a.prev = a.next) {
case 0: return t = this.Reveal.getConfig(), e = bd(this.Reveal.getRevealElement(), rm), r = t.slideNumber && /all|print/i.test(t.showSlideNumber), n = this.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), i = Math.floor(n.width * (1 + t.margin)), o = Math.floor(n.height * (1 + t.margin)), s = n.width, l = n.height, a.next = 8, new Promise(requestAnimationFrame); case 8: return Md("@page{size:" + i + "px " + o + "px; margin: 0px;}"), Md(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: " + s + "px; max-height:" + l + "px}"), document.documentElement.classList.add("print-pdf"), document.body.style.width = i + "px", document.body.style.height = o + "px", (c = document.querySelector(".reveal-viewport")) && (h = window.getComputedStyle(c)) && h.background && (u = h.background), a.next = 17, new Promise(requestAnimationFrame); case 17: return this.Reveal.layoutSlideContents(s, l), a.next = 20, new Promise(requestAnimationFrame); case 20: return d = e.map(function (t) { return t.scrollHeight }), m = [], p = e[0].parentNode, f = 1, e.forEach(function (e, n) {
if (!1 === e.classList.contains("stack")) {
var a = (i - s) / 2, c = (o - l) / 2, h = d[n], p = Math.max(Math.ceil(h / o), 1); (1 === (p = Math.min(p, t.pdfMaxPagesPerSlide)) && t.center || e.classList.contains("center")) && (c = Math.max((o - h) / 2, 0)); var g = document.createElement("div"); if (m.push(g), g.className = "pdf-page", g.style.height = (o + t.pdfPageHeightOffset) * p + "px", u && (g.style.background = u), g.appendChild(e), e.style.left = a + "px", e.style.top = c + "px", e.style.width = s + "px", this.Reveal.slideContent.layout(e), e.slideBackgroundElement && g.insertBefore(e.slideBackgroundElement, e), t.showNotes) { var v = this.Reveal.getSlideNotes(e); if (v) { var y = "string" == typeof t.showNotes ? t.showNotes : "inline", b = document.createElement("div"); b.classList.add("speaker-notes"), b.classList.add("speaker-notes-pdf"), b.setAttribute("data-layout", y), b.innerHTML = v, "separate-page" === y ? m.push(b) : (b.style.left = "8px", b.style.bottom = "8px", b.style.width = i - 16 + "px", g.appendChild(b)) } } if (r) { var x = document.createElement("div"); x.classList.add("slide-number"), x.classList.add("slide-number-pdf"), x.innerHTML = f++, g.appendChild(x) } if (t.pdfSeparateFragments) {
var w, k = this.Reveal.fragments.sort(g.querySelectorAll(".fragment"), !0); k.forEach(function (t, e) { w && w.forEach(function (t) { t.classList.remove("current-fragment") }), t.forEach(function (t) { t.classList.add("visible", "current-fragment") }, this); var n = g.cloneNode(!0); if (r) { var i = e + 1; n.querySelector(".slide-number-pdf").innerHTML += "." + i } m.push(n), w = t }, this), k.forEach(function (t) {
t.forEach(function (t) { t.classList.remove("visible", "current-fragment") })
})
} else bd(g, ".fragment:not(.fade-out)").forEach(function (t) { t.classList.add("visible") })
}
}, this), a.next = 27, new Promise(requestAnimationFrame); case 27: m.forEach(function (t) { return p.appendChild(t) }), this.Reveal.dispatchEvent({ type: "pdf-ready" }); case 29: case "end": return a.stop()
}
}, a, this)
}), r = function () { var t = this, r = arguments; return new Promise(function (i, a) { function o(t) { n(l, i, a, o, s, "next", t) } function s(t) { n(l, i, a, o, s, "throw", t) } var l = e.apply(t, r); o(void 0) }) }, function () { return r.apply(this, arguments) })
}, { key: "isPrintingPDF", value: function () { return /print-pdf/gi.test(window.location.search) } }]), t
}(), Em = function () { function t(e) { i(this, t), 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) } return o(t, [{ key: "bind", value: function () { var t = this.Reveal.getRevealElement(); "onpointerdown" in window ? (t.addEventListener("pointerdown", this.onPointerDown, !1), t.addEventListener("pointermove", this.onPointerMove, !1), t.addEventListener("pointerup", this.onPointerUp, !1)) : window.navigator.msPointerEnabled ? (t.addEventListener("MSPointerDown", this.onPointerDown, !1), t.addEventListener("MSPointerMove", this.onPointerMove, !1), t.addEventListener("MSPointerUp", this.onPointerUp, !1)) : (t.addEventListener("touchstart", this.onTouchStart, !1), t.addEventListener("touchmove", this.onTouchMove, !1), t.addEventListener("touchend", this.onTouchEnd, !1)) } }, { key: "unbind", value: function () { var t = this.Reveal.getRevealElement(); t.removeEventListener("pointerdown", this.onPointerDown, !1), t.removeEventListener("pointermove", this.onPointerMove, !1), t.removeEventListener("pointerup", this.onPointerUp, !1), t.removeEventListener("MSPointerDown", this.onPointerDown, !1), t.removeEventListener("MSPointerMove", this.onPointerMove, !1), t.removeEventListener("MSPointerUp", this.onPointerUp, !1), t.removeEventListener("touchstart", this.onTouchStart, !1), t.removeEventListener("touchmove", this.onTouchMove, !1), t.removeEventListener("touchend", this.onTouchEnd, !1) } }, { key: "isSwipePrevented", value: function (t) { if (Sd(t, "video, audio")) return !0; for (; t && "function" == typeof t.hasAttribute;) { if (t.hasAttribute("data-prevent-swipe")) return !0; t = t.parentNode } return !1 } }, { key: "onTouchStart", value: function (t) { if (this.isSwipePrevented(t.target)) return !0; this.touchStartX = t.touches[0].clientX, this.touchStartY = t.touches[0].clientY, this.touchStartCount = t.touches.length } }, { key: "onTouchMove", value: function (t) { if (this.isSwipePrevented(t.target)) return !0; var e = this.Reveal.getConfig(); if (this.touchCaptured) Pd && t.preventDefault(); else { this.Reveal.onUserInput(t); var r = t.touches[0].clientX, n = t.touches[0].clientY; if (1 === t.touches.length && 2 !== this.touchStartCount) { var i = this.Reveal.availableRoutes({ includeFragments: !0 }), a = r - this.touchStartX, o = n - this.touchStartY; a > 40 && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, "linear" === e.navigationMode ? e.rtl ? this.Reveal.next() : this.Reveal.prev() : this.Reveal.left()) : a < -40 && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, "linear" === e.navigationMode ? e.rtl ? this.Reveal.prev() : this.Reveal.next() : this.Reveal.right()) : o > 40 && i.up ? (this.touchCaptured = !0, "linear" === e.navigationMode ? this.Reveal.prev() : this.Reveal.up()) : o < -40 && i.down && (this.touchCaptured = !0, "linear" === e.navigationMode ? this.Reveal.next() : this.Reveal.down()), e.embedded ? (this.touchCaptured || this.Reveal.isVerticalSlide()) && t.preventDefault() : t.preventDefault() } } } }, { key: "onTouchEnd", value: function () { this.touchCaptured = !1 } }, { key: "onPointerDown", value: function (t) { t.pointerType !== t.MSPOINTER_TYPE_TOUCH && "touch" !== t.pointerType || (t.touches = [{ clientX: t.clientX, clientY: t.clientY }], this.onTouchStart(t)) } }, { key: "onPointerMove", value: function (t) { t.pointerType !== t.MSPOINTER_TYPE_TOUCH && "touch" !== t.pointerType || (t.touches = [{ clientX: t.clientX, clientY: t.clientY }], this.onTouchMove(t)) } }, { key: "onPointerUp", value: function (t) { t.pointerType !== t.MSPOINTER_TYPE_TOUCH && "touch" !== t.pointerType || (t.touches = [{ clientX: t.clientX, clientY: t.clientY }], this.onTouchEnd(t)) } }]), t }(), Mm = "focus", Rm = "blur", Tm = function () { function t(e) { i(this, t), this.Reveal = e, this.onRevealPointerDown = this.onRevealPointerDown.bind(this), this.onDocumentPointerDown = this.onDocumentPointerDown.bind(this) } return o(t, [{ key: "configure", value: function (t) { t.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 !== Mm && (this.Reveal.getRevealElement().classList.add("focused"), document.addEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = Mm } }, { key: "blur", value: function () { this.state !== Rm && (this.Reveal.getRevealElement().classList.remove("focused"), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = Rm } }, { key: "isFocused", value: function () { return this.state === Mm } }, { key: "destroy", value: function () { this.Reveal.getRevealElement().classList.remove("focused") } }, { key: "onRevealPointerDown", value: function () { this.focus() } }, { key: "onDocumentPointerDown", value: function (t) { var e = Ad(t.target, ".reveal"); e && e === this.Reveal.getRevealElement() || this.blur() } }]), t }(), Cm = function () { function t(e) { i(this, t), this.Reveal = e } return o(t, [{ 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 (t) { t.showNotes && this.element.setAttribute("data-layout", "string" == typeof t.showNotes ? t.showNotes : "inline") } }, { key: "update", value: function () { this.Reveal.getConfig().showNotes && this.element && this.Reveal.getCurrentSlide() && !this.Reveal.print.isPrintingPDF() && (this.element.innerHTML = this.getSlideNotes() || 'No notes on this slide.') } }, { 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 t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.Reveal.getCurrentSlide(); if (t.hasAttribute("data-notes")) return t.getAttribute("data-notes"); var e = t.querySelector("aside.notes"); return e ? e.innerHTML : null } }, { key: "destroy", value: function () { this.element.remove() } }]), t }(), Lm = B, zm = we, Nm = ve, Pm = js, Im = tt, Om = Gr("unscopables"), Bm = Array.prototype; null == Bm[Om] && Im.f(Bm, Om, { configurable: !0, value: Pm(null) }); var qm = function (t) { Bm[Om][t] = !0 }; or({ target: "Array", proto: !0 }, { fill: function (t) { for (var e = Lm(this), r = Nm(e.length), n = arguments.length, i = zm(n > 1 ? arguments[1] : void 0, r), a = n > 2 ? arguments[2] : void 0, o = void 0 === a ? r : zm(a, r); o > i;)e[i++] = t; return e } }), qm("fill"); var Dm = function () { function t(e, r) { i(this, 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 = r, 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 o(t, [{ key: "setPlaying", value: function (t) { var e = this.playing; this.playing = t, !e && this.playing ? this.animate() : this.render() } }, { key: "animate", value: function () { var t = this.progress; this.progress = this.progressCheck(), t > .8 && this.progress < .2 && (this.progressOffset = this.progress), this.render(), this.playing && requestAnimationFrame(this.animate.bind(this)) } }, { key: "render", value: function () { var t = this.playing ? this.progress : 0, e = this.diameter2 - this.thickness, r = this.diameter2, n = this.diameter2, i = 28; this.progressOffset += .1 * (1 - this.progressOffset); var a = -Math.PI / 2 + t * (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(r, n, e + 4, 0, 2 * Math.PI, !1), this.context.fillStyle = "rgba( 0, 0, 0, 0.4 )", this.context.fill(), this.context.beginPath(), this.context.arc(r, n, e, 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(r, n, e, o, a, !1), this.context.lineWidth = this.thickness, this.context.strokeStyle = "#fff", this.context.stroke()), this.context.translate(r - 14, n - 14), this.playing ? (this.context.fillStyle = "#fff", this.context.fillRect(0, 0, 10, i), this.context.fillRect(18, 0, 10, i)) : (this.context.beginPath(), this.context.translate(4, 0), this.context.moveTo(0, 0), this.context.lineTo(24, 14), this.context.lineTo(0, i), this.context.fillStyle = "#fff", this.context.fill()), this.context.restore() } }, { key: "on", value: function (t, e) { this.canvas.addEventListener(t, e, !1) } }, { key: "off", value: function (t, e) { this.canvas.removeEventListener(t, e, !1) } }, { key: "destroy", value: function () { this.playing = !1, this.canvas.parentNode && this.container.removeChild(this.canvas) } }]), t }(), Fm = { 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: [] }, Hm = "4.3.1", jm = h, Um = []; return jm.initialize = function (t) { return Object.assign(jm, new h(document.querySelector(".reveal"), t)), Um.map(function (t) { return t(jm) }), jm.initialize() }, ["configure", "on", "off", "addEventListener", "removeEventListener", "registerPlugin"].forEach(function (t) { jm[t] = function () { for (var e = arguments.length, r = new Array(e), n = 0; n < e; n++)r[n] = arguments[n]; Um.push(function (e) { var n; return (n = e[t]).call.apply(n, [null].concat(r)) }) } }), jm.isReady = function () { return !1 }, jm.VERSION = Hm, jm
}), SL("deck").Animation = { init: function () { this.animationListeners = [], this.animationsEnabled = !0, this.run = this.run.bind(this), this.reset = this.reset.bind(this), this.toggle = this.toggle.bind(this), this.onSlideChanged = this.onSlideChanged.bind(this), Reveal.addEventListener("slidechanged", this.onSlideChanged), this.revealElement = document.querySelector(".reveal"), this.interactiveAnimationChanged = new signals.Signal }, sync: function () { this.animationsEnabled ? this.enableAnimations() : this.disableAnimations() }, enableAnimations: function () { this.animationsEnabled = !0, this.revealElement.classList.remove("block-animations-disabled"), this.reset(this.revealElement); var t = Reveal.getCurrentSlide(); t && this.fastForwardAnimation(t, function () { this.run(t), this.bind(t) }.bind(this)) }, disableAnimations: function () { this.animationsEnabled = !1, this.revealElement.classList.add("block-animations-disabled"), this.unbind(), this.fastForwardAnimation(this.revealElement) }, getAnimationTargets: function (t) { return t instanceof Array ? t : t.hasAttribute("data-animation-type") ? [t] : [].slice.call(t.querySelectorAll("[data-animation-type]")) }, getInteractiveAnimationTargets: function (t, e) { var r = e ? ".animate" : ""; return [].slice.call(t.querySelectorAll(['[data-animation-trigger="click"]', '[data-animation-trigger="hover"]'].join(r + ",") + r)) }, run: function (t, e) { this.getAnimationTargets(t).forEach(function (t) { !e && this.hasInteractiveAnimationTrigger(t) || t.classList.add("animate") }.bind(this)) }, toggle: function (t, e) { this.getAnimationTargets(t).forEach(function (t) { !e && this.hasInteractiveAnimationTrigger(t) || t.classList.toggle("animate") }.bind(this)) }, reset: function (t) { this.getAnimationTargets(t).forEach(function (t) { t.classList.remove("animate") }.bind(this)) }, preview: function (t) { !1 === this.animationsEnabled && this.revealElement.classList.remove("block-animations-disabled"), this.getAnimationTargets(t).forEach(function (t) { t.classList.remove("animate"), this.fastForwardAnimation(t, function () { t.classList.add("animate"), !1 === this.animationsEnabled && this.revealElement.classList.add("block-animations-disabled") }.bind(this)) }.bind(this)) }, bind: function (t) { this.unbind(), this.getAnimationTargets(t).forEach(function (e) { if (this.hasInteractiveAnimationTrigger(e)) { var r = e.getAttribute("data-animation-trigger-id"), n = "self" === r ? e : t.querySelector('.sl-block[data-block-id="' + r + '"] .sl-block-content'); if (n) { var i = e.getAttribute("data-animation-trigger"); "click" === i ? (this.addAnimationEventListener(n, "touchstart", this.onTriggerTouchStart.bind(this, e)), this.addAnimationEventListener(n, "click", this.onTriggerClick.bind(this, e))) : "hover" === i && (this.addAnimationEventListener(n, "mouseover", this.onTriggerMouseOver.bind(this, e)), this.addAnimationEventListener(n, "mouseout", this.onTriggerMouseOut.bind(this, e))) } } }.bind(this)) }, addAnimationEventListener: function (t, e, r) { t.addEventListener(e, r), /click|touchstart/gi.test(e) && t.classList.add("animation-trigger"), this.animationListeners.push([t, e, r]) }, unbind: function () { this.animationListeners.forEach(function (t) { var e = t[0], r = t[1], n = t[2]; /click|touchstart/gi.test(r) && e.classList.remove("animation-trigger"), e.removeEventListener(r, n) }), this.animationListeners.length = 0 }, hasInteractiveAnimationTrigger: function (t) { return /click|hover/gi.test(t.getAttribute("data-animation-trigger")) }, fastForwardAnimation: function (t, e) { t.classList.add("no-transition"), setTimeout(function () { t.classList.remove("no-transition"), "function" == typeof e && e() }, 1) }, getSerializedInteractiveState: function () { return this.getInteractiveAnimationTargets(Reveal.getCurrentSlide(), !0).map(function (t) { var e = this.getParentBlock(t); return e ? e.getAttribute("data-block-id") : null }, this).filter(function (t) { return "string" == typeof t }).join(",") }, setSerializedInteractiveState: function (t) { var e = this.getInteractiveAnimationTargets(Reveal.getCurrentSlide()); if (e.length && "string" == typeof t) { t = t.split(","); var r = [], n = []; e.forEach(function (e) { var i = this.getParentBlock(e), a = i ? i.getAttribute("data-block-id") : null; "string" == typeof a && -1 !== t.indexOf(a) ? n.push(e) : r.push(e) }, this), this.reset(r), this.run(n, !0) } }, getParentBlock: function (t) { for (var e = t.parentNode; e && !e.hasAttribute("data-block-id");)e = e.parentNode; return e }, onSlideChanged: function (t) { this.animationsEnabled && (t.previousSlide && (this.reset(t.previousSlide), this.unbind()), t.currentSlide && (this.run(t.currentSlide), this.bind(t.currentSlide))) }, onTriggerTouchStart: function (t, e) { e.preventDefault(), this.toggle(t, !0), this.interactiveAnimationChanged.dispatch() }, onTriggerClick: function (t) { Reveal.isAutoSliding() && Reveal.getConfig().autoSlideStoppable && Reveal.toggleAutoSlide(!1), this.toggle(t, !0), this.interactiveAnimationChanged.dispatch() }, onTriggerMouseOver: function (t) { this.run(t, !0), this.interactiveAnimationChanged.dispatch() }, onTriggerMouseOut: function (t) { this.reset(t), this.interactiveAnimationChanged.dispatch() } }, SL("deck").AutoAnimate = { ANIMATABLE_BLOCK_CONTENT_STYLES: ["color", "background-color", "padding", "font-size", "line-height", "letter-spacing", "border-width", "border-color", "border-radius"], init: function () { this.onAutoAnimate = this.onAutoAnimate.bind(this), Reveal.addEventListener("autoanimate", this.onAutoAnimate) }, matcher: function (t, e) { var r = []; return SL.deck.AutoAnimate.findMatchingElements(r, t, e, ".sl-block[data-name]", function (t) { return t.nodeName + ":::" + t.getAttribute("data-name") }), SL.deck.AutoAnimate.findMatchingElements(r, t, e, '.sl-block[data-block-type="text"], .sl-block[data-block-type="snippet"], .sl-block[data-block-type="table"]', function (t) { return t.getAttribute("data-block-type") + ":::" + t.innerText }), SL.deck.AutoAnimate.findMatchingElements(r, t, e, '.sl-block[data-block-type="image"], .sl-block[data-block-type="video"]', function (t) { var e = t.querySelector("img[src], video[src]"); return e ? e.getAttribute("src") : null }), SL.deck.AutoAnimate.findMatchingElements(r, t, e, '.sl-block[data-block-type="iframe"]', function (t) { var e = t.querySelector("iframe[src], iframe[data-src]"); return e ? e.getAttribute("src") || e.getAttribute("data-src") : null }), SL.deck.AutoAnimate.findMatchingElements(r, t, e, '.sl-block[data-block-type="code"]', function (t) { return t.querySelector(":not(.editing-ui) pre code").textContent }), SL.deck.AutoAnimate.findMatchingElements(r, t, e, '.sl-block[data-block-type="math"]', function (t) { return t.querySelector(".math-input").textContent }), SL.deck.AutoAnimate.expandBlockPairs(r) }, findMatchingElements: function (t, e, r, n, i, a) { var o = {}, s = {};[].slice.call(e.querySelectorAll(n)).forEach(function (t) { var e = i(t); "string" == typeof e && e.length && (o[e] = o[e] || [], o[e].push(t)) }), [].slice.call(r.querySelectorAll(n)).forEach(function (e) { var r, n = i(e); if (s[n] = s[n] || [], s[n].push(e), o[n]) { var l = s[n].length - 1, c = o[n].length - 1; o[n][l] ? (r = o[n][l], o[n][l] = null) : o[n][c] && (r = o[n][c], o[n][c] = null) } r && t.push({ from: r, to: e, options: a || { styles: [] } }) }) }, expandBlockPairs: function (t) { return t.forEach(function (e) { var r = e.from, n = e.to, i = r.querySelector(".sl-block-content"), a = n.querySelector(".sl-block-content"); i && a && SL.deck.AutoAnimate.expandBlockPair(t, e, r, n, i, a) }), t }, expandBlockPair: function (t, e, r, n, i, a) { var o = r.querySelector(".sl-block-style"), s = n.querySelector(".sl-block-style"); o && o.closest(".sl-block") !== r && (o = null), s && s.closest(".sl-block") !== n && (s = null); var l = r.getAttribute("data-block-type"), c = {}, u = {}; return n.dataset.autoAnimateDelay && (e.options.delay = parseFloat(n.dataset.autoAnimateDelay)), n.dataset.autoAnimateDuration && (e.options.duration = parseFloat(n.dataset.autoAnimateDuration)), n.dataset.autoAnimateEasing && (e.options.easing = n.dataset.autoAnimateEasing), c["z-index"] = { property: "z-index", from: a.style.zIndex, to: a.style.zIndex }, /text|snippet|table/i.test(l) ? c.width = { property: "width" } : /code|math/i.test(l) && (c.width = { property: "width" }, c.height = { property: "height" }), o && s ? (c.opacity = { property: "opacity", from: o.style.opacity || "1", to: s.style.opacity || "1" }, (o.style.transform || s.style.transform) && (c.width = { property: "width" }, c.height = { property: "height" }, t.push({ from: o, to: s, options: { translate: !1, scale: !1, styles: [{ property: "transform" }] } }))) : o ? (c.opacity = { property: "opacity", from: o.style.opacity || "1", to: "1" }, o.style.transform && (c.width = { property: "width" }, c.height = { property: "height" }, u.transform = { property: "transform", from: o.style.transform, to: "none" })) : s && (c.opacity = { property: "opacity", from: "1", to: s.style.opacity || "1" }, s.style.transform && (c.width = { property: "width" }, c.height = { property: "height" }, t.push({ from: document.createElement("div"), to: s, options: { translate: !1, scale: !1, styles: [{ property: "transform", from: "none" }] } }))), t.push({ from: i, to: a, options: { translate: !1, scale: !1, styles: SL.deck.AutoAnimate.ANIMATABLE_BLOCK_CONTENT_STYLES.concat(Object.keys(u).map(function (t) { return u[t] })) } }), /text/i.test(l) && this.expandTextBlock(t, e, r, n), /code/i.test(l) && this.expandCodeBlock(t, e, r, n), /shape/i.test(l) && this.expandShapeBlock(t, e, r, n), /line/i.test(l) && this.expandLineBlock(t, e, r, n), e.options.styles = e.options.styles.concat(Object.keys(c).map(function (t) { return c[t] })), (c.width || c.height) && (e.options.scale = !1), t }, expandTextBlock: function (t, e, r, n) { SL.deck.AutoAnimate.findMatchingElements(t, r, n, "li>p", function (t) { return t.innerText.trim() }, { scale: !1, translate: !1, measure: SL.deck.AutoAnimate.getLocalBlockMeasurements }), SL.deck.AutoAnimate.findMatchingElements(t, r, n, "ul li, ol li", function (t) { return Array.prototype.map.call(t.childNodes, function (t) { return /li|ul|ol/i.test(t.nodeName) ? "" : t.textContent.trim() }).join("") }, { scale: !1, measure: SL.deck.AutoAnimate.getLocalBlockMeasurements }), SL.deck.AutoAnimate.findMatchingElements(t, r, n, 'span[style*="font-size"]', function (t) { return t.textContent.trim() }, { scale: !1, translate: !1, styles: [{ property: "font-size" }] }) }, expandCodeBlock: function (t, e, r, n) { var i = n.querySelector("code.current-fragment"); i && (n = i), SL.deck.AutoAnimate.findMatchingElements(t, r, n, ".hljs-ln-code", function (t) { return t.textContent }, { scale: !1, styles: [], measure: SL.deck.AutoAnimate.getLocalBlockMeasurements }), SL.deck.AutoAnimate.findMatchingElements(t, r, n, ".hljs-ln-line[data-line-number]", function (t) { return t.getAttribute("data-line-number") }, { scale: !1, styles: ["width"], measure: SL.deck.AutoAnimate.getLocalBlockMeasurements }) }, expandShapeBlock: function (t, e, r, n) { var i = r.querySelector(".shape-element"), a = n.querySelector(".shape-element"), o = [{ property: "fill" }, { property: "stroke" }]; /rect/i.test(a.nodeName) && o.push({ property: "rx" }, { property: "ry" }), i && a && t.push({ from: i, to: a, options: { translate: !1, scale: !1, styles: o } }) }, expandLineBlock: function (t, e, r, n) { var i = r.querySelector(".line-element"), a = n.querySelector(".line-element"); i && a && t.push({ from: i, to: a, options: { translate: !1, scale: !1, styles: [{ property: "stroke" }, { property: "stroke-width" }] } }) }, getLocalBlockMeasurements: function (t) { var e = Reveal.getScale(); return { x: Math.round(t.offsetLeft * e * 100) / 100, y: Math.round(t.offsetTop * e * 100) / 100, width: Math.round(t.offsetWidth * e * 100) / 100, height: Math.round(t.offsetHeight * e * 100) / 100 } }, onAutoAnimate: function (t) { var e = []; Array.prototype.forEach.call(t.toSlide.querySelectorAll('.sl-block[data-auto-animate-target^="unmatched"]'), function (t) { var r = t.getAttribute("data-block-id"), n = t.querySelector(".sl-block-content"); n && e.push('.reveal [data-auto-animate-target="unmatched"][data-block-id="' + r + '"] { z-index: ' + n.style.zIndex + "; }") }), e.length && (t.sheet.innerHTML += e.join("")) } }, SL("deck").Controller = { MODE_VIEWING: "viewing", MODE_EDITING: "editing", MODE_PRINTING: "printing", init: function (t) { this.options = t || {}, this.options.mode = "string" == typeof this.options.mode ? this.options.mode : SL.deck.Controller.MODE_VIEWING, this.mode = null, SL.deck.Media.init(this.options), this.options.mode === SL.deck.Controller.MODE_VIEWING && SL.deck.util.formatIframes(), Reveal.isReady() ? this.setup() : Reveal.addEventListener("ready", this.setup.bind(this)) }, setup: function () { SL.deck.Animation.init(), SL.deck.AutoAnimate.init(), this.setMode(this.options.mode) }, setMode: function (t) { this.mode = t, this.mode === SL.deck.Controller.MODE_EDITING || this.mode === SL.deck.Controller.MODE_PRINTING ? SL.deck.Animation.disableAnimations() : SL.deck.Animation.enableAnimations() } }, SL("deck").Media = { init: function (t) { this.options = t, this.supportsCDN() && (this.switchToCDN(".reveal img[src], .reveal video[src]", "src"), this.switchToCDN(".reveal img[data-src], .reveal video[data-src]", "data-src"), this.switchToCDN(".reveal video[poster]", "poster"), this.switchToCDN(".reveal [data-background-video]", "data-background-video"), this.switchToCDN(".reveal [data-background-image]", "data-background-image")) }, supportsCDN: function () { return SL.config && this.options.mode === SL.deck.Controller.MODE_VIEWING && !document.documentElement.classList.contains("sl-editor") }, switchToCDN: function (t, e) { document.querySelectorAll(t).forEach(function (t) { var r = t.getAttribute(e); 0 === r.lastIndexOf(SL.config.S3_HOST, 0) && t.setAttribute(e, r.replace(SL.config.S3_HOST, SL.config.CDN_HOST)) }, this) } }, SL("deck").util = { extend: function (t) { return Array.prototype.forEach.call(arguments, function (e) { for (var r in e) t[r] = e[r] }, t), t }, renderMath: function (t) { SL.deck.util.renderMathBlocks(t), SL.deck.util.renderInlineMath(t) }, renderMathBlocks: function (t) { t || (t = document.querySelector(".reveal .slides")), window.katex && "function" == typeof window.katex.render && [].slice.call(t.querySelectorAll('.sl-block[data-block-type="math"]')).forEach(function (t) { var e = t.querySelector(".math-input"), r = t.querySelector(".math-output"); e && !r && ((r = document.createElement("div")).className = "math-output", e.parentNode.insertBefore(r, e)), e && r && katex.render(e.innerText, r) }) }, renderInlineMath: function (t) { t || (t = document.querySelector(".reveal .slides")), "function" == typeof window.renderMathInElement && SL.deck.util.containsInlineMath(t) && renderMathInElement(t, { delimiters: [{ left: "$$", right: "$$", display: !0 }, { left: "\\[", right: "\\]", display: !0 }, { left: "\\(", right: "\\)", display: !1 }] }) }, containsInlineMath: function (t) { return !!t && /\$\$.+\$\$|\\\[.+\\\]|\\\(.+\\\)/g.test(t.innerHTML) }, injectCodeCopyButtons: function () { var t = [].slice.call(document.querySelectorAll('.sl-block[data-block-type="code"] .sl-block-content:not(.has-copy-button)')); t.length && (this.copyButton = document.createElement("button"), this.copyButton.className = "copy-code-to-clipboard", this.copyButton.textContent = "Copy", this.copyButton.addEventListener("click", function () { this.copyButton.hasAttribute("data-code-to-copy") && (this.copyButton.textContent = "Copied!", this.copyButton.classList.add("bounce"), SL.deck.util.copyToClipboard(this.copyButton.getAttribute("data-code-to-copy")), setTimeout(function () { this.copyButton.textContent = "Copy", this.copyButton.classList.remove("bounce") }.bind(this), 1500)) }.bind(this)), t.forEach(function (t) { var e, r = t.querySelector("pre code"); r && (e = r.hasAttribute("data-plaintext") ? r.getAttribute("data-plaintext") : r.textContent), e && t.addEventListener("mouseenter", function (t) { this.copyButton.setAttribute("data-code-to-copy", e), t.currentTarget.classList.add("has-copy-button"), t.currentTarget.appendChild(this.copyButton) }.bind(this)) }, this)) }, hasNotes: function () { if (SLConfig.deck && SLConfig.deck.notes) for (var t in SLConfig.deck.notes) return !0; return document.querySelectorAll(".reveal .slides section[data-notes]").length > 0 }, injectNotes: function () { SLConfig.deck && SLConfig.deck.notes && [].forEach.call(document.querySelectorAll(".reveal .slides section"), function (t) { var e = SLConfig.deck.notes[t.getAttribute("data-id")]; e && "string" == typeof e && t.setAttribute("data-notes", e) }) }, injectTranslationRules: function () { [].slice.call(document.querySelectorAll(".sl-block .katex")).forEach(function (t) { t.classList.add("notranslate") }) }, formatIframes: function () { [].slice.call(document.querySelectorAll(".sl-block iframe[data-src]")).forEach(this.formatIframe.bind(this)) }, formatIframe: function (t) { t.setAttribute("allowfullscreen", ""), t.setAttribute("allow", "fullscreen"); var e = t.getAttribute("src") || t.getAttribute("data-src"); "string" != typeof e || /\.pdf$/i.test(e) ? t.removeAttribute("sandbox") : t.setAttribute("sandbox", "allow-forms allow-scripts allow-popups allow-same-origin allow-pointer-lock allow-presentation") }, copyToClipboard: function (t) { var e = document.createElement("textarea"); e.value = t, document.body.appendChild(e), e.select(); var r = document.execCommand("copy"); return document.body.removeChild(e), r } };