1 |
- {"ast":null,"code":"\"use strict\";\n\nvar __read = this && this.__read || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n};\nvar __values = this && this.__values || function (o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar MmlNode_js_1 = require(\"../../core/MmlTree/MmlNode.js\");\nvar NodeUtil_js_1 = __importDefault(require(\"./NodeUtil.js\"));\nvar TexParser_js_1 = __importDefault(require(\"./TexParser.js\"));\nvar TexError_js_1 = __importDefault(require(\"./TexError.js\"));\nvar Entities_js_1 = require(\"../../util/Entities.js\");\nvar ParseUtil;\n(function (ParseUtil) {\n var emPerInch = 7.2;\n var pxPerInch = 72;\n var UNIT_CASES = {\n 'em': function (m) {\n return m;\n },\n 'ex': function (m) {\n return m * .43;\n },\n 'pt': function (m) {\n return m / 10;\n },\n 'pc': function (m) {\n return m * 1.2;\n },\n 'px': function (m) {\n return m * emPerInch / pxPerInch;\n },\n 'in': function (m) {\n return m * emPerInch;\n },\n 'cm': function (m) {\n return m * emPerInch / 2.54;\n },\n 'mm': function (m) {\n return m * emPerInch / 25.4;\n },\n 'mu': function (m) {\n return m / 18;\n }\n };\n var num = '([-+]?([.,]\\\\d+|\\\\d+([.,]\\\\d*)?))';\n var unit = '(pt|em|ex|mu|px|mm|cm|in|pc)';\n var dimenEnd = RegExp('^\\\\s*' + num + '\\\\s*' + unit + '\\\\s*$');\n var dimenRest = RegExp('^\\\\s*' + num + '\\\\s*' + unit + ' ?');\n function matchDimen(dim, rest) {\n if (rest === void 0) {\n rest = false;\n }\n var match = dim.match(rest ? dimenRest : dimenEnd);\n return match ? muReplace([match[1].replace(/,/, '.'), match[4], match[0].length]) : [null, null, 0];\n }\n ParseUtil.matchDimen = matchDimen;\n function muReplace(_a) {\n var _b = __read(_a, 3),\n value = _b[0],\n unit = _b[1],\n length = _b[2];\n if (unit !== 'mu') {\n return [value, unit, length];\n }\n var em = Em(UNIT_CASES[unit](parseFloat(value || '1')));\n return [em.slice(0, -2), 'em', length];\n }\n function dimen2em(dim) {\n var _a = __read(matchDimen(dim), 2),\n value = _a[0],\n unit = _a[1];\n var m = parseFloat(value || '1');\n var func = UNIT_CASES[unit];\n return func ? func(m) : 0;\n }\n ParseUtil.dimen2em = dimen2em;\n function Em(m) {\n if (Math.abs(m) < .0006) {\n return '0em';\n }\n return m.toFixed(3).replace(/\\.?0+$/, '') + 'em';\n }\n ParseUtil.Em = Em;\n function cols() {\n var W = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n W[_i] = arguments[_i];\n }\n return W.map(function (n) {\n return Em(n);\n }).join(' ');\n }\n ParseUtil.cols = cols;\n function fenced(configuration, open, mml, close, big, color) {\n if (big === void 0) {\n big = '';\n }\n if (color === void 0) {\n color = '';\n }\n var nf = configuration.nodeFactory;\n var mrow = nf.create('node', 'mrow', [], {\n open: open,\n close: close,\n texClass: MmlNode_js_1.TEXCLASS.INNER\n });\n var mo;\n if (big) {\n mo = new TexParser_js_1.default('\\\\' + big + 'l' + open, configuration.parser.stack.env, configuration).mml();\n } else {\n var openNode = nf.create('text', open);\n mo = nf.create('node', 'mo', [], {\n fence: true,\n stretchy: true,\n symmetric: true,\n texClass: MmlNode_js_1.TEXCLASS.OPEN\n }, openNode);\n }\n NodeUtil_js_1.default.appendChildren(mrow, [mo, mml]);\n if (big) {\n mo = new TexParser_js_1.default('\\\\' + big + 'r' + close, configuration.parser.stack.env, configuration).mml();\n } else {\n var closeNode = nf.create('text', close);\n mo = nf.create('node', 'mo', [], {\n fence: true,\n stretchy: true,\n symmetric: true,\n texClass: MmlNode_js_1.TEXCLASS.CLOSE\n }, closeNode);\n }\n color && mo.attributes.set('mathcolor', color);\n NodeUtil_js_1.default.appendChildren(mrow, [mo]);\n return mrow;\n }\n ParseUtil.fenced = fenced;\n function fixedFence(configuration, open, mml, close) {\n var mrow = configuration.nodeFactory.create('node', 'mrow', [], {\n open: open,\n close: close,\n texClass: MmlNode_js_1.TEXCLASS.ORD\n });\n if (open) {\n NodeUtil_js_1.default.appendChildren(mrow, [mathPalette(configuration, open, 'l')]);\n }\n if (NodeUtil_js_1.default.isType(mml, 'mrow')) {\n NodeUtil_js_1.default.appendChildren(mrow, NodeUtil_js_1.default.getChildren(mml));\n } else {\n NodeUtil_js_1.default.appendChildren(mrow, [mml]);\n }\n if (close) {\n NodeUtil_js_1.default.appendChildren(mrow, [mathPalette(configuration, close, 'r')]);\n }\n return mrow;\n }\n ParseUtil.fixedFence = fixedFence;\n function mathPalette(configuration, fence, side) {\n if (fence === '{' || fence === '}') {\n fence = '\\\\' + fence;\n }\n var D = '{\\\\bigg' + side + ' ' + fence + '}';\n var T = '{\\\\big' + side + ' ' + fence + '}';\n return new TexParser_js_1.default('\\\\mathchoice' + D + T + T + T, {}, configuration).mml();\n }\n ParseUtil.mathPalette = mathPalette;\n function fixInitialMO(configuration, nodes) {\n for (var i = 0, m = nodes.length; i < m; i++) {\n var child = nodes[i];\n if (child && !NodeUtil_js_1.default.isType(child, 'mspace') && (!NodeUtil_js_1.default.isType(child, 'TeXAtom') || NodeUtil_js_1.default.getChildren(child)[0] && NodeUtil_js_1.default.getChildren(NodeUtil_js_1.default.getChildren(child)[0]).length)) {\n if (NodeUtil_js_1.default.isEmbellished(child) || NodeUtil_js_1.default.isType(child, 'TeXAtom') && NodeUtil_js_1.default.getTexClass(child) === MmlNode_js_1.TEXCLASS.REL) {\n var mi = configuration.nodeFactory.create('node', 'mi');\n nodes.unshift(mi);\n }\n break;\n }\n }\n }\n ParseUtil.fixInitialMO = fixInitialMO;\n function internalMath(parser, text, level, font) {\n if (parser.configuration.options.internalMath) {\n return parser.configuration.options.internalMath(parser, text, level, font);\n }\n var mathvariant = font || parser.stack.env.font;\n var def = mathvariant ? {\n mathvariant: mathvariant\n } : {};\n var mml = [],\n i = 0,\n k = 0,\n c,\n node,\n match = '',\n braces = 0;\n if (text.match(/\\\\?[${}\\\\]|\\\\\\(|\\\\(eq)?ref\\s*\\{/)) {\n while (i < text.length) {\n c = text.charAt(i++);\n if (c === '$') {\n if (match === '$' && braces === 0) {\n node = parser.create('node', 'TeXAtom', [new TexParser_js_1.default(text.slice(k, i - 1), {}, parser.configuration).mml()]);\n mml.push(node);\n match = '';\n k = i;\n } else if (match === '') {\n if (k < i - 1) {\n mml.push(internalText(parser, text.slice(k, i - 1), def));\n }\n match = '$';\n k = i;\n }\n } else if (c === '{' && match !== '') {\n braces++;\n } else if (c === '}') {\n if (match === '}' && braces === 0) {\n var atom = new TexParser_js_1.default(text.slice(k, i), {}, parser.configuration).mml();\n node = parser.create('node', 'TeXAtom', [atom], def);\n mml.push(node);\n match = '';\n k = i;\n } else if (match !== '') {\n if (braces) {\n braces--;\n }\n }\n } else if (c === '\\\\') {\n if (match === '' && text.substr(i).match(/^(eq)?ref\\s*\\{/)) {\n var len = RegExp['$&'].length;\n if (k < i - 1) {\n mml.push(internalText(parser, text.slice(k, i - 1), def));\n }\n match = '}';\n k = i - 1;\n i += len;\n } else {\n c = text.charAt(i++);\n if (c === '(' && match === '') {\n if (k < i - 2) {\n mml.push(internalText(parser, text.slice(k, i - 2), def));\n }\n match = ')';\n k = i;\n } else if (c === ')' && match === ')' && braces === 0) {\n node = parser.create('node', 'TeXAtom', [new TexParser_js_1.default(text.slice(k, i - 2), {}, parser.configuration).mml()]);\n mml.push(node);\n match = '';\n k = i;\n } else if (c.match(/[${}\\\\]/) && match === '') {\n i--;\n text = text.substr(0, i - 1) + text.substr(i);\n }\n }\n }\n }\n if (match !== '') {\n throw new TexError_js_1.default('MathNotTerminated', 'Math not terminated in text box');\n }\n }\n if (k < text.length) {\n mml.push(internalText(parser, text.slice(k), def));\n }\n if (level != null) {\n mml = [parser.create('node', 'mstyle', mml, {\n displaystyle: false,\n scriptlevel: level\n })];\n } else if (mml.length > 1) {\n mml = [parser.create('node', 'mrow', mml)];\n }\n return mml;\n }\n ParseUtil.internalMath = internalMath;\n function internalText(parser, text, def) {\n text = text.replace(/^\\s+/, Entities_js_1.entities.nbsp).replace(/\\s+$/, Entities_js_1.entities.nbsp);\n var textNode = parser.create('text', text);\n return parser.create('node', 'mtext', [], def, textNode);\n }\n ParseUtil.internalText = internalText;\n function underOver(parser, base, script, pos, stack) {\n ParseUtil.checkMovableLimits(base);\n if (NodeUtil_js_1.default.isType(base, 'munderover') && NodeUtil_js_1.default.isEmbellished(base)) {\n NodeUtil_js_1.default.setProperties(NodeUtil_js_1.default.getCoreMO(base), {\n lspace: 0,\n rspace: 0\n });\n var mo = parser.create('node', 'mo', [], {\n rspace: 0\n });\n base = parser.create('node', 'mrow', [mo, base]);\n }\n var mml = parser.create('node', 'munderover', [base]);\n NodeUtil_js_1.default.setChild(mml, pos === 'over' ? mml.over : mml.under, script);\n var node = mml;\n if (stack) {\n node = parser.create('node', 'TeXAtom', [mml], {\n texClass: MmlNode_js_1.TEXCLASS.OP,\n movesupsub: true\n });\n }\n NodeUtil_js_1.default.setProperty(node, 'subsupOK', true);\n return node;\n }\n ParseUtil.underOver = underOver;\n function checkMovableLimits(base) {\n var symbol = NodeUtil_js_1.default.isType(base, 'mo') ? NodeUtil_js_1.default.getForm(base) : null;\n if (NodeUtil_js_1.default.getProperty(base, 'movablelimits') || symbol && symbol[3] && symbol[3].movablelimits) {\n NodeUtil_js_1.default.setProperties(base, {\n movablelimits: false\n });\n }\n }\n ParseUtil.checkMovableLimits = checkMovableLimits;\n function trimSpaces(text) {\n if (typeof text !== 'string') {\n return text;\n }\n var TEXT = text.trim();\n if (TEXT.match(/\\\\$/) && text.match(/ $/)) {\n TEXT += ' ';\n }\n return TEXT;\n }\n ParseUtil.trimSpaces = trimSpaces;\n function setArrayAlign(array, align) {\n align = ParseUtil.trimSpaces(align || '');\n if (align === 't') {\n array.arraydef.align = 'baseline 1';\n } else if (align === 'b') {\n array.arraydef.align = 'baseline -1';\n } else if (align === 'c') {\n array.arraydef.align = 'axis';\n } else if (align) {\n array.arraydef.align = align;\n }\n return array;\n }\n ParseUtil.setArrayAlign = setArrayAlign;\n function substituteArgs(parser, args, str) {\n var text = '';\n var newstring = '';\n var i = 0;\n while (i < str.length) {\n var c = str.charAt(i++);\n if (c === '\\\\') {\n text += c + str.charAt(i++);\n } else if (c === '#') {\n c = str.charAt(i++);\n if (c === '#') {\n text += c;\n } else {\n if (!c.match(/[1-9]/) || parseInt(c, 10) > args.length) {\n throw new TexError_js_1.default('IllegalMacroParam', 'Illegal macro parameter reference');\n }\n newstring = addArgs(parser, addArgs(parser, newstring, text), args[parseInt(c, 10) - 1]);\n text = '';\n }\n } else {\n text += c;\n }\n }\n return addArgs(parser, newstring, text);\n }\n ParseUtil.substituteArgs = substituteArgs;\n function addArgs(parser, s1, s2) {\n if (s2.match(/^[a-z]/i) && s1.match(/(^|[^\\\\])(\\\\\\\\)*\\\\[a-z]+$/i)) {\n s1 += ' ';\n }\n if (s1.length + s2.length > parser.configuration.options['maxBuffer']) {\n throw new TexError_js_1.default('MaxBufferSize', 'MathJax internal buffer size exceeded; is there a' + ' recursive macro call?');\n }\n return s1 + s2;\n }\n ParseUtil.addArgs = addArgs;\n function checkMaxMacros(parser, isMacro) {\n if (isMacro === void 0) {\n isMacro = true;\n }\n if (++parser.macroCount <= parser.configuration.options['maxMacros']) {\n return;\n }\n if (isMacro) {\n throw new TexError_js_1.default('MaxMacroSub1', 'MathJax maximum macro substitution count exceeded; ' + 'is here a recursive macro call?');\n } else {\n throw new TexError_js_1.default('MaxMacroSub2', 'MathJax maximum substitution count exceeded; ' + 'is there a recursive latex environment?');\n }\n }\n ParseUtil.checkMaxMacros = checkMaxMacros;\n function checkEqnEnv(parser) {\n if (parser.stack.global.eqnenv) {\n throw new TexError_js_1.default('ErroneousNestingEq', 'Erroneous nesting of equation structures');\n }\n parser.stack.global.eqnenv = true;\n }\n ParseUtil.checkEqnEnv = checkEqnEnv;\n function copyNode(node, parser) {\n var tree = node.copy();\n var options = parser.configuration;\n tree.walkTree(function (n) {\n var e_1, _a;\n options.addNode(n.kind, n);\n var lists = (n.getProperty('in-lists') || '').split(/,/);\n try {\n for (var lists_1 = __values(lists), lists_1_1 = lists_1.next(); !lists_1_1.done; lists_1_1 = lists_1.next()) {\n var list = lists_1_1.value;\n list && options.addNode(list, n);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (lists_1_1 && !lists_1_1.done && (_a = lists_1.return)) _a.call(lists_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n });\n return tree;\n }\n ParseUtil.copyNode = copyNode;\n function MmlFilterAttribute(_parser, _name, value) {\n return value;\n }\n ParseUtil.MmlFilterAttribute = MmlFilterAttribute;\n function getFontDef(parser) {\n var font = parser.stack.env['font'];\n return font ? {\n mathvariant: font\n } : {};\n }\n ParseUtil.getFontDef = getFontDef;\n function keyvalOptions(attrib, allowed, error) {\n var e_2, _a;\n if (allowed === void 0) {\n allowed = null;\n }\n if (error === void 0) {\n error = false;\n }\n var def = readKeyval(attrib);\n if (allowed) {\n try {\n for (var _b = __values(Object.keys(def)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (!allowed.hasOwnProperty(key)) {\n if (error) {\n throw new TexError_js_1.default('InvalidOption', 'Invalid option: %1', key);\n }\n delete def[key];\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n return def;\n }\n ParseUtil.keyvalOptions = keyvalOptions;\n function readKeyval(text) {\n var _a, _b;\n var options = {};\n var rest = text;\n var end, key, val;\n while (rest) {\n _a = __read(readValue(rest, ['=', ',']), 3), key = _a[0], end = _a[1], rest = _a[2];\n if (end === '=') {\n _b = __read(readValue(rest, [',']), 3), val = _b[0], end = _b[1], rest = _b[2];\n val = val === 'false' || val === 'true' ? JSON.parse(val) : val;\n options[key] = val;\n } else if (key) {\n options[key] = true;\n }\n }\n return options;\n }\n function removeBraces(text, count) {\n while (count > 0) {\n text = text.trim().slice(1, -1);\n count--;\n }\n return text.trim();\n }\n function readValue(text, end) {\n var length = text.length;\n var braces = 0;\n var value = '';\n var index = 0;\n var start = 0;\n var startCount = true;\n var stopCount = false;\n while (index < length) {\n var c = text[index++];\n switch (c) {\n case ' ':\n break;\n case '{':\n if (startCount) {\n start++;\n } else {\n stopCount = false;\n if (start > braces) {\n start = braces;\n }\n }\n braces++;\n break;\n case '}':\n if (braces) {\n braces--;\n }\n if (startCount || stopCount) {\n start--;\n stopCount = true;\n }\n startCount = false;\n break;\n default:\n if (!braces && end.indexOf(c) !== -1) {\n return [stopCount ? 'true' : removeBraces(value, start), c, text.slice(index)];\n }\n startCount = false;\n stopCount = false;\n }\n value += c;\n }\n if (braces) {\n throw new TexError_js_1.default('ExtraOpenMissingClose', 'Extra open brace or missing close brace');\n }\n return [stopCount ? 'true' : removeBraces(value, start), '', text.slice(index)];\n }\n})(ParseUtil || (ParseUtil = {}));\nexports.default = ParseUtil;","map":{"version":3,"names":["__read","o","n","m","Symbol","iterator","i","call","r","ar","e","next","done","push","value","error","__values","s","length","TypeError","__importDefault","mod","__esModule","Object","defineProperty","exports","MmlNode_js_1","require","NodeUtil_js_1","TexParser_js_1","TexError_js_1","Entities_js_1","ParseUtil","emPerInch","pxPerInch","UNIT_CASES","em","ex","pt","pc","px","in","cm","mm","mu","num","unit","dimenEnd","RegExp","dimenRest","matchDimen","dim","rest","match","muReplace","replace","_a","_b","Em","parseFloat","slice","dimen2em","func","Math","abs","toFixed","cols","W","_i","arguments","map","join","fenced","configuration","open","mml","close","big","color","nf","nodeFactory","mrow","create","texClass","TEXCLASS","INNER","mo","default","parser","stack","env","openNode","fence","stretchy","symmetric","OPEN","appendChildren","closeNode","CLOSE","attributes","set","fixedFence","ORD","mathPalette","isType","getChildren","side","D","T","fixInitialMO","nodes","child","isEmbellished","getTexClass","REL","mi","unshift","internalMath","text","level","font","options","mathvariant","def","k","c","node","braces","charAt","internalText","atom","substr","len","displaystyle","scriptlevel","entities","nbsp","textNode","underOver","base","script","pos","checkMovableLimits","setProperties","getCoreMO","lspace","rspace","setChild","over","under","OP","movesupsub","setProperty","symbol","getForm","getProperty","movablelimits","trimSpaces","TEXT","trim","setArrayAlign","array","align","arraydef","substituteArgs","args","str","newstring","parseInt","addArgs","s1","s2","checkMaxMacros","isMacro","macroCount","checkEqnEnv","global","eqnenv","copyNode","tree","copy","walkTree","e_1","addNode","kind","lists","split","lists_1","lists_1_1","list","e_1_1","return","MmlFilterAttribute","_parser","_name","getFontDef","keyvalOptions","attrib","allowed","e_2","readKeyval","keys","_c","key","hasOwnProperty","e_2_1","end","val","readValue","JSON","parse","removeBraces","count","index","start","startCount","stopCount","indexOf"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/mathjax-full/js/input/tex/ParseUtil.js"],"sourcesContent":["\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MmlNode_js_1 = require(\"../../core/MmlTree/MmlNode.js\");\nvar NodeUtil_js_1 = __importDefault(require(\"./NodeUtil.js\"));\nvar TexParser_js_1 = __importDefault(require(\"./TexParser.js\"));\nvar TexError_js_1 = __importDefault(require(\"./TexError.js\"));\nvar Entities_js_1 = require(\"../../util/Entities.js\");\nvar ParseUtil;\n(function (ParseUtil) {\n var emPerInch = 7.2;\n var pxPerInch = 72;\n var UNIT_CASES = {\n 'em': function (m) { return m; },\n 'ex': function (m) { return m * .43; },\n 'pt': function (m) { return m / 10; },\n 'pc': function (m) { return m * 1.2; },\n 'px': function (m) { return m * emPerInch / pxPerInch; },\n 'in': function (m) { return m * emPerInch; },\n 'cm': function (m) { return m * emPerInch / 2.54; },\n 'mm': function (m) { return m * emPerInch / 25.4; },\n 'mu': function (m) { return m / 18; },\n };\n var num = '([-+]?([.,]\\\\d+|\\\\d+([.,]\\\\d*)?))';\n var unit = '(pt|em|ex|mu|px|mm|cm|in|pc)';\n var dimenEnd = RegExp('^\\\\s*' + num + '\\\\s*' + unit + '\\\\s*$');\n var dimenRest = RegExp('^\\\\s*' + num + '\\\\s*' + unit + ' ?');\n function matchDimen(dim, rest) {\n if (rest === void 0) { rest = false; }\n var match = dim.match(rest ? dimenRest : dimenEnd);\n return match ?\n muReplace([match[1].replace(/,/, '.'), match[4], match[0].length]) :\n [null, null, 0];\n }\n ParseUtil.matchDimen = matchDimen;\n function muReplace(_a) {\n var _b = __read(_a, 3), value = _b[0], unit = _b[1], length = _b[2];\n if (unit !== 'mu') {\n return [value, unit, length];\n }\n var em = Em(UNIT_CASES[unit](parseFloat(value || '1')));\n return [em.slice(0, -2), 'em', length];\n }\n function dimen2em(dim) {\n var _a = __read(matchDimen(dim), 2), value = _a[0], unit = _a[1];\n var m = parseFloat(value || '1');\n var func = UNIT_CASES[unit];\n return func ? func(m) : 0;\n }\n ParseUtil.dimen2em = dimen2em;\n function Em(m) {\n if (Math.abs(m) < .0006) {\n return '0em';\n }\n return m.toFixed(3).replace(/\\.?0+$/, '') + 'em';\n }\n ParseUtil.Em = Em;\n function cols() {\n var W = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n W[_i] = arguments[_i];\n }\n return W.map(function (n) { return Em(n); }).join(' ');\n }\n ParseUtil.cols = cols;\n function fenced(configuration, open, mml, close, big, color) {\n if (big === void 0) { big = ''; }\n if (color === void 0) { color = ''; }\n var nf = configuration.nodeFactory;\n var mrow = nf.create('node', 'mrow', [], { open: open, close: close, texClass: MmlNode_js_1.TEXCLASS.INNER });\n var mo;\n if (big) {\n mo = new TexParser_js_1.default('\\\\' + big + 'l' + open, configuration.parser.stack.env, configuration).mml();\n }\n else {\n var openNode = nf.create('text', open);\n mo = nf.create('node', 'mo', [], { fence: true, stretchy: true, symmetric: true, texClass: MmlNode_js_1.TEXCLASS.OPEN }, openNode);\n }\n NodeUtil_js_1.default.appendChildren(mrow, [mo, mml]);\n if (big) {\n mo = new TexParser_js_1.default('\\\\' + big + 'r' + close, configuration.parser.stack.env, configuration).mml();\n }\n else {\n var closeNode = nf.create('text', close);\n mo = nf.create('node', 'mo', [], { fence: true, stretchy: true, symmetric: true, texClass: MmlNode_js_1.TEXCLASS.CLOSE }, closeNode);\n }\n color && mo.attributes.set('mathcolor', color);\n NodeUtil_js_1.default.appendChildren(mrow, [mo]);\n return mrow;\n }\n ParseUtil.fenced = fenced;\n function fixedFence(configuration, open, mml, close) {\n var mrow = configuration.nodeFactory.create('node', 'mrow', [], { open: open, close: close, texClass: MmlNode_js_1.TEXCLASS.ORD });\n if (open) {\n NodeUtil_js_1.default.appendChildren(mrow, [mathPalette(configuration, open, 'l')]);\n }\n if (NodeUtil_js_1.default.isType(mml, 'mrow')) {\n NodeUtil_js_1.default.appendChildren(mrow, NodeUtil_js_1.default.getChildren(mml));\n }\n else {\n NodeUtil_js_1.default.appendChildren(mrow, [mml]);\n }\n if (close) {\n NodeUtil_js_1.default.appendChildren(mrow, [mathPalette(configuration, close, 'r')]);\n }\n return mrow;\n }\n ParseUtil.fixedFence = fixedFence;\n function mathPalette(configuration, fence, side) {\n if (fence === '{' || fence === '}') {\n fence = '\\\\' + fence;\n }\n var D = '{\\\\bigg' + side + ' ' + fence + '}';\n var T = '{\\\\big' + side + ' ' + fence + '}';\n return new TexParser_js_1.default('\\\\mathchoice' + D + T + T + T, {}, configuration).mml();\n }\n ParseUtil.mathPalette = mathPalette;\n function fixInitialMO(configuration, nodes) {\n for (var i = 0, m = nodes.length; i < m; i++) {\n var child = nodes[i];\n if (child && (!NodeUtil_js_1.default.isType(child, 'mspace') &&\n (!NodeUtil_js_1.default.isType(child, 'TeXAtom') ||\n (NodeUtil_js_1.default.getChildren(child)[0] &&\n NodeUtil_js_1.default.getChildren(NodeUtil_js_1.default.getChildren(child)[0]).length)))) {\n if (NodeUtil_js_1.default.isEmbellished(child) ||\n (NodeUtil_js_1.default.isType(child, 'TeXAtom') && NodeUtil_js_1.default.getTexClass(child) === MmlNode_js_1.TEXCLASS.REL)) {\n var mi = configuration.nodeFactory.create('node', 'mi');\n nodes.unshift(mi);\n }\n break;\n }\n }\n }\n ParseUtil.fixInitialMO = fixInitialMO;\n function internalMath(parser, text, level, font) {\n if (parser.configuration.options.internalMath) {\n return parser.configuration.options.internalMath(parser, text, level, font);\n }\n var mathvariant = font || parser.stack.env.font;\n var def = (mathvariant ? { mathvariant: mathvariant } : {});\n var mml = [], i = 0, k = 0, c, node, match = '', braces = 0;\n if (text.match(/\\\\?[${}\\\\]|\\\\\\(|\\\\(eq)?ref\\s*\\{/)) {\n while (i < text.length) {\n c = text.charAt(i++);\n if (c === '$') {\n if (match === '$' && braces === 0) {\n node = parser.create('node', 'TeXAtom', [(new TexParser_js_1.default(text.slice(k, i - 1), {}, parser.configuration)).mml()]);\n mml.push(node);\n match = '';\n k = i;\n }\n else if (match === '') {\n if (k < i - 1) {\n mml.push(internalText(parser, text.slice(k, i - 1), def));\n }\n match = '$';\n k = i;\n }\n }\n else if (c === '{' && match !== '') {\n braces++;\n }\n else if (c === '}') {\n if (match === '}' && braces === 0) {\n var atom = (new TexParser_js_1.default(text.slice(k, i), {}, parser.configuration)).mml();\n node = parser.create('node', 'TeXAtom', [atom], def);\n mml.push(node);\n match = '';\n k = i;\n }\n else if (match !== '') {\n if (braces) {\n braces--;\n }\n }\n }\n else if (c === '\\\\') {\n if (match === '' && text.substr(i).match(/^(eq)?ref\\s*\\{/)) {\n var len = RegExp['$&'].length;\n if (k < i - 1) {\n mml.push(internalText(parser, text.slice(k, i - 1), def));\n }\n match = '}';\n k = i - 1;\n i += len;\n }\n else {\n c = text.charAt(i++);\n if (c === '(' && match === '') {\n if (k < i - 2) {\n mml.push(internalText(parser, text.slice(k, i - 2), def));\n }\n match = ')';\n k = i;\n }\n else if (c === ')' && match === ')' && braces === 0) {\n node = parser.create('node', 'TeXAtom', [(new TexParser_js_1.default(text.slice(k, i - 2), {}, parser.configuration)).mml()]);\n mml.push(node);\n match = '';\n k = i;\n }\n else if (c.match(/[${}\\\\]/) && match === '') {\n i--;\n text = text.substr(0, i - 1) + text.substr(i);\n }\n }\n }\n }\n if (match !== '') {\n throw new TexError_js_1.default('MathNotTerminated', 'Math not terminated in text box');\n }\n }\n if (k < text.length) {\n mml.push(internalText(parser, text.slice(k), def));\n }\n if (level != null) {\n mml = [parser.create('node', 'mstyle', mml, { displaystyle: false, scriptlevel: level })];\n }\n else if (mml.length > 1) {\n mml = [parser.create('node', 'mrow', mml)];\n }\n return mml;\n }\n ParseUtil.internalMath = internalMath;\n function internalText(parser, text, def) {\n text = text.replace(/^\\s+/, Entities_js_1.entities.nbsp).replace(/\\s+$/, Entities_js_1.entities.nbsp);\n var textNode = parser.create('text', text);\n return parser.create('node', 'mtext', [], def, textNode);\n }\n ParseUtil.internalText = internalText;\n function underOver(parser, base, script, pos, stack) {\n ParseUtil.checkMovableLimits(base);\n if (NodeUtil_js_1.default.isType(base, 'munderover') && NodeUtil_js_1.default.isEmbellished(base)) {\n NodeUtil_js_1.default.setProperties(NodeUtil_js_1.default.getCoreMO(base), { lspace: 0, rspace: 0 });\n var mo = parser.create('node', 'mo', [], { rspace: 0 });\n base = parser.create('node', 'mrow', [mo, base]);\n }\n var mml = parser.create('node', 'munderover', [base]);\n NodeUtil_js_1.default.setChild(mml, pos === 'over' ? mml.over : mml.under, script);\n var node = mml;\n if (stack) {\n node = parser.create('node', 'TeXAtom', [mml], { texClass: MmlNode_js_1.TEXCLASS.OP, movesupsub: true });\n }\n NodeUtil_js_1.default.setProperty(node, 'subsupOK', true);\n return node;\n }\n ParseUtil.underOver = underOver;\n function checkMovableLimits(base) {\n var symbol = (NodeUtil_js_1.default.isType(base, 'mo') ? NodeUtil_js_1.default.getForm(base) : null);\n if (NodeUtil_js_1.default.getProperty(base, 'movablelimits') || (symbol && symbol[3] && symbol[3].movablelimits)) {\n NodeUtil_js_1.default.setProperties(base, { movablelimits: false });\n }\n }\n ParseUtil.checkMovableLimits = checkMovableLimits;\n function trimSpaces(text) {\n if (typeof (text) !== 'string') {\n return text;\n }\n var TEXT = text.trim();\n if (TEXT.match(/\\\\$/) && text.match(/ $/)) {\n TEXT += ' ';\n }\n return TEXT;\n }\n ParseUtil.trimSpaces = trimSpaces;\n function setArrayAlign(array, align) {\n align = ParseUtil.trimSpaces(align || '');\n if (align === 't') {\n array.arraydef.align = 'baseline 1';\n }\n else if (align === 'b') {\n array.arraydef.align = 'baseline -1';\n }\n else if (align === 'c') {\n array.arraydef.align = 'axis';\n }\n else if (align) {\n array.arraydef.align = align;\n }\n return array;\n }\n ParseUtil.setArrayAlign = setArrayAlign;\n function substituteArgs(parser, args, str) {\n var text = '';\n var newstring = '';\n var i = 0;\n while (i < str.length) {\n var c = str.charAt(i++);\n if (c === '\\\\') {\n text += c + str.charAt(i++);\n }\n else if (c === '#') {\n c = str.charAt(i++);\n if (c === '#') {\n text += c;\n }\n else {\n if (!c.match(/[1-9]/) || parseInt(c, 10) > args.length) {\n throw new TexError_js_1.default('IllegalMacroParam', 'Illegal macro parameter reference');\n }\n newstring = addArgs(parser, addArgs(parser, newstring, text), args[parseInt(c, 10) - 1]);\n text = '';\n }\n }\n else {\n text += c;\n }\n }\n return addArgs(parser, newstring, text);\n }\n ParseUtil.substituteArgs = substituteArgs;\n function addArgs(parser, s1, s2) {\n if (s2.match(/^[a-z]/i) && s1.match(/(^|[^\\\\])(\\\\\\\\)*\\\\[a-z]+$/i)) {\n s1 += ' ';\n }\n if (s1.length + s2.length > parser.configuration.options['maxBuffer']) {\n throw new TexError_js_1.default('MaxBufferSize', 'MathJax internal buffer size exceeded; is there a' +\n ' recursive macro call?');\n }\n return s1 + s2;\n }\n ParseUtil.addArgs = addArgs;\n function checkMaxMacros(parser, isMacro) {\n if (isMacro === void 0) { isMacro = true; }\n if (++parser.macroCount <= parser.configuration.options['maxMacros']) {\n return;\n }\n if (isMacro) {\n throw new TexError_js_1.default('MaxMacroSub1', 'MathJax maximum macro substitution count exceeded; ' +\n 'is here a recursive macro call?');\n }\n else {\n throw new TexError_js_1.default('MaxMacroSub2', 'MathJax maximum substitution count exceeded; ' +\n 'is there a recursive latex environment?');\n }\n }\n ParseUtil.checkMaxMacros = checkMaxMacros;\n function checkEqnEnv(parser) {\n if (parser.stack.global.eqnenv) {\n throw new TexError_js_1.default('ErroneousNestingEq', 'Erroneous nesting of equation structures');\n }\n parser.stack.global.eqnenv = true;\n }\n ParseUtil.checkEqnEnv = checkEqnEnv;\n function copyNode(node, parser) {\n var tree = node.copy();\n var options = parser.configuration;\n tree.walkTree(function (n) {\n var e_1, _a;\n options.addNode(n.kind, n);\n var lists = (n.getProperty('in-lists') || '').split(/,/);\n try {\n for (var lists_1 = __values(lists), lists_1_1 = lists_1.next(); !lists_1_1.done; lists_1_1 = lists_1.next()) {\n var list = lists_1_1.value;\n list && options.addNode(list, n);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (lists_1_1 && !lists_1_1.done && (_a = lists_1.return)) _a.call(lists_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n });\n return tree;\n }\n ParseUtil.copyNode = copyNode;\n function MmlFilterAttribute(_parser, _name, value) {\n return value;\n }\n ParseUtil.MmlFilterAttribute = MmlFilterAttribute;\n function getFontDef(parser) {\n var font = parser.stack.env['font'];\n return (font ? { mathvariant: font } : {});\n }\n ParseUtil.getFontDef = getFontDef;\n function keyvalOptions(attrib, allowed, error) {\n var e_2, _a;\n if (allowed === void 0) { allowed = null; }\n if (error === void 0) { error = false; }\n var def = readKeyval(attrib);\n if (allowed) {\n try {\n for (var _b = __values(Object.keys(def)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (!allowed.hasOwnProperty(key)) {\n if (error) {\n throw new TexError_js_1.default('InvalidOption', 'Invalid option: %1', key);\n }\n delete def[key];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return def;\n }\n ParseUtil.keyvalOptions = keyvalOptions;\n function readKeyval(text) {\n var _a, _b;\n var options = {};\n var rest = text;\n var end, key, val;\n while (rest) {\n _a = __read(readValue(rest, ['=', ',']), 3), key = _a[0], end = _a[1], rest = _a[2];\n if (end === '=') {\n _b = __read(readValue(rest, [',']), 3), val = _b[0], end = _b[1], rest = _b[2];\n val = (val === 'false' || val === 'true') ?\n JSON.parse(val) : val;\n options[key] = val;\n }\n else if (key) {\n options[key] = true;\n }\n }\n return options;\n }\n function removeBraces(text, count) {\n while (count > 0) {\n text = text.trim().slice(1, -1);\n count--;\n }\n return text.trim();\n }\n function readValue(text, end) {\n var length = text.length;\n var braces = 0;\n var value = '';\n var index = 0;\n var start = 0;\n var startCount = true;\n var stopCount = false;\n while (index < length) {\n var c = text[index++];\n switch (c) {\n case ' ':\n break;\n case '{':\n if (startCount) {\n start++;\n }\n else {\n stopCount = false;\n if (start > braces) {\n start = braces;\n }\n }\n braces++;\n break;\n case '}':\n if (braces) {\n braces--;\n }\n if (startCount || stopCount) {\n start--;\n stopCount = true;\n }\n startCount = false;\n break;\n default:\n if (!braces && end.indexOf(c) !== -1) {\n return [stopCount ? 'true' :\n removeBraces(value, start), c, text.slice(index)];\n }\n startCount = false;\n stopCount = false;\n }\n value += c;\n }\n if (braces) {\n throw new TexError_js_1.default('ExtraOpenMissingClose', 'Extra open brace or missing close brace');\n }\n return [stopCount ? 'true' : removeBraces(value, start), '', text.slice(index)];\n }\n})(ParseUtil || (ParseUtil = {}));\nexports.default = ParseUtil;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|