Files
v1.pivoine.art/assets/bower_components/MathJax/es5/input/asciimath.js
2025-10-25 12:39:30 +02:00

5789 lines
158 KiB
JavaScript

!(function (t) {
var e = {};
function i(n) {
if (e[n]) return e[n].exports;
var a = (e[n] = { i: n, l: !1, exports: {} });
return t[n].call(a.exports, a, a.exports, i), (a.l = !0), a.exports;
}
(i.m = t),
(i.c = e),
(i.d = function (t, e, n) {
i.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });
}),
(i.r = function (t) {
"undefined" != typeof Symbol &&
Symbol.toStringTag &&
Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }),
Object.defineProperty(t, "__esModule", { value: !0 });
}),
(i.t = function (t, e) {
if ((1 & e && (t = i(t)), 8 & e)) return t;
if (4 & e && "object" == typeof t && t && t.__esModule) return t;
var n = Object.create(null);
if (
(i.r(n),
Object.defineProperty(n, "default", { enumerable: !0, value: t }),
2 & e && "string" != typeof t)
)
for (var a in t)
i.d(
n,
a,
function (e) {
return t[e];
}.bind(null, a),
);
return n;
}),
(i.n = function (t) {
var e =
t && t.__esModule
? function () {
return t.default;
}
: function () {
return t;
};
return i.d(e, "a", e), e;
}),
(i.o = function (t, e) {
return Object.prototype.hasOwnProperty.call(t, e);
}),
(i.p = ""),
i((i.s = 16));
})([
function (t, e, i) {
"use strict";
var n,
a =
(this && this.__extends) ||
((n = function (t, e) {
return (n =
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array &&
function (t, e) {
t.__proto__ = e;
}) ||
function (t, e) {
for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]);
})(t, e);
}),
function (t, e) {
function i() {
this.constructor = t;
}
n(t, e),
(t.prototype =
null === e
? Object.create(e)
: ((i.prototype = e.prototype), new i()));
}),
s =
(this && this.__assign) ||
function () {
return (s =
Object.assign ||
function (t) {
for (var e, i = 1, n = arguments.length; i < n; i++)
for (var a in (e = arguments[i]))
Object.prototype.hasOwnProperty.call(e, a) && (t[a] = e[a]);
return t;
}).apply(this, arguments);
},
r =
(this && this.__read) ||
function (t, e) {
var i = "function" == typeof Symbol && t[Symbol.iterator];
if (!i) return t;
var n,
a,
s = i.call(t),
r = [];
try {
for (; (void 0 === e || e-- > 0) && !(n = s.next()).done; )
r.push(n.value);
} catch (t) {
a = { error: t };
} finally {
try {
n && !n.done && (i = s.return) && i.call(s);
} finally {
if (a) throw a.error;
}
}
return r;
};
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.AsciiMath = void 0);
var o = i(3),
l = i(4),
u = i(12),
h = i(1),
p = (function (t) {
function e(i) {
var n = this,
a = r(u.separateOptions(i, h.FindAsciiMath.OPTIONS, e.OPTIONS), 3),
s = a[1],
o = a[2];
return (
((n = t.call(this, o) || this).findAsciiMath =
n.options.FindAsciiMath || new h.FindAsciiMath(s)),
n
);
}
return (
a(e, t),
(e.prototype.compile = function (t, e) {
return l.LegacyAsciiMath.Compile(t.math, t.display);
}),
(e.prototype.findMath = function (t) {
return this.findAsciiMath.findMath(t);
}),
(e.NAME = "AsciiMath"),
(e.OPTIONS = s(s({}, o.AbstractInputJax.OPTIONS), {
FindAsciiMath: null,
})),
e
);
})(o.AbstractInputJax);
e.AsciiMath = p;
},
function (t, e, i) {
"use strict";
var n,
a =
(this && this.__extends) ||
((n = function (t, e) {
return (n =
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array &&
function (t, e) {
t.__proto__ = e;
}) ||
function (t, e) {
for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]);
})(t, e);
}),
function (t, e) {
function i() {
this.constructor = t;
}
n(t, e),
(t.prototype =
null === e
? Object.create(e)
: ((i.prototype = e.prototype), new i()));
}),
s =
(this && this.__read) ||
function (t, e) {
var i = "function" == typeof Symbol && t[Symbol.iterator];
if (!i) return t;
var n,
a,
s = i.call(t),
r = [];
try {
for (; (void 0 === e || e-- > 0) && !(n = s.next()).done; )
r.push(n.value);
} catch (t) {
a = { error: t };
} finally {
try {
n && !n.done && (i = s.return) && i.call(s);
} finally {
if (a) throw a.error;
}
}
return r;
};
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.FindAsciiMath = void 0);
var r = i(13),
o = i(14),
l = i(15),
u = (function (t) {
function e(e) {
var i = t.call(this, e) || this;
return i.getPatterns(), i;
}
return (
a(e, t),
(e.prototype.getPatterns = function () {
var t = this,
e = this.options,
i = [];
(this.end = {}),
e.delimiters.forEach(function (e) {
return t.addPattern(i, e, !1);
}),
(this.start = new RegExp(i.join("|"), "g")),
(this.hasPatterns = i.length > 0);
}),
(e.prototype.addPattern = function (t, e, i) {
var n = s(e, 2),
a = n[0],
r = n[1];
t.push(o.quotePattern(a)),
(this.end[a] = [r, i, new RegExp(o.quotePattern(r), "g")]);
}),
(e.prototype.findEnd = function (t, e, i, n) {
var a = s(n, 3),
r = a[1],
o = a[2],
u = (o.lastIndex = i.index + i[0].length),
h = o.exec(t);
return h
? l.protoItem(
i[0],
t.substr(u, h.index - u),
h[0],
e,
i.index,
h.index + h[0].length,
r,
)
: null;
}),
(e.prototype.findMathInString = function (t, e, i) {
var n, a;
for (this.start.lastIndex = 0; (n = this.start.exec(i)); )
(a = this.findEnd(i, e, n, this.end[n[0]])) &&
(t.push(a), (this.start.lastIndex = a.end.n));
}),
(e.prototype.findMath = function (t) {
var e = [];
if (this.hasPatterns)
for (var i = 0, n = t.length; i < n; i++)
this.findMathInString(e, i, t[i]);
return e;
}),
(e.OPTIONS = { delimiters: [["`", "`"]] }),
e
);
})(r.AbstractFindMath);
e.FindAsciiMath = u;
},
function (t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.isObject = MathJax._.components.global.isObject),
(e.combineConfig = MathJax._.components.global.combineConfig),
(e.combineDefaults = MathJax._.components.global.combineDefaults),
(e.combineWithMathJax = MathJax._.components.global.combineWithMathJax),
(e.MathJax = MathJax._.components.global.MathJax);
},
function (t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.AbstractInputJax = MathJax._.core.InputJax.AbstractInputJax);
},
function (t, e, i) {
(function (t) {
(MathJax = Object.assign(t.MathJax || {}, i(6).MathJax)),
MathJax.config &&
MathJax.config.asciimath &&
MathJax.Hub.Config({ AsciiMath: MathJax.config.asciimath }),
MathJax.Ajax.Preloading(
"[MathJax]/jax/input/AsciiMath/config.js",
"[MathJax]/jax/input/AsciiMath/jax.js",
"[MathJax]/jax/element/mml/jax.js",
),
i(7),
i(8),
i(9),
i(10);
var n = new (0, i(11).MmlFactory)();
e.LegacyAsciiMath = {
Compile: function (t, e) {
var i = { type: "math/asciimath", innerText: t, MathJax: {} },
a = MathJax.InputJax.AsciiMath.Translate(i).root.toMmlNode(n);
return a.setInheritedAttributes({}, e, 0, !1), a;
},
Translate: function (t, e) {
return this.Compile(t, e);
},
};
}).call(this, i(5));
},
function (t, e) {
var i;
i = (function () {
return this;
})();
try {
i = i || new Function("return this")();
} catch (t) {
"object" == typeof window && (i = window);
}
t.exports = i;
},
function (t, e) {
var i,
n,
a,
s,
r,
o,
l = { debug: !0 },
u = { MathJax: l },
h = {},
p = null;
(e.MathJax = l),
(function (t) {
var e = u.MathJax;
e || (e = u.MathJax = {});
var i = [],
n = function (t) {
var e = t.constructor;
for (var i in (e || (e = function () {}), t))
"constructor" !== i && t.hasOwnProperty(i) && (e[i] = t[i]);
return e;
};
(e.Object = n({
constructor: function () {
return arguments.callee.Init.call(this, arguments);
},
Subclass: function (t, e) {
var n = function () {
return arguments.callee.Init.call(this, arguments);
};
return (
(n.SUPER = this),
(n.Init = this.Init),
(n.Subclass = this.Subclass),
(n.Augment = this.Augment),
(n.protoFunction = this.protoFunction),
(n.can = this.can),
(n.has = this.has),
(n.isa = this.isa),
(n.prototype = new this(i)),
(n.prototype.constructor = n),
n.Augment(t, e),
n
);
},
Init: function (t) {
var e = this;
return 1 === t.length && t[0] === i
? e
: (e instanceof t.callee || (e = new t.callee(i)),
e.Init.apply(e, t) || e);
},
Augment: function (t, e) {
var i;
if (null != t) {
for (i in t) t.hasOwnProperty(i) && this.protoFunction(i, t[i]);
t.toString !== this.prototype.toString &&
t.toString !== {}.toString &&
this.protoFunction("toString", t.toString);
}
if (null != e) for (i in e) e.hasOwnProperty(i) && (this[i] = e[i]);
return this;
},
protoFunction: function (t, e) {
(this.prototype[t] = e),
"function" == typeof e && (e.SUPER = this.SUPER.prototype);
},
prototype: {
Init: function () {},
SUPER: function (t) {
return t.callee.SUPER;
},
can: function (t) {
return "function" == typeof this[t];
},
has: function (t) {
return void 0 !== this[t];
},
isa: function (t) {
return t instanceof Object && this instanceof t;
},
},
can: function (t) {
return this.prototype.can.call(this, t);
},
has: function (t) {
return this.prototype.has.call(this, t);
},
isa: function (t) {
for (var e = this; e; ) {
if (e === t) return !0;
e = e.SUPER;
}
return !1;
},
SimpleSUPER: n({
constructor: function (t) {
return this.SimpleSUPER.define(t);
},
define: function (t) {
var e = {};
if (null != t) {
for (var i in t)
t.hasOwnProperty(i) && (e[i] = this.wrap(i, t[i]));
t.toString !== this.prototype.toString &&
t.toString !== {}.toString &&
(e.toString = this.wrap("toString", t.toString));
}
return e;
},
wrap: function (t, e) {
if (
"function" != typeof e ||
!e.toString().match(/\.\s*SUPER\s*\(/)
)
return e;
var i = function () {
this.SUPER = i.SUPER[t];
try {
var n = e.apply(this, arguments);
} catch (t) {
throw (delete this.SUPER, t);
}
return delete this.SUPER, n;
};
return (
(i.toString = function () {
return e.toString.apply(e, arguments);
}),
i
);
},
}),
})),
(e.Object.isArray =
Array.isArray ||
function (t) {
return "[object Array]" === Object.prototype.toString.call(t);
}),
(e.Object.Array = Array);
})(),
(function (t) {
var e = u.MathJax;
e || (e = u.MathJax = {});
var i = function (t) {
var e = function () {
return arguments.callee.execute.apply(arguments.callee, arguments);
};
for (var n in i.prototype)
i.prototype.hasOwnProperty(n) &&
(e[n] = void 0 !== t[n] ? t[n] : i.prototype[n]);
return (e.toString = i.prototype.toString), e;
};
i.prototype = {
isCallback: !0,
hook: function () {},
data: [],
object: u,
execute: function () {
if (!this.called || this.autoReset)
return (
(this.called = !this.autoReset),
this.hook.apply(
this.object,
this.data.concat([].slice.call(arguments, 0)),
)
);
},
reset: function () {
delete this.called;
},
toString: function () {
return this.hook.toString.apply(this.hook, arguments);
},
};
var n = function (t) {
return "function" == typeof t && t.isCallback;
},
a = function (t) {
return eval.call(u, t);
},
s = function () {
if ((a("var __TeSt_VaR__ = 1"), u.__TeSt_VaR__))
try {
delete u.__TeSt_VaR__;
} catch (t) {
u.__TeSt_VaR__ = null;
}
else
a = u.execScript
? function (t) {
(e.__code = t),
(t =
"try {MathJax.__result = eval(MathJax.__code)} catch(err) {MathJax.__result = err}"),
u.execScript(t);
var i = e.__result;
if (
(delete e.__result, delete e.__code, i instanceof Error)
)
throw i;
return i;
}
: function (t) {
(e.__code = t),
(t =
"try {MathJax.__result = eval(MathJax.__code)} catch(err) {MathJax.__result = err}");
var i = p.getElementsByTagName("head")[0];
i || (i = p.body);
var n = p.createElement("script");
n.appendChild(p.createTextNode(t)),
i.appendChild(n),
i.removeChild(n);
var a = e.__result;
if (
(delete e.__result, delete e.__code, a instanceof Error)
)
throw a;
return a;
};
s = null;
},
r = function (t, e) {
if (
(arguments.length > 1 &&
(t =
2 === arguments.length &&
"function" != typeof arguments[0] &&
arguments[0] instanceof Object &&
"number" == typeof arguments[1]
? [].slice.call(t, e)
: [].slice.call(arguments, 0)),
t instanceof Array && 1 === t.length && (t = t[0]),
"function" == typeof t)
)
return t.execute === i.prototype.execute ? t : i({ hook: t });
if (t instanceof Array) {
if (
"string" == typeof t[0] &&
t[1] instanceof Object &&
"function" == typeof t[1][t[0]]
)
return i({ hook: t[1][t[0]], object: t[1], data: t.slice(2) });
if ("function" == typeof t[0])
return i({ hook: t[0], data: t.slice(1) });
if ("function" == typeof t[1])
return i({ hook: t[1], object: t[0], data: t.slice(2) });
} else {
if ("string" == typeof t)
return s && s(), i({ hook: a, data: [t] });
if (t instanceof Object) return i(t);
if (void 0 === t) return i({});
}
throw Error("Can't make callback from given data");
},
o = function (t, e) {
(t = r(t)).called || (c(t, e), e.pending++);
},
h = function () {
var t = this.signal;
delete this.signal,
(this.execute = this.oldExecute),
delete this.oldExecute;
var e = this.execute.apply(this, arguments);
if (n(e) && !e.called) c(e, t);
else
for (var i = 0, a = t.length; i < a; i++)
t[i].pending--, t[i].pending <= 0 && t[i].call();
},
c = function (t, e) {
e instanceof Array || (e = [e]),
t.signal
? 1 === e.length
? t.signal.push(e[0])
: (t.signal = t.signal.concat(e))
: ((t.oldExecute = t.execute), (t.execute = h), (t.signal = e));
},
d = function (t) {
(t = r(t)).pending = 0;
for (var e = 1, i = arguments.length; e < i; e++)
arguments[e] && o(arguments[e], t);
if (0 === t.pending) {
var a = t();
n(a) && (t = a);
}
return t;
},
m = l.Object.Subclass({
Init: function (t) {
(this.hooks = []),
(this.remove = []),
(this.reset = t),
(this.running = !1);
},
Add: function (t, e) {
null == e && (e = 10), n(t) || (t = r(t)), (t.priority = e);
for (
var i = this.hooks.length;
i > 0 && e < this.hooks[i - 1].priority;
)
i--;
return this.hooks.splice(i, 0, t), t;
},
Remove: function (t) {
for (var e = 0, i = this.hooks.length; e < i; e++)
if (this.hooks[e] === t)
return void (this.running
? this.remove.push(e)
: this.hooks.splice(e, 1));
},
Execute: function () {
var t = [{}];
this.running = !0;
for (var e = 0, i = this.hooks.length; e < i; e++) {
this.reset && this.hooks[e].reset();
var a = this.hooks[e].apply(u, arguments);
n(a) && !a.called && t.push(a);
}
return (
(this.running = !1),
this.remove.length && this.RemovePending(),
1 === t.length ? null : 2 === t.length ? t[1] : d.apply({}, t)
);
},
RemovePending: function () {
this.remove = this.remove.sort();
for (var t = this.remove.length - 1; t >= 0; t--)
this.hooks.splice(t, 1);
this.remove = [];
},
}),
f = e.Object.Subclass({
Init: function () {
(this.pending = this.running = 0),
(this.queue = []),
this.Push.apply(this, arguments);
},
Push: function () {
for (var t, e = 0, i = arguments.length; e < i; e++)
(t = r(arguments[e])) !== arguments[e] ||
t.called ||
(t = r(["wait", this, t])),
this.queue.push(t);
return this.running || this.pending || this.Process(), t;
},
Process: function (t) {
for (; !this.running && !this.pending && this.queue.length; ) {
var e = this.queue[0];
(t = this.queue.slice(1)), (this.queue = []), this.Suspend();
var i = e();
this.Resume(),
t.length && (this.queue = t.concat(this.queue)),
n(i) && !i.called && o(i, this);
}
},
Suspend: function () {
this.running++;
},
Resume: function () {
this.running && this.running--;
},
call: function () {
this.Process.apply(this, arguments);
},
wait: function (t) {
return t;
},
}),
g = f.Subclass(
{
Init: function (t) {
f.prototype.Init.call(this),
(this.name = t),
(this.posted = []),
(this.listeners = m(!0)),
(this.posting = !1),
(this.callback = null);
},
Post: function (t, e, i) {
if (((e = r(e)), this.posting || this.pending))
this.Push(["Post", this, t, e, i]);
else {
(this.callback = e),
e.reset(),
i || this.posted.push(t),
this.Suspend(),
(this.posting = !0);
var a = this.listeners.Execute(t);
n(a) && !a.called && o(a, this),
this.Resume(),
(this.posting = !1),
this.pending || this.call();
}
return e;
},
Clear: function (t) {
return (
(t = r(t)),
this.posting || this.pending
? (t = this.Push(["Clear", this, t]))
: ((this.posted = []), t()),
t
);
},
call: function () {
this.callback(this), this.Process();
},
Interest: function (t, e, i) {
if (((t = r(t)), this.listeners.Add(t, i), !e))
for (var a = 0, s = this.posted.length; a < s; a++) {
t.reset();
var l = t(this.posted[a]);
n(l) && a === this.posted.length - 1 && o(l, this);
}
return t;
},
NoInterest: function (t) {
this.listeners.Remove(t);
},
MessageHook: function (t, e, i) {
(e = r(e)),
this.hooks ||
((this.hooks = {}), this.Interest(["ExecuteHooks", this])),
this.hooks[t] || (this.hooks[t] = m(!0)),
this.hooks[t].Add(e, i);
for (var n = 0, a = this.posted.length; n < a; n++)
this.posted[n] == t && (e.reset(), e(this.posted[n]));
return (e.msg = t), e;
},
ExecuteHooks: function (t) {
var e = t instanceof Array ? t[0] : t;
return this.hooks[e] ? this.hooks[e].Execute(t) : null;
},
RemoveHook: function (t) {
this.hooks[t.msg].Remove(t);
},
},
{
signals: {},
find: function (t) {
return g.signals[t] || (g.signals[t] = new g(t)), g.signals[t];
},
},
);
(e.Callback = e.CallBack = r),
(e.Callback.Delay = function (t, e) {
return ((e = r(e)).timeout = setTimeout(e, t)), e;
}),
(e.Callback.After = d),
(e.Callback.Queue = f),
(e.Callback.Signal = g.find),
(e.Callback.Hooks = m),
(e.Callback.ExecuteHooks = function (t, e, i) {
if (!t) return null;
t instanceof Array || (t = [t]),
e instanceof Array || (e = null == e ? [] : [e]);
for (var n = m(i), a = 0, s = t.length; a < s; a++) n.Add(t[a]);
return n.Execute.apply(n, e);
});
})(),
(function (t) {
var e = u.MathJax;
e || (e = u.MathJax = {});
var i = "Apple Computer, Inc." === h.vendor && void 0 === h.vendorSub,
n = 0,
a = [],
s = function () {
for (var t = 0, i = a.length; t < i; t++)
e.Ajax.head.removeChild(a[t]);
a = [];
},
r = { MathJax: "" };
e.Ajax = {
loaded: {},
loading: {},
loadHooks: {},
timeout: 15e3,
styleDelay: 1,
config: { root: "", path: r },
STATUS: { OK: 1, ERROR: -1 },
fileURL: function (t) {
var e = t.match(/^\[([-._a-z0-9]+)\]/i);
return (
e &&
e[1] in r &&
(t = (r[e[1]] || this.config.root) + t.substr(e[1].length + 2)),
t
);
},
fileName: function (t) {
var e = this.config.root;
if (t.substr(0, e.length) === e)
t = "[MathJax]" + t.substr(e.length);
else
for (var i in r)
if (
r.hasOwnProperty(i) &&
r[i] &&
t.substr(0, r[i].length) === r[i]
) {
t = "[" + i + "]" + t.substr(r[i].length);
break;
}
return t;
},
fileRev: function (t) {
var i = e.cdnFileVersions[name] || e.cdnVersion;
return i && (i = "?rev=" + i), i;
},
urlRev: function (t) {
return this.fileURL(t) + this.fileRev(t);
},
Require: function (t, i) {
var n;
if (((i = e.Callback(i)), t instanceof Object))
for (var a in t)
t.hasOwnProperty(a) && ((n = a.toUpperCase()), (t = t[a]));
else n = t.split(/\./).pop().toUpperCase();
if (((t = this.fileURL(t)), this.loaded[t])) i(this.loaded[t]);
else {
var s = {};
(s[n] = t), this.Load(s, i);
}
return i;
},
Load: function (t, i) {
var n;
if (((i = e.Callback(i)), t instanceof Object))
for (var a in t)
t.hasOwnProperty(a) && ((n = a.toUpperCase()), (t = t[a]));
else n = t.split(/\./).pop().toUpperCase();
if (((t = this.fileURL(t)), this.loading[t])) this.addHook(t, i);
else {
if (((this.head = (this.head, null)), !this.loader[n]))
throw Error("Can't load files of type " + n);
this.loader[n].call(this, t, i);
}
return i;
},
LoadHook: function (t, i, n) {
if (((i = e.Callback(i)), t instanceof Object))
for (var a in t) t.hasOwnProperty(a) && (t = t[a]);
return (
(t = this.fileURL(t)),
this.loaded[t] ? i(this.loaded[t]) : this.addHook(t, i, n),
i
);
},
addHook: function (t, e, i) {
this.loadHooks[t] || (this.loadHooks[t] = l.Callback.Hooks()),
this.loadHooks[t].Add(e, i),
(e.file = t);
},
removeHook: function (t) {
this.loadHooks[t.file] &&
(this.loadHooks[t.file].Remove(t),
this.loadHooks[t.file].hooks.length ||
delete this.loadHooks[t.file]);
},
Preloading: function () {
for (var t = 0, e = arguments.length; t < e; t++) {
var i = this.fileURL(arguments[t]);
this.loading[i] ||
this.loaded[i] ||
(this.loading[i] = { preloaded: !0 });
}
},
loader: {
JS: function (t, i) {
var n = this.fileName(t),
a = e.Callback(["loadTimeout", this, t]);
(this.loading[t] = {
callback: i,
timeout: setTimeout(a, this.timeout),
status: this.STATUS.OK,
script: null,
}),
(this.loading[t].message = e.Message.File(n)),
u.System ? u.System.import(t).catch(a) : a();
},
CSS: function (t, i) {
var n = this.fileName(t),
a = p.createElement("link");
(a.rel = "stylesheet"),
(a.type = "text/css"),
(a.href = t + this.fileRev(n)),
(this.loading[t] = {
callback: i,
message: e.Message.File(n),
status: this.STATUS.OK,
}),
this.head.appendChild(a),
this.timer.create.call(this, [this.timer.file, t], a);
},
},
timer: {
create: function (t, a) {
return (
(t = e.Callback(t)),
("STYLE" === a.nodeName &&
a.styleSheet &&
void 0 !== a.styleSheet.cssText) ||
(u.chrome && "LINK" === a.nodeName)
? t(this.STATUS.OK)
: i
? this.timer.start(
this,
[this.timer.checkSafari2, n++, t],
this.styleDelay,
)
: this.timer.start(
this,
[this.timer.checkLength, a, t],
this.styleDelay,
),
t
);
},
start: function (t, i, n, a) {
((i = e.Callback(i)).execute = this.execute),
(i.time = this.time),
(i.STATUS = t.STATUS),
(i.timeout = a || t.timeout),
(i.delay = i.total = n || 0),
n ? setTimeout(i, n) : i();
},
time: function (t) {
return (
(this.total += this.delay),
(this.delay = Math.floor(1.05 * this.delay + 5)),
this.total >= this.timeout ? (t(this.STATUS.ERROR), 1) : 0
);
},
file: function (t, i) {
i < 0 ? e.Ajax.loadTimeout(t) : e.Ajax.loadComplete(t);
},
execute: function () {
this.hook.call(this.object, this, this.data[0], this.data[1]);
},
checkSafari2: function (t, e, i) {
t.time(i) ||
(p.styleSheets.length > e &&
p.styleSheets[e].cssRules &&
p.styleSheets[e].cssRules.length
? i(t.STATUS.OK)
: setTimeout(t, t.delay));
},
checkLength: function (t, i, n) {
if (!t.time(n)) {
var a = 0,
s = i.sheet || i.styleSheet;
try {
(s.cssRules || s.rules || []).length > 0 && (a = 1);
} catch (t) {
(t.message.match(/protected variable|restricted URI/) ||
t.message.match(/Security error/)) &&
(a = 1);
}
a
? setTimeout(e.Callback([n, t.STATUS.OK]), 0)
: setTimeout(t, t.delay);
}
},
},
loadComplete: function (t) {
t = this.fileURL(t);
var i = this.loading[t];
return (
i && !i.preloaded
? (e.Message.Clear(i.message),
i.timeout && clearTimeout(i.timeout),
i.script &&
(0 === a.length && setTimeout(s, 0), a.push(i.script)),
(this.loaded[t] = i.status),
delete this.loading[t],
this.addHook(t, i.callback))
: (i && delete this.loading[t],
(this.loaded[t] = this.STATUS.OK),
(i = { status: this.STATUS.OK })),
this.loadHooks[t] ? this.loadHooks[t].Execute(i.status) : null
);
},
loadTimeout: function (t) {
this.loading[t].timeout && clearTimeout(this.loading[t].timeout),
(this.loading[t].status = this.STATUS.ERROR),
this.loadError(t),
this.loadComplete(t);
},
loadError: function (t) {
e.Message.Set(
["LoadFailed", "File failed to load: %1", t],
null,
2e3,
),
e.Hub.signal.Post(["file load error", t]);
},
Styles: function (t, i) {
var n = this.StyleString(t);
if ("" === n) (i = e.Callback(i))();
else {
var a = p.createElement("style");
(a.type = "text/css"),
(this.head = (this.head, null)),
this.head.appendChild(a),
a.styleSheet && void 0 !== a.styleSheet.cssText
? (a.styleSheet.cssText = n)
: a.appendChild(p.createTextNode(n)),
(i = this.timer.create.call(this, i, a));
}
return i;
},
StyleString: function (t) {
if ("string" == typeof t) return t;
var e,
i,
n = "";
for (e in t)
if (t.hasOwnProperty(e))
if ("string" == typeof t[e]) n += e + " {" + t[e] + "}\n";
else if (t[e] instanceof Array)
for (var a = 0; a < t[e].length; a++)
((i = {})[e] = t[e][a]), (n += this.StyleString(i));
else if ("@media" === e.substr(0, 6))
n += e + " {" + this.StyleString(t[e]) + "}\n";
else if (null != t[e]) {
for (var s in ((i = []), t[e]))
t[e].hasOwnProperty(s) &&
null != t[e][s] &&
(i[i.length] = s + ": " + t[e][s]);
n += e + " {" + i.join("; ") + "}\n";
}
return n;
},
};
})(),
(l.HTML = {
setDocument: function (t) {
p = this.document = t;
},
Element: function (t, e, i) {
var n,
a = p.createElement(t);
if (e) {
if (e.hasOwnProperty("style")) {
var s = e.style;
for (n in ((e.style = {}), s))
s.hasOwnProperty(n) &&
(e.style[n.replace(/-([a-z])/g, this.ucMatch)] = s[n]);
}
for (n in (l.Hub.Insert(a, e), e))
("role" !== n && "aria-" !== n.substr(0, 5)) ||
a.setAttribute(n, e[n]);
}
if (i) {
l.Object.isArray(i) || (i = [i]);
for (var r = 0, o = i.length; r < o; r++)
l.Object.isArray(i[r])
? a.appendChild(this.Element(i[r][0], i[r][1], i[r][2]))
: "script" === t
? this.setScript(a, i[r])
: a.appendChild(p.createTextNode(i[r]));
}
return a;
},
ucMatch: function (t, e) {
return e.toUpperCase();
},
addElement: function (t, e, i, n) {
return t.appendChild(this.Element(e, i, n));
},
TextNode: function (t) {
return p.createTextNode(t);
},
addText: function (t, e) {
return t.appendChild(this.TextNode(e));
},
setScript: function (t, e) {
if (this.setScriptBug) t.text = e;
else {
for (; t.firstChild; ) t.removeChild(t.firstChild);
this.addText(t, e);
}
},
getScript: function (t) {
return t.innerText;
},
}),
(l.Localization = {
locale: "en",
directory: "[MathJax]/localization",
strings: {
ast: { menuTitle: "asturianu" },
bg: {
menuTitle: "\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",
},
bcc: { menuTitle: "\u0628\u0644\u0648\u0686\u06cc" },
br: { menuTitle: "brezhoneg" },
ca: { menuTitle: "catal\xe0" },
cdo: { menuTitle: "M\xecng-d\u0115\u0324ng-ng\u1e73\u0304" },
cs: { menuTitle: "\u010de\u0161tina" },
da: { menuTitle: "dansk" },
de: { menuTitle: "Deutsch" },
en: { menuTitle: "English", isLoaded: !0 },
eo: { menuTitle: "Esperanto" },
es: { menuTitle: "espa\xf1ol" },
fa: { menuTitle: "\u0641\u0627\u0631\u0633\u06cc" },
fi: { menuTitle: "suomi" },
fr: { menuTitle: "fran\xe7ais" },
gl: { menuTitle: "galego" },
he: { menuTitle: "\u05e2\u05d1\u05e8\u05d9\u05ea" },
ia: { menuTitle: "interlingua" },
it: { menuTitle: "italiano" },
ja: { menuTitle: "\u65e5\u672c\u8a9e" },
kn: { menuTitle: "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1" },
ko: { menuTitle: "\ud55c\uad6d\uc5b4" },
lb: { menuTitle: "L\xebtzebuergesch" },
lt: { menuTitle: "lietuvi\u0173" },
mk: {
menuTitle:
"\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438",
},
nl: { menuTitle: "Nederlands" },
oc: { menuTitle: "occitan" },
pl: { menuTitle: "polski" },
pt: { menuTitle: "portugus\xea" },
"pt-br": { menuTitle: "portugu\xeas do Brasil" },
ru: { menuTitle: "\u0440\u0443\u0441\u0441\u043a\u0438\u0439" },
sco: { menuTitle: "Scots" },
scn: { menuTitle: "sicilianu" },
sl: { menuTitle: "sloven\u0161\u010dina" },
sv: { menuTitle: "svenska" },
tr: { menuTitle: "T\xfcrk\xe7e" },
uk: {
menuTitle:
"\u0443\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",
},
vi: { menuTitle: "Ti\u1ebfng Vi\u1ec7t" },
"zh-hans": { menuTitle: "\u4e2d\u6587\uff08\u7b80\u4f53\uff09" },
},
pattern:
/%(\d+|\{\d+\}|\{[a-z]+:\%\d+(?:\|(?:%\{\d+\}|%.|[^\}])*)+\}|.)/g,
SPLIT:
3 === "axb".split(/(x)/).length
? function (t, e) {
return t.split(e);
}
: function (t, e) {
var i,
n = [],
a = 0;
for (e.lastIndex = 0; (i = e.exec(t)); )
n.push(t.substr(a, i.index - a)),
n.push.apply(n, i.slice(1)),
(a = i.index + i[0].length);
return n.push(t.substr(a)), n;
},
_: function (t, e) {
return e instanceof Array
? this.processSnippet(t, e)
: this.processString(
this.lookupPhrase(t, e),
[].slice.call(arguments, 2),
);
},
processString: function (t, e, i) {
var n, a;
for (n = 0, a = e.length; n < a; n++)
i && e[n] instanceof Array && (e[n] = this.processSnippet(i, e[n]));
var s = this.SPLIT(t, this.pattern);
for (n = 1, a = s.length; n < a; n += 2) {
var r = s[n].charAt(0);
if (r >= "0" && r <= "9")
(s[n] = e[s[n] - 1]),
"number" == typeof s[n] && (s[n] = this.number(s[n]));
else if ("{" === r)
if ((r = s[n].substr(1)) >= "0" && r <= "9")
(s[n] = e[s[n].substr(1, s[n].length - 2) - 1]),
"number" == typeof s[n] && (s[n] = this.number(s[n]));
else {
var o = s[n].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/);
if (o)
if ("plural" === o[1]) {
var l = e[o[2] - 1];
if (void 0 === l) s[n] = "???";
else {
l = this.plural(l) - 1;
var u = o[3]
.replace(/(^|[^%])(%%)*%\|/g, "$1$2%\uefef")
.split(/\|/);
l >= 0 && l < u.length
? (s[n] = this.processString(
u[l].replace(/\uEFEF/g, "|"),
e,
i,
))
: (s[n] = "???");
}
} else s[n] = "%" + s[n];
}
null == s[n] && (s[n] = "???");
}
if (!i) return s.join("");
var h = [],
p = "";
for (n = 0; n < a; n++)
(p += s[n]),
++n < a &&
(s[n] instanceof Array
? (h.push(p), (h = h.concat(s[n])), (p = ""))
: (p += s[n]));
return "" !== p && h.push(p), h;
},
processSnippet: function (t, e) {
for (var i = [], n = 0, a = e.length; n < a; n++)
if (e[n] instanceof Array) {
var s = e[n];
if ("string" == typeof s[1]) {
var r = s[0];
r instanceof Array || (r = [t, r]);
var o = this.lookupPhrase(r, s[1]);
i = i.concat(this.processMarkdown(o, s.slice(2), t));
} else
s[1] instanceof Array
? (i = i.concat(this.processSnippet.apply(this, s)))
: s.length >= 3
? i.push([s[0], s[1], this.processSnippet(t, s[2])])
: i.push(e[n]);
} else i.push(e[n]);
return i;
},
markdownPattern:
/(%.)|(\*{1,3})((?:%.|.)+?)\2|(`+)((?:%.|.)+?)\4|\[((?:%.|.)+?)\]\(([^\s\)]+)\)/,
processMarkdown: function (t, e, i) {
for (
var n,
a = [],
s = t.split(this.markdownPattern),
r = s[0],
o = 1,
l = s.length;
o < l;
o += 8
)
s[o + 1]
? ((n = this.processString(s[o + 2], e, i)) instanceof Array ||
(n = [n]),
(n = [["b", "i", "i"][s[o + 1].length - 1], {}, n]),
3 === s[o + 1].length && (n = ["b", {}, n]))
: s[o + 3]
? ((n = this.processString(
s[o + 4].replace(/^\s/, "").replace(/\s$/, ""),
e,
i,
)) instanceof Array || (n = [n]),
(n = ["code", {}, n]))
: s[o + 5]
? ((n = this.processString(s[o + 5], e, i)) instanceof
Array || (n = [n]),
(n = [
"a",
{
href: this.processString(s[o + 6], e),
target: "_blank",
},
n,
]))
: ((r += s[o]), (n = null)),
n && ((a = this.concatString(a, r, e, i)).push(n), (r = "")),
"" !== s[o + 7] && (r += s[o + 7]);
return (a = this.concatString(a, r, e, i));
},
concatString: function (t, e, i, n) {
return (
"" != e &&
((e = this.processString(e, i, n)) instanceof Array || (e = [e]),
(t = t.concat(e))),
t
);
},
lookupPhrase: function (t, e, i) {
i || (i = "_"),
t instanceof Array && ((i = t[0] || "_"), (t = t[1] || ""));
var n = this.loadDomain(i);
n && l.Hub.RestartAfter(n);
var a = this.strings[this.locale];
if (a && a.domains && i in a.domains) {
var s = a.domains[i];
s.strings && t in s.strings && (e = s.strings[t]);
}
return e;
},
loadFile: function (t, e, i) {
((i = l.Callback(i)),
(t = e.file || t).match(/\.js$/) || (t += ".js"),
t.match(/^([a-z]+:|\[MathJax\])/)) ||
(t =
(this.strings[this.locale].directory ||
this.directory + "/" + this.locale ||
"[MathJax]/localization/" + this.locale) +
"/" +
t);
var n = l.Ajax.Require(t, function () {
return (e.isLoaded = !0), i();
});
return n.called ? null : n;
},
loadDomain: function (t, e) {
var i,
n = this.strings[this.locale];
if (n) {
if (!n.isLoaded && (i = this.loadFile(this.locale, n)))
return l.Callback.Queue(i, ["loadDomain", this, t]).Push(e || {});
if (n.domains && t in n.domains) {
var a = n.domains[t];
if (!a.isLoaded && (i = this.loadFile(t, a)))
return l.Callback.Queue(i).Push(e);
}
}
return l.Callback(e)();
},
Try: function (t) {
(t = l.Callback(t)).autoReset = !0;
try {
t();
} catch (e) {
if (!e.restart) throw e;
l.Callback.After(["Try", this, t], e.restart);
}
},
resetLocale: function (t) {
if (t) {
for (t = t.toLowerCase(); !this.strings[t]; ) {
var e = t.lastIndexOf("-");
if (-1 === e) return;
t = t.substring(0, e);
}
var i = this.strings[t].remap;
this.locale = i || t;
}
},
setLocale: function (t) {
this.resetLocale(t), l.Menu && this.loadDomain("MathMenu");
},
addTranslation: function (t, e, i) {
var n = this.strings[t],
a = !1;
n || ((n = this.strings[t] = {}), (a = !0)),
n.domains || (n.domains = {}),
e && (n.domains[e] || (n.domains[e] = {}), (n = n.domains[e])),
l.Hub.Insert(n, i),
a && l.Menu.menu && l.Menu.CreateLocaleMenu();
},
setCSS: function (t) {
var e = this.strings[this.locale];
return (
e &&
(e.fontFamily && (t.style.fontFamily = e.fontFamily),
e.fontDirection &&
((t.style.direction = e.fontDirection),
"rtl" === e.fontDirection && (t.style.textAlign = "right"))),
t
);
},
fontFamily: function () {
var t = this.strings[this.locale];
return t ? t.fontFamily : null;
},
fontDirection: function () {
var t = this.strings[this.locale];
return t ? t.fontDirection : null;
},
plural: function (t) {
var e = this.strings[this.locale];
return e && e.plural ? e.plural(t) : 1 == t ? 1 : 2;
},
number: function (t) {
var e = this.strings[this.locale];
return e && e.number ? e.number(t) : t;
},
}),
(l.Message = {
localize: function (t) {
return l.Localization._(t, t);
},
filterText: function (t, e, i) {
return (
"simple" === l.Hub.config.messageStyle &&
("LoadFile" === i
? (this.loading ||
(this.loading = this.localize("Loading") + " "),
(t = this.loading),
(this.loading += "."))
: "ProcessMath" === i
? (this.processing ||
(this.processing = this.localize("Processing") + " "),
(t = this.processing),
(this.processing += "."))
: "TypesetMath" === i &&
(this.typesetting ||
(this.typesetting = this.localize("Typesetting") + " "),
(t = this.typesetting),
(this.typesetting += "."))),
t
);
},
Set: function (t, e, i) {
l.debug &&
(Array.isArray(t) &&
(t = l.Localization._.apply(l.Localization, t)),
console.log("Message: " + t));
},
Clear: function (t, e) {},
Remove: function () {},
File: function (t) {
return this.Set(["LoadFile", "Loading %1", t], null, null);
},
Log: function () {},
}),
(l.Hub = {
config: {
root: "./mathjax2/legacy",
config: [],
jax: [],
extensions: [],
preJax: null,
postJax: null,
displayAlign: "center",
displayIndent: "0",
preRemoveClass: "MathJax_Preview",
showProcessingMessages: !0,
messageStyle: "normal",
delayStartupUntil: "none",
skipStartupTypeset: !1,
elements: [],
positionToHash: !0,
showMathMenu: !0,
showMathMenuMSIE: !0,
menuSettings: {
zoom: "None",
CTRL: !1,
ALT: !1,
CMD: !1,
Shift: !1,
discoverable: !1,
zscale: "200%",
renderer: null,
font: "Auto",
context: "MathJax",
locale: null,
mpContext: !1,
mpMouse: !1,
texHints: !0,
FastPreview: null,
assistiveMML: null,
inTabOrder: !0,
semantics: !1,
},
errorSettings: {
message: [
"[",
["MathProcessingError", "Math Processing Error"],
"]",
],
style: { color: "#CC0000", "font-style": "italic" },
},
ignoreMMLattributes: {},
},
preProcessors: l.Callback.Hooks(!0),
inputJax: {},
outputJax: { order: {} },
processSectionDelay: 50,
processUpdateTime: 250,
processUpdateDelay: 10,
signal: l.Callback.Signal("Hub"),
Config: function (t) {
this.Insert(this.config, t),
this.config.Augment && this.Augment(this.config.Augment);
},
CombineConfig: function (t, e) {
for (
var i, n, a = this.config, s = 0, r = (t = t.split(/\./)).length;
s < r;
s++
)
a[(i = t[s])] || (a[i] = {}), (n = a), (a = a[i]);
return (n[i] = a = this.Insert(e, a)), a;
},
Register: {
PreProcessor: function () {
return l.Hub.preProcessors.Add.apply(
l.Hub.preProcessors,
arguments,
);
},
MessageHook: function () {
return l.Hub.signal.MessageHook.apply(l.Hub.signal, arguments);
},
StartupHook: function () {
return l.Hub.Startup.signal.MessageHook.apply(
l.Hub.Startup.signal,
arguments,
);
},
LoadHook: function () {
return l.Ajax.LoadHook.apply(l.Ajax, arguments);
},
},
UnRegister: {
PreProcessor: function (t) {
l.Hub.preProcessors.Remove(t);
},
MessageHook: function (t) {
l.Hub.signal.RemoveHook(t);
},
StartupHook: function (t) {
l.Hub.Startup.signal.RemoveHook(t);
},
LoadHook: function (t) {
l.Ajax.removeHook(t);
},
},
setRenderer: function (t, e) {
if (t) {
if (l.OutputJax[t]) {
(this.config.menuSettings.renderer = t),
null == e && (e = "jax/mml");
var i = this.outputJax;
return i[e] && i[e].length && t !== i[e][0].id
? (i[e].unshift(l.OutputJax[t]),
this.signal.Post(["Renderer Selected", t]))
: null;
}
this.config.menuSettings.renderer = "";
var n = "[MathJax]/jax/output/" + t + "/config.js";
return l.Ajax.Require(n, ["setRenderer", this, t, e]);
}
},
Queue: function () {
return this.queue.Push.apply(this.queue, arguments);
},
RestartAfter: function (t) {
throw this.Insert(Error("restart"), { restart: l.Callback(t) });
},
Insert: function (t, e) {
for (var i in e)
e.hasOwnProperty(i) &&
("object" != typeof e[i] ||
e[i] instanceof Array ||
("object" != typeof t[i] && "function" != typeof t[i])
? (t[i] = e[i])
: this.Insert(t[i], e[i]));
return t;
},
SplitList:
"trim" in String.prototype
? function (t) {
return t.trim().split(/\s+/);
}
: function (t) {
return t.replace(/^\s+/, "").replace(/\s+$/, "").split(/\s+/);
},
}),
(l.Extension = {}),
(l.Hub.Startup = {
queue: l.Callback.Queue(),
signal: l.Callback.Signal("Startup"),
}),
(l.Ajax.config.root = l.Hub.config.root),
(i = u.MathJax),
(n = "[MathJax]"),
(a = i.Hub),
(s = i.Ajax),
(r = i.Callback),
(o = l.Object.Subclass(
{
JAXFILE: "jax.js",
require: null,
config: {},
Init: function (t, e) {
return 0 === arguments.length
? this
: this.constructor.Subclass(t, e)();
},
Augment: function (t, e) {
var i = this.constructor,
n = {};
if (null != t) {
for (var s in t)
t.hasOwnProperty(s) &&
("function" == typeof t[s]
? i.protoFunction(s, t[s])
: (n[s] = t[s]));
t.toString !== i.prototype.toString &&
t.toString !== {}.toString &&
i.protoFunction("toString", t.toString);
}
return a.Insert(i.prototype, n), i.Augment(null, e), this;
},
Translate: function (t, e) {
throw Error(
this.directory +
"/" +
this.JAXFILE +
" failed to define the Translate() method",
);
},
Register: function (t) {},
Config: function () {
(this.config = a.CombineConfig(this.id, this.config)),
this.config.Augment && this.Augment(this.config.Augment);
},
Startup: function () {},
loadComplete: function (t) {
if ("config.js" === t)
return s.loadComplete(this.directory + "/" + t);
var e = r.Queue();
return (
e.Push(
["Post", a.Startup.signal, this.id + " Jax Config"],
["Config", this],
["Post", a.Startup.signal, this.id + " Jax Startup"],
["Startup", this],
["Post", a.Startup.signal, this.id + " Jax Ready"],
),
this.copyTranslate &&
e.Push([
function (t) {
(t.preProcess = t.preTranslate),
(t.Process = t.Translate),
(t.postProcess = t.postTranslate);
},
this.constructor.prototype,
]),
e.Push(["loadComplete", s, this.directory + "/" + t])
);
},
},
{
id: "Jax",
version: "2.6.0",
directory: n + "/jax",
extensionDir: n + "/extensions",
},
)),
(i.InputJax = o.Subclass(
{
elementJax: "mml",
sourceMenuTitle: ["Original", "Original Form"],
copyTranslate: !0,
Process: function (t, e) {
throw Error("Input jax failed to load properly");
},
needsUpdate: function (t) {
var e = t.SourceElement();
return t.originalText !== i.HTML.getScript(e);
},
Register: function (t) {
a.inputJax || (a.inputJax = {}), (a.inputJax[t] = this);
},
},
{
id: "InputJax",
version: "2.6.0",
directory: o.directory + "/input",
extensionDir: o.extensionDir,
},
)),
(i.OutputJax = o.Subclass(
{
copyTranslate: !0,
preProcess: function (t) {
throw Error("Output jax failed to load properly");
},
Register: function (t) {
var e = a.outputJax;
e[t] || (e[t] = []),
e[t].length &&
(this.id === a.config.menuSettings.renderer ||
(e.order[this.id] || 0) < (e.order[e[t][0].id] || 0))
? e[t].unshift(this)
: e[t].push(this);
},
Remove: function (t) {},
},
{
id: "OutputJax",
version: "2.6.0",
directory: o.directory + "/output",
extensionDir: o.extensionDir,
fontDir: n + (i.isPacked ? "" : "/..") + "/fonts",
imageDir: n + (i.isPacked ? "" : "/..") + "/images",
},
)),
(i.ElementJax = o.Subclass(
{
Init: function (t, e) {
return this.constructor.Subclass(t, e);
},
inputJax: null,
outputJax: null,
inputID: null,
originalText: "",
mimeType: "",
sourceMenuTitle: ["MathMLcode", "MathML Code"],
Text: function (t, e) {
var n = this.SourceElement();
return (
i.HTML.setScript(n, t),
(n.MathJax.state = this.STATE.UPDATE),
a.Update(n, e)
);
},
Reprocess: function (t) {
var e = this.SourceElement();
return (e.MathJax.state = this.STATE.UPDATE), a.Reprocess(e, t);
},
Update: function (t) {
return this.Rerender(t);
},
Rerender: function (t) {
var e = this.SourceElement();
return (e.MathJax.state = this.STATE.OUTPUT), a.Process(e, t);
},
Remove: function (t) {
this.hover && this.hover.clear(this),
i.OutputJax[this.outputJax].Remove(this),
t ||
(a.signal.Post(["Remove Math", this.inputID]), this.Detach());
},
needsUpdate: function () {
return i.InputJax[this.inputJax].needsUpdate(this);
},
SourceElement: function () {
return p.getElementById(this.inputID);
},
Attach: function (t, e) {
var n = t.MathJax.elementJax;
return (
t.MathJax.state === this.STATE.UPDATE
? n.Clone(this)
: ((n = t.MathJax.elementJax = this),
t.id
? (this.inputID = t.id)
: ((t.id = this.inputID = i.ElementJax.GetID()),
(this.newID = 1))),
(n.originalText = i.HTML.getScript(t)),
(n.inputJax = e),
n.root && (n.root.inputID = n.inputID),
n
);
},
Detach: function () {
var t = this.SourceElement();
if (t) {
try {
delete t.MathJax;
} catch (e) {
t.MathJax = null;
}
this.newID && (t.id = "");
}
},
Clone: function (t) {
var e;
for (e in this)
this.hasOwnProperty(e) &&
void 0 === t[e] &&
"newID" !== e &&
delete this[e];
for (e in t)
t.hasOwnProperty(e) &&
(void 0 === this[e] || (this[e] !== t[e] && "inputID" !== e)) &&
(this[e] = t[e]);
},
},
{
id: "ElementJax",
version: "2.6.0",
directory: o.directory + "/element",
extensionDir: o.extensionDir,
ID: 0,
STATE: { PENDING: 1, PROCESSED: 2, UPDATE: 3, OUTPUT: 4 },
GetID: function () {
return this.ID++, "MathJax-Element-" + this.ID;
},
Subclass: function () {
var t = o.Subclass.apply(this, arguments);
return (t.loadComplete = this.prototype.loadComplete), t;
},
},
)),
(i.ElementJax.prototype.STATE = i.ElementJax.STATE),
(l.Hub.Browser = { Select: function () {} });
},
function (t, e) {
(MathJax.ElementJax.mml = MathJax.ElementJax(
{ mimeType: "jax/mml" },
{
id: "mml",
version: "2.7.2",
directory: MathJax.ElementJax.directory + "/mml",
extensionDir: MathJax.ElementJax.extensionDir + "/mml",
optableDir: MathJax.ElementJax.directory + "/mml/optable",
},
)),
MathJax.ElementJax.mml.Augment(
{
Init: function () {
if (
(1 === arguments.length && "math" === arguments[0].type
? (this.root = arguments[0])
: (this.root = MathJax.ElementJax.mml.math.apply(
this,
arguments,
)),
this.root.attr && this.root.attr.mode)
) {
this.root.display ||
"display" !== this.root.attr.mode ||
((this.root.display = "block"),
this.root.attrNames.push("display")),
delete this.root.attr.mode;
for (var t = 0, e = this.root.attrNames.length; t < e; t++)
if ("mode" === this.root.attrNames[t]) {
this.root.attrNames.splice(t, 1);
break;
}
}
},
},
{
INHERIT: "_inherit_",
AUTO: "_auto_",
SIZE: {
INFINITY: "infinity",
SMALL: "small",
NORMAL: "normal",
BIG: "big",
},
COLOR: { TRANSPARENT: "transparent" },
VARIANT: {
NORMAL: "normal",
BOLD: "bold",
ITALIC: "italic",
BOLDITALIC: "bold-italic",
DOUBLESTRUCK: "double-struck",
FRAKTUR: "fraktur",
BOLDFRAKTUR: "bold-fraktur",
SCRIPT: "script",
BOLDSCRIPT: "bold-script",
SANSSERIF: "sans-serif",
BOLDSANSSERIF: "bold-sans-serif",
SANSSERIFITALIC: "sans-serif-italic",
SANSSERIFBOLDITALIC: "sans-serif-bold-italic",
MONOSPACE: "monospace",
INITIAL: "inital",
TAILED: "tailed",
LOOPED: "looped",
STRETCHED: "stretched",
CALIGRAPHIC: "-tex-caligraphic",
OLDSTYLE: "-tex-oldstyle",
},
FORM: { PREFIX: "prefix", INFIX: "infix", POSTFIX: "postfix" },
LINEBREAK: {
AUTO: "auto",
NEWLINE: "newline",
NOBREAK: "nobreak",
GOODBREAK: "goodbreak",
BADBREAK: "badbreak",
},
LINEBREAKSTYLE: {
BEFORE: "before",
AFTER: "after",
DUPLICATE: "duplicate",
INFIXLINBREAKSTYLE: "infixlinebreakstyle",
},
INDENTALIGN: {
LEFT: "left",
CENTER: "center",
RIGHT: "right",
AUTO: "auto",
ID: "id",
INDENTALIGN: "indentalign",
},
INDENTSHIFT: { INDENTSHIFT: "indentshift" },
LINETHICKNESS: { THIN: "thin", MEDIUM: "medium", THICK: "thick" },
NOTATION: {
LONGDIV: "longdiv",
ACTUARIAL: "actuarial",
RADICAL: "radical",
BOX: "box",
ROUNDEDBOX: "roundedbox",
CIRCLE: "circle",
LEFT: "left",
RIGHT: "right",
TOP: "top",
BOTTOM: "bottom",
UPDIAGONALSTRIKE: "updiagonalstrike",
DOWNDIAGONALSTRIKE: "downdiagonalstrike",
UPDIAGONALARROW: "updiagonalarrow",
VERTICALSTRIKE: "verticalstrike",
HORIZONTALSTRIKE: "horizontalstrike",
PHASORANGLE: "phasorangle",
MADRUWB: "madruwb",
},
ALIGN: {
TOP: "top",
BOTTOM: "bottom",
CENTER: "center",
BASELINE: "baseline",
AXIS: "axis",
LEFT: "left",
RIGHT: "right",
},
LINES: { NONE: "none", SOLID: "solid", DASHED: "dashed" },
SIDE: {
LEFT: "left",
RIGHT: "right",
LEFTOVERLAP: "leftoverlap",
RIGHTOVERLAP: "rightoverlap",
},
WIDTH: { AUTO: "auto", FIT: "fit" },
ACTIONTYPE: {
TOGGLE: "toggle",
STATUSLINE: "statusline",
TOOLTIP: "tooltip",
INPUT: "input",
},
LENGTH: {
VERYVERYTHINMATHSPACE: "veryverythinmathspace",
VERYTHINMATHSPACE: "verythinmathspace",
THINMATHSPACE: "thinmathspace",
MEDIUMMATHSPACE: "mediummathspace",
THICKMATHSPACE: "thickmathspace",
VERYTHICKMATHSPACE: "verythickmathspace",
VERYVERYTHICKMATHSPACE: "veryverythickmathspace",
NEGATIVEVERYVERYTHINMATHSPACE: "negativeveryverythinmathspace",
NEGATIVEVERYTHINMATHSPACE: "negativeverythinmathspace",
NEGATIVETHINMATHSPACE: "negativethinmathspace",
NEGATIVEMEDIUMMATHSPACE: "negativemediummathspace",
NEGATIVETHICKMATHSPACE: "negativethickmathspace",
NEGATIVEVERYTHICKMATHSPACE: "negativeverythickmathspace",
NEGATIVEVERYVERYTHICKMATHSPACE: "negativeveryverythickmathspace",
},
OVERFLOW: {
LINBREAK: "linebreak",
SCROLL: "scroll",
ELIDE: "elide",
TRUNCATE: "truncate",
SCALE: "scale",
},
UNIT: {
EM: "em",
EX: "ex",
PX: "px",
IN: "in",
CM: "cm",
MM: "mm",
PT: "pt",
PC: "pc",
},
TEXCLASS: {
ORD: 0,
OP: 1,
BIN: 2,
REL: 3,
OPEN: 4,
CLOSE: 5,
PUNCT: 6,
INNER: 7,
VCENTER: 8,
NONE: -1,
},
TEXCLASSNAMES: [
"ORD",
"OP",
"BIN",
"REL",
"OPEN",
"CLOSE",
"PUNCT",
"INNER",
"VCENTER",
],
skipAttributes: { texClass: !0, useHeight: !0, texprimestyle: !0 },
copyAttributes: {
displaystyle: 1,
scriptlevel: 1,
open: 1,
close: 1,
form: 1,
actiontype: 1,
fontfamily: !0,
fontsize: !0,
fontweight: !0,
fontstyle: !0,
color: !0,
background: !0,
id: !0,
class: 1,
href: !0,
style: !0,
},
copyAttributeNames: [
"displaystyle",
"scriptlevel",
"open",
"close",
"form",
"actiontype",
"fontfamily",
"fontsize",
"fontweight",
"fontstyle",
"color",
"background",
"id",
"class",
"href",
"style",
],
nocopyAttributes: {
fontfamily: !0,
fontsize: !0,
fontweight: !0,
fontstyle: !0,
color: !0,
background: !0,
id: !0,
class: !0,
href: !0,
style: !0,
xmlns: !0,
},
Error: function (t, e) {
var i = this.merror(t),
n = MathJax.Localization.fontDirection(),
a = MathJax.Localization.fontFamily();
return (
e && (i = i.With(e)),
(n || a) &&
((i = this.mstyle(i)),
n && (i.dir = n),
a && (i.style.fontFamily = "font-family: " + a)),
i
);
},
},
),
(function (t) {
(t.mbase = MathJax.Object.Subclass(
{
type: "base",
isToken: !1,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
dir: t.INHERIT,
},
noInherit: {},
noInheritAttribute: { texClass: !0 },
getRemoved: {},
linebreakContainer: !1,
Init: function () {
(this.data = []),
!this.inferRow ||
(1 === arguments.length && arguments[0].inferred) ||
this.Append(t.mrow().With({ inferred: !0, notParent: !0 })),
this.Append.apply(this, arguments);
},
With: function (t) {
for (var e in t) t.hasOwnProperty(e) && (this[e] = t[e]);
return this;
},
Append: function () {
if (this.inferRow && this.data.length)
this.data[0].Append.apply(this.data[0], arguments);
else
for (var t = 0, e = arguments.length; t < e; t++)
this.SetData(this.data.length, arguments[t]);
},
SetData: function (e, i) {
null != i &&
(i instanceof t.mbase ||
(i = this.isToken || this.isChars ? t.chars(i) : t.mtext(i)),
(i.parent = this),
i.setInherit(this.inheritFromMe ? this : this.inherit)),
(this.data[e] = i);
},
Parent: function () {
for (var t = this.parent; t && t.notParent; ) t = t.parent;
return t;
},
Get: function (e, i, n) {
if (!n) {
if (null != this[e]) return this[e];
if (this.attr && null != this.attr[e]) return this.attr[e];
}
var a = this.Parent();
if (a && null != a["adjustChild_" + e])
return a["adjustChild_" + e](this.childPosition(), i);
for (var s = this.inherit, r = s; s; ) {
var o = s[e];
if (
(null == o && s.attr && (o = s.attr[e]),
s.removedStyles &&
s.getRemoved[e] &&
null == o &&
(o = s.removedStyles[s.getRemoved[e]]),
null != o && s.noInheritAttribute && !s.noInheritAttribute[e])
) {
var l = s.noInherit[this.type];
if (!l || !l[e]) return o;
}
(r = s), (s = s.inherit);
}
if (!i) {
if (this.defaults[e] === t.AUTO) return this.autoDefault(e);
if (this.defaults[e] !== t.INHERIT && null != this.defaults[e])
return this.defaults[e];
if (r) return r.defaults[e];
}
return null;
},
hasValue: function (t) {
return null != this.Get(t, !0);
},
getValues: function () {
for (var t = {}, e = 0, i = arguments.length; e < i; e++)
t[arguments[e]] = this.Get(arguments[e]);
return t;
},
adjustChild_scriptlevel: function (t, e) {
return this.Get("scriptlevel", e);
},
adjustChild_displaystyle: function (t, e) {
return this.Get("displaystyle", e);
},
adjustChild_texprimestyle: function (t, e) {
return this.Get("texprimestyle", e);
},
childPosition: function () {
for (var t = this, e = t.parent; e.notParent; )
e = (t = e).parent;
for (var i = 0, n = e.data.length; i < n; i++)
if (e.data[i] === t) return i;
return null;
},
setInherit: function (t) {
if (t !== this.inherit && null == this.inherit) {
this.inherit = t;
for (var e = 0, i = this.data.length; e < i; e++)
this.data[e] &&
this.data[e].setInherit &&
this.data[e].setInherit(t);
}
},
setTeXclass: function (t) {
return this.getPrevClass(t), void 0 !== this.texClass ? this : t;
},
getPrevClass: function (t) {
t &&
((this.prevClass = t.Get("texClass")),
(this.prevLevel = t.Get("scriptlevel")));
},
updateTeXclass: function (t) {
t &&
((this.prevClass = t.prevClass),
delete t.prevClass,
(this.prevLevel = t.prevLevel),
delete t.prevLevel,
(this.texClass = t.Get("texClass")));
},
texSpacing: function () {
var e = null != this.prevClass ? this.prevClass : t.TEXCLASS.NONE,
i = this.Get("texClass") || t.TEXCLASS.ORD;
if (e === t.TEXCLASS.NONE || i === t.TEXCLASS.NONE) return "";
e === t.TEXCLASS.VCENTER && (e = t.TEXCLASS.ORD),
i === t.TEXCLASS.VCENTER && (i = t.TEXCLASS.ORD);
var n = this.TEXSPACE[e][i];
return (this.prevLevel > 0 || this.Get("scriptlevel") > 0) &&
n >= 0
? ""
: this.TEXSPACELENGTH[Math.abs(n)];
},
TEXSPACELENGTH: [
"",
t.LENGTH.THINMATHSPACE,
t.LENGTH.MEDIUMMATHSPACE,
t.LENGTH.THICKMATHSPACE,
],
TEXSPACE: [
[0, -1, 2, 3, 0, 0, 0, 1],
[-1, -1, 0, 3, 0, 0, 0, 1],
[2, 2, 0, 0, 2, 0, 0, 2],
[3, 3, 0, 0, 3, 0, 0, 3],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, -1, 2, 3, 0, 0, 0, 1],
[1, 1, 0, 1, 1, 1, 1, 1],
[1, -1, 2, 3, 1, 0, 1, 1],
],
autoDefault: function (t) {
return "";
},
isSpacelike: function () {
return !1;
},
isEmbellished: function () {
return !1;
},
Core: function () {
return this;
},
CoreMO: function () {
return this;
},
childIndex: function (t) {
if (null != t)
for (var e = 0, i = this.data.length; e < i; e++)
if (t === this.data[e]) return e;
},
CoreIndex: function () {
return ((this.inferRow && this.data[0]) || this).childIndex(
this.Core(),
);
},
hasNewline: function () {
if (this.isEmbellished()) return this.CoreMO().hasNewline();
if (this.isToken || this.linebreakContainer) return !1;
for (var t = 0, e = this.data.length; t < e; t++)
if (this.data[t] && this.data[t].hasNewline()) return !0;
return !1;
},
array: function () {
return this.inferred ? this.data : [this];
},
toString: function () {
return this.type + "(" + this.data.join(",") + ")";
},
getAnnotation: function () {
return null;
},
},
{
childrenSpacelike: function () {
for (var t = 0, e = this.data.length; t < e; t++)
if (!this.data[t].isSpacelike()) return !1;
return !0;
},
childEmbellished: function () {
return this.data[0] && this.data[0].isEmbellished();
},
childCore: function () {
return this.inferRow && this.data[0]
? this.data[0].Core()
: this.data[0];
},
childCoreMO: function () {
return this.data[0] ? this.data[0].CoreMO() : null;
},
setChildTeXclass: function (t) {
return (
this.data[0] &&
((t = this.data[0].setTeXclass(t)),
this.updateTeXclass(this.data[0])),
t
);
},
setBaseTeXclasses: function (e) {
this.getPrevClass(e),
(this.texClass = null),
this.data[0]
? this.isEmbellished() || this.data[0].isa(t.mi)
? ((e = this.data[0].setTeXclass(e)),
this.updateTeXclass(this.Core()))
: (this.data[0].setTeXclass(), (e = this))
: (e = this);
for (var i = 1, n = this.data.length; i < n; i++)
this.data[i] && this.data[i].setTeXclass();
return e;
},
setSeparateTeXclasses: function (t) {
this.getPrevClass(t);
for (var e = 0, i = this.data.length; e < i; e++)
this.data[e] && this.data[e].setTeXclass();
return (
this.isEmbellished() && this.updateTeXclass(this.Core()), this
);
},
},
)),
(t.mi = t.mbase.Subclass({
type: "mi",
isToken: !0,
texClass: t.TEXCLASS.ORD,
defaults: {
mathvariant: t.AUTO,
mathsize: t.INHERIT,
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
dir: t.INHERIT,
},
autoDefault: function (e) {
if ("mathvariant" === e) {
var i = (this.data[0] || "").toString();
return 1 === i.length ||
(2 === i.length &&
i.charCodeAt(0) >= 55296 &&
i.charCodeAt(0) < 56320)
? t.VARIANT.ITALIC
: t.VARIANT.NORMAL;
}
return "";
},
setTeXclass: function (e) {
this.getPrevClass(e);
var i = this.data.join("");
return (
i.length > 1 &&
i.match(/^[a-z][a-z0-9]*$/i) &&
this.texClass === t.TEXCLASS.ORD &&
((this.texClass = t.TEXCLASS.OP), (this.autoOP = !0)),
this
);
},
})),
(t.mn = t.mbase.Subclass({
type: "mn",
isToken: !0,
texClass: t.TEXCLASS.ORD,
defaults: {
mathvariant: t.INHERIT,
mathsize: t.INHERIT,
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
dir: t.INHERIT,
},
})),
(t.mo = t.mbase.Subclass({
type: "mo",
isToken: !0,
defaults: {
mathvariant: t.INHERIT,
mathsize: t.INHERIT,
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
dir: t.INHERIT,
form: t.AUTO,
fence: t.AUTO,
separator: t.AUTO,
lspace: t.AUTO,
rspace: t.AUTO,
stretchy: t.AUTO,
symmetric: t.AUTO,
maxsize: t.AUTO,
minsize: t.AUTO,
largeop: t.AUTO,
movablelimits: t.AUTO,
accent: t.AUTO,
linebreak: t.LINEBREAK.AUTO,
lineleading: t.INHERIT,
linebreakstyle: t.AUTO,
linebreakmultchar: t.INHERIT,
indentalign: t.INHERIT,
indentshift: t.INHERIT,
indenttarget: t.INHERIT,
indentalignfirst: t.INHERIT,
indentshiftfirst: t.INHERIT,
indentalignlast: t.INHERIT,
indentshiftlast: t.INHERIT,
texClass: t.AUTO,
},
defaultDef: {
form: t.FORM.INFIX,
fence: !1,
separator: !1,
lspace: t.LENGTH.THICKMATHSPACE,
rspace: t.LENGTH.THICKMATHSPACE,
stretchy: !1,
symmetric: !1,
maxsize: t.SIZE.INFINITY,
minsize: "0em",
largeop: !1,
movablelimits: !1,
accent: !1,
linebreak: t.LINEBREAK.AUTO,
lineleading: "1ex",
linebreakstyle: "before",
indentalign: t.INDENTALIGN.AUTO,
indentshift: "0",
indenttarget: "",
indentalignfirst: t.INDENTALIGN.INDENTALIGN,
indentshiftfirst: t.INDENTSHIFT.INDENTSHIFT,
indentalignlast: t.INDENTALIGN.INDENTALIGN,
indentshiftlast: t.INDENTSHIFT.INDENTSHIFT,
texClass: t.TEXCLASS.REL,
},
SPACE_ATTR: { lspace: 1, rspace: 2, form: 4 },
useMMLspacing: 7,
autoDefault: function (e, i) {
var n = this.def;
if (!n) {
if ("form" === e)
return (
(this.useMMLspacing &= ~this.SPACE_ATTR.form),
this.getForm()
);
for (
var a = this.data.join(""),
s = [
this.Get("form"),
t.FORM.INFIX,
t.FORM.POSTFIX,
t.FORM.PREFIX,
],
r = 0,
o = s.length;
r < o;
r++
) {
var l = this.OPTABLE[s[r]][a];
if (l) {
n = this.makeDef(l);
break;
}
}
n || (n = this.CheckRange(a)),
!n && i
? (n = {})
: (n || (n = MathJax.Hub.Insert({}, this.defaultDef)),
this.parent
? (this.def = n)
: (n = MathJax.Hub.Insert({}, n)),
(n.form = s[0]));
}
return (
(this.useMMLspacing &= ~(this.SPACE_ATTR[e] || 0)),
null != n[e] ? n[e] : i ? "" : this.defaultDef[e]
);
},
CheckRange: function (e) {
var i = e.charCodeAt(0);
i >= 55296 &&
i < 56320 &&
(i = ((i - 55296) << 10) + (e.charCodeAt(1) - 56320) + 65536);
for (
var n = 0, a = this.RANGES.length;
n < a && this.RANGES[n][0] <= i;
n++
)
if (i <= this.RANGES[n][1]) {
if (this.RANGES[n][3]) {
var s = t.optableDir + "/" + this.RANGES[n][3] + ".js";
(this.RANGES[n][3] = null),
MathJax.Hub.RestartAfter(MathJax.Ajax.Require(s));
}
var r = t.TEXCLASSNAMES[this.RANGES[n][2]];
return (
(r = this.OPTABLE.infix[e] =
t.mo.OPTYPES["BIN" === r ? "BIN3" : r]),
this.makeDef(r)
);
}
return null;
},
makeDef: function (e) {
null == e[2] && (e[2] = this.defaultDef.texClass),
e[3] || (e[3] = {});
var i = MathJax.Hub.Insert({}, e[3]);
return (
(i.lspace = this.SPACE[e[0]]),
(i.rspace = this.SPACE[e[1]]),
(i.texClass = e[2]),
i.texClass === t.TEXCLASS.REL &&
(this.movablelimits ||
this.data.join("").match(/^[a-z]+$/i)) &&
(i.texClass = t.TEXCLASS.OP),
i
);
},
getForm: function () {
for (
var e = this, i = this.parent, n = this.Parent();
n && n.isEmbellished();
)
(e = i), (i = n.parent), (n = n.Parent());
if (i && "mrow" === i.type && 1 !== i.NonSpaceLength()) {
if (i.FirstNonSpace() === e) return t.FORM.PREFIX;
if (i.LastNonSpace() === e) return t.FORM.POSTFIX;
}
return t.FORM.INFIX;
},
isEmbellished: function () {
return !0;
},
hasNewline: function () {
return this.Get("linebreak") === t.LINEBREAK.NEWLINE;
},
CoreParent: function () {
for (
var e = this;
e && e.isEmbellished() && e.CoreMO() === this && !e.isa(t.math);
)
e = e.Parent();
return e;
},
CoreText: function (e) {
if (!e) return "";
if (e.isEmbellished()) return e.CoreMO().data.join("");
for (
;
(((e.isa(t.mrow) ||
e.isa(t.TeXAtom) ||
e.isa(t.mstyle) ||
e.isa(t.mphantom)) &&
1 === e.data.length) ||
e.isa(t.munderover)) &&
e.data[0];
)
e = e.data[0];
return e.isToken ? e.data.join("") : "";
},
remapChars: {
"*": "\u2217",
'"': "\u2033",
"\xb0": "\u2218",
"\xb2": "2",
"\xb3": "3",
"\xb4": "\u2032",
"\xb9": "1",
},
remap: function (t, e) {
return (
(t = t.replace(/-/g, "\u2212")),
e &&
1 ===
(t = t.replace(/'/g, "\u2032").replace(/`/g, "\u2035"))
.length &&
(t = e[t] || t),
t
);
},
setTeXclass: function (e) {
var i = this.getValues("form", "lspace", "rspace", "fence");
return this.useMMLspacing
? ((this.texClass = t.TEXCLASS.NONE), this)
: (i.fence &&
!this.texClass &&
(i.form === t.FORM.PREFIX &&
(this.texClass = t.TEXCLASS.OPEN),
i.form === t.FORM.POSTFIX &&
(this.texClass = t.TEXCLASS.CLOSE)),
(this.texClass = this.Get("texClass")),
"\u2061" === this.data.join("")
? (e && ((e.texClass = t.TEXCLASS.OP), (e.fnOP = !0)),
(this.texClass = this.prevClass = t.TEXCLASS.NONE),
e)
: this.adjustTeXclass(e));
},
adjustTeXclass: function (e) {
if (this.texClass === t.TEXCLASS.NONE) return e;
if (
(e
? (!e.autoOP ||
(this.texClass !== t.TEXCLASS.BIN &&
this.texClass !== t.TEXCLASS.REL) ||
(e.texClass = t.TEXCLASS.ORD),
(this.prevClass = e.texClass || t.TEXCLASS.ORD),
(this.prevLevel = e.Get("scriptlevel")))
: (this.prevClass = t.TEXCLASS.NONE),
this.texClass !== t.TEXCLASS.BIN ||
(this.prevClass !== t.TEXCLASS.NONE &&
this.prevClass !== t.TEXCLASS.BIN &&
this.prevClass !== t.TEXCLASS.OP &&
this.prevClass !== t.TEXCLASS.REL &&
this.prevClass !== t.TEXCLASS.OPEN &&
this.prevClass !== t.TEXCLASS.PUNCT))
)
if (
this.prevClass !== t.TEXCLASS.BIN ||
(this.texClass !== t.TEXCLASS.REL &&
this.texClass !== t.TEXCLASS.CLOSE &&
this.texClass !== t.TEXCLASS.PUNCT)
) {
if (this.texClass === t.TEXCLASS.BIN) {
for (
var i = this, n = this.parent;
n &&
n.parent &&
n.isEmbellished() &&
(1 === n.data.length ||
("mrow" !== n.type && n.Core() === i));
)
(i = n), (n = n.parent);
n.data[n.data.length - 1] === i &&
(this.texClass = t.TEXCLASS.ORD);
}
} else e.texClass = this.prevClass = t.TEXCLASS.ORD;
else this.texClass = t.TEXCLASS.ORD;
return this;
},
})),
(t.mtext = t.mbase.Subclass({
type: "mtext",
isToken: !0,
isSpacelike: function () {
return !0;
},
texClass: t.TEXCLASS.ORD,
defaults: {
mathvariant: t.INHERIT,
mathsize: t.INHERIT,
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
dir: t.INHERIT,
},
})),
(t.mspace = t.mbase.Subclass({
type: "mspace",
isToken: !0,
isSpacelike: function () {
return !0;
},
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
width: "0em",
height: "0ex",
depth: "0ex",
linebreak: t.LINEBREAK.AUTO,
},
hasDimAttr: function () {
return (
this.hasValue("width") ||
this.hasValue("height") ||
this.hasValue("depth")
);
},
hasNewline: function () {
return (
!this.hasDimAttr() &&
this.Get("linebreak") === t.LINEBREAK.NEWLINE
);
},
})),
(t.ms = t.mbase.Subclass({
type: "ms",
isToken: !0,
texClass: t.TEXCLASS.ORD,
defaults: {
mathvariant: t.INHERIT,
mathsize: t.INHERIT,
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
dir: t.INHERIT,
lquote: '"',
rquote: '"',
},
})),
(t.mglyph = t.mbase.Subclass({
type: "mglyph",
isToken: !0,
texClass: t.TEXCLASS.ORD,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
alt: "",
src: "",
width: t.AUTO,
height: t.AUTO,
valign: "0em",
},
})),
(t.mrow = t.mbase.Subclass({
type: "mrow",
isSpacelike: t.mbase.childrenSpacelike,
inferred: !1,
notParent: !1,
isEmbellished: function () {
for (var t = !1, e = 0, i = this.data.length; e < i; e++)
if (null != this.data[e])
if (this.data[e].isEmbellished()) {
if (t) return !1;
(t = !0), (this.core = e);
} else if (!this.data[e].isSpacelike()) return !1;
return t;
},
NonSpaceLength: function () {
for (var t = 0, e = 0, i = this.data.length; e < i; e++)
this.data[e] && !this.data[e].isSpacelike() && t++;
return t;
},
FirstNonSpace: function () {
for (var t = 0, e = this.data.length; t < e; t++)
if (this.data[t] && !this.data[t].isSpacelike())
return this.data[t];
return null;
},
LastNonSpace: function () {
for (var t = this.data.length - 1; t >= 0; t--)
if (this.data[0] && !this.data[t].isSpacelike())
return this.data[t];
return null;
},
Core: function () {
return this.isEmbellished() && void 0 !== this.core
? this.data[this.core]
: this;
},
CoreMO: function () {
return this.isEmbellished() && void 0 !== this.core
? this.data[this.core].CoreMO()
: this;
},
toString: function () {
return this.inferred
? "[" + this.data.join(",") + "]"
: this.SUPER(arguments).toString.call(this);
},
setTeXclass: function (e) {
var i,
n = this.data.length;
if ((!this.open && !this.close) || (e && e.fnOP)) {
for (i = 0; i < n; i++)
this.data[i] && (e = this.data[i].setTeXclass(e));
return this.data[0] && this.updateTeXclass(this.data[0]), e;
}
for (this.getPrevClass(e), e = null, i = 0; i < n; i++)
this.data[i] && (e = this.data[i].setTeXclass(e));
return (
this.hasOwnProperty("texClass") ||
(this.texClass = t.TEXCLASS.INNER),
this
);
},
getAnnotation: function (t) {
return 1 != this.data.length
? null
: this.data[0].getAnnotation(t);
},
})),
(t.mfrac = t.mbase.Subclass({
type: "mfrac",
num: 0,
den: 1,
linebreakContainer: !0,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
linethickness: t.LINETHICKNESS.MEDIUM,
numalign: t.ALIGN.CENTER,
denomalign: t.ALIGN.CENTER,
bevelled: !1,
},
adjustChild_displaystyle: function (t) {
return !1;
},
adjustChild_scriptlevel: function (t) {
var e = this.Get("scriptlevel");
return (!this.Get("displaystyle") || e > 0) && e++, e;
},
adjustChild_texprimestyle: function (t) {
return t == this.den || this.Get("texprimestyle");
},
setTeXclass: t.mbase.setSeparateTeXclasses,
})),
(t.msqrt = t.mbase.Subclass({
type: "msqrt",
inferRow: !0,
linebreakContainer: !0,
texClass: t.TEXCLASS.ORD,
setTeXclass: t.mbase.setSeparateTeXclasses,
adjustChild_texprimestyle: function (t) {
return !0;
},
})),
(t.mroot = t.mbase.Subclass({
type: "mroot",
linebreakContainer: !0,
texClass: t.TEXCLASS.ORD,
adjustChild_displaystyle: function (t) {
return 1 !== t && this.Get("displaystyle");
},
adjustChild_scriptlevel: function (t) {
var e = this.Get("scriptlevel");
return 1 === t && (e += 2), e;
},
adjustChild_texprimestyle: function (t) {
return 0 === t || this.Get("texprimestyle");
},
setTeXclass: t.mbase.setSeparateTeXclasses,
})),
(t.mstyle = t.mbase.Subclass({
type: "mstyle",
isSpacelike: t.mbase.childrenSpacelike,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
inferRow: !0,
defaults: {
scriptlevel: t.INHERIT,
displaystyle: t.INHERIT,
scriptsizemultiplier: Math.sqrt(0.5),
scriptminsize: "8pt",
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
dir: t.INHERIT,
infixlinebreakstyle: t.LINEBREAKSTYLE.BEFORE,
decimalseparator: ".",
},
adjustChild_scriptlevel: function (t) {
var e = this.scriptlevel;
if (null == e) e = this.Get("scriptlevel");
else if (String(e).match(/^ *[-+]/)) {
e = this.Get("scriptlevel", null, !0) + parseInt(e);
}
return e;
},
inheritFromMe: !0,
noInherit: {
mpadded: {
width: !0,
height: !0,
depth: !0,
lspace: !0,
voffset: !0,
},
mtable: { width: !0, height: !0, depth: !0, align: !0 },
},
getRemoved: {
fontfamily: "fontFamily",
fontweight: "fontWeight",
fontstyle: "fontStyle",
fontsize: "fontSize",
},
setTeXclass: t.mbase.setChildTeXclass,
})),
(t.merror = t.mbase.Subclass({
type: "merror",
inferRow: !0,
linebreakContainer: !0,
texClass: t.TEXCLASS.ORD,
})),
(t.mpadded = t.mbase.Subclass({
type: "mpadded",
inferRow: !0,
isSpacelike: t.mbase.childrenSpacelike,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
width: "",
height: "",
depth: "",
lspace: 0,
voffset: 0,
},
setTeXclass: t.mbase.setChildTeXclass,
})),
(t.mphantom = t.mbase.Subclass({
type: "mphantom",
texClass: t.TEXCLASS.ORD,
inferRow: !0,
isSpacelike: t.mbase.childrenSpacelike,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
setTeXclass: t.mbase.setChildTeXclass,
})),
(t.mfenced = t.mbase.Subclass({
type: "mfenced",
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
open: "(",
close: ")",
separators: ",",
},
addFakeNodes: function () {
var e = this.getValues("open", "close", "separators");
if (
((e.open = e.open.replace(/[ \t\n\r]/g, "")),
(e.close = e.close.replace(/[ \t\n\r]/g, "")),
(e.separators = e.separators.replace(/[ \t\n\r]/g, "")),
"" !== e.open &&
(this.SetData(
"open",
t.mo(e.open).With({
fence: !0,
form: t.FORM.PREFIX,
texClass: t.TEXCLASS.OPEN,
}),
),
(this.data.open.useMMLspacing = 0)),
"" !== e.separators)
) {
for (; e.separators.length < this.data.length; )
e.separators += e.separators.charAt(e.separators.length - 1);
for (var i = 1, n = this.data.length; i < n; i++)
this.data[i] &&
(this.SetData(
"sep" + i,
t.mo(e.separators.charAt(i - 1)).With({ separator: !0 }),
),
(this.data["sep" + i].useMMLspacing = 0));
}
"" !== e.close &&
(this.SetData(
"close",
t.mo(e.close).With({
fence: !0,
form: t.FORM.POSTFIX,
texClass: t.TEXCLASS.CLOSE,
}),
),
(this.data.close.useMMLspacing = 0));
},
texClass: t.TEXCLASS.OPEN,
setTeXclass: function (e) {
this.addFakeNodes(),
this.getPrevClass(e),
this.data.open && (e = this.data.open.setTeXclass(e)),
this.data[0] && (e = this.data[0].setTeXclass(e));
for (var i = 1, n = this.data.length; i < n; i++)
this.data["sep" + i] &&
(e = this.data["sep" + i].setTeXclass(e)),
this.data[i] && (e = this.data[i].setTeXclass(e));
return (
this.data.close && (e = this.data.close.setTeXclass(e)),
this.updateTeXclass(this.data.open),
(this.texClass = t.TEXCLASS.INNER),
e
);
},
})),
(t.menclose = t.mbase.Subclass({
type: "menclose",
inferRow: !0,
linebreakContainer: !0,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
notation: t.NOTATION.LONGDIV,
texClass: t.TEXCLASS.ORD,
},
setTeXclass: t.mbase.setSeparateTeXclasses,
})),
(t.msubsup = t.mbase.Subclass({
type: "msubsup",
base: 0,
sub: 1,
sup: 2,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
subscriptshift: "",
superscriptshift: "",
texClass: t.AUTO,
},
autoDefault: function (e) {
return "texClass" === e
? this.isEmbellished()
? this.CoreMO().Get(e)
: t.TEXCLASS.ORD
: 0;
},
adjustChild_displaystyle: function (t) {
return !(t > 0) && this.Get("displaystyle");
},
adjustChild_scriptlevel: function (t) {
var e = this.Get("scriptlevel");
return t > 0 && e++, e;
},
adjustChild_texprimestyle: function (t) {
return t === this.sub || this.Get("texprimestyle");
},
setTeXclass: t.mbase.setBaseTeXclasses,
})),
(t.msub = t.msubsup.Subclass({ type: "msub" })),
(t.msup = t.msubsup.Subclass({ type: "msup", sub: 2, sup: 1 })),
(t.mmultiscripts = t.msubsup.Subclass({
type: "mmultiscripts",
adjustChild_texprimestyle: function (t) {
return t % 2 == 1 || this.Get("texprimestyle");
},
})),
(t.mprescripts = t.mbase.Subclass({ type: "mprescripts" })),
(t.none = t.mbase.Subclass({ type: "none" })),
(t.munderover = t.mbase.Subclass({
type: "munderover",
base: 0,
under: 1,
over: 2,
sub: 1,
sup: 2,
ACCENTS: ["", "accentunder", "accent"],
linebreakContainer: !0,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
accent: t.AUTO,
accentunder: t.AUTO,
align: t.ALIGN.CENTER,
texClass: t.AUTO,
subscriptshift: "",
superscriptshift: "",
},
autoDefault: function (e) {
return "texClass" === e
? this.isEmbellished()
? this.CoreMO().Get(e)
: t.TEXCLASS.ORD
: "accent" === e && this.data[this.over]
? this.data[this.over].CoreMO().Get("accent")
: !("accentunder" !== e || !this.data[this.under]) &&
this.data[this.under].CoreMO().Get("accent");
},
adjustChild_displaystyle: function (t) {
return !(t > 0) && this.Get("displaystyle");
},
adjustChild_scriptlevel: function (t) {
var e = this.Get("scriptlevel"),
i =
this.data[this.base] &&
!this.Get("displaystyle") &&
this.data[this.base].CoreMO().Get("movablelimits");
return (
t != this.under || (!i && this.Get("accentunder")) || e++,
t != this.over || (!i && this.Get("accent")) || e++,
e
);
},
adjustChild_texprimestyle: function (t) {
return (
!(t !== this.base || !this.data[this.over]) ||
this.Get("texprimestyle")
);
},
setTeXclass: t.mbase.setBaseTeXclasses,
})),
(t.munder = t.munderover.Subclass({ type: "munder" })),
(t.mover = t.munderover.Subclass({
type: "mover",
over: 1,
under: 2,
sup: 1,
sub: 2,
ACCENTS: ["", "accent", "accentunder"],
})),
(t.mtable = t.mbase.Subclass({
type: "mtable",
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
align: t.ALIGN.AXIS,
rowalign: t.ALIGN.BASELINE,
columnalign: t.ALIGN.CENTER,
groupalign: "{left}",
alignmentscope: !0,
columnwidth: t.WIDTH.AUTO,
width: t.WIDTH.AUTO,
rowspacing: "1ex",
columnspacing: ".8em",
rowlines: t.LINES.NONE,
columnlines: t.LINES.NONE,
frame: t.LINES.NONE,
framespacing: "0.4em 0.5ex",
equalrows: !1,
equalcolumns: !1,
displaystyle: !1,
side: t.SIDE.RIGHT,
minlabelspacing: "0.8em",
texClass: t.TEXCLASS.ORD,
useHeight: 1,
},
adjustChild_displaystyle: function () {
return null != this.displaystyle
? this.displaystyle
: this.defaults.displaystyle;
},
inheritFromMe: !0,
noInherit: {
mover: { align: !0 },
munder: { align: !0 },
munderover: { align: !0 },
mtable: {
align: !0,
rowalign: !0,
columnalign: !0,
groupalign: !0,
alignmentscope: !0,
columnwidth: !0,
width: !0,
rowspacing: !0,
columnspacing: !0,
rowlines: !0,
columnlines: !0,
frame: !0,
framespacing: !0,
equalrows: !0,
equalcolumns: !0,
displaystyle: !0,
side: !0,
minlabelspacing: !0,
texClass: !0,
useHeight: 1,
},
},
linebreakContainer: !0,
Append: function () {
for (var e = 0, i = arguments.length; e < i; e++)
arguments[e] instanceof t.mtr ||
arguments[e] instanceof t.mlabeledtr ||
(arguments[e] = t.mtr(arguments[e]));
this.SUPER(arguments).Append.apply(this, arguments);
},
setTeXclass: t.mbase.setSeparateTeXclasses,
})),
(t.mtr = t.mbase.Subclass({
type: "mtr",
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
rowalign: t.INHERIT,
columnalign: t.INHERIT,
groupalign: t.INHERIT,
},
inheritFromMe: !0,
noInherit: {
mrow: { rowalign: !0, columnalign: !0, groupalign: !0 },
mtable: { rowalign: !0, columnalign: !0, groupalign: !0 },
},
linebreakContainer: !0,
Append: function () {
for (var e = 0, i = arguments.length; e < i; e++)
arguments[e] instanceof t.mtd ||
(arguments[e] = t.mtd(arguments[e]));
this.SUPER(arguments).Append.apply(this, arguments);
},
setTeXclass: t.mbase.setSeparateTeXclasses,
})),
(t.mtd = t.mbase.Subclass({
type: "mtd",
inferRow: !0,
linebreakContainer: !0,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
rowspan: 1,
columnspan: 1,
rowalign: t.INHERIT,
columnalign: t.INHERIT,
groupalign: t.INHERIT,
},
setTeXclass: t.mbase.setSeparateTeXclasses,
})),
(t.maligngroup = t.mbase.Subclass({
type: "maligngroup",
isSpacelike: function () {
return !0;
},
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
groupalign: t.INHERIT,
},
inheritFromMe: !0,
noInherit: { mrow: { groupalign: !0 }, mtable: { groupalign: !0 } },
})),
(t.malignmark = t.mbase.Subclass({
type: "malignmark",
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
edge: t.SIDE.LEFT,
},
isSpacelike: function () {
return !0;
},
})),
(t.mlabeledtr = t.mtr.Subclass({ type: "mlabeledtr" })),
(t.maction = t.mbase.Subclass({
type: "maction",
defaults: {
mathbackground: t.INHERIT,
mathcolor: t.INHERIT,
actiontype: t.ACTIONTYPE.TOGGLE,
selection: 1,
},
selected: function () {
return this.data[this.Get("selection") - 1] || t.NULL;
},
isEmbellished: function () {
return this.selected().isEmbellished();
},
isSpacelike: function () {
return this.selected().isSpacelike();
},
Core: function () {
return this.selected().Core();
},
CoreMO: function () {
return this.selected().CoreMO();
},
setTeXclass: function (e) {
this.Get("actiontype") === t.ACTIONTYPE.TOOLTIP &&
this.data[1] &&
this.data[1].setTeXclass();
var i = this.selected();
return (e = i.setTeXclass(e)), this.updateTeXclass(i), e;
},
})),
(t.semantics = t.mbase.Subclass({
type: "semantics",
notParent: !0,
isEmbellished: t.mbase.childEmbellished,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
defaults: { definitionURL: null, encoding: null },
setTeXclass: t.mbase.setChildTeXclass,
getAnnotation: function (t) {
var e = MathJax.Hub.config.MathMenu.semanticsAnnotations[t];
if (e)
for (var i = 0, n = this.data.length; i < n; i++) {
var a = this.data[i].Get("encoding");
if (a)
for (var s = 0, r = e.length; s < r; s++)
if (e[s] === a) return this.data[i];
}
return null;
},
})),
(t.annotation = t.mbase.Subclass({
type: "annotation",
isChars: !0,
linebreakContainer: !0,
defaults: {
definitionURL: null,
encoding: null,
cd: "mathmlkeys",
name: "",
src: null,
},
})),
(t["annotation-xml"] = t.mbase.Subclass({
type: "annotation-xml",
linebreakContainer: !0,
defaults: {
definitionURL: null,
encoding: null,
cd: "mathmlkeys",
name: "",
src: null,
},
})),
(t.math = t.mstyle.Subclass({
type: "math",
defaults: {
mathvariant: t.VARIANT.NORMAL,
mathsize: t.SIZE.NORMAL,
mathcolor: "",
mathbackground: t.COLOR.TRANSPARENT,
dir: "ltr",
scriptlevel: 0,
displaystyle: t.AUTO,
display: "inline",
maxwidth: "",
overflow: t.OVERFLOW.LINEBREAK,
altimg: "",
"altimg-width": "",
"altimg-height": "",
"altimg-valign": "",
alttext: "",
cdgroup: "",
scriptsizemultiplier: Math.sqrt(0.5),
scriptminsize: "8px",
infixlinebreakstyle: t.LINEBREAKSTYLE.BEFORE,
lineleading: "1ex",
indentshift: "auto",
indentalign: t.INDENTALIGN.AUTO,
indentalignfirst: t.INDENTALIGN.INDENTALIGN,
indentshiftfirst: t.INDENTSHIFT.INDENTSHIFT,
indentalignlast: t.INDENTALIGN.INDENTALIGN,
indentshiftlast: t.INDENTSHIFT.INDENTSHIFT,
decimalseparator: ".",
texprimestyle: !1,
},
autoDefault: function (t) {
return "displaystyle" === t
? "block" === this.Get("display")
: "";
},
linebreakContainer: !0,
setTeXclass: t.mbase.setChildTeXclass,
getAnnotation: function (t) {
return 1 != this.data.length
? null
: this.data[0].getAnnotation(t);
},
})),
(t.chars = t.mbase.Subclass({
type: "chars",
Append: function () {
this.data.push.apply(this.data, arguments);
},
value: function () {
return this.data.join("");
},
toString: function () {
return this.data.join("");
},
})),
(t.entity = t.mbase.Subclass({
type: "entity",
Append: function () {
this.data.push.apply(this.data, arguments);
},
value: function () {
return "#x" === this.data[0].substr(0, 2)
? parseInt(this.data[0].substr(2), 16)
: "#" === this.data[0].substr(0, 1)
? parseInt(this.data[0].substr(1))
: 0;
},
toString: function () {
var t = this.value();
return t <= 65535
? String.fromCharCode(t)
: ((t -= 65536),
String.fromCharCode(55296 + (t >> 10), 56320 + (1023 & t)));
},
})),
(t.xml = t.mbase.Subclass({
type: "xml",
Init: function () {
return (
(this.div = document.createElement("div")),
this.SUPER(arguments).Init.apply(this, arguments)
);
},
Append: function () {
for (var t = 0, e = arguments.length; t < e; t++) {
var i = this.Import(arguments[t]);
this.data.push(i), this.div.appendChild(i);
}
},
Import: function (t) {
if (document.importNode) return document.importNode(t, !0);
var e, i, n;
if (1 === t.nodeType) {
for (
e = document.createElement(t.nodeName),
i = 0,
n = t.attributes.length;
i < n;
i++
) {
var a = t.attributes[i];
a.specified &&
null != a.nodeValue &&
"" != a.nodeValue &&
e.setAttribute(a.nodeName, a.nodeValue),
"style" === a.nodeName && (e.style.cssText = a.nodeValue);
}
t.className && (e.className = t.className);
} else if (3 === t.nodeType || 4 === t.nodeType)
e = document.createTextNode(t.nodeValue);
else {
if (8 !== t.nodeType) return document.createTextNode("");
e = document.createComment(t.nodeValue);
}
for (i = 0, n = t.childNodes.length; i < n; i++)
e.appendChild(this.Import(t.childNodes[i]));
return e;
},
value: function () {
return this.div;
},
toString: function () {
return this.div.innerHTML;
},
})),
(t.TeXAtom = t.mbase.Subclass({
type: "texatom",
linebreakContainer: !0,
inferRow: !0,
notParent: !0,
texClass: t.TEXCLASS.ORD,
Core: t.mbase.childCore,
CoreMO: t.mbase.childCoreMO,
isEmbellished: t.mbase.childEmbellished,
setTeXclass: function (t) {
return this.data[0].setTeXclass(), this.adjustTeXclass(t);
},
adjustTeXclass: t.mo.prototype.adjustTeXclass,
})),
(t.NULL = t.mbase().With({ type: "null" }));
var e = t.TEXCLASS,
i = {
ORD: [0, 0, e.ORD],
ORD11: [1, 1, e.ORD],
ORD21: [2, 1, e.ORD],
ORD02: [0, 2, e.ORD],
ORD55: [5, 5, e.ORD],
OP: [1, 2, e.OP, { largeop: !0, movablelimits: !0, symmetric: !0 }],
OPFIXED: [1, 2, e.OP, { largeop: !0, movablelimits: !0 }],
INTEGRAL: [0, 1, e.OP, { largeop: !0, symmetric: !0 }],
INTEGRAL2: [1, 2, e.OP, { largeop: !0, symmetric: !0 }],
BIN3: [3, 3, e.BIN],
BIN4: [4, 4, e.BIN],
BIN01: [0, 1, e.BIN],
BIN5: [5, 5, e.BIN],
TALLBIN: [4, 4, e.BIN, { stretchy: !0 }],
BINOP: [4, 4, e.BIN, { largeop: !0, movablelimits: !0 }],
REL: [5, 5, e.REL],
REL1: [1, 1, e.REL, { stretchy: !0 }],
REL4: [4, 4, e.REL],
RELSTRETCH: [5, 5, e.REL, { stretchy: !0 }],
RELACCENT: [5, 5, e.REL, { accent: !0 }],
WIDEREL: [5, 5, e.REL, { accent: !0, stretchy: !0 }],
OPEN: [0, 0, e.OPEN, { fence: !0, stretchy: !0, symmetric: !0 }],
CLOSE: [0, 0, e.CLOSE, { fence: !0, stretchy: !0, symmetric: !0 }],
INNER: [0, 0, e.INNER],
PUNCT: [0, 3, e.PUNCT],
ACCENT: [0, 0, e.ORD, { accent: !0 }],
WIDEACCENT: [0, 0, e.ORD, { accent: !0, stretchy: !0 }],
};
t.mo.Augment(
{
SPACE: [
"0em",
"0.1111em",
"0.1667em",
"0.2222em",
"0.2667em",
"0.3333em",
],
RANGES: [
[32, 127, e.REL, "BasicLatin"],
[160, 255, e.ORD, "Latin1Supplement"],
[256, 383, e.ORD],
[384, 591, e.ORD],
[688, 767, e.ORD, "SpacingModLetters"],
[768, 879, e.ORD, "CombDiacritMarks"],
[880, 1023, e.ORD, "GreekAndCoptic"],
[7680, 7935, e.ORD],
[8192, 8303, e.PUNCT, "GeneralPunctuation"],
[8304, 8351, e.ORD],
[8352, 8399, e.ORD],
[8400, 8447, e.ORD, "CombDiactForSymbols"],
[8448, 8527, e.ORD, "LetterlikeSymbols"],
[8528, 8591, e.ORD],
[8592, 8703, e.REL, "Arrows"],
[8704, 8959, e.BIN, "MathOperators"],
[8960, 9215, e.ORD, "MiscTechnical"],
[9312, 9471, e.ORD],
[9472, 9631, e.ORD],
[9632, 9727, e.ORD, "GeometricShapes"],
[9984, 10175, e.ORD, "Dingbats"],
[10176, 10223, e.ORD, "MiscMathSymbolsA"],
[10224, 10239, e.REL, "SupplementalArrowsA"],
[10496, 10623, e.REL, "SupplementalArrowsB"],
[10624, 10751, e.ORD, "MiscMathSymbolsB"],
[10752, 11007, e.BIN, "SuppMathOperators"],
[11008, 11263, e.ORD, "MiscSymbolsAndArrows"],
[119808, 120831, e.ORD],
],
OPTABLE: {
prefix: {
"\u2200": i.ORD21,
"\u2202": i.ORD21,
"\u2203": i.ORD21,
"\u2207": i.ORD21,
"\u220f": i.OP,
"\u2210": i.OP,
"\u2211": i.OP,
"\u2212": i.BIN01,
"\u2213": i.BIN01,
"\u221a": [1, 1, e.ORD, { stretchy: !0 }],
"\u2220": i.ORD,
"\u222b": i.INTEGRAL,
"\u222e": i.INTEGRAL,
"\u22c0": i.OP,
"\u22c1": i.OP,
"\u22c2": i.OP,
"\u22c3": i.OP,
"\u2308": i.OPEN,
"\u230a": i.OPEN,
"\u27e8": i.OPEN,
"\u27ee": i.OPEN,
"\u2a00": i.OP,
"\u2a01": i.OP,
"\u2a02": i.OP,
"\u2a04": i.OP,
"\u2a06": i.OP,
"\xac": i.ORD21,
"\xb1": i.BIN01,
"(": i.OPEN,
"+": i.BIN01,
"-": i.BIN01,
"[": i.OPEN,
"{": i.OPEN,
"|": i.OPEN,
},
postfix: {
"!": [1, 0, e.CLOSE],
"&": i.ORD,
"\u2032": i.ORD02,
"\u203e": i.WIDEACCENT,
"\u2309": i.CLOSE,
"\u230b": i.CLOSE,
"\u23de": i.WIDEACCENT,
"\u23df": i.WIDEACCENT,
"\u266d": i.ORD02,
"\u266e": i.ORD02,
"\u266f": i.ORD02,
"\u27e9": i.CLOSE,
"\u27ef": i.CLOSE,
"\u02c6": i.WIDEACCENT,
"\u02c7": i.WIDEACCENT,
"\u02c9": i.WIDEACCENT,
"\u02ca": i.ACCENT,
"\u02cb": i.ACCENT,
"\u02d8": i.ACCENT,
"\u02d9": i.ACCENT,
"\u02dc": i.WIDEACCENT,
"\u0302": i.WIDEACCENT,
"\xa8": i.ACCENT,
"\xaf": i.WIDEACCENT,
")": i.CLOSE,
"]": i.CLOSE,
"^": i.WIDEACCENT,
_: i.WIDEACCENT,
"`": i.ACCENT,
"|": i.CLOSE,
"}": i.CLOSE,
"~": i.WIDEACCENT,
},
infix: {
"": i.ORD,
"%": [3, 3, e.ORD],
"\u2022": i.BIN4,
"\u2026": i.INNER,
"\u2044": i.TALLBIN,
"\u2061": i.ORD,
"\u2062": i.ORD,
"\u2063": [
0,
0,
e.ORD,
{ linebreakstyle: "after", separator: !0 },
],
"\u2064": i.ORD,
"\u2190": i.WIDEREL,
"\u2191": i.RELSTRETCH,
"\u2192": i.WIDEREL,
"\u2193": i.RELSTRETCH,
"\u2194": i.WIDEREL,
"\u2195": i.RELSTRETCH,
"\u2196": i.RELSTRETCH,
"\u2197": i.RELSTRETCH,
"\u2198": i.RELSTRETCH,
"\u2199": i.RELSTRETCH,
"\u21a6": i.WIDEREL,
"\u21a9": i.WIDEREL,
"\u21aa": i.WIDEREL,
"\u21bc": i.WIDEREL,
"\u21bd": i.WIDEREL,
"\u21c0": i.WIDEREL,
"\u21c1": i.WIDEREL,
"\u21cc": i.WIDEREL,
"\u21d0": i.WIDEREL,
"\u21d1": i.RELSTRETCH,
"\u21d2": i.WIDEREL,
"\u21d3": i.RELSTRETCH,
"\u21d4": i.WIDEREL,
"\u21d5": i.RELSTRETCH,
"\u2208": i.REL,
"\u2209": i.REL,
"\u220b": i.REL,
"\u2212": i.BIN4,
"\u2213": i.BIN4,
"\u2215": i.TALLBIN,
"\u2216": i.BIN4,
"\u2217": i.BIN4,
"\u2218": i.BIN4,
"\u2219": i.BIN4,
"\u221d": i.REL,
"\u2223": i.REL,
"\u2225": i.REL,
"\u2227": i.BIN4,
"\u2228": i.BIN4,
"\u2229": i.BIN4,
"\u222a": i.BIN4,
"\u223c": i.REL,
"\u2240": i.BIN4,
"\u2243": i.REL,
"\u2245": i.REL,
"\u2248": i.REL,
"\u224d": i.REL,
"\u2250": i.REL,
"\u2260": i.REL,
"\u2261": i.REL,
"\u2264": i.REL,
"\u2265": i.REL,
"\u226a": i.REL,
"\u226b": i.REL,
"\u227a": i.REL,
"\u227b": i.REL,
"\u2282": i.REL,
"\u2283": i.REL,
"\u2286": i.REL,
"\u2287": i.REL,
"\u228e": i.BIN4,
"\u2291": i.REL,
"\u2292": i.REL,
"\u2293": i.BIN4,
"\u2294": i.BIN4,
"\u2295": i.BIN4,
"\u2296": i.BIN4,
"\u2297": i.BIN4,
"\u2298": i.BIN4,
"\u2299": i.BIN4,
"\u22a2": i.REL,
"\u22a3": i.REL,
"\u22a4": i.ORD55,
"\u22a5": i.REL,
"\u22a8": i.REL,
"\u22c4": i.BIN4,
"\u22c5": i.BIN4,
"\u22c6": i.BIN4,
"\u22c8": i.REL,
"\u22ee": i.ORD55,
"\u22ef": i.INNER,
"\u22f1": [5, 5, e.INNER],
"\u25b3": i.BIN4,
"\u25b5": i.BIN4,
"\u25b9": i.BIN4,
"\u25bd": i.BIN4,
"\u25bf": i.BIN4,
"\u25c3": i.BIN4,
"\u2758": i.REL,
"\u27f5": i.WIDEREL,
"\u27f6": i.WIDEREL,
"\u27f7": i.WIDEREL,
"\u27f8": i.WIDEREL,
"\u27f9": i.WIDEREL,
"\u27fa": i.WIDEREL,
"\u27fc": i.WIDEREL,
"\u2a2f": i.BIN4,
"\u2a3f": i.BIN4,
"\u2aaf": i.REL,
"\u2ab0": i.REL,
"\xb1": i.BIN4,
"\xb7": i.BIN4,
"\xd7": i.BIN4,
"\xf7": i.BIN4,
"*": i.BIN3,
"+": i.BIN4,
",": [
0,
3,
e.PUNCT,
{ linebreakstyle: "after", separator: !0 },
],
"-": i.BIN4,
".": [3, 3, e.ORD],
"/": i.ORD11,
":": [1, 2, e.REL],
";": [
0,
3,
e.PUNCT,
{ linebreakstyle: "after", separator: !0 },
],
"<": i.REL,
"=": i.REL,
">": i.REL,
"?": [1, 1, e.CLOSE],
"\\": i.ORD,
"^": i.ORD11,
_: i.ORD11,
"|": [2, 2, e.ORD, { fence: !0, stretchy: !0, symmetric: !0 }],
"#": i.ORD,
$: i.ORD,
".": [0, 3, e.PUNCT, { separator: !0 }],
"\u02b9": i.ORD,
"\u0300": i.ACCENT,
"\u0301": i.ACCENT,
"\u0303": i.WIDEACCENT,
"\u0304": i.ACCENT,
"\u0306": i.ACCENT,
"\u0307": i.ACCENT,
"\u0308": i.ACCENT,
"\u030c": i.ACCENT,
"\u0332": i.WIDEACCENT,
"\u0338": i.REL4,
"\u2015": [0, 0, e.ORD, { stretchy: !0 }],
"\u2017": [0, 0, e.ORD, { stretchy: !0 }],
"\u2020": i.BIN3,
"\u2021": i.BIN3,
"\u20d7": i.ACCENT,
"\u2111": i.ORD,
"\u2113": i.ORD,
"\u2118": i.ORD,
"\u211c": i.ORD,
"\u2205": i.ORD,
"\u221e": i.ORD,
"\u2305": i.BIN3,
"\u2306": i.BIN3,
"\u2322": i.REL4,
"\u2323": i.REL4,
"\u2329": i.OPEN,
"\u232a": i.CLOSE,
"\u23aa": i.ORD,
"\u23af": [0, 0, e.ORD, { stretchy: !0 }],
"\u23b0": i.OPEN,
"\u23b1": i.CLOSE,
"\u2500": i.ORD,
"\u25ef": i.BIN3,
"\u2660": i.ORD,
"\u2661": i.ORD,
"\u2662": i.ORD,
"\u2663": i.ORD,
"\u3008": i.OPEN,
"\u3009": i.CLOSE,
"\ufe37": i.WIDEACCENT,
"\ufe38": i.WIDEACCENT,
},
},
},
{ OPTYPES: i },
);
var n = t.mo.prototype.OPTABLE;
(n.infix["^"] = i.WIDEREL),
(n.infix._ = i.WIDEREL),
(n.prefix["\u2223"] = i.OPEN),
(n.prefix["\u2225"] = i.OPEN),
(n.postfix["\u2223"] = i.CLOSE),
(n.postfix["\u2225"] = i.CLOSE);
})(MathJax.ElementJax.mml),
MathJax.ElementJax.mml.loadComplete("jax.js");
},
function (t, e) {
(MathJax.InputJax.AsciiMath = MathJax.InputJax({
id: "AsciiMath",
version: "2.7.2",
directory: MathJax.InputJax.directory + "/AsciiMath",
extensionDir: MathJax.InputJax.extensionDir + "/AsciiMath",
config: {
fixphi: !0,
useMathMLspacing: !0,
displaystyle: !0,
decimalsign: ".",
},
})),
MathJax.InputJax.AsciiMath.Register("math/asciimath"),
MathJax.InputJax.AsciiMath.loadComplete("config.js");
},
function (t, e) {
var i, n;
!(function (t) {
var e,
i = MathJax.Object.Subclass({
firstChild: null,
lastChild: null,
Init: function () {
this.childNodes = [];
},
appendChild: function (t) {
return (
t.parent && t.parent.removeChild(t),
this.lastChild && (this.lastChild.nextSibling = t),
this.firstChild || (this.firstChild = t),
this.childNodes.push(t),
(t.parent = this),
(this.lastChild = t),
t
);
},
removeChild: function (t) {
for (
var e = 0, i = this.childNodes.length;
e < i && this.childNodes[e] !== t;
e++
);
if (e !== i)
return (
this.childNodes.splice(e, 1),
t === this.firstChild && (this.firstChild = t.nextSibling),
t === this.lastChild &&
(this.childNodes.length
? (this.lastChild =
this.childNodes[this.childNodes.length - 1])
: (this.lastChild = null)),
e && (this.childNodes[e - 1].nextSibling = t.nextSibling),
(t.nextSibling = t.parent = null),
t
);
},
replaceChild: function (t, e) {
for (
var i = 0, n = this.childNodes.length;
i < n && this.childNodes[i] !== e;
i++
);
return (
i
? (this.childNodes[i - 1].nextSibling = t)
: (this.firstChild = t),
i >= n - 1 && (this.lastChild = t),
(this.childNodes[i] = t),
(t.nextSibling = e.nextSibling),
(e.nextSibling = e.parent = null),
e
);
},
hasChildNodes: function (t) {
return this.childNodes.length > 0;
},
toString: function () {
return "{" + this.childNodes.join("") + "}";
},
}),
n = {
getElementById: !0,
createElementNS: function (i, n) {
var a = e[n]();
return (
"mo" === n &&
t.config.useMathMLspacing &&
(a.useMMLspacing = 128),
a
);
},
createTextNode: function (t) {
return e.chars(t).With({ nodeValue: t });
},
createDocumentFragment: function () {
return i();
},
},
a = { appName: "MathJax" },
s = "blue",
r = "serif",
o = !0,
l = !0,
u = ".",
h = "Microsoft" == a.appName.slice(0, 9);
function p(t) {
return h
? n.createElement(t)
: n.createElementNS("http://www.w3.org/1999/xhtml", t);
}
var c = "http://www.w3.org/1998/Math/MathML";
function d(t) {
return h ? n.createElement("m:" + t) : n.createElementNS(c, t);
}
function m(t, e) {
var i;
return (
(i = h ? n.createElement("m:" + t) : n.createElementNS(c, t)),
e && i.appendChild(e),
i
);
}
var f = [
"\ud835\udc9c",
"\u212c",
"\ud835\udc9e",
"\ud835\udc9f",
"\u2130",
"\u2131",
"\ud835\udca2",
"\u210b",
"\u2110",
"\ud835\udca5",
"\ud835\udca6",
"\u2112",
"\u2133",
"\ud835\udca9",
"\ud835\udcaa",
"\ud835\udcab",
"\ud835\udcac",
"\u211b",
"\ud835\udcae",
"\ud835\udcaf",
"\ud835\udcb0",
"\ud835\udcb1",
"\ud835\udcb2",
"\ud835\udcb3",
"\ud835\udcb4",
"\ud835\udcb5",
"\ud835\udcb6",
"\ud835\udcb7",
"\ud835\udcb8",
"\ud835\udcb9",
"\u212f",
"\ud835\udcbb",
"\u210a",
"\ud835\udcbd",
"\ud835\udcbe",
"\ud835\udcbf",
"\ud835\udcc0",
"\ud835\udcc1",
"\ud835\udcc2",
"\ud835\udcc3",
"\u2134",
"\ud835\udcc5",
"\ud835\udcc6",
"\ud835\udcc7",
"\ud835\udcc8",
"\ud835\udcc9",
"\ud835\udcca",
"\ud835\udccb",
"\ud835\udccc",
"\ud835\udccd",
"\ud835\udcce",
"\ud835\udccf",
],
g = [
"\ud835\udd04",
"\ud835\udd05",
"\u212d",
"\ud835\udd07",
"\ud835\udd08",
"\ud835\udd09",
"\ud835\udd0a",
"\u210c",
"\u2111",
"\ud835\udd0d",
"\ud835\udd0e",
"\ud835\udd0f",
"\ud835\udd10",
"\ud835\udd11",
"\ud835\udd12",
"\ud835\udd13",
"\ud835\udd14",
"\u211c",
"\ud835\udd16",
"\ud835\udd17",
"\ud835\udd18",
"\ud835\udd19",
"\ud835\udd1a",
"\ud835\udd1b",
"\ud835\udd1c",
"\u2128",
"\ud835\udd1e",
"\ud835\udd1f",
"\ud835\udd20",
"\ud835\udd21",
"\ud835\udd22",
"\ud835\udd23",
"\ud835\udd24",
"\ud835\udd25",
"\ud835\udd26",
"\ud835\udd27",
"\ud835\udd28",
"\ud835\udd29",
"\ud835\udd2a",
"\ud835\udd2b",
"\ud835\udd2c",
"\ud835\udd2d",
"\ud835\udd2e",
"\ud835\udd2f",
"\ud835\udd30",
"\ud835\udd31",
"\ud835\udd32",
"\ud835\udd33",
"\ud835\udd34",
"\ud835\udd35",
"\ud835\udd36",
"\ud835\udd37",
],
E = [
"\ud835\udd38",
"\ud835\udd39",
"\u2102",
"\ud835\udd3b",
"\ud835\udd3c",
"\ud835\udd3d",
"\ud835\udd3e",
"\u210d",
"\ud835\udd40",
"\ud835\udd41",
"\ud835\udd42",
"\ud835\udd43",
"\ud835\udd44",
"\u2115",
"\ud835\udd46",
"\u2119",
"\u211a",
"\u211d",
"\ud835\udd4a",
"\ud835\udd4b",
"\ud835\udd4c",
"\ud835\udd4d",
"\ud835\udd4e",
"\ud835\udd4f",
"\ud835\udd50",
"\u2124",
"\ud835\udd52",
"\ud835\udd53",
"\ud835\udd54",
"\ud835\udd55",
"\ud835\udd56",
"\ud835\udd57",
"\ud835\udd58",
"\ud835\udd59",
"\ud835\udd5a",
"\ud835\udd5b",
"\ud835\udd5c",
"\ud835\udd5d",
"\ud835\udd5e",
"\ud835\udd5f",
"\ud835\udd60",
"\ud835\udd61",
"\ud835\udd62",
"\ud835\udd63",
"\ud835\udd64",
"\ud835\udd65",
"\ud835\udd66",
"\ud835\udd67",
"\ud835\udd68",
"\ud835\udd69",
"\ud835\udd6a",
"\ud835\udd6b",
],
y = 8,
x = { input: '"', tag: "mtext", output: "mbox", tex: null, ttype: 10 },
T = [
{ input: "alpha", tag: "mi", output: "\u03b1", tex: null, ttype: 0 },
{ input: "beta", tag: "mi", output: "\u03b2", tex: null, ttype: 0 },
{ input: "chi", tag: "mi", output: "\u03c7", tex: null, ttype: 0 },
{ input: "delta", tag: "mi", output: "\u03b4", tex: null, ttype: 0 },
{ input: "Delta", tag: "mo", output: "\u0394", tex: null, ttype: 0 },
{
input: "epsi",
tag: "mi",
output: "\u03b5",
tex: "epsilon",
ttype: 0,
},
{
input: "varepsilon",
tag: "mi",
output: "\u025b",
tex: null,
ttype: 0,
},
{ input: "eta", tag: "mi", output: "\u03b7", tex: null, ttype: 0 },
{ input: "gamma", tag: "mi", output: "\u03b3", tex: null, ttype: 0 },
{ input: "Gamma", tag: "mo", output: "\u0393", tex: null, ttype: 0 },
{ input: "iota", tag: "mi", output: "\u03b9", tex: null, ttype: 0 },
{ input: "kappa", tag: "mi", output: "\u03ba", tex: null, ttype: 0 },
{ input: "lambda", tag: "mi", output: "\u03bb", tex: null, ttype: 0 },
{ input: "Lambda", tag: "mo", output: "\u039b", tex: null, ttype: 0 },
{ input: "lamda", tag: "mi", output: "\u03bb", tex: null, ttype: 0 },
{ input: "Lamda", tag: "mo", output: "\u039b", tex: null, ttype: 0 },
{ input: "mu", tag: "mi", output: "\u03bc", tex: null, ttype: 0 },
{ input: "nu", tag: "mi", output: "\u03bd", tex: null, ttype: 0 },
{ input: "omega", tag: "mi", output: "\u03c9", tex: null, ttype: 0 },
{ input: "Omega", tag: "mo", output: "\u03a9", tex: null, ttype: 0 },
{ input: "phi", tag: "mi", output: "\u03d5", tex: null, ttype: 0 },
{ input: "varphi", tag: "mi", output: "\u03c6", tex: null, ttype: 0 },
{ input: "Phi", tag: "mo", output: "\u03a6", tex: null, ttype: 0 },
{ input: "pi", tag: "mi", output: "\u03c0", tex: null, ttype: 0 },
{ input: "Pi", tag: "mo", output: "\u03a0", tex: null, ttype: 0 },
{ input: "psi", tag: "mi", output: "\u03c8", tex: null, ttype: 0 },
{ input: "Psi", tag: "mi", output: "\u03a8", tex: null, ttype: 0 },
{ input: "rho", tag: "mi", output: "\u03c1", tex: null, ttype: 0 },
{ input: "sigma", tag: "mi", output: "\u03c3", tex: null, ttype: 0 },
{ input: "Sigma", tag: "mo", output: "\u03a3", tex: null, ttype: 0 },
{ input: "tau", tag: "mi", output: "\u03c4", tex: null, ttype: 0 },
{ input: "theta", tag: "mi", output: "\u03b8", tex: null, ttype: 0 },
{
input: "vartheta",
tag: "mi",
output: "\u03d1",
tex: null,
ttype: 0,
},
{ input: "Theta", tag: "mo", output: "\u0398", tex: null, ttype: 0 },
{
input: "upsilon",
tag: "mi",
output: "\u03c5",
tex: null,
ttype: 0,
},
{ input: "xi", tag: "mi", output: "\u03be", tex: null, ttype: 0 },
{ input: "Xi", tag: "mo", output: "\u039e", tex: null, ttype: 0 },
{ input: "zeta", tag: "mi", output: "\u03b6", tex: null, ttype: 0 },
{ input: "*", tag: "mo", output: "\u22c5", tex: "cdot", ttype: 0 },
{ input: "**", tag: "mo", output: "\u2217", tex: "ast", ttype: 0 },
{ input: "***", tag: "mo", output: "\u22c6", tex: "star", ttype: 0 },
{ input: "//", tag: "mo", output: "/", tex: null, ttype: 0 },
{
input: "\\\\",
tag: "mo",
output: "\\",
tex: "backslash",
ttype: 0,
},
{ input: "setminus", tag: "mo", output: "\\", tex: null, ttype: 0 },
{ input: "xx", tag: "mo", output: "\xd7", tex: "times", ttype: 0 },
{
input: "|><",
tag: "mo",
output: "\u22c9",
tex: "ltimes",
ttype: 0,
},
{
input: "><|",
tag: "mo",
output: "\u22ca",
tex: "rtimes",
ttype: 0,
},
{
input: "|><|",
tag: "mo",
output: "\u22c8",
tex: "bowtie",
ttype: 0,
},
{ input: "-:", tag: "mo", output: "\xf7", tex: "div", ttype: 0 },
{ input: "divide", tag: "mo", output: "-:", tex: null, ttype: y },
{ input: "@", tag: "mo", output: "\u2218", tex: "circ", ttype: 0 },
{ input: "o+", tag: "mo", output: "\u2295", tex: "oplus", ttype: 0 },
{ input: "ox", tag: "mo", output: "\u2297", tex: "otimes", ttype: 0 },
{ input: "o.", tag: "mo", output: "\u2299", tex: "odot", ttype: 0 },
{ input: "sum", tag: "mo", output: "\u2211", tex: null, ttype: 7 },
{ input: "prod", tag: "mo", output: "\u220f", tex: null, ttype: 7 },
{ input: "^^", tag: "mo", output: "\u2227", tex: "wedge", ttype: 0 },
{
input: "^^^",
tag: "mo",
output: "\u22c0",
tex: "bigwedge",
ttype: 7,
},
{ input: "vv", tag: "mo", output: "\u2228", tex: "vee", ttype: 0 },
{
input: "vvv",
tag: "mo",
output: "\u22c1",
tex: "bigvee",
ttype: 7,
},
{ input: "nn", tag: "mo", output: "\u2229", tex: "cap", ttype: 0 },
{
input: "nnn",
tag: "mo",
output: "\u22c2",
tex: "bigcap",
ttype: 7,
},
{ input: "uu", tag: "mo", output: "\u222a", tex: "cup", ttype: 0 },
{
input: "uuu",
tag: "mo",
output: "\u22c3",
tex: "bigcup",
ttype: 7,
},
{ input: "!=", tag: "mo", output: "\u2260", tex: "ne", ttype: 0 },
{ input: ":=", tag: "mo", output: ":=", tex: null, ttype: 0 },
{ input: "lt", tag: "mo", output: "<", tex: null, ttype: 0 },
{ input: "<=", tag: "mo", output: "\u2264", tex: "le", ttype: 0 },
{ input: "lt=", tag: "mo", output: "\u2264", tex: "leq", ttype: 0 },
{ input: "gt", tag: "mo", output: ">", tex: null, ttype: 0 },
{ input: ">=", tag: "mo", output: "\u2265", tex: "ge", ttype: 0 },
{ input: "gt=", tag: "mo", output: "\u2265", tex: "geq", ttype: 0 },
{ input: "-<", tag: "mo", output: "\u227a", tex: "prec", ttype: 0 },
{ input: "-lt", tag: "mo", output: "\u227a", tex: null, ttype: 0 },
{ input: ">-", tag: "mo", output: "\u227b", tex: "succ", ttype: 0 },
{
input: "-<=",
tag: "mo",
output: "\u2aaf",
tex: "preceq",
ttype: 0,
},
{
input: ">-=",
tag: "mo",
output: "\u2ab0",
tex: "succeq",
ttype: 0,
},
{ input: "in", tag: "mo", output: "\u2208", tex: null, ttype: 0 },
{ input: "!in", tag: "mo", output: "\u2209", tex: "notin", ttype: 0 },
{
input: "sub",
tag: "mo",
output: "\u2282",
tex: "subset",
ttype: 0,
},
{
input: "sup",
tag: "mo",
output: "\u2283",
tex: "supset",
ttype: 0,
},
{
input: "sube",
tag: "mo",
output: "\u2286",
tex: "subseteq",
ttype: 0,
},
{
input: "supe",
tag: "mo",
output: "\u2287",
tex: "supseteq",
ttype: 0,
},
{ input: "-=", tag: "mo", output: "\u2261", tex: "equiv", ttype: 0 },
{ input: "~=", tag: "mo", output: "\u2245", tex: "cong", ttype: 0 },
{ input: "~~", tag: "mo", output: "\u2248", tex: "approx", ttype: 0 },
{
input: "prop",
tag: "mo",
output: "\u221d",
tex: "propto",
ttype: 0,
},
{ input: "and", tag: "mtext", output: "and", tex: null, ttype: 6 },
{ input: "or", tag: "mtext", output: "or", tex: null, ttype: 6 },
{ input: "not", tag: "mo", output: "\xac", tex: "neg", ttype: 0 },
{
input: "=>",
tag: "mo",
output: "\u21d2",
tex: "implies",
ttype: 0,
},
{ input: "if", tag: "mo", output: "if", tex: null, ttype: 6 },
{ input: "<=>", tag: "mo", output: "\u21d4", tex: "iff", ttype: 0 },
{ input: "AA", tag: "mo", output: "\u2200", tex: "forall", ttype: 0 },
{ input: "EE", tag: "mo", output: "\u2203", tex: "exists", ttype: 0 },
{ input: "_|_", tag: "mo", output: "\u22a5", tex: "bot", ttype: 0 },
{ input: "TT", tag: "mo", output: "\u22a4", tex: "top", ttype: 0 },
{ input: "|--", tag: "mo", output: "\u22a2", tex: "vdash", ttype: 0 },
{
input: "|==",
tag: "mo",
output: "\u22a8",
tex: "models",
ttype: 0,
},
{ input: "(", tag: "mo", output: "(", tex: null, ttype: 4 },
{ input: ")", tag: "mo", output: ")", tex: null, ttype: 5 },
{ input: "[", tag: "mo", output: "[", tex: null, ttype: 4 },
{ input: "]", tag: "mo", output: "]", tex: null, ttype: 5 },
{ input: "{", tag: "mo", output: "{", tex: null, ttype: 4 },
{ input: "}", tag: "mo", output: "}", tex: null, ttype: 5 },
{ input: "|", tag: "mo", output: "|", tex: null, ttype: 9 },
{ input: "(:", tag: "mo", output: "\u2329", tex: "langle", ttype: 4 },
{ input: ":)", tag: "mo", output: "\u232a", tex: "rangle", ttype: 5 },
{ input: "<<", tag: "mo", output: "\u2329", tex: null, ttype: 4 },
{ input: ">>", tag: "mo", output: "\u232a", tex: null, ttype: 5 },
{
input: "{:",
tag: "mo",
output: "{:",
tex: null,
ttype: 4,
invisible: !0,
},
{
input: ":}",
tag: "mo",
output: ":}",
tex: null,
ttype: 5,
invisible: !0,
},
{ input: "int", tag: "mo", output: "\u222b", tex: null, ttype: 0 },
{ input: "dx", tag: "mi", output: "{:d x:}", tex: null, ttype: y },
{ input: "dy", tag: "mi", output: "{:d y:}", tex: null, ttype: y },
{ input: "dz", tag: "mi", output: "{:d z:}", tex: null, ttype: y },
{ input: "dt", tag: "mi", output: "{:d t:}", tex: null, ttype: y },
{ input: "oint", tag: "mo", output: "\u222e", tex: null, ttype: 0 },
{
input: "del",
tag: "mo",
output: "\u2202",
tex: "partial",
ttype: 0,
},
{
input: "grad",
tag: "mo",
output: "\u2207",
tex: "nabla",
ttype: 0,
},
{ input: "+-", tag: "mo", output: "\xb1", tex: "pm", ttype: 0 },
{
input: "O/",
tag: "mo",
output: "\u2205",
tex: "emptyset",
ttype: 0,
},
{ input: "oo", tag: "mo", output: "\u221e", tex: "infty", ttype: 0 },
{ input: "aleph", tag: "mo", output: "\u2135", tex: null, ttype: 0 },
{ input: "...", tag: "mo", output: "...", tex: "ldots", ttype: 0 },
{
input: ":.",
tag: "mo",
output: "\u2234",
tex: "therefore",
ttype: 0,
},
{
input: ":'",
tag: "mo",
output: "\u2235",
tex: "because",
ttype: 0,
},
{ input: "/_", tag: "mo", output: "\u2220", tex: "angle", ttype: 0 },
{
input: "/_\\",
tag: "mo",
output: "\u25b3",
tex: "triangle",
ttype: 0,
},
{ input: "'", tag: "mo", output: "\u2032", tex: "prime", ttype: 0 },
{
input: "tilde",
tag: "mover",
output: "~",
tex: null,
ttype: 1,
acc: !0,
},
{ input: "\\ ", tag: "mo", output: "\xa0", tex: null, ttype: 0 },
{ input: "frown", tag: "mo", output: "\u2322", tex: null, ttype: 0 },
{ input: "quad", tag: "mo", output: "\xa0\xa0", tex: null, ttype: 0 },
{
input: "qquad",
tag: "mo",
output: "\xa0\xa0\xa0\xa0",
tex: null,
ttype: 0,
},
{ input: "cdots", tag: "mo", output: "\u22ef", tex: null, ttype: 0 },
{ input: "vdots", tag: "mo", output: "\u22ee", tex: null, ttype: 0 },
{ input: "ddots", tag: "mo", output: "\u22f1", tex: null, ttype: 0 },
{
input: "diamond",
tag: "mo",
output: "\u22c4",
tex: null,
ttype: 0,
},
{ input: "square", tag: "mo", output: "\u25a1", tex: null, ttype: 0 },
{
input: "|__",
tag: "mo",
output: "\u230a",
tex: "lfloor",
ttype: 0,
},
{
input: "__|",
tag: "mo",
output: "\u230b",
tex: "rfloor",
ttype: 0,
},
{
input: "|~",
tag: "mo",
output: "\u2308",
tex: "lceiling",
ttype: 0,
},
{
input: "~|",
tag: "mo",
output: "\u2309",
tex: "rceiling",
ttype: 0,
},
{ input: "CC", tag: "mo", output: "\u2102", tex: null, ttype: 0 },
{ input: "NN", tag: "mo", output: "\u2115", tex: null, ttype: 0 },
{ input: "QQ", tag: "mo", output: "\u211a", tex: null, ttype: 0 },
{ input: "RR", tag: "mo", output: "\u211d", tex: null, ttype: 0 },
{ input: "ZZ", tag: "mo", output: "\u2124", tex: null, ttype: 0 },
{ input: "f", tag: "mi", output: "f", tex: null, ttype: 1, func: !0 },
{ input: "g", tag: "mi", output: "g", tex: null, ttype: 1, func: !0 },
{ input: "lim", tag: "mo", output: "lim", tex: null, ttype: 7 },
{ input: "Lim", tag: "mo", output: "Lim", tex: null, ttype: 7 },
{
input: "sin",
tag: "mo",
output: "sin",
tex: null,
ttype: 1,
func: !0,
},
{
input: "cos",
tag: "mo",
output: "cos",
tex: null,
ttype: 1,
func: !0,
},
{
input: "tan",
tag: "mo",
output: "tan",
tex: null,
ttype: 1,
func: !0,
},
{
input: "sinh",
tag: "mo",
output: "sinh",
tex: null,
ttype: 1,
func: !0,
},
{
input: "cosh",
tag: "mo",
output: "cosh",
tex: null,
ttype: 1,
func: !0,
},
{
input: "tanh",
tag: "mo",
output: "tanh",
tex: null,
ttype: 1,
func: !0,
},
{
input: "cot",
tag: "mo",
output: "cot",
tex: null,
ttype: 1,
func: !0,
},
{
input: "sec",
tag: "mo",
output: "sec",
tex: null,
ttype: 1,
func: !0,
},
{
input: "csc",
tag: "mo",
output: "csc",
tex: null,
ttype: 1,
func: !0,
},
{
input: "arcsin",
tag: "mo",
output: "arcsin",
tex: null,
ttype: 1,
func: !0,
},
{
input: "arccos",
tag: "mo",
output: "arccos",
tex: null,
ttype: 1,
func: !0,
},
{
input: "arctan",
tag: "mo",
output: "arctan",
tex: null,
ttype: 1,
func: !0,
},
{
input: "coth",
tag: "mo",
output: "coth",
tex: null,
ttype: 1,
func: !0,
},
{
input: "sech",
tag: "mo",
output: "sech",
tex: null,
ttype: 1,
func: !0,
},
{
input: "csch",
tag: "mo",
output: "csch",
tex: null,
ttype: 1,
func: !0,
},
{
input: "exp",
tag: "mo",
output: "exp",
tex: null,
ttype: 1,
func: !0,
},
{
input: "abs",
tag: "mo",
output: "abs",
tex: null,
ttype: 1,
rewriteleftright: ["|", "|"],
},
{
input: "norm",
tag: "mo",
output: "norm",
tex: null,
ttype: 1,
rewriteleftright: ["\u2225", "\u2225"],
},
{
input: "floor",
tag: "mo",
output: "floor",
tex: null,
ttype: 1,
rewriteleftright: ["\u230a", "\u230b"],
},
{
input: "ceil",
tag: "mo",
output: "ceil",
tex: null,
ttype: 1,
rewriteleftright: ["\u2308", "\u2309"],
},
{
input: "log",
tag: "mo",
output: "log",
tex: null,
ttype: 1,
func: !0,
},
{
input: "ln",
tag: "mo",
output: "ln",
tex: null,
ttype: 1,
func: !0,
},
{
input: "det",
tag: "mo",
output: "det",
tex: null,
ttype: 1,
func: !0,
},
{ input: "dim", tag: "mo", output: "dim", tex: null, ttype: 0 },
{ input: "mod", tag: "mo", output: "mod", tex: null, ttype: 0 },
{
input: "gcd",
tag: "mo",
output: "gcd",
tex: null,
ttype: 1,
func: !0,
},
{
input: "lcm",
tag: "mo",
output: "lcm",
tex: null,
ttype: 1,
func: !0,
},
{ input: "lub", tag: "mo", output: "lub", tex: null, ttype: 0 },
{ input: "glb", tag: "mo", output: "glb", tex: null, ttype: 0 },
{ input: "min", tag: "mo", output: "min", tex: null, ttype: 7 },
{ input: "max", tag: "mo", output: "max", tex: null, ttype: 7 },
{
input: "uarr",
tag: "mo",
output: "\u2191",
tex: "uparrow",
ttype: 0,
},
{
input: "darr",
tag: "mo",
output: "\u2193",
tex: "downarrow",
ttype: 0,
},
{
input: "rarr",
tag: "mo",
output: "\u2192",
tex: "rightarrow",
ttype: 0,
},
{ input: "->", tag: "mo", output: "\u2192", tex: "to", ttype: 0 },
{
input: ">->",
tag: "mo",
output: "\u21a3",
tex: "rightarrowtail",
ttype: 0,
},
{
input: "->>",
tag: "mo",
output: "\u21a0",
tex: "twoheadrightarrow",
ttype: 0,
},
{
input: ">->>",
tag: "mo",
output: "\u2916",
tex: "twoheadrightarrowtail",
ttype: 0,
},
{
input: "|->",
tag: "mo",
output: "\u21a6",
tex: "mapsto",
ttype: 0,
},
{
input: "larr",
tag: "mo",
output: "\u2190",
tex: "leftarrow",
ttype: 0,
},
{
input: "harr",
tag: "mo",
output: "\u2194",
tex: "leftrightarrow",
ttype: 0,
},
{
input: "rArr",
tag: "mo",
output: "\u21d2",
tex: "Rightarrow",
ttype: 0,
},
{
input: "lArr",
tag: "mo",
output: "\u21d0",
tex: "Leftarrow",
ttype: 0,
},
{
input: "hArr",
tag: "mo",
output: "\u21d4",
tex: "Leftrightarrow",
ttype: 0,
},
{ input: "sqrt", tag: "msqrt", output: "sqrt", tex: null, ttype: 1 },
{ input: "root", tag: "mroot", output: "root", tex: null, ttype: 2 },
{ input: "frac", tag: "mfrac", output: "/", tex: null, ttype: 2 },
{ input: "/", tag: "mfrac", output: "/", tex: null, ttype: 3 },
{
input: "stackrel",
tag: "mover",
output: "stackrel",
tex: null,
ttype: 2,
},
{
input: "overset",
tag: "mover",
output: "stackrel",
tex: null,
ttype: 2,
},
{
input: "underset",
tag: "munder",
output: "stackrel",
tex: null,
ttype: 2,
},
{ input: "_", tag: "msub", output: "_", tex: null, ttype: 3 },
{ input: "^", tag: "msup", output: "^", tex: null, ttype: 3 },
{
input: "hat",
tag: "mover",
output: "^",
tex: null,
ttype: 1,
acc: !0,
},
{
input: "bar",
tag: "mover",
output: "\xaf",
tex: "overline",
ttype: 1,
acc: !0,
},
{
input: "vec",
tag: "mover",
output: "\u2192",
tex: null,
ttype: 1,
acc: !0,
},
{
input: "dot",
tag: "mover",
output: ".",
tex: null,
ttype: 1,
acc: !0,
},
{
input: "ddot",
tag: "mover",
output: "..",
tex: null,
ttype: 1,
acc: !0,
},
{
input: "ul",
tag: "munder",
output: "\u0332",
tex: "underline",
ttype: 1,
acc: !0,
},
{
input: "ubrace",
tag: "munder",
output: "\u23df",
tex: "underbrace",
ttype: 15,
acc: !0,
},
{
input: "obrace",
tag: "mover",
output: "\u23de",
tex: "overbrace",
ttype: 15,
acc: !0,
},
{ input: "text", tag: "mtext", output: "text", tex: null, ttype: 10 },
{ input: "mbox", tag: "mtext", output: "mbox", tex: null, ttype: 10 },
{ input: "color", tag: "mstyle", ttype: 2 },
{
input: "cancel",
tag: "menclose",
output: "cancel",
tex: null,
ttype: 1,
},
x,
{
input: "bb",
tag: "mstyle",
atname: "mathvariant",
atval: "bold",
output: "bb",
tex: null,
ttype: 1,
},
{
input: "mathbf",
tag: "mstyle",
atname: "mathvariant",
atval: "bold",
output: "mathbf",
tex: null,
ttype: 1,
},
{
input: "sf",
tag: "mstyle",
atname: "mathvariant",
atval: "sans-serif",
output: "sf",
tex: null,
ttype: 1,
},
{
input: "mathsf",
tag: "mstyle",
atname: "mathvariant",
atval: "sans-serif",
output: "mathsf",
tex: null,
ttype: 1,
},
{
input: "bbb",
tag: "mstyle",
atname: "mathvariant",
atval: "double-struck",
output: "bbb",
tex: null,
ttype: 1,
codes: E,
},
{
input: "mathbb",
tag: "mstyle",
atname: "mathvariant",
atval: "double-struck",
output: "mathbb",
tex: null,
ttype: 1,
codes: E,
},
{
input: "cc",
tag: "mstyle",
atname: "mathvariant",
atval: "script",
output: "cc",
tex: null,
ttype: 1,
codes: f,
},
{
input: "mathcal",
tag: "mstyle",
atname: "mathvariant",
atval: "script",
output: "mathcal",
tex: null,
ttype: 1,
codes: f,
},
{
input: "tt",
tag: "mstyle",
atname: "mathvariant",
atval: "monospace",
output: "tt",
tex: null,
ttype: 1,
},
{
input: "mathtt",
tag: "mstyle",
atname: "mathvariant",
atval: "monospace",
output: "mathtt",
tex: null,
ttype: 1,
},
{
input: "fr",
tag: "mstyle",
atname: "mathvariant",
atval: "fraktur",
output: "fr",
tex: null,
ttype: 1,
codes: g,
},
{
input: "mathfrak",
tag: "mstyle",
atname: "mathvariant",
atval: "fraktur",
output: "mathfrak",
tex: null,
ttype: 1,
codes: g,
},
];
function C(t, e) {
return t.input > e.input ? 1 : -1;
}
var b,
S,
I,
N = [];
function A() {
var t,
e = T.length;
for (t = 0; t < e; t++)
T[t].tex &&
T.push({
input: T[t].tex,
tag: T[t].tag,
output: T[t].output,
ttype: T[t].ttype,
acc: T[t].acc || !1,
});
v();
}
function v() {
var t;
for (T.sort(C), t = 0; t < T.length; t++) N[t] = T[t].input;
}
function R(t, e) {
var i;
i =
"\\" == t.charAt(e) &&
"\\" != t.charAt(e + 1) &&
" " != t.charAt(e + 1)
? t.slice(e + 1)
: t.slice(e);
for (var n = 0; n < i.length && i.charCodeAt(n) <= 32; n += 1);
return i.slice(n);
}
function O(t, e, i) {
if (0 == i) {
var n, a;
for (i = -1, n = t.length; i + 1 < n; )
t[(a = (i + n) >> 1)] < e ? (i = a) : (n = a);
return n;
}
for (var s = i; s < t.length && t[s] < e; s++);
return s;
}
function L(t) {
for (var e, i, n, a = 0, s = "", r = !0, o = 1; o <= t.length && r; o++)
(i = t.slice(0, o)),
(a = O(N, i, a)) < N.length &&
t.slice(0, N[a].length) == N[a] &&
((e = a), (o = (s = N[a]).length)),
(r = a < N.length && t.slice(0, N[a].length) >= N[a]);
if (((S = I), "" != s)) return (I = T[e].ttype), T[e];
(I = 0), (a = 1), (i = t.slice(0, 1));
for (var l = !0; "0" <= i && i <= "9" && a <= t.length; )
(i = t.slice(a, a + 1)), a++;
if (i == u && "0" <= (i = t.slice(a, a + 1)) && i <= "9")
for (l = !1, a++; "0" <= i && i <= "9" && a <= t.length; )
(i = t.slice(a, a + 1)), a++;
return (
(l && a > 1) || a > 2
? ((i = t.slice(0, a - 1)), (n = "mn"))
: ((a = 2),
(n =
("A" > (i = t.slice(0, 1)) || i > "Z") && ("a" > i || i > "z")
? "mo"
: "mi")),
"-" == i && 3 == S
? ((I = 3), { input: i, tag: n, output: i, ttype: 1, func: !0 })
: { input: i, tag: n, output: i, ttype: 0 }
);
}
function M(t) {
var e;
t.hasChildNodes() &&
(!t.firstChild.hasChildNodes() ||
("mrow" != t.nodeName && "M:MROW" != t.nodeName) ||
("(" != (e = t.firstChild.firstChild.nodeValue) &&
"[" != e &&
"{" != e) ||
t.removeChild(t.firstChild),
!t.lastChild.hasChildNodes() ||
("mrow" != t.nodeName && "M:MROW" != t.nodeName) ||
(")" != (e = t.lastChild.firstChild.nodeValue) &&
"]" != e &&
"}" != e) ||
t.removeChild(t.lastChild));
}
function D(t) {
var e,
i,
a,
s,
r,
o = n.createDocumentFragment();
if (null == (e = L((t = R(t, 0)))) || (5 == e.ttype && b > 0))
return [null, t];
switch (
(e.ttype == y && (e = L((t = e.output + R(t, e.input.length)))),
e.ttype)
) {
case 7:
case 0:
return (
(t = R(t, e.input.length)),
[m(e.tag, n.createTextNode(e.output)), t]
);
case 4:
return (
b++,
(a = k((t = R(t, e.input.length)), !0)),
b--,
"boolean" == typeof e.invisible && e.invisible
? (i = m("mrow", a[0]))
: ((i = m("mo", n.createTextNode(e.output))),
(i = m("mrow", i)).appendChild(a[0])),
[i, a[1]]
);
case 10:
return (
e != x && (t = R(t, e.input.length)),
-1 ==
(s =
"{" == t.charAt(0)
? t.indexOf("}")
: "(" == t.charAt(0)
? t.indexOf(")")
: "[" == t.charAt(0)
? t.indexOf("]")
: e == x
? t.slice(1).indexOf('"') + 1
: 0) && (s = t.length),
" " == (r = t.slice(1, s)).charAt(0) &&
((i = m("mspace")).setAttribute("width", "1ex"),
o.appendChild(i)),
o.appendChild(m(e.tag, n.createTextNode(r))),
" " == r.charAt(r.length - 1) &&
((i = m("mspace")).setAttribute("width", "1ex"),
o.appendChild(i)),
(t = R(t, s + 1)),
[m("mrow", o), t]
);
case 15:
case 1:
if (null == (a = D((t = R(t, e.input.length))))[0])
return [m(e.tag, n.createTextNode(e.output)), t];
if ("boolean" == typeof e.func && e.func)
return "^" == (r = t.charAt(0)) ||
"_" == r ||
"/" == r ||
"|" == r ||
"," == r ||
(1 == e.input.length && e.input.match(/\w/) && "(" != r)
? [m(e.tag, n.createTextNode(e.output)), t]
: ((i = m(
"mrow",
m(e.tag, n.createTextNode(e.output)),
)).appendChild(a[0]),
[i, a[1]]);
if ((M(a[0]), "sqrt" == e.input)) return [m(e.tag, a[0]), a[1]];
if (void 0 !== e.rewriteleftright)
return (
(i = m(
"mrow",
m("mo", n.createTextNode(e.rewriteleftright[0])),
)).appendChild(a[0]),
i.appendChild(m("mo", n.createTextNode(e.rewriteleftright[1]))),
[i, a[1]]
);
if ("cancel" == e.input)
return (
(i = m(e.tag, a[0])).setAttribute(
"notation",
"updiagonalstrike",
),
[i, a[1]]
);
if ("boolean" == typeof e.acc && e.acc)
return (
(i = m(e.tag, a[0])).appendChild(
m("mo", n.createTextNode(e.output)),
),
[i, a[1]]
);
if (!h && void 0 !== e.codes)
for (s = 0; s < a[0].childNodes.length; s++)
if (
"mi" == a[0].childNodes[s].nodeName ||
"mi" == a[0].nodeName
) {
r =
"mi" == a[0].nodeName
? a[0].firstChild.nodeValue
: a[0].childNodes[s].firstChild.nodeValue;
for (var l = [], u = 0; u < r.length; u++)
r.charCodeAt(u) > 64 && r.charCodeAt(u) < 91
? (l += e.codes[r.charCodeAt(u) - 65])
: r.charCodeAt(u) > 96 && r.charCodeAt(u) < 123
? (l += e.codes[r.charCodeAt(u) - 71])
: (l += r.charAt(u));
"mi" == a[0].nodeName
? (a[0] = m("mo").appendChild(n.createTextNode(l)))
: a[0].replaceChild(
m("mo").appendChild(n.createTextNode(l)),
a[0].childNodes[s],
);
}
return (
(i = m(e.tag, a[0])).setAttribute(e.atname, e.atval), [i, a[1]]
);
case 2:
if (null == (a = D((t = R(t, e.input.length))))[0])
return [m("mo", n.createTextNode(e.input)), t];
M(a[0]);
var p = D(a[1]);
return null == p[0]
? [m("mo", n.createTextNode(e.input)), t]
: (M(p[0]),
"color" == e.input
? ("{" == t.charAt(0)
? (s = t.indexOf("}"))
: "(" == t.charAt(0)
? (s = t.indexOf(")"))
: "[" == t.charAt(0) && (s = t.indexOf("]")),
(r = t.slice(1, s)),
(i = m(e.tag, p[0])).setAttribute("mathcolor", r),
[i, p[1]])
: (("root" != e.input && "stackrel" != e.output) ||
o.appendChild(p[0]),
o.appendChild(a[0]),
"frac" == e.input && o.appendChild(p[0]),
[m(e.tag, o), p[1]]));
case 3:
return (
(t = R(t, e.input.length)),
[m("mo", n.createTextNode(e.output)), t]
);
case 6:
return (
(t = R(t, e.input.length)),
(i = m("mspace")).setAttribute("width", "1ex"),
o.appendChild(i),
o.appendChild(m(e.tag, n.createTextNode(e.output))),
(i = m("mspace")).setAttribute("width", "1ex"),
o.appendChild(i),
[m("mrow", o), t]
);
case 9:
return (
b++,
(a = k((t = R(t, e.input.length)), !1)),
b--,
(r = ""),
null != a[0].lastChild &&
(r = a[0].lastChild.firstChild.nodeValue),
"|" == r
? ((i = m("mo", n.createTextNode(e.output))),
(i = m("mrow", i)).appendChild(a[0]),
[i, a[1]])
: ((i = m("mo", n.createTextNode("\u2223"))),
[(i = m("mrow", i)), t])
);
default:
return (
(t = R(t, e.input.length)),
[m(e.tag, n.createTextNode(e.output)), t]
);
}
}
function P(t) {
var e, i, a, s, r, o;
if (
((i = L((t = R(t, 0)))),
(s = (r = D(t))[0]),
3 == (e = L((t = r[1]))).ttype && "/" != e.input)
) {
if (
(null == (r = D((t = R(t, e.input.length))))[0]
? (r[0] = m("mo", n.createTextNode("\u25a1")))
: M(r[0]),
(t = r[1]),
(o = 7 == i.ttype || 15 == i.ttype),
"_" == e.input)
)
if ("^" == (a = L(t)).input) {
var l = D((t = R(t, a.input.length)));
M(l[0]),
(t = l[1]),
(s = m(o ? "munderover" : "msubsup", s)).appendChild(r[0]),
s.appendChild(l[0]),
(s = m("mrow", s));
} else (s = m(o ? "munder" : "msub", s)).appendChild(r[0]);
else
"^" == e.input && o
? (s = m("mover", s)).appendChild(r[0])
: (s = m(e.tag, s)).appendChild(r[0]);
void 0 !== i.func &&
i.func &&
3 != (a = L(t)).ttype &&
5 != a.ttype &&
((r = P(t)), (s = m("mrow", s)).appendChild(r[0]), (t = r[1]));
}
return [s, t];
}
function k(t, e) {
var i,
a,
s,
r,
o = n.createDocumentFragment();
do {
(a = (s = P((t = R(t, 0))))[0]),
3 == (i = L((t = s[1]))).ttype && "/" == i.input
? (null == (s = P((t = R(t, i.input.length))))[0]
? (s[0] = m("mo", n.createTextNode("\u25a1")))
: M(s[0]),
(t = s[1]),
M(a),
(a = m(i.tag, a)).appendChild(s[0]),
o.appendChild(a),
(i = L(t)))
: null != a && o.appendChild(a);
} while (
((5 != i.ttype && (9 != i.ttype || e)) || 0 == b) &&
null != i &&
"" != i.output
);
if (5 == i.ttype || 9 == i.ttype) {
var l = o.childNodes.length;
if (
l > 0 &&
"mrow" == o.childNodes[l - 1].nodeName &&
o.childNodes[l - 1].lastChild &&
o.childNodes[l - 1].lastChild.firstChild
) {
var u = o.childNodes[l - 1].lastChild.firstChild.nodeValue;
if (")" == u || "]" == u) {
var h = o.childNodes[l - 1].firstChild.firstChild.nodeValue;
if (
("(" == h && ")" == u && "}" != i.output) ||
("[" == h && "]" == u)
) {
var p = [],
c = !0,
d = o.childNodes.length;
for (r = 0; c && r < d; r += 2) {
if (
((p[r] = []),
(a = o.childNodes[r]),
c &&
(c =
"mrow" == a.nodeName &&
(r == d - 1 ||
("mo" == a.nextSibling.nodeName &&
"," == a.nextSibling.firstChild.nodeValue)) &&
a.firstChild.firstChild.nodeValue == h &&
a.lastChild.firstChild.nodeValue == u),
c)
)
for (var f = 0; f < a.childNodes.length; f++)
"," == a.childNodes[f].firstChild.nodeValue &&
(p[r][p[r].length] = f);
c && r > 1 && (c = p[r].length == p[r - 2].length);
}
if ((c = c && (p.length > 1 || p[0].length > 0))) {
var g,
E,
y,
x,
T = n.createDocumentFragment();
for (r = 0; r < d; r += 2) {
for (
g = n.createDocumentFragment(),
E = n.createDocumentFragment(),
y = (a = o.firstChild).childNodes.length,
x = 0,
a.removeChild(a.firstChild),
f = 1;
f < y - 1;
f++
)
void 0 !== p[r][x] && f == p[r][x]
? (a.removeChild(a.firstChild),
g.appendChild(m("mtd", E)),
x++)
: E.appendChild(a.firstChild);
g.appendChild(m("mtd", E)),
o.childNodes.length > 2 &&
(o.removeChild(o.firstChild),
o.removeChild(o.firstChild)),
T.appendChild(m("mtr", g));
}
(a = m("mtable", T)),
"boolean" == typeof i.invisible &&
i.invisible &&
a.setAttribute("columnalign", "left"),
o.replaceChild(a, o.firstChild);
}
}
}
}
(t = R(t, i.input.length)),
("boolean" == typeof i.invisible && i.invisible) ||
((a = m("mo", n.createTextNode(i.output))), o.appendChild(a));
}
return [o, t];
}
function H(t, e) {
var i;
return (
(b = 0),
(i = m(
"mstyle",
k(
(t = (t = (t = (t = t.replace(/&nbsp;/g, "")).replace(
/&gt;/g,
">",
)).replace(/&lt;/g, "<")).replace(
/(Sin|Cos|Tan|Arcsin|Arccos|Arctan|Sinh|Cosh|Tanh|Cot|Sec|Csc|Log|Ln|Abs)/g,
function (t) {
return t.toLowerCase();
},
)).replace(/^\s+/g, ""),
!1,
)[0],
)),
"" != s && i.setAttribute("mathcolor", s),
"" != r && i.setAttribute("fontfamily", r),
o && i.setAttribute("displaystyle", "true"),
(i = m("math", i)),
l && i.setAttribute("title", t.replace(/\s+/g, " ")),
i
);
}
(l = !1),
(r = ""),
(s = ""),
(function () {
for (var t = 0, e = T.length; t < e; t++)
T[t].codes && delete T[t].codes, T[t].func && (T[t].tag = "mi");
})(),
t.Augment({
AM: {
Init: function () {
if (
((o = t.config.displaystyle),
(u = t.config.decimal || t.config.decimalsign),
!t.config.fixphi)
)
for (var n = 0, a = T.length; n < a; n++)
"phi" === T[n].input && (T[n].output = "\u03c6"),
"varphi" === T[n].input &&
((T[n].output = "\u03d5"), (n = a));
var s;
(s = (e = MathJax.ElementJax.mml).mbase.prototype.Init),
e.mbase.Augment({
firstChild: null,
lastChild: null,
nodeValue: null,
nextSibling: null,
Init: function () {
var t = s.apply(this, arguments) || this;
return (t.childNodes = t.data), (t.nodeName = t.type), t;
},
appendChild: function (t) {
t.parent && t.parent.removeChild(t);
var e = arguments;
t.isa(i) &&
((e = t.childNodes),
(t.data = t.childNodes = []),
(t.firstChild = t.lastChild = null));
for (var n = 0, a = e.length; n < a; n++)
(t = e[n]),
this.lastChild && (this.lastChild.nextSibling = t),
this.firstChild || (this.firstChild = t),
this.Append(t),
(this.lastChild = t);
return t;
},
removeChild: function (t) {
for (
var e = 0, i = this.childNodes.length;
e < i && this.childNodes[e] !== t;
e++
);
if (e !== i)
return (
this.childNodes.splice(e, 1),
t === this.firstChild &&
(this.firstChild = t.nextSibling),
t === this.lastChild &&
(this.childNodes.length
? (this.lastChild =
this.childNodes[this.childNodes.length - 1])
: (this.lastChild = null)),
e &&
(this.childNodes[e - 1].nextSibling = t.nextSibling),
(t.nextSibling = t.parent = null),
t
);
},
replaceChild: function (t, e) {
for (
var i = 0, n = this.childNodes.length;
i < n && this.childNodes[i] !== e;
i++
);
return (
i
? (this.childNodes[i - 1].nextSibling = t)
: (this.firstChild = t),
i >= n - 1 && (this.lastChild = t),
this.SetData(i, t),
(t.nextSibling = e.nextSibling),
(e.nextSibling = e.parent = null),
e
);
},
hasChildNodes: function (t) {
return this.childNodes.length > 0;
},
setAttribute: function (t, e) {
this[t] = e;
},
}),
A();
},
Augment: function (t) {
for (var e in t)
if (t.hasOwnProperty(e)) {
switch (e) {
case "displaystyle":
o = t[e];
break;
case "decimal":
decimal = t[e];
break;
case "parseMath":
H = t[e];
break;
case "parseExpr":
k = t[e];
break;
case "parseIexpr":
P = t[e];
break;
case "parseSexpr":
D = t[e];
break;
case "removeBrackets":
M = t[e];
break;
case "getSymbol":
L = t[e];
break;
case "position":
O = t[e];
break;
case "removeCharsAndBlanks":
R = t[e];
break;
case "createMmlNode":
m = t[e];
break;
case "createElementMathML":
d = t[e];
break;
case "createElementXHTML":
p = t[e];
break;
case "initSymbols":
A = t[e];
break;
case "refreshSymbols":
v = t[e];
break;
case "compareNames":
C = t[e];
}
this[e] = t[e];
}
},
parseMath: H,
parseExpr: k,
parseIexpr: P,
parseSexr: D,
removeBrackets: M,
getSymbol: L,
position: O,
removeCharsAndBlanks: R,
createMmlNode: m,
createElementMathML: d,
createElementXHTML: p,
initSymbols: A,
refreshSymbols: v,
compareNames: C,
createDocumentFragment: i,
document: n,
define: function (t, e) {
T.push({ input: t, tag: "mo", output: e, tex: null, ttype: y }),
v();
},
newcommand: function (t, e) {
T.push({ input: t, tag: "mo", output: e, tex: null, ttype: y }),
v();
},
newsymbol: function (t) {
T.push(t), v();
},
symbols: T,
names: N,
TOKEN: {
CONST: 0,
UNARY: 1,
BINARY: 2,
INFIX: 3,
LEFTBRACKET: 4,
RIGHTBRACKET: 5,
SPACE: 6,
UNDEROVER: 7,
DEFINITION: y,
LEFTRIGHT: 9,
TEXT: 10,
UNARYUNDEROVER: 15,
},
},
});
})(MathJax.InputJax.AsciiMath),
(i = MathJax.InputJax.AsciiMath).Augment({
sourceMenuTitle: ["AsciiMathInput", "AsciiMath Input"],
annotationEncoding: "text/x-asciimath",
prefilterHooks: MathJax.Callback.Hooks(!0),
postfilterHooks: MathJax.Callback.Hooks(!0),
Translate: function (t) {
var e,
i = MathJax.HTML.getScript(t),
a = { math: i, script: t },
s = this.prefilterHooks.Execute(a);
if (s) return s;
i = a.math;
try {
e = this.AM.parseMath(i);
} catch (t) {
if (!t.asciimathError) throw t;
e = this.formatError(t, i);
}
return (
(a.math = n(e)),
this.postfilterHooks.Execute(a),
this.postfilterHooks.Execute(a) || a.math
);
},
formatError: function (t, e, i) {
var a = t.message.replace(/\n.*/, "");
return (
MathJax.Hub.signal.Post(["AsciiMath Jax - parse error", a, e, i]),
n.Error(a)
);
},
Error: function (t) {
throw MathJax.Hub.Insert(Error(t), { asciimathError: !0 });
},
Startup: function () {
(n = MathJax.ElementJax.mml), this.AM.Init();
},
}),
i.loadComplete("jax.js");
},
function (t, e) {
var i, n, a;
(i = MathJax.ElementJax.mml),
(n = [
"texWithDelims",
"movesupsub",
"subsupOK",
"primes",
"movablelimits",
"scriptlevel",
"open",
"close",
"isError",
"multiline",
"variantForm",
"autoOP",
"fnOP",
]),
(a = { texWithDelims: "withDelims" }),
i.mbase.Augment({
toMmlNode: function (t) {
var e = this.type;
"texatom" === e && (e = "TeXAtom");
var i = this.nodeMake(t, e);
return "texClass" in this && (i.texClass = this.texClass), i;
},
nodeMake: function (t, e) {
for (
var i = t.MML["TeXmathchoice" === e ? "mathchoice" : e](),
n =
this.data[0] && this.data[0].inferred && this.inferRow
? this.data[0].data
: this.data,
a = 0,
s = n.length;
a < s;
a++
) {
var r = n[a];
r && i.appendChild(r.toMmlNode(t));
}
return this.nodeAddAttributes(i), this.nodeAddProperties(i), i;
},
nodeAddAttributes: function (t) {
var e =
"mstyle" === this.type
? i.math.prototype.defaults
: this.defaults,
n = this.attrNames || i.copyAttributeNames,
a = i.skipAttributes,
s = i.copyAttributes;
if (!this.attrNames) {
for (var r in e)
a[r] ||
s[r] ||
!e.hasOwnProperty(r) ||
(null != this[r] &&
this[r] !== e[r] &&
this.Get(r, null, 1) !== this[r] &&
t.attributes.set(r, this[r]));
this.class && t.attributes.set("class", this.class);
}
for (var o = 0, l = n.length; o < l; o++)
(1 !== s[n[o]] || e.hasOwnProperty(n[o])) &&
((value = (this.attr || {})[n[o]]),
null == value && (value = this[n[o]]),
("true" !== value && "false" !== value) ||
(value = "true" === value),
null != value && t.attributes.set(n[o], value));
},
nodeAddProperties: function (t) {
for (var e = 0, s = n.length; e < s; e++) {
var r = n[e];
null == this[r] ||
(null != this.defaults[r] && this.defaults[r] !== i.AUTO) ||
t.setProperty(a[r] || r, this[r]);
}
},
}),
i.chars.Augment({
toMmlNode: function (t) {
return t.MML.text().setText(this.data.join(""));
},
}),
i.entity.Augment({
toMmlNode: function (t) {
return t.MML.text().setText(this.toString());
},
}),
i.msubsup.Augment({
toMmlNode: function (t) {
var e =
null == this.data[this.sub]
? "msup"
: null == this.data[this.sup]
? "msub"
: "msubsup";
return this.nodeMake(t, e);
},
}),
i.munderover.Augment({
toMmlNode: function (t) {
var e =
null == this.data[this.under]
? "mover"
: null == this.data[this.over]
? "munder"
: "munderover";
return this.nodeMake(t, e);
},
}),
i.xml.Augment({
toMmlNode: function (t) {
return t.MML.xml(this.data);
},
});
},
function (t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.MmlFactory = MathJax._.core.MmlTree.MmlFactory.MmlFactory);
},
function (t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.APPEND = MathJax._.util.Options.APPEND),
(e.REMOVE = MathJax._.util.Options.REMOVE),
(e.Expandable = MathJax._.util.Options.Expandable),
(e.expandable = MathJax._.util.Options.expandable),
(e.makeArray = MathJax._.util.Options.makeArray),
(e.keys = MathJax._.util.Options.keys),
(e.copy = MathJax._.util.Options.copy),
(e.insert = MathJax._.util.Options.insert),
(e.defaultOptions = MathJax._.util.Options.defaultOptions),
(e.userOptions = MathJax._.util.Options.userOptions),
(e.selectOptions = MathJax._.util.Options.selectOptions),
(e.selectOptionsFromKeys = MathJax._.util.Options.selectOptionsFromKeys),
(e.separateOptions = MathJax._.util.Options.separateOptions);
},
function (t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.AbstractFindMath = MathJax._.core.FindMath.AbstractFindMath);
},
function (t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.sortLength = MathJax._.util.string.sortLength),
(e.quotePattern = MathJax._.util.string.quotePattern),
(e.unicodeChars = MathJax._.util.string.unicodeChars),
(e.isPercent = MathJax._.util.string.isPercent),
(e.split = MathJax._.util.string.split);
},
function (t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", { value: !0 }),
(e.protoItem = MathJax._.core.MathItem.protoItem),
(e.AbstractMathItem = MathJax._.core.MathItem.AbstractMathItem),
(e.STATE = MathJax._.core.MathItem.STATE),
(e.newState = MathJax._.core.MathItem.newState);
},
function (t, e, i) {
"use strict";
i.r(e);
var n = i(2),
a = i(0),
s = i(1);
Object(n.combineWithMathJax)({
_: { input: { asciimath_ts: a, asciimath: { FindAsciiMath: s } } },
}),
MathJax.startup &&
(MathJax.startup.registerConstructor("asciimath", a.AsciiMath),
MathJax.startup.useInput("asciimath"));
},
]);