2025-11-20 09:41:20 +08:00

69 lines
478 KiB
JavaScript

!function (t, e) { "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.katex = e() : t.katex = e() }("undefined" != typeof self ? self : this, function () {
return function (t) { function e(n) { if (r[n]) return r[n].exports; var i = r[n] = { i: n, l: !1, exports: {} }; return t[n].call(i.exports, i, i.exports, e), i.l = !0, i.exports } var r = {}; return e.m = t, e.c = r, e.d = function (t, r, n) { e.o(t, r) || Object.defineProperty(t, r, { enumerable: !0, get: n }) }, e.r = function (t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) }, e.t = function (t, r) { if (1 & r && (t = e(t)), 8 & r) return t; if (4 & r && "object" == typeof t && t && t.__esModule) return t; var n = Object.create(null); if (e.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: t }), 2 & r && "string" != typeof t) for (var i in t) e.d(n, i, function (e) { return t[e] }.bind(null, i)); return n }, e.n = function (t) { var r = t && t.__esModule ? function () { return t["default"] } : function () { return t }; return e.d(r, "a", r), r }, e.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e) }, e.p = "", e(e.s = 1) }([function () { }, function (t, e, r) {
"use strict"; function n(t) { for (var e = 0; e < X.length; e += 2)if (t >= X[e] && t <= X[e + 1]) return !0; return !1 } function i(t) { if (t instanceof at) return t; throw new Error("Expected symbolNode but got " + String(t) + ".") } function a(t, e, r) { if (!ct[e]) throw new Error("Font metrics not found for font: " + e + "."); var i = t.charCodeAt(0), a = ct[e][i]; if (!a && t[0] in ht && (i = ht[t[0]].charCodeAt(0), a = ct[e][i]), a || "text" !== r || n(i) && (a = ct[e][77]), a) return { depth: a[0], height: a[1], italic: a[2], skew: a[3], width: a[4] } } function o(t, e, r, n, i, a) { ft[t][i] = { font: e, group: r, replace: n }, a && n && (ft[t][n] = ft[t][i]) } function s(t, e) { var r = l(t, e); if (!r) throw new Error("Expected node of type " + e + ", but got " + (t ? "node of type " + t.type : String(t))); return r } function l(t, e) { return t && t.type === e ? t : null } function c(t, e) { var r = function (t, e) { return t && "atom" === t.type && t.family === e ? t : null }(t, e); if (!r) throw new Error('Expected node of type "atom" and family "' + e + '", but got ' + (t ? "atom" === t.type ? "atom of family " + t.family : "node of type " + t.type : String(t))); return r } function u(t) { var e = h(t); if (!e) throw new Error("Expected node of symbol group type, but got " + (t ? "node of type " + t.type : String(t))); return e } function h(t) { return t && ("atom" === t.type || pt.hasOwnProperty(t.type)) ? t : null } function d(t) { for (var e = t.type, r = t.names, n = t.props, i = t.handler, a = t.htmlBuilder, o = t.mathmlBuilder, s = { type: e, numArgs: n.numArgs, argTypes: n.argTypes, greediness: void 0 === n.greediness ? 1 : n.greediness, allowedInText: !!n.allowedInText, allowedInMath: void 0 === n.allowedInMath || n.allowedInMath, numOptionalArgs: n.numOptionalArgs || 0, infix: !!n.infix, handler: i }, l = 0; l < r.length; ++l)de[r[l]] = s; e && (a && (me[e] = a), o && (pe[e] = o)) } function m(t) { d({ type: t.type, names: [], props: { numArgs: 0 }, handler: function () { throw new Error("Should never be called.") }, htmlBuilder: t.htmlBuilder, mathmlBuilder: t.mathmlBuilder }) } function p(t, e) { var r = ge(["base"], t, e), n = ge(["strut"]); return n.style.height = r.height + r.depth + "em", n.style.verticalAlign = -r.depth + "em", r.children.unshift(n), r } function f(t, e) { var r = null; 1 === t.length && "tag" === t[0].type && (r = t[0].tag, t = t[0].body); for (var n, i = we(t, e, !0), a = [], o = [], s = 0; s < i.length; s++)if (o.push(i[s]), i[s].hasClass("mbin") || i[s].hasClass("mrel") || i[s].hasClass("allowbreak")) { for (var l = !1; s < i.length - 1 && i[s + 1].hasClass("mspace") && !i[s + 1].hasClass("newline");)s++, o.push(i[s]), i[s].hasClass("nobreak") && (l = !0); l || (a.push(p(o, e)), o = []) } else i[s].hasClass("newline") && (o.pop(), o.length > 0 && (a.push(p(o, e)), o = []), a.push(i[s])); o.length > 0 && a.push(p(o, e)), r && ((n = p(we(r, e, !0))).classes = ["tag"], a.push(n)); var c = ge(["katex-html"], a); if (c.setAttribute("aria-hidden", "true"), n) { var u = n.children[0]; u.style.height = c.height + c.depth + "em", u.style.verticalAlign = -c.depth + "em" } return c } function g(t) { return new $(t) } function v(t, e, r, n) { var i, a = Pe(t, r); i = 1 === a.length && a[0] instanceof Re && B.contains(["mrow", "mtable"], a[0].type) ? a[0] : new Ce.MathNode("mrow", a); var o = new Ce.MathNode("annotation", [new Ce.TextNode(e)]); o.setAttribute("encoding", "application/x-tex"); var s = new Ce.MathNode("semantics", [i, o]), l = new Ce.MathNode("math", [s]); l.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"); var c = n ? "katex" : "katex-mathml"; return oe.makeSpan([c], [l]) } function y(t, e) { var r = h(t); if (r && B.contains(xr, r.text)) return r; throw new z("Invalid delimiter: '" + (r ? r.text : JSON.stringify(t)) + "' after '" + e.funcName + "'", t) } function b(t) { if (!t.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.") } function x(t) { for (var e = t.type, r = t.names, n = t.props, i = t.handler, a = t.htmlBuilder, o = t.mathmlBuilder, s = { type: e, numArgs: n.numArgs || 0, greediness: 1, allowedInText: !1, numOptionalArgs: 0, handler: i }, l = 0; l < r.length; ++l)Sr[r[l]] = s; a && (me[e] = a), o && (pe[e] = o) } function w(t) { var e = []; t.consumeSpaces(); for (var r = t.fetch().text; "\\hline" === r || "\\hdashline" === r;)t.consume(), e.push("\\hdashline" === r), t.consumeSpaces(), r = t.fetch().text; return e } function k(t, e, r) { var n = e.hskipBeforeAndAfter, i = e.addJot, a = e.cols, o = e.arraystretch, l = e.colSeparationType; if (t.gullet.beginGroup(), t.gullet.macros.set("\\\\", "\\cr"), !o) { var c = t.gullet.expandMacroAsText("\\arraystretch"); if (null == c) o = 1; else if (!(o = parseFloat(c)) || o < 0) throw new z("Invalid \\arraystretch: " + c) } t.gullet.beginGroup(); var u = [], h = [u], d = [], m = []; for (m.push(w(t)); ;) { var p = t.parseExpression(!1, "\\cr"); t.gullet.endGroup(), t.gullet.beginGroup(), p = { type: "ordgroup", mode: t.mode, body: p }, r && (p = { type: "styling", mode: t.mode, style: r, body: [p] }), u.push(p); var f = t.fetch().text; if ("&" === f) t.consume(); else { if ("\\end" === f) { 1 === u.length && "styling" === p.type && 0 === p.body[0].body.length && h.pop(), m.length < h.length + 1 && m.push([]); break } if ("\\cr" !== f) throw new z("Expected & or \\\\ or \\cr or \\end", t.nextToken); var g = s(t.parseFunction(), "cr"); d.push(g.size), m.push(w(t)), u = [], h.push(u) } } return t.gullet.endGroup(), t.gullet.endGroup(), { type: "array", mode: t.mode, addJot: i, arraystretch: o, body: h, cols: a, rowGaps: d, hskipBeforeAndAfter: n, hLinesBeforeRow: m, colSeparationType: l } } function S(t) { return "d" === t.substr(0, 1) ? "display" : "text" } function A(t, e) { var r = we(t.body, e, !0); return Cr([t.mclass], r, e) } function E(t, e) { var r, n = Pe(t.body, e); return "minner" === t.mclass ? Ce.newDocumentFragment(n) : ("mord" === t.mclass ? t.isCharacterBox ? (r = n[0]).type = "mi" : r = new Ce.MathNode("mi", n) : (t.isCharacterBox ? (r = n[0]).type = "mo" : r = new Ce.MathNode("mo", n), "mbin" === t.mclass ? (r.attributes.lspace = "0.22em", r.attributes.rspace = "0.22em") : "mpunct" === t.mclass ? (r.attributes.lspace = "0em", r.attributes.rspace = "0.17em") : "mopen" !== t.mclass && "mclose" !== t.mclass || (r.attributes.lspace = "0em", r.attributes.rspace = "0em")), r) } function M(t, e, r) { for (var n = we(t, e, !1), i = e.sizeMultiplier / r.sizeMultiplier, a = 0; a < n.length; a++) { var o = n[a].classes.indexOf("sizing"); o < 0 ? Array.prototype.push.apply(n[a].classes, e.sizingClasses(r)) : n[a].classes[o + 1] === "reset-size" + e.size && (n[a].classes[o + 1] = "reset-size" + r.size), n[a].height *= i, n[a].depth *= i } return oe.makeFragment(n) } function R(t, e) { mn[t] = e } r.r(e), r(0); var T = function () { function t(t, e, r) { this.lexer = void 0, this.start = void 0, this.end = void 0, this.lexer = t, this.start = e, this.end = r } return t.range = function (e, r) { return r ? e && e.loc && r.loc && e.loc.lexer === r.loc.lexer ? new t(e.loc.lexer, e.loc.start, r.loc.end) : null : e && e.loc }, t }(), C = function () { function t(t, e) { this.text = void 0, this.loc = void 0, this.text = t, this.loc = e } return t.prototype.range = function (e, r) { return new t(r, T.range(this, e)) }, t }(), L = function zn(t, e) { this.position = void 0; var r, n = "KaTeX parse error: " + t, i = e && e.loc; if (i && i.start <= i.end) { var a = i.lexer.input; r = i.start; var o = i.end; r === a.length ? n += " at end of input: " : n += " at position " + (r + 1) + ": "; var s = a.slice(r, o).replace(/[^]/g, "$&\u0332"); n += (r > 15 ? "\u2026" + a.slice(r - 15, r) : a.slice(0, r)) + s + (o + 15 < a.length ? a.slice(o, o + 15) + "\u2026" : a.slice(o)) } var l = new Error(n); return l.name = "ParseError", l.__proto__ = zn.prototype, l.position = r, l }; L.prototype.__proto__ = Error.prototype; var z = L, N = /([A-Z])/g, P = { "&": "&amp;", ">": "&gt;", "<": "&lt;", '"': "&quot;", "'": "&#x27;" }, I = /[&><"']/g, O = function Nn(t) { return "ordgroup" === t.type ? 1 === t.body.length ? Nn(t.body[0]) : t : "color" === t.type ? 1 === t.body.length ? Nn(t.body[0]) : t : "font" === t.type ? Nn(t.body) : t }, B = { contains: function (t, e) { return -1 !== t.indexOf(e) }, deflt: function (t, e) { return void 0 === t ? e : t }, escape: function (t) { return String(t).replace(I, function (t) { return P[t] }) }, hyphenate: function (t) { return t.replace(N, "-$1").toLowerCase() }, getBaseElem: O, isCharacterBox: function (t) { var e = O(t); return "mathord" === e.type || "textord" === e.type || "atom" === e.type }, protocolFromUrl: function (t) { var e = /^\s*([^\\\/#]*?)(?::|&#0*58|&#x0*3a)/i.exec(t); return null != e ? e[1] : "_relative" } }, q = function () { function t(t) { this.displayMode = void 0, this.output = void 0, this.leqno = void 0, this.fleqn = void 0, this.throwOnError = void 0, this.errorColor = void 0, this.macros = void 0, this.minRuleThickness = void 0, this.colorIsTextColor = void 0, this.strict = void 0, this.trust = void 0, this.maxSize = void 0, this.maxExpand = void 0, t = t || {}, this.displayMode = B.deflt(t.displayMode, !1), this.output = B.deflt(t.output, "htmlAndMathml"), this.leqno = B.deflt(t.leqno, !1), this.fleqn = B.deflt(t.fleqn, !1), this.throwOnError = B.deflt(t.throwOnError, !0), this.errorColor = B.deflt(t.errorColor, "#cc0000"), this.macros = t.macros || {}, this.minRuleThickness = Math.max(0, B.deflt(t.minRuleThickness, 0)), this.colorIsTextColor = B.deflt(t.colorIsTextColor, !1), this.strict = B.deflt(t.strict, "warn"), this.trust = B.deflt(t.trust, !1), this.maxSize = Math.max(0, B.deflt(t.maxSize, 1 / 0)), this.maxExpand = Math.max(0, B.deflt(t.maxExpand, 1e3)) } var e = t.prototype; return e.reportNonstrict = function (t, e, r) { var n = this.strict; if ("function" == typeof n && (n = n(t, e, r)), n && "ignore" !== n) { if (!0 === n || "error" === n) throw new z("LaTeX-incompatible input and strict mode is set to 'error': " + e + " [" + t + "]", r); "warn" === n ? "undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + e + " [" + t + "]") : "undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '" + n + "': " + e + " [" + t + "]") } }, e.useStrictBehavior = function (t, e, r) { var n = this.strict; if ("function" == typeof n) try { n = n(t, e, r) } catch (t) { n = "error" } return !(!n || "ignore" === n || !0 !== n && "error" !== n && ("warn" === n ? ("undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + e + " [" + t + "]"), 1) : ("undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '" + n + "': " + e + " [" + t + "]"), 1))) }, e.isTrusted = function (t) { t.url && !t.protocol && (t.protocol = B.protocolFromUrl(t.url)); var e = "function" == typeof this.trust ? this.trust(t) : this.trust; return Boolean(e) }, t }(), D = function () { function t(t, e, r) { this.id = void 0, this.size = void 0, this.cramped = void 0, this.id = t, this.size = e, this.cramped = r } var e = t.prototype; return e.sup = function () { return F[H[this.id]] }, e.sub = function () { return F[j[this.id]] }, e.fracNum = function () { return F[U[this.id]] }, e.fracDen = function () { return F[_[this.id]] }, e.cramp = function () { return F[V[this.id]] }, e.text = function () { return F[W[this.id]] }, e.isTight = function () { return this.size >= 2 }, t }(), F = [new D(0, 0, !1), new D(1, 0, !0), new D(2, 1, !1), new D(3, 1, !0), new D(4, 2, !1), new D(5, 2, !0), new D(6, 3, !1), new D(7, 3, !0)], H = [4, 5, 4, 5, 6, 7, 6, 7], j = [5, 5, 5, 5, 7, 7, 7, 7], U = [2, 3, 4, 5, 6, 7, 6, 7], _ = [3, 3, 5, 5, 7, 7, 7, 7], V = [1, 1, 3, 3, 5, 5, 7, 7], W = [0, 1, 2, 3, 2, 3, 2, 3], G = { DISPLAY: F[0], TEXT: F[2], SCRIPT: F[4], SCRIPTSCRIPT: F[6] }, Y = [{ name: "latin", blocks: [[256, 591], [768, 879]] }, { name: "cyrillic", blocks: [[1024, 1279]] }, { name: "brahmic", blocks: [[2304, 4255]] }, { name: "georgian", blocks: [[4256, 4351]] }, { name: "cjk", blocks: [[12288, 12543], [19968, 40879], [65280, 65376]] }, { name: "hangul", blocks: [[44032, 55215]] }], X = []; Y.forEach(function (t) { return t.blocks.forEach(function (t) { return X.push.apply(X, t) }) }); var K = { doubleleftarrow: "M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z", doublerightarrow: "M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z", leftarrow: "M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z", leftbrace: "M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z", leftbraceunder: "M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z", leftgroup: "M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z", leftgroupunder: "M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z", leftharpoon: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z", leftharpoonplus: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z", leftharpoondown: "M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z", leftharpoondownplus: "M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z", lefthook: "M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z", leftlinesegment: "M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z", leftmapsto: "M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z", leftToFrom: "M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z", longequal: "M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z", midbrace: "M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z", midbraceunder: "M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z", oiintSize1: "M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z", oiintSize2: "M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z", oiiintSize1: "M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z", oiiintSize2: "M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z", rightarrow: "M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z", rightbrace: "M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z", rightbraceunder: "M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z", rightgroup: "M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z", rightgroupunder: "M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z", rightharpoon: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z", rightharpoonplus: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z", rightharpoondown: "M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z", rightharpoondownplus: "M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z", righthook: "M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z", rightlinesegment: "M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z", rightToFrom: "M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z", twoheadleftarrow: "M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z", twoheadrightarrow: "M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z", tilde1: "M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z", tilde2: "M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z", tilde3: "M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z", tilde4: "M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z", vec: "M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z", widehat1: "M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z", widehat2: "M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", widehat3: "M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", widehat4: "M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", widecheck1: "M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z", widecheck2: "M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", widecheck3: "M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", widecheck4: "M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", baraboveleftarrow: "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z", rightarrowabovebar: "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z", baraboveshortleftharpoon: "M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z", rightharpoonaboveshortbar: "M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z", shortbaraboveleftharpoon: "M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z", shortrightharpoonabovebar: "M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z" }, $ = function () { function t(t) { this.children = void 0, this.classes = void 0, this.height = void 0, this.depth = void 0, this.maxFontSize = void 0, this.style = void 0, this.children = t, this.classes = [], this.height = 0, this.depth = 0, this.maxFontSize = 0, this.style = {} } var e = t.prototype; return e.hasClass = function (t) { return B.contains(this.classes, t) }, e.toNode = function () { for (var t = document.createDocumentFragment(), e = 0; e < this.children.length; e++)t.appendChild(this.children[e].toNode()); return t }, e.toMarkup = function () { for (var t = "", e = 0; e < this.children.length; e++)t += this.children[e].toMarkup(); return t }, e.toText = function () { var t = function (t) { return t.toText() }; return this.children.map(t).join("") }, t }(), Z = function (t) { return t.filter(function (t) { return t }).join(" ") }, J = function (t, e, r) { if (this.classes = t || [], this.attributes = {}, this.height = 0, this.depth = 0, this.maxFontSize = 0, this.style = r || {}, e) { e.style.isTight() && this.classes.push("mtight"); var n = e.getColor(); n && (this.style.color = n) } }, Q = function (t) { var e = document.createElement(t); for (var r in e.className = Z(this.classes), this.style) this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]); for (var n in this.attributes) this.attributes.hasOwnProperty(n) && e.setAttribute(n, this.attributes[n]); for (var i = 0; i < this.children.length; i++)e.appendChild(this.children[i].toNode()); return e }, tt = function (t) { var e = "<" + t; this.classes.length && (e += ' class="' + B.escape(Z(this.classes)) + '"'); var r = ""; for (var n in this.style) this.style.hasOwnProperty(n) && (r += B.hyphenate(n) + ":" + this.style[n] + ";"); for (var i in r && (e += ' style="' + B.escape(r) + '"'), this.attributes) this.attributes.hasOwnProperty(i) && (e += " " + i + '="' + B.escape(this.attributes[i]) + '"'); e += ">"; for (var a = 0; a < this.children.length; a++)e += this.children[a].toMarkup(); return e + "</" + t + ">" }, et = function () { function t(t, e, r, n) { this.children = void 0, this.attributes = void 0, this.classes = void 0, this.height = void 0, this.depth = void 0, this.width = void 0, this.maxFontSize = void 0, this.style = void 0, J.call(this, t, r, n), this.children = e || [] } var e = t.prototype; return e.setAttribute = function (t, e) { this.attributes[t] = e }, e.hasClass = function (t) { return B.contains(this.classes, t) }, e.toNode = function () { return Q.call(this, "span") }, e.toMarkup = function () { return tt.call(this, "span") }, t }(), rt = function () { function t(t, e, r, n) { this.children = void 0, this.attributes = void 0, this.classes = void 0, this.height = void 0, this.depth = void 0, this.maxFontSize = void 0, this.style = void 0, J.call(this, e, n), this.children = r || [], this.setAttribute("href", t) } var e = t.prototype; return e.setAttribute = function (t, e) { this.attributes[t] = e }, e.hasClass = function (t) { return B.contains(this.classes, t) }, e.toNode = function () { return Q.call(this, "a") }, e.toMarkup = function () { return tt.call(this, "a") }, t }(), nt = function () { function t(t, e, r) { this.src = void 0, this.alt = void 0, this.classes = void 0, this.height = void 0, this.depth = void 0, this.maxFontSize = void 0, this.style = void 0, this.alt = e, this.src = t, this.classes = ["mord"], this.style = r } var e = t.prototype; return e.hasClass = function (t) { return B.contains(this.classes, t) }, e.toNode = function () { var t = document.createElement("img"); for (var e in t.src = this.src, t.alt = this.alt, t.className = "mord", this.style) this.style.hasOwnProperty(e) && (t.style[e] = this.style[e]); return t }, e.toMarkup = function () { var t = "<img src='" + this.src + " 'alt='" + this.alt + "' ", e = ""; for (var r in this.style) this.style.hasOwnProperty(r) && (e += B.hyphenate(r) + ":" + this.style[r] + ";"); return e && (t += ' style="' + B.escape(e) + '"'), t + "'/>" }, t }(), it = { "\xee": "\u0131\u0302", "\xef": "\u0131\u0308", "\xed": "\u0131\u0301", "\xec": "\u0131\u0300" }, at = function () { function t(t, e, r, n, i, a, o, s) { this.text = void 0, this.height = void 0, this.depth = void 0, this.italic = void 0, this.skew = void 0, this.width = void 0, this.maxFontSize = void 0, this.classes = void 0, this.style = void 0, this.text = t, this.height = e || 0, this.depth = r || 0, this.italic = n || 0, this.skew = i || 0, this.width = a || 0, this.classes = o || [], this.style = s || {}, this.maxFontSize = 0; var l = function (t) { for (var e = 0; e < Y.length; e++)for (var r = Y[e], n = 0; n < r.blocks.length; n++) { var i = r.blocks[n]; if (t >= i[0] && t <= i[1]) return r.name } return null }(this.text.charCodeAt(0)); l && this.classes.push(l + "_fallback"), /[\xee\xef\xed\xec]/.test(this.text) && (this.text = it[this.text]) } var e = t.prototype; return e.hasClass = function (t) { return B.contains(this.classes, t) }, e.toNode = function () { var t = document.createTextNode(this.text), e = null; for (var r in this.italic > 0 && ((e = document.createElement("span")).style.marginRight = this.italic + "em"), this.classes.length > 0 && ((e = e || document.createElement("span")).className = Z(this.classes)), this.style) this.style.hasOwnProperty(r) && ((e = e || document.createElement("span")).style[r] = this.style[r]); return e ? (e.appendChild(t), e) : t }, e.toMarkup = function () { var t = !1, e = "<span"; this.classes.length && (t = !0, e += ' class="', e += B.escape(Z(this.classes)), e += '"'); var r = ""; for (var n in this.italic > 0 && (r += "margin-right:" + this.italic + "em;"), this.style) this.style.hasOwnProperty(n) && (r += B.hyphenate(n) + ":" + this.style[n] + ";"); r && (t = !0, e += ' style="' + B.escape(r) + '"'); var i = B.escape(this.text); return t ? (e += ">", e += i, e += "</span>") : i }, t }(), ot = function () {
function t(t, e) { this.children = void 0, this.attributes = void 0, this.children = t || [], this.attributes = e || {} } var e = t.prototype; return e.toNode = function () {
var t = document.createElementNS("http://www.w3.org/2000/svg", "svg"); for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && t.setAttribute(e, this.attributes[e])
; for (var r = 0; r < this.children.length; r++)t.appendChild(this.children[r].toNode()); return t
}, e.toMarkup = function () { var t = "<svg"; for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && (t += " " + e + "='" + this.attributes[e] + "'"); t += ">"; for (var r = 0; r < this.children.length; r++)t += this.children[r].toMarkup(); return t + "</svg>" }, t
}(), st = function () { function t(t, e) { this.pathName = void 0, this.alternate = void 0, this.pathName = t, this.alternate = e } var e = t.prototype; return e.toNode = function () { var t = document.createElementNS("http://www.w3.org/2000/svg", "path"); return this.alternate ? t.setAttribute("d", this.alternate) : t.setAttribute("d", K[this.pathName]), t }, e.toMarkup = function () { return this.alternate ? "<path d='" + this.alternate + "'/>" : "<path d='" + K[this.pathName] + "'/>" }, t }(), lt = function () { function t(t) { this.attributes = void 0, this.attributes = t || {} } var e = t.prototype; return e.toNode = function () { var t = document.createElementNS("http://www.w3.org/2000/svg", "line"); for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && t.setAttribute(e, this.attributes[e]); return t }, e.toMarkup = function () { var t = "<line"; for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && (t += " " + e + "='" + this.attributes[e] + "'"); return t + "/>" }, t }(), ct = {
"AMS-Regular": { 65: [0, .68889, 0, 0, .72222], 66: [0, .68889, 0, 0, .66667], 67: [0, .68889, 0, 0, .72222], 68: [0, .68889, 0, 0, .72222], 69: [0, .68889, 0, 0, .66667], 70: [0, .68889, 0, 0, .61111], 71: [0, .68889, 0, 0, .77778], 72: [0, .68889, 0, 0, .77778], 73: [0, .68889, 0, 0, .38889], 74: [.16667, .68889, 0, 0, .5], 75: [0, .68889, 0, 0, .77778], 76: [0, .68889, 0, 0, .66667], 77: [0, .68889, 0, 0, .94445], 78: [0, .68889, 0, 0, .72222], 79: [.16667, .68889, 0, 0, .77778], 80: [0, .68889, 0, 0, .61111], 81: [.16667, .68889, 0, 0, .77778], 82: [0, .68889, 0, 0, .72222], 83: [0, .68889, 0, 0, .55556], 84: [0, .68889, 0, 0, .66667], 85: [0, .68889, 0, 0, .72222], 86: [0, .68889, 0, 0, .72222], 87: [0, .68889, 0, 0, 1], 88: [0, .68889, 0, 0, .72222], 89: [0, .68889, 0, 0, .72222], 90: [0, .68889, 0, 0, .66667], 107: [0, .68889, 0, 0, .55556], 165: [0, .675, .025, 0, .75], 174: [.15559, .69224, 0, 0, .94666], 240: [0, .68889, 0, 0, .55556], 295: [0, .68889, 0, 0, .54028], 710: [0, .825, 0, 0, 2.33334], 732: [0, .9, 0, 0, 2.33334], 770: [0, .825, 0, 0, 2.33334], 771: [0, .9, 0, 0, 2.33334], 989: [.08167, .58167, 0, 0, .77778], 1008: [0, .43056, .04028, 0, .66667], 8245: [0, .54986, 0, 0, .275], 8463: [0, .68889, 0, 0, .54028], 8487: [0, .68889, 0, 0, .72222], 8498: [0, .68889, 0, 0, .55556], 8502: [0, .68889, 0, 0, .66667], 8503: [0, .68889, 0, 0, .44445], 8504: [0, .68889, 0, 0, .66667], 8513: [0, .68889, 0, 0, .63889], 8592: [-.03598, .46402, 0, 0, .5], 8594: [-.03598, .46402, 0, 0, .5], 8602: [-.13313, .36687, 0, 0, 1], 8603: [-.13313, .36687, 0, 0, 1], 8606: [.01354, .52239, 0, 0, 1], 8608: [.01354, .52239, 0, 0, 1], 8610: [.01354, .52239, 0, 0, 1.11111], 8611: [.01354, .52239, 0, 0, 1.11111], 8619: [0, .54986, 0, 0, 1], 8620: [0, .54986, 0, 0, 1], 8621: [-.13313, .37788, 0, 0, 1.38889], 8622: [-.13313, .36687, 0, 0, 1], 8624: [0, .69224, 0, 0, .5], 8625: [0, .69224, 0, 0, .5], 8630: [0, .43056, 0, 0, 1], 8631: [0, .43056, 0, 0, 1], 8634: [.08198, .58198, 0, 0, .77778], 8635: [.08198, .58198, 0, 0, .77778], 8638: [.19444, .69224, 0, 0, .41667], 8639: [.19444, .69224, 0, 0, .41667], 8642: [.19444, .69224, 0, 0, .41667], 8643: [.19444, .69224, 0, 0, .41667], 8644: [.1808, .675, 0, 0, 1], 8646: [.1808, .675, 0, 0, 1], 8647: [.1808, .675, 0, 0, 1], 8648: [.19444, .69224, 0, 0, .83334], 8649: [.1808, .675, 0, 0, 1], 8650: [.19444, .69224, 0, 0, .83334], 8651: [.01354, .52239, 0, 0, 1], 8652: [.01354, .52239, 0, 0, 1], 8653: [-.13313, .36687, 0, 0, 1], 8654: [-.13313, .36687, 0, 0, 1], 8655: [-.13313, .36687, 0, 0, 1], 8666: [.13667, .63667, 0, 0, 1], 8667: [.13667, .63667, 0, 0, 1], 8669: [-.13313, .37788, 0, 0, 1], 8672: [-.064, .437, 0, 0, 1.334], 8674: [-.064, .437, 0, 0, 1.334], 8705: [0, .825, 0, 0, .5], 8708: [0, .68889, 0, 0, .55556], 8709: [.08167, .58167, 0, 0, .77778], 8717: [0, .43056, 0, 0, .42917], 8722: [-.03598, .46402, 0, 0, .5], 8724: [.08198, .69224, 0, 0, .77778], 8726: [.08167, .58167, 0, 0, .77778], 8733: [0, .69224, 0, 0, .77778], 8736: [0, .69224, 0, 0, .72222], 8737: [0, .69224, 0, 0, .72222], 8738: [.03517, .52239, 0, 0, .72222], 8739: [.08167, .58167, 0, 0, .22222], 8740: [.25142, .74111, 0, 0, .27778], 8741: [.08167, .58167, 0, 0, .38889], 8742: [.25142, .74111, 0, 0, .5], 8756: [0, .69224, 0, 0, .66667], 8757: [0, .69224, 0, 0, .66667], 8764: [-.13313, .36687, 0, 0, .77778], 8765: [-.13313, .37788, 0, 0, .77778], 8769: [-.13313, .36687, 0, 0, .77778], 8770: [-.03625, .46375, 0, 0, .77778], 8774: [.30274, .79383, 0, 0, .77778], 8776: [-.01688, .48312, 0, 0, .77778], 8778: [.08167, .58167, 0, 0, .77778], 8782: [.06062, .54986, 0, 0, .77778], 8783: [.06062, .54986, 0, 0, .77778], 8785: [.08198, .58198, 0, 0, .77778], 8786: [.08198, .58198, 0, 0, .77778], 8787: [.08198, .58198, 0, 0, .77778], 8790: [0, .69224, 0, 0, .77778], 8791: [.22958, .72958, 0, 0, .77778], 8796: [.08198, .91667, 0, 0, .77778], 8806: [.25583, .75583, 0, 0, .77778], 8807: [.25583, .75583, 0, 0, .77778], 8808: [.25142, .75726, 0, 0, .77778], 8809: [.25142, .75726, 0, 0, .77778], 8812: [.25583, .75583, 0, 0, .5], 8814: [.20576, .70576, 0, 0, .77778], 8815: [.20576, .70576, 0, 0, .77778], 8816: [.30274, .79383, 0, 0, .77778], 8817: [.30274, .79383, 0, 0, .77778], 8818: [.22958, .72958, 0, 0, .77778], 8819: [.22958, .72958, 0, 0, .77778], 8822: [.1808, .675, 0, 0, .77778], 8823: [.1808, .675, 0, 0, .77778], 8828: [.13667, .63667, 0, 0, .77778], 8829: [.13667, .63667, 0, 0, .77778], 8830: [.22958, .72958, 0, 0, .77778], 8831: [.22958, .72958, 0, 0, .77778], 8832: [.20576, .70576, 0, 0, .77778], 8833: [.20576, .70576, 0, 0, .77778], 8840: [.30274, .79383, 0, 0, .77778], 8841: [.30274, .79383, 0, 0, .77778], 8842: [.13597, .63597, 0, 0, .77778], 8843: [.13597, .63597, 0, 0, .77778], 8847: [.03517, .54986, 0, 0, .77778], 8848: [.03517, .54986, 0, 0, .77778], 8858: [.08198, .58198, 0, 0, .77778], 8859: [.08198, .58198, 0, 0, .77778], 8861: [.08198, .58198, 0, 0, .77778], 8862: [0, .675, 0, 0, .77778], 8863: [0, .675, 0, 0, .77778], 8864: [0, .675, 0, 0, .77778], 8865: [0, .675, 0, 0, .77778], 8872: [0, .69224, 0, 0, .61111], 8873: [0, .69224, 0, 0, .72222], 8874: [0, .69224, 0, 0, .88889], 8876: [0, .68889, 0, 0, .61111], 8877: [0, .68889, 0, 0, .61111], 8878: [0, .68889, 0, 0, .72222], 8879: [0, .68889, 0, 0, .72222], 8882: [.03517, .54986, 0, 0, .77778], 8883: [.03517, .54986, 0, 0, .77778], 8884: [.13667, .63667, 0, 0, .77778], 8885: [.13667, .63667, 0, 0, .77778], 8888: [0, .54986, 0, 0, 1.11111], 8890: [.19444, .43056, 0, 0, .55556], 8891: [.19444, .69224, 0, 0, .61111], 8892: [.19444, .69224, 0, 0, .61111], 8901: [0, .54986, 0, 0, .27778], 8903: [.08167, .58167, 0, 0, .77778], 8905: [.08167, .58167, 0, 0, .77778], 8906: [.08167, .58167, 0, 0, .77778], 8907: [0, .69224, 0, 0, .77778], 8908: [0, .69224, 0, 0, .77778], 8909: [-.03598, .46402, 0, 0, .77778], 8910: [0, .54986, 0, 0, .76042], 8911: [0, .54986, 0, 0, .76042], 8912: [.03517, .54986, 0, 0, .77778], 8913: [.03517, .54986, 0, 0, .77778], 8914: [0, .54986, 0, 0, .66667], 8915: [0, .54986, 0, 0, .66667], 8916: [0, .69224, 0, 0, .66667], 8918: [.0391, .5391, 0, 0, .77778], 8919: [.0391, .5391, 0, 0, .77778], 8920: [.03517, .54986, 0, 0, 1.33334], 8921: [.03517, .54986, 0, 0, 1.33334], 8922: [.38569, .88569, 0, 0, .77778], 8923: [.38569, .88569, 0, 0, .77778], 8926: [.13667, .63667, 0, 0, .77778], 8927: [.13667, .63667, 0, 0, .77778], 8928: [.30274, .79383, 0, 0, .77778], 8929: [.30274, .79383, 0, 0, .77778], 8934: [.23222, .74111, 0, 0, .77778], 8935: [.23222, .74111, 0, 0, .77778], 8936: [.23222, .74111, 0, 0, .77778], 8937: [.23222, .74111, 0, 0, .77778], 8938: [.20576, .70576, 0, 0, .77778], 8939: [.20576, .70576, 0, 0, .77778], 8940: [.30274, .79383, 0, 0, .77778], 8941: [.30274, .79383, 0, 0, .77778], 8994: [.19444, .69224, 0, 0, .77778], 8995: [.19444, .69224, 0, 0, .77778], 9416: [.15559, .69224, 0, 0, .90222], 9484: [0, .69224, 0, 0, .5], 9488: [0, .69224, 0, 0, .5], 9492: [0, .37788, 0, 0, .5], 9496: [0, .37788, 0, 0, .5], 9585: [.19444, .68889, 0, 0, .88889], 9586: [.19444, .74111, 0, 0, .88889], 9632: [0, .675, 0, 0, .77778], 9633: [0, .675, 0, 0, .77778], 9650: [0, .54986, 0, 0, .72222], 9651: [0, .54986, 0, 0, .72222], 9654: [.03517, .54986, 0, 0, .77778], 9660: [0, .54986, 0, 0, .72222], 9661: [0, .54986, 0, 0, .72222], 9664: [.03517, .54986, 0, 0, .77778], 9674: [.11111, .69224, 0, 0, .66667], 9733: [.19444, .69224, 0, 0, .94445], 10003: [0, .69224, 0, 0, .83334], 10016: [0, .69224, 0, 0, .83334], 10731: [.11111, .69224, 0, 0, .66667], 10846: [.19444, .75583, 0, 0, .61111], 10877: [.13667, .63667, 0, 0, .77778], 10878: [.13667, .63667, 0, 0, .77778], 10885: [.25583, .75583, 0, 0, .77778], 10886: [.25583, .75583, 0, 0, .77778], 10887: [.13597, .63597, 0, 0, .77778], 10888: [.13597, .63597, 0, 0, .77778], 10889: [.26167, .75726, 0, 0, .77778], 10890: [.26167, .75726, 0, 0, .77778], 10891: [.48256, .98256, 0, 0, .77778], 10892: [.48256, .98256, 0, 0, .77778], 10901: [.13667, .63667, 0, 0, .77778], 10902: [.13667, .63667, 0, 0, .77778], 10933: [.25142, .75726, 0, 0, .77778], 10934: [.25142, .75726, 0, 0, .77778], 10935: [.26167, .75726, 0, 0, .77778], 10936: [.26167, .75726, 0, 0, .77778], 10937: [.26167, .75726, 0, 0, .77778], 10938: [.26167, .75726, 0, 0, .77778], 10949: [.25583, .75583, 0, 0, .77778], 10950: [.25583, .75583, 0, 0, .77778], 10955: [.28481, .79383, 0, 0, .77778], 10956: [.28481, .79383, 0, 0, .77778], 57350: [.08167, .58167, 0, 0, .22222], 57351: [.08167, .58167, 0, 0, .38889], 57352: [.08167, .58167, 0, 0, .77778], 57353: [0, .43056, .04028, 0, .66667], 57356: [.25142, .75726, 0, 0, .77778], 57357: [.25142, .75726, 0, 0, .77778], 57358: [.41951, .91951, 0, 0, .77778], 57359: [.30274, .79383, 0, 0, .77778], 57360: [.30274, .79383, 0, 0, .77778], 57361: [.41951, .91951, 0, 0, .77778], 57366: [.25142, .75726, 0, 0, .77778], 57367: [.25142, .75726, 0, 0, .77778], 57368: [.25142, .75726, 0, 0, .77778], 57369: [.25142, .75726, 0, 0, .77778], 57370: [.13597, .63597, 0, 0, .77778], 57371: [.13597, .63597, 0, 0, .77778] }, "Caligraphic-Regular": { 48: [0, .43056, 0, 0, .5], 49: [0, .43056, 0, 0, .5], 50: [0, .43056, 0, 0, .5], 51: [.19444, .43056, 0, 0, .5], 52: [.19444, .43056, 0, 0, .5], 53: [.19444, .43056, 0, 0, .5], 54: [0, .64444, 0, 0, .5], 55: [.19444, .43056, 0, 0, .5], 56: [0, .64444, 0, 0, .5], 57: [.19444, .43056, 0, 0, .5], 65: [0, .68333, 0, .19445, .79847], 66: [0, .68333, .03041, .13889, .65681], 67: [0, .68333, .05834, .13889, .52653], 68: [0, .68333, .02778, .08334, .77139], 69: [0, .68333, .08944, .11111, .52778], 70: [0, .68333, .09931, .11111, .71875], 71: [.09722, .68333, .0593, .11111, .59487], 72: [0, .68333, .00965, .11111, .84452], 73: [0, .68333, .07382, 0, .54452], 74: [.09722, .68333, .18472, .16667, .67778], 75: [0, .68333, .01445, .05556, .76195], 76: [0, .68333, 0, .13889, .68972], 77: [0, .68333, 0, .13889, 1.2009], 78: [0, .68333, .14736, .08334, .82049], 79: [0, .68333, .02778, .11111, .79611], 80: [0, .68333, .08222, .08334, .69556], 81: [.09722, .68333, 0, .11111, .81667], 82: [0, .68333, 0, .08334, .8475], 83: [0, .68333, .075, .13889, .60556], 84: [0, .68333, .25417, 0, .54464], 85: [0, .68333, .09931, .08334, .62583], 86: [0, .68333, .08222, 0, .61278], 87: [0, .68333, .08222, .08334, .98778], 88: [0, .68333, .14643, .13889, .7133], 89: [.09722, .68333, .08222, .08334, .66834], 90: [0, .68333, .07944, .13889, .72473] }, "Fraktur-Regular": { 33: [0, .69141, 0, 0, .29574], 34: [0, .69141, 0, 0, .21471], 38: [0, .69141, 0, 0, .73786], 39: [0, .69141, 0, 0, .21201], 40: [.24982, .74947, 0, 0, .38865], 41: [.24982, .74947, 0, 0, .38865], 42: [0, .62119, 0, 0, .27764], 43: [.08319, .58283, 0, 0, .75623], 44: [0, .10803, 0, 0, .27764], 45: [.08319, .58283, 0, 0, .75623], 46: [0, .10803, 0, 0, .27764], 47: [.24982, .74947, 0, 0, .50181], 48: [0, .47534, 0, 0, .50181], 49: [0, .47534, 0, 0, .50181], 50: [0, .47534, 0, 0, .50181], 51: [.18906, .47534, 0, 0, .50181], 52: [.18906, .47534, 0, 0, .50181], 53: [.18906, .47534, 0, 0, .50181], 54: [0, .69141, 0, 0, .50181], 55: [.18906, .47534, 0, 0, .50181], 56: [0, .69141, 0, 0, .50181], 57: [.18906, .47534, 0, 0, .50181], 58: [0, .47534, 0, 0, .21606], 59: [.12604, .47534, 0, 0, .21606], 61: [-.13099, .36866, 0, 0, .75623], 63: [0, .69141, 0, 0, .36245], 65: [0, .69141, 0, 0, .7176], 66: [0, .69141, 0, 0, .88397], 67: [0, .69141, 0, 0, .61254], 68: [0, .69141, 0, 0, .83158], 69: [0, .69141, 0, 0, .66278], 70: [.12604, .69141, 0, 0, .61119], 71: [0, .69141, 0, 0, .78539], 72: [.06302, .69141, 0, 0, .7203], 73: [0, .69141, 0, 0, .55448], 74: [.12604, .69141, 0, 0, .55231], 75: [0, .69141, 0, 0, .66845], 76: [0, .69141, 0, 0, .66602], 77: [0, .69141, 0, 0, 1.04953], 78: [0, .69141, 0, 0, .83212], 79: [0, .69141, 0, 0, .82699], 80: [.18906, .69141, 0, 0, .82753], 81: [.03781, .69141, 0, 0, .82699], 82: [0, .69141, 0, 0, .82807], 83: [0, .69141, 0, 0, .82861], 84: [0, .69141, 0, 0, .66899], 85: [0, .69141, 0, 0, .64576], 86: [0, .69141, 0, 0, .83131], 87: [0, .69141, 0, 0, 1.04602], 88: [0, .69141, 0, 0, .71922], 89: [.18906, .69141, 0, 0, .83293], 90: [.12604, .69141, 0, 0, .60201], 91: [.24982, .74947, 0, 0, .27764], 93: [.24982, .74947, 0, 0, .27764], 94: [0, .69141, 0, 0, .49965], 97: [0, .47534, 0, 0, .50046], 98: [0, .69141, 0, 0, .51315], 99: [0, .47534, 0, 0, .38946], 100: [0, .62119, 0, 0, .49857], 101: [0, .47534, 0, 0, .40053], 102: [.18906, .69141, 0, 0, .32626], 103: [.18906, .47534, 0, 0, .5037], 104: [.18906, .69141, 0, 0, .52126], 105: [0, .69141, 0, 0, .27899], 106: [0, .69141, 0, 0, .28088], 107: [0, .69141, 0, 0, .38946], 108: [0, .69141, 0, 0, .27953], 109: [0, .47534, 0, 0, .76676], 110: [0, .47534, 0, 0, .52666], 111: [0, .47534, 0, 0, .48885], 112: [.18906, .52396, 0, 0, .50046], 113: [.18906, .47534, 0, 0, .48912], 114: [0, .47534, 0, 0, .38919], 115: [0, .47534, 0, 0, .44266], 116: [0, .62119, 0, 0, .33301], 117: [0, .47534, 0, 0, .5172], 118: [0, .52396, 0, 0, .5118], 119: [0, .52396, 0, 0, .77351], 120: [.18906, .47534, 0, 0, .38865], 121: [.18906, .47534, 0, 0, .49884], 122: [.18906, .47534, 0, 0, .39054], 8216: [0, .69141, 0, 0, .21471], 8217: [0, .69141, 0, 0, .21471], 58112: [0, .62119, 0, 0, .49749], 58113: [0, .62119, 0, 0, .4983], 58114: [.18906, .69141, 0, 0, .33328], 58115: [.18906, .69141, 0, 0, .32923], 58116: [.18906, .47534, 0, 0, .50343], 58117: [0, .69141, 0, 0, .33301], 58118: [0, .62119, 0, 0, .33409], 58119: [0, .47534, 0, 0, .50073] }, "Main-Bold": { 33: [0, .69444, 0, 0, .35], 34: [0, .69444, 0, 0, .60278], 35: [.19444, .69444, 0, 0, .95833], 36: [.05556, .75, 0, 0, .575], 37: [.05556, .75, 0, 0, .95833], 38: [0, .69444, 0, 0, .89444], 39: [0, .69444, 0, 0, .31944], 40: [.25, .75, 0, 0, .44722], 41: [.25, .75, 0, 0, .44722], 42: [0, .75, 0, 0, .575], 43: [.13333, .63333, 0, 0, .89444], 44: [.19444, .15556, 0, 0, .31944], 45: [0, .44444, 0, 0, .38333], 46: [0, .15556, 0, 0, .31944], 47: [.25, .75, 0, 0, .575], 48: [0, .64444, 0, 0, .575], 49: [0, .64444, 0, 0, .575], 50: [0, .64444, 0, 0, .575], 51: [0, .64444, 0, 0, .575], 52: [0, .64444, 0, 0, .575], 53: [0, .64444, 0, 0, .575], 54: [0, .64444, 0, 0, .575], 55: [0, .64444, 0, 0, .575], 56: [0, .64444, 0, 0, .575], 57: [0, .64444, 0, 0, .575], 58: [0, .44444, 0, 0, .31944], 59: [.19444, .44444, 0, 0, .31944], 60: [.08556, .58556, 0, 0, .89444], 61: [-.10889, .39111, 0, 0, .89444], 62: [.08556, .58556, 0, 0, .89444], 63: [0, .69444, 0, 0, .54305], 64: [0, .69444, 0, 0, .89444], 65: [0, .68611, 0, 0, .86944], 66: [0, .68611, 0, 0, .81805], 67: [0, .68611, 0, 0, .83055], 68: [0, .68611, 0, 0, .88194], 69: [0, .68611, 0, 0, .75555], 70: [0, .68611, 0, 0, .72361], 71: [0, .68611, 0, 0, .90416], 72: [0, .68611, 0, 0, .9], 73: [0, .68611, 0, 0, .43611], 74: [0, .68611, 0, 0, .59444], 75: [0, .68611, 0, 0, .90138], 76: [0, .68611, 0, 0, .69166], 77: [0, .68611, 0, 0, 1.09166], 78: [0, .68611, 0, 0, .9], 79: [0, .68611, 0, 0, .86388], 80: [0, .68611, 0, 0, .78611], 81: [.19444, .68611, 0, 0, .86388], 82: [0, .68611, 0, 0, .8625], 83: [0, .68611, 0, 0, .63889], 84: [0, .68611, 0, 0, .8], 85: [0, .68611, 0, 0, .88472], 86: [0, .68611, .01597, 0, .86944], 87: [0, .68611, .01597, 0, 1.18888], 88: [0, .68611, 0, 0, .86944], 89: [0, .68611, .02875, 0, .86944], 90: [0, .68611, 0, 0, .70277], 91: [.25, .75, 0, 0, .31944], 92: [.25, .75, 0, 0, .575], 93: [.25, .75, 0, 0, .31944], 94: [0, .69444, 0, 0, .575], 95: [.31, .13444, .03194, 0, .575], 97: [0, .44444, 0, 0, .55902], 98: [0, .69444, 0, 0, .63889], 99: [0, .44444, 0, 0, .51111], 100: [0, .69444, 0, 0, .63889], 101: [0, .44444, 0, 0, .52708], 102: [0, .69444, .10903, 0, .35139], 103: [.19444, .44444, .01597, 0, .575], 104: [0, .69444, 0, 0, .63889], 105: [0, .69444, 0, 0, .31944], 106: [.19444, .69444, 0, 0, .35139], 107: [0, .69444, 0, 0, .60694], 108: [0, .69444, 0, 0, .31944], 109: [0, .44444, 0, 0, .95833], 110: [0, .44444, 0, 0, .63889], 111: [0, .44444, 0, 0, .575], 112: [.19444, .44444, 0, 0, .63889], 113: [.19444, .44444, 0, 0, .60694], 114: [0, .44444, 0, 0, .47361], 115: [0, .44444, 0, 0, .45361], 116: [0, .63492, 0, 0, .44722], 117: [0, .44444, 0, 0, .63889], 118: [0, .44444, .01597, 0, .60694], 119: [0, .44444, .01597, 0, .83055], 120: [0, .44444, 0, 0, .60694], 121: [.19444, .44444, .01597, 0, .60694], 122: [0, .44444, 0, 0, .51111], 123: [.25, .75, 0, 0, .575], 124: [.25, .75, 0, 0, .31944], 125: [.25, .75, 0, 0, .575], 126: [.35, .34444, 0, 0, .575], 168: [0, .69444, 0, 0, .575], 172: [0, .44444, 0, 0, .76666], 176: [0, .69444, 0, 0, .86944], 177: [.13333, .63333, 0, 0, .89444], 184: [.17014, 0, 0, 0, .51111], 198: [0, .68611, 0, 0, 1.04166], 215: [.13333, .63333, 0, 0, .89444], 216: [.04861, .73472, 0, 0, .89444], 223: [0, .69444, 0, 0, .59722], 230: [0, .44444, 0, 0, .83055], 247: [.13333, .63333, 0, 0, .89444], 248: [.09722, .54167, 0, 0, .575], 305: [0, .44444, 0, 0, .31944], 338: [0, .68611, 0, 0, 1.16944], 339: [0, .44444, 0, 0, .89444], 567: [.19444, .44444, 0, 0, .35139], 710: [0, .69444, 0, 0, .575], 711: [0, .63194, 0, 0, .575], 713: [0, .59611, 0, 0, .575], 714: [0, .69444, 0, 0, .575], 715: [0, .69444, 0, 0, .575], 728: [0, .69444, 0, 0, .575], 729: [0, .69444, 0, 0, .31944], 730: [0, .69444, 0, 0, .86944], 732: [0, .69444, 0, 0, .575], 733: [0, .69444, 0, 0, .575], 915: [0, .68611, 0, 0, .69166], 916: [0, .68611, 0, 0, .95833], 920: [0, .68611, 0, 0, .89444], 923: [0, .68611, 0, 0, .80555], 926: [0, .68611, 0, 0, .76666], 928: [0, .68611, 0, 0, .9], 931: [0, .68611, 0, 0, .83055], 933: [0, .68611, 0, 0, .89444], 934: [0, .68611, 0, 0, .83055], 936: [0, .68611, 0, 0, .89444], 937: [0, .68611, 0, 0, .83055], 8211: [0, .44444, .03194, 0, .575], 8212: [0, .44444, .03194, 0, 1.14999], 8216: [0, .69444, 0, 0, .31944], 8217: [0, .69444, 0, 0, .31944], 8220: [0, .69444, 0, 0, .60278], 8221: [0, .69444, 0, 0, .60278], 8224: [.19444, .69444, 0, 0, .51111], 8225: [.19444, .69444, 0, 0, .51111], 8242: [0, .55556, 0, 0, .34444], 8407: [0, .72444, .15486, 0, .575], 8463: [0, .69444, 0, 0, .66759], 8465: [0, .69444, 0, 0, .83055], 8467: [0, .69444, 0, 0, .47361], 8472: [.19444, .44444, 0, 0, .74027], 8476: [0, .69444, 0, 0, .83055], 8501: [0, .69444, 0, 0, .70277], 8592: [-.10889, .39111, 0, 0, 1.14999], 8593: [.19444, .69444, 0, 0, .575], 8594: [-.10889, .39111, 0, 0, 1.14999], 8595: [.19444, .69444, 0, 0, .575], 8596: [-.10889, .39111, 0, 0, 1.14999], 8597: [.25, .75, 0, 0, .575], 8598: [.19444, .69444, 0, 0, 1.14999], 8599: [.19444, .69444, 0, 0, 1.14999], 8600: [.19444, .69444, 0, 0, 1.14999], 8601: [.19444, .69444, 0, 0, 1.14999], 8636: [-.10889, .39111, 0, 0, 1.14999], 8637: [-.10889, .39111, 0, 0, 1.14999], 8640: [-.10889, .39111, 0, 0, 1.14999], 8641: [-.10889, .39111, 0, 0, 1.14999], 8656: [-.10889, .39111, 0, 0, 1.14999], 8657: [.19444, .69444, 0, 0, .70277], 8658: [-.10889, .39111, 0, 0, 1.14999], 8659: [.19444, .69444, 0, 0, .70277], 8660: [-.10889, .39111, 0, 0, 1.14999], 8661: [.25, .75, 0, 0, .70277], 8704: [0, .69444, 0, 0, .63889], 8706: [0, .69444, .06389, 0, .62847], 8707: [0, .69444, 0, 0, .63889], 8709: [.05556, .75, 0, 0, .575], 8711: [0, .68611, 0, 0, .95833], 8712: [.08556, .58556, 0, 0, .76666], 8715: [.08556, .58556, 0, 0, .76666], 8722: [.13333, .63333, 0, 0, .89444], 8723: [.13333, .63333, 0, 0, .89444], 8725: [.25, .75, 0, 0, .575], 8726: [.25, .75, 0, 0, .575], 8727: [-.02778, .47222, 0, 0, .575], 8728: [-.02639, .47361, 0, 0, .575], 8729: [-.02639, .47361, 0, 0, .575], 8730: [.18, .82, 0, 0, .95833], 8733: [0, .44444, 0, 0, .89444], 8734: [0, .44444, 0, 0, 1.14999], 8736: [0, .69224, 0, 0, .72222], 8739: [.25, .75, 0, 0, .31944], 8741: [.25, .75, 0, 0, .575], 8743: [0, .55556, 0, 0, .76666], 8744: [0, .55556, 0, 0, .76666], 8745: [0, .55556, 0, 0, .76666], 8746: [0, .55556, 0, 0, .76666], 8747: [.19444, .69444, .12778, 0, .56875], 8764: [-.10889, .39111, 0, 0, .89444], 8768: [.19444, .69444, 0, 0, .31944], 8771: [.00222, .50222, 0, 0, .89444], 8776: [.02444, .52444, 0, 0, .89444], 8781: [.00222, .50222, 0, 0, .89444], 8801: [.00222, .50222, 0, 0, .89444], 8804: [.19667, .69667, 0, 0, .89444], 8805: [.19667, .69667, 0, 0, .89444], 8810: [.08556, .58556, 0, 0, 1.14999], 8811: [.08556, .58556, 0, 0, 1.14999], 8826: [.08556, .58556, 0, 0, .89444], 8827: [.08556, .58556, 0, 0, .89444], 8834: [.08556, .58556, 0, 0, .89444], 8835: [.08556, .58556, 0, 0, .89444], 8838: [.19667, .69667, 0, 0, .89444], 8839: [.19667, .69667, 0, 0, .89444], 8846: [0, .55556, 0, 0, .76666], 8849: [.19667, .69667, 0, 0, .89444], 8850: [.19667, .69667, 0, 0, .89444], 8851: [0, .55556, 0, 0, .76666], 8852: [0, .55556, 0, 0, .76666], 8853: [.13333, .63333, 0, 0, .89444], 8854: [.13333, .63333, 0, 0, .89444], 8855: [.13333, .63333, 0, 0, .89444], 8856: [.13333, .63333, 0, 0, .89444], 8857: [.13333, .63333, 0, 0, .89444], 8866: [0, .69444, 0, 0, .70277], 8867: [0, .69444, 0, 0, .70277], 8868: [0, .69444, 0, 0, .89444], 8869: [0, .69444, 0, 0, .89444], 8900: [-.02639, .47361, 0, 0, .575], 8901: [-.02639, .47361, 0, 0, .31944], 8902: [-.02778, .47222, 0, 0, .575], 8968: [.25, .75, 0, 0, .51111], 8969: [.25, .75, 0, 0, .51111], 8970: [.25, .75, 0, 0, .51111], 8971: [.25, .75, 0, 0, .51111], 8994: [-.13889, .36111, 0, 0, 1.14999], 8995: [-.13889, .36111, 0, 0, 1.14999], 9651: [.19444, .69444, 0, 0, 1.02222], 9657: [-.02778, .47222, 0, 0, .575], 9661: [.19444, .69444, 0, 0, 1.02222], 9667: [-.02778, .47222, 0, 0, .575], 9711: [.19444, .69444, 0, 0, 1.14999], 9824: [.12963, .69444, 0, 0, .89444], 9825: [.12963, .69444, 0, 0, .89444], 9826: [.12963, .69444, 0, 0, .89444], 9827: [.12963, .69444, 0, 0, .89444], 9837: [0, .75, 0, 0, .44722], 9838: [.19444, .69444, 0, 0, .44722], 9839: [.19444, .69444, 0, 0, .44722], 10216: [.25, .75, 0, 0, .44722], 10217: [.25, .75, 0, 0, .44722], 10815: [0, .68611, 0, 0, .9], 10927: [.19667, .69667, 0, 0, .89444], 10928: [.19667, .69667, 0, 0, .89444], 57376: [.19444, .69444, 0, 0, 0] }, "Main-BoldItalic": { 33: [0, .69444, .11417, 0, .38611], 34: [0, .69444, .07939, 0, .62055], 35: [.19444, .69444, .06833, 0, .94444], 37: [.05556, .75, .12861, 0, .94444], 38: [0, .69444, .08528, 0, .88555], 39: [0, .69444, .12945, 0, .35555], 40: [.25, .75, .15806, 0, .47333], 41: [.25, .75, .03306, 0, .47333], 42: [0, .75, .14333, 0, .59111], 43: [.10333, .60333, .03306, 0, .88555], 44: [.19444, .14722, 0, 0, .35555], 45: [0, .44444, .02611, 0, .41444], 46: [0, .14722, 0, 0, .35555], 47: [.25, .75, .15806, 0, .59111], 48: [0, .64444, .13167, 0, .59111], 49: [0, .64444, .13167, 0, .59111], 50: [0, .64444, .13167, 0, .59111], 51: [0, .64444, .13167, 0, .59111], 52: [.19444, .64444, .13167, 0, .59111], 53: [0, .64444, .13167, 0, .59111], 54: [0, .64444, .13167, 0, .59111], 55: [.19444, .64444, .13167, 0, .59111], 56: [0, .64444, .13167, 0, .59111], 57: [0, .64444, .13167, 0, .59111], 58: [0, .44444, .06695, 0, .35555], 59: [.19444, .44444, .06695, 0, .35555], 61: [-.10889, .39111, .06833, 0, .88555], 63: [0, .69444, .11472, 0, .59111], 64: [0, .69444, .09208, 0, .88555], 65: [0, .68611, 0, 0, .86555], 66: [0, .68611, .0992, 0, .81666], 67: [0, .68611, .14208, 0, .82666], 68: [0, .68611, .09062, 0, .87555], 69: [0, .68611, .11431, 0, .75666], 70: [0, .68611, .12903, 0, .72722], 71: [0, .68611, .07347, 0, .89527], 72: [0, .68611, .17208, 0, .8961], 73: [0, .68611, .15681, 0, .47166], 74: [0, .68611, .145, 0, .61055], 75: [0, .68611, .14208, 0, .89499], 76: [0, .68611, 0, 0, .69777], 77: [0, .68611, .17208, 0, 1.07277], 78: [0, .68611, .17208, 0, .8961], 79: [0, .68611, .09062, 0, .85499], 80: [0, .68611, .0992, 0, .78721], 81: [.19444, .68611, .09062, 0, .85499], 82: [0, .68611, .02559, 0, .85944], 83: [0, .68611, .11264, 0, .64999], 84: [0, .68611, .12903, 0, .7961], 85: [0, .68611, .17208, 0, .88083], 86: [0, .68611, .18625, 0, .86555], 87: [0, .68611, .18625, 0, 1.15999], 88: [0, .68611, .15681, 0, .86555], 89: [0, .68611, .19803, 0, .86555], 90: [0, .68611, .14208, 0, .70888], 91: [.25, .75, .1875, 0, .35611], 93: [.25, .75, .09972, 0, .35611], 94: [0, .69444, .06709, 0, .59111], 95: [.31, .13444, .09811, 0, .59111], 97: [0, .44444, .09426, 0, .59111], 98: [0, .69444, .07861, 0, .53222], 99: [0, .44444, .05222, 0, .53222], 100: [0, .69444, .10861, 0, .59111], 101: [0, .44444, .085, 0, .53222], 102: [.19444, .69444, .21778, 0, .4], 103: [.19444, .44444, .105, 0, .53222], 104: [0, .69444, .09426, 0, .59111], 105: [0, .69326, .11387, 0, .35555], 106: [.19444, .69326, .1672, 0, .35555], 107: [0, .69444, .11111, 0, .53222], 108: [0, .69444, .10861, 0, .29666], 109: [0, .44444, .09426, 0, .94444], 110: [0, .44444, .09426, 0, .64999], 111: [0, .44444, .07861, 0, .59111], 112: [.19444, .44444, .07861, 0, .59111], 113: [.19444, .44444, .105, 0, .53222], 114: [0, .44444, .11111, 0, .50167], 115: [0, .44444, .08167, 0, .48694], 116: [0, .63492, .09639, 0, .385], 117: [0, .44444, .09426, 0, .62055], 118: [0, .44444, .11111, 0, .53222], 119: [0, .44444, .11111, 0, .76777], 120: [0, .44444, .12583, 0, .56055], 121: [.19444, .44444, .105, 0, .56166], 122: [0, .44444, .13889, 0, .49055], 126: [.35, .34444, .11472, 0, .59111], 163: [0, .69444, 0, 0, .86853], 168: [0, .69444, .11473, 0, .59111], 176: [0, .69444, 0, 0, .94888], 184: [.17014, 0, 0, 0, .53222], 198: [0, .68611, .11431, 0, 1.02277], 216: [.04861, .73472, .09062, 0, .88555], 223: [.19444, .69444, .09736, 0, .665], 230: [0, .44444, .085, 0, .82666], 248: [.09722, .54167, .09458, 0, .59111], 305: [0, .44444, .09426, 0, .35555], 338: [0, .68611, .11431, 0, 1.14054], 339: [0, .44444, .085, 0, .82666], 567: [.19444, .44444, .04611, 0, .385], 710: [0, .69444, .06709, 0, .59111], 711: [0, .63194, .08271, 0, .59111], 713: [0, .59444, .10444, 0, .59111], 714: [0, .69444, .08528, 0, .59111], 715: [0, .69444, 0, 0, .59111], 728: [0, .69444, .10333, 0, .59111], 729: [0, .69444, .12945, 0, .35555], 730: [0, .69444, 0, 0, .94888], 732: [0, .69444, .11472, 0, .59111], 733: [0, .69444, .11472, 0, .59111], 915: [0, .68611, .12903, 0, .69777], 916: [0, .68611, 0, 0, .94444], 920: [0, .68611, .09062, 0, .88555], 923: [0, .68611, 0, 0, .80666], 926: [0, .68611, .15092, 0, .76777], 928: [0, .68611, .17208, 0, .8961], 931: [0, .68611, .11431, 0, .82666], 933: [0, .68611, .10778, 0, .88555], 934: [0, .68611, .05632, 0, .82666], 936: [0, .68611, .10778, 0, .88555], 937: [0, .68611, .0992, 0, .82666], 8211: [0, .44444, .09811, 0, .59111], 8212: [0, .44444, .09811, 0, 1.18221], 8216: [0, .69444, .12945, 0, .35555], 8217: [0, .69444, .12945, 0, .35555], 8220: [0, .69444, .16772, 0, .62055], 8221: [0, .69444, .07939, 0, .62055] }, "Main-Italic": { 33: [0, .69444, .12417, 0, .30667], 34: [0, .69444, .06961, 0, .51444], 35: [.19444, .69444, .06616, 0, .81777], 37: [.05556, .75, .13639, 0, .81777], 38: [0, .69444, .09694, 0, .76666], 39: [0, .69444, .12417, 0, .30667], 40: [.25, .75, .16194, 0, .40889], 41: [.25, .75, .03694, 0, .40889], 42: [0, .75, .14917, 0, .51111], 43: [.05667, .56167, .03694, 0, .76666], 44: [.19444, .10556, 0, 0, .30667], 45: [0, .43056, .02826, 0, .35778], 46: [0, .10556, 0, 0, .30667], 47: [.25, .75, .16194, 0, .51111], 48: [0, .64444, .13556, 0, .51111], 49: [0, .64444, .13556, 0, .51111], 50: [0, .64444, .13556, 0, .51111], 51: [0, .64444, .13556, 0, .51111], 52: [.19444, .64444, .13556, 0, .51111], 53: [0, .64444, .13556, 0, .51111], 54: [0, .64444, .13556, 0, .51111], 55: [.19444, .64444, .13556, 0, .51111], 56: [0, .64444, .13556, 0, .51111], 57: [0, .64444, .13556, 0, .51111], 58: [0, .43056, .0582, 0, .30667], 59: [.19444, .43056, .0582, 0, .30667], 61: [-.13313, .36687, .06616, 0, .76666], 63: [0, .69444, .1225, 0, .51111], 64: [0, .69444, .09597, 0, .76666], 65: [0, .68333, 0, 0, .74333], 66: [0, .68333, .10257, 0, .70389], 67: [0, .68333, .14528, 0, .71555], 68: [0, .68333, .09403, 0, .755], 69: [0, .68333, .12028, 0, .67833], 70: [0, .68333, .13305, 0, .65277], 71: [0, .68333, .08722, 0, .77361], 72: [0, .68333, .16389, 0, .74333], 73: [0, .68333, .15806, 0, .38555], 74: [0, .68333, .14028, 0, .525], 75: [0, .68333, .14528, 0, .76888], 76: [0, .68333, 0, 0, .62722], 77: [0, .68333, .16389, 0, .89666], 78: [0, .68333, .16389, 0, .74333], 79: [0, .68333, .09403, 0, .76666], 80: [0, .68333, .10257, 0, .67833], 81: [.19444, .68333, .09403, 0, .76666], 82: [0, .68333, .03868, 0, .72944], 83: [0, .68333, .11972, 0, .56222], 84: [0, .68333, .13305, 0, .71555], 85: [0, .68333, .16389, 0, .74333], 86: [0, .68333, .18361, 0, .74333], 87: [0, .68333, .18361, 0, .99888], 88: [0, .68333, .15806, 0, .74333], 89: [0, .68333, .19383, 0, .74333], 90: [0, .68333, .14528, 0, .61333], 91: [.25, .75, .1875, 0, .30667], 93: [.25, .75, .10528, 0, .30667], 94: [0, .69444, .06646, 0, .51111], 95: [.31, .12056, .09208, 0, .51111], 97: [0, .43056, .07671, 0, .51111], 98: [0, .69444, .06312, 0, .46], 99: [0, .43056, .05653, 0, .46], 100: [0, .69444, .10333, 0, .51111], 101: [0, .43056, .07514, 0, .46], 102: [.19444, .69444, .21194, 0, .30667], 103: [.19444, .43056, .08847, 0, .46], 104: [0, .69444, .07671, 0, .51111], 105: [0, .65536, .1019, 0, .30667], 106: [.19444, .65536, .14467, 0, .30667], 107: [0, .69444, .10764, 0, .46], 108: [0, .69444, .10333, 0, .25555], 109: [0, .43056, .07671, 0, .81777], 110: [0, .43056, .07671, 0, .56222], 111: [0, .43056, .06312, 0, .51111], 112: [.19444, .43056, .06312, 0, .51111], 113: [.19444, .43056, .08847, 0, .46], 114: [0, .43056, .10764, 0, .42166], 115: [0, .43056, .08208, 0, .40889], 116: [0, .61508, .09486, 0, .33222], 117: [0, .43056, .07671, 0, .53666], 118: [0, .43056, .10764, 0, .46], 119: [0, .43056, .10764, 0, .66444], 120: [0, .43056, .12042, 0, .46389], 121: [.19444, .43056, .08847, 0, .48555], 122: [0, .43056, .12292, 0, .40889], 126: [.35, .31786, .11585, 0, .51111], 163: [0, .69444, 0, 0, .76909], 168: [0, .66786, .10474, 0, .51111], 176: [0, .69444, 0, 0, .83129], 184: [.17014, 0, 0, 0, .46], 198: [0, .68333, .12028, 0, .88277], 216: [.04861, .73194, .09403, 0, .76666], 223: [.19444, .69444, .10514, 0, .53666], 230: [0, .43056, .07514, 0, .71555], 248: [.09722, .52778, .09194, 0, .51111], 305: [0, .43056, 0, .02778, .32246], 338: [0, .68333, .12028, 0, .98499], 339: [0, .43056, .07514, 0, .71555], 567: [.19444, .43056, 0, .08334, .38403], 710: [0, .69444, .06646, 0, .51111], 711: [0, .62847, .08295, 0, .51111], 713: [0, .56167, .10333, 0, .51111], 714: [0, .69444, .09694, 0, .51111], 715: [0, .69444, 0, 0, .51111], 728: [0, .69444, .10806, 0, .51111], 729: [0, .66786, .11752, 0, .30667], 730: [0, .69444, 0, 0, .83129], 732: [0, .66786, .11585, 0, .51111], 733: [0, .69444, .1225, 0, .51111], 915: [0, .68333, .13305, 0, .62722], 916: [0, .68333, 0, 0, .81777], 920: [0, .68333, .09403, 0, .76666], 923: [0, .68333, 0, 0, .69222], 926: [0, .68333, .15294, 0, .66444], 928: [0, .68333, .16389, 0, .74333], 931: [0, .68333, .12028, 0, .71555], 933: [0, .68333, .11111, 0, .76666], 934: [0, .68333, .05986, 0, .71555], 936: [0, .68333, .11111, 0, .76666], 937: [0, .68333, .10257, 0, .71555], 8211: [0, .43056, .09208, 0, .51111], 8212: [0, .43056, .09208, 0, 1.02222], 8216: [0, .69444, .12417, 0, .30667], 8217: [0, .69444, .12417, 0, .30667], 8220: [0, .69444, .1685, 0, .51444], 8221: [0, .69444, .06961, 0, .51444], 8463: [0, .68889, 0, 0, .54028] }, "Main-Regular": {
32: [0, 0, 0, 0, .25], 33: [0, .69444, 0, 0, .27778], 34: [0, .69444, 0, 0, .5], 35: [.19444, .69444, 0, 0, .83334], 36: [.05556, .75, 0, 0, .5], 37: [.05556, .75, 0, 0, .83334], 38: [0, .69444, 0, 0, .77778], 39: [0, .69444, 0, 0, .27778], 40: [.25, .75, 0, 0, .38889], 41: [.25, .75, 0, 0, .38889], 42: [0, .75, 0, 0, .5], 43: [.08333, .58333, 0, 0, .77778], 44: [.19444, .10556, 0, 0, .27778], 45: [0, .43056, 0, 0, .33333], 46: [0, .10556, 0, 0, .27778], 47: [.25, .75, 0, 0, .5], 48: [0, .64444, 0, 0, .5], 49: [0, .64444, 0, 0, .5], 50: [0, .64444, 0, 0, .5], 51: [0, .64444, 0, 0, .5], 52: [0, .64444, 0, 0, .5], 53: [0, .64444, 0, 0, .5], 54: [0, .64444, 0, 0, .5], 55: [0, .64444, 0, 0, .5], 56: [0, .64444, 0, 0, .5], 57: [0, .64444, 0, 0, .5], 58: [0, .43056, 0, 0, .27778], 59: [.19444, .43056, 0, 0, .27778], 60: [.0391, .5391, 0, 0, .77778], 61: [-.13313, .36687, 0, 0, .77778], 62: [.0391, .5391, 0, 0, .77778], 63: [0, .69444, 0, 0, .47222], 64: [0, .69444, 0, 0, .77778], 65: [0, .68333, 0, 0, .75], 66: [0, .68333, 0, 0, .70834], 67: [0, .68333, 0, 0, .72222], 68: [0, .68333, 0, 0, .76389], 69: [0, .68333, 0, 0, .68056], 70: [0, .68333, 0, 0, .65278], 71: [0, .68333, 0, 0, .78472], 72: [0, .68333, 0, 0, .75], 73: [0, .68333, 0, 0, .36111], 74: [0, .68333, 0, 0, .51389], 75: [0, .68333, 0, 0, .77778], 76: [0, .68333, 0, 0, .625], 77: [0, .68333, 0, 0, .91667], 78: [0, .68333, 0, 0, .75], 79: [0, .68333, 0, 0, .77778], 80: [0, .68333, 0, 0, .68056], 81: [.19444, .68333, 0, 0, .77778], 82: [0, .68333, 0, 0, .73611], 83: [0, .68333, 0, 0, .55556], 84: [0, .68333, 0, 0, .72222], 85: [0, .68333, 0, 0, .75], 86: [0, .68333, .01389, 0, .75], 87: [0, .68333, .01389, 0, 1.02778], 88: [0, .68333, 0, 0, .75], 89: [0, .68333, .025, 0, .75], 90: [0, .68333, 0, 0, .61111], 91: [.25, .75, 0, 0, .27778], 92: [.25, .75, 0, 0, .5], 93: [.25, .75, 0, 0, .27778], 94: [0, .69444, 0, 0, .5], 95: [.31, .12056, .02778, 0, .5], 97: [0, .43056, 0, 0, .5], 98: [0, .69444, 0, 0, .55556], 99: [0, .43056, 0, 0, .44445], 100: [0, .69444, 0, 0, .55556], 101: [0, .43056, 0, 0, .44445], 102: [0, .69444, .07778, 0, .30556], 103: [.19444, .43056, .01389, 0, .5], 104: [0, .69444, 0, 0, .55556], 105: [0, .66786, 0, 0, .27778], 106: [.19444, .66786, 0, 0, .30556], 107: [0, .69444, 0, 0, .52778], 108: [0, .69444, 0, 0, .27778], 109: [0, .43056, 0, 0, .83334], 110: [0, .43056, 0, 0, .55556], 111: [0, .43056, 0, 0, .5], 112: [.19444, .43056, 0, 0, .55556], 113: [.19444, .43056, 0, 0, .52778], 114: [0, .43056, 0, 0, .39167], 115: [0, .43056, 0, 0, .39445], 116: [0, .61508, 0, 0, .38889], 117: [0, .43056, 0, 0, .55556], 118: [0, .43056, .01389, 0, .52778], 119: [0, .43056, .01389, 0, .72222], 120: [0, .43056, 0, 0, .52778], 121: [.19444, .43056, .01389, 0, .52778], 122: [0, .43056, 0, 0, .44445], 123: [.25, .75, 0, 0, .5], 124: [.25, .75, 0, 0, .27778], 125: [.25, .75, 0, 0, .5], 126: [.35, .31786, 0, 0, .5], 160: [0, 0, 0, 0, .25], 167: [.19444, .69444, 0, 0, .44445], 168: [0, .66786, 0, 0, .5], 172: [0, .43056, 0, 0, .66667], 176: [0, .69444, 0, 0, .75], 177: [.08333, .58333, 0, 0, .77778], 182: [.19444, .69444, 0, 0, .61111], 184: [.17014, 0, 0, 0, .44445], 198: [0, .68333, 0, 0, .90278], 215: [.08333, .58333, 0, 0, .77778], 216: [.04861, .73194, 0, 0, .77778], 223: [0, .69444, 0, 0, .5], 230: [0, .43056, 0, 0, .72222], 247: [.08333, .58333, 0, 0, .77778], 248: [.09722, .52778, 0, 0, .5], 305: [0, .43056, 0, 0, .27778], 338: [0, .68333, 0, 0, 1.01389], 339: [0, .43056, 0, 0, .77778], 567: [.19444, .43056, 0, 0, .30556], 710: [0, .69444, 0, 0, .5], 711: [0, .62847, 0, 0, .5], 713: [0, .56778, 0, 0, .5], 714: [0, .69444, 0, 0, .5], 715: [0, .69444, 0, 0, .5], 728: [0, .69444, 0, 0, .5], 729: [0, .66786, 0, 0, .27778], 730: [0, .69444, 0, 0, .75], 732: [0, .66786, 0, 0, .5], 733: [0, .69444, 0, 0, .5], 915: [0, .68333, 0, 0, .625], 916: [0, .68333, 0, 0, .83334], 920: [0, .68333, 0, 0, .77778], 923: [0, .68333, 0, 0, .69445], 926: [0, .68333, 0, 0, .66667], 928: [0, .68333, 0, 0, .75], 931: [0, .68333, 0, 0, .72222], 933: [0, .68333, 0, 0, .77778], 934: [0, .68333, 0, 0, .72222], 936: [0, .68333, 0, 0, .77778], 937: [0, .68333, 0, 0, .72222], 8211: [0, .43056, .02778, 0, .5], 8212: [0, .43056, .02778, 0, 1], 8216: [0, .69444, 0, 0, .27778], 8217: [0, .69444, 0, 0, .27778], 8220: [0, .69444, 0, 0, .5], 8221: [0, .69444, 0, 0, .5], 8224: [.19444, .69444, 0, 0, .44445], 8225: [.19444, .69444, 0, 0, .44445], 8230: [0, .12, 0, 0, 1.172], 8242: [0, .55556, 0, 0, .275], 8407: [0, .71444, .15382, 0, .5], 8463: [0, .68889, 0, 0, .54028], 8465: [0, .69444, 0, 0, .72222], 8467: [0, .69444, 0, .11111, .41667], 8472: [.19444, .43056, 0, .11111, .63646], 8476: [0, .69444, 0, 0, .72222], 8501: [0, .69444, 0, 0, .61111], 8592: [-.13313, .36687, 0, 0, 1], 8593: [.19444, .69444, 0, 0, .5], 8594: [-.13313, .36687, 0, 0, 1], 8595: [.19444, .69444, 0, 0, .5], 8596: [-.13313, .36687, 0, 0, 1], 8597: [.25, .75, 0, 0, .5], 8598: [.19444, .69444, 0, 0, 1], 8599: [.19444, .69444, 0, 0, 1], 8600: [.19444, .69444, 0, 0, 1], 8601: [.19444, .69444, 0, 0, 1], 8614: [.011, .511, 0, 0, 1], 8617: [.011, .511, 0, 0, 1.126], 8618: [.011, .511, 0, 0, 1.126], 8636: [-.13313, .36687, 0, 0, 1], 8637: [-.13313, .36687, 0, 0, 1], 8640: [-.13313, .36687, 0, 0, 1], 8641: [-.13313, .36687, 0, 0, 1], 8652: [.011, .671, 0, 0, 1], 8656: [-.13313, .36687, 0, 0, 1], 8657: [.19444, .69444, 0, 0, .61111], 8658: [-.13313, .36687, 0, 0, 1], 8659: [.19444, .69444, 0, 0, .61111], 8660: [-.13313, .36687, 0, 0, 1], 8661: [.25, .75, 0, 0, .61111], 8704: [0, .69444, 0, 0, .55556], 8706: [0, .69444, .05556, .08334, .5309], 8707: [0, .69444, 0, 0, .55556], 8709: [.05556, .75, 0, 0, .5], 8711: [0, .68333, 0, 0, .83334], 8712: [.0391, .5391, 0, 0, .66667], 8715: [.0391, .5391, 0, 0, .66667], 8722: [.08333, .58333, 0, 0, .77778], 8723: [.08333, .58333, 0, 0, .77778], 8725: [.25, .75, 0, 0, .5], 8726: [.25, .75, 0, 0, .5], 8727: [-.03472, .46528, 0, 0, .5], 8728: [-.05555, .44445, 0, 0, .5], 8729: [-.05555, .44445, 0, 0, .5], 8730: [.2, .8, 0, 0, .83334], 8733: [0, .43056, 0, 0, .77778], 8734: [0, .43056, 0, 0, 1], 8736: [0, .69224, 0, 0, .72222], 8739: [.25, .75, 0, 0, .27778], 8741: [.25, .75, 0, 0, .5], 8743: [0, .55556, 0, 0, .66667], 8744: [0, .55556, 0, 0, .66667], 8745: [0, .55556, 0, 0, .66667], 8746: [0, .55556, 0, 0, .66667], 8747: [.19444, .69444, .11111, 0, .41667], 8764: [-.13313, .36687, 0, 0, .77778], 8768: [.19444, .69444, 0, 0, .27778], 8771: [-.03625, .46375, 0, 0, .77778], 8773: [-.022, .589, 0, 0, 1], 8776: [-.01688, .48312, 0, 0, .77778], 8781: [-.03625, .46375, 0, 0, .77778], 8784: [-.133, .67, 0, 0, .778], 8801: [-.03625, .46375, 0, 0, .77778], 8804: [.13597, .63597, 0, 0, .77778], 8805: [.13597, .63597, 0, 0, .77778], 8810: [.0391, .5391, 0, 0, 1], 8811: [.0391, .5391, 0, 0, 1],
8826: [.0391, .5391, 0, 0, .77778], 8827: [.0391, .5391, 0, 0, .77778], 8834: [.0391, .5391, 0, 0, .77778], 8835: [.0391, .5391, 0, 0, .77778], 8838: [.13597, .63597, 0, 0, .77778], 8839: [.13597, .63597, 0, 0, .77778], 8846: [0, .55556, 0, 0, .66667], 8849: [.13597, .63597, 0, 0, .77778], 8850: [.13597, .63597, 0, 0, .77778], 8851: [0, .55556, 0, 0, .66667], 8852: [0, .55556, 0, 0, .66667], 8853: [.08333, .58333, 0, 0, .77778], 8854: [.08333, .58333, 0, 0, .77778], 8855: [.08333, .58333, 0, 0, .77778], 8856: [.08333, .58333, 0, 0, .77778], 8857: [.08333, .58333, 0, 0, .77778], 8866: [0, .69444, 0, 0, .61111], 8867: [0, .69444, 0, 0, .61111], 8868: [0, .69444, 0, 0, .77778], 8869: [0, .69444, 0, 0, .77778], 8872: [.249, .75, 0, 0, .867], 8900: [-.05555, .44445, 0, 0, .5], 8901: [-.05555, .44445, 0, 0, .27778], 8902: [-.03472, .46528, 0, 0, .5], 8904: [.005, .505, 0, 0, .9], 8942: [.03, .9, 0, 0, .278], 8943: [-.19, .31, 0, 0, 1.172], 8945: [-.1, .82, 0, 0, 1.282], 8968: [.25, .75, 0, 0, .44445], 8969: [.25, .75, 0, 0, .44445], 8970: [.25, .75, 0, 0, .44445], 8971: [.25, .75, 0, 0, .44445], 8994: [-.14236, .35764, 0, 0, 1], 8995: [-.14236, .35764, 0, 0, 1], 9136: [.244, .744, 0, 0, .412], 9137: [.244, .744, 0, 0, .412], 9651: [.19444, .69444, 0, 0, .88889], 9657: [-.03472, .46528, 0, 0, .5], 9661: [.19444, .69444, 0, 0, .88889], 9667: [-.03472, .46528, 0, 0, .5], 9711: [.19444, .69444, 0, 0, 1], 9824: [.12963, .69444, 0, 0, .77778], 9825: [.12963, .69444, 0, 0, .77778], 9826: [.12963, .69444, 0, 0, .77778], 9827: [.12963, .69444, 0, 0, .77778], 9837: [0, .75, 0, 0, .38889], 9838: [.19444, .69444, 0, 0, .38889], 9839: [.19444, .69444, 0, 0, .38889], 10216: [.25, .75, 0, 0, .38889], 10217: [.25, .75, 0, 0, .38889], 10222: [.244, .744, 0, 0, .412], 10223: [.244, .744, 0, 0, .412], 10229: [.011, .511, 0, 0, 1.609], 10230: [.011, .511, 0, 0, 1.638], 10231: [.011, .511, 0, 0, 1.859], 10232: [.024, .525, 0, 0, 1.609], 10233: [.024, .525, 0, 0, 1.638], 10234: [.024, .525, 0, 0, 1.858], 10236: [.011, .511, 0, 0, 1.638], 10815: [0, .68333, 0, 0, .75], 10927: [.13597, .63597, 0, 0, .77778], 10928: [.13597, .63597, 0, 0, .77778], 57376: [.19444, .69444, 0, 0, 0]
}, "Math-BoldItalic": { 65: [0, .68611, 0, 0, .86944], 66: [0, .68611, .04835, 0, .8664], 67: [0, .68611, .06979, 0, .81694], 68: [0, .68611, .03194, 0, .93812], 69: [0, .68611, .05451, 0, .81007], 70: [0, .68611, .15972, 0, .68889], 71: [0, .68611, 0, 0, .88673], 72: [0, .68611, .08229, 0, .98229], 73: [0, .68611, .07778, 0, .51111], 74: [0, .68611, .10069, 0, .63125], 75: [0, .68611, .06979, 0, .97118], 76: [0, .68611, 0, 0, .75555], 77: [0, .68611, .11424, 0, 1.14201], 78: [0, .68611, .11424, 0, .95034], 79: [0, .68611, .03194, 0, .83666], 80: [0, .68611, .15972, 0, .72309], 81: [.19444, .68611, 0, 0, .86861], 82: [0, .68611, .00421, 0, .87235], 83: [0, .68611, .05382, 0, .69271], 84: [0, .68611, .15972, 0, .63663], 85: [0, .68611, .11424, 0, .80027], 86: [0, .68611, .25555, 0, .67778], 87: [0, .68611, .15972, 0, 1.09305], 88: [0, .68611, .07778, 0, .94722], 89: [0, .68611, .25555, 0, .67458], 90: [0, .68611, .06979, 0, .77257], 97: [0, .44444, 0, 0, .63287], 98: [0, .69444, 0, 0, .52083], 99: [0, .44444, 0, 0, .51342], 100: [0, .69444, 0, 0, .60972], 101: [0, .44444, 0, 0, .55361], 102: [.19444, .69444, .11042, 0, .56806], 103: [.19444, .44444, .03704, 0, .5449], 104: [0, .69444, 0, 0, .66759], 105: [0, .69326, 0, 0, .4048], 106: [.19444, .69326, .0622, 0, .47083], 107: [0, .69444, .01852, 0, .6037], 108: [0, .69444, .0088, 0, .34815], 109: [0, .44444, 0, 0, 1.0324], 110: [0, .44444, 0, 0, .71296], 111: [0, .44444, 0, 0, .58472], 112: [.19444, .44444, 0, 0, .60092], 113: [.19444, .44444, .03704, 0, .54213], 114: [0, .44444, .03194, 0, .5287], 115: [0, .44444, 0, 0, .53125], 116: [0, .63492, 0, 0, .41528], 117: [0, .44444, 0, 0, .68102], 118: [0, .44444, .03704, 0, .56666], 119: [0, .44444, .02778, 0, .83148], 120: [0, .44444, 0, 0, .65903], 121: [.19444, .44444, .03704, 0, .59028], 122: [0, .44444, .04213, 0, .55509], 915: [0, .68611, .15972, 0, .65694], 916: [0, .68611, 0, 0, .95833], 920: [0, .68611, .03194, 0, .86722], 923: [0, .68611, 0, 0, .80555], 926: [0, .68611, .07458, 0, .84125], 928: [0, .68611, .08229, 0, .98229], 931: [0, .68611, .05451, 0, .88507], 933: [0, .68611, .15972, 0, .67083], 934: [0, .68611, 0, 0, .76666], 936: [0, .68611, .11653, 0, .71402], 937: [0, .68611, .04835, 0, .8789], 945: [0, .44444, 0, 0, .76064], 946: [.19444, .69444, .03403, 0, .65972], 947: [.19444, .44444, .06389, 0, .59003], 948: [0, .69444, .03819, 0, .52222], 949: [0, .44444, 0, 0, .52882], 950: [.19444, .69444, .06215, 0, .50833], 951: [.19444, .44444, .03704, 0, .6], 952: [0, .69444, .03194, 0, .5618], 953: [0, .44444, 0, 0, .41204], 954: [0, .44444, 0, 0, .66759], 955: [0, .69444, 0, 0, .67083], 956: [.19444, .44444, 0, 0, .70787], 957: [0, .44444, .06898, 0, .57685], 958: [.19444, .69444, .03021, 0, .50833], 959: [0, .44444, 0, 0, .58472], 960: [0, .44444, .03704, 0, .68241], 961: [.19444, .44444, 0, 0, .6118], 962: [.09722, .44444, .07917, 0, .42361], 963: [0, .44444, .03704, 0, .68588], 964: [0, .44444, .13472, 0, .52083], 965: [0, .44444, .03704, 0, .63055], 966: [.19444, .44444, 0, 0, .74722], 967: [.19444, .44444, 0, 0, .71805], 968: [.19444, .69444, .03704, 0, .75833], 969: [0, .44444, .03704, 0, .71782], 977: [0, .69444, 0, 0, .69155], 981: [.19444, .69444, 0, 0, .7125], 982: [0, .44444, .03194, 0, .975], 1009: [.19444, .44444, 0, 0, .6118], 1013: [0, .44444, 0, 0, .48333] }, "Math-Italic": { 65: [0, .68333, 0, .13889, .75], 66: [0, .68333, .05017, .08334, .75851], 67: [0, .68333, .07153, .08334, .71472], 68: [0, .68333, .02778, .05556, .82792], 69: [0, .68333, .05764, .08334, .7382], 70: [0, .68333, .13889, .08334, .64306], 71: [0, .68333, 0, .08334, .78625], 72: [0, .68333, .08125, .05556, .83125], 73: [0, .68333, .07847, .11111, .43958], 74: [0, .68333, .09618, .16667, .55451], 75: [0, .68333, .07153, .05556, .84931], 76: [0, .68333, 0, .02778, .68056], 77: [0, .68333, .10903, .08334, .97014], 78: [0, .68333, .10903, .08334, .80347], 79: [0, .68333, .02778, .08334, .76278], 80: [0, .68333, .13889, .08334, .64201], 81: [.19444, .68333, 0, .08334, .79056], 82: [0, .68333, .00773, .08334, .75929], 83: [0, .68333, .05764, .08334, .6132], 84: [0, .68333, .13889, .08334, .58438], 85: [0, .68333, .10903, .02778, .68278], 86: [0, .68333, .22222, 0, .58333], 87: [0, .68333, .13889, 0, .94445], 88: [0, .68333, .07847, .08334, .82847], 89: [0, .68333, .22222, 0, .58056], 90: [0, .68333, .07153, .08334, .68264], 97: [0, .43056, 0, 0, .52859], 98: [0, .69444, 0, 0, .42917], 99: [0, .43056, 0, .05556, .43276], 100: [0, .69444, 0, .16667, .52049], 101: [0, .43056, 0, .05556, .46563], 102: [.19444, .69444, .10764, .16667, .48959], 103: [.19444, .43056, .03588, .02778, .47697], 104: [0, .69444, 0, 0, .57616], 105: [0, .65952, 0, 0, .34451], 106: [.19444, .65952, .05724, 0, .41181], 107: [0, .69444, .03148, 0, .5206], 108: [0, .69444, .01968, .08334, .29838], 109: [0, .43056, 0, 0, .87801], 110: [0, .43056, 0, 0, .60023], 111: [0, .43056, 0, .05556, .48472], 112: [.19444, .43056, 0, .08334, .50313], 113: [.19444, .43056, .03588, .08334, .44641], 114: [0, .43056, .02778, .05556, .45116], 115: [0, .43056, 0, .05556, .46875], 116: [0, .61508, 0, .08334, .36111], 117: [0, .43056, 0, .02778, .57246], 118: [0, .43056, .03588, .02778, .48472], 119: [0, .43056, .02691, .08334, .71592], 120: [0, .43056, 0, .02778, .57153], 121: [.19444, .43056, .03588, .05556, .49028], 122: [0, .43056, .04398, .05556, .46505], 915: [0, .68333, .13889, .08334, .61528], 916: [0, .68333, 0, .16667, .83334], 920: [0, .68333, .02778, .08334, .76278], 923: [0, .68333, 0, .16667, .69445], 926: [0, .68333, .07569, .08334, .74236], 928: [0, .68333, .08125, .05556, .83125], 931: [0, .68333, .05764, .08334, .77986], 933: [0, .68333, .13889, .05556, .58333], 934: [0, .68333, 0, .08334, .66667], 936: [0, .68333, .11, .05556, .61222], 937: [0, .68333, .05017, .08334, .7724], 945: [0, .43056, .0037, .02778, .6397], 946: [.19444, .69444, .05278, .08334, .56563], 947: [.19444, .43056, .05556, 0, .51773], 948: [0, .69444, .03785, .05556, .44444], 949: [0, .43056, 0, .08334, .46632], 950: [.19444, .69444, .07378, .08334, .4375], 951: [.19444, .43056, .03588, .05556, .49653], 952: [0, .69444, .02778, .08334, .46944], 953: [0, .43056, 0, .05556, .35394], 954: [0, .43056, 0, 0, .57616], 955: [0, .69444, 0, 0, .58334], 956: [.19444, .43056, 0, .02778, .60255], 957: [0, .43056, .06366, .02778, .49398], 958: [.19444, .69444, .04601, .11111, .4375], 959: [0, .43056, 0, .05556, .48472], 960: [0, .43056, .03588, 0, .57003], 961: [.19444, .43056, 0, .08334, .51702], 962: [.09722, .43056, .07986, .08334, .36285], 963: [0, .43056, .03588, 0, .57141], 964: [0, .43056, .1132, .02778, .43715], 965: [0, .43056, .03588, .02778, .54028], 966: [.19444, .43056, 0, .08334, .65417], 967: [.19444, .43056, 0, .05556, .62569], 968: [.19444, .69444, .03588, .11111, .65139], 969: [0, .43056, .03588, 0, .62245], 977: [0, .69444, 0, .08334, .59144], 981: [.19444, .69444, 0, .08334, .59583], 982: [0, .43056, .02778, 0, .82813], 1009: [.19444, .43056, 0, .08334, .51702], 1013: [0, .43056, 0, .05556, .4059] }, "Math-Regular": { 65: [0, .68333, 0, .13889, .75], 66: [0, .68333, .05017, .08334, .75851], 67: [0, .68333, .07153, .08334, .71472], 68: [0, .68333, .02778, .05556, .82792], 69: [0, .68333, .05764, .08334, .7382], 70: [0, .68333, .13889, .08334, .64306], 71: [0, .68333, 0, .08334, .78625], 72: [0, .68333, .08125, .05556, .83125], 73: [0, .68333, .07847, .11111, .43958], 74: [0, .68333, .09618, .16667, .55451], 75: [0, .68333, .07153, .05556, .84931], 76: [0, .68333, 0, .02778, .68056], 77: [0, .68333, .10903, .08334, .97014], 78: [0, .68333, .10903, .08334, .80347], 79: [0, .68333, .02778, .08334, .76278], 80: [0, .68333, .13889, .08334, .64201], 81: [.19444, .68333, 0, .08334, .79056], 82: [0, .68333, .00773, .08334, .75929], 83: [0, .68333, .05764, .08334, .6132], 84: [0, .68333, .13889, .08334, .58438], 85: [0, .68333, .10903, .02778, .68278], 86: [0, .68333, .22222, 0, .58333], 87: [0, .68333, .13889, 0, .94445], 88: [0, .68333, .07847, .08334, .82847], 89: [0, .68333, .22222, 0, .58056], 90: [0, .68333, .07153, .08334, .68264], 97: [0, .43056, 0, 0, .52859], 98: [0, .69444, 0, 0, .42917], 99: [0, .43056, 0, .05556, .43276], 100: [0, .69444, 0, .16667, .52049], 101: [0, .43056, 0, .05556, .46563], 102: [.19444, .69444, .10764, .16667, .48959], 103: [.19444, .43056, .03588, .02778, .47697], 104: [0, .69444, 0, 0, .57616], 105: [0, .65952, 0, 0, .34451], 106: [.19444, .65952, .05724, 0, .41181], 107: [0, .69444, .03148, 0, .5206], 108: [0, .69444, .01968, .08334, .29838], 109: [0, .43056, 0, 0, .87801], 110: [0, .43056, 0, 0, .60023], 111: [0, .43056, 0, .05556, .48472], 112: [.19444, .43056, 0, .08334, .50313], 113: [.19444, .43056, .03588, .08334, .44641], 114: [0, .43056, .02778, .05556, .45116], 115: [0, .43056, 0, .05556, .46875], 116: [0, .61508, 0, .08334, .36111], 117: [0, .43056, 0, .02778, .57246], 118: [0, .43056, .03588, .02778, .48472], 119: [0, .43056, .02691, .08334, .71592], 120: [0, .43056, 0, .02778, .57153], 121: [.19444, .43056, .03588, .05556, .49028], 122: [0, .43056, .04398, .05556, .46505], 915: [0, .68333, .13889, .08334, .61528], 916: [0, .68333, 0, .16667, .83334], 920: [0, .68333, .02778, .08334, .76278], 923: [0, .68333, 0, .16667, .69445], 926: [0, .68333, .07569, .08334, .74236], 928: [0, .68333, .08125, .05556, .83125], 931: [0, .68333, .05764, .08334, .77986], 933: [0, .68333, .13889, .05556, .58333], 934: [0, .68333, 0, .08334, .66667], 936: [0, .68333, .11, .05556, .61222], 937: [0, .68333, .05017, .08334, .7724], 945: [0, .43056, .0037, .02778, .6397], 946: [.19444, .69444, .05278, .08334, .56563], 947: [.19444, .43056, .05556, 0, .51773], 948: [0, .69444, .03785, .05556, .44444], 949: [0, .43056, 0, .08334, .46632], 950: [.19444, .69444, .07378, .08334, .4375], 951: [.19444, .43056, .03588, .05556, .49653], 952: [0, .69444, .02778, .08334, .46944], 953: [0, .43056, 0, .05556, .35394], 954: [0, .43056, 0, 0, .57616], 955: [0, .69444, 0, 0, .58334], 956: [.19444, .43056, 0, .02778, .60255], 957: [0, .43056, .06366, .02778, .49398], 958: [.19444, .69444, .04601, .11111, .4375], 959: [0, .43056, 0, .05556, .48472], 960: [0, .43056, .03588, 0, .57003], 961: [.19444, .43056, 0, .08334, .51702], 962: [.09722, .43056, .07986, .08334, .36285], 963: [0, .43056, .03588, 0, .57141], 964: [0, .43056, .1132, .02778, .43715], 965: [0, .43056, .03588, .02778, .54028], 966: [.19444, .43056, 0, .08334, .65417], 967: [.19444, .43056, 0, .05556, .62569], 968: [.19444, .69444, .03588, .11111, .65139], 969: [0, .43056, .03588, 0, .62245], 977: [0, .69444, 0, .08334, .59144], 981: [.19444, .69444, 0, .08334, .59583], 982: [0, .43056, .02778, 0, .82813], 1009: [.19444, .43056, 0, .08334, .51702], 1013: [0, .43056, 0, .05556, .4059] }, "SansSerif-Bold": { 33: [0, .69444, 0, 0, .36667], 34: [0, .69444, 0, 0, .55834], 35: [.19444, .69444, 0, 0, .91667], 36: [.05556, .75, 0, 0, .55], 37: [.05556, .75, 0, 0, 1.02912], 38: [0, .69444, 0, 0, .83056], 39: [0, .69444, 0, 0, .30556], 40: [.25, .75, 0, 0, .42778], 41: [.25, .75, 0, 0, .42778], 42: [0, .75, 0, 0, .55], 43: [.11667, .61667, 0, 0, .85556], 44: [.10556, .13056, 0, 0, .30556], 45: [0, .45833, 0, 0, .36667], 46: [0, .13056, 0, 0, .30556], 47: [.25, .75, 0, 0, .55], 48: [0, .69444, 0, 0, .55], 49: [0, .69444, 0, 0, .55], 50: [0, .69444, 0, 0, .55], 51: [0, .69444, 0, 0, .55], 52: [0, .69444, 0, 0, .55], 53: [0, .69444, 0, 0, .55], 54: [0, .69444, 0, 0, .55], 55: [0, .69444, 0, 0, .55], 56: [0, .69444, 0, 0, .55], 57: [0, .69444, 0, 0, .55], 58: [0, .45833, 0, 0, .30556], 59: [.10556, .45833, 0, 0, .30556], 61: [-.09375, .40625, 0, 0, .85556], 63: [0, .69444, 0, 0, .51945], 64: [0, .69444, 0, 0, .73334], 65: [0, .69444, 0, 0, .73334], 66: [0, .69444, 0, 0, .73334], 67: [0, .69444, 0, 0, .70278], 68: [0, .69444, 0, 0, .79445], 69: [0, .69444, 0, 0, .64167], 70: [0, .69444, 0, 0, .61111], 71: [0, .69444, 0, 0, .73334], 72: [0, .69444, 0, 0, .79445], 73: [0, .69444, 0, 0, .33056], 74: [0, .69444, 0, 0, .51945], 75: [0, .69444, 0, 0, .76389], 76: [0, .69444, 0, 0, .58056], 77: [0, .69444, 0, 0, .97778], 78: [0, .69444, 0, 0, .79445], 79: [0, .69444, 0, 0, .79445], 80: [0, .69444, 0, 0, .70278], 81: [.10556, .69444, 0, 0, .79445], 82: [0, .69444, 0, 0, .70278], 83: [0, .69444, 0, 0, .61111], 84: [0, .69444, 0, 0, .73334], 85: [0, .69444, 0, 0, .76389], 86: [0, .69444, .01528, 0, .73334], 87: [0, .69444, .01528, 0, 1.03889], 88: [0, .69444, 0, 0, .73334], 89: [0, .69444, .0275, 0, .73334], 90: [0, .69444, 0, 0, .67223], 91: [.25, .75, 0, 0, .34306], 93: [.25, .75, 0, 0, .34306], 94: [0, .69444, 0, 0, .55], 95: [.35, .10833, .03056, 0, .55], 97: [0, .45833, 0, 0, .525], 98: [0, .69444, 0, 0, .56111], 99: [0, .45833, 0, 0, .48889], 100: [0, .69444, 0, 0, .56111], 101: [0, .45833, 0, 0, .51111], 102: [0, .69444, .07639, 0, .33611], 103: [.19444, .45833, .01528, 0, .55], 104: [0, .69444, 0, 0, .56111], 105: [0, .69444, 0, 0, .25556], 106: [.19444, .69444, 0, 0, .28611], 107: [0, .69444, 0, 0, .53056], 108: [0, .69444, 0, 0, .25556], 109: [0, .45833, 0, 0, .86667], 110: [0, .45833, 0, 0, .56111], 111: [0, .45833, 0, 0, .55], 112: [.19444, .45833, 0, 0, .56111], 113: [.19444, .45833, 0, 0, .56111], 114: [0, .45833, .01528, 0, .37222], 115: [0, .45833, 0, 0, .42167], 116: [0, .58929, 0, 0, .40417], 117: [0, .45833, 0, 0, .56111], 118: [0, .45833, .01528, 0, .5], 119: [0, .45833, .01528, 0, .74445], 120: [0, .45833, 0, 0, .5], 121: [.19444, .45833, .01528, 0, .5], 122: [0, .45833, 0, 0, .47639], 126: [.35, .34444, 0, 0, .55], 168: [0, .69444, 0, 0, .55], 176: [0, .69444, 0, 0, .73334], 180: [0, .69444, 0, 0, .55], 184: [.17014, 0, 0, 0, .48889], 305: [0, .45833, 0, 0, .25556], 567: [.19444, .45833, 0, 0, .28611], 710: [0, .69444, 0, 0, .55], 711: [0, .63542, 0, 0, .55], 713: [0, .63778, 0, 0, .55], 728: [0, .69444, 0, 0, .55], 729: [0, .69444, 0, 0, .30556], 730: [0, .69444, 0, 0, .73334], 732: [0, .69444, 0, 0, .55], 733: [0, .69444, 0, 0, .55], 915: [0, .69444, 0, 0, .58056], 916: [0, .69444, 0, 0, .91667], 920: [0, .69444, 0, 0, .85556], 923: [0, .69444, 0, 0, .67223], 926: [0, .69444, 0, 0, .73334], 928: [0, .69444, 0, 0, .79445], 931: [0, .69444, 0, 0, .79445], 933: [0, .69444, 0, 0, .85556], 934: [0, .69444, 0, 0, .79445], 936: [0, .69444, 0, 0, .85556], 937: [0, .69444, 0, 0, .79445], 8211: [0, .45833, .03056, 0, .55], 8212: [0, .45833, .03056, 0, 1.10001], 8216: [0, .69444, 0, 0, .30556], 8217: [0, .69444, 0, 0, .30556], 8220: [0, .69444, 0, 0, .55834], 8221: [0, .69444, 0, 0, .55834] }, "SansSerif-Italic": { 33: [0, .69444, .05733, 0, .31945], 34: [0, .69444, .00316, 0, .5], 35: [.19444, .69444, .05087, 0, .83334], 36: [.05556, .75, .11156, 0, .5], 37: [.05556, .75, .03126, 0, .83334], 38: [0, .69444, .03058, 0, .75834], 39: [0, .69444, .07816, 0, .27778], 40: [.25, .75, .13164, 0, .38889], 41: [.25, .75, .02536, 0, .38889], 42: [0, .75, .11775, 0, .5], 43: [.08333, .58333, .02536, 0, .77778], 44: [.125, .08333, 0, 0, .27778], 45: [0, .44444, .01946, 0, .33333], 46: [0, .08333, 0, 0, .27778], 47: [.25, .75, .13164, 0, .5], 48: [0, .65556, .11156, 0, .5], 49: [0, .65556, .11156, 0, .5], 50: [0, .65556, .11156, 0, .5], 51: [0, .65556, .11156, 0, .5], 52: [0, .65556, .11156, 0, .5], 53: [0, .65556, .11156, 0, .5], 54: [0, .65556, .11156, 0, .5], 55: [0, .65556, .11156, 0, .5], 56: [0, .65556, .11156, 0, .5], 57: [0, .65556, .11156, 0, .5], 58: [0, .44444, .02502, 0, .27778], 59: [.125, .44444, .02502, 0, .27778], 61: [-.13, .37, .05087, 0, .77778], 63: [0, .69444, .11809, 0, .47222], 64: [0, .69444, .07555, 0, .66667], 65: [0, .69444, 0, 0, .66667], 66: [0, .69444, .08293, 0, .66667], 67: [0, .69444, .11983, 0, .63889], 68: [0, .69444, .07555, 0, .72223], 69: [0, .69444, .11983, 0, .59722], 70: [0, .69444, .13372, 0, .56945], 71: [0, .69444, .11983, 0, .66667], 72: [0, .69444, .08094, 0, .70834], 73: [0, .69444, .13372, 0, .27778], 74: [0, .69444, .08094, 0, .47222], 75: [0, .69444, .11983, 0, .69445], 76: [0, .69444, 0, 0, .54167], 77: [0, .69444, .08094, 0, .875], 78: [0, .69444, .08094, 0, .70834], 79: [0, .69444, .07555, 0, .73611], 80: [0, .69444, .08293, 0, .63889], 81: [.125, .69444, .07555, 0, .73611], 82: [0, .69444, .08293, 0, .64584], 83: [0, .69444, .09205, 0, .55556], 84: [0, .69444, .13372, 0, .68056], 85: [0, .69444, .08094, 0, .6875], 86: [0, .69444, .1615, 0, .66667], 87: [0, .69444, .1615, 0, .94445], 88: [0, .69444, .13372, 0, .66667], 89: [0, .69444, .17261, 0, .66667], 90: [0, .69444, .11983, 0, .61111], 91: [.25, .75, .15942, 0, .28889], 93: [.25, .75, .08719, 0, .28889], 94: [0, .69444, .0799, 0, .5], 95: [.35, .09444, .08616, 0, .5], 97: [0, .44444, .00981, 0, .48056], 98: [0, .69444, .03057, 0, .51667], 99: [0, .44444, .08336, 0, .44445], 100: [0, .69444, .09483, 0, .51667], 101: [0, .44444, .06778, 0, .44445], 102: [0, .69444, .21705, 0, .30556], 103: [.19444, .44444, .10836, 0, .5], 104: [0, .69444, .01778, 0, .51667], 105: [0, .67937, .09718, 0, .23889], 106: [.19444, .67937, .09162, 0, .26667], 107: [0, .69444, .08336, 0, .48889], 108: [0, .69444, .09483, 0, .23889], 109: [0, .44444, .01778, 0, .79445], 110: [0, .44444, .01778, 0, .51667], 111: [0, .44444, .06613, 0, .5], 112: [.19444, .44444, .0389, 0, .51667], 113: [.19444, .44444, .04169, 0, .51667], 114: [0, .44444, .10836, 0, .34167], 115: [0, .44444, .0778, 0, .38333], 116: [0, .57143, .07225, 0, .36111], 117: [0, .44444, .04169, 0, .51667], 118: [0, .44444, .10836, 0, .46111], 119: [0, .44444, .10836, 0, .68334], 120: [0, .44444, .09169, 0, .46111], 121: [.19444, .44444, .10836, 0, .46111], 122: [0, .44444, .08752, 0, .43472], 126: [.35, .32659, .08826, 0, .5], 168: [0, .67937, .06385, 0, .5], 176: [0, .69444, 0, 0, .73752], 184: [.17014, 0, 0, 0, .44445], 305: [0, .44444, .04169, 0, .23889], 567: [.19444, .44444, .04169, 0, .26667], 710: [0, .69444, .0799, 0, .5], 711: [0, .63194, .08432, 0, .5], 713: [0, .60889, .08776, 0, .5], 714: [0, .69444, .09205, 0, .5], 715: [0, .69444, 0, 0, .5], 728: [0, .69444, .09483, 0, .5], 729: [0, .67937, .07774, 0, .27778], 730: [0, .69444, 0, 0, .73752], 732: [0, .67659, .08826, 0, .5], 733: [0, .69444, .09205, 0, .5], 915: [0, .69444, .13372, 0, .54167], 916: [0, .69444, 0, 0, .83334], 920: [0, .69444, .07555, 0, .77778], 923: [0, .69444, 0, 0, .61111], 926: [0, .69444, .12816, 0, .66667], 928: [0, .69444, .08094, 0, .70834], 931: [0, .69444, .11983, 0, .72222], 933: [0, .69444, .09031, 0, .77778], 934: [0, .69444, .04603, 0, .72222], 936: [0, .69444, .09031, 0, .77778], 937: [0, .69444, .08293, 0, .72222], 8211: [0, .44444, .08616, 0, .5], 8212: [0, .44444, .08616, 0, 1], 8216: [0, .69444, .07816, 0, .27778], 8217: [0, .69444, .07816, 0, .27778], 8220: [0, .69444, .14205, 0, .5], 8221: [0, .69444, .00316, 0, .5] }, "SansSerif-Regular": { 33: [0, .69444, 0, 0, .31945], 34: [0, .69444, 0, 0, .5], 35: [.19444, .69444, 0, 0, .83334], 36: [.05556, .75, 0, 0, .5], 37: [.05556, .75, 0, 0, .83334], 38: [0, .69444, 0, 0, .75834], 39: [0, .69444, 0, 0, .27778], 40: [.25, .75, 0, 0, .38889], 41: [.25, .75, 0, 0, .38889], 42: [0, .75, 0, 0, .5], 43: [.08333, .58333, 0, 0, .77778], 44: [.125, .08333, 0, 0, .27778], 45: [0, .44444, 0, 0, .33333], 46: [0, .08333, 0, 0, .27778], 47: [.25, .75, 0, 0, .5], 48: [0, .65556, 0, 0, .5], 49: [0, .65556, 0, 0, .5], 50: [0, .65556, 0, 0, .5], 51: [0, .65556, 0, 0, .5], 52: [0, .65556, 0, 0, .5], 53: [0, .65556, 0, 0, .5], 54: [0, .65556, 0, 0, .5], 55: [0, .65556, 0, 0, .5], 56: [0, .65556, 0, 0, .5], 57: [0, .65556, 0, 0, .5], 58: [0, .44444, 0, 0, .27778], 59: [.125, .44444, 0, 0, .27778], 61: [-.13, .37, 0, 0, .77778], 63: [0, .69444, 0, 0, .47222], 64: [0, .69444, 0, 0, .66667], 65: [0, .69444, 0, 0, .66667], 66: [0, .69444, 0, 0, .66667], 67: [0, .69444, 0, 0, .63889], 68: [0, .69444, 0, 0, .72223], 69: [0, .69444, 0, 0, .59722], 70: [0, .69444, 0, 0, .56945], 71: [0, .69444, 0, 0, .66667], 72: [0, .69444, 0, 0, .70834], 73: [0, .69444, 0, 0, .27778], 74: [0, .69444, 0, 0, .47222], 75: [0, .69444, 0, 0, .69445], 76: [0, .69444, 0, 0, .54167], 77: [0, .69444, 0, 0, .875], 78: [0, .69444, 0, 0, .70834], 79: [0, .69444, 0, 0, .73611], 80: [0, .69444, 0, 0, .63889], 81: [.125, .69444, 0, 0, .73611], 82: [0, .69444, 0, 0, .64584], 83: [0, .69444, 0, 0, .55556], 84: [0, .69444, 0, 0, .68056], 85: [0, .69444, 0, 0, .6875], 86: [0, .69444, .01389, 0, .66667], 87: [0, .69444, .01389, 0, .94445], 88: [0, .69444, 0, 0, .66667], 89: [0, .69444, .025, 0, .66667], 90: [0, .69444, 0, 0, .61111], 91: [.25, .75, 0, 0, .28889], 93: [.25, .75, 0, 0, .28889], 94: [0, .69444, 0, 0, .5], 95: [.35, .09444, .02778, 0, .5], 97: [0, .44444, 0, 0, .48056], 98: [0, .69444, 0, 0, .51667], 99: [0, .44444, 0, 0, .44445], 100: [0, .69444, 0, 0, .51667], 101: [0, .44444, 0, 0, .44445], 102: [0, .69444, .06944, 0, .30556], 103: [.19444, .44444, .01389, 0, .5], 104: [0, .69444, 0, 0, .51667], 105: [0, .67937, 0, 0, .23889], 106: [.19444, .67937, 0, 0, .26667], 107: [0, .69444, 0, 0, .48889], 108: [0, .69444, 0, 0, .23889], 109: [0, .44444, 0, 0, .79445], 110: [0, .44444, 0, 0, .51667], 111: [0, .44444, 0, 0, .5], 112: [.19444, .44444, 0, 0, .51667], 113: [.19444, .44444, 0, 0, .51667], 114: [0, .44444, .01389, 0, .34167], 115: [0, .44444, 0, 0, .38333], 116: [0, .57143, 0, 0, .36111], 117: [0, .44444, 0, 0, .51667], 118: [0, .44444, .01389, 0, .46111], 119: [0, .44444, .01389, 0, .68334], 120: [0, .44444, 0, 0, .46111], 121: [.19444, .44444, .01389, 0, .46111], 122: [0, .44444, 0, 0, .43472], 126: [.35, .32659, 0, 0, .5], 168: [0, .67937, 0, 0, .5], 176: [0, .69444, 0, 0, .66667], 184: [.17014, 0, 0, 0, .44445], 305: [0, .44444, 0, 0, .23889], 567: [.19444, .44444, 0, 0, .26667], 710: [0, .69444, 0, 0, .5], 711: [0, .63194, 0, 0, .5], 713: [0, .60889, 0, 0, .5], 714: [0, .69444, 0, 0, .5], 715: [0, .69444, 0, 0, .5], 728: [0, .69444, 0, 0, .5], 729: [0, .67937, 0, 0, .27778], 730: [0, .69444, 0, 0, .66667], 732: [0, .67659, 0, 0, .5], 733: [0, .69444, 0, 0, .5], 915: [0, .69444, 0, 0, .54167], 916: [0, .69444, 0, 0, .83334], 920: [0, .69444, 0, 0, .77778], 923: [0, .69444, 0, 0, .61111], 926: [0, .69444, 0, 0, .66667], 928: [0, .69444, 0, 0, .70834], 931: [0, .69444, 0, 0, .72222], 933: [0, .69444, 0, 0, .77778], 934: [0, .69444, 0, 0, .72222], 936: [0, .69444, 0, 0, .77778], 937: [0, .69444, 0, 0, .72222], 8211: [0, .44444, .02778, 0, .5], 8212: [0, .44444, .02778, 0, 1], 8216: [0, .69444, 0, 0, .27778], 8217: [0, .69444, 0, 0, .27778], 8220: [0, .69444, 0, 0, .5], 8221: [0, .69444, 0, 0, .5] }, "Script-Regular": { 65: [0, .7, .22925, 0, .80253], 66: [0, .7, .04087, 0, .90757], 67: [0, .7, .1689, 0, .66619], 68: [0, .7, .09371, 0, .77443], 69: [0, .7, .18583, 0, .56162], 70: [0, .7, .13634, 0, .89544], 71: [0, .7, .17322, 0, .60961], 72: [0, .7, .29694, 0, .96919], 73: [0, .7, .19189, 0, .80907], 74: [.27778, .7, .19189, 0, 1.05159], 75: [0, .7, .31259, 0, .91364], 76: [0, .7, .19189, 0, .87373], 77: [0, .7, .15981, 0, 1.08031], 78: [0, .7, .3525, 0, .9015], 79: [0, .7, .08078, 0, .73787], 80: [0, .7, .08078, 0, 1.01262], 81: [0, .7, .03305, 0, .88282], 82: [0, .7, .06259, 0, .85], 83: [0, .7, .19189, 0, .86767], 84: [0, .7, .29087, 0, .74697], 85: [0, .7, .25815, 0, .79996], 86: [0, .7, .27523, 0, .62204], 87: [0, .7, .27523, 0, .80532], 88: [0, .7, .26006, 0, .94445], 89: [0, .7, .2939, 0, .70961], 90: [0, .7, .24037, 0, .8212] }, "Size1-Regular": { 40: [.35001, .85, 0, 0, .45834], 41: [.35001, .85, 0, 0, .45834], 47: [.35001, .85, 0, 0, .57778], 91: [.35001, .85, 0, 0, .41667], 92: [.35001, .85, 0, 0, .57778], 93: [.35001, .85, 0, 0, .41667], 123: [.35001, .85, 0, 0, .58334], 125: [.35001, .85, 0, 0, .58334], 710: [0, .72222, 0, 0, .55556], 732: [0, .72222, 0, 0, .55556], 770: [0, .72222, 0, 0, .55556], 771: [0, .72222, 0, 0, .55556], 8214: [-99e-5, .601, 0, 0, .77778], 8593: [1e-5, .6, 0, 0, .66667], 8595: [1e-5, .6, 0, 0, .66667], 8657: [1e-5, .6, 0, 0, .77778], 8659: [1e-5, .6, 0, 0, .77778], 8719: [.25001, .75, 0, 0, .94445], 8720: [.25001, .75, 0, 0, .94445], 8721: [.25001, .75, 0, 0, 1.05556], 8730: [.35001, .85, 0, 0, 1], 8739: [-.00599, .606, 0, 0, .33333], 8741: [-.00599, .606, 0, 0, .55556], 8747: [.30612, .805, .19445, 0, .47222], 8748: [.306, .805, .19445, 0, .47222], 8749: [.306, .805, .19445, 0, .47222], 8750: [.30612, .805, .19445, 0, .47222], 8896: [.25001, .75, 0, 0, .83334], 8897: [.25001, .75, 0, 0, .83334], 8898: [.25001, .75, 0, 0, .83334], 8899: [.25001, .75, 0, 0, .83334], 8968: [.35001, .85, 0, 0, .47222], 8969: [.35001, .85, 0, 0, .47222], 8970: [.35001, .85, 0, 0, .47222], 8971: [.35001, .85, 0, 0, .47222], 9168: [-99e-5, .601, 0, 0, .66667], 10216: [.35001, .85, 0, 0, .47222], 10217: [.35001, .85, 0, 0, .47222], 10752: [.25001, .75, 0, 0, 1.11111], 10753: [.25001, .75, 0, 0, 1.11111], 10754: [.25001, .75, 0, 0, 1.11111], 10756: [.25001, .75, 0, 0, .83334], 10758: [.25001, .75, 0, 0, .83334] }, "Size2-Regular": { 40: [.65002, 1.15, 0, 0, .59722], 41: [.65002, 1.15, 0, 0, .59722], 47: [.65002, 1.15, 0, 0, .81111], 91: [.65002, 1.15, 0, 0, .47222], 92: [.65002, 1.15, 0, 0, .81111], 93: [.65002, 1.15, 0, 0, .47222], 123: [.65002, 1.15, 0, 0, .66667], 125: [.65002, 1.15, 0, 0, .66667], 710: [0, .75, 0, 0, 1], 732: [0, .75, 0, 0, 1], 770: [0, .75, 0, 0, 1], 771: [0, .75, 0, 0, 1], 8719: [.55001, 1.05, 0, 0, 1.27778], 8720: [.55001, 1.05, 0, 0, 1.27778], 8721: [.55001, 1.05, 0, 0, 1.44445], 8730: [.65002, 1.15, 0, 0, 1], 8747: [.86225, 1.36, .44445, 0, .55556], 8748: [.862, 1.36, .44445, 0, .55556], 8749: [.862, 1.36, .44445, 0, .55556], 8750: [.86225, 1.36, .44445, 0, .55556], 8896: [.55001, 1.05, 0, 0, 1.11111], 8897: [.55001, 1.05, 0, 0, 1.11111], 8898: [.55001, 1.05, 0, 0, 1.11111], 8899: [.55001, 1.05, 0, 0, 1.11111], 8968: [.65002, 1.15, 0, 0, .52778], 8969: [.65002, 1.15, 0, 0, .52778], 8970: [.65002, 1.15, 0, 0, .52778], 8971: [.65002, 1.15, 0, 0, .52778], 10216: [.65002, 1.15, 0, 0, .61111], 10217: [.65002, 1.15, 0, 0, .61111], 10752: [.55001, 1.05, 0, 0, 1.51112], 10753: [.55001, 1.05, 0, 0, 1.51112], 10754: [.55001, 1.05, 0, 0, 1.51112], 10756: [.55001, 1.05, 0, 0, 1.11111], 10758: [.55001, 1.05, 0, 0, 1.11111] }, "Size3-Regular": { 40: [.95003, 1.45, 0, 0, .73611], 41: [.95003, 1.45, 0, 0, .73611], 47: [.95003, 1.45, 0, 0, 1.04445], 91: [.95003, 1.45, 0, 0, .52778], 92: [.95003, 1.45, 0, 0, 1.04445], 93: [.95003, 1.45, 0, 0, .52778], 123: [.95003, 1.45, 0, 0, .75], 125: [.95003, 1.45, 0, 0, .75], 710: [0, .75, 0, 0, 1.44445], 732: [0, .75, 0, 0, 1.44445], 770: [0, .75, 0, 0, 1.44445], 771: [0, .75, 0, 0, 1.44445], 8730: [.95003, 1.45, 0, 0, 1], 8968: [.95003, 1.45, 0, 0, .58334], 8969: [.95003, 1.45, 0, 0, .58334], 8970: [.95003, 1.45, 0, 0, .58334], 8971: [.95003, 1.45, 0, 0, .58334], 10216: [.95003, 1.45, 0, 0, .75], 10217: [.95003, 1.45, 0, 0, .75] }, "Size4-Regular": { 40: [1.25003, 1.75, 0, 0, .79167], 41: [1.25003, 1.75, 0, 0, .79167], 47: [1.25003, 1.75, 0, 0, 1.27778], 91: [1.25003, 1.75, 0, 0, .58334], 92: [1.25003, 1.75, 0, 0, 1.27778], 93: [1.25003, 1.75, 0, 0, .58334], 123: [1.25003, 1.75, 0, 0, .80556], 125: [1.25003, 1.75, 0, 0, .80556], 710: [0, .825, 0, 0, 1.8889], 732: [0, .825, 0, 0, 1.8889], 770: [0, .825, 0, 0, 1.8889], 771: [0, .825, 0, 0, 1.8889], 8730: [1.25003, 1.75, 0, 0, 1], 8968: [1.25003, 1.75, 0, 0, .63889], 8969: [1.25003, 1.75, 0, 0, .63889], 8970: [1.25003, 1.75, 0, 0, .63889], 8971: [1.25003, 1.75, 0, 0, .63889], 9115: [.64502, 1.155, 0, 0, .875], 9116: [1e-5, .6, 0, 0, .875], 9117: [.64502, 1.155, 0, 0, .875], 9118: [.64502, 1.155, 0, 0, .875], 9119: [1e-5, .6, 0, 0, .875], 9120: [.64502, 1.155, 0, 0, .875], 9121: [.64502, 1.155, 0, 0, .66667], 9122: [-99e-5, .601, 0, 0, .66667], 9123: [.64502, 1.155, 0, 0, .66667], 9124: [.64502, 1.155, 0, 0, .66667], 9125: [-99e-5, .601, 0, 0, .66667], 9126: [.64502, 1.155, 0, 0, .66667], 9127: [1e-5, .9, 0, 0, .88889], 9128: [.65002, 1.15, 0, 0, .88889], 9129: [.90001, 0, 0, 0, .88889], 9130: [0, .3, 0, 0, .88889], 9131: [1e-5, .9, 0, 0, .88889], 9132: [.65002, 1.15, 0, 0, .88889], 9133: [.90001, 0, 0, 0, .88889], 9143: [.88502, .915, 0, 0, 1.05556], 10216: [1.25003, 1.75, 0, 0, .80556], 10217: [1.25003, 1.75, 0, 0, .80556], 57344: [-.00499, .605, 0, 0, 1.05556], 57345: [-.00499, .605, 0, 0, 1.05556], 57680: [0, .12, 0, 0, .45], 57681: [0, .12, 0, 0, .45], 57682: [0, .12, 0, 0, .45], 57683: [0, .12, 0, 0, .45] }, "Typewriter-Regular": { 32: [0, 0, 0, 0, .525], 33: [0, .61111, 0, 0, .525], 34: [0, .61111, 0, 0, .525], 35: [0, .61111, 0, 0, .525], 36: [.08333, .69444, 0, 0, .525], 37: [.08333, .69444, 0, 0, .525], 38: [0, .61111, 0, 0, .525], 39: [0, .61111, 0, 0, .525], 40: [.08333, .69444, 0, 0, .525], 41: [.08333, .69444, 0, 0, .525], 42: [0, .52083, 0, 0, .525], 43: [-.08056, .53055, 0, 0, .525], 44: [.13889, .125, 0, 0, .525], 45: [-.08056, .53055, 0, 0, .525], 46: [0, .125, 0, 0, .525], 47: [.08333, .69444, 0, 0, .525], 48: [0, .61111, 0, 0, .525], 49: [0, .61111, 0, 0, .525], 50: [0, .61111, 0, 0, .525], 51: [0, .61111, 0, 0, .525], 52: [0, .61111, 0, 0, .525], 53: [0, .61111, 0, 0, .525], 54: [0, .61111, 0, 0, .525], 55: [0, .61111, 0, 0, .525], 56: [0, .61111, 0, 0, .525], 57: [0, .61111, 0, 0, .525], 58: [0, .43056, 0, 0, .525], 59: [.13889, .43056, 0, 0, .525], 60: [-.05556, .55556, 0, 0, .525], 61: [-.19549, .41562, 0, 0, .525], 62: [-.05556, .55556, 0, 0, .525], 63: [0, .61111, 0, 0, .525], 64: [0, .61111, 0, 0, .525], 65: [0, .61111, 0, 0, .525], 66: [0, .61111, 0, 0, .525], 67: [0, .61111, 0, 0, .525], 68: [0, .61111, 0, 0, .525], 69: [0, .61111, 0, 0, .525], 70: [0, .61111, 0, 0, .525], 71: [0, .61111, 0, 0, .525], 72: [0, .61111, 0, 0, .525], 73: [0, .61111, 0, 0, .525], 74: [0, .61111, 0, 0, .525], 75: [0, .61111, 0, 0, .525], 76: [0, .61111, 0, 0, .525], 77: [0, .61111, 0, 0, .525], 78: [0, .61111, 0, 0, .525], 79: [0, .61111, 0, 0, .525], 80: [0, .61111, 0, 0, .525], 81: [.13889, .61111, 0, 0, .525], 82: [0, .61111, 0, 0, .525], 83: [0, .61111, 0, 0, .525], 84: [0, .61111, 0, 0, .525], 85: [0, .61111, 0, 0, .525], 86: [0, .61111, 0, 0, .525], 87: [0, .61111, 0, 0, .525], 88: [0, .61111, 0, 0, .525], 89: [0, .61111, 0, 0, .525], 90: [0, .61111, 0, 0, .525], 91: [.08333, .69444, 0, 0, .525], 92: [.08333, .69444, 0, 0, .525], 93: [.08333, .69444, 0, 0, .525], 94: [0, .61111, 0, 0, .525], 95: [.09514, 0, 0, 0, .525], 96: [0, .61111, 0, 0, .525], 97: [0, .43056, 0, 0, .525], 98: [0, .61111, 0, 0, .525], 99: [0, .43056, 0, 0, .525], 100: [0, .61111, 0, 0, .525], 101: [0, .43056, 0, 0, .525], 102: [0, .61111, 0, 0, .525], 103: [.22222, .43056, 0, 0, .525], 104: [0, .61111, 0, 0, .525], 105: [0, .61111, 0, 0, .525], 106: [.22222, .61111, 0, 0, .525], 107: [0, .61111, 0, 0, .525], 108: [0, .61111, 0, 0, .525], 109: [0, .43056, 0, 0, .525], 110: [0, .43056, 0, 0, .525], 111: [0, .43056, 0, 0, .525], 112: [.22222, .43056, 0, 0, .525], 113: [.22222, .43056, 0, 0, .525], 114: [0, .43056, 0, 0, .525], 115: [0, .43056, 0, 0, .525], 116: [0, .55358, 0, 0, .525], 117: [0, .43056, 0, 0, .525], 118: [0, .43056, 0, 0, .525], 119: [0, .43056, 0, 0, .525], 120: [0, .43056, 0, 0, .525], 121: [.22222, .43056, 0, 0, .525], 122: [0, .43056, 0, 0, .525], 123: [.08333, .69444, 0, 0, .525], 124: [.08333, .69444, 0, 0, .525], 125: [.08333, .69444, 0, 0, .525], 126: [0, .61111, 0, 0, .525], 127: [0, .61111, 0, 0, .525], 160: [0, 0, 0, 0, .525], 176: [0, .61111, 0, 0, .525], 184: [.19445, 0, 0, 0, .525], 305: [0, .43056, 0, 0, .525], 567: [.22222, .43056, 0, 0, .525], 711: [0, .56597, 0, 0, .525], 713: [0, .56555, 0, 0, .525], 714: [0, .61111, 0, 0, .525], 715: [0, .61111, 0, 0, .525], 728: [0, .61111, 0, 0, .525], 730: [0, .61111, 0, 0, .525], 770: [0, .61111, 0, 0, .525], 771: [0, .61111, 0, 0, .525], 776: [0, .61111, 0, 0, .525], 915: [0, .61111, 0, 0, .525], 916: [0, .61111, 0, 0, .525], 920: [0, .61111, 0, 0, .525], 923: [0, .61111, 0, 0, .525], 926: [0, .61111, 0, 0, .525], 928: [0, .61111, 0, 0, .525], 931: [0, .61111, 0, 0, .525], 933: [0, .61111, 0, 0, .525], 934: [0, .61111, 0, 0, .525], 936: [0, .61111, 0, 0, .525], 937: [0, .61111, 0, 0, .525], 8216: [0, .61111, 0, 0, .525], 8217: [0, .61111, 0, 0, .525], 8242: [0, .61111, 0, 0, .525], 9251: [.11111, .21944, 0, 0, .525] }
}, ut = { slant: [.25, .25, .25], space: [0, 0, 0], stretch: [0, 0, 0], shrink: [0, 0, 0], xHeight: [.431, .431, .431], quad: [1, 1.171, 1.472], extraSpace: [0, 0, 0], num1: [.677, .732, .925], num2: [.394, .384, .387], num3: [.444, .471, .504], denom1: [.686, .752, 1.025], denom2: [.345, .344, .532], sup1: [.413, .503, .504], sup2: [.363, .431, .404], sup3: [.289, .286, .294], sub1: [.15, .143, .2], sub2: [.247, .286, .4], supDrop: [.386, .353, .494], subDrop: [.05, .071, .1], delim1: [2.39, 1.7, 1.98], delim2: [1.01, 1.157, 1.42], axisHeight: [.25, .25, .25], defaultRuleThickness: [.04, .049, .049], bigOpSpacing1: [.111, .111, .111], bigOpSpacing2: [.166, .166, .166], bigOpSpacing3: [.2, .2, .2], bigOpSpacing4: [.6, .611, .611], bigOpSpacing5: [.1, .143, .143], sqrtRuleThickness: [.04, .04, .04], ptPerEm: [10, 10, 10], doubleRuleSep: [.2, .2, .2], arrayRuleWidth: [.04, .04, .04], fboxsep: [.3, .3, .3], fboxrule: [.04, .04, .04] }, ht = { "\xc5": "A", "\xc7": "C", "\xd0": "D", "\xde": "o", "\xe5": "a", "\xe7": "c", "\xf0": "d", "\xfe": "o", "\u0410": "A", "\u0411": "B", "\u0412": "B", "\u0413": "F", "\u0414": "A", "\u0415": "E", "\u0416": "K", "\u0417": "3", "\u0418": "N", "\u0419": "N", "\u041a": "K", "\u041b": "N", "\u041c": "M", "\u041d": "H", "\u041e": "O", "\u041f": "N", "\u0420": "P", "\u0421": "C", "\u0422": "T", "\u0423": "y", "\u0424": "O", "\u0425": "X", "\u0426": "U", "\u0427": "h", "\u0428": "W", "\u0429": "W", "\u042a": "B", "\u042b": "X", "\u042c": "B", "\u042d": "3", "\u042e": "X", "\u042f": "R", "\u0430": "a", "\u0431": "b", "\u0432": "a", "\u0433": "r", "\u0434": "y", "\u0435": "e", "\u0436": "m", "\u0437": "e", "\u0438": "n", "\u0439": "n", "\u043a": "n", "\u043b": "n", "\u043c": "m", "\u043d": "n", "\u043e": "o", "\u043f": "n", "\u0440": "p", "\u0441": "c", "\u0442": "o", "\u0443": "y", "\u0444": "b", "\u0445": "x", "\u0446": "n", "\u0447": "n", "\u0448": "w", "\u0449": "w", "\u044a": "a", "\u044b": "m", "\u044c": "a", "\u044d": "e", "\u044e": "m", "\u044f": "r" }, dt = {}, mt = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 }, pt = { "accent-token": 1, mathord: 1, "op-token": 1, spacing: 1, textord: 1 }, ft = { math: {}, text: {} }, gt = ft, vt = "main", yt = "ams", bt = "bin", xt = "mathord", wt = "op-token", kt = "rel"; o("math", vt, kt, "\u2261", "\\equiv", !0), o("math", vt, kt, "\u227a", "\\prec", !0), o("math", vt, kt, "\u227b", "\\succ", !0), o("math", vt, kt, "\u223c", "\\sim", !0), o("math", vt, kt, "\u22a5", "\\perp"), o("math", vt, kt, "\u2aaf", "\\preceq", !0), o("math", vt, kt, "\u2ab0", "\\succeq", !0), o("math", vt, kt, "\u2243", "\\simeq", !0), o("math", vt, kt, "\u2223", "\\mid", !0), o("math", vt, kt, "\u226a", "\\ll", !0), o("math", vt, kt, "\u226b", "\\gg", !0), o("math", vt, kt, "\u224d", "\\asymp", !0), o("math", vt, kt, "\u2225", "\\parallel"), o("math", vt, kt, "\u22c8", "\\bowtie", !0), o("math", vt, kt, "\u2323", "\\smile", !0), o("math", vt, kt, "\u2291", "\\sqsubseteq", !0), o("math", vt, kt, "\u2292", "\\sqsupseteq", !0), o("math", vt, kt, "\u2250", "\\doteq", !0), o("math", vt, kt, "\u2322", "\\frown", !0), o("math", vt, kt, "\u220b", "\\ni", !0), o("math", vt, kt, "\u221d", "\\propto", !0), o("math", vt, kt, "\u22a2", "\\vdash", !0), o("math", vt, kt, "\u22a3", "\\dashv", !0), o("math", vt, kt, "\u220b", "\\owns"), o("math", vt, "punct", ".", "\\ldotp"), o("math", vt, "punct", "\u22c5", "\\cdotp"), o("math", vt, "textord", "#", "\\#"), o("text", vt, "textord", "#", "\\#"), o("math", vt, "textord", "&", "\\&"), o("text", vt, "textord", "&", "\\&"), o("math", vt, "textord", "\u2135", "\\aleph", !0), o("math", vt, "textord", "\u2200", "\\forall", !0), o("math", vt, "textord", "\u210f", "\\hbar", !0), o("math", vt, "textord", "\u2203", "\\exists", !0), o("math", vt, "textord", "\u2207", "\\nabla", !0), o("math", vt, "textord", "\u266d", "\\flat", !0), o("math", vt, "textord", "\u2113", "\\ell", !0), o("math", vt, "textord", "\u266e", "\\natural", !0), o("math", vt, "textord", "\u2663", "\\clubsuit", !0), o("math", vt, "textord", "\u2118", "\\wp", !0), o("math", vt, "textord", "\u266f", "\\sharp", !0), o("math", vt, "textord", "\u2662", "\\diamondsuit", !0), o("math", vt, "textord", "\u211c", "\\Re", !0), o("math", vt, "textord", "\u2661", "\\heartsuit", !0), o("math", vt, "textord", "\u2111", "\\Im", !0), o("math", vt, "textord", "\u2660", "\\spadesuit", !0), o("text", vt, "textord", "\xa7", "\\S", !0), o("text", vt, "textord", "\xb6", "\\P", !0), o("math", vt, "textord", "\u2020", "\\dag"), o("text", vt, "textord", "\u2020", "\\dag"), o("text", vt, "textord", "\u2020", "\\textdagger"), o("math", vt, "textord", "\u2021", "\\ddag"), o("text", vt, "textord", "\u2021", "\\ddag"), o("text", vt, "textord", "\u2021", "\\textdaggerdbl"), o("math", vt, "close", "\u23b1", "\\rmoustache", !0), o("math", vt, "open", "\u23b0", "\\lmoustache", !0), o("math", vt, "close", "\u27ef", "\\rgroup", !0), o("math", vt, "open", "\u27ee", "\\lgroup", !0), o("math", vt, bt, "\u2213", "\\mp", !0),
o("math", vt, bt, "\u2296", "\\ominus", !0), o("math", vt, bt, "\u228e", "\\uplus", !0), o("math", vt, bt, "\u2293", "\\sqcap", !0), o("math", vt, bt, "\u2217", "\\ast"), o("math", vt, bt, "\u2294", "\\sqcup", !0), o("math", vt, bt, "\u25ef", "\\bigcirc"), o("math", vt, bt, "\u2219", "\\bullet"), o("math", vt, bt, "\u2021", "\\ddagger"), o("math", vt, bt, "\u2240", "\\wr", !0), o("math", vt, bt, "\u2a3f", "\\amalg"), o("math", vt, bt, "&", "\\And"), o("math", vt, kt, "\u27f5", "\\longleftarrow", !0), o("math", vt, kt, "\u21d0", "\\Leftarrow", !0), o("math", vt, kt, "\u27f8", "\\Longleftarrow", !0), o("math", vt, kt, "\u27f6", "\\longrightarrow", !0), o("math", vt, kt, "\u21d2", "\\Rightarrow", !0), o("math", vt, kt, "\u27f9", "\\Longrightarrow", !0), o("math", vt, kt, "\u2194", "\\leftrightarrow", !0), o("math", vt, kt, "\u27f7", "\\longleftrightarrow", !0), o("math", vt, kt, "\u21d4", "\\Leftrightarrow", !0), o("math", vt, kt, "\u27fa", "\\Longleftrightarrow", !0), o("math", vt, kt, "\u21a6", "\\mapsto", !0), o("math", vt, kt, "\u27fc", "\\longmapsto", !0), o("math", vt, kt, "\u2197", "\\nearrow", !0), o("math", vt, kt, "\u21a9", "\\hookleftarrow", !0), o("math", vt, kt, "\u21aa", "\\hookrightarrow", !0), o("math", vt, kt, "\u2198", "\\searrow", !0), o("math", vt, kt, "\u21bc", "\\leftharpoonup", !0), o("math", vt, kt, "\u21c0", "\\rightharpoonup", !0), o("math", vt, kt, "\u2199", "\\swarrow", !0), o("math", vt, kt, "\u21bd", "\\leftharpoondown", !0), o("math", vt, kt, "\u21c1", "\\rightharpoondown", !0), o("math", vt, kt, "\u2196", "\\nwarrow", !0), o("math", vt, kt, "\u21cc", "\\rightleftharpoons", !0), o("math", yt, kt, "\u226e", "\\nless", !0), o("math", yt, kt, "\ue010", "\\@nleqslant"), o("math", yt, kt, "\ue011", "\\@nleqq"), o("math", yt, kt, "\u2a87", "\\lneq", !0), o("math", yt, kt, "\u2268", "\\lneqq", !0), o("math", yt, kt, "\ue00c", "\\@lvertneqq"), o("math", yt, kt, "\u22e6", "\\lnsim", !0), o("math", yt, kt, "\u2a89", "\\lnapprox", !0), o("math", yt, kt, "\u2280", "\\nprec", !0), o("math", yt, kt, "\u22e0", "\\npreceq", !0), o("math", yt, kt, "\u22e8", "\\precnsim", !0), o("math", yt, kt, "\u2ab9", "\\precnapprox", !0), o("math", yt, kt, "\u2241", "\\nsim", !0), o("math", yt, kt, "\ue006", "\\@nshortmid"), o("math", yt, kt, "\u2224", "\\nmid", !0), o("math", yt, kt, "\u22ac", "\\nvdash", !0), o("math", yt, kt, "\u22ad", "\\nvDash", !0), o("math", yt, kt, "\u22ea", "\\ntriangleleft"), o("math", yt, kt, "\u22ec", "\\ntrianglelefteq", !0), o("math", yt, kt, "\u228a", "\\subsetneq", !0), o("math", yt, kt, "\ue01a", "\\@varsubsetneq"), o("math", yt, kt, "\u2acb", "\\subsetneqq", !0), o("math", yt, kt, "\ue017", "\\@varsubsetneqq"), o("math", yt, kt, "\u226f", "\\ngtr", !0), o("math", yt, kt, "\ue00f", "\\@ngeqslant"), o("math", yt, kt, "\ue00e", "\\@ngeqq"), o("math", yt, kt, "\u2a88", "\\gneq", !0), o("math", yt, kt, "\u2269", "\\gneqq", !0), o("math", yt, kt, "\ue00d", "\\@gvertneqq"), o("math", yt, kt, "\u22e7", "\\gnsim", !0), o("math", yt, kt, "\u2a8a", "\\gnapprox", !0), o("math", yt, kt, "\u2281", "\\nsucc", !0), o("math", yt, kt, "\u22e1", "\\nsucceq", !0), o("math", yt, kt, "\u22e9", "\\succnsim", !0), o("math", yt, kt, "\u2aba", "\\succnapprox", !0), o("math", yt, kt, "\u2246", "\\ncong", !0), o("math", yt, kt, "\ue007", "\\@nshortparallel"), o("math", yt, kt, "\u2226", "\\nparallel", !0), o("math", yt, kt, "\u22af", "\\nVDash", !0), o("math", yt, kt, "\u22eb", "\\ntriangleright"), o("math", yt, kt, "\u22ed", "\\ntrianglerighteq", !0), o("math", yt, kt, "\ue018", "\\@nsupseteqq"), o("math", yt, kt, "\u228b", "\\supsetneq", !0), o("math", yt, kt, "\ue01b", "\\@varsupsetneq"), o("math", yt, kt, "\u2acc", "\\supsetneqq", !0), o("math", yt, kt, "\ue019", "\\@varsupsetneqq"), o("math", yt, kt, "\u22ae", "\\nVdash", !0), o("math", yt, kt, "\u2ab5", "\\precneqq", !0), o("math", yt, kt, "\u2ab6", "\\succneqq", !0), o("math", yt, kt, "\ue016", "\\@nsubseteqq"), o("math", yt, bt, "\u22b4", "\\unlhd"), o("math", yt, bt, "\u22b5", "\\unrhd"), o("math", yt, kt, "\u219a", "\\nleftarrow", !0), o("math", yt, kt, "\u219b", "\\nrightarrow", !0), o("math", yt, kt, "\u21cd", "\\nLeftarrow", !0), o("math", yt, kt, "\u21cf", "\\nRightarrow", !0), o("math", yt, kt, "\u21ae", "\\nleftrightarrow", !0), o("math", yt, kt, "\u21ce", "\\nLeftrightarrow", !0), o("math", yt, kt, "\u25b3", "\\vartriangle"), o("math", yt, "textord", "\u210f", "\\hslash"), o("math", yt, "textord", "\u25bd", "\\triangledown"), o("math", yt, "textord", "\u25ca", "\\lozenge"), o("math", yt, "textord", "\u24c8", "\\circledS"), o("math", yt, "textord", "\xae", "\\circledR"), o("text", yt, "textord", "\xae", "\\circledR"), o("math", yt, "textord", "\u2221", "\\measuredangle", !0), o("math", yt, "textord", "\u2204", "\\nexists"), o("math", yt, "textord", "\u2127", "\\mho"), o("math", yt, "textord", "\u2132", "\\Finv", !0), o("math", yt, "textord", "\u2141", "\\Game", !0), o("math", yt, "textord", "\u2035", "\\backprime"), o("math", yt, "textord", "\u25b2", "\\blacktriangle"), o("math", yt, "textord", "\u25bc", "\\blacktriangledown"), o("math", yt, "textord", "\u25a0", "\\blacksquare"), o("math", yt, "textord", "\u29eb", "\\blacklozenge"), o("math", yt, "textord", "\u2605", "\\bigstar"), o("math", yt, "textord", "\u2222", "\\sphericalangle", !0), o("math", yt, "textord", "\u2201", "\\complement", !0), o("math", yt, "textord", "\xf0", "\\eth", !0), o("math", yt, "textord", "\u2571", "\\diagup"), o("math", yt, "textord", "\u2572", "\\diagdown"), o("math", yt, "textord", "\u25a1", "\\square"), o("math", yt, "textord", "\u25a1", "\\Box"), o("math", yt, "textord", "\u25ca", "\\Diamond"), o("math", yt, "textord", "\xa5", "\\yen", !0), o("text", yt, "textord", "\xa5", "\\yen", !0), o("math", yt, "textord", "\u2713", "\\checkmark", !0), o("text", yt, "textord", "\u2713", "\\checkmark"), o("math", yt, "textord", "\u2136", "\\beth", !0), o("math", yt, "textord", "\u2138", "\\daleth", !0), o("math", yt, "textord", "\u2137", "\\gimel", !0), o("math", yt, "textord", "\u03dd", "\\digamma", !0), o("math", yt, "textord", "\u03f0", "\\varkappa"), o("math", yt, "open", "\u250c", "\\ulcorner", !0), o("math", yt, "close", "\u2510", "\\urcorner", !0), o("math", yt, "open", "\u2514", "\\llcorner", !0), o("math", yt, "close", "\u2518", "\\lrcorner", !0), o("math", yt, kt, "\u2266", "\\leqq", !0), o("math", yt, kt, "\u2a7d", "\\leqslant", !0), o("math", yt, kt, "\u2a95", "\\eqslantless", !0), o("math", yt, kt, "\u2272", "\\lesssim", !0), o("math", yt, kt, "\u2a85", "\\lessapprox", !0), o("math", yt, kt, "\u224a", "\\approxeq", !0), o("math", yt, bt, "\u22d6", "\\lessdot"), o("math", yt, kt, "\u22d8", "\\lll", !0), o("math", yt, kt, "\u2276", "\\lessgtr", !0), o("math", yt, kt, "\u22da", "\\lesseqgtr", !0), o("math", yt, kt, "\u2a8b", "\\lesseqqgtr", !0), o("math", yt, kt, "\u2251", "\\doteqdot"), o("math", yt, kt, "\u2253", "\\risingdotseq", !0), o("math", yt, kt, "\u2252", "\\fallingdotseq", !0), o("math", yt, kt, "\u223d", "\\backsim", !0), o("math", yt, kt, "\u22cd", "\\backsimeq", !0), o("math", yt, kt, "\u2ac5", "\\subseteqq", !0), o("math", yt, kt, "\u22d0", "\\Subset", !0), o("math", yt, kt, "\u228f", "\\sqsubset", !0), o("math", yt, kt, "\u227c", "\\preccurlyeq", !0), o("math", yt, kt, "\u22de", "\\curlyeqprec", !0), o("math", yt, kt, "\u227e", "\\precsim", !0), o("math", yt, kt, "\u2ab7", "\\precapprox", !0), o("math", yt, kt, "\u22b2", "\\vartriangleleft"), o("math", yt, kt, "\u22b4", "\\trianglelefteq"), o("math", yt, kt, "\u22a8", "\\vDash", !0), o("math", yt, kt, "\u22aa", "\\Vvdash", !0), o("math", yt, kt, "\u2323", "\\smallsmile"), o("math", yt, kt, "\u2322", "\\smallfrown"), o("math", yt, kt, "\u224f", "\\bumpeq", !0), o("math", yt, kt, "\u224e", "\\Bumpeq", !0), o("math", yt, kt, "\u2267", "\\geqq", !0), o("math", yt, kt, "\u2a7e", "\\geqslant", !0), o("math", yt, kt, "\u2a96", "\\eqslantgtr", !0), o("math", yt, kt, "\u2273", "\\gtrsim", !0), o("math", yt, kt, "\u2a86", "\\gtrapprox", !0), o("math", yt, bt, "\u22d7", "\\gtrdot"), o("math", yt, kt, "\u22d9", "\\ggg", !0), o("math", yt, kt, "\u2277", "\\gtrless", !0), o("math", yt, kt, "\u22db", "\\gtreqless", !0), o("math", yt, kt, "\u2a8c", "\\gtreqqless", !0), o("math", yt, kt, "\u2256", "\\eqcirc", !0), o("math", yt, kt, "\u2257", "\\circeq", !0), o("math", yt, kt, "\u225c", "\\triangleq", !0), o("math", yt, kt, "\u223c", "\\thicksim"), o("math", yt, kt, "\u2248", "\\thickapprox"), o("math", yt, kt, "\u2ac6", "\\supseteqq", !0), o("math", yt, kt, "\u22d1", "\\Supset", !0), o("math", yt, kt, "\u2290", "\\sqsupset", !0), o("math", yt, kt, "\u227d", "\\succcurlyeq", !0), o("math", yt, kt, "\u22df", "\\curlyeqsucc", !0), o("math", yt, kt, "\u227f", "\\succsim", !0), o("math", yt, kt, "\u2ab8", "\\succapprox", !0), o("math", yt, kt, "\u22b3", "\\vartriangleright"), o("math", yt, kt, "\u22b5", "\\trianglerighteq"), o("math", yt, kt, "\u22a9", "\\Vdash", !0), o("math", yt, kt, "\u2223", "\\shortmid"), o("math", yt, kt, "\u2225", "\\shortparallel"), o("math", yt, kt, "\u226c", "\\between", !0), o("math", yt, kt, "\u22d4", "\\pitchfork", !0), o("math", yt, kt, "\u221d", "\\varpropto"), o("math", yt, kt, "\u25c0", "\\blacktriangleleft"), o("math", yt, kt, "\u2234", "\\therefore", !0), o("math", yt, kt, "\u220d", "\\backepsilon"), o("math", yt, kt, "\u25b6", "\\blacktriangleright"), o("math", yt, kt, "\u2235", "\\because", !0), o("math", yt, kt, "\u22d8", "\\llless"), o("math", yt, kt, "\u22d9", "\\gggtr"), o("math", yt, bt, "\u22b2", "\\lhd"), o("math", yt, bt, "\u22b3", "\\rhd"), o("math", yt, kt, "\u2242", "\\eqsim", !0), o("math", vt, kt, "\u22c8", "\\Join"), o("math", yt, kt, "\u2251", "\\Doteq", !0), o("math", yt, bt, "\u2214", "\\dotplus", !0), o("math", yt, bt, "\u2216", "\\smallsetminus"), o("math", yt, bt, "\u22d2", "\\Cap", !0), o("math", yt, bt, "\u22d3", "\\Cup", !0), o("math", yt, bt, "\u2a5e", "\\doublebarwedge", !0), o("math", yt, bt, "\u229f", "\\boxminus", !0), o("math", yt, bt, "\u229e", "\\boxplus", !0), o("math", yt, bt, "\u22c7", "\\divideontimes", !0), o("math", yt, bt, "\u22c9", "\\ltimes", !0), o("math", yt, bt, "\u22ca", "\\rtimes", !0), o("math", yt, bt, "\u22cb", "\\leftthreetimes", !0), o("math", yt, bt, "\u22cc", "\\rightthreetimes", !0), o("math", yt, bt, "\u22cf", "\\curlywedge", !0), o("math", yt, bt, "\u22ce", "\\curlyvee", !0), o("math", yt, bt, "\u229d", "\\circleddash", !0), o("math", yt, bt, "\u229b", "\\circledast", !0), o("math", yt, bt, "\u22c5", "\\centerdot"), o("math", yt, bt, "\u22ba", "\\intercal", !0), o("math", yt, bt, "\u22d2", "\\doublecap"), o("math", yt, bt, "\u22d3", "\\doublecup"), o("math", yt, bt, "\u22a0", "\\boxtimes", !0), o("math", yt, kt, "\u21e2", "\\dashrightarrow", !0), o("math", yt, kt, "\u21e0", "\\dashleftarrow", !0), o("math", yt, kt, "\u21c7", "\\leftleftarrows", !0), o("math", yt, kt, "\u21c6", "\\leftrightarrows", !0), o("math", yt, kt, "\u21da", "\\Lleftarrow", !0), o("math", yt, kt, "\u219e", "\\twoheadleftarrow", !0), o("math", yt, kt, "\u21a2", "\\leftarrowtail", !0), o("math", yt, kt, "\u21ab", "\\looparrowleft", !0), o("math", yt, kt, "\u21cb", "\\leftrightharpoons", !0), o("math", yt, kt, "\u21b6", "\\curvearrowleft", !0), o("math", yt, kt, "\u21ba", "\\circlearrowleft", !0), o("math", yt, kt, "\u21b0", "\\Lsh", !0), o("math", yt, kt, "\u21c8", "\\upuparrows", !0), o("math", yt, kt, "\u21bf", "\\upharpoonleft", !0), o("math", yt, kt, "\u21c3", "\\downharpoonleft", !0), o("math", yt, kt, "\u22b8", "\\multimap", !0), o("math", yt, kt, "\u21ad", "\\leftrightsquigarrow", !0), o("math", yt, kt, "\u21c9", "\\rightrightarrows", !0), o("math", yt, kt, "\u21c4", "\\rightleftarrows", !0), o("math", yt, kt, "\u21a0", "\\twoheadrightarrow", !0), o("math", yt, kt, "\u21a3", "\\rightarrowtail", !0), o("math", yt, kt, "\u21ac", "\\looparrowright", !0), o("math", yt, kt, "\u21b7", "\\curvearrowright", !0), o("math", yt, kt, "\u21bb", "\\circlearrowright", !0), o("math", yt, kt, "\u21b1", "\\Rsh", !0), o("math", yt, kt, "\u21ca", "\\downdownarrows", !0), o("math", yt, kt, "\u21be", "\\upharpoonright", !0), o("math", yt, kt, "\u21c2", "\\downharpoonright", !0), o("math", yt, kt, "\u21dd", "\\rightsquigarrow", !0), o("math", yt, kt, "\u21dd", "\\leadsto"), o("math", yt, kt, "\u21db", "\\Rrightarrow", !0), o("math", yt, kt, "\u21be", "\\restriction"), o("math", vt, "textord", "\u2018", "`"), o("math", vt, "textord", "$", "\\$"), o("text", vt, "textord", "$", "\\$"), o("text", vt, "textord", "$", "\\textdollar"), o("math", vt, "textord", "%", "\\%"), o("text", vt, "textord", "%", "\\%"), o("math", vt, "textord", "_", "\\_"), o("text", vt, "textord", "_", "\\_"), o("text", vt, "textord", "_", "\\textunderscore"), o("math", vt, "textord", "\u2220", "\\angle", !0), o("math", vt, "textord", "\u221e", "\\infty", !0), o("math", vt, "textord", "\u2032", "\\prime"), o("math", vt, "textord", "\u25b3", "\\triangle"), o("math", vt, "textord", "\u0393", "\\Gamma", !0), o("math", vt, "textord", "\u0394", "\\Delta", !0), o("math", vt, "textord", "\u0398", "\\Theta", !0), o("math", vt, "textord", "\u039b", "\\Lambda", !0), o("math", vt, "textord", "\u039e", "\\Xi", !0), o("math", vt, "textord", "\u03a0", "\\Pi", !0), o("math", vt, "textord", "\u03a3", "\\Sigma", !0), o("math", vt, "textord", "\u03a5", "\\Upsilon", !0), o("math", vt, "textord", "\u03a6", "\\Phi", !0), o("math", vt, "textord", "\u03a8", "\\Psi", !0), o("math", vt, "textord", "\u03a9", "\\Omega", !0), o("math", vt, "textord", "A", "\u0391"), o("math", vt, "textord", "B", "\u0392"), o("math", vt, "textord", "E", "\u0395"), o("math", vt, "textord", "Z", "\u0396"), o("math", vt, "textord", "H", "\u0397"), o("math", vt, "textord", "I", "\u0399"), o("math", vt, "textord", "K", "\u039a"), o("math", vt, "textord", "M", "\u039c"), o("math", vt, "textord", "N", "\u039d"), o("math", vt, "textord", "O", "\u039f"), o("math", vt, "textord", "P", "\u03a1"), o("math", vt, "textord", "T", "\u03a4"), o("math", vt, "textord", "X", "\u03a7"), o("math", vt, "textord", "\xac", "\\neg", !0), o("math", vt, "textord", "\xac", "\\lnot"), o("math", vt, "textord", "\u22a4", "\\top"), o("math", vt, "textord", "\u22a5", "\\bot"), o("math", vt, "textord", "\u2205", "\\emptyset"), o("math", yt, "textord", "\u2205", "\\varnothing"), o("math", vt, xt, "\u03b1", "\\alpha", !0), o("math", vt, xt, "\u03b2", "\\beta", !0), o("math", vt, xt, "\u03b3", "\\gamma", !0), o("math", vt, xt, "\u03b4", "\\delta", !0), o("math", vt, xt, "\u03f5", "\\epsilon", !0), o("math", vt, xt, "\u03b6", "\\zeta", !0), o("math", vt, xt, "\u03b7", "\\eta", !0), o("math", vt, xt, "\u03b8", "\\theta", !0), o("math", vt, xt, "\u03b9", "\\iota", !0), o("math", vt, xt, "\u03ba", "\\kappa", !0), o("math", vt, xt, "\u03bb", "\\lambda", !0), o("math", vt, xt, "\u03bc", "\\mu", !0), o("math", vt, xt, "\u03bd", "\\nu", !0), o("math", vt, xt, "\u03be", "\\xi", !0), o("math", vt, xt, "\u03bf", "\\omicron", !0), o("math", vt, xt, "\u03c0", "\\pi", !0), o("math", vt, xt, "\u03c1", "\\rho", !0), o("math", vt, xt, "\u03c3", "\\sigma", !0), o("math", vt, xt, "\u03c4", "\\tau", !0), o("math", vt, xt, "\u03c5", "\\upsilon", !0), o("math", vt, xt, "\u03d5", "\\phi", !0), o("math", vt, xt, "\u03c7", "\\chi", !0), o("math", vt, xt, "\u03c8", "\\psi", !0), o("math", vt, xt, "\u03c9", "\\omega", !0), o("math", vt, xt, "\u03b5", "\\varepsilon", !0), o("math", vt, xt, "\u03d1", "\\vartheta", !0), o("math", vt, xt, "\u03d6", "\\varpi", !0), o("math", vt, xt, "\u03f1", "\\varrho", !0), o("math", vt, xt, "\u03c2", "\\varsigma", !0), o("math", vt, xt, "\u03c6", "\\varphi", !0), o("math", vt, bt, "\u2217", "*"), o("math", vt, bt, "+", "+"), o("math", vt, bt, "\u2212", "-"), o("math", vt, bt, "\u22c5", "\\cdot", !0), o("math", vt, bt, "\u2218", "\\circ"), o("math", vt, bt, "\xf7", "\\div", !0), o("math", vt, bt, "\xb1", "\\pm", !0), o("math", vt, bt, "\xd7", "\\times", !0), o("math", vt, bt, "\u2229", "\\cap", !0), o("math", vt, bt, "\u222a", "\\cup", !0), o("math", vt, bt, "\u2216", "\\setminus"), o("math", vt, bt, "\u2227", "\\land"), o("math", vt, bt, "\u2228", "\\lor"), o("math", vt, bt, "\u2227", "\\wedge", !0), o("math", vt, bt, "\u2228", "\\vee", !0), o("math", vt, "textord", "\u221a", "\\surd"), o("math", vt, "open", "(", "("), o("math", vt, "open", "[", "["), o("math", vt, "open", "\u27e8", "\\langle", !0), o("math", vt, "open", "\u2223", "\\lvert"), o("math", vt, "open", "\u2225", "\\lVert"), o("math", vt, "close", ")", ")"), o("math", vt, "close", "]", "]"), o("math", vt, "close", "?", "?"), o("math", vt, "close", "!", "!"), o("math", vt, "close", "\u27e9", "\\rangle", !0), o("math", vt, "close", "\u2223", "\\rvert"), o("math", vt, "close", "\u2225", "\\rVert"), o("math", vt, kt, "=", "="), o("math", vt, kt, "<", "<"), o("math", vt, kt, ">", ">"), o("math", vt, kt, ":", ":"), o("math", vt, kt, "\u2248", "\\approx", !0), o("math", vt, kt, "\u2245", "\\cong", !0), o("math", vt, kt, "\u2265", "\\ge"), o("math", vt, kt, "\u2265", "\\geq", !0), o("math", vt, kt, "\u2190", "\\gets"), o("math", vt, kt, ">", "\\gt"), o("math", vt, kt, "\u2208", "\\in", !0), o("math", vt, kt, "\ue020", "\\@not"), o("math", vt, kt, "\u2282", "\\subset", !0), o("math", vt, kt, "\u2283", "\\supset", !0), o("math", vt, kt, "\u2286", "\\subseteq", !0), o("math", vt, kt, "\u2287", "\\supseteq", !0), o("math", yt, kt, "\u2288", "\\nsubseteq", !0), o("math", yt, kt, "\u2289", "\\nsupseteq", !0), o("math", vt, kt, "\u22a8", "\\models"), o("math", vt, kt, "\u2190", "\\leftarrow", !0), o("math", vt, kt, "\u2264", "\\le"), o("math", vt, kt, "\u2264", "\\leq", !0), o("math", vt, kt, "<", "\\lt"), o("math", vt, kt, "\u2192", "\\rightarrow", !0), o("math", vt, kt, "\u2192", "\\to"), o("math", yt, kt, "\u2271", "\\ngeq", !0), o("math", yt, kt, "\u2270", "\\nleq", !0), o("math", vt, "spacing", "\xa0", "\\ "), o("math", vt, "spacing", "\xa0", "~"), o("math", vt, "spacing", "\xa0", "\\space"), o("math", vt, "spacing", "\xa0", "\\nobreakspace"), o("text", vt, "spacing", "\xa0", "\\ "), o("text", vt, "spacing", "\xa0", "~"), o("text", vt, "spacing", "\xa0", "\\space"), o("text", vt, "spacing", "\xa0", "\\nobreakspace"), o("math", vt, "spacing", null, "\\nobreak"), o("math", vt, "spacing", null, "\\allowbreak"), o("math", vt, "punct", ",", ","), o("math", vt, "punct", ";", ";"), o("math", yt, bt, "\u22bc", "\\barwedge", !0), o("math", yt, bt, "\u22bb", "\\veebar", !0), o("math", vt, bt, "\u2299", "\\odot", !0), o("math", vt, bt, "\u2295", "\\oplus", !0), o("math", vt, bt, "\u2297", "\\otimes", !0), o("math", vt, "textord", "\u2202", "\\partial", !0), o("math", vt, bt, "\u2298", "\\oslash", !0), o("math", yt, bt, "\u229a", "\\circledcirc", !0), o("math", yt, bt, "\u22a1", "\\boxdot", !0), o("math", vt, bt, "\u25b3", "\\bigtriangleup"), o("math", vt, bt, "\u25bd", "\\bigtriangledown"), o("math", vt, bt, "\u2020", "\\dagger"), o("math", vt, bt, "\u22c4", "\\diamond"), o("math", vt, bt, "\u22c6", "\\star"), o("math", vt, bt, "\u25c3", "\\triangleleft"), o("math", vt, bt, "\u25b9", "\\triangleright"), o("math", vt, "open", "{", "\\{"), o("text", vt, "textord", "{", "\\{"), o("text", vt, "textord", "{", "\\textbraceleft"), o("math", vt, "close", "}", "\\}"), o("text", vt, "textord", "}", "\\}"), o("text", vt, "textord", "}", "\\textbraceright"), o("math", vt, "open", "{", "\\lbrace"), o("math", vt, "close", "}", "\\rbrace"), o("math", vt, "open", "[", "\\lbrack"), o("text", vt, "textord", "[", "\\lbrack"), o("math", vt, "close", "]", "\\rbrack"), o("text", vt, "textord", "]", "\\rbrack"), o("math", vt, "open", "(", "\\lparen"), o("math", vt, "close", ")", "\\rparen"), o("text", vt, "textord", "<", "\\textless"), o("text", vt, "textord", ">", "\\textgreater"), o("math", vt, "open", "\u230a", "\\lfloor", !0), o("math", vt, "close", "\u230b", "\\rfloor", !0), o("math", vt, "open", "\u2308", "\\lceil", !0), o("math", vt, "close", "\u2309", "\\rceil", !0), o("math", vt, "textord", "\\", "\\backslash"), o("math", vt, "textord", "\u2223", "|"), o("math", vt, "textord", "\u2223", "\\vert"), o("text", vt, "textord", "|", "\\textbar"), o("math", vt, "textord", "\u2225", "\\|"), o("math", vt, "textord", "\u2225", "\\Vert"), o("text", vt, "textord", "\u2225", "\\textbardbl"), o("text", vt, "textord", "~", "\\textasciitilde"), o("text", vt, "textord", "\\", "\\textbackslash"), o("text", vt, "textord", "^", "\\textasciicircum"), o("math", vt, kt, "\u2191", "\\uparrow", !0), o("math", vt, kt, "\u21d1", "\\Uparrow", !0), o("math", vt, kt, "\u2193", "\\downarrow", !0), o("math", vt, kt, "\u21d3", "\\Downarrow", !0), o("math", vt, kt, "\u2195", "\\updownarrow", !0), o("math", vt, kt, "\u21d5", "\\Updownarrow", !0), o("math", vt, wt, "\u2210", "\\coprod"), o("math", vt, wt, "\u22c1", "\\bigvee"), o("math", vt, wt, "\u22c0", "\\bigwedge"), o("math", vt, wt, "\u2a04", "\\biguplus"), o("math", vt, wt, "\u22c2", "\\bigcap"), o("math", vt, wt, "\u22c3", "\\bigcup"), o("math", vt, wt, "\u222b", "\\int"), o("math", vt, wt, "\u222b", "\\intop"), o("math", vt, wt, "\u222c", "\\iint"), o("math", vt, wt, "\u222d", "\\iiint"), o("math", vt, wt, "\u220f", "\\prod"), o("math", vt, wt, "\u2211", "\\sum"), o("math", vt, wt, "\u2a02", "\\bigotimes"), o("math", vt, wt, "\u2a01", "\\bigoplus"), o("math", vt, wt, "\u2a00", "\\bigodot"), o("math", vt, wt, "\u222e", "\\oint"), o("math", vt, wt, "\u222f", "\\oiint"), o("math", vt, wt, "\u2230", "\\oiiint"), o("math", vt, wt, "\u2a06", "\\bigsqcup"), o("math", vt, wt, "\u222b", "\\smallint"), o("text", vt, "inner", "\u2026", "\\textellipsis"), o("math", vt, "inner", "\u2026", "\\mathellipsis"), o("text", vt, "inner", "\u2026", "\\ldots", !0), o("math", vt, "inner", "\u2026", "\\ldots", !0), o("math", vt, "inner", "\u22ef", "\\@cdots", !0), o("math", vt, "inner", "\u22f1", "\\ddots", !0), o("math", vt, "textord", "\u22ee", "\\varvdots"), o("math", vt, "accent-token", "\u02ca", "\\acute"), o("math", vt, "accent-token", "\u02cb", "\\grave"), o("math", vt, "accent-token", "\xa8", "\\ddot"), o("math", vt, "accent-token", "~", "\\tilde"), o("math", vt, "accent-token", "\u02c9", "\\bar"), o("math", vt, "accent-token", "\u02d8", "\\breve"), o("math", vt, "accent-token", "\u02c7", "\\check"), o("math", vt, "accent-token", "^", "\\hat"), o("math", vt, "accent-token", "\u20d7", "\\vec"), o("math", vt, "accent-token", "\u02d9", "\\dot"), o("math", vt, "accent-token", "\u02da", "\\mathring"), o("math", vt, xt, "\u0131", "\\imath", !0), o("math", vt, xt, "\u0237", "\\jmath", !0), o("text", vt, "textord", "\u0131", "\\i", !0), o("text", vt, "textord", "\u0237", "\\j", !0), o("text", vt, "textord", "\xdf", "\\ss", !0), o("text", vt, "textord", "\xe6", "\\ae", !0), o("text", vt, "textord", "\xe6", "\\ae", !0), o("text", vt, "textord", "\u0153", "\\oe", !0), o("text", vt, "textord", "\xf8", "\\o", !0), o("text", vt, "textord", "\xc6", "\\AE", !0), o("text", vt, "textord", "\u0152", "\\OE", !0), o("text", vt, "textord", "\xd8", "\\O", !0), o("text", vt, "accent-token", "\u02ca", "\\'"), o("text", vt, "accent-token", "\u02cb", "\\`"), o("text", vt, "accent-token", "\u02c6", "\\^"), o("text", vt, "accent-token", "\u02dc", "\\~"), o("text", vt, "accent-token", "\u02c9", "\\="), o("text", vt, "accent-token", "\u02d8", "\\u"), o("text", vt, "accent-token", "\u02d9", "\\."), o("text", vt, "accent-token", "\u02da", "\\r"), o("text", vt, "accent-token", "\u02c7", "\\v"), o("text", vt, "accent-token", "\xa8", '\\"'), o("text", vt, "accent-token", "\u02dd", "\\H"), o("text", vt, "accent-token", "\u25ef", "\\textcircled"); var St = { "--": !0, "---": !0, "``": !0, "''": !0 }; o("text", vt, "textord", "\u2013", "--"), o("text", vt, "textord", "\u2013", "\\textendash"), o("text", vt, "textord", "\u2014", "---"), o("text", vt, "textord", "\u2014", "\\textemdash"), o("text", vt, "textord", "\u2018", "`"), o("text", vt, "textord", "\u2018", "\\textquoteleft"), o("text", vt, "textord", "\u2019", "'"), o("text", vt, "textord", "\u2019", "\\textquoteright"), o("text", vt, "textord", "\u201c", "``"), o("text", vt, "textord", "\u201c", "\\textquotedblleft"), o("text", vt, "textord", "\u201d", "''"), o("text", vt, "textord", "\u201d", "\\textquotedblright"), o("math", vt, "textord", "\xb0", "\\degree", !0), o("text", vt, "textord", "\xb0", "\\degree"), o("text", vt, "textord", "\xb0", "\\textdegree", !0), o("math", vt, xt, "\xa3", "\\pounds"), o("math", vt, xt, "\xa3", "\\mathsterling", !0), o("text", vt, xt, "\xa3", "\\pounds"), o("text", vt, xt, "\xa3", "\\textsterling", !0), o("math", yt, "textord", "\u2720", "\\maltese"), o("text", yt, "textord", "\u2720", "\\maltese"), o("text", vt, "spacing", "\xa0", "\\ "), o("text", vt, "spacing", "\xa0", " "), o("text", vt, "spacing", "\xa0", "~"); for (var At = 0; At < '0123456789/@."'.length; At++) { var Et = '0123456789/@."'.charAt(At); o("math", vt, "textord", Et, Et) } for (var Mt = 0; Mt < '0123456789!@*()-=+[]<>|";:?/.,'.length; Mt++) { var Rt = '0123456789!@*()-=+[]<>|";:?/.,'.charAt(Mt); o("text", vt, "textord", Rt, Rt) } for (var Tt = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", Ct = 0; Ct < Tt.length; Ct++) { var Lt = Tt.charAt(Ct); o("math", vt, xt, Lt, Lt), o("text", vt, "textord", Lt, Lt) } o("math", yt, "textord", "C", "\u2102"), o("text", yt, "textord", "C", "\u2102"), o("math", yt, "textord", "H", "\u210d"), o("text", yt, "textord", "H", "\u210d"), o("math", yt, "textord", "N", "\u2115"), o("text", yt, "textord", "N", "\u2115"), o("math", yt, "textord", "P", "\u2119"), o("text", yt, "textord", "P", "\u2119"), o("math", yt, "textord", "Q", "\u211a"), o("text", yt, "textord", "Q", "\u211a"), o("math", yt, "textord", "R", "\u211d"), o("text", yt, "textord", "R", "\u211d"), o("math", yt, "textord", "Z", "\u2124"), o("text", yt, "textord", "Z", "\u2124"), o("math", vt, xt, "h", "\u210e"), o("text", vt, xt, "h", "\u210e"); for (var zt = "", Nt = 0; Nt < Tt.length; Nt++) { var Pt = Tt.charAt(Nt); o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56320 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56372 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56424 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56580 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56736 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56788 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56840 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56944 + Nt)), o("text", vt, "textord", Pt, zt), Nt < 26 && (o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56632 + Nt)), o("text", vt, "textord", Pt, zt), o("math", vt, xt, Pt, zt = String.fromCharCode(55349, 56476 + Nt)), o("text", vt, "textord", Pt, zt)) } o("math", vt, xt, "k", zt = String.fromCharCode(55349, 56668)), o("text", vt, "textord", "k", zt); for (var It = 0; It < 10; It++) { var Ot = It.toString(); o("math", vt, xt, Ot, zt = String.fromCharCode(55349, 57294 + It)), o("text", vt, "textord", Ot, zt), o("math", vt, xt, Ot, zt = String.fromCharCode(55349, 57314 + It)), o("text", vt, "textord", Ot, zt), o("math", vt, xt, Ot, zt = String.fromCharCode(55349, 57324 + It)), o("text", vt, "textord", Ot, zt), o("math", vt, xt, Ot, zt = String.fromCharCode(55349, 57334 + It)), o("text", vt, "textord", Ot, zt) } for (var Bt = 0; Bt < "\xc7\xd0\xde\xe7\xfe".length; Bt++) { var qt = "\xc7\xd0\xde\xe7\xfe".charAt(Bt); o("math", vt, xt, qt, qt), o("text", vt, "textord", qt, qt) } o("text", vt, "textord", "\xf0", "\xf0"), o("text", vt, "textord", "\u2013", "\u2013"), o("text", vt, "textord", "\u2014", "\u2014"), o("text", vt, "textord", "\u2018", "\u2018"), o("text", vt, "textord", "\u2019", "\u2019"), o("text", vt, "textord", "\u201c", "\u201c"), o("text", vt, "textord", "\u201d", "\u201d"); var Dt = [["mathbf", "textbf", "Main-Bold"], ["mathbf", "textbf", "Main-Bold"], ["mathdefault", "textit", "Math-Italic"], ["mathdefault", "textit", "Math-Italic"], ["boldsymbol", "boldsymbol", "Main-BoldItalic"], ["boldsymbol", "boldsymbol", "Main-BoldItalic"], ["mathscr", "textscr", "Script-Regular"], ["", "", ""], ["", "", ""], ["", "", ""], ["mathfrak", "textfrak", "Fraktur-Regular"], ["mathfrak", "textfrak", "Fraktur-Regular"], ["mathbb", "textbb", "AMS-Regular"], ["mathbb", "textbb", "AMS-Regular"], ["", "", ""], ["", "", ""], ["mathsf", "textsf", "SansSerif-Regular"], ["mathsf", "textsf", "SansSerif-Regular"], ["mathboldsf", "textboldsf", "SansSerif-Bold"], ["mathboldsf", "textboldsf", "SansSerif-Bold"], ["mathitsf", "textitsf", "SansSerif-Italic"], ["mathitsf", "textitsf", "SansSerif-Italic"], ["", "", ""], ["", "", ""], ["mathtt", "texttt", "Typewriter-Regular"], ["mathtt", "texttt", "Typewriter-Regular"]], Ft = [["mathbf", "textbf", "Main-Bold"], ["", "", ""], ["mathsf", "textsf", "SansSerif-Regular"], ["mathboldsf", "textboldsf", "SansSerif-Bold"], ["mathtt", "texttt", "Typewriter-Regular"]], Ht = [[1, 1, 1], [2, 1, 1], [3, 1, 1], [4, 2, 1], [5, 2, 1], [6, 3, 1], [7, 4, 2], [8, 6, 3], [9, 7, 6], [10, 8, 7], [11, 10, 9]], jt = [.5, .6, .7, .8, .9, 1, 1.2, 1.44, 1.728, 2.074, 2.488], Ut = function (t, e) { return e.size < 2 ? t : Ht[t - 1][e.size - 1] }, _t = function () { function t(e) { this.style = void 0, this.color = void 0, this.size = void 0, this.textSize = void 0, this.phantom = void 0, this.font = void 0, this.fontFamily = void 0, this.fontWeight = void 0, this.fontShape = void 0, this.sizeMultiplier = void 0, this.maxSize = void 0, this.minRuleThickness = void 0, this._fontMetrics = void 0, this.style = e.style, this.color = e.color, this.size = e.size || t.BASESIZE, this.textSize = e.textSize || this.size, this.phantom = !!e.phantom, this.font = e.font || "", this.fontFamily = e.fontFamily || "", this.fontWeight = e.fontWeight || "", this.fontShape = e.fontShape || "", this.sizeMultiplier = jt[this.size - 1], this.maxSize = e.maxSize, this.minRuleThickness = e.minRuleThickness, this._fontMetrics = void 0 } var e = t.prototype; return e.extend = function (e) { var r = { style: this.style, size: this.size, textSize: this.textSize, color: this.color, phantom: this.phantom, font: this.font, fontFamily: this.fontFamily, fontWeight: this.fontWeight, fontShape: this.fontShape, maxSize: this.maxSize, minRuleThickness: this.minRuleThickness }; for (var n in e) e.hasOwnProperty(n) && (r[n] = e[n]); return new t(r) }, e.havingStyle = function (t) { return this.style === t ? this : this.extend({ style: t, size: Ut(this.textSize, t) }) }, e.havingCrampedStyle = function () { return this.havingStyle(this.style.cramp()) }, e.havingSize = function (t) { return this.size === t && this.textSize === t ? this : this.extend({ style: this.style.text(), size: t, textSize: t, sizeMultiplier: jt[t - 1] }) }, e.havingBaseStyle = function (e) { e = e || this.style.text(); var r = Ut(t.BASESIZE, e); return this.size === r && this.textSize === t.BASESIZE && this.style === e ? this : this.extend({ style: e, size: r }) }, e.havingBaseSizing = function () { var t; switch (this.style.id) { case 4: case 5: t = 3; break; case 6: case 7: t = 1; break; default: t = 6 }return this.extend({ style: this.style.text(), size: t }) }, e.withColor = function (t) { return this.extend({ color: t }) }, e.withPhantom = function () { return this.extend({ phantom: !0 }) }, e.withFont = function (t) { return this.extend({ font: t }) }, e.withTextFontFamily = function (t) { return this.extend({ fontFamily: t, font: "" }) }, e.withTextFontWeight = function (t) { return this.extend({ fontWeight: t, font: "" }) }, e.withTextFontShape = function (t) { return this.extend({ fontShape: t, font: "" }) }, e.sizingClasses = function (t) { return t.size !== this.size ? ["sizing", "reset-size" + t.size, "size" + this.size] : [] }, e.baseSizingClasses = function () { return this.size !== t.BASESIZE ? ["sizing", "reset-size" + this.size, "size" + t.BASESIZE] : [] }, e.fontMetrics = function () { return this._fontMetrics || (this._fontMetrics = function (t) { var e; if (!dt[e = t >= 5 ? 0 : t >= 3 ? 1 : 2]) { var r = dt[e] = { cssEmPerMu: ut.quad[e] / 18 }; for (var n in ut) ut.hasOwnProperty(n) && (r[n] = ut[n][e]) } return dt[e] }(this.size)), this._fontMetrics }, e.getColor = function () { return this.phantom ? "transparent" : this.color }, t }(); _t.BASESIZE = 6; var Vt = _t, Wt = { pt: 1, mm: 7227 / 2540, cm: 7227 / 254, "in": 72.27, bp: 1.00375, pc: 12, dd: 1238 / 1157, cc: 14856 / 1157, nd: 685 / 642, nc: 1370 / 107, sp: 1 / 65536, px: 1.00375 }, Gt = { ex: !0, em: !0, mu: !0 }, Yt = function (t) { return "string" != typeof t && (t = t.unit), t in Wt || t in Gt || "ex" === t }, Xt = function (t, e) { var r; if (t.unit in Wt) r = Wt[t.unit] / e.fontMetrics().ptPerEm / e.sizeMultiplier; else if ("mu" === t.unit) r = e.fontMetrics().cssEmPerMu; else { var n; if (n = e.style.isTight() ? e.havingStyle(e.style.text()) : e, "ex" === t.unit) r = n.fontMetrics().xHeight; else { if ("em" !== t.unit) throw new z("Invalid unit: '" + t.unit + "'"); r = n.fontMetrics().quad } n !== e && (r *= n.sizeMultiplier / e.sizeMultiplier) } return Math.min(t.number * r, e.maxSize) }, Kt = ["\\imath", "\u0131", "\\jmath", "\u0237", "\\pounds", "\\mathsterling", "\\textsterling", "\xa3"], $t = function (t, e, r) { return gt[r][t] && gt[r][t].replace && (t = gt[r][t].replace), { value: t, metrics: a(t, e, r) } }, Zt = function (t, e, r, n, i) { var a, o = $t(t, e, r), s = o.metrics; if (t = o.value, s) { var l = s.italic; ("text" === r || n && "mathit" === n.font) && (l = 0), a = new at(t, s.height, s.depth, l, s.skew, s.width, i) } else "undefined" != typeof console && console.warn("No character metrics for '" + t + "' in style '" + e + "' and mode '" + r + "'"), a = new at(t, 0, 0, 0, 0, 0, i); if (n) { a.maxFontSize = n.sizeMultiplier, n.style.isTight() && a.classes.push("mtight"); var c = n.getColor(); c && (a.style.color = c) } return a }, Jt = function (t, e) { if (Z(t.classes) !== Z(e.classes) || t.skew !== e.skew || t.maxFontSize !== e.maxFontSize) return !1; for (var r in t.style) if (t.style.hasOwnProperty(r) && t.style[r] !== e.style[r]) return !1; for (var n in e.style) if (e.style.hasOwnProperty(n) && t.style[n] !== e.style[n]) return !1; return !0 }, Qt = function (t) { for (var e = 0, r = 0, n = 0, i = 0; i < t.children.length; i++) { var a = t.children[i]; a.height > e && (e = a.height), a.depth > r && (r = a.depth), a.maxFontSize > n && (n = a.maxFontSize) } t.height = e, t.depth = r, t.maxFontSize = n }, te = function (t, e, r, n) { var i = new et(t, e, r, n); return Qt(i), i }, ee = function (t, e, r, n) { return new et(t, e, r, n) }, re = function (t) { var e = new $(t); return Qt(e), e }, ne = function (t, e, r) { var n = ""; switch (t) { case "amsrm": n = "AMS"; break; case "textrm": n = "Main"; break; case "textsf": n = "SansSerif"; break; case "texttt": n = "Typewriter"; break; default: n = t }return n + "-" + ("textbf" === e && "textit" === r ? "BoldItalic" : "textbf" === e ? "Bold" : "textit" === e ? "Italic" : "Regular") }, ie = { mathbf: { variant: "bold", fontName: "Main-Bold" }, mathrm: { variant: "normal", fontName: "Main-Regular" }, textit: { variant: "italic", fontName: "Main-Italic" }, mathit: { variant: "italic", fontName: "Main-Italic" }, mathbb: { variant: "double-struck", fontName: "AMS-Regular" }, mathcal: { variant: "script", fontName: "Caligraphic-Regular" }, mathfrak: { variant: "fraktur", fontName: "Fraktur-Regular" }, mathscr: { variant: "script", fontName: "Script-Regular" }, mathsf: { variant: "sans-serif", fontName: "SansSerif-Regular" }, mathtt: { variant: "monospace", fontName: "Typewriter-Regular" } }, ae = { vec: ["vec", .471, .714], oiintSize1: ["oiintSize1", .957, .499], oiintSize2: ["oiintSize2", 1.472, .659], oiiintSize1: ["oiiintSize1", 1.304, .499], oiiintSize2: ["oiiintSize2", 1.98, .659] }, oe = {
fontMap: ie, makeSymbol: Zt, mathsym: function (t, e, r, n) { return void 0 === n && (n = []), "boldsymbol" === r.font && $t(t, "Main-Bold", e).metrics ? Zt(t, "Main-Bold", e, r, n.concat(["mathbf"])) : "\\" === t || "main" === gt[e][t].font ? Zt(t, "Main-Regular", e, r, n) : Zt(t, "AMS-Regular", e, r, n.concat(["amsrm"])) }, makeSpan: te, makeSvgSpan: ee, makeLineSpan: function (t, e, r) { var n = te([t], [], e); return n.height = Math.max(r || e.fontMetrics().defaultRuleThickness, e.minRuleThickness), n.style.borderBottomWidth = n.height + "em", n.maxFontSize = 1, n }, makeAnchor: function (t, e, r, n) { var i = new rt(t, e, r, n); return Qt(i), i }, makeFragment: re, wrapFragment: function (t, e) { return t instanceof $ ? te([], [t], e) : t }, makeVList: function (t) {
for (var e = function (t) {
if ("individualShift" === t.positionType) { for (var e = t.children, r = [e[0]], n = -e[0].shift - e[0].elem.depth, i = n, a = 1; a < e.length; a++) { var o = -e[a].shift - i - e[a].elem.depth, s = o - (e[a - 1].elem.height + e[a - 1].elem.depth); i += o, r.push({ type: "kern", size: s }), r.push(e[a]) } return { children: r, depth: n } } var l; if ("top" === t.positionType) { for (var c = t.positionData, u = 0; u < t.children.length; u++) { var h = t.children[u]; c -= "kern" === h.type ? h.size : h.elem.height + h.elem.depth } l = c } else if ("bottom" === t.positionType) l = -t.positionData; else {
var d = t.children[0]; if ("elem" !== d.type) throw new Error('First child must have type "elem".'); if ("shift" === t.positionType) l = -d.elem.depth - t.positionData; else {
if ("firstBaseline" !== t.positionType) throw new Error("Invalid positionType " + t.positionType + "."); l = -d.elem.depth
}
} return { children: t.children, depth: l }
}(t), r = e.children, n = e.depth, i = 0, a = 0; a < r.length; a++) { var o = r[a]; if ("elem" === o.type) { var s = o.elem; i = Math.max(i, s.maxFontSize, s.height) } } i += 2; var l = te(["pstrut"], []); l.style.height = i + "em"; for (var c = [], u = n, h = n, d = n, m = 0; m < r.length; m++) { var p = r[m]; if ("kern" === p.type) d += p.size; else { var f = p.elem, g = p.wrapperClasses || [], v = p.wrapperStyle || {}, y = te(g, [l, f], void 0, v); y.style.top = -i - d - f.depth + "em", p.marginLeft && (y.style.marginLeft = p.marginLeft), p.marginRight && (y.style.marginRight = p.marginRight), c.push(y), d += f.height + f.depth } u = Math.min(u, d), h = Math.max(h, d) } var b, x = te(["vlist"], c); if (x.style.height = h + "em", u < 0) { var w = te([], []), k = te(["vlist"], [w]); k.style.height = -u + "em"; var S = te(["vlist-s"], [new at("\u200b")]); b = [te(["vlist-r"], [x, S]), te(["vlist-r"], [k])] } else b = [te(["vlist-r"], [x])]; var A = te(["vlist-t"], b); return 2 === b.length && A.classes.push("vlist-t2"), A.height = h, A.depth = -u, A
}, makeOrd: function (t, e, r) { var n, i = t.mode, a = t.text, o = ["mord"], s = "math" === i || "text" === i && e.font, l = s ? e.font : e.fontFamily; if (55349 === a.charCodeAt(0)) { var c = function (t, e) { var r = 1024 * (t.charCodeAt(0) - 55296) + (t.charCodeAt(1) - 56320) + 65536, n = "math" === e ? 0 : 1; if (119808 <= r && r < 120484) { var i = Math.floor((r - 119808) / 26); return [Dt[i][2], Dt[i][n]] } if (120782 <= r && r <= 120831) { var a = Math.floor((r - 120782) / 10); return [Ft[a][2], Ft[a][n]] } if (120485 === r || 120486 === r) return [Dt[0][2], Dt[0][n]]; if (120486 < r && r < 120782) return ["", ""]; throw new z("Unsupported character: " + t) }(a, i), u = c[0], h = c[1]; return Zt(a, u, i, e, o.concat(h)) } if (l) { var d, m; if ("boldsymbol" === l || "mathnormal" === l) { var p = "boldsymbol" === l ? $t(a, "Math-BoldItalic", i).metrics ? { fontName: "Math-BoldItalic", fontClass: "boldsymbol" } : { fontName: "Main-Bold", fontClass: "mathbf" } : (n = a, B.contains(Kt, n) ? { fontName: "Main-Italic", fontClass: "mathit" } : /[0-9]/.test(n.charAt(0)) ? { fontName: "Caligraphic-Regular", fontClass: "mathcal" } : { fontName: "Math-Italic", fontClass: "mathdefault" }); d = p.fontName, m = [p.fontClass] } else B.contains(Kt, a) ? (d = "Main-Italic", m = ["mathit"]) : s ? (d = ie[l].fontName, m = [l]) : (d = ne(l, e.fontWeight, e.fontShape), m = [l, e.fontWeight, e.fontShape]); if ($t(a, d, i).metrics) return Zt(a, d, i, e, o.concat(m)); if (St.hasOwnProperty(a) && "Typewriter" === d.substr(0, 10)) { for (var f = [], g = 0; g < a.length; g++)f.push(Zt(a[g], d, i, e, o.concat(m))); return re(f) } } if ("mathord" === r) { var v = function (t) { return /[0-9]/.test(t.charAt(0)) || B.contains(Kt, t) ? { fontName: "Main-Italic", fontClass: "mathit" } : { fontName: "Math-Italic", fontClass: "mathdefault" } }(a); return Zt(a, v.fontName, i, e, o.concat([v.fontClass])) } if ("textord" === r) { var y = gt[i][a] && gt[i][a].font; if ("ams" === y) { var b = ne("amsrm", e.fontWeight, e.fontShape); return Zt(a, b, i, e, o.concat("amsrm", e.fontWeight, e.fontShape)) } if ("main" !== y && y) { var x = ne(y, e.fontWeight, e.fontShape); return Zt(a, x, i, e, o.concat(x, e.fontWeight, e.fontShape)) } var w = ne("textrm", e.fontWeight, e.fontShape); return Zt(a, w, i, e, o.concat(e.fontWeight, e.fontShape)) } throw new Error("unexpected type: " + r + " in makeOrd") }, makeGlue: function (t, e) { var r = te(["mspace"], [], e), n = Xt(t, e); return r.style.marginRight = n + "em", r }, staticSvg: function (t, e) { var r = ae[t], n = r[0], i = r[1], a = r[2], o = new st(n), s = new ot([o], { width: i + "em", height: a + "em", style: "width:" + i + "em", viewBox: "0 0 " + 1e3 * i + " " + 1e3 * a, preserveAspectRatio: "xMinYMin" }), l = ee(["overlay"], [s], e); return l.height = a, l.style.height = a + "em", l.style.width = i + "em", l }, svgData: ae, tryCombineChars: function (t) { for (var e = 0; e < t.length - 1; e++) { var r = t[e], n = t[e + 1]; r instanceof at && n instanceof at && Jt(r, n) && (r.text += n.text, r.height = Math.max(r.height, n.height), r.depth = Math.max(r.depth, n.depth), r.italic = n.italic, t.splice(e + 1, 1), e--) } return t }
}, se = { number: 3, unit: "mu" }, le = { number: 4, unit: "mu" }, ce = { number: 5, unit: "mu" }, ue = { mord: { mop: se, mbin: le, mrel: ce, minner: se }, mop: { mord: se, mop: se, mrel: ce, minner: se }, mbin: { mord: le, mop: le, mopen: le, minner: le }, mrel: { mord: ce, mop: ce, mopen: ce, minner: ce }, mopen: {}, mclose: { mop: se, mbin: le, mrel: ce, minner: se }, mpunct: { mord: se, mop: se, mrel: ce, mopen: se, mclose: se, mpunct: se, minner: se }, minner: { mord: se, mop: se, mbin: le, mrel: ce, mopen: se, mpunct: se, minner: se } }, he = { mord: { mop: se }, mop: { mord: se, mop: se }, mbin: {}, mrel: {}, mopen: {}, mclose: { mop: se }, mpunct: {}, minner: { mop: se } }, de = {}, me = {}, pe = {}, fe = function (t) { var e = l(t, "ordgroup"); return e ? e.body : [t] }, ge = oe.makeSpan, ve = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"], ye = ["rightmost", "mrel", "mclose", "mpunct"], be = { display: G.DISPLAY, text: G.TEXT, script: G.SCRIPT, scriptscript: G.SCRIPTSCRIPT }, xe = { mord: "mord", mop: "mop", mbin: "mbin", mrel: "mrel", mopen: "mopen", mclose: "mclose", mpunct: "mpunct", minner: "minner" }, we = function (t, e, r, n) { void 0 === n && (n = [null, null]); for (var i = [], a = 0; a < t.length; a++) { var o = Me(t[a], e); if (o instanceof $) { var s = o.children; i.push.apply(i, s) } else i.push(o) } if (!r) return i; var c = e; if (1 === t.length) { var u = l(t[0], "sizing") || l(t[0], "styling"); u && ("sizing" === u.type ? c = e.havingSize(u.size) : "styling" === u.type && (c = e.havingStyle(be[u.style]))) } var h = ge([n[0] || "leftmost"], [], e), d = ge([n[1] || "rightmost"], [], e); return ke(i, function (t, e) { var r = e.classes[0], n = t.classes[0]; "mbin" === r && B.contains(ye, n) ? e.classes[0] = "mord" : "mbin" === n && B.contains(ve, r) && (t.classes[0] = "mord") }, { node: h }, d), ke(i, function (t, e) { var r = Ae(e), n = Ae(t), i = r && n ? t.hasClass("mtight") ? he[r][n] : ue[r][n] : null; if (i) return oe.makeGlue(i, c) }, { node: h }, d), i }, ke = function Pn(t, e, r, n) { n && t.push(n); for (var i = 0; i < t.length; i++) { var a = t[i], o = Se(a); if (o) Pn(o.children, e, r); else if ("mspace" !== a.classes[0]) { var s = e(a, r.node); s && (r.insertAfter ? r.insertAfter(s) : (t.unshift(s), i++)), r.node = a, r.insertAfter = function (e) { return function (r) { t.splice(e + 1, 0, r), i++ } }(i) } } n && t.pop() }, Se = function (t) { return t instanceof $ || t instanceof rt ? t : null }, Ae = function (t, e) { return t ? (e && (t = function r(t, e) { var n = Se(t); if (n) { var i = n.children; if (i.length) { if ("right" === e) return r(i[i.length - 1], "right"); if ("left" === e) return r(i[0], "left") } } return t }(t, e)), xe[t.classes[0]] || null) : null }, Ee = function (t, e) { var r = ["nulldelimiter"].concat(t.baseSizingClasses()); return ge(e.concat(r)) }, Me = function (t, e, r) { if (!t) return ge(); if (me[t.type]) { var n = me[t.type](t, e); if (r && e.size !== r.size) { n = ge(e.sizingClasses(r), [n], e); var i = e.sizeMultiplier / r.sizeMultiplier; n.height *= i, n.depth *= i } return n } throw new z("Got group of unknown type: '" + t.type + "'") }, Re = function () { function t(t, e) { this.type = void 0, this.attributes = void 0, this.children = void 0, this.type = t, this.attributes = {}, this.children = e || [] } var e = t.prototype; return e.setAttribute = function (t, e) { this.attributes[t] = e }, e.getAttribute = function (t) { return this.attributes[t] }, e.toNode = function () { var t = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type); for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && t.setAttribute(e, this.attributes[e]); for (var r = 0; r < this.children.length; r++)t.appendChild(this.children[r].toNode()); return t }, e.toMarkup = function () { var t = "<" + this.type; for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && (t += " " + e + '="', t += B.escape(this.attributes[e]), t += '"'); t += ">"; for (var r = 0; r < this.children.length; r++)t += this.children[r].toMarkup(); return t + "</" + this.type + ">" }, e.toText = function () { return this.children.map(function (t) { return t.toText() }).join("") }, t }(), Te = function () { function t(t) { this.text = void 0, this.text = t } var e = t.prototype; return e.toNode = function () { return document.createTextNode(this.text) }, e.toMarkup = function () { return B.escape(this.toText()) }, e.toText = function () { return this.text }, t }(), Ce = { MathNode: Re, TextNode: Te, SpaceNode: function () { function t(t) { this.width = void 0, this.character = void 0, this.width = t, this.character = t >= .05555 && t <= .05556 ? "\u200a" : t >= .1666 && t <= .1667 ? "\u2009" : t >= .2222 && t <= .2223 ? "\u2005" : t >= .2777 && t <= .2778 ? "\u2005\u200a" : t >= -.05556 && t <= -.05555 ? "\u200a\u2063" : t >= -.1667 && t <= -.1666 ? "\u2009\u2063" : t >= -.2223 && t <= -.2222 ? "\u205f\u2063" : t >= -.2778 && t <= -.2777 ? "\u2005\u2063" : null } var e = t.prototype; return e.toNode = function () { if (this.character) return document.createTextNode(this.character); var t = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace"); return t.setAttribute("width", this.width + "em"), t }, e.toMarkup = function () { return this.character ? "<mtext>" + this.character + "</mtext>" : '<mspace width="' + this.width + 'em"/>' }, e.toText = function () { return this.character ? this.character : " " }, t }(), newDocumentFragment: g }, Le = function (t, e, r) { return !gt[e][t] || !gt[e][t].replace || 55349 === t.charCodeAt(0) || St.hasOwnProperty(t) && r && (r.fontFamily && "tt" === r.fontFamily.substr(4, 2) || r.font && "tt" === r.font.substr(4, 2)) || (t = gt[e][t].replace), new Ce.TextNode(t) }, ze = function (t) { return 1 === t.length ? t[0] : new Ce.MathNode("mrow", t) }, Ne = function (t, e) { if ("texttt" === e.fontFamily) return "monospace"; if ("textsf" === e.fontFamily) return "textit" === e.fontShape && "textbf" === e.fontWeight ? "sans-serif-bold-italic" : "textit" === e.fontShape ? "sans-serif-italic" : "textbf" === e.fontWeight ? "bold-sans-serif" : "sans-serif"; if ("textit" === e.fontShape && "textbf" === e.fontWeight) return "bold-italic"; if ("textit" === e.fontShape) return "italic"; if ("textbf" === e.fontWeight) return "bold"; var r = e.font; if (!r || "mathnormal" === r) return null; var n = t.mode; if ("mathit" === r) return "italic"; if ("boldsymbol" === r) return "bold-italic"; if ("mathbf" === r) return "bold"; if ("mathbb" === r) return "double-struck"; if ("mathfrak" === r) return "fraktur"; if ("mathscr" === r || "mathcal" === r) return "script"; if ("mathsf" === r) return "sans-serif"; if ("mathtt" === r) return "monospace"; var i = t.text; return B.contains(["\\imath", "\\jmath"], i) ? null : (gt[n][i] && gt[n][i].replace && (i = gt[n][i].replace), a(i, oe.fontMap[r].fontName, n) ? oe.fontMap[r].variant : null) }, Pe = function (t, e, r) { if (1 === t.length) { var n = Oe(t[0], e); return r && n instanceof Re && "mo" === n.type && (n.setAttribute("lspace", "0em"), n.setAttribute("rspace", "0em")), [n] } for (var i, a = [], o = 0; o < t.length; o++) { var s = Oe(t[o], e); if (s instanceof Re && i instanceof Re) { if ("mtext" === s.type && "mtext" === i.type && s.getAttribute("mathvariant") === i.getAttribute("mathvariant")) { var l; (l = i.children).push.apply(l, s.children); continue } if ("mn" === s.type && "mn" === i.type) { var c; (c = i.children).push.apply(c, s.children); continue } if ("mi" === s.type && 1 === s.children.length && "mn" === i.type) { var u = s.children[0]; if (u instanceof Te && "." === u.text) { var h; (h = i.children).push.apply(h, s.children); continue } } else if ("mi" === i.type && 1 === i.children.length) { var d = i.children[0]; if (d instanceof Te && "\u0338" === d.text && ("mo" === s.type || "mi" === s.type || "mn" === s.type)) { var m = s.children[0]; m instanceof Te && m.text.length > 0 && (m.text = m.text.slice(0, 1) + "\u0338" + m.text.slice(1), a.pop()) } } } a.push(s), i = s } return a }, Ie = function (t, e, r) { return ze(Pe(t, e, r)) }, Oe = function (t, e) { if (!t) return new Ce.MathNode("mrow"); if (pe[t.type]) return pe[t.type](t, e); throw new z("Got group of unknown type: '" + t.type + "'") }, Be = function (t) { return new Vt({ style: t.displayMode ? G.DISPLAY : G.TEXT, maxSize: t.maxSize, minRuleThickness: t.minRuleThickness }) }, qe = function (t, e) { if (e.displayMode) { var r = ["katex-display"]; e.leqno && r.push("leqno"), e.fleqn && r.push("fleqn"), t = oe.makeSpan(r, [t]) } return t }, De = function (t, e, r) { var n, i = Be(r); if ("mathml" === r.output) return v(t, e, i, !0); if ("html" === r.output) { var a = f(t, i); n = oe.makeSpan(["katex"], [a]) } else { var o = v(t, e, i, !1), s = f(t, i); n = oe.makeSpan(["katex"], [o, s]) } return qe(n, r) }, Fe = { widehat: "^", widecheck: "\u02c7", widetilde: "~", utilde: "~", overleftarrow: "\u2190", underleftarrow: "\u2190", xleftarrow: "\u2190", overrightarrow: "\u2192", underrightarrow: "\u2192", xrightarrow: "\u2192", underbrace: "\u23df", overbrace: "\u23de", overgroup: "\u23e0", undergroup: "\u23e1", overleftrightarrow: "\u2194", underleftrightarrow: "\u2194", xleftrightarrow: "\u2194", Overrightarrow: "\u21d2", xRightarrow: "\u21d2", overleftharpoon: "\u21bc", xleftharpoonup: "\u21bc", overrightharpoon: "\u21c0", xrightharpoonup: "\u21c0", xLeftarrow: "\u21d0", xLeftrightarrow: "\u21d4", xhookleftarrow: "\u21a9", xhookrightarrow: "\u21aa", xmapsto: "\u21a6", xrightharpoondown: "\u21c1", xleftharpoondown: "\u21bd", xrightleftharpoons: "\u21cc", xleftrightharpoons: "\u21cb", xtwoheadleftarrow: "\u219e", xtwoheadrightarrow: "\u21a0", xlongequal: "=", xtofrom: "\u21c4", xrightleftarrows: "\u21c4", xrightequilibrium: "\u21cc", xleftequilibrium: "\u21cb" }, He = { overrightarrow: [["rightarrow"], .888, 522, "xMaxYMin"], overleftarrow: [["leftarrow"], .888, 522, "xMinYMin"], underrightarrow: [["rightarrow"], .888, 522, "xMaxYMin"], underleftarrow: [["leftarrow"], .888, 522, "xMinYMin"], xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"], xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"], Overrightarrow: [["doublerightarrow"], .888, 560, "xMaxYMin"], xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"], xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"], overleftharpoon: [["leftharpoon"], .888, 522, "xMinYMin"], xleftharpoonup: [["leftharpoon"], .888, 522, "xMinYMin"], xleftharpoondown: [["leftharpoondown"], .888, 522, "xMinYMin"], overrightharpoon: [["rightharpoon"], .888, 522, "xMaxYMin"], xrightharpoonup: [["rightharpoon"], .888, 522, "xMaxYMin"], xrightharpoondown: [["rightharpoondown"], .888, 522, "xMaxYMin"], xlongequal: [["longequal"], .888, 334, "xMinYMin"], xtwoheadleftarrow: [["twoheadleftarrow"], .888, 334, "xMinYMin"], xtwoheadrightarrow: [["twoheadrightarrow"], .888, 334, "xMaxYMin"], overleftrightarrow: [["leftarrow", "rightarrow"], .888, 522], overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548], underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548], underleftrightarrow: [["leftarrow", "rightarrow"], .888, 522], xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522], xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560], xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716], xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716], xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522], xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522], overlinesegment: [["leftlinesegment", "rightlinesegment"], .888, 522], underlinesegment: [["leftlinesegment", "rightlinesegment"], .888, 522], overgroup: [["leftgroup", "rightgroup"], .888, 342], undergroup: [["leftgroupunder", "rightgroupunder"], .888, 342], xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522], xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528], xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901], xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716], xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716] }, je = function (t) { return "ordgroup" === t.type ? t.body.length : 1 }, Ue = function (t, e, r, n) { var i, a = t.height + t.depth + 2 * r; if (/fbox|color/.test(e)) { if (i = oe.makeSpan(["stretchy", e], [], n), "fbox" === e) { var o = n.color && n.getColor(); o && (i.style.borderColor = o) } } else { var s = []; /^[bx]cancel$/.test(e) && s.push(new lt({ x1: "0", y1: "0", x2: "100%", y2: "100%", "stroke-width": "0.046em" })), /^x?cancel$/.test(e) && s.push(new lt({ x1: "0", y1: "100%", x2: "100%", y2: "0", "stroke-width": "0.046em" })); var l = new ot(s, { width: "100%", height: a + "em" }); i = oe.makeSvgSpan([], [l], n) } return i.height = a, i.style.height = a + "em", i }, _e = function (t) { var e = new Ce.MathNode("mo", [new Ce.TextNode(Fe[t.substr(1)])]); return e.setAttribute("stretchy", "true"), e }, Ve = function (t, e) { var r = function () { var r = 4e5, n = t.label.substr(1); if (B.contains(["widehat", "widecheck", "widetilde", "utilde"], n)) { var i, a, o, s = je(t.base); if (s > 5) "widehat" === n || "widecheck" === n ? (i = 420, r = 2364, o = .42, a = n + "4") : (i = 312, r = 2340, o = .34, a = "tilde4"); else { var l = [1, 1, 2, 2, 3, 3][s]; "widehat" === n || "widecheck" === n ? (r = [0, 1062, 2364, 2364, 2364][l], i = [0, 239, 300, 360, 420][l], o = [0, .24, .3, .3, .36, .42][l], a = n + l) : (r = [0, 600, 1033, 2339, 2340][l], i = [0, 260, 286, 306, 312][l], o = [0, .26, .286, .3, .306, .34][l], a = "tilde" + l) } var c = new st(a), u = new ot([c], { width: "100%", height: o + "em", viewBox: "0 0 " + r + " " + i, preserveAspectRatio: "none" }); return { span: oe.makeSvgSpan([], [u], e), minWidth: 0, height: o } } var h, d, m = [], p = He[n], f = p[0], g = p[1], v = p[2], y = v / 1e3, b = f.length; if (1 === b) h = ["hide-tail"], d = [p[3]]; else if (2 === b) h = ["halfarrow-left", "halfarrow-right"], d = ["xMinYMin", "xMaxYMin"]; else { if (3 !== b) throw new Error("Correct katexImagesData or update code here to support\n " + b + " children."); h = ["brace-left", "brace-center", "brace-right"], d = ["xMinYMin", "xMidYMin", "xMaxYMin"] } for (var x = 0; x < b; x++) { var w = new st(f[x]), k = new ot([w], { width: "400em", height: y + "em", viewBox: "0 0 " + r + " " + v, preserveAspectRatio: d[x] + " slice" }), S = oe.makeSvgSpan([h[x]], [k], e); if (1 === b) return { span: S, minWidth: g, height: y }; S.style.height = y + "em", m.push(S) } return { span: oe.makeSpan(["stretchy"], m, e), minWidth: g, height: y } }(), n = r.span, i = r.minWidth, a = r.height; return n.height = a, n.style.height = a + "em", i > 0 && (n.style.minWidth = i + "em"), n }, We = function (t, e) { var r, n, a, o = l(t, "supsub"); o ? (r = (n = s(o.base, "accent")).base, o.base = r, a = function (t) { if (t instanceof et) return t; throw new Error("Expected span<HtmlDomNode> but got " + String(t) + ".") }(Me(o, e)), o.base = n) : r = (n = s(t, "accent")).base; var c = Me(r, e.havingCrampedStyle()), u = 0; if (n.isShifty && B.isCharacterBox(r)) { var h = B.getBaseElem(r); u = i(Me(h, e.havingCrampedStyle())).skew } var d, m = Math.min(c.height, e.fontMetrics().xHeight); if (n.isStretchy) d = Ve(n, e), d = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: c }, { type: "elem", elem: d, wrapperClasses: ["svg-align"], wrapperStyle: u > 0 ? { width: "calc(100% - " + 2 * u + "em)", marginLeft: 2 * u + "em" } : void 0 }] }, e); else { var p, f; "\\vec" === n.label ? (p = oe.staticSvg("vec", e), f = oe.svgData.vec[1]) : ((p = i(p = oe.makeOrd({ mode: n.mode, text: n.label }, e, "textord"))).italic = 0, f = p.width), d = oe.makeSpan(["accent-body"], [p]); var g = "\\textcircled" === n.label; g && (d.classes.push("accent-full"), m = c.height); var v = u; g || (v -= f / 2), d.style.left = v + "em", "\\textcircled" === n.label && (d.style.top = ".2em"), d = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: c }, { type: "kern", size: -m }, { type: "elem", elem: d }] }, e) } var y = oe.makeSpan(["mord", "accent"], [d], e); return a ? (a.children[0] = y, a.height = Math.max(y.height, a.height), a.classes[0] = "mord", a) : y }, Ge = function (t, e) { var r = t.isStretchy ? _e(t.label) : new Ce.MathNode("mo", [Le(t.label, t.mode)]), n = new Ce.MathNode("mover", [Oe(t.base, e), r]); return n.setAttribute("accent", "true"), n }, Ye = new RegExp(["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring"].map(function (t) { return "\\" + t }).join("|")); d({ type: "accent", names: ["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring", "\\widecheck", "\\widehat", "\\widetilde", "\\overrightarrow", "\\overleftarrow", "\\Overrightarrow", "\\overleftrightarrow", "\\overgroup", "\\overlinesegment", "\\overleftharpoon", "\\overrightharpoon"], props: { numArgs: 1 }, handler: function (t, e) { var r = e[0], n = !Ye.test(t.funcName), i = !n || "\\widehat" === t.funcName || "\\widetilde" === t.funcName || "\\widecheck" === t.funcName; return { type: "accent", mode: t.parser.mode, label: t.funcName, isStretchy: n, isShifty: i, base: r } }, htmlBuilder: We, mathmlBuilder: Ge }), d({ type: "accent", names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v", "\\textcircled"], props: { numArgs: 1, allowedInText: !0, allowedInMath: !1 }, handler: function (t, e) { var r = e[0]; return { type: "accent", mode: t.parser.mode, label: t.funcName, isStretchy: !1, isShifty: !0, base: r } }, htmlBuilder: We, mathmlBuilder: Ge }), d({ type: "accentUnder", names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0]; return { type: "accentUnder", mode: r.mode, label: n, base: i } }, htmlBuilder: function (t, e) { var r = Me(t.base, e), n = Ve(t, e), i = "\\utilde" === t.label ? .12 : 0, a = oe.makeVList({ positionType: "bottom", positionData: n.height + i, children: [{ type: "elem", elem: n, wrapperClasses: ["svg-align"] }, { type: "kern", size: i }, { type: "elem", elem: r }] }, e); return oe.makeSpan(["mord", "accentunder"], [a], e) }, mathmlBuilder: function (t, e) { var r = _e(t.label), n = new Ce.MathNode("munder", [Oe(t.base, e), r]); return n.setAttribute("accentunder", "true"), n } }); var Xe = function (t) { var e = new Ce.MathNode("mpadded", t ? [t] : []); return e.setAttribute("width", "+0.6em"), e.setAttribute("lspace", "0.3em"), e }; d({ type: "xArrow", names: ["\\xleftarrow", "\\xrightarrow", "\\xLeftarrow", "\\xRightarrow", "\\xleftrightarrow", "\\xLeftrightarrow", "\\xhookleftarrow", "\\xhookrightarrow", "\\xmapsto", "\\xrightharpoondown", "\\xrightharpoonup", "\\xleftharpoondown", "\\xleftharpoonup", "\\xrightleftharpoons", "\\xleftrightharpoons", "\\xlongequal", "\\xtwoheadrightarrow", "\\xtwoheadleftarrow", "\\xtofrom", "\\xrightleftarrows", "\\xrightequilibrium", "\\xleftequilibrium"], props: { numArgs: 1, numOptionalArgs: 1 }, handler: function (t, e, r) { var n = t.parser, i = t.funcName; return { type: "xArrow", mode: n.mode, label: i, body: e[0], below: r[0] } }, htmlBuilder: function (t, e) { var r, n = e.style, i = e.havingStyle(n.sup()), a = oe.wrapFragment(Me(t.body, i, e), e); a.classes.push("x-arrow-pad"), t.below && (i = e.havingStyle(n.sub()), (r = oe.wrapFragment(Me(t.below, i, e), e)).classes.push("x-arrow-pad")); var o, s = Ve(t, e), l = -e.fontMetrics().axisHeight + .5 * s.height, c = -e.fontMetrics().axisHeight - .5 * s.height - .111; if ((a.depth > .25 || "\\xleftequilibrium" === t.label) && (c -= a.depth), r) { var u = -e.fontMetrics().axisHeight + r.height + .5 * s.height + .111; o = oe.makeVList({ positionType: "individualShift", children: [{ type: "elem", elem: a, shift: c }, { type: "elem", elem: s, shift: l }, { type: "elem", elem: r, shift: u }] }, e) } else o = oe.makeVList({ positionType: "individualShift", children: [{ type: "elem", elem: a, shift: c }, { type: "elem", elem: s, shift: l }] }, e); return o.children[0].children[0].children[1].classes.push("svg-align"), oe.makeSpan(["mrel", "x-arrow"], [o], e) }, mathmlBuilder: function (t, e) { var r, n = _e(t.label); if (t.body) { var i = Xe(Oe(t.body, e)); if (t.below) { var a = Xe(Oe(t.below, e)); r = new Ce.MathNode("munderover", [n, a, i]) } else r = new Ce.MathNode("mover", [n, i]) } else if (t.below) { var o = Xe(Oe(t.below, e)); r = new Ce.MathNode("munder", [n, o]) } else r = Xe(), r = new Ce.MathNode("mover", [n, r]); return r } }), d({ type: "textord", names: ["\\@char"], props: { numArgs: 1, allowedInText: !0 }, handler: function (t, e) { for (var r = t.parser, n = s(e[0], "ordgroup").body, i = "", a = 0; a < n.length; a++)i += s(n[a], "textord").text; var o = parseInt(i); if (isNaN(o)) throw new z("\\@char has non-numeric argument " + i); return { type: "textord", mode: r.mode, text: String.fromCharCode(o) } } }); var Ke = function (t, e) { var r = we(t.body, e.withColor(t.color), !1); return oe.makeFragment(r) }, $e = function (t, e) { var r = Pe(t.body, e.withColor(t.color)), n = new Ce.MathNode("mstyle", r); return n.setAttribute("mathcolor", t.color), n }; d({ type: "color", names: ["\\textcolor"], props: { numArgs: 2, allowedInText: !0, greediness: 3, argTypes: ["color", "original"] }, handler: function (t, e) { var r = t.parser, n = s(e[0], "color-token").color, i = e[1]; return { type: "color", mode: r.mode, color: n, body: fe(i) } }, htmlBuilder: Ke, mathmlBuilder: $e }), d({ type: "color", names: ["\\color"], props: { numArgs: 1, allowedInText: !0, greediness: 3, argTypes: ["color"] }, handler: function (t, e) { var r = t.parser, n = t.breakOnTokenText, i = s(e[0], "color-token").color; r.gullet.macros.set("\\current@color", i); var a = r.parseExpression(!0, n); return { type: "color", mode: r.mode, color: i, body: a } }, htmlBuilder: Ke, mathmlBuilder: $e }), d({ type: "cr", names: ["\\cr", "\\newline"], props: { numArgs: 0, numOptionalArgs: 1, argTypes: ["size"], allowedInText: !0 }, handler: function (t, e, r) { var n = t.parser, i = t.funcName, a = r[0], o = "\\cr" === i, l = !1; return o || (l = !n.settings.displayMode || !n.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline does nothing in display mode")), { type: "cr", mode: n.mode, newLine: l, newRow: o, size: a && s(a, "size").value } }, htmlBuilder: function (t, e) { if (t.newRow) throw new z("\\cr valid only within a tabular/array environment"); var r = oe.makeSpan(["mspace"], [], e); return t.newLine && (r.classes.push("newline"), t.size && (r.style.marginTop = Xt(t.size, e) + "em")), r }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mspace"); return t.newLine && (r.setAttribute("linebreak", "newline"), t.size && r.setAttribute("height", Xt(t.size, e) + "em")), r } }); var Ze = function (t, e, r) { var n = a(gt.math[t] && gt.math[t].replace || t, e, r); if (!n) throw new Error("Unsupported symbol " + t + " and font size " + e + "."); return n }, Je = function (t, e, r, n) { var i = r.havingBaseStyle(e), a = oe.makeSpan(n.concat(i.sizingClasses(r)), [t], r), o = i.sizeMultiplier / r.sizeMultiplier; return a.height *= o, a.depth *= o, a.maxFontSize = i.sizeMultiplier, a }, Qe = function (t, e, r) { var n = e.havingBaseStyle(r), i = (1 - e.sizeMultiplier / n.sizeMultiplier) * e.fontMetrics().axisHeight; t.classes.push("delimcenter"), t.style.top = i + "em", t.height -= i, t.depth += i }, tr = function (t, e, r, n, i, a) { var o = function (t, e, r, n) { return oe.makeSymbol(t, "Size" + e + "-Regular", r, n) }(t, e, i, n), s = Je(oe.makeSpan(["delimsizing", "size" + e], [o], n), G.TEXT, n, a); return r && Qe(s, n, G.TEXT), s }, er = function (t, e, r) { var n; return n = "Size1-Regular" === e ? "delim-size1" : "delim-size4", { type: "elem", elem: oe.makeSpan(["delimsizinginner", n], [oe.makeSpan([], [oe.makeSymbol(t, e, r)])]) } }, rr = { type: "kern", size: -.005 }, nr = function (t, e, r, n, i, a) { var o, s, l, c; o = l = c = t, s = null; var u = "Size1-Regular"; "\\uparrow" === t ? l = c = "\u23d0" : "\\Uparrow" === t ? l = c = "\u2016" : "\\downarrow" === t ? o = l = "\u23d0" : "\\Downarrow" === t ? o = l = "\u2016" : "\\updownarrow" === t ? (o = "\\uparrow", l = "\u23d0", c = "\\downarrow") : "\\Updownarrow" === t ? (o = "\\Uparrow", l = "\u2016", c = "\\Downarrow") : "[" === t || "\\lbrack" === t ? (o = "\u23a1", l = "\u23a2", c = "\u23a3", u = "Size4-Regular") : "]" === t || "\\rbrack" === t ? (o = "\u23a4", l = "\u23a5", c = "\u23a6", u = "Size4-Regular") : "\\lfloor" === t || "\u230a" === t ? (l = o = "\u23a2", c = "\u23a3", u = "Size4-Regular") : "\\lceil" === t || "\u2308" === t ? (o = "\u23a1", l = c = "\u23a2", u = "Size4-Regular") : "\\rfloor" === t || "\u230b" === t ? (l = o = "\u23a5", c = "\u23a6", u = "Size4-Regular") : "\\rceil" === t || "\u2309" === t ? (o = "\u23a4", l = c = "\u23a5", u = "Size4-Regular") : "(" === t || "\\lparen" === t ? (o = "\u239b", l = "\u239c", c = "\u239d", u = "Size4-Regular") : ")" === t || "\\rparen" === t ? (o = "\u239e", l = "\u239f", c = "\u23a0", u = "Size4-Regular") : "\\{" === t || "\\lbrace" === t ? (o = "\u23a7", s = "\u23a8", c = "\u23a9", l = "\u23aa", u = "Size4-Regular") : "\\}" === t || "\\rbrace" === t ? (o = "\u23ab", s = "\u23ac", c = "\u23ad", l = "\u23aa", u = "Size4-Regular") : "\\lgroup" === t || "\u27ee" === t ? (o = "\u23a7", c = "\u23a9", l = "\u23aa", u = "Size4-Regular") : "\\rgroup" === t || "\u27ef" === t ? (o = "\u23ab", c = "\u23ad", l = "\u23aa", u = "Size4-Regular") : "\\lmoustache" === t || "\u23b0" === t ? (o = "\u23a7", c = "\u23ad", l = "\u23aa", u = "Size4-Regular") : "\\rmoustache" !== t && "\u23b1" !== t || (o = "\u23ab", c = "\u23a9", l = "\u23aa", u = "Size4-Regular"); var h = Ze(o, u, i), d = h.height + h.depth, m = Ze(l, u, i), p = m.height + m.depth, f = Ze(c, u, i), g = f.height + f.depth, v = 0, y = 1; if (null !== s) { var b = Ze(s, u, i); v = b.height + b.depth, y = 2 } var x = d + g + v, w = Math.max(0, Math.ceil((e - x) / (y * p))), k = x + w * y * p, S = n.fontMetrics().axisHeight; r && (S *= n.sizeMultiplier); var A = k / 2 - S, E = .005 * (w + 1) - p, M = []; if (M.push(er(c, u, i)), null === s) for (var R = 0; R < w; R++)M.push(rr), M.push(er(l, u, i)); else { for (var T = 0; T < w; T++)M.push(rr), M.push(er(l, u, i)); M.push({ type: "kern", size: E }), M.push(er(l, u, i)), M.push(rr), M.push(er(s, u, i)); for (var C = 0; C < w; C++)M.push(rr), M.push(er(l, u, i)) } M.push({ type: "kern", size: E }), M.push(er(l, u, i)), M.push(rr), M.push(er(o, u, i)); var L = n.havingBaseStyle(G.TEXT), z = oe.makeVList({ positionType: "bottom", positionData: A, children: M }, L); return Je(oe.makeSpan(["delimsizing", "mult"], [z], L), G.TEXT, n, a) }, ir = function (t, e, r, n, i) { var a = function (t, e, r) { e *= 1e3; var n = ""; switch (t) { case "sqrtMain": n = function (t, e) { return "M95," + (622 + t + e) + "\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl" + t / 2.075 + " -" + t + "\nc5.3,-9.3,12,-14,20,-14\nH400000v" + (40 + t) + "H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM" + (834 + t) + " " + e + "h400000v" + (40 + t) + "h-400000z" }(e, 80); break; case "sqrtSize1": n = function (t, e) { return "M263," + (601 + t + e) + "c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl" + t / 2.084 + " -" + t + "\nc4.7,-7.3,11,-11,19,-11\nH40000v" + (40 + t) + "H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM" + (1001 + t) + " " + e + "h400000v" + (40 + t) + "h-400000z" }(e, 80); break; case "sqrtSize2": n = function (t, e) { return "M983 " + (10 + t + e) + "\nl" + t / 3.13 + " -" + t + "\nc4,-6.7,10,-10,18,-10 H400000v" + (40 + t) + "\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM" + (1001 + t) + " " + e + "h400000v" + (40 + t) + "h-400000z" }(e, 80); break; case "sqrtSize3": n = function (t, e) { return "M424," + (2398 + t + e) + "\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl" + t / 4.223 + " -" + t + "c4,-6.7,10,-10,18,-10 H400000\nv" + (40 + t) + "H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M" + (1001 + t) + " " + e + "\nh400000v" + (40 + t) + "h-400000z" }(e, 80); break; case "sqrtSize4": n = function (t, e) { return "M473," + (2713 + t + e) + "\nc339.3,-1799.3,509.3,-2700,510,-2702 l" + t / 5.298 + " -" + t + "\nc3.3,-7.3,9.3,-11,18,-11 H400000v" + (40 + t) + "H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM" + (1001 + t) + " " + e + "h400000v" + (40 + t) + "H1017.7z" }(e, 80); break; case "sqrtTall": n = function (t, e, r) { return "M702 " + (t + e) + "H400000" + (40 + t) + "\nH742v" + (r - 54 - e - t) + "l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 " + e + "H400000v" + (40 + t) + "H742z" }(e, 80, r) }return n }(t, n, r), o = new st(t, a), s = new ot([o], { width: "400em", height: e + "em", viewBox: "0 0 400000 " + r, preserveAspectRatio: "xMinYMin slice" }); return oe.makeSvgSpan(["hide-tail"], [s], i) }, ar = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230a", "\u230b", "\\lceil", "\\rceil", "\u2308", "\u2309", "\\surd"], or = ["\\uparrow", "\\downarrow", "\\updownarrow", "\\Uparrow", "\\Downarrow", "\\Updownarrow", "|", "\\|", "\\vert", "\\Vert", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27ee", "\u27ef", "\\lmoustache", "\\rmoustache", "\u23b0", "\u23b1"], sr = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"], lr = [0, 1.2, 1.8, 2.4, 3], cr = [{ type: "small", style: G.SCRIPTSCRIPT }, { type: "small", style: G.SCRIPT }, { type: "small", style: G.TEXT }, { type: "large", size: 1 }, { type: "large", size: 2 }, { type: "large", size: 3 }, { type: "large", size: 4 }], ur = [{ type: "small", style: G.SCRIPTSCRIPT }, { type: "small", style: G.SCRIPT }, { type: "small", style: G.TEXT }, { type: "stack" }], hr = [{ type: "small", style: G.SCRIPTSCRIPT }, { type: "small", style: G.SCRIPT }, { type: "small", style: G.TEXT }, { type: "large", size: 1 }, { type: "large", size: 2 }, { type: "large", size: 3 }, { type: "large", size: 4 }, { type: "stack" }], dr = function (t) { if ("small" === t.type) return "Main-Regular"; if ("large" === t.type) return "Size" + t.size + "-Regular"; if ("stack" === t.type) return "Size4-Regular"; throw new Error("Add support for delim type '" + t.type + "' here.") }, mr = function (t, e, r, n) { for (var i = Math.min(2, 3 - n.style.size); i < r.length && "stack" !== r[i].type; i++) { var a = Ze(t, dr(r[i]), "math"), o = a.height + a.depth; if ("small" === r[i].type && (o *= n.havingBaseStyle(r[i].style).sizeMultiplier), o > e) return r[i] } return r[r.length - 1] }, pr = function (t, e, r, n, i, a) { var o; "<" === t || "\\lt" === t || "\u27e8" === t ? t = "\\langle" : ">" !== t && "\\gt" !== t && "\u27e9" !== t || (t = "\\rangle"), o = B.contains(sr, t) ? cr : B.contains(ar, t) ? hr : ur; var s = mr(t, e, o, n); return "small" === s.type ? function (t, e, r, n, i, a) { var o = oe.makeSymbol(t, "Main-Regular", i, n), s = Je(o, e, n, a); return r && Qe(s, n, e), s }(t, s.style, r, n, i, a) : "large" === s.type ? tr(t, s.size, r, n, i, a) : nr(t, e, r, n, i, a) }, fr = function (t, e) {
var r, n, i = e.havingBaseSizing(), a = mr("\\surd", t * i.sizeMultiplier, hr, i), o = i.sizeMultiplier, s = Math.max(0, e.minRuleThickness - e.fontMetrics().sqrtRuleThickness), l = 0, c = 0, u = 0; return "small" === a.type ? (t < 1 ? o = 1 : t < 1.4 && (o = .7), c = (1 + s) / o, (r = ir("sqrtMain", l = (1 + s + .08) / o, u = 1e3 + 1e3 * s + 80, s, e)).style.minWidth = "0.853em", n = .833 / o) : "large" === a.type ? (u = 1080 * lr[a.size], c = (lr[a.size] + s) / o, l = (lr[a.size] + s + .08) / o, (r = ir("sqrtSize" + a.size, l, u, s, e)).style.minWidth = "1.02em", n = 1 / o) : (l = t + s + .08, c = t + s, u = Math.floor(1e3 * t + s) + 80,
(r = ir("sqrtTall", l, u, s, e)).style.minWidth = "0.742em", n = 1.056), r.height = c, r.style.height = l + "em", { span: r, advanceWidth: n, ruleWidth: (e.fontMetrics().sqrtRuleThickness + s) * o }
}, gr = function (t, e, r, n, i) { if ("<" === t || "\\lt" === t || "\u27e8" === t ? t = "\\langle" : ">" !== t && "\\gt" !== t && "\u27e9" !== t || (t = "\\rangle"), B.contains(ar, t) || B.contains(sr, t)) return tr(t, e, !1, r, n, i); if (B.contains(or, t)) return nr(t, lr[e], !1, r, n, i); throw new z("Illegal delimiter: '" + t + "'") }, vr = pr, yr = function (t, e, r, n, i, a) { var o = n.fontMetrics().axisHeight * n.sizeMultiplier, s = 5 / n.fontMetrics().ptPerEm, l = Math.max(e - o, r + o), c = Math.max(l / 500 * 901, 2 * l - s); return pr(t, c, !0, n, i, a) }, br = { "\\bigl": { mclass: "mopen", size: 1 }, "\\Bigl": { mclass: "mopen", size: 2 }, "\\biggl": { mclass: "mopen", size: 3 }, "\\Biggl": { mclass: "mopen", size: 4 }, "\\bigr": { mclass: "mclose", size: 1 }, "\\Bigr": { mclass: "mclose", size: 2 }, "\\biggr": { mclass: "mclose", size: 3 }, "\\Biggr": { mclass: "mclose", size: 4 }, "\\bigm": { mclass: "mrel", size: 1 }, "\\Bigm": { mclass: "mrel", size: 2 }, "\\biggm": { mclass: "mrel", size: 3 }, "\\Biggm": { mclass: "mrel", size: 4 }, "\\big": { mclass: "mord", size: 1 }, "\\Big": { mclass: "mord", size: 2 }, "\\bigg": { mclass: "mord", size: 3 }, "\\Bigg": { mclass: "mord", size: 4 } }, xr = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230a", "\u230b", "\\lceil", "\\rceil", "\u2308", "\u2309", "<", ">", "\\langle", "\u27e8", "\\rangle", "\u27e9", "\\lt", "\\gt", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27ee", "\u27ef", "\\lmoustache", "\\rmoustache", "\u23b0", "\u23b1", "/", "\\backslash", "|", "\\vert", "\\|", "\\Vert", "\\uparrow", "\\Uparrow", "\\downarrow", "\\Downarrow", "\\updownarrow", "\\Updownarrow", "."]; d({ type: "delimsizing", names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"], props: { numArgs: 1 }, handler: function (t, e) { var r = y(e[0], t); return { type: "delimsizing", mode: t.parser.mode, size: br[t.funcName].size, mclass: br[t.funcName].mclass, delim: r.text } }, htmlBuilder: function (t, e) { return "." === t.delim ? oe.makeSpan([t.mclass]) : gr(t.delim, t.size, e, t.mode, [t.mclass]) }, mathmlBuilder: function (t) { var e = []; "." !== t.delim && e.push(Le(t.delim, t.mode)); var r = new Ce.MathNode("mo", e); return "mopen" === t.mclass || "mclose" === t.mclass ? r.setAttribute("fence", "true") : r.setAttribute("fence", "false"), r } }), d({ type: "leftright-right", names: ["\\right"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser.gullet.macros.get("\\current@color"); if (r && "string" != typeof r) throw new z("\\current@color set to non-string in \\right"); return { type: "leftright-right", mode: t.parser.mode, delim: y(e[0], t).text, color: r } } }), d({ type: "leftright", names: ["\\left"], props: { numArgs: 1 }, handler: function (t, e) { var r = y(e[0], t), n = t.parser; ++n.leftrightDepth; var i = n.parseExpression(!1); --n.leftrightDepth, n.expect("\\right", !1); var a = s(n.parseFunction(), "leftright-right"); return { type: "leftright", mode: n.mode, body: i, left: r.text, right: a.delim, rightColor: a.color } }, htmlBuilder: function (t, e) { b(t); for (var r, n, i = we(t.body, e, !0, ["mopen", "mclose"]), a = 0, o = 0, s = !1, l = 0; l < i.length; l++)i[l].isMiddle ? s = !0 : (a = Math.max(i[l].height, a), o = Math.max(i[l].depth, o)); if (a *= e.sizeMultiplier, o *= e.sizeMultiplier, r = "." === t.left ? Ee(e, ["mopen"]) : yr(t.left, a, o, e, t.mode, ["mopen"]), i.unshift(r), s) for (var c = 1; c < i.length; c++) { var u = i[c].isMiddle; u && (i[c] = yr(u.delim, a, o, u.options, t.mode, [])) } if ("." === t.right) n = Ee(e, ["mclose"]); else { var h = t.rightColor ? e.withColor(t.rightColor) : e; n = yr(t.right, a, o, h, t.mode, ["mclose"]) } return i.push(n), oe.makeSpan(["minner"], i, e) }, mathmlBuilder: function (t, e) { b(t); var r = Pe(t.body, e); if ("." !== t.left) { var n = new Ce.MathNode("mo", [Le(t.left, t.mode)]); n.setAttribute("fence", "true"), r.unshift(n) } if ("." !== t.right) { var i = new Ce.MathNode("mo", [Le(t.right, t.mode)]); i.setAttribute("fence", "true"), t.rightColor && i.setAttribute("mathcolor", t.rightColor), r.push(i) } return ze(r) } }), d({ type: "middle", names: ["\\middle"], props: { numArgs: 1 }, handler: function (t, e) { var r = y(e[0], t); if (!t.parser.leftrightDepth) throw new z("\\middle without preceding \\left", r); return { type: "middle", mode: t.parser.mode, delim: r.text } }, htmlBuilder: function (t, e) { var r; if ("." === t.delim) r = Ee(e, []); else { r = gr(t.delim, 1, e, t.mode, []); var n = { delim: t.delim, options: e }; r.isMiddle = n } return r }, mathmlBuilder: function (t) { var e = "\\vert" === t.delim || "|" === t.delim ? Le("|", "text") : Le(t.delim, t.mode), r = new Ce.MathNode("mo", [e]); return r.setAttribute("fence", "true"), r.setAttribute("lspace", "0.05em"), r.setAttribute("rspace", "0.05em"), r } }); var wr = function (t, e) { var r, n, i = oe.wrapFragment(Me(t.body, e), e), a = t.label.substr(1), o = e.sizeMultiplier, s = 0, l = B.isCharacterBox(t.body); if ("sout" === a) (r = oe.makeSpan(["stretchy", "sout"])).height = e.fontMetrics().defaultRuleThickness / o, s = -.5 * e.fontMetrics().xHeight; else { /cancel/.test(a) ? l || i.classes.push("cancel-pad") : i.classes.push("boxpad"); var c = 0, u = 0; /box/.test(a) ? (u = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness), c = e.fontMetrics().fboxsep + ("colorbox" === a ? 0 : u)) : c = l ? .2 : 0, r = Ue(i, a, c, e), /fbox|boxed|fcolorbox/.test(a) && (r.style.borderStyle = "solid", r.style.borderWidth = u + "em"), s = i.depth + c, t.backgroundColor && (r.style.backgroundColor = t.backgroundColor, t.borderColor && (r.style.borderColor = t.borderColor)) } return n = t.backgroundColor ? oe.makeVList({ positionType: "individualShift", children: [{ type: "elem", elem: r, shift: s }, { type: "elem", elem: i, shift: 0 }] }, e) : oe.makeVList({ positionType: "individualShift", children: [{ type: "elem", elem: i, shift: 0 }, { type: "elem", elem: r, shift: s, wrapperClasses: /cancel/.test(a) ? ["svg-align"] : [] }] }, e), /cancel/.test(a) && (n.height = i.height, n.depth = i.depth), /cancel/.test(a) && !l ? oe.makeSpan(["mord", "cancel-lap"], [n], e) : oe.makeSpan(["mord"], [n], e) }, kr = function (t, e) { var r = 0, n = new Ce.MathNode(t.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [Oe(t.body, e)]); switch (t.label) { case "\\cancel": n.setAttribute("notation", "updiagonalstrike"); break; case "\\bcancel": n.setAttribute("notation", "downdiagonalstrike"); break; case "\\sout": n.setAttribute("notation", "horizontalstrike"); break; case "\\fbox": n.setAttribute("notation", "box"); break; case "\\fcolorbox": case "\\colorbox": if (r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm, n.setAttribute("width", "+" + 2 * r + "pt"), n.setAttribute("height", "+" + 2 * r + "pt"), n.setAttribute("lspace", r + "pt"), n.setAttribute("voffset", r + "pt"), "\\fcolorbox" === t.label) { var i = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness); n.setAttribute("style", "border: " + i + "em solid " + String(t.borderColor)) } break; case "\\xcancel": n.setAttribute("notation", "updiagonalstrike downdiagonalstrike") }return t.backgroundColor && n.setAttribute("mathbackground", t.backgroundColor), n }; d({ type: "enclose", names: ["\\colorbox"], props: { numArgs: 2, allowedInText: !0, greediness: 3, argTypes: ["color", "text"] }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = s(e[0], "color-token").color, a = e[1]; return { type: "enclose", mode: r.mode, label: n, backgroundColor: i, body: a } }, htmlBuilder: wr, mathmlBuilder: kr }), d({ type: "enclose", names: ["\\fcolorbox"], props: { numArgs: 3, allowedInText: !0, greediness: 3, argTypes: ["color", "color", "text"] }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = s(e[0], "color-token").color, a = s(e[1], "color-token").color, o = e[2]; return { type: "enclose", mode: r.mode, label: n, backgroundColor: a, borderColor: i, body: o } }, htmlBuilder: wr, mathmlBuilder: kr }), d({ type: "enclose", names: ["\\fbox"], props: { numArgs: 1, argTypes: ["hbox"], allowedInText: !0 }, handler: function (t, e) { return { type: "enclose", mode: t.parser.mode, label: "\\fbox", body: e[0] } } }), d({ type: "enclose", names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0]; return { type: "enclose", mode: r.mode, label: n, body: i } }, htmlBuilder: wr, mathmlBuilder: kr }); var Sr = {}, Ar = function (t, e) { function r(t) { for (var e = 0; e < t.length; ++e)e > 0 && (y += .25), c.push({ pos: y, isDashed: t[e] }) } var n, i, a = t.body.length, o = t.hLinesBeforeRow, s = 0, l = new Array(a), c = [], u = Math.max(e.fontMetrics().arrayRuleWidth, e.minRuleThickness), h = 1 / e.fontMetrics().ptPerEm, d = 5 * h; t.colSeparationType && "small" === t.colSeparationType && (d = e.havingStyle(G.SCRIPT).sizeMultiplier / e.sizeMultiplier * .2778); var m = 12 * h, p = 3 * h, f = t.arraystretch * m, g = .7 * f, v = .3 * f, y = 0; for (r(o[0]), n = 0; n < t.body.length; ++n) { var b = t.body[n], x = g, w = v; s < b.length && (s = b.length); var k = new Array(b.length); for (i = 0; i < b.length; ++i) { var S = Me(b[i], e); w < S.depth && (w = S.depth), x < S.height && (x = S.height), k[i] = S } var A = t.rowGaps[n], E = 0; A && (E = Xt(A, e)) > 0 && (w < (E += v) && (w = E), E = 0), t.addJot && (w += p), k.height = x, k.depth = w, y += x, k.pos = y, y += w + E, l[n] = k, r(o[n + 1]) } var M, R, T = y / 2 + e.fontMetrics().axisHeight, C = t.cols || [], L = []; for (i = 0, R = 0; i < s || R < C.length; ++i, ++R) { for (var N = C[R] || {}, P = !0; "separator" === N.type;) { if (P || ((M = oe.makeSpan(["arraycolsep"], [])).style.width = e.fontMetrics().doubleRuleSep + "em", L.push(M)), "|" !== N.separator && ":" !== N.separator) throw new z("Invalid separator type: " + N.separator); var I = "|" === N.separator ? "solid" : "dashed", O = oe.makeSpan(["vertical-separator"], [], e); O.style.height = y + "em", O.style.borderRightWidth = u + "em", O.style.borderRightStyle = I, O.style.margin = "0 -" + u / 2 + "em", O.style.verticalAlign = -(y - T) + "em", L.push(O), N = C[++R] || {}, P = !1 } if (!(i >= s)) { var q = void 0; (i > 0 || t.hskipBeforeAndAfter) && 0 !== (q = B.deflt(N.pregap, d)) && ((M = oe.makeSpan(["arraycolsep"], [])).style.width = q + "em", L.push(M)); var D = []; for (n = 0; n < a; ++n) { var F = l[n], H = F[i]; if (H) { var j = F.pos - T; H.depth = F.depth, H.height = F.height, D.push({ type: "elem", elem: H, shift: j }) } } D = oe.makeVList({ positionType: "individualShift", children: D }, e), D = oe.makeSpan(["col-align-" + (N.align || "c")], [D]), L.push(D), (i < s - 1 || t.hskipBeforeAndAfter) && 0 !== (q = B.deflt(N.postgap, d)) && ((M = oe.makeSpan(["arraycolsep"], [])).style.width = q + "em", L.push(M)) } } if (l = oe.makeSpan(["mtable"], L), c.length > 0) { for (var U = oe.makeLineSpan("hline", e, u), _ = oe.makeLineSpan("hdashline", e, u), V = [{ type: "elem", elem: l, shift: 0 }]; c.length > 0;) { var W = c.pop(), Y = W.pos - T; W.isDashed ? V.push({ type: "elem", elem: _, shift: Y }) : V.push({ type: "elem", elem: U, shift: Y }) } l = oe.makeVList({ positionType: "individualShift", children: V }, e) } return oe.makeSpan(["mord"], [l], e) }, Er = { c: "center ", l: "left ", r: "right " }, Mr = function (t, e) { var r = new Ce.MathNode("mtable", t.body.map(function (t) { return new Ce.MathNode("mtr", t.map(function (t) { return new Ce.MathNode("mtd", [Oe(t, e)]) })) })), n = .5 === t.arraystretch ? .1 : .16 + t.arraystretch - 1 + (t.addJot ? .09 : 0); r.setAttribute("rowspacing", n + "em"); var i = "", a = ""; if (t.cols) { var o = t.cols, s = "", l = !1, c = 0, u = o.length; "separator" === o[0].type && (i += "top ", c = 1), "separator" === o[o.length - 1].type && (i += "bottom ", u -= 1); for (var h = c; h < u; h++)"align" === o[h].type ? (a += Er[o[h].align], l && (s += "none "), l = !0) : "separator" === o[h].type && l && (s += "|" === o[h].separator ? "solid " : "dashed ", l = !1); r.setAttribute("columnalign", a.trim()), /[sd]/.test(s) && r.setAttribute("columnlines", s.trim()) } if ("align" === t.colSeparationType) { for (var d = t.cols || [], m = "", p = 1; p < d.length; p++)m += p % 2 ? "0em " : "1em "; r.setAttribute("columnspacing", m.trim()) } else "alignat" === t.colSeparationType ? r.setAttribute("columnspacing", "0em") : "small" === t.colSeparationType ? r.setAttribute("columnspacing", "0.2778em") : r.setAttribute("columnspacing", "1em"); var f = "", g = t.hLinesBeforeRow; i += g[0].length > 0 ? "left " : "", i += g[g.length - 1].length > 0 ? "right " : ""; for (var v = 1; v < g.length - 1; v++)f += 0 === g[v].length ? "none " : g[v][0] ? "dashed " : "solid "; return /[sd]/.test(f) && r.setAttribute("rowlines", f.trim()), "" !== i && (r = new Ce.MathNode("menclose", [r])).setAttribute("notation", i.trim()), t.arraystretch && t.arraystretch < 1 && (r = new Ce.MathNode("mstyle", [r])).setAttribute("scriptlevel", "1"), r }, Rr = function (t, e) { var r, n = [], i = k(t.parser, { cols: n, addJot: !0 }, "display"), a = 0, o = { type: "ordgroup", mode: t.mode, body: [] }, c = l(e[0], "ordgroup"); if (c) { for (var u = "", h = 0; h < c.body.length; h++)u += s(c.body[h], "textord").text; r = Number(u), a = 2 * r } var d = !a; i.body.forEach(function (t) { for (var e = 1; e < t.length; e += 2) { s(s(t[e], "styling").body[0], "ordgroup").body.unshift(o) } if (d) a < t.length && (a = t.length); else { var n = t.length / 2; if (r < n) throw new z("Too many math in a row: expected " + r + ", but got " + n, t[0]) } }); for (var m = 0; m < a; ++m) { var p = "r", f = 0; m % 2 == 1 ? p = "l" : m > 0 && d && (f = 1), n[m] = { type: "align", align: p, pregap: f, postgap: 0 } } return i.colSeparationType = d ? "align" : "alignat", i }; x({ type: "array", names: ["array", "darray"], props: { numArgs: 1 }, handler: function (t, e) { var r = { cols: (h(e[0]) ? [e[0]] : s(e[0], "ordgroup").body).map(function (t) { var e = u(t).text; if (-1 !== "lcr".indexOf(e)) return { type: "align", align: e }; if ("|" === e) return { type: "separator", separator: "|" }; if (":" === e) return { type: "separator", separator: ":" }; throw new z("Unknown column alignment: " + e, t) }), hskipBeforeAndAfter: !0 }; return k(t.parser, r, S(t.envName)) }, htmlBuilder: Ar, mathmlBuilder: Mr }), x({ type: "array", names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"], props: { numArgs: 0 }, handler: function (t) { var e = { matrix: null, pmatrix: ["(", ")"], bmatrix: ["[", "]"], Bmatrix: ["\\{", "\\}"], vmatrix: ["|", "|"], Vmatrix: ["\\Vert", "\\Vert"] }[t.envName], r = k(t.parser, { hskipBeforeAndAfter: !1 }, S(t.envName)); return e ? { type: "leftright", mode: t.mode, body: [r], left: e[0], right: e[1], rightColor: void 0 } : r }, htmlBuilder: Ar, mathmlBuilder: Mr }), x({ type: "array", names: ["smallmatrix"], props: { numArgs: 0 }, handler: function (t) { var e = k(t.parser, { arraystretch: .5 }, "script"); return e.colSeparationType = "small", e }, htmlBuilder: Ar, mathmlBuilder: Mr }), x({ type: "array", names: ["subarray"], props: { numArgs: 1 }, handler: function (t, e) { var r = (h(e[0]) ? [e[0]] : s(e[0], "ordgroup").body).map(function (t) { var e = u(t).text; if (-1 !== "lc".indexOf(e)) return { type: "align", align: e }; throw new z("Unknown column alignment: " + e, t) }); if (r.length > 1) throw new z("{subarray} can contain only one column"); var n = { cols: r, hskipBeforeAndAfter: !1, arraystretch: .5 }; if ((n = k(t.parser, n, "script")).body[0].length > 1) throw new z("{subarray} can contain only one column"); return n }, htmlBuilder: Ar, mathmlBuilder: Mr }), x({ type: "array", names: ["cases", "dcases"], props: { numArgs: 0 }, handler: function (t) { var e = k(t.parser, { arraystretch: 1.2, cols: [{ type: "align", align: "l", pregap: 0, postgap: 1 }, { type: "align", align: "l", pregap: 0, postgap: 0 }] }, S(t.envName)); return { type: "leftright", mode: t.mode, body: [e], left: "\\{", right: ".", rightColor: void 0 } }, htmlBuilder: Ar, mathmlBuilder: Mr }), x({ type: "array", names: ["aligned"], props: { numArgs: 0 }, handler: Rr, htmlBuilder: Ar, mathmlBuilder: Mr }), x({ type: "array", names: ["gathered"], props: { numArgs: 0 }, handler: function (t) { return k(t.parser, { cols: [{ type: "align", align: "c" }], addJot: !0 }, "display") }, htmlBuilder: Ar, mathmlBuilder: Mr }), x({ type: "array", names: ["alignedat"], props: { numArgs: 1 }, handler: Rr, htmlBuilder: Ar, mathmlBuilder: Mr }), d({ type: "text", names: ["\\hline", "\\hdashline"], props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 }, handler: function (t) { throw new z(t.funcName + " valid only within array environment") } }); var Tr = Sr; d({ type: "environment", names: ["\\begin", "\\end"], props: { numArgs: 1, argTypes: ["text"] }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0]; if ("ordgroup" !== i.type) throw new z("Invalid environment name", i); for (var a = "", o = 0; o < i.body.length; ++o)a += s(i.body[o], "textord").text; if ("\\begin" === n) { if (!Tr.hasOwnProperty(a)) throw new z("No such environment: " + a, i); var l = Tr[a], c = r.parseArguments("\\begin{" + a + "}", l), u = c.args, h = c.optArgs, d = { mode: r.mode, envName: a, parser: r }, m = l.handler(d, u, h); r.expect("\\end", !1); var p = r.nextToken, f = s(r.parseFunction(), "environment"); if (f.name !== a) throw new z("Mismatch: \\begin{" + a + "} matched by \\end{" + f.name + "}", p); return m } return { type: "environment", mode: r.mode, name: a, nameGroup: i } } }); var Cr = oe.makeSpan; d({ type: "mclass", names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0]; return { type: "mclass", mode: r.mode, mclass: "m" + n.substr(5), body: fe(i), isCharacterBox: B.isCharacterBox(i) } }, htmlBuilder: A, mathmlBuilder: E }); var Lr = function (t) { var e = "ordgroup" === t.type && t.body.length ? t.body[0] : t; return "atom" !== e.type || "bin" !== e.family && "rel" !== e.family ? "mord" : "m" + e.family }; d({ type: "mclass", names: ["\\@binrel"], props: { numArgs: 2 }, handler: function (t, e) { return { type: "mclass", mode: t.parser.mode, mclass: Lr(e[0]), body: [e[1]], isCharacterBox: B.isCharacterBox(e[1]) } } }), d({ type: "mclass", names: ["\\stackrel", "\\overset", "\\underset"], props: { numArgs: 2 }, handler: function (t, e) { var r, n = t.parser, i = t.funcName, a = e[1], o = e[0]; r = "\\stackrel" !== i ? Lr(a) : "mrel"; var s = { type: "op", mode: a.mode, limits: !0, alwaysHandleSupSub: !0, parentIsSupSub: !1, symbol: !1, suppressBaseShift: "\\stackrel" !== i, body: fe(a) }, l = { type: "supsub", mode: o.mode, base: s, sup: "\\underset" === i ? null : o, sub: "\\underset" === i ? o : null }; return { type: "mclass", mode: n.mode, mclass: r, body: [l], isCharacterBox: B.isCharacterBox(l) } }, htmlBuilder: A, mathmlBuilder: E }); var zr = function (t, e) { var r = t.font, n = e.withFont(r); return Me(t.body, n) }, Nr = function (t, e) { var r = t.font, n = e.withFont(r); return Oe(t.body, n) }, Pr = { "\\Bbb": "\\mathbb", "\\bold": "\\mathbf", "\\frak": "\\mathfrak", "\\bm": "\\boldsymbol" }; d({ type: "font", names: ["\\mathrm", "\\mathit", "\\mathbf", "\\mathnormal", "\\mathbb", "\\mathcal", "\\mathfrak", "\\mathscr", "\\mathsf", "\\mathtt", "\\Bbb", "\\bold", "\\frak"], props: { numArgs: 1, greediness: 2 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0], a = n; return a in Pr && (a = Pr[a]), { type: "font", mode: r.mode, font: a.slice(1), body: i } }, htmlBuilder: zr, mathmlBuilder: Nr }), d({ type: "mclass", names: ["\\boldsymbol", "\\bm"], props: { numArgs: 1, greediness: 2 }, handler: function (t, e) { var r = t.parser, n = e[0], i = B.isCharacterBox(n); return { type: "mclass", mode: r.mode, mclass: Lr(n), body: [{ type: "font", mode: r.mode, font: "boldsymbol", body: n }], isCharacterBox: i } } }), d({ type: "font", names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it"], props: { numArgs: 0, allowedInText: !0 }, handler: function (t) { var e = t.parser, r = t.funcName, n = t.breakOnTokenText, i = e.mode, a = e.parseExpression(!0, n); return { type: "font", mode: i, font: "math" + r.slice(1), body: { type: "ordgroup", mode: e.mode, body: a } } }, htmlBuilder: zr, mathmlBuilder: Nr }); var Ir = function (t, e) { var r = e; return "display" === t ? r = r.id >= G.SCRIPT.id ? r.text() : G.DISPLAY : "text" === t && r.size === G.DISPLAY.size ? r = G.TEXT : "script" === t ? r = G.SCRIPT : "scriptscript" === t && (r = G.SCRIPTSCRIPT), r }, Or = function (t, e) { var r, n = Ir(t.size, e.style), i = n.fracNum(), a = n.fracDen(); r = e.havingStyle(i); var o = Me(t.numer, r, e); if (t.continued) { var s = 8.5 / e.fontMetrics().ptPerEm, l = 3.5 / e.fontMetrics().ptPerEm; o.height = o.height < s ? s : o.height, o.depth = o.depth < l ? l : o.depth } r = e.havingStyle(a); var c, u, h, d, m, p, f, g, v, y, b = Me(t.denom, r, e); if (t.hasBarLine ? (t.barSize ? (u = Xt(t.barSize, e), c = oe.makeLineSpan("frac-line", e, u)) : c = oe.makeLineSpan("frac-line", e), u = c.height, h = c.height) : (c = null, u = 0, h = e.fontMetrics().defaultRuleThickness), n.size === G.DISPLAY.size || "display" === t.size ? (d = e.fontMetrics().num1, m = u > 0 ? 3 * h : 7 * h, p = e.fontMetrics().denom1) : (u > 0 ? (d = e.fontMetrics().num2, m = h) : (d = e.fontMetrics().num3, m = 3 * h), p = e.fontMetrics().denom2), c) { var x = e.fontMetrics().axisHeight; d - o.depth - (x + .5 * u) < m && (d += m - (d - o.depth - (x + .5 * u))), x - .5 * u - (b.height - p) < m && (p += m - (x - .5 * u - (b.height - p))); var w = -(x - .5 * u); f = oe.makeVList({ positionType: "individualShift", children: [{ type: "elem", elem: b, shift: p }, { type: "elem", elem: c, shift: w }, { type: "elem", elem: o, shift: -d }] }, e) } else { var k = d - o.depth - (b.height - p); k < m && (d += .5 * (m - k), p += .5 * (m - k)), f = oe.makeVList({ positionType: "individualShift", children: [{ type: "elem", elem: b, shift: p }, { type: "elem", elem: o, shift: -d }] }, e) } return r = e.havingStyle(n), f.height *= r.sizeMultiplier / e.sizeMultiplier, f.depth *= r.sizeMultiplier / e.sizeMultiplier, g = n.size === G.DISPLAY.size ? e.fontMetrics().delim1 : e.fontMetrics().delim2, v = null == t.leftDelim ? Ee(e, ["mopen"]) : vr(t.leftDelim, g, !0, e.havingStyle(n), t.mode, ["mopen"]), y = t.continued ? oe.makeSpan([]) : null == t.rightDelim ? Ee(e, ["mclose"]) : vr(t.rightDelim, g, !0, e.havingStyle(n), t.mode, ["mclose"]), oe.makeSpan(["mord"].concat(r.sizingClasses(e)), [v, oe.makeSpan(["mfrac"], [f]), y], e) }, Br = function (t, e) { var r = new Ce.MathNode("mfrac", [Oe(t.numer, e), Oe(t.denom, e)]); if (t.hasBarLine) { if (t.barSize) { var n = Xt(t.barSize, e); r.setAttribute("linethickness", n + "em") } } else r.setAttribute("linethickness", "0px"); var i = Ir(t.size, e.style); if (i.size !== e.style.size) { r = new Ce.MathNode("mstyle", [r]); var a = i.size === G.DISPLAY.size ? "true" : "false"; r.setAttribute("displaystyle", a), r.setAttribute("scriptlevel", "0") } if (null != t.leftDelim || null != t.rightDelim) { var o = []; if (null != t.leftDelim) { var s = new Ce.MathNode("mo", [new Ce.TextNode(t.leftDelim.replace("\\", ""))]); s.setAttribute("fence", "true"), o.push(s) } if (o.push(r), null != t.rightDelim) { var l = new Ce.MathNode("mo", [new Ce.TextNode(t.rightDelim.replace("\\", ""))]); l.setAttribute("fence", "true"), o.push(l) } return ze(o) } return r }; d({ type: "genfrac", names: ["\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", "\\\\bracefrac", "\\\\brackfrac"], props: { numArgs: 2, greediness: 2 }, handler: function (t, e) { var r, n = t.parser, i = t.funcName, a = e[0], o = e[1], s = null, l = null, c = "auto"; switch (i) { case "\\cfrac": case "\\dfrac": case "\\frac": case "\\tfrac": r = !0; break; case "\\\\atopfrac": r = !1; break; case "\\dbinom": case "\\binom": case "\\tbinom": r = !1, s = "(", l = ")"; break; case "\\\\bracefrac": r = !1, s = "\\{", l = "\\}"; break; case "\\\\brackfrac": r = !1, s = "[", l = "]"; break; default: throw new Error("Unrecognized genfrac command") }switch (i) { case "\\cfrac": case "\\dfrac": case "\\dbinom": c = "display"; break; case "\\tfrac": case "\\tbinom": c = "text" }return { type: "genfrac", mode: n.mode, continued: "\\cfrac" === i, numer: a, denom: o, hasBarLine: r, leftDelim: s, rightDelim: l, size: c, barSize: null } }, htmlBuilder: Or, mathmlBuilder: Br }), d({ type: "infix", names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], props: { numArgs: 0, infix: !0 }, handler: function (t) { var e, r = t.parser, n = t.funcName, i = t.token; switch (n) { case "\\over": e = "\\frac"; break; case "\\choose": e = "\\binom"; break; case "\\atop": e = "\\\\atopfrac"; break; case "\\brace": e = "\\\\bracefrac"; break; case "\\brack": e = "\\\\brackfrac"; break; default: throw new Error("Unrecognized infix genfrac command") }return { type: "infix", mode: r.mode, replaceWith: e, token: i } } }); var qr = ["display", "text", "script", "scriptscript"], Dr = function (t) { var e = null; return t.length > 0 && (e = "." === (e = t) ? null : e), e }; d({ type: "genfrac", names: ["\\genfrac"], props: { numArgs: 6, greediness: 6, argTypes: ["math", "math", "size", "text", "math", "math"] }, handler: function (t, e) { var r = t.parser, n = e[4], i = e[5], a = l(e[0], "atom"); a && (a = c(e[0], "open")); var o = a ? Dr(a.text) : null, u = l(e[1], "atom"); u && (u = c(e[1], "close")); var h, d = u ? Dr(u.text) : null, m = s(e[2], "size"), p = null; h = !!m.isBlank || (p = m.value).number > 0; var f = "auto", g = l(e[3], "ordgroup"); if (g) { if (g.body.length > 0) { var v = s(g.body[0], "textord"); f = qr[Number(v.text)] } } else g = s(e[3], "textord"), f = qr[Number(g.text)]; return { type: "genfrac", mode: r.mode, numer: n, denom: i, continued: !1, hasBarLine: h, barSize: p, leftDelim: o, rightDelim: d, size: f } }, htmlBuilder: Or, mathmlBuilder: Br }), d({ type: "infix", names: ["\\above"], props: { numArgs: 1, argTypes: ["size"], infix: !0 }, handler: function (t, e) { var r = t.parser, n = (t.funcName, t.token); return { type: "infix", mode: r.mode, replaceWith: "\\\\abovefrac", size: s(e[0], "size").value, token: n } } }), d({ type: "genfrac", names: ["\\\\abovefrac"], props: { numArgs: 3, argTypes: ["math", "size", "math"] }, handler: function (t, e) { var r = t.parser, n = (t.funcName, e[0]), i = function (t) { if (!t) throw new Error("Expected non-null, but got " + String(t)); return t }(s(e[1], "infix").size), a = e[2], o = i.number > 0; return { type: "genfrac", mode: r.mode, numer: n, denom: a, continued: !1, hasBarLine: o, barSize: i, leftDelim: null, rightDelim: null, size: "auto" } }, htmlBuilder: Or, mathmlBuilder: Br }); var Fr = function (t, e) { var r, n, i = e.style, a = l(t, "supsub"); a ? (r = a.sup ? Me(a.sup, e.havingStyle(i.sup()), e) : Me(a.sub, e.havingStyle(i.sub()), e), n = s(a.base, "horizBrace")) : n = s(t, "horizBrace"); var o, c = Me(n.base, e.havingBaseStyle(G.DISPLAY)), u = Ve(n, e); if (n.isOver ? (o = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: c }, { type: "kern", size: .1 }, { type: "elem", elem: u }] }, e)).children[0].children[0].children[1].classes.push("svg-align") : (o = oe.makeVList({ positionType: "bottom", positionData: c.depth + .1 + u.height, children: [{ type: "elem", elem: u }, { type: "kern", size: .1 }, { type: "elem", elem: c }] }, e)).children[0].children[0].children[0].classes.push("svg-align"), r) { var h = oe.makeSpan(["mord", n.isOver ? "mover" : "munder"], [o], e); o = n.isOver ? oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: h }, { type: "kern", size: .2 }, { type: "elem", elem: r }] }, e) : oe.makeVList({ positionType: "bottom", positionData: h.depth + .2 + r.height + r.depth, children: [{ type: "elem", elem: r }, { type: "kern", size: .2 }, { type: "elem", elem: h }] }, e) } return oe.makeSpan(["mord", n.isOver ? "mover" : "munder"], [o], e) }; d({ type: "horizBrace", names: ["\\overbrace", "\\underbrace"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser, n = t.funcName; return { type: "horizBrace", mode: r.mode, label: n, isOver: /^\\over/.test(n), base: e[0] } }, htmlBuilder: Fr, mathmlBuilder: function (t, e) { var r = _e(t.label); return new Ce.MathNode(t.isOver ? "mover" : "munder", [Oe(t.base, e), r]) } }), d({ type: "href", names: ["\\href"], props: { numArgs: 2, argTypes: ["url", "original"], allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = e[1], i = s(e[0], "url").url; return r.settings.isTrusted({ command: "\\href", url: i }) ? { type: "href", mode: r.mode, href: i, body: fe(n) } : r.formatUnsupportedCmd("\\href") }, htmlBuilder: function (t, e) { var r = we(t.body, e, !1); return oe.makeAnchor(t.href, [], r, e) }, mathmlBuilder: function (t, e) { var r = Ie(t.body, e); return r instanceof Re || (r = new Re("mrow", [r])), r.setAttribute("href", t.href), r } }), d({ type: "href", names: ["\\url"], props: { numArgs: 1, argTypes: ["url"], allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = s(e[0], "url").url; if (!r.settings.isTrusted({ command: "\\url", url: n })) return r.formatUnsupportedCmd("\\url"); for (var i = [], a = 0; a < n.length; a++) { var o = n[a]; "~" === o && (o = "\\textasciitilde"), i.push({ type: "textord", mode: "text", text: o }) } var l = { type: "text", mode: r.mode, font: "\\texttt", body: i }; return { type: "href", mode: r.mode, href: n, body: fe(l) } } }), d({ type: "htmlmathml", names: ["\\html@mathml"], props: { numArgs: 2, allowedInText: !0 }, handler: function (t, e) { return { type: "htmlmathml", mode: t.parser.mode, html: fe(e[0]), mathml: fe(e[1]) } }, htmlBuilder: function (t, e) { var r = we(t.html, e, !1); return oe.makeFragment(r) }, mathmlBuilder: function (t, e) { return Ie(t.mathml, e) } }); var Hr = function (t) { if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t)) return { number: +t, unit: "bp" }; var e = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t); if (!e) throw new z("Invalid size: '" + t + "' in \\includegraphics"); var r = { number: +(e[1] + e[2]), unit: e[3] }; if (!Yt(r)) throw new z("Invalid unit: '" + r.unit + "' in \\includegraphics."); return r }; d({ type: "includegraphics", names: ["\\includegraphics"], props: { numArgs: 1, numOptionalArgs: 1, argTypes: ["raw", "url"], allowedInText: !1 }, handler: function (t, e, r) { var n = t.parser, i = { number: 0, unit: "em" }, a = { number: .9, unit: "em" }, o = { number: 0, unit: "em" }, l = ""; if (r[0]) for (var c = s(r[0], "raw").string.split(","), u = 0; u < c.length; u++) { var h = c[u].split("="); if (2 === h.length) { var d = h[1].trim(); switch (h[0].trim()) { case "alt": l = d; break; case "width": i = Hr(d); break; case "height": a = Hr(d); break; case "totalheight": o = Hr(d); break; default: throw new z("Invalid key: '" + h[0] + "' in \\includegraphics.") } } } var m = s(e[0], "url").url; return "" === l && (l = (l = (l = m).replace(/^.*[\\\/]/, "")).substring(0, l.lastIndexOf("."))), n.settings.isTrusted({ command: "\\includegraphics", url: m }) ? { type: "includegraphics", mode: n.mode, alt: l, width: i, height: a, totalheight: o, src: m } : n.formatUnsupportedCmd("\\includegraphics") }, htmlBuilder: function (t, e) { var r = Xt(t.height, e), n = 0; t.totalheight.number > 0 && (n = Xt(t.totalheight, e) - r, n = Number(n.toFixed(2))); var i = 0; t.width.number > 0 && (i = Xt(t.width, e)); var a = { height: r + n + "em" }; i > 0 && (a.width = i + "em"), n > 0 && (a.verticalAlign = -n + "em"); var o = new nt(t.src, t.alt, a); return o.height = r, o.depth = n, o }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mglyph", []); r.setAttribute("alt", t.alt); var n = Xt(t.height, e), i = 0; if (t.totalheight.number > 0 && (i = (i = Xt(t.totalheight, e) - n).toFixed(2), r.setAttribute("valign", "-" + i + "em")), r.setAttribute("height", n + i + "em"), t.width.number > 0) { var a = Xt(t.width, e); r.setAttribute("width", a + "em") } return r.setAttribute("src", t.src), r } }), d({ type: "kern", names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"], props: { numArgs: 1, argTypes: ["size"], allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = s(e[0], "size"); if (r.settings.strict) { var a = "m" === n[1], o = "mu" === i.value.unit; a ? (o || r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + n + " supports only mu units, not " + i.value.unit + " units"), "math" !== r.mode && r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + n + " works only in math mode")) : o && r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + n + " doesn't support mu units") } return { type: "kern", mode: r.mode, dimension: i.value } }, htmlBuilder: function (t, e) { return oe.makeGlue(t.dimension, e) }, mathmlBuilder: function (t, e) { var r = Xt(t.dimension, e); return new Ce.SpaceNode(r) } }), d({ type: "lap", names: ["\\mathllap", "\\mathrlap", "\\mathclap"], props: { numArgs: 1, allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0]; return { type: "lap", mode: r.mode, alignment: n.slice(5), body: i } }, htmlBuilder: function (t, e) { var r; "clap" === t.alignment ? (r = oe.makeSpan([], [Me(t.body, e)]), r = oe.makeSpan(["inner"], [r], e)) : r = oe.makeSpan(["inner"], [Me(t.body, e)]); var n = oe.makeSpan(["fix"], []), i = oe.makeSpan([t.alignment], [r, n], e), a = oe.makeSpan(["strut"]); return a.style.height = i.height + i.depth + "em", a.style.verticalAlign = -i.depth + "em", i.children.unshift(a), i = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: i }] }, e), oe.makeSpan(["mord"], [i], e) }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mpadded", [Oe(t.body, e)]); if ("rlap" !== t.alignment) { var n = "llap" === t.alignment ? "-1" : "-0.5"; r.setAttribute("lspace", n + "width") } return r.setAttribute("width", "0px"), r } }), d({ type: "styling", names: ["\\(", "$"], props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, handler: function (t) { var e = t.funcName, r = t.parser, n = r.mode; r.switchMode("math"); var i = "\\(" === e ? "\\)" : "$", a = r.parseExpression(!1, i); return r.expect(i), r.switchMode(n), { type: "styling", mode: r.mode, style: "text", body: a } } }), d({ type: "text", names: ["\\)", "\\]"], props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, handler: function (t) { throw new z("Mismatched " + t.funcName) } }); var jr = function (t, e) { switch (e.style.size) { case G.DISPLAY.size: return t.display; case G.TEXT.size: return t.text; case G.SCRIPT.size: return t.script; case G.SCRIPTSCRIPT.size: return t.scriptscript; default: return t.text } }; d({ type: "mathchoice", names: ["\\mathchoice"], props: { numArgs: 4 }, handler: function (t, e) { return { type: "mathchoice", mode: t.parser.mode, display: fe(e[0]), text: fe(e[1]), script: fe(e[2]), scriptscript: fe(e[3]) } }, htmlBuilder: function (t, e) { var r = jr(t, e), n = we(r, e, !1); return oe.makeFragment(n) }, mathmlBuilder: function (t, e) { var r = jr(t, e); return Ie(r, e) } }); var Ur = function (t, e, r, n, i, a, o) { var s, l, c; if (t = oe.makeSpan([], [t]), e) { var u = Me(e, n.havingStyle(i.sup()), n); l = { elem: u, kern: Math.max(n.fontMetrics().bigOpSpacing1, n.fontMetrics().bigOpSpacing3 - u.depth) } } if (r) { var h = Me(r, n.havingStyle(i.sub()), n); s = { elem: h, kern: Math.max(n.fontMetrics().bigOpSpacing2, n.fontMetrics().bigOpSpacing4 - h.height) } } if (l && s) { var d = n.fontMetrics().bigOpSpacing5 + s.elem.height + s.elem.depth + s.kern + t.depth + o; c = oe.makeVList({ positionType: "bottom", positionData: d, children: [{ type: "kern", size: n.fontMetrics().bigOpSpacing5 }, { type: "elem", elem: s.elem, marginLeft: -a + "em" }, { type: "kern", size: s.kern }, { type: "elem", elem: t }, { type: "kern", size: l.kern }, { type: "elem", elem: l.elem, marginLeft: a + "em" }, { type: "kern", size: n.fontMetrics().bigOpSpacing5 }] }, n) } else if (s) { var m = t.height - o; c = oe.makeVList({ positionType: "top", positionData: m, children: [{ type: "kern", size: n.fontMetrics().bigOpSpacing5 }, { type: "elem", elem: s.elem, marginLeft: -a + "em" }, { type: "kern", size: s.kern }, { type: "elem", elem: t }] }, n) } else { if (!l) return t; var p = t.depth + o; c = oe.makeVList({ positionType: "bottom", positionData: p, children: [{ type: "elem", elem: t }, { type: "kern", size: l.kern }, { type: "elem", elem: l.elem, marginLeft: a + "em" }, { type: "kern", size: n.fontMetrics().bigOpSpacing5 }] }, n) } return oe.makeSpan(["mop", "op-limits"], [c], n) }, _r = ["\\smallint"], Vr = function (t, e) {
var r, n, i, a = !1, o = l(t, "supsub"); o ? (r = o.sup, n = o.sub, i = s(o.base, "op"), a = !0) : i = s(t, "op"); var c, u = e.style, h = !1; if (u.size === G.DISPLAY.size && i.symbol && !B.contains(_r, i.name) && (h = !0), i.symbol) { var d = h ? "Size2-Regular" : "Size1-Regular", m = ""; if ("\\oiint" !== i.name && "\\oiiint" !== i.name || (m = i.name.substr(1), i.name = "oiint" === m ? "\\iint" : "\\iiint"), c = oe.makeSymbol(i.name, d, "math", e, ["mop", "op-symbol", h ? "large-op" : "small-op"]), m.length > 0) { var p = c.italic, f = oe.staticSvg(m + "Size" + (h ? "2" : "1"), e); c = oe.makeVList({ positionType: "individualShift", children: [{ type: "elem", elem: c, shift: 0 }, { type: "elem", elem: f, shift: h ? .08 : 0 }] }, e), i.name = "\\" + m, c.classes.unshift("mop"), c.italic = p } } else if (i.body) { var g = we(i.body, e, !0); 1 === g.length && g[0] instanceof at ? (c = g[0]).classes[0] = "mop" : c = oe.makeSpan(["mop"], oe.tryCombineChars(g), e) } else { for (var v = [], y = 1; y < i.name.length; y++)v.push(oe.mathsym(i.name[y], i.mode, e)); c = oe.makeSpan(["mop"], v, e) } var b = 0, x = 0; return (c instanceof at || "\\oiint" === i.name || "\\oiiint" === i.name) && !i.suppressBaseShift && (b = (c.height - c.depth) / 2 - e.fontMetrics().axisHeight, x = c.italic), a ? Ur(c, r, n, e, u, x, b) : (b && (c.style.position = "relative",
c.style.top = b + "em"), c)
}, Wr = function (t, e) { var r; if (t.symbol) r = new Re("mo", [Le(t.name, t.mode)]), B.contains(_r, t.name) && r.setAttribute("largeop", "false"); else if (t.body) r = new Re("mo", Pe(t.body, e)); else { r = new Re("mi", [new Te(t.name.slice(1))]); var n = new Re("mo", [Le("\u2061", "text")]); r = t.parentIsSupSub ? new Re("mo", [r, n]) : g([r, n]) } return r }, Gr = { "\u220f": "\\prod", "\u2210": "\\coprod", "\u2211": "\\sum", "\u22c0": "\\bigwedge", "\u22c1": "\\bigvee", "\u22c2": "\\bigcap", "\u22c3": "\\bigcup", "\u2a00": "\\bigodot", "\u2a01": "\\bigoplus", "\u2a02": "\\bigotimes", "\u2a04": "\\biguplus", "\u2a06": "\\bigsqcup" }; d({ type: "op", names: ["\\coprod", "\\bigvee", "\\bigwedge", "\\biguplus", "\\bigcap", "\\bigcup", "\\intop", "\\prod", "\\sum", "\\bigotimes", "\\bigoplus", "\\bigodot", "\\bigsqcup", "\\smallint", "\u220f", "\u2210", "\u2211", "\u22c0", "\u22c1", "\u22c2", "\u22c3", "\u2a00", "\u2a01", "\u2a02", "\u2a04", "\u2a06"], props: { numArgs: 0 }, handler: function (t) { var e = t.parser, r = t.funcName; return 1 === r.length && (r = Gr[r]), { type: "op", mode: e.mode, limits: !0, parentIsSupSub: !1, symbol: !0, name: r } }, htmlBuilder: Vr, mathmlBuilder: Wr }), d({ type: "op", names: ["\\mathop"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser, n = e[0]; return { type: "op", mode: r.mode, limits: !1, parentIsSupSub: !1, symbol: !1, body: fe(n) } }, htmlBuilder: Vr, mathmlBuilder: Wr }); var Yr = { "\u222b": "\\int", "\u222c": "\\iint", "\u222d": "\\iiint", "\u222e": "\\oint", "\u222f": "\\oiint", "\u2230": "\\oiiint" }; d({ type: "op", names: ["\\arcsin", "\\arccos", "\\arctan", "\\arctg", "\\arcctg", "\\arg", "\\ch", "\\cos", "\\cosec", "\\cosh", "\\cot", "\\cotg", "\\coth", "\\csc", "\\ctg", "\\cth", "\\deg", "\\dim", "\\exp", "\\hom", "\\ker", "\\lg", "\\ln", "\\log", "\\sec", "\\sin", "\\sinh", "\\sh", "\\tan", "\\tanh", "\\tg", "\\th"], props: { numArgs: 0 }, handler: function (t) { var e = t.parser, r = t.funcName; return { type: "op", mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !1, name: r } }, htmlBuilder: Vr, mathmlBuilder: Wr }), d({ type: "op", names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"], props: { numArgs: 0 }, handler: function (t) { var e = t.parser, r = t.funcName; return { type: "op", mode: e.mode, limits: !0, parentIsSupSub: !1, symbol: !1, name: r } }, htmlBuilder: Vr, mathmlBuilder: Wr }), d({ type: "op", names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222b", "\u222c", "\u222d", "\u222e", "\u222f", "\u2230"], props: { numArgs: 0 }, handler: function (t) { var e = t.parser, r = t.funcName; return 1 === r.length && (r = Yr[r]), { type: "op", mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !0, name: r } }, htmlBuilder: Vr, mathmlBuilder: Wr }); var Xr = function (t, e) { var r, n, i, a, o = !1, c = l(t, "supsub"); if (c ? (r = c.sup, n = c.sub, i = s(c.base, "operatorname"), o = !0) : i = s(t, "operatorname"), i.body.length > 0) { for (var u = i.body.map(function (t) { var e = t.text; return "string" == typeof e ? { type: "textord", mode: t.mode, text: e } : t }), h = we(u, e.withFont("mathrm"), !0), d = 0; d < h.length; d++) { var m = h[d]; m instanceof at && (m.text = m.text.replace(/\u2212/, "-").replace(/\u2217/, "*")) } a = oe.makeSpan(["mop"], h, e) } else a = oe.makeSpan(["mop"], [], e); return o ? Ur(a, r, n, e, e.style, 0, 0) : a }; d({ type: "operatorname", names: ["\\operatorname", "\\operatorname*"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0]; return { type: "operatorname", mode: r.mode, body: fe(i), alwaysHandleSupSub: "\\operatorname*" === n, limits: !1, parentIsSupSub: !1 } }, htmlBuilder: Xr, mathmlBuilder: function (t, e) { for (var r = Pe(t.body, e.withFont("mathrm")), n = !0, i = 0; i < r.length; i++) { var a = r[i]; if (a instanceof Ce.SpaceNode); else if (a instanceof Ce.MathNode) switch (a.type) { case "mi": case "mn": case "ms": case "mspace": case "mtext": break; case "mo": var o = a.children[0]; 1 === a.children.length && o instanceof Ce.TextNode ? o.text = o.text.replace(/\u2212/, "-").replace(/\u2217/, "*") : n = !1; break; default: n = !1 } else n = !1 } if (n) { var s = r.map(function (t) { return t.toText() }).join(""); r = [new Ce.TextNode(s)] } var l = new Ce.MathNode("mi", r); l.setAttribute("mathvariant", "normal"); var c = new Ce.MathNode("mo", [Le("\u2061", "text")]); return t.parentIsSupSub ? new Ce.MathNode("mo", [l, c]) : Ce.newDocumentFragment([l, c]) } }), m({ type: "ordgroup", htmlBuilder: function (t, e) { return t.semisimple ? oe.makeFragment(we(t.body, e, !1)) : oe.makeSpan(["mord"], we(t.body, e, !0), e) }, mathmlBuilder: function (t, e) { return Ie(t.body, e, !0) } }), d({ type: "overline", names: ["\\overline"], props: { numArgs: 1 }, handler: function (t, e) { var r = t.parser, n = e[0]; return { type: "overline", mode: r.mode, body: n } }, htmlBuilder: function (t, e) { var r = Me(t.body, e.havingCrampedStyle()), n = oe.makeLineSpan("overline-line", e), i = e.fontMetrics().defaultRuleThickness, a = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r }, { type: "kern", size: 3 * i }, { type: "elem", elem: n }, { type: "kern", size: i }] }, e); return oe.makeSpan(["mord", "overline"], [a], e) }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mo", [new Ce.TextNode("\u203e")]); r.setAttribute("stretchy", "true"); var n = new Ce.MathNode("mover", [Oe(t.body, e), r]); return n.setAttribute("accent", "true"), n } }), d({ type: "phantom", names: ["\\phantom"], props: { numArgs: 1, allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = e[0]; return { type: "phantom", mode: r.mode, body: fe(n) } }, htmlBuilder: function (t, e) { var r = we(t.body, e.withPhantom(), !1); return oe.makeFragment(r) }, mathmlBuilder: function (t, e) { var r = Pe(t.body, e); return new Ce.MathNode("mphantom", r) } }), d({ type: "hphantom", names: ["\\hphantom"], props: { numArgs: 1, allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = e[0]; return { type: "hphantom", mode: r.mode, body: n } }, htmlBuilder: function (t, e) { var r = oe.makeSpan([], [Me(t.body, e.withPhantom())]); if (r.height = 0, r.depth = 0, r.children) for (var n = 0; n < r.children.length; n++)r.children[n].height = 0, r.children[n].depth = 0; return r = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r }] }, e), oe.makeSpan(["mord"], [r], e) }, mathmlBuilder: function (t, e) { var r = Pe(fe(t.body), e), n = new Ce.MathNode("mphantom", r), i = new Ce.MathNode("mpadded", [n]); return i.setAttribute("height", "0px"), i.setAttribute("depth", "0px"), i } }), d({ type: "vphantom", names: ["\\vphantom"], props: { numArgs: 1, allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = e[0]; return { type: "vphantom", mode: r.mode, body: n } }, htmlBuilder: function (t, e) { var r = oe.makeSpan(["inner"], [Me(t.body, e.withPhantom())]), n = oe.makeSpan(["fix"], []); return oe.makeSpan(["mord", "rlap"], [r, n], e) }, mathmlBuilder: function (t, e) { var r = Pe(fe(t.body), e), n = new Ce.MathNode("mphantom", r), i = new Ce.MathNode("mpadded", [n]); return i.setAttribute("width", "0px"), i } }), d({ type: "raisebox", names: ["\\raisebox"], props: { numArgs: 2, argTypes: ["size", "hbox"], allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = s(e[0], "size").value, i = e[1]; return { type: "raisebox", mode: r.mode, dy: n, body: i } }, htmlBuilder: function (t, e) { var r = Me(t.body, e), n = Xt(t.dy, e); return oe.makeVList({ positionType: "shift", positionData: -n, children: [{ type: "elem", elem: r }] }, e) }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mpadded", [Oe(t.body, e)]), n = t.dy.number + t.dy.unit; return r.setAttribute("voffset", n), r } }), d({ type: "rule", names: ["\\rule"], props: { numArgs: 2, numOptionalArgs: 1, argTypes: ["size", "size", "size"] }, handler: function (t, e, r) { var n = t.parser, i = r[0], a = s(e[0], "size"), o = s(e[1], "size"); return { type: "rule", mode: n.mode, shift: i && s(i, "size").value, width: a.value, height: o.value } }, htmlBuilder: function (t, e) { var r = oe.makeSpan(["mord", "rule"], [], e), n = Xt(t.width, e), i = Xt(t.height, e), a = t.shift ? Xt(t.shift, e) : 0; return r.style.borderRightWidth = n + "em", r.style.borderTopWidth = i + "em", r.style.bottom = a + "em", r.width = n, r.height = i + a, r.depth = -a, r.maxFontSize = 1.125 * i * e.sizeMultiplier, r }, mathmlBuilder: function (t, e) { var r = Xt(t.width, e), n = Xt(t.height, e), i = t.shift ? Xt(t.shift, e) : 0, a = e.color && e.getColor() || "black", o = new Ce.MathNode("mspace"); o.setAttribute("mathbackground", a), o.setAttribute("width", r + "em"), o.setAttribute("height", n + "em"); var s = new Ce.MathNode("mpadded", [o]); return i >= 0 ? s.setAttribute("height", "+" + i + "em") : (s.setAttribute("height", i + "em"), s.setAttribute("depth", "+" + -i + "em")), s.setAttribute("voffset", i + "em"), s } }); var Kr = ["\\tiny", "\\sixptsize", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge"]; d({ type: "sizing", names: Kr, props: { numArgs: 0, allowedInText: !0 }, handler: function (t) { var e = t.breakOnTokenText, r = t.funcName, n = t.parser, i = n.parseExpression(!1, e); return { type: "sizing", mode: n.mode, size: Kr.indexOf(r) + 1, body: i } }, htmlBuilder: function (t, e) { var r = e.havingSize(t.size); return M(t.body, r, e) }, mathmlBuilder: function (t, e) { var r = e.havingSize(t.size), n = Pe(t.body, r), i = new Ce.MathNode("mstyle", n); return i.setAttribute("mathsize", r.sizeMultiplier + "em"), i } }), d({ type: "smash", names: ["\\smash"], props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 }, handler: function (t, e, r) { var n = t.parser, i = !1, a = !1, o = r[0] && s(r[0], "ordgroup"); if (o) for (var l = "", c = 0; c < o.body.length; ++c)if ("t" === (l = o.body[c].text)) i = !0; else { if ("b" !== l) { i = !1, a = !1; break } a = !0 } else i = !0, a = !0; var u = e[0]; return { type: "smash", mode: n.mode, body: u, smashHeight: i, smashDepth: a } }, htmlBuilder: function (t, e) { var r = oe.makeSpan([], [Me(t.body, e)]); if (!t.smashHeight && !t.smashDepth) return r; if (t.smashHeight && (r.height = 0, r.children)) for (var n = 0; n < r.children.length; n++)r.children[n].height = 0; if (t.smashDepth && (r.depth = 0, r.children)) for (var i = 0; i < r.children.length; i++)r.children[i].depth = 0; var a = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r }] }, e); return oe.makeSpan(["mord"], [a], e) }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mpadded", [Oe(t.body, e)]); return t.smashHeight && r.setAttribute("height", "0px"), t.smashDepth && r.setAttribute("depth", "0px"), r } }), d({ type: "sqrt", names: ["\\sqrt"], props: { numArgs: 1, numOptionalArgs: 1 }, handler: function (t, e, r) { var n = t.parser, i = r[0], a = e[0]; return { type: "sqrt", mode: n.mode, body: a, index: i } }, htmlBuilder: function (t, e) { var r = Me(t.body, e.havingCrampedStyle()); 0 === r.height && (r.height = e.fontMetrics().xHeight), r = oe.wrapFragment(r, e); var n = e.fontMetrics().defaultRuleThickness, i = n; e.style.id < G.TEXT.id && (i = e.fontMetrics().xHeight); var a = n + i / 4, o = r.height + r.depth + a + n, s = fr(o, e), l = s.span, c = s.ruleWidth, u = s.advanceWidth, h = l.height - c; h > r.height + r.depth + a && (a = (a + h - r.height - r.depth) / 2); var d = l.height - r.height - a - c; r.style.paddingLeft = u + "em"; var m = oe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r, wrapperClasses: ["svg-align"] }, { type: "kern", size: -(r.height + d) }, { type: "elem", elem: l }, { type: "kern", size: c }] }, e); if (t.index) { var p = e.havingStyle(G.SCRIPTSCRIPT), f = Me(t.index, p, e), g = .6 * (m.height - m.depth), v = oe.makeVList({ positionType: "shift", positionData: -g, children: [{ type: "elem", elem: f }] }, e), y = oe.makeSpan(["root"], [v]); return oe.makeSpan(["mord", "sqrt"], [y, m], e) } return oe.makeSpan(["mord", "sqrt"], [m], e) }, mathmlBuilder: function (t, e) { var r = t.body, n = t.index; return n ? new Ce.MathNode("mroot", [Oe(r, e), Oe(n, e)]) : new Ce.MathNode("msqrt", [Oe(r, e)]) } }); var $r = { display: G.DISPLAY, text: G.TEXT, script: G.SCRIPT, scriptscript: G.SCRIPTSCRIPT }; d({ type: "styling", names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"], props: { numArgs: 0, allowedInText: !0 }, handler: function (t) { var e = t.breakOnTokenText, r = t.funcName, n = t.parser, i = n.parseExpression(!0, e), a = r.slice(1, r.length - 5); return { type: "styling", mode: n.mode, style: a, body: i } }, htmlBuilder: function (t, e) { var r = $r[t.style], n = e.havingStyle(r).withFont(""); return M(t.body, n, e) }, mathmlBuilder: function (t, e) { var r = $r[t.style], n = e.havingStyle(r), i = Pe(t.body, n), a = new Ce.MathNode("mstyle", i), o = { display: ["0", "true"], text: ["0", "false"], script: ["1", "false"], scriptscript: ["2", "false"] }[t.style]; return a.setAttribute("scriptlevel", o[0]), a.setAttribute("displaystyle", o[1]), a } }), m({ type: "supsub", htmlBuilder: function (t, e) { var r = function (t, e) { var r = t.base; return r ? "op" === r.type ? r.limits && (e.style.size === G.DISPLAY.size || r.alwaysHandleSupSub) ? Vr : null : "operatorname" === r.type ? r.alwaysHandleSupSub && (e.style.size === G.DISPLAY.size || r.limits) ? Xr : null : "accent" === r.type ? B.isCharacterBox(r.base) ? We : null : "horizBrace" === r.type && !t.sub === r.isOver ? Fr : null : null }(t, e); if (r) return r(t, e); var n, i, a, o = t.base, s = t.sup, l = t.sub, c = Me(o, e), u = e.fontMetrics(), h = 0, d = 0, m = o && B.isCharacterBox(o); if (s) { var p = e.havingStyle(e.style.sup()); n = Me(s, p, e), m || (h = c.height - p.fontMetrics().supDrop * p.sizeMultiplier / e.sizeMultiplier) } if (l) { var f = e.havingStyle(e.style.sub()); i = Me(l, f, e), m || (d = c.depth + f.fontMetrics().subDrop * f.sizeMultiplier / e.sizeMultiplier) } a = e.style === G.DISPLAY ? u.sup1 : e.style.cramped ? u.sup3 : u.sup2; var g, v = e.sizeMultiplier, y = .5 / u.ptPerEm / v + "em", b = null; if (i) { var x = t.base && "op" === t.base.type && t.base.name && ("\\oiint" === t.base.name || "\\oiiint" === t.base.name); (c instanceof at || x) && (b = -c.italic + "em") } if (n && i) { h = Math.max(h, a, n.depth + .25 * u.xHeight), d = Math.max(d, u.sub2); var w = 4 * u.defaultRuleThickness; if (h - n.depth - (i.height - d) < w) { d = w - (h - n.depth) + i.height; var k = .8 * u.xHeight - (h - n.depth); k > 0 && (h += k, d -= k) } var S = [{ type: "elem", elem: i, shift: d, marginRight: y, marginLeft: b }, { type: "elem", elem: n, shift: -h, marginRight: y }]; g = oe.makeVList({ positionType: "individualShift", children: S }, e) } else if (i) { d = Math.max(d, u.sub1, i.height - .8 * u.xHeight); var A = [{ type: "elem", elem: i, marginLeft: b, marginRight: y }]; g = oe.makeVList({ positionType: "shift", positionData: d, children: A }, e) } else { if (!n) throw new Error("supsub must have either sup or sub."); h = Math.max(h, a, n.depth + .25 * u.xHeight), g = oe.makeVList({ positionType: "shift", positionData: -h, children: [{ type: "elem", elem: n, marginRight: y }] }, e) } var E = Ae(c, "right") || "mord"; return oe.makeSpan([E], [c, oe.makeSpan(["msupsub"], [g])], e) }, mathmlBuilder: function (t, e) { var r, n = !1, i = l(t.base, "horizBrace"); i && !!t.sup === i.isOver && (n = !0, r = i.isOver), !t.base || "op" !== t.base.type && "operatorname" !== t.base.type || (t.base.parentIsSupSub = !0); var a, o = [Oe(t.base, e)]; if (t.sub && o.push(Oe(t.sub, e)), t.sup && o.push(Oe(t.sup, e)), n) a = r ? "mover" : "munder"; else if (t.sub) if (t.sup) { var s = t.base; a = s && "op" === s.type && s.limits && e.style === G.DISPLAY ? "munderover" : s && "operatorname" === s.type && s.alwaysHandleSupSub && (e.style === G.DISPLAY || s.limits) ? "munderover" : "msubsup" } else { var c = t.base; a = c && "op" === c.type && c.limits && (e.style === G.DISPLAY || c.alwaysHandleSupSub) ? "munder" : c && "operatorname" === c.type && c.alwaysHandleSupSub && (c.limits || e.style === G.DISPLAY) ? "munder" : "msub" } else { var u = t.base; a = u && "op" === u.type && u.limits && (e.style === G.DISPLAY || u.alwaysHandleSupSub) ? "mover" : u && "operatorname" === u.type && u.alwaysHandleSupSub && (u.limits || e.style === G.DISPLAY) ? "mover" : "msup" } return new Ce.MathNode(a, o) } }), m({ type: "atom", htmlBuilder: function (t, e) { return oe.mathsym(t.text, t.mode, e, ["m" + t.family]) }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mo", [Le(t.text, t.mode)]); if ("bin" === t.family) { var n = Ne(t, e); "bold-italic" === n && r.setAttribute("mathvariant", n) } else "punct" === t.family ? r.setAttribute("separator", "true") : "open" !== t.family && "close" !== t.family || r.setAttribute("stretchy", "false"); return r } }); var Zr = { mi: "italic", mn: "normal", mtext: "normal" }; m({ type: "mathord", htmlBuilder: function (t, e) { return oe.makeOrd(t, e, "mathord") }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mi", [Le(t.text, t.mode, e)]), n = Ne(t, e) || "italic"; return n !== Zr[r.type] && r.setAttribute("mathvariant", n), r } }), m({ type: "textord", htmlBuilder: function (t, e) { return oe.makeOrd(t, e, "textord") }, mathmlBuilder: function (t, e) { var r, n = Le(t.text, t.mode, e), i = Ne(t, e) || "normal"; return r = "text" === t.mode ? new Ce.MathNode("mtext", [n]) : /[0-9]/.test(t.text) ? new Ce.MathNode("mn", [n]) : "\\prime" === t.text ? new Ce.MathNode("mo", [n]) : new Ce.MathNode("mi", [n]), i !== Zr[r.type] && r.setAttribute("mathvariant", i), r } }); var Jr = { "\\nobreak": "nobreak", "\\allowbreak": "allowbreak" }, Qr = { " ": {}, "\\ ": {}, "~": { className: "nobreak" }, "\\space": {}, "\\nobreakspace": { className: "nobreak" } }; m({ type: "spacing", htmlBuilder: function (t, e) { if (Qr.hasOwnProperty(t.text)) { var r = Qr[t.text].className || ""; if ("text" === t.mode) { var n = oe.makeOrd(t, e, "textord"); return n.classes.push(r), n } return oe.makeSpan(["mspace", r], [oe.mathsym(t.text, t.mode, e)], e) } if (Jr.hasOwnProperty(t.text)) return oe.makeSpan(["mspace", Jr[t.text]], [], e); throw new z('Unknown type of space "' + t.text + '"') }, mathmlBuilder: function (t) { if (!Qr.hasOwnProperty(t.text)) { if (Jr.hasOwnProperty(t.text)) return new Ce.MathNode("mspace"); throw new z('Unknown type of space "' + t.text + '"') } return new Ce.MathNode("mtext", [new Ce.TextNode("\xa0")]) } }); var tn = function () { var t = new Ce.MathNode("mtd", []); return t.setAttribute("width", "50%"), t }; m({ type: "tag", mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mtable", [new Ce.MathNode("mtr", [tn(), new Ce.MathNode("mtd", [Ie(t.body, e)]), tn(), new Ce.MathNode("mtd", [Ie(t.tag, e)])])]); return r.setAttribute("width", "100%"), r } }); var en = { "\\text": void 0, "\\textrm": "textrm", "\\textsf": "textsf", "\\texttt": "texttt", "\\textnormal": "textrm" }, rn = { "\\textbf": "textbf", "\\textmd": "textmd" }, nn = { "\\textit": "textit", "\\textup": "textup" }, an = function (t, e) { var r = t.font; return r ? en[r] ? e.withTextFontFamily(en[r]) : rn[r] ? e.withTextFontWeight(rn[r]) : e.withTextFontShape(nn[r]) : e }; d({ type: "text", names: ["\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", "\\textbf", "\\textmd", "\\textit", "\\textup"], props: { numArgs: 1, argTypes: ["text"], greediness: 2, allowedInText: !0 }, handler: function (t, e) { var r = t.parser, n = t.funcName, i = e[0]; return { type: "text", mode: r.mode, body: fe(i), font: n } }, htmlBuilder: function (t, e) { var r = an(t, e), n = we(t.body, r, !0); return oe.makeSpan(["mord", "text"], oe.tryCombineChars(n), r) }, mathmlBuilder: function (t, e) { var r = an(t, e); return Ie(t.body, r) } }), d({ type: "underline", names: ["\\underline"], props: { numArgs: 1, allowedInText: !0 }, handler: function (t, e) { return { type: "underline", mode: t.parser.mode, body: e[0] } }, htmlBuilder: function (t, e) { var r = Me(t.body, e), n = oe.makeLineSpan("underline-line", e), i = e.fontMetrics().defaultRuleThickness, a = oe.makeVList({ positionType: "top", positionData: r.height, children: [{ type: "kern", size: i }, { type: "elem", elem: n }, { type: "kern", size: 3 * i }, { type: "elem", elem: r }] }, e); return oe.makeSpan(["mord", "underline"], [a], e) }, mathmlBuilder: function (t, e) { var r = new Ce.MathNode("mo", [new Ce.TextNode("\u203e")]); r.setAttribute("stretchy", "true"); var n = new Ce.MathNode("munder", [Oe(t.body, e), r]); return n.setAttribute("accentunder", "true"), n } }), d({ type: "verb", names: ["\\verb"], props: { numArgs: 0, allowedInText: !0 }, handler: function () { throw new z("\\verb ended by end of line instead of matching delimiter") }, htmlBuilder: function (t, e) { for (var r = on(t), n = [], i = e.havingStyle(e.style.text()), a = 0; a < r.length; a++) { var o = r[a]; "~" === o && (o = "\\textasciitilde"), n.push(oe.makeSymbol(o, "Typewriter-Regular", t.mode, i, ["mord", "texttt"])) } return oe.makeSpan(["mord", "text"].concat(i.sizingClasses(e)), oe.tryCombineChars(n), i) }, mathmlBuilder: function (t) { var e = new Ce.TextNode(on(t)), r = new Ce.MathNode("mtext", [e]); return r.setAttribute("mathvariant", "monospace"), r } }); var on = function (t) { return t.body.replace(/ /g, t.star ? "\u2423" : "\xa0") }, sn = de, ln = new RegExp("^(\\\\[a-zA-Z@]+)[ \r\n\t]*$"), cn = new RegExp("[\u0300-\u036f]+$"), un = "([ \r\n\t]+)|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff][\u0300-\u036f]*|[\ud800-\udbff][\udc00-\udfff][\u0300-\u036f]*|\\\\verb\\*([^]).*?\\3|\\\\verb([^*a-zA-Z]).*?\\4|\\\\operatorname\\*|\\\\[a-zA-Z@]+[ \r\n\t]*|\\\\[^\ud800-\udfff])", hn = function () { function t(t, e) { this.input = void 0, this.settings = void 0, this.tokenRegex = void 0, this.catcodes = void 0, this.input = t, this.settings = e, this.tokenRegex = new RegExp(un, "g"), this.catcodes = { "%": 14 } } var e = t.prototype; return e.setCatcode = function (t, e) { this.catcodes[t] = e }, e.lex = function () { var t = this.input, e = this.tokenRegex.lastIndex; if (e === t.length) return new C("EOF", new T(this, e, e)); var r = this.tokenRegex.exec(t); if (null === r || r.index !== e) throw new z("Unexpected character: '" + t[e] + "'", new C(t[e], new T(this, e, e + 1))); var n = r[2] || " "; if (14 === this.catcodes[n]) { var i = t.indexOf("\n", this.tokenRegex.lastIndex); return -1 === i ? (this.tokenRegex.lastIndex = t.length, this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")) : this.tokenRegex.lastIndex = i + 1, this.lex() } var a = n.match(ln); return a && (n = a[1]), new C(n, new T(this, e, this.tokenRegex.lastIndex)) }, t }(), dn = function () { function t(t, e) { void 0 === t && (t = {}), void 0 === e && (e = {}), this.current = void 0, this.builtins = void 0, this.undefStack = void 0, this.current = e, this.builtins = t, this.undefStack = [] } var e = t.prototype; return e.beginGroup = function () { this.undefStack.push({}) }, e.endGroup = function () { if (0 === this.undefStack.length) throw new z("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug"); var t = this.undefStack.pop(); for (var e in t) t.hasOwnProperty(e) && (void 0 === t[e] ? delete this.current[e] : this.current[e] = t[e]) }, e.has = function (t) { return this.current.hasOwnProperty(t) || this.builtins.hasOwnProperty(t) }, e.get = function (t) { return this.current.hasOwnProperty(t) ? this.current[t] : this.builtins[t] }, e.set = function (t, e, r) { if (void 0 === r && (r = !1), r) { for (var n = 0; n < this.undefStack.length; n++)delete this.undefStack[n][t]; this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][t] = e) } else { var i = this.undefStack[this.undefStack.length - 1]; i && !i.hasOwnProperty(t) && (i[t] = this.current[t]) } this.current[t] = e }, t }(), mn = {}, pn = mn; R("\\@firstoftwo", function (t) { return { tokens: t.consumeArgs(2)[0], numArgs: 0 } }), R("\\@secondoftwo", function (t) { return { tokens: t.consumeArgs(2)[1], numArgs: 0 } }), R("\\@ifnextchar", function (t) { var e = t.consumeArgs(3), r = t.future(); return 1 === e[0].length && e[0][0].text === r.text ? { tokens: e[1], numArgs: 0 } : { tokens: e[2], numArgs: 0 } }), R("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"), R("\\TextOrMath", function (t) { var e = t.consumeArgs(2); return "text" === t.mode ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 } }); var fn = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, a: 10, A: 10, b: 11, B: 11, c: 12, C: 12, d: 13, D: 13, e: 14, E: 14, f: 15, F: 15 }; R("\\char", function (t) { var e, r = t.popToken(), n = ""; if ("'" === r.text) e = 8, r = t.popToken(); else if ('"' === r.text) e = 16, r = t.popToken(); else if ("`" === r.text) if ("\\" === (r = t.popToken()).text[0]) n = r.text.charCodeAt(1); else { if ("EOF" === r.text) throw new z("\\char` missing argument"); n = r.text.charCodeAt(0) } else e = 10; if (e) { if (null == (n = fn[r.text]) || n >= e) throw new z("Invalid base-" + e + " digit " + r.text); for (var i; null != (i = fn[t.future().text]) && i < e;)n *= e, n += i, t.popToken() } return "\\@char{" + n + "}" }); var gn = function (t, e) { var r = t.consumeArgs(1)[0]; if (1 !== r.length) throw new z("\\gdef's first argument must be a macro name"); var n = r[0].text, i = 0; for (r = t.consumeArgs(1)[0]; 1 === r.length && "#" === r[0].text;) { if (1 !== (r = t.consumeArgs(1)[0]).length) throw new z('Invalid argument number length "' + r.length + '"'); if (!/^[1-9]$/.test(r[0].text)) throw new z('Invalid argument number "' + r[0].text + '"'); if (i++, parseInt(r[0].text) !== i) throw new z('Argument number "' + r[0].text + '" out of order'); r = t.consumeArgs(1)[0] } return t.macros.set(n, { tokens: r, numArgs: i }, e), "" }; R("\\gdef", function (t) { return gn(t, !0) }), R("\\def", function (t) { return gn(t, !1) }), R("\\global", function (t) { var e = t.consumeArgs(1)[0]; if (1 !== e.length) throw new z("Invalid command after \\global"); var r = e[0].text; if ("\\def" === r) return gn(t, !0); throw new z("Invalid command '" + r + "' after \\global") }); var vn = function (t, e, r) { var n = t.consumeArgs(1)[0]; if (1 !== n.length) throw new z("\\newcommand's first argument must be a macro name"); var i = n[0].text, a = t.isDefined(i); if (a && !e) throw new z("\\newcommand{" + i + "} attempting to redefine " + i + "; use \\renewcommand"); if (!a && !r) throw new z("\\renewcommand{" + i + "} when command " + i + " does not yet exist; use \\newcommand"); var o = 0; if (1 === (n = t.consumeArgs(1)[0]).length && "[" === n[0].text) { for (var s = "", l = t.expandNextToken(); "]" !== l.text && "EOF" !== l.text;)s += l.text, l = t.expandNextToken(); if (!s.match(/^\s*[0-9]+\s*$/)) throw new z("Invalid number of arguments: " + s); o = parseInt(s), n = t.consumeArgs(1)[0] } return t.macros.set(i, { tokens: n, numArgs: o }), "" }; R("\\newcommand", function (t) { return vn(t, !1, !0) }), R("\\renewcommand", function (t) { return vn(t, !0, !1) }), R("\\providecommand", function (t) { return vn(t, !0, !0) }), R("\\bgroup", "{"), R("\\egroup", "}"), R("\\lq", "`"), R("\\rq", "'"), R("\\aa", "\\r a"), R("\\AA", "\\r A"), R("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`\xa9}"), R("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"), R("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"), R("\u212c", "\\mathscr{B}"), R("\u2130", "\\mathscr{E}"), R("\u2131", "\\mathscr{F}"), R("\u210b", "\\mathscr{H}"), R("\u2110", "\\mathscr{I}"), R("\u2112", "\\mathscr{L}"), R("\u2133", "\\mathscr{M}"), R("\u211b", "\\mathscr{R}"), R("\u212d", "\\mathfrak{C}"), R("\u210c", "\\mathfrak{H}"), R("\u2128", "\\mathfrak{Z}"), R("\\Bbbk", "\\Bbb{k}"), R("\xb7", "\\cdotp"), R("\\llap", "\\mathllap{\\textrm{#1}}"), R("\\rlap", "\\mathrlap{\\textrm{#1}}"), R("\\clap", "\\mathclap{\\textrm{#1}}"), R("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'), R("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"), R("\\ne", "\\neq"), R("\u2260", "\\neq"), R("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"), R("\u2209", "\\notin"), R("\u2258", "\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"), R("\u2259", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"), R("\u225a", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"), R("\u225b", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"), R("\u225d", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"), R("\u225e", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"), R("\u225f", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"), R("\u27c2", "\\perp"), R("\u203c", "\\mathclose{!\\mkern-0.8mu!}"), R("\u220c", "\\notni"), R("\u231c", "\\ulcorner"), R("\u231d", "\\urcorner"), R("\u231e", "\\llcorner"), R("\u231f", "\\lrcorner"), R("\xa9", "\\copyright"), R("\xae", "\\textregistered"), R("\ufe0f", "\\textregistered"), R("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"), R("\u22ee", "\\vdots"), R("\\varGamma", "\\mathit{\\Gamma}"), R("\\varDelta", "\\mathit{\\Delta}"), R("\\varTheta", "\\mathit{\\Theta}"), R("\\varLambda", "\\mathit{\\Lambda}"), R("\\varXi", "\\mathit{\\Xi}"), R("\\varPi", "\\mathit{\\Pi}"), R("\\varSigma", "\\mathit{\\Sigma}"), R("\\varUpsilon", "\\mathit{\\Upsilon}"), R("\\varPhi", "\\mathit{\\Phi}"), R("\\varPsi", "\\mathit{\\Psi}"), R("\\varOmega", "\\mathit{\\Omega}"), R("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"), R("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"), R("\\boxed", "\\fbox{$\\displaystyle{#1}$}"), R("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"), R("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"), R("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;"); var yn = { ",": "\\dotsc", "\\not": "\\dotsb", "+": "\\dotsb", "=": "\\dotsb", "<": "\\dotsb", ">": "\\dotsb", "-": "\\dotsb", "*": "\\dotsb", ":": "\\dotsb", "\\DOTSB": "\\dotsb", "\\coprod": "\\dotsb", "\\bigvee": "\\dotsb", "\\bigwedge": "\\dotsb", "\\biguplus": "\\dotsb", "\\bigcap": "\\dotsb", "\\bigcup": "\\dotsb", "\\prod": "\\dotsb", "\\sum": "\\dotsb", "\\bigotimes": "\\dotsb", "\\bigoplus": "\\dotsb", "\\bigodot": "\\dotsb", "\\bigsqcup": "\\dotsb", "\\And": "\\dotsb", "\\longrightarrow": "\\dotsb", "\\Longrightarrow": "\\dotsb", "\\longleftarrow": "\\dotsb", "\\Longleftarrow": "\\dotsb", "\\longleftrightarrow": "\\dotsb", "\\Longleftrightarrow": "\\dotsb", "\\mapsto": "\\dotsb", "\\longmapsto": "\\dotsb", "\\hookrightarrow": "\\dotsb", "\\doteq": "\\dotsb", "\\mathbin": "\\dotsb", "\\mathrel": "\\dotsb", "\\relbar": "\\dotsb", "\\Relbar": "\\dotsb", "\\xrightarrow": "\\dotsb", "\\xleftarrow": "\\dotsb", "\\DOTSI": "\\dotsi", "\\int": "\\dotsi", "\\oint": "\\dotsi", "\\iint": "\\dotsi", "\\iiint": "\\dotsi", "\\iiiint": "\\dotsi", "\\idotsint": "\\dotsi", "\\DOTSX": "\\dotsx" }; R("\\dots", function (t) { var e = "\\dotso", r = t.expandAfterFuture().text; return r in yn ? e = yn[r] : "\\not" === r.substr(0, 4) ? e = "\\dotsb" : r in gt.math && B.contains(["bin", "rel"], gt.math[r].group) && (e = "\\dotsb"), e }); var bn = { ")": !0, "]": !0, "\\rbrack": !0, "\\}": !0, "\\rbrace": !0, "\\rangle": !0, "\\rceil": !0, "\\rfloor": !0, "\\rgroup": !0, "\\rmoustache": !0, "\\right": !0, "\\bigr": !0, "\\biggr": !0, "\\Bigr": !0, "\\Biggr": !0, $: !0, ";": !0, ".": !0, ",": !0 }; R("\\dotso", function (t) { return t.future().text in bn ? "\\ldots\\," : "\\ldots" }), R("\\dotsc", function (t) { var e = t.future().text; return e in bn && "," !== e ? "\\ldots\\," : "\\ldots" }), R("\\cdots", function (t) { return t.future().text in bn ? "\\@cdots\\," : "\\@cdots" }), R("\\dotsb", "\\cdots"), R("\\dotsm", "\\cdots"), R("\\dotsi", "\\!\\cdots"), R("\\dotsx", "\\ldots\\,"), R("\\DOTSI", "\\relax"), R("\\DOTSB", "\\relax"), R("\\DOTSX", "\\relax"), R("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"), R("\\,", "\\tmspace+{3mu}{.1667em}"), R("\\thinspace", "\\,"), R("\\>", "\\mskip{4mu}"), R("\\:", "\\tmspace+{4mu}{.2222em}"), R("\\medspace", "\\:"), R("\\;", "\\tmspace+{5mu}{.2777em}"), R("\\thickspace", "\\;"), R("\\!", "\\tmspace-{3mu}{.1667em}"), R("\\negthinspace", "\\!"), R("\\negmedspace", "\\tmspace-{4mu}{.2222em}"), R("\\negthickspace", "\\tmspace-{5mu}{.277em}"), R("\\enspace", "\\kern.5em "), R("\\enskip", "\\hskip.5em\\relax"), R("\\quad", "\\hskip1em\\relax"), R("\\qquad", "\\hskip2em\\relax"), R("\\tag", "\\@ifstar\\tag@literal\\tag@paren"), R("\\tag@paren", "\\tag@literal{({#1})}"), R("\\tag@literal", function (t) { if (t.macros.get("\\df@tag")) throw new z("Multiple \\tag"); return "\\gdef\\df@tag{\\text{#1}}" }), R("\\bmod", "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"), R("\\pod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"), R("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"), R("\\mod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"), R("\\pmb", "\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"), R("\\\\", "\\newline"), R("\\TeX", "\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}"); var xn = ct["Main-Regular"]["T".charCodeAt(0)][1] - .7 * ct["Main-Regular"]["A".charCodeAt(0)][1] + "em"; R("\\LaTeX", "\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{" + xn + "}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"), R("\\KaTeX", "\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{" + xn + "}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"), R("\\hspace", "\\@ifstar\\@hspacer\\@hspace"), R("\\@hspace", "\\hskip #1\\relax"), R("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"), R("\\ordinarycolon", ":"), R("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"), R("\\dblcolon", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'), R("\\coloneqq", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'), R("\\Coloneqq", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'), R("\\coloneq", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'), R("\\Coloneq", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'), R("\\eqqcolon", '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'), R("\\Eqqcolon", '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'), R("\\eqcolon", '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'), R("\\Eqcolon", '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'), R("\\colonapprox", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'), R("\\Colonapprox", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'), R("\\colonsim", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'), R("\\Colonsim", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'), R("\u2237", "\\dblcolon"), R("\u2239", "\\eqcolon"), R("\u2254", "\\coloneqq"), R("\u2255", "\\eqqcolon"), R("\u2a74", "\\Coloneqq"), R("\\ratio", "\\vcentcolon"), R("\\coloncolon", "\\dblcolon"), R("\\colonequals", "\\coloneqq"), R("\\coloncolonequals", "\\Coloneqq"), R("\\equalscolon", "\\eqqcolon"), R("\\equalscoloncolon", "\\Eqqcolon"), R("\\colonminus", "\\coloneq"), R("\\coloncolonminus", "\\Coloneq"), R("\\minuscolon", "\\eqcolon"), R("\\minuscoloncolon", "\\Eqcolon"), R("\\coloncolonapprox", "\\Colonapprox"), R("\\coloncolonsim", "\\Colonsim"), R("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"), R("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"), R("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"), R("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"), R("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"), R("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"), R("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"), R("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"), R("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"),
R("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"), R("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"), R("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"), R("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"), R("\\nshortmid", "\\html@mathml{\\@nshortmid}{\u2224}"), R("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{\u2226}"), R("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"), R("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"), R("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{\u228a}"), R("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{\u2acb}"), R("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{\u228b}"), R("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{\u2acc}"), R("\\llbracket", "\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"), R("\\rrbracket", "\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"), R("\u27e6", "\\llbracket"), R("\u27e7", "\\rrbracket"), R("\\lBrace", "\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"), R("\\rBrace", "\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"), R("\u2983", "\\lBrace"), R("\u2984", "\\rBrace"), R("\\darr", "\\downarrow"), R("\\dArr", "\\Downarrow"), R("\\Darr", "\\Downarrow"), R("\\lang", "\\langle"), R("\\rang", "\\rangle"), R("\\uarr", "\\uparrow"), R("\\uArr", "\\Uparrow"), R("\\Uarr", "\\Uparrow"), R("\\N", "\\mathbb{N}"), R("\\R", "\\mathbb{R}"), R("\\Z", "\\mathbb{Z}"), R("\\alef", "\\aleph"), R("\\alefsym", "\\aleph"), R("\\Alpha", "\\mathrm{A}"), R("\\Beta", "\\mathrm{B}"), R("\\bull", "\\bullet"), R("\\Chi", "\\mathrm{X}"), R("\\clubs", "\\clubsuit"), R("\\cnums", "\\mathbb{C}"), R("\\Complex", "\\mathbb{C}"), R("\\Dagger", "\\ddagger"), R("\\diamonds", "\\diamondsuit"), R("\\empty", "\\emptyset"), R("\\Epsilon", "\\mathrm{E}"), R("\\Eta", "\\mathrm{H}"), R("\\exist", "\\exists"), R("\\harr", "\\leftrightarrow"), R("\\hArr", "\\Leftrightarrow"), R("\\Harr", "\\Leftrightarrow"), R("\\hearts", "\\heartsuit"), R("\\image", "\\Im"), R("\\infin", "\\infty"), R("\\Iota", "\\mathrm{I}"), R("\\isin", "\\in"), R("\\Kappa", "\\mathrm{K}"), R("\\larr", "\\leftarrow"), R("\\lArr", "\\Leftarrow"), R("\\Larr", "\\Leftarrow"), R("\\lrarr", "\\leftrightarrow"), R("\\lrArr", "\\Leftrightarrow"), R("\\Lrarr", "\\Leftrightarrow"), R("\\Mu", "\\mathrm{M}"), R("\\natnums", "\\mathbb{N}"), R("\\Nu", "\\mathrm{N}"), R("\\Omicron", "\\mathrm{O}"), R("\\plusmn", "\\pm"), R("\\rarr", "\\rightarrow"), R("\\rArr", "\\Rightarrow"), R("\\Rarr", "\\Rightarrow"), R("\\real", "\\Re"), R("\\reals", "\\mathbb{R}"), R("\\Reals", "\\mathbb{R}"), R("\\Rho", "\\mathrm{P}"), R("\\sdot", "\\cdot"), R("\\sect", "\\S"), R("\\spades", "\\spadesuit"), R("\\sub", "\\subset"), R("\\sube", "\\subseteq"), R("\\supe", "\\supseteq"), R("\\Tau", "\\mathrm{T}"), R("\\thetasym", "\\vartheta"), R("\\weierp", "\\wp"), R("\\Zeta", "\\mathrm{Z}"), R("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"), R("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"), R("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"), R("\\blue", "\\textcolor{##6495ed}{#1}"), R("\\orange", "\\textcolor{##ffa500}{#1}"), R("\\pink", "\\textcolor{##ff00af}{#1}"), R("\\red", "\\textcolor{##df0030}{#1}"), R("\\green", "\\textcolor{##28ae7b}{#1}"), R("\\gray", "\\textcolor{gray}{#1}"), R("\\purple", "\\textcolor{##9d38bd}{#1}"), R("\\blueA", "\\textcolor{##ccfaff}{#1}"), R("\\blueB", "\\textcolor{##80f6ff}{#1}"), R("\\blueC", "\\textcolor{##63d9ea}{#1}"), R("\\blueD", "\\textcolor{##11accd}{#1}"), R("\\blueE", "\\textcolor{##0c7f99}{#1}"), R("\\tealA", "\\textcolor{##94fff5}{#1}"), R("\\tealB", "\\textcolor{##26edd5}{#1}"), R("\\tealC", "\\textcolor{##01d1c1}{#1}"), R("\\tealD", "\\textcolor{##01a995}{#1}"), R("\\tealE", "\\textcolor{##208170}{#1}"), R("\\greenA", "\\textcolor{##b6ffb0}{#1}"), R("\\greenB", "\\textcolor{##8af281}{#1}"), R("\\greenC", "\\textcolor{##74cf70}{#1}"), R("\\greenD", "\\textcolor{##1fab54}{#1}"), R("\\greenE", "\\textcolor{##0d923f}{#1}"), R("\\goldA", "\\textcolor{##ffd0a9}{#1}"), R("\\goldB", "\\textcolor{##ffbb71}{#1}"), R("\\goldC", "\\textcolor{##ff9c39}{#1}"), R("\\goldD", "\\textcolor{##e07d10}{#1}"), R("\\goldE", "\\textcolor{##a75a05}{#1}"), R("\\redA", "\\textcolor{##fca9a9}{#1}"), R("\\redB", "\\textcolor{##ff8482}{#1}"), R("\\redC", "\\textcolor{##f9685d}{#1}"), R("\\redD", "\\textcolor{##e84d39}{#1}"), R("\\redE", "\\textcolor{##bc2612}{#1}"), R("\\maroonA", "\\textcolor{##ffbde0}{#1}"), R("\\maroonB", "\\textcolor{##ff92c6}{#1}"), R("\\maroonC", "\\textcolor{##ed5fa6}{#1}"), R("\\maroonD", "\\textcolor{##ca337c}{#1}"), R("\\maroonE", "\\textcolor{##9e034e}{#1}"), R("\\purpleA", "\\textcolor{##ddd7ff}{#1}"), R("\\purpleB", "\\textcolor{##c6b9fc}{#1}"), R("\\purpleC", "\\textcolor{##aa87ff}{#1}"), R("\\purpleD", "\\textcolor{##7854ab}{#1}"), R("\\purpleE", "\\textcolor{##543b78}{#1}"), R("\\mintA", "\\textcolor{##f5f9e8}{#1}"), R("\\mintB", "\\textcolor{##edf2df}{#1}"), R("\\mintC", "\\textcolor{##e0e5cc}{#1}"), R("\\grayA", "\\textcolor{##f6f7f7}{#1}"), R("\\grayB", "\\textcolor{##f0f1f2}{#1}"), R("\\grayC", "\\textcolor{##e3e5e6}{#1}"), R("\\grayD", "\\textcolor{##d6d8da}{#1}"), R("\\grayE", "\\textcolor{##babec2}{#1}"), R("\\grayF", "\\textcolor{##888d93}{#1}"), R("\\grayG", "\\textcolor{##626569}{#1}"), R("\\grayH", "\\textcolor{##3b3e40}{#1}"), R("\\grayI", "\\textcolor{##21242c}{#1}"), R("\\kaBlue", "\\textcolor{##314453}{#1}"), R("\\kaGreen", "\\textcolor{##71B307}{#1}"); var wn = { "\\relax": !0, "^": !0, _: !0, "\\limits": !0, "\\nolimits": !0 }, kn = function () { function t(t, e, r) { this.settings = void 0, this.expansionCount = void 0, this.lexer = void 0, this.macros = void 0, this.stack = void 0, this.mode = void 0, this.settings = e, this.expansionCount = 0, this.feed(t), this.macros = new dn(pn, e.macros), this.mode = r, this.stack = [] } var e = t.prototype; return e.feed = function (t) { this.lexer = new hn(t, this.settings) }, e.switchMode = function (t) { this.mode = t }, e.beginGroup = function () { this.macros.beginGroup() }, e.endGroup = function () { this.macros.endGroup() }, e.future = function () { return 0 === this.stack.length && this.pushToken(this.lexer.lex()), this.stack[this.stack.length - 1] }, e.popToken = function () { return this.future(), this.stack.pop() }, e.pushToken = function (t) { this.stack.push(t) }, e.pushTokens = function (t) { var e; (e = this.stack).push.apply(e, t) }, e.consumeSpaces = function () { for (; " " === this.future().text;)this.stack.pop() }, e.consumeArgs = function (t) { for (var e = [], r = 0; r < t; ++r) { this.consumeSpaces(); var n = this.popToken(); if ("{" === n.text) { for (var i = [], a = 1; 0 !== a;) { var o = this.popToken(); if (i.push(o), "{" === o.text) ++a; else if ("}" === o.text) --a; else if ("EOF" === o.text) throw new z("End of input in macro argument", n) } i.pop(), i.reverse(), e[r] = i } else { if ("EOF" === n.text) throw new z("End of input expecting macro argument"); e[r] = [n] } } return e }, e.expandOnce = function () { var t = this.popToken(), e = t.text, r = this._getExpansion(e); if (null == r) return this.pushToken(t), t; if (this.expansionCount++, this.expansionCount > this.settings.maxExpand) throw new z("Too many expansions: infinite loop or need to increase maxExpand setting"); var n = r.tokens; if (r.numArgs) for (var i = this.consumeArgs(r.numArgs), a = (n = n.slice()).length - 1; a >= 0; --a) { var o = n[a]; if ("#" === o.text) { if (0 === a) throw new z("Incomplete placeholder at end of macro body", o); if ("#" === (o = n[--a]).text) n.splice(a + 1, 1); else { if (!/^[1-9]$/.test(o.text)) throw new z("Not a valid argument number", o); var s; (s = n).splice.apply(s, [a, 2].concat(i[+o.text - 1])) } } } return this.pushTokens(n), n }, e.expandAfterFuture = function () { return this.expandOnce(), this.future() }, e.expandNextToken = function () { for (; ;) { var t = this.expandOnce(); if (t instanceof C) { if ("\\relax" !== t.text) return this.stack.pop(); this.stack.pop() } } throw new Error }, e.expandMacro = function (t) { if (this.macros.get(t)) { var e = [], r = this.stack.length; for (this.pushToken(new C(t)); this.stack.length > r;)this.expandOnce() instanceof C && e.push(this.stack.pop()); return e } }, e.expandMacroAsText = function (t) { var e = this.expandMacro(t); return e ? e.map(function (t) { return t.text }).join("") : e }, e._getExpansion = function (t) { var e = this.macros.get(t); if (null == e) return e; var r = "function" == typeof e ? e(this) : e; if ("string" == typeof r) { var n = 0; if (-1 !== r.indexOf("#")) for (var i = r.replace(/##/g, ""); -1 !== i.indexOf("#" + (n + 1));)++n; for (var a = new hn(r, this.settings), o = [], s = a.lex(); "EOF" !== s.text;)o.push(s), s = a.lex(); return o.reverse(), { tokens: o, numArgs: n } } return r }, e.isDefined = function (t) { return this.macros.has(t) || sn.hasOwnProperty(t) || gt.math.hasOwnProperty(t) || gt.text.hasOwnProperty(t) || wn.hasOwnProperty(t) }, t }(), Sn = { "\u0301": { text: "\\'", math: "\\acute" }, "\u0300": { text: "\\`", math: "\\grave" }, "\u0308": { text: '\\"', math: "\\ddot" }, "\u0303": { text: "\\~", math: "\\tilde" }, "\u0304": { text: "\\=", math: "\\bar" }, "\u0306": { text: "\\u", math: "\\breve" }, "\u030c": { text: "\\v", math: "\\check" }, "\u0302": { text: "\\^", math: "\\hat" }, "\u0307": { text: "\\.", math: "\\dot" }, "\u030a": { text: "\\r", math: "\\mathring" }, "\u030b": { text: "\\H" } }, An = { "\xe1": "a\u0301", "\xe0": "a\u0300", "\xe4": "a\u0308", "\u01df": "a\u0308\u0304", "\xe3": "a\u0303", "\u0101": "a\u0304", "\u0103": "a\u0306", "\u1eaf": "a\u0306\u0301", "\u1eb1": "a\u0306\u0300", "\u1eb5": "a\u0306\u0303", "\u01ce": "a\u030c", "\xe2": "a\u0302", "\u1ea5": "a\u0302\u0301", "\u1ea7": "a\u0302\u0300", "\u1eab": "a\u0302\u0303", "\u0227": "a\u0307", "\u01e1": "a\u0307\u0304", "\xe5": "a\u030a", "\u01fb": "a\u030a\u0301", "\u1e03": "b\u0307", "\u0107": "c\u0301", "\u010d": "c\u030c", "\u0109": "c\u0302", "\u010b": "c\u0307", "\u010f": "d\u030c", "\u1e0b": "d\u0307", "\xe9": "e\u0301", "\xe8": "e\u0300", "\xeb": "e\u0308", "\u1ebd": "e\u0303", "\u0113": "e\u0304", "\u1e17": "e\u0304\u0301", "\u1e15": "e\u0304\u0300", "\u0115": "e\u0306", "\u011b": "e\u030c", "\xea": "e\u0302", "\u1ebf": "e\u0302\u0301", "\u1ec1": "e\u0302\u0300", "\u1ec5": "e\u0302\u0303", "\u0117": "e\u0307", "\u1e1f": "f\u0307", "\u01f5": "g\u0301", "\u1e21": "g\u0304", "\u011f": "g\u0306", "\u01e7": "g\u030c", "\u011d": "g\u0302", "\u0121": "g\u0307", "\u1e27": "h\u0308", "\u021f": "h\u030c", "\u0125": "h\u0302", "\u1e23": "h\u0307", "\xed": "i\u0301", "\xec": "i\u0300", "\xef": "i\u0308", "\u1e2f": "i\u0308\u0301", "\u0129": "i\u0303", "\u012b": "i\u0304", "\u012d": "i\u0306", "\u01d0": "i\u030c", "\xee": "i\u0302", "\u01f0": "j\u030c", "\u0135": "j\u0302", "\u1e31": "k\u0301", "\u01e9": "k\u030c", "\u013a": "l\u0301", "\u013e": "l\u030c", "\u1e3f": "m\u0301", "\u1e41": "m\u0307", "\u0144": "n\u0301", "\u01f9": "n\u0300", "\xf1": "n\u0303", "\u0148": "n\u030c", "\u1e45": "n\u0307", "\xf3": "o\u0301", "\xf2": "o\u0300", "\xf6": "o\u0308", "\u022b": "o\u0308\u0304", "\xf5": "o\u0303", "\u1e4d": "o\u0303\u0301", "\u1e4f": "o\u0303\u0308", "\u022d": "o\u0303\u0304", "\u014d": "o\u0304", "\u1e53": "o\u0304\u0301", "\u1e51": "o\u0304\u0300", "\u014f": "o\u0306", "\u01d2": "o\u030c", "\xf4": "o\u0302", "\u1ed1": "o\u0302\u0301", "\u1ed3": "o\u0302\u0300", "\u1ed7": "o\u0302\u0303", "\u022f": "o\u0307", "\u0231": "o\u0307\u0304", "\u0151": "o\u030b", "\u1e55": "p\u0301", "\u1e57": "p\u0307", "\u0155": "r\u0301", "\u0159": "r\u030c", "\u1e59": "r\u0307", "\u015b": "s\u0301", "\u1e65": "s\u0301\u0307", "\u0161": "s\u030c", "\u1e67": "s\u030c\u0307", "\u015d": "s\u0302", "\u1e61": "s\u0307", "\u1e97": "t\u0308", "\u0165": "t\u030c", "\u1e6b": "t\u0307", "\xfa": "u\u0301", "\xf9": "u\u0300", "\xfc": "u\u0308", "\u01d8": "u\u0308\u0301", "\u01dc": "u\u0308\u0300", "\u01d6": "u\u0308\u0304", "\u01da": "u\u0308\u030c", "\u0169": "u\u0303", "\u1e79": "u\u0303\u0301", "\u016b": "u\u0304", "\u1e7b": "u\u0304\u0308", "\u016d": "u\u0306", "\u01d4": "u\u030c", "\xfb": "u\u0302", "\u016f": "u\u030a", "\u0171": "u\u030b", "\u1e7d": "v\u0303", "\u1e83": "w\u0301", "\u1e81": "w\u0300", "\u1e85": "w\u0308", "\u0175": "w\u0302", "\u1e87": "w\u0307", "\u1e98": "w\u030a", "\u1e8d": "x\u0308", "\u1e8b": "x\u0307", "\xfd": "y\u0301", "\u1ef3": "y\u0300", "\xff": "y\u0308", "\u1ef9": "y\u0303", "\u0233": "y\u0304", "\u0177": "y\u0302", "\u1e8f": "y\u0307", "\u1e99": "y\u030a", "\u017a": "z\u0301", "\u017e": "z\u030c", "\u1e91": "z\u0302", "\u017c": "z\u0307", "\xc1": "A\u0301", "\xc0": "A\u0300", "\xc4": "A\u0308", "\u01de": "A\u0308\u0304", "\xc3": "A\u0303", "\u0100": "A\u0304", "\u0102": "A\u0306", "\u1eae": "A\u0306\u0301", "\u1eb0": "A\u0306\u0300", "\u1eb4": "A\u0306\u0303", "\u01cd": "A\u030c", "\xc2": "A\u0302", "\u1ea4": "A\u0302\u0301", "\u1ea6": "A\u0302\u0300", "\u1eaa": "A\u0302\u0303", "\u0226": "A\u0307", "\u01e0": "A\u0307\u0304", "\xc5": "A\u030a", "\u01fa": "A\u030a\u0301", "\u1e02": "B\u0307", "\u0106": "C\u0301", "\u010c": "C\u030c", "\u0108": "C\u0302", "\u010a": "C\u0307", "\u010e": "D\u030c", "\u1e0a": "D\u0307", "\xc9": "E\u0301", "\xc8": "E\u0300", "\xcb": "E\u0308", "\u1ebc": "E\u0303", "\u0112": "E\u0304", "\u1e16": "E\u0304\u0301", "\u1e14": "E\u0304\u0300", "\u0114": "E\u0306", "\u011a": "E\u030c", "\xca": "E\u0302", "\u1ebe": "E\u0302\u0301", "\u1ec0": "E\u0302\u0300", "\u1ec4": "E\u0302\u0303", "\u0116": "E\u0307", "\u1e1e": "F\u0307", "\u01f4": "G\u0301", "\u1e20": "G\u0304", "\u011e": "G\u0306", "\u01e6": "G\u030c", "\u011c": "G\u0302", "\u0120": "G\u0307", "\u1e26": "H\u0308", "\u021e": "H\u030c", "\u0124": "H\u0302", "\u1e22": "H\u0307", "\xcd": "I\u0301", "\xcc": "I\u0300", "\xcf": "I\u0308", "\u1e2e": "I\u0308\u0301", "\u0128": "I\u0303", "\u012a": "I\u0304", "\u012c": "I\u0306", "\u01cf": "I\u030c", "\xce": "I\u0302", "\u0130": "I\u0307", "\u0134": "J\u0302", "\u1e30": "K\u0301", "\u01e8": "K\u030c", "\u0139": "L\u0301", "\u013d": "L\u030c", "\u1e3e": "M\u0301", "\u1e40": "M\u0307", "\u0143": "N\u0301", "\u01f8": "N\u0300", "\xd1": "N\u0303", "\u0147": "N\u030c", "\u1e44": "N\u0307", "\xd3": "O\u0301", "\xd2": "O\u0300", "\xd6": "O\u0308", "\u022a": "O\u0308\u0304", "\xd5": "O\u0303", "\u1e4c": "O\u0303\u0301", "\u1e4e": "O\u0303\u0308", "\u022c": "O\u0303\u0304", "\u014c": "O\u0304", "\u1e52": "O\u0304\u0301", "\u1e50": "O\u0304\u0300", "\u014e": "O\u0306", "\u01d1": "O\u030c", "\xd4": "O\u0302", "\u1ed0": "O\u0302\u0301", "\u1ed2": "O\u0302\u0300", "\u1ed6": "O\u0302\u0303", "\u022e": "O\u0307", "\u0230": "O\u0307\u0304", "\u0150": "O\u030b", "\u1e54": "P\u0301", "\u1e56": "P\u0307", "\u0154": "R\u0301", "\u0158": "R\u030c", "\u1e58": "R\u0307", "\u015a": "S\u0301", "\u1e64": "S\u0301\u0307", "\u0160": "S\u030c", "\u1e66": "S\u030c\u0307", "\u015c": "S\u0302", "\u1e60": "S\u0307", "\u0164": "T\u030c", "\u1e6a": "T\u0307", "\xda": "U\u0301", "\xd9": "U\u0300", "\xdc": "U\u0308", "\u01d7": "U\u0308\u0301", "\u01db": "U\u0308\u0300", "\u01d5": "U\u0308\u0304", "\u01d9": "U\u0308\u030c", "\u0168": "U\u0303", "\u1e78": "U\u0303\u0301", "\u016a": "U\u0304", "\u1e7a": "U\u0304\u0308", "\u016c": "U\u0306", "\u01d3": "U\u030c", "\xdb": "U\u0302", "\u016e": "U\u030a", "\u0170": "U\u030b", "\u1e7c": "V\u0303", "\u1e82": "W\u0301", "\u1e80": "W\u0300", "\u1e84": "W\u0308", "\u0174": "W\u0302", "\u1e86": "W\u0307", "\u1e8c": "X\u0308", "\u1e8a": "X\u0307", "\xdd": "Y\u0301", "\u1ef2": "Y\u0300", "\u0178": "Y\u0308", "\u1ef8": "Y\u0303", "\u0232": "Y\u0304", "\u0176": "Y\u0302", "\u1e8e": "Y\u0307", "\u0179": "Z\u0301", "\u017d": "Z\u030c", "\u1e90": "Z\u0302", "\u017b": "Z\u0307", "\u03ac": "\u03b1\u0301", "\u1f70": "\u03b1\u0300", "\u1fb1": "\u03b1\u0304", "\u1fb0": "\u03b1\u0306", "\u03ad": "\u03b5\u0301", "\u1f72": "\u03b5\u0300", "\u03ae": "\u03b7\u0301", "\u1f74": "\u03b7\u0300", "\u03af": "\u03b9\u0301", "\u1f76": "\u03b9\u0300", "\u03ca": "\u03b9\u0308", "\u0390": "\u03b9\u0308\u0301", "\u1fd2": "\u03b9\u0308\u0300", "\u1fd1": "\u03b9\u0304", "\u1fd0": "\u03b9\u0306", "\u03cc": "\u03bf\u0301", "\u1f78": "\u03bf\u0300", "\u03cd": "\u03c5\u0301", "\u1f7a": "\u03c5\u0300", "\u03cb": "\u03c5\u0308", "\u03b0": "\u03c5\u0308\u0301", "\u1fe2": "\u03c5\u0308\u0300", "\u1fe1": "\u03c5\u0304", "\u1fe0": "\u03c5\u0306", "\u03ce": "\u03c9\u0301", "\u1f7c": "\u03c9\u0300", "\u038e": "\u03a5\u0301", "\u1fea": "\u03a5\u0300", "\u03ab": "\u03a5\u0308", "\u1fe9": "\u03a5\u0304", "\u1fe8": "\u03a5\u0306", "\u038f": "\u03a9\u0301", "\u1ffa": "\u03a9\u0300" }, En = function () { function t(t, e) { this.mode = void 0, this.gullet = void 0, this.settings = void 0, this.leftrightDepth = void 0, this.nextToken = void 0, this.mode = "math", this.gullet = new kn(t, e, this.mode), this.settings = e, this.leftrightDepth = 0 } var e = t.prototype; return e.expect = function (t, e) { if (void 0 === e && (e = !0), this.fetch().text !== t) throw new z("Expected '" + t + "', got '" + this.fetch().text + "'", this.fetch()); e && this.consume() }, e.consume = function () { this.nextToken = null }, e.fetch = function () { return null == this.nextToken && (this.nextToken = this.gullet.expandNextToken()), this.nextToken }, e.switchMode = function (t) { this.mode = t, this.gullet.switchMode(t) }, e.parse = function () { this.gullet.beginGroup(), this.settings.colorIsTextColor && this.gullet.macros.set("\\color", "\\textcolor"); var t = this.parseExpression(!1); return this.expect("EOF"), this.gullet.endGroup(), t }, e.parseExpression = function (e, r) { for (var n = []; ;) { "math" === this.mode && this.consumeSpaces(); var i = this.fetch(); if (-1 !== t.endOfExpression.indexOf(i.text)) break; if (r && i.text === r) break; if (e && sn[i.text] && sn[i.text].infix) break; var a = this.parseAtom(r); if (!a) break; n.push(a) } return "text" === this.mode && this.formLigatures(n), this.handleInfixNodes(n) }, e.handleInfixNodes = function (t) { for (var e, r = -1, n = 0; n < t.length; n++) { var i = l(t[n], "infix"); if (i) { if (-1 !== r) throw new z("only one infix operator per group", i.token); r = n, e = i.replaceWith } } if (-1 !== r && e) { var a, o, s = t.slice(0, r), c = t.slice(r + 1); return a = 1 === s.length && "ordgroup" === s[0].type ? s[0] : { type: "ordgroup", mode: this.mode, body: s }, o = 1 === c.length && "ordgroup" === c[0].type ? c[0] : { type: "ordgroup", mode: this.mode, body: c }, ["\\\\abovefrac" === e ? this.callFunction(e, [a, t[r], o], []) : this.callFunction(e, [a, o], [])] } return t }, e.handleSupSubscript = function (e) { var r = this.fetch(), n = r.text; this.consume(); var i = this.parseGroup(e, !1, t.SUPSUB_GREEDINESS, void 0, void 0, !0); if (!i) throw new z("Expected group after '" + n + "'", r); return i }, e.formatUnsupportedCmd = function (t) { for (var e = [], r = 0; r < t.length; r++)e.push({ type: "textord", mode: "text", text: t[r] }); var n = { type: "text", mode: this.mode, body: e }; return { type: "color", mode: this.mode, color: this.settings.errorColor, body: [n] } }, e.parseAtom = function (t) { var e, r, n = this.parseGroup("atom", !1, null, t); if ("text" === this.mode) return n; for (; ;) { this.consumeSpaces(); var i = this.fetch(); if ("\\limits" === i.text || "\\nolimits" === i.text) { var a = l(n, "op"); if (a) { var o = "\\limits" === i.text; a.limits = o, a.alwaysHandleSupSub = !0 } else { if (!(a = l(n, "operatorname")) || !a.alwaysHandleSupSub) throw new z("Limit controls must follow a math operator", i); var s = "\\limits" === i.text; a.limits = s } this.consume() } else if ("^" === i.text) { if (e) throw new z("Double superscript", i); e = this.handleSupSubscript("superscript") } else if ("_" === i.text) { if (r) throw new z("Double subscript", i); r = this.handleSupSubscript("subscript") } else { if ("'" !== i.text) break; if (e) throw new z("Double superscript", i); var c = { type: "textord", mode: this.mode, text: "\\prime" }, u = [c]; for (this.consume(); "'" === this.fetch().text;)u.push(c), this.consume(); "^" === this.fetch().text && u.push(this.handleSupSubscript("superscript")), e = { type: "ordgroup", mode: this.mode, body: u } } } return e || r ? { type: "supsub", mode: this.mode, base: n, sup: e, sub: r } : n }, e.parseFunction = function (t, e, r) { var n = this.fetch(), i = n.text, a = sn[i]; if (!a) return null; if (this.consume(), null != r && a.greediness <= r) throw new z("Got function '" + i + "' with no arguments" + (e ? " as " + e : ""), n); if ("text" === this.mode && !a.allowedInText) throw new z("Can't use function '" + i + "' in text mode", n); if ("math" === this.mode && !1 === a.allowedInMath) throw new z("Can't use function '" + i + "' in math mode", n); var o = this.parseArguments(i, a), s = o.args, l = o.optArgs; return this.callFunction(i, s, l, n, t) }, e.callFunction = function (t, e, r, n, i) { var a = { funcName: t, parser: this, token: n, breakOnTokenText: i }, o = sn[t]; if (o && o.handler) return o.handler(a, e, r); throw new z("No function handler for " + t) }, e.parseArguments = function (t, e) { var r = e.numArgs + e.numOptionalArgs; if (0 === r) return { args: [], optArgs: [] }; for (var n = e.greediness, i = [], a = [], o = 0; o < r; o++) { var s = e.argTypes && e.argTypes[o], l = o < e.numOptionalArgs, c = o > 0 && !l || 0 === o && !l && "math" === this.mode, u = this.parseGroupOfType("argument to '" + t + "'", s, l, n, c); if (!u) { if (l) { a.push(null); continue } throw new z("Expected group after '" + t + "'", this.fetch()) } (l ? a : i).push(u) } return { args: i, optArgs: a } }, e.parseGroupOfType = function (t, e, r, n, i) { switch (e) { case "color": return i && this.consumeSpaces(), this.parseColorGroup(r); case "size": return i && this.consumeSpaces(), this.parseSizeGroup(r); case "url": return this.parseUrlGroup(r, i); case "math": case "text": return this.parseGroup(t, r, n, void 0, e, i); case "hbox": var a = this.parseGroup(t, r, n, void 0, "text", i); return a ? { type: "styling", mode: a.mode, body: [a], style: "text" } : a; case "raw": if (i && this.consumeSpaces(), r && "{" === this.fetch().text) return null; var o = this.parseStringGroup("raw", r, !0); if (o) return { type: "raw", mode: "text", string: o.text }; throw new z("Expected raw group", this.fetch()); case "original": case null: case void 0: return this.parseGroup(t, r, n, void 0, void 0, i); default: throw new z("Unknown group type as " + t, this.fetch()) } }, e.consumeSpaces = function () { for (; " " === this.fetch().text;)this.consume() }, e.parseStringGroup = function (t, e, r) { var n = e ? "[" : "{", i = e ? "]" : "}", a = this.fetch(); if (a.text !== n) { if (e) return null; if (r && "EOF" !== a.text && /[^{}[\]]/.test(a.text)) return this.consume(), a } var o = this.mode; this.mode = "text", this.expect(n); for (var s, l = "", c = this.fetch(), u = 0, h = c; (s = this.fetch()).text !== i || r && u > 0;) { switch (s.text) { case "EOF": throw new z("Unexpected end of input in " + t, c.range(h, l)); case n: u++; break; case i: u-- }l += (h = s).text, this.consume() } return this.expect(i), this.mode = o, c.range(h, l) }, e.parseRegexGroup = function (t, e) { var r = this.mode; this.mode = "text"; for (var n, i = this.fetch(), a = i, o = ""; "EOF" !== (n = this.fetch()).text && t.test(o + n.text);)o += (a = n).text, this.consume(); if ("" === o) throw new z("Invalid " + e + ": '" + i.text + "'", i); return this.mode = r, i.range(a, o) }, e.parseColorGroup = function (t) { var e = this.parseStringGroup("color", t); if (!e) return null; var r = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text); if (!r) throw new z("Invalid color: '" + e.text + "'", e); var n = r[0]; return /^[0-9a-f]{6}$/i.test(n) && (n = "#" + n), { type: "color-token", mode: this.mode, color: n } }, e.parseSizeGroup = function (t) { var e, r = !1; if (!(e = t || "{" === this.fetch().text ? this.parseStringGroup("size", t) : this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size"))) return null; t || 0 !== e.text.length || (e.text = "0pt", r = !0); var n = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text); if (!n) throw new z("Invalid size: '" + e.text + "'", e); var i = { number: +(n[1] + n[2]), unit: n[3] }; if (!Yt(i)) throw new z("Invalid unit: '" + i.unit + "'", e); return { type: "size", mode: this.mode, value: i, isBlank: r } }, e.parseUrlGroup = function (t) { this.gullet.lexer.setCatcode("%", 13); var e = this.parseStringGroup("url", t, !0); if (this.gullet.lexer.setCatcode("%", 14), !e) return null; var r = e.text.replace(/\\([#$%&~_^{}])/g, "$1"); return { type: "url", mode: this.mode, url: r } }, e.parseGroup = function (e, r, n, i, a, o) { var s = this.mode; a && this.switchMode(a), o && this.consumeSpaces(); var l, c = this.fetch(), u = c.text; if (r ? "[" === u : "{" === u || "\\begingroup" === u) { this.consume(); var h = t.endOfGroup[u]; this.gullet.beginGroup(); var d = this.parseExpression(!1, h), m = this.fetch(); this.expect(h), this.gullet.endGroup(), l = { type: "ordgroup", mode: this.mode, loc: T.range(c, m), body: d, semisimple: "\\begingroup" === u || void 0 } } else if (r) l = null; else if (null == (l = this.parseFunction(i, e, n) || this.parseSymbol()) && "\\" === u[0] && !wn.hasOwnProperty(u)) { if (this.settings.throwOnError) throw new z("Undefined control sequence: " + u, c); l = this.formatUnsupportedCmd(u), this.consume() } return a && this.switchMode(s), l }, e.formLigatures = function (t) { for (var e = t.length - 1, r = 0; r < e; ++r) { var n = t[r], i = n.text; "-" === i && "-" === t[r + 1].text && (r + 1 < e && "-" === t[r + 2].text ? (t.splice(r, 3, { type: "textord", mode: "text", loc: T.range(n, t[r + 2]), text: "---" }), e -= 2) : (t.splice(r, 2, { type: "textord", mode: "text", loc: T.range(n, t[r + 1]), text: "--" }), e -= 1)), "'" !== i && "`" !== i || t[r + 1].text !== i || (t.splice(r, 2, { type: "textord", mode: "text", loc: T.range(n, t[r + 1]), text: i + i }), e -= 1) } }, e.parseSymbol = function () { var t = this.fetch(), e = t.text; if (/^\\verb[^a-zA-Z]/.test(e)) { this.consume(); var r = e.slice(5), i = "*" === r.charAt(0); if (i && (r = r.slice(1)), r.length < 2 || r.charAt(0) !== r.slice(-1)) throw new z("\\verb assertion failed --\n please report what input caused this bug"); return { type: "verb", mode: "text", body: r = r.slice(1, -1), star: i } } An.hasOwnProperty(e[0]) && !gt[this.mode][e[0]] && (this.settings.strict && "math" === this.mode && this.settings.reportNonstrict("unicodeTextInMathMode", 'Accented Unicode text character "' + e[0] + '" used in math mode', t), e = An[e[0]] + e.substr(1)); var a, o = cn.exec(e); if (o && ("i" === (e = e.substring(0, o.index)) ? e = "\u0131" : "j" === e && (e = "\u0237")), gt[this.mode][e]) { this.settings.strict && "math" === this.mode && "\xc7\xd0\xde\xe7\xfe".indexOf(e) >= 0 && this.settings.reportNonstrict("unicodeTextInMathMode", 'Latin-1/Unicode text character "' + e[0] + '" used in math mode', t); var s, l = gt[this.mode][e].group, c = T.range(t); if (mt.hasOwnProperty(l)) { var u = l; s = { type: "atom", mode: this.mode, family: u, loc: c, text: e } } else s = { type: l, mode: this.mode, loc: c, text: e }; a = s } else { if (!(e.charCodeAt(0) >= 128)) return null; this.settings.strict && (n(e.charCodeAt(0)) ? "math" === this.mode && this.settings.reportNonstrict("unicodeTextInMathMode", 'Unicode text character "' + e[0] + '" used in math mode', t) : this.settings.reportNonstrict("unknownSymbol", 'Unrecognized Unicode character "' + e[0] + '" (' + e.charCodeAt(0) + ")", t)), a = { type: "textord", mode: "text", loc: T.range(t), text: e } } if (this.consume(), o) for (var h = 0; h < o[0].length; h++) { var d = o[0][h]; if (!Sn[d]) throw new z("Unknown accent ' " + d + "'", t); var m = Sn[d][this.mode]; if (!m) throw new z("Accent " + d + " unsupported in " + this.mode + " mode", t); a = { type: "accent", mode: this.mode, loc: T.range(t), label: m, isStretchy: !1, isShifty: !0, base: a } } return a }, t }(); En.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"], En.endOfGroup = { "[": "]", "{": "}", "\\begingroup": "\\endgroup" }, En.SUPSUB_GREEDINESS = 1; var Mn = function (t, e) { if (!("string" == typeof t || t instanceof String)) throw new TypeError("KaTeX can only parse string typed expression"); var r = new En(t, e); delete r.gullet.macros.current["\\df@tag"]; var n = r.parse(); if (r.gullet.macros.get("\\df@tag")) { if (!e.displayMode) throw new z("\\tag works only in display equations"); r.gullet.feed("\\df@tag"), n = [{ type: "tag", mode: "text", body: n, tag: r.parse() }] } return n }, Rn = function (t, e, r) { e.textContent = ""; var n = Cn(t, r).toNode(); e.appendChild(n) }; "undefined" != typeof document && "CSS1Compat" !== document.compatMode && ("undefined" != typeof console && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."), Rn = function () { throw new z("KaTeX doesn't work in quirks mode.") }); var Tn = function (t, e, r) { if (r.throwOnError || !(t instanceof z)) throw t; var n = oe.makeSpan(["katex-error"], [new at(e)]); return n.setAttribute("title", t.toString()), n.setAttribute("style", "color:" + r.errorColor), n }, Cn = function (t, e) { var r = new q(e); try { var n = Mn(t, r); return De(n, t, r) } catch (e) { return Tn(e, t, r) } }, Ln = { version: "0.11.1", render: Rn, renderToString: function (t, e) { return Cn(t, e).toMarkup() }, ParseError: z, __parse: function (t, e) { var r = new q(e); return Mn(t, r) }, __renderToDomTree: Cn, __renderToHTMLTree: function (t, e) { var r = new q(e); try { return function (t, e, r) { var n = f(t, Be(r)), i = oe.makeSpan(["katex"], [n]); return qe(i, r) }(Mn(t, r), 0, r) } catch (e) { return Tn(e, t, r) } }, __setFontMetrics: function (t, e) { ct[t] = e }, __defineSymbol: o, __defineMacro: R, __domTree: { Span: et, Anchor: rt, SymbolNode: at, SvgNode: ot, PathNode: st, LineNode: lt } }; e["default"] = Ln
}])["default"]
}), function (t, e) { "object" == typeof exports && "object" == typeof module ? module.exports = e(require("katex")) : "function" == typeof define && define.amd ? define(["katex"], e) : "object" == typeof exports ? exports.renderMathInElement = e(require("katex")) : t.renderMathInElement = e(t.katex) }("undefined" != typeof self ? self : this, function (t) { return function (t) { function e(n) { if (r[n]) return r[n].exports; var i = r[n] = { i: n, l: !1, exports: {} }; return t[n].call(i.exports, i, i.exports, e), i.l = !0, i.exports } var r = {}; return e.m = t, e.c = r, e.d = function (t, r, n) { e.o(t, r) || Object.defineProperty(t, r, { enumerable: !0, get: n }) }, e.r = function (t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) }, e.t = function (t, r) { if (1 & r && (t = e(t)), 8 & r) return t; if (4 & r && "object" == typeof t && t && t.__esModule) return t; var n = Object.create(null); if (e.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: t }), 2 & r && "string" != typeof t) for (var i in t) e.d(n, i, function (e) { return t[e] }.bind(null, i)); return n }, e.n = function (t) { var r = t && t.__esModule ? function () { return t["default"] } : function () { return t }; return e.d(r, "a", r), r }, e.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e) }, e.p = "", e(e.s = 1) }([function (e) { e.exports = t }, function (t, e, r) { "use strict"; r.r(e); var n = r(0), i = r.n(n), a = function (t, e, r) { for (var n = r, i = 0, a = t.length; n < e.length;) { var o = e[n]; if (i <= 0 && e.slice(n, n + a) === t) return n; "\\" === o ? n++ : "{" === o ? i++ : "}" === o && i--, n++ } return -1 }, o = function (t, e, r, n) { for (var i = [], o = 0; o < t.length; o++)if ("text" === t[o].type) { var s = t[o].data, l = !0, c = 0, u = void 0; for (-1 !== (u = s.indexOf(e)) && (c = u, i.push({ type: "text", data: s.slice(0, c) }), l = !1); ;) { if (l) { if (-1 === (u = s.indexOf(e, c))) break; i.push({ type: "text", data: s.slice(c, u) }), c = u } else { if (-1 === (u = a(r, s, c + e.length))) break; i.push({ type: "math", data: s.slice(c + e.length, u), rawData: s.slice(c, u + r.length), display: n }), c = u + r.length } l = !l } i.push({ type: "text", data: s.slice(c) }) } else i.push(t[o]); return i }, s = function (t, e) { for (var r = function (t, e) { for (var r = [{ type: "text", data: t }], n = 0; n < e.length; n++) { var i = e[n]; r = o(r, i.left, i.right, i.display || !1) } return r }(t, e.delimiters), n = document.createDocumentFragment(), a = 0; a < r.length; a++)if ("text" === r[a].type) n.appendChild(document.createTextNode(r[a].data)); else { var s = document.createElement("span"), l = r[a].data; e.displayMode = r[a].display; try { e.preProcess && (l = e.preProcess(l)), i.a.render(l, s, e) } catch (t) { if (!(t instanceof i.a.ParseError)) throw t; e.errorCallback("KaTeX auto-render: Failed to parse `" + r[a].data + "` with ", t), n.appendChild(document.createTextNode(r[a].rawData)); continue } n.appendChild(s) } return n }; e["default"] = function (t, e) { if (!t) throw new Error("No element provided to render"); var r = {}; for (var n in e) e.hasOwnProperty(n) && (r[n] = e[n]); r.delimiters = r.delimiters || [{ left: "$$", right: "$$", display: !0 }, { left: "\\(", right: "\\)", display: !1 }, { left: "\\[", right: "\\]", display: !0 }], r.ignoredTags = r.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code"], r.ignoredClasses = r.ignoredClasses || [], r.errorCallback = r.errorCallback || console.error, r.macros = r.macros || {}, function i(t, e) { for (var r = 0; r < t.childNodes.length; r++) { var n = t.childNodes[r]; if (3 === n.nodeType) { var a = s(n.textContent, e); r += a.childNodes.length - 1, t.replaceChild(a, n) } else 1 === n.nodeType && function () { var t = " " + n.className + " "; -1 === e.ignoredTags.indexOf(n.nodeName.toLowerCase()) && e.ignoredClasses.every(function (e) { return -1 === t.indexOf(" " + e + " ") }) && i(n, e) }() } }(t, r) } }])["default"] }), function (t, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).Reveal = e() }(this, function () {
"use strict"; function t(t, e) { var r = Object.keys(t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(t); e && (n = n.filter(function (e) { return Object.getOwnPropertyDescriptor(t, e).enumerable })), r.push.apply(r, n) } return r } function e(e) { for (var r = 1; r < arguments.length; r++) { var n = null != arguments[r] ? arguments[r] : {}; r % 2 ? t(Object(n), !0).forEach(function (t) { s(e, t, n[t]) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : t(Object(n)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) }) } return e } function r(t) { return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t })(t) } function n(t, e, r, n, i, a, o) { try { var s = t[a](o), l = s.value } catch (t) { return void r(t) } s.done ? e(l) : Promise.resolve(l).then(n, i) } function i(t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") } function a(t, e) { for (var r = 0; r < e.length; r++) { var n = e[r]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) } } function o(t, e, r) { return e && a(t.prototype, e), r && a(t, r), t } function s(t, e, r) { return e in t ? Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = r, t } function l(t) { return function (t) { if (Array.isArray(t)) return c(t) }(t) || function (t) { if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"]) return Array.from(t) }(t) || function (t, e) { if (t) { if ("string" == typeof t) return c(t, e); var r = Object.prototype.toString.call(t).slice(8, -1); return "Object" === r && t.constructor && (r = t.constructor.name), "Map" === r || "Set" === r ? Array.from(t) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? c(t, e) : void 0 } }(t) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function c(t, e) { (null == e || e > t.length) && (e = t.length); for (var r = 0, n = new Array(e); r < e; r++)n[r] = t[r]; return n } function u(t, e) { return RegExp(t, e) } function h(t, n) {
function i(r) {
if (!t) throw 'Unable to find presentation root (<div class="reveal">).'; if (Yt.wrapper = t, Yt.slides = t.querySelector(".slides"), !Yt.slides) throw 'Unable to find slides container (<div class="slides">).'
; 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 ? '<button class="resume-button">Resume presentation</button>' : 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 = '<header>\n\t\t\t\t<a class="close" href="#"><span class="icon"></span></a>\n\t\t\t\t<a class="external" href="'.concat(t, '" target="_blank"><span class="icon"></span></a>\n\t\t\t</header>\n\t\t\t<div class="spinner"></div>\n\t\t\t<div class="viewport">\n\t\t\t\t<iframe src="').concat(t, '"></iframe>\n\t\t\t\t<small class="viewport-inner">\n\t\t\t\t\t<span class="x-frame-error">Unable to load iframe. This is likely due to the site\'s policy (x-frame-options).</span>\n\t\t\t\t</small>\n\t\t\t</div>'), 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 = '<p class="title">Keyboard Shortcuts</p><br/>', e = ae.getShortcuts(), r = ae.getBindings(); for (var n in t += "<table><th>KEY</th><th>ACTION</th>", e) t += "<tr><td>".concat(n, "</td><td>").concat(e[n], "</td></tr>"); for (var i in r) r[i].key && r[i].description && (t += "<tr><td>".concat(r[i].key, "</td><td>").concat(r[i].description, "</td></tr>")); t += "</table>", Yt.overlay.innerHTML = '\n\t\t\t\t<header>\n\t\t\t\t\t<a class="close" href="#"><span class="icon"></span></a>\n\t\t\t\t</header>\n\t\t\t\t<div class="viewport">\n\t\t\t\t\t<div class="viewport-inner">'.concat(t, "</div>\n\t\t\t\t</div>\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 "<disabled-script>" + t + "</disabled-script>" }, 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, "$<a>") }), 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 ? '<source src="'.concat(t, '" type="').concat(e, '">') : '<source src="'.concat(t, '">') }), 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) ? '<a href="'.concat(n, '">\n\t\t\t\t\t<span class="slide-number-a">').concat(t, "</span>\n\t\t\t\t\t</a>") : '<a href="'.concat(n, '">\n\t\t\t\t\t<span class="slide-number-a">').concat(t, '</span>\n\t\t\t\t\t<span class="slide-number-delimiter">').concat(e, '</span>\n\t\t\t\t\t<span class="slide-number-b">').concat(r, "</span>\n\t\t\t\t\t</a>") } }, { 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["&#8594; , &#8595; , SPACE , N , L , J"] = "Next slide", this.shortcuts["&#8592; , &#8593; , P , H , K"] = "Previous slide") : (this.shortcuts["N , SPACE"] = "Next slide", this.shortcuts["P , Shift SPACE"] = "Previous slide", this.shortcuts["&#8592; , H"] = "Navigate left", this.shortcuts["&#8594; , L"] = "Navigate right", this.shortcuts["&#8593; , K"] = "Navigate up", this.shortcuts["&#8595; , J"] = "Navigate down"), this.shortcuts["Alt + &#8592;/&#8593/&#8594;/&#8595;"] = "Navigate without fragments", this.shortcuts["Shift + &#8592;/&#8593/&#8594;/&#8595;"] = "Jump to first/last slide", this.shortcuts["B , ."] = "Pause", this.shortcuts.F = "Fullscreen", this.shortcuts["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 = '<button class="navigate-left" aria-label="'.concat(t ? "next slide" : "previous slide", '"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-right" aria-label="').concat(t ? "previous slide" : "next slide", '"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>'), this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft = 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() || '<span class="notes-placeholder">No notes on this slide.</span>') } }, { key: "updateVisibility", value: function () { this.Reveal.getConfig().showNotes && this.hasNotes() && !this.Reveal.print.isPrintingPDF() ? this.Reveal.getRevealElement().classList.add("show-notes") : this.Reveal.getRevealElement().classList.remove("show-notes") } }, { key: "hasNotes", value: function () { return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length > 0 } }, { key: "isSpeakerNotesWindow", value: function () { return !!window.location.search.match(/receiver/gi) } }, { key: "getSlideNotes", value: function () { var 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 } };