10270 lines
271 KiB
JavaScript
10270 lines
271 KiB
JavaScript
/* commonmark 0.30.0 https://github.com/commonmark/commonmark.js @license BSD3 */
|
||
(function (global, factory) {
|
||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||
(global = global || self, factory(global.commonmark = {}));
|
||
}(this, (function (exports) { 'use strict';
|
||
|
||
function isContainer(node) {
|
||
switch (node._type) {
|
||
case "document":
|
||
case "block_quote":
|
||
case "list":
|
||
case "item":
|
||
case "paragraph":
|
||
case "heading":
|
||
case "emph":
|
||
case "strong":
|
||
case "link":
|
||
case "image":
|
||
case "custom_inline":
|
||
case "custom_block":
|
||
return true;
|
||
default:
|
||
return false;
|
||
}
|
||
}
|
||
|
||
var resumeAt = function(node, entering) {
|
||
this.current = node;
|
||
this.entering = entering === true;
|
||
};
|
||
|
||
var next = function() {
|
||
var cur = this.current;
|
||
var entering = this.entering;
|
||
|
||
if (cur === null) {
|
||
return null;
|
||
}
|
||
|
||
var container = isContainer(cur);
|
||
|
||
if (entering && container) {
|
||
if (cur._firstChild) {
|
||
this.current = cur._firstChild;
|
||
this.entering = true;
|
||
} else {
|
||
// stay on node but exit
|
||
this.entering = false;
|
||
}
|
||
} else if (cur === this.root) {
|
||
this.current = null;
|
||
} else if (cur._next === null) {
|
||
this.current = cur._parent;
|
||
this.entering = false;
|
||
} else {
|
||
this.current = cur._next;
|
||
this.entering = true;
|
||
}
|
||
|
||
return { entering: entering, node: cur };
|
||
};
|
||
|
||
var NodeWalker = function(root) {
|
||
return {
|
||
current: root,
|
||
root: root,
|
||
entering: true,
|
||
next: next,
|
||
resumeAt: resumeAt
|
||
};
|
||
};
|
||
|
||
var Node = function(nodeType, sourcepos) {
|
||
this._type = nodeType;
|
||
this._parent = null;
|
||
this._firstChild = null;
|
||
this._lastChild = null;
|
||
this._prev = null;
|
||
this._next = null;
|
||
this._sourcepos = sourcepos;
|
||
this._lastLineBlank = false;
|
||
this._lastLineChecked = false;
|
||
this._open = true;
|
||
this._string_content = null;
|
||
this._literal = null;
|
||
this._listData = {};
|
||
this._info = null;
|
||
this._destination = null;
|
||
this._title = null;
|
||
this._isFenced = false;
|
||
this._fenceChar = null;
|
||
this._fenceLength = 0;
|
||
this._fenceOffset = null;
|
||
this._level = null;
|
||
this._onEnter = null;
|
||
this._onExit = null;
|
||
};
|
||
|
||
var proto = Node.prototype;
|
||
|
||
Object.defineProperty(proto, "isContainer", {
|
||
get: function() {
|
||
return isContainer(this);
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "type", {
|
||
get: function() {
|
||
return this._type;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "firstChild", {
|
||
get: function() {
|
||
return this._firstChild;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "lastChild", {
|
||
get: function() {
|
||
return this._lastChild;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "next", {
|
||
get: function() {
|
||
return this._next;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "prev", {
|
||
get: function() {
|
||
return this._prev;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "parent", {
|
||
get: function() {
|
||
return this._parent;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "sourcepos", {
|
||
get: function() {
|
||
return this._sourcepos;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "literal", {
|
||
get: function() {
|
||
return this._literal;
|
||
},
|
||
set: function(s) {
|
||
this._literal = s;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "destination", {
|
||
get: function() {
|
||
return this._destination;
|
||
},
|
||
set: function(s) {
|
||
this._destination = s;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "title", {
|
||
get: function() {
|
||
return this._title;
|
||
},
|
||
set: function(s) {
|
||
this._title = s;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "info", {
|
||
get: function() {
|
||
return this._info;
|
||
},
|
||
set: function(s) {
|
||
this._info = s;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "level", {
|
||
get: function() {
|
||
return this._level;
|
||
},
|
||
set: function(s) {
|
||
this._level = s;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "listType", {
|
||
get: function() {
|
||
return this._listData.type;
|
||
},
|
||
set: function(t) {
|
||
this._listData.type = t;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "listTight", {
|
||
get: function() {
|
||
return this._listData.tight;
|
||
},
|
||
set: function(t) {
|
||
this._listData.tight = t;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "listStart", {
|
||
get: function() {
|
||
return this._listData.start;
|
||
},
|
||
set: function(n) {
|
||
this._listData.start = n;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "listDelimiter", {
|
||
get: function() {
|
||
return this._listData.delimiter;
|
||
},
|
||
set: function(delim) {
|
||
this._listData.delimiter = delim;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "onEnter", {
|
||
get: function() {
|
||
return this._onEnter;
|
||
},
|
||
set: function(s) {
|
||
this._onEnter = s;
|
||
}
|
||
});
|
||
|
||
Object.defineProperty(proto, "onExit", {
|
||
get: function() {
|
||
return this._onExit;
|
||
},
|
||
set: function(s) {
|
||
this._onExit = s;
|
||
}
|
||
});
|
||
|
||
Node.prototype.appendChild = function(child) {
|
||
child.unlink();
|
||
child._parent = this;
|
||
if (this._lastChild) {
|
||
this._lastChild._next = child;
|
||
child._prev = this._lastChild;
|
||
this._lastChild = child;
|
||
} else {
|
||
this._firstChild = child;
|
||
this._lastChild = child;
|
||
}
|
||
};
|
||
|
||
Node.prototype.prependChild = function(child) {
|
||
child.unlink();
|
||
child._parent = this;
|
||
if (this._firstChild) {
|
||
this._firstChild._prev = child;
|
||
child._next = this._firstChild;
|
||
this._firstChild = child;
|
||
} else {
|
||
this._firstChild = child;
|
||
this._lastChild = child;
|
||
}
|
||
};
|
||
|
||
Node.prototype.unlink = function() {
|
||
if (this._prev) {
|
||
this._prev._next = this._next;
|
||
} else if (this._parent) {
|
||
this._parent._firstChild = this._next;
|
||
}
|
||
if (this._next) {
|
||
this._next._prev = this._prev;
|
||
} else if (this._parent) {
|
||
this._parent._lastChild = this._prev;
|
||
}
|
||
this._parent = null;
|
||
this._next = null;
|
||
this._prev = null;
|
||
};
|
||
|
||
Node.prototype.insertAfter = function(sibling) {
|
||
sibling.unlink();
|
||
sibling._next = this._next;
|
||
if (sibling._next) {
|
||
sibling._next._prev = sibling;
|
||
}
|
||
sibling._prev = this;
|
||
this._next = sibling;
|
||
sibling._parent = this._parent;
|
||
if (!sibling._next) {
|
||
sibling._parent._lastChild = sibling;
|
||
}
|
||
};
|
||
|
||
Node.prototype.insertBefore = function(sibling) {
|
||
sibling.unlink();
|
||
sibling._prev = this._prev;
|
||
if (sibling._prev) {
|
||
sibling._prev._next = sibling;
|
||
}
|
||
sibling._next = this;
|
||
this._prev = sibling;
|
||
sibling._parent = this._parent;
|
||
if (!sibling._prev) {
|
||
sibling._parent._firstChild = sibling;
|
||
}
|
||
};
|
||
|
||
Node.prototype.walker = function() {
|
||
var walker = new NodeWalker(this);
|
||
return walker;
|
||
};
|
||
|
||
/* Example of use of walker:
|
||
|
||
var walker = w.walker();
|
||
var event;
|
||
|
||
while (event = walker.next()) {
|
||
console.log(event.entering, event.node.type);
|
||
}
|
||
|
||
*/
|
||
|
||
var encodeCache = {};
|
||
|
||
|
||
// Create a lookup array where anything but characters in `chars` string
|
||
// and alphanumeric chars is percent-encoded.
|
||
//
|
||
function getEncodeCache(exclude) {
|
||
var i, ch, cache = encodeCache[exclude];
|
||
if (cache) { return cache; }
|
||
|
||
cache = encodeCache[exclude] = [];
|
||
|
||
for (i = 0; i < 128; i++) {
|
||
ch = String.fromCharCode(i);
|
||
|
||
if (/^[0-9a-z]$/i.test(ch)) {
|
||
// always allow unencoded alphanumeric characters
|
||
cache.push(ch);
|
||
} else {
|
||
cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));
|
||
}
|
||
}
|
||
|
||
for (i = 0; i < exclude.length; i++) {
|
||
cache[exclude.charCodeAt(i)] = exclude[i];
|
||
}
|
||
|
||
return cache;
|
||
}
|
||
|
||
|
||
// Encode unsafe characters with percent-encoding, skipping already
|
||
// encoded sequences.
|
||
//
|
||
// - string - string to encode
|
||
// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)
|
||
// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)
|
||
//
|
||
function encode(string, exclude, keepEscaped) {
|
||
var i, l, code, nextCode, cache,
|
||
result = '';
|
||
|
||
if (typeof exclude !== 'string') {
|
||
// encode(string, keepEscaped)
|
||
keepEscaped = exclude;
|
||
exclude = encode.defaultChars;
|
||
}
|
||
|
||
if (typeof keepEscaped === 'undefined') {
|
||
keepEscaped = true;
|
||
}
|
||
|
||
cache = getEncodeCache(exclude);
|
||
|
||
for (i = 0, l = string.length; i < l; i++) {
|
||
code = string.charCodeAt(i);
|
||
|
||
if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {
|
||
if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {
|
||
result += string.slice(i, i + 3);
|
||
i += 2;
|
||
continue;
|
||
}
|
||
}
|
||
|
||
if (code < 128) {
|
||
result += cache[code];
|
||
continue;
|
||
}
|
||
|
||
if (code >= 0xD800 && code <= 0xDFFF) {
|
||
if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {
|
||
nextCode = string.charCodeAt(i + 1);
|
||
if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {
|
||
result += encodeURIComponent(string[i] + string[i + 1]);
|
||
i++;
|
||
continue;
|
||
}
|
||
}
|
||
result += '%EF%BF%BD';
|
||
continue;
|
||
}
|
||
|
||
result += encodeURIComponent(string[i]);
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
encode.defaultChars = ";/?:@&=+$,-_.!~*'()#";
|
||
encode.componentChars = "-_.!~*'()";
|
||
|
||
|
||
var encode_1 = encode;
|
||
|
||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||
|
||
function unwrapExports (x) {
|
||
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
||
}
|
||
|
||
function createCommonjsModule(fn, module) {
|
||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||
}
|
||
|
||
function getCjsExportFromNamespace (n) {
|
||
return n && n['default'] || n;
|
||
}
|
||
|
||
var Aacute = "Á";
|
||
var aacute = "á";
|
||
var Abreve = "Ă";
|
||
var abreve = "ă";
|
||
var ac = "∾";
|
||
var acd = "∿";
|
||
var acE = "∾̳";
|
||
var Acirc = "Â";
|
||
var acirc = "â";
|
||
var acute = "´";
|
||
var Acy = "А";
|
||
var acy = "а";
|
||
var AElig = "Æ";
|
||
var aelig = "æ";
|
||
var af = "";
|
||
var Afr = "𝔄";
|
||
var afr = "𝔞";
|
||
var Agrave = "À";
|
||
var agrave = "à";
|
||
var alefsym = "ℵ";
|
||
var aleph = "ℵ";
|
||
var Alpha = "Α";
|
||
var alpha = "α";
|
||
var Amacr = "Ā";
|
||
var amacr = "ā";
|
||
var amalg = "⨿";
|
||
var amp = "&";
|
||
var AMP = "&";
|
||
var andand = "⩕";
|
||
var And = "⩓";
|
||
var and = "∧";
|
||
var andd = "⩜";
|
||
var andslope = "⩘";
|
||
var andv = "⩚";
|
||
var ang = "∠";
|
||
var ange = "⦤";
|
||
var angle = "∠";
|
||
var angmsdaa = "⦨";
|
||
var angmsdab = "⦩";
|
||
var angmsdac = "⦪";
|
||
var angmsdad = "⦫";
|
||
var angmsdae = "⦬";
|
||
var angmsdaf = "⦭";
|
||
var angmsdag = "⦮";
|
||
var angmsdah = "⦯";
|
||
var angmsd = "∡";
|
||
var angrt = "∟";
|
||
var angrtvb = "⊾";
|
||
var angrtvbd = "⦝";
|
||
var angsph = "∢";
|
||
var angst = "Å";
|
||
var angzarr = "⍼";
|
||
var Aogon = "Ą";
|
||
var aogon = "ą";
|
||
var Aopf = "𝔸";
|
||
var aopf = "𝕒";
|
||
var apacir = "⩯";
|
||
var ap = "≈";
|
||
var apE = "⩰";
|
||
var ape = "≊";
|
||
var apid = "≋";
|
||
var apos = "'";
|
||
var ApplyFunction = "";
|
||
var approx = "≈";
|
||
var approxeq = "≊";
|
||
var Aring = "Å";
|
||
var aring = "å";
|
||
var Ascr = "𝒜";
|
||
var ascr = "𝒶";
|
||
var Assign = "≔";
|
||
var ast = "*";
|
||
var asymp = "≈";
|
||
var asympeq = "≍";
|
||
var Atilde = "Ã";
|
||
var atilde = "ã";
|
||
var Auml = "Ä";
|
||
var auml = "ä";
|
||
var awconint = "∳";
|
||
var awint = "⨑";
|
||
var backcong = "≌";
|
||
var backepsilon = "϶";
|
||
var backprime = "‵";
|
||
var backsim = "∽";
|
||
var backsimeq = "⋍";
|
||
var Backslash = "∖";
|
||
var Barv = "⫧";
|
||
var barvee = "⊽";
|
||
var barwed = "⌅";
|
||
var Barwed = "⌆";
|
||
var barwedge = "⌅";
|
||
var bbrk = "⎵";
|
||
var bbrktbrk = "⎶";
|
||
var bcong = "≌";
|
||
var Bcy = "Б";
|
||
var bcy = "б";
|
||
var bdquo = "„";
|
||
var becaus = "∵";
|
||
var because = "∵";
|
||
var Because = "∵";
|
||
var bemptyv = "⦰";
|
||
var bepsi = "϶";
|
||
var bernou = "ℬ";
|
||
var Bernoullis = "ℬ";
|
||
var Beta = "Β";
|
||
var beta = "β";
|
||
var beth = "ℶ";
|
||
var between = "≬";
|
||
var Bfr = "𝔅";
|
||
var bfr = "𝔟";
|
||
var bigcap = "⋂";
|
||
var bigcirc = "◯";
|
||
var bigcup = "⋃";
|
||
var bigodot = "⨀";
|
||
var bigoplus = "⨁";
|
||
var bigotimes = "⨂";
|
||
var bigsqcup = "⨆";
|
||
var bigstar = "★";
|
||
var bigtriangledown = "▽";
|
||
var bigtriangleup = "△";
|
||
var biguplus = "⨄";
|
||
var bigvee = "⋁";
|
||
var bigwedge = "⋀";
|
||
var bkarow = "⤍";
|
||
var blacklozenge = "⧫";
|
||
var blacksquare = "▪";
|
||
var blacktriangle = "▴";
|
||
var blacktriangledown = "▾";
|
||
var blacktriangleleft = "◂";
|
||
var blacktriangleright = "▸";
|
||
var blank = "␣";
|
||
var blk12 = "▒";
|
||
var blk14 = "░";
|
||
var blk34 = "▓";
|
||
var block = "█";
|
||
var bne = "=⃥";
|
||
var bnequiv = "≡⃥";
|
||
var bNot = "⫭";
|
||
var bnot = "⌐";
|
||
var Bopf = "𝔹";
|
||
var bopf = "𝕓";
|
||
var bot = "⊥";
|
||
var bottom = "⊥";
|
||
var bowtie = "⋈";
|
||
var boxbox = "⧉";
|
||
var boxdl = "┐";
|
||
var boxdL = "╕";
|
||
var boxDl = "╖";
|
||
var boxDL = "╗";
|
||
var boxdr = "┌";
|
||
var boxdR = "╒";
|
||
var boxDr = "╓";
|
||
var boxDR = "╔";
|
||
var boxh = "─";
|
||
var boxH = "═";
|
||
var boxhd = "┬";
|
||
var boxHd = "╤";
|
||
var boxhD = "╥";
|
||
var boxHD = "╦";
|
||
var boxhu = "┴";
|
||
var boxHu = "╧";
|
||
var boxhU = "╨";
|
||
var boxHU = "╩";
|
||
var boxminus = "⊟";
|
||
var boxplus = "⊞";
|
||
var boxtimes = "⊠";
|
||
var boxul = "┘";
|
||
var boxuL = "╛";
|
||
var boxUl = "╜";
|
||
var boxUL = "╝";
|
||
var boxur = "└";
|
||
var boxuR = "╘";
|
||
var boxUr = "╙";
|
||
var boxUR = "╚";
|
||
var boxv = "│";
|
||
var boxV = "║";
|
||
var boxvh = "┼";
|
||
var boxvH = "╪";
|
||
var boxVh = "╫";
|
||
var boxVH = "╬";
|
||
var boxvl = "┤";
|
||
var boxvL = "╡";
|
||
var boxVl = "╢";
|
||
var boxVL = "╣";
|
||
var boxvr = "├";
|
||
var boxvR = "╞";
|
||
var boxVr = "╟";
|
||
var boxVR = "╠";
|
||
var bprime = "‵";
|
||
var breve = "˘";
|
||
var Breve = "˘";
|
||
var brvbar = "¦";
|
||
var bscr = "𝒷";
|
||
var Bscr = "ℬ";
|
||
var bsemi = "⁏";
|
||
var bsim = "∽";
|
||
var bsime = "⋍";
|
||
var bsolb = "⧅";
|
||
var bsol = "\\";
|
||
var bsolhsub = "⟈";
|
||
var bull = "•";
|
||
var bullet = "•";
|
||
var bump = "≎";
|
||
var bumpE = "⪮";
|
||
var bumpe = "≏";
|
||
var Bumpeq = "≎";
|
||
var bumpeq = "≏";
|
||
var Cacute = "Ć";
|
||
var cacute = "ć";
|
||
var capand = "⩄";
|
||
var capbrcup = "⩉";
|
||
var capcap = "⩋";
|
||
var cap = "∩";
|
||
var Cap = "⋒";
|
||
var capcup = "⩇";
|
||
var capdot = "⩀";
|
||
var CapitalDifferentialD = "ⅅ";
|
||
var caps = "∩︀";
|
||
var caret = "⁁";
|
||
var caron = "ˇ";
|
||
var Cayleys = "ℭ";
|
||
var ccaps = "⩍";
|
||
var Ccaron = "Č";
|
||
var ccaron = "č";
|
||
var Ccedil = "Ç";
|
||
var ccedil = "ç";
|
||
var Ccirc = "Ĉ";
|
||
var ccirc = "ĉ";
|
||
var Cconint = "∰";
|
||
var ccups = "⩌";
|
||
var ccupssm = "⩐";
|
||
var Cdot = "Ċ";
|
||
var cdot = "ċ";
|
||
var cedil = "¸";
|
||
var Cedilla = "¸";
|
||
var cemptyv = "⦲";
|
||
var cent = "¢";
|
||
var centerdot = "·";
|
||
var CenterDot = "·";
|
||
var cfr = "𝔠";
|
||
var Cfr = "ℭ";
|
||
var CHcy = "Ч";
|
||
var chcy = "ч";
|
||
var check = "✓";
|
||
var checkmark = "✓";
|
||
var Chi = "Χ";
|
||
var chi = "χ";
|
||
var circ = "ˆ";
|
||
var circeq = "≗";
|
||
var circlearrowleft = "↺";
|
||
var circlearrowright = "↻";
|
||
var circledast = "⊛";
|
||
var circledcirc = "⊚";
|
||
var circleddash = "⊝";
|
||
var CircleDot = "⊙";
|
||
var circledR = "®";
|
||
var circledS = "Ⓢ";
|
||
var CircleMinus = "⊖";
|
||
var CirclePlus = "⊕";
|
||
var CircleTimes = "⊗";
|
||
var cir = "○";
|
||
var cirE = "⧃";
|
||
var cire = "≗";
|
||
var cirfnint = "⨐";
|
||
var cirmid = "⫯";
|
||
var cirscir = "⧂";
|
||
var ClockwiseContourIntegral = "∲";
|
||
var CloseCurlyDoubleQuote = "”";
|
||
var CloseCurlyQuote = "’";
|
||
var clubs = "♣";
|
||
var clubsuit = "♣";
|
||
var colon = ":";
|
||
var Colon = "∷";
|
||
var Colone = "⩴";
|
||
var colone = "≔";
|
||
var coloneq = "≔";
|
||
var comma = ",";
|
||
var commat = "@";
|
||
var comp = "∁";
|
||
var compfn = "∘";
|
||
var complement = "∁";
|
||
var complexes = "ℂ";
|
||
var cong = "≅";
|
||
var congdot = "⩭";
|
||
var Congruent = "≡";
|
||
var conint = "∮";
|
||
var Conint = "∯";
|
||
var ContourIntegral = "∮";
|
||
var copf = "𝕔";
|
||
var Copf = "ℂ";
|
||
var coprod = "∐";
|
||
var Coproduct = "∐";
|
||
var copy = "©";
|
||
var COPY = "©";
|
||
var copysr = "℗";
|
||
var CounterClockwiseContourIntegral = "∳";
|
||
var crarr = "↵";
|
||
var cross = "✗";
|
||
var Cross = "⨯";
|
||
var Cscr = "𝒞";
|
||
var cscr = "𝒸";
|
||
var csub = "⫏";
|
||
var csube = "⫑";
|
||
var csup = "⫐";
|
||
var csupe = "⫒";
|
||
var ctdot = "⋯";
|
||
var cudarrl = "⤸";
|
||
var cudarrr = "⤵";
|
||
var cuepr = "⋞";
|
||
var cuesc = "⋟";
|
||
var cularr = "↶";
|
||
var cularrp = "⤽";
|
||
var cupbrcap = "⩈";
|
||
var cupcap = "⩆";
|
||
var CupCap = "≍";
|
||
var cup = "∪";
|
||
var Cup = "⋓";
|
||
var cupcup = "⩊";
|
||
var cupdot = "⊍";
|
||
var cupor = "⩅";
|
||
var cups = "∪︀";
|
||
var curarr = "↷";
|
||
var curarrm = "⤼";
|
||
var curlyeqprec = "⋞";
|
||
var curlyeqsucc = "⋟";
|
||
var curlyvee = "⋎";
|
||
var curlywedge = "⋏";
|
||
var curren = "¤";
|
||
var curvearrowleft = "↶";
|
||
var curvearrowright = "↷";
|
||
var cuvee = "⋎";
|
||
var cuwed = "⋏";
|
||
var cwconint = "∲";
|
||
var cwint = "∱";
|
||
var cylcty = "⌭";
|
||
var dagger = "†";
|
||
var Dagger = "‡";
|
||
var daleth = "ℸ";
|
||
var darr = "↓";
|
||
var Darr = "↡";
|
||
var dArr = "⇓";
|
||
var dash = "‐";
|
||
var Dashv = "⫤";
|
||
var dashv = "⊣";
|
||
var dbkarow = "⤏";
|
||
var dblac = "˝";
|
||
var Dcaron = "Ď";
|
||
var dcaron = "ď";
|
||
var Dcy = "Д";
|
||
var dcy = "д";
|
||
var ddagger = "‡";
|
||
var ddarr = "⇊";
|
||
var DD = "ⅅ";
|
||
var dd = "ⅆ";
|
||
var DDotrahd = "⤑";
|
||
var ddotseq = "⩷";
|
||
var deg = "°";
|
||
var Del = "∇";
|
||
var Delta = "Δ";
|
||
var delta = "δ";
|
||
var demptyv = "⦱";
|
||
var dfisht = "⥿";
|
||
var Dfr = "𝔇";
|
||
var dfr = "𝔡";
|
||
var dHar = "⥥";
|
||
var dharl = "⇃";
|
||
var dharr = "⇂";
|
||
var DiacriticalAcute = "´";
|
||
var DiacriticalDot = "˙";
|
||
var DiacriticalDoubleAcute = "˝";
|
||
var DiacriticalGrave = "`";
|
||
var DiacriticalTilde = "˜";
|
||
var diam = "⋄";
|
||
var diamond = "⋄";
|
||
var Diamond = "⋄";
|
||
var diamondsuit = "♦";
|
||
var diams = "♦";
|
||
var die = "¨";
|
||
var DifferentialD = "ⅆ";
|
||
var digamma = "ϝ";
|
||
var disin = "⋲";
|
||
var div = "÷";
|
||
var divide = "÷";
|
||
var divideontimes = "⋇";
|
||
var divonx = "⋇";
|
||
var DJcy = "Ђ";
|
||
var djcy = "ђ";
|
||
var dlcorn = "⌞";
|
||
var dlcrop = "⌍";
|
||
var dollar = "$";
|
||
var Dopf = "𝔻";
|
||
var dopf = "𝕕";
|
||
var Dot = "¨";
|
||
var dot = "˙";
|
||
var DotDot = "⃜";
|
||
var doteq = "≐";
|
||
var doteqdot = "≑";
|
||
var DotEqual = "≐";
|
||
var dotminus = "∸";
|
||
var dotplus = "∔";
|
||
var dotsquare = "⊡";
|
||
var doublebarwedge = "⌆";
|
||
var DoubleContourIntegral = "∯";
|
||
var DoubleDot = "¨";
|
||
var DoubleDownArrow = "⇓";
|
||
var DoubleLeftArrow = "⇐";
|
||
var DoubleLeftRightArrow = "⇔";
|
||
var DoubleLeftTee = "⫤";
|
||
var DoubleLongLeftArrow = "⟸";
|
||
var DoubleLongLeftRightArrow = "⟺";
|
||
var DoubleLongRightArrow = "⟹";
|
||
var DoubleRightArrow = "⇒";
|
||
var DoubleRightTee = "⊨";
|
||
var DoubleUpArrow = "⇑";
|
||
var DoubleUpDownArrow = "⇕";
|
||
var DoubleVerticalBar = "∥";
|
||
var DownArrowBar = "⤓";
|
||
var downarrow = "↓";
|
||
var DownArrow = "↓";
|
||
var Downarrow = "⇓";
|
||
var DownArrowUpArrow = "⇵";
|
||
var DownBreve = "̑";
|
||
var downdownarrows = "⇊";
|
||
var downharpoonleft = "⇃";
|
||
var downharpoonright = "⇂";
|
||
var DownLeftRightVector = "⥐";
|
||
var DownLeftTeeVector = "⥞";
|
||
var DownLeftVectorBar = "⥖";
|
||
var DownLeftVector = "↽";
|
||
var DownRightTeeVector = "⥟";
|
||
var DownRightVectorBar = "⥗";
|
||
var DownRightVector = "⇁";
|
||
var DownTeeArrow = "↧";
|
||
var DownTee = "⊤";
|
||
var drbkarow = "⤐";
|
||
var drcorn = "⌟";
|
||
var drcrop = "⌌";
|
||
var Dscr = "𝒟";
|
||
var dscr = "𝒹";
|
||
var DScy = "Ѕ";
|
||
var dscy = "ѕ";
|
||
var dsol = "⧶";
|
||
var Dstrok = "Đ";
|
||
var dstrok = "đ";
|
||
var dtdot = "⋱";
|
||
var dtri = "▿";
|
||
var dtrif = "▾";
|
||
var duarr = "⇵";
|
||
var duhar = "⥯";
|
||
var dwangle = "⦦";
|
||
var DZcy = "Џ";
|
||
var dzcy = "џ";
|
||
var dzigrarr = "⟿";
|
||
var Eacute = "É";
|
||
var eacute = "é";
|
||
var easter = "⩮";
|
||
var Ecaron = "Ě";
|
||
var ecaron = "ě";
|
||
var Ecirc = "Ê";
|
||
var ecirc = "ê";
|
||
var ecir = "≖";
|
||
var ecolon = "≕";
|
||
var Ecy = "Э";
|
||
var ecy = "э";
|
||
var eDDot = "⩷";
|
||
var Edot = "Ė";
|
||
var edot = "ė";
|
||
var eDot = "≑";
|
||
var ee = "ⅇ";
|
||
var efDot = "≒";
|
||
var Efr = "𝔈";
|
||
var efr = "𝔢";
|
||
var eg = "⪚";
|
||
var Egrave = "È";
|
||
var egrave = "è";
|
||
var egs = "⪖";
|
||
var egsdot = "⪘";
|
||
var el = "⪙";
|
||
var Element = "∈";
|
||
var elinters = "⏧";
|
||
var ell = "ℓ";
|
||
var els = "⪕";
|
||
var elsdot = "⪗";
|
||
var Emacr = "Ē";
|
||
var emacr = "ē";
|
||
var empty = "∅";
|
||
var emptyset = "∅";
|
||
var EmptySmallSquare = "◻";
|
||
var emptyv = "∅";
|
||
var EmptyVerySmallSquare = "▫";
|
||
var emsp13 = " ";
|
||
var emsp14 = " ";
|
||
var emsp = " ";
|
||
var ENG = "Ŋ";
|
||
var eng = "ŋ";
|
||
var ensp = " ";
|
||
var Eogon = "Ę";
|
||
var eogon = "ę";
|
||
var Eopf = "𝔼";
|
||
var eopf = "𝕖";
|
||
var epar = "⋕";
|
||
var eparsl = "⧣";
|
||
var eplus = "⩱";
|
||
var epsi = "ε";
|
||
var Epsilon = "Ε";
|
||
var epsilon = "ε";
|
||
var epsiv = "ϵ";
|
||
var eqcirc = "≖";
|
||
var eqcolon = "≕";
|
||
var eqsim = "≂";
|
||
var eqslantgtr = "⪖";
|
||
var eqslantless = "⪕";
|
||
var Equal = "⩵";
|
||
var equals = "=";
|
||
var EqualTilde = "≂";
|
||
var equest = "≟";
|
||
var Equilibrium = "⇌";
|
||
var equiv = "≡";
|
||
var equivDD = "⩸";
|
||
var eqvparsl = "⧥";
|
||
var erarr = "⥱";
|
||
var erDot = "≓";
|
||
var escr = "ℯ";
|
||
var Escr = "ℰ";
|
||
var esdot = "≐";
|
||
var Esim = "⩳";
|
||
var esim = "≂";
|
||
var Eta = "Η";
|
||
var eta = "η";
|
||
var ETH = "Ð";
|
||
var eth = "ð";
|
||
var Euml = "Ë";
|
||
var euml = "ë";
|
||
var euro = "€";
|
||
var excl = "!";
|
||
var exist = "∃";
|
||
var Exists = "∃";
|
||
var expectation = "ℰ";
|
||
var exponentiale = "ⅇ";
|
||
var ExponentialE = "ⅇ";
|
||
var fallingdotseq = "≒";
|
||
var Fcy = "Ф";
|
||
var fcy = "ф";
|
||
var female = "♀";
|
||
var ffilig = "ffi";
|
||
var fflig = "ff";
|
||
var ffllig = "ffl";
|
||
var Ffr = "𝔉";
|
||
var ffr = "𝔣";
|
||
var filig = "fi";
|
||
var FilledSmallSquare = "◼";
|
||
var FilledVerySmallSquare = "▪";
|
||
var fjlig = "fj";
|
||
var flat = "♭";
|
||
var fllig = "fl";
|
||
var fltns = "▱";
|
||
var fnof = "ƒ";
|
||
var Fopf = "𝔽";
|
||
var fopf = "𝕗";
|
||
var forall = "∀";
|
||
var ForAll = "∀";
|
||
var fork = "⋔";
|
||
var forkv = "⫙";
|
||
var Fouriertrf = "ℱ";
|
||
var fpartint = "⨍";
|
||
var frac12 = "½";
|
||
var frac13 = "⅓";
|
||
var frac14 = "¼";
|
||
var frac15 = "⅕";
|
||
var frac16 = "⅙";
|
||
var frac18 = "⅛";
|
||
var frac23 = "⅔";
|
||
var frac25 = "⅖";
|
||
var frac34 = "¾";
|
||
var frac35 = "⅗";
|
||
var frac38 = "⅜";
|
||
var frac45 = "⅘";
|
||
var frac56 = "⅚";
|
||
var frac58 = "⅝";
|
||
var frac78 = "⅞";
|
||
var frasl = "⁄";
|
||
var frown = "⌢";
|
||
var fscr = "𝒻";
|
||
var Fscr = "ℱ";
|
||
var gacute = "ǵ";
|
||
var Gamma = "Γ";
|
||
var gamma = "γ";
|
||
var Gammad = "Ϝ";
|
||
var gammad = "ϝ";
|
||
var gap = "⪆";
|
||
var Gbreve = "Ğ";
|
||
var gbreve = "ğ";
|
||
var Gcedil = "Ģ";
|
||
var Gcirc = "Ĝ";
|
||
var gcirc = "ĝ";
|
||
var Gcy = "Г";
|
||
var gcy = "г";
|
||
var Gdot = "Ġ";
|
||
var gdot = "ġ";
|
||
var ge = "≥";
|
||
var gE = "≧";
|
||
var gEl = "⪌";
|
||
var gel = "⋛";
|
||
var geq = "≥";
|
||
var geqq = "≧";
|
||
var geqslant = "⩾";
|
||
var gescc = "⪩";
|
||
var ges = "⩾";
|
||
var gesdot = "⪀";
|
||
var gesdoto = "⪂";
|
||
var gesdotol = "⪄";
|
||
var gesl = "⋛︀";
|
||
var gesles = "⪔";
|
||
var Gfr = "𝔊";
|
||
var gfr = "𝔤";
|
||
var gg = "≫";
|
||
var Gg = "⋙";
|
||
var ggg = "⋙";
|
||
var gimel = "ℷ";
|
||
var GJcy = "Ѓ";
|
||
var gjcy = "ѓ";
|
||
var gla = "⪥";
|
||
var gl = "≷";
|
||
var glE = "⪒";
|
||
var glj = "⪤";
|
||
var gnap = "⪊";
|
||
var gnapprox = "⪊";
|
||
var gne = "⪈";
|
||
var gnE = "≩";
|
||
var gneq = "⪈";
|
||
var gneqq = "≩";
|
||
var gnsim = "⋧";
|
||
var Gopf = "𝔾";
|
||
var gopf = "𝕘";
|
||
var grave = "`";
|
||
var GreaterEqual = "≥";
|
||
var GreaterEqualLess = "⋛";
|
||
var GreaterFullEqual = "≧";
|
||
var GreaterGreater = "⪢";
|
||
var GreaterLess = "≷";
|
||
var GreaterSlantEqual = "⩾";
|
||
var GreaterTilde = "≳";
|
||
var Gscr = "𝒢";
|
||
var gscr = "ℊ";
|
||
var gsim = "≳";
|
||
var gsime = "⪎";
|
||
var gsiml = "⪐";
|
||
var gtcc = "⪧";
|
||
var gtcir = "⩺";
|
||
var gt = ">";
|
||
var GT = ">";
|
||
var Gt = "≫";
|
||
var gtdot = "⋗";
|
||
var gtlPar = "⦕";
|
||
var gtquest = "⩼";
|
||
var gtrapprox = "⪆";
|
||
var gtrarr = "⥸";
|
||
var gtrdot = "⋗";
|
||
var gtreqless = "⋛";
|
||
var gtreqqless = "⪌";
|
||
var gtrless = "≷";
|
||
var gtrsim = "≳";
|
||
var gvertneqq = "≩︀";
|
||
var gvnE = "≩︀";
|
||
var Hacek = "ˇ";
|
||
var hairsp = " ";
|
||
var half = "½";
|
||
var hamilt = "ℋ";
|
||
var HARDcy = "Ъ";
|
||
var hardcy = "ъ";
|
||
var harrcir = "⥈";
|
||
var harr = "↔";
|
||
var hArr = "⇔";
|
||
var harrw = "↭";
|
||
var Hat = "^";
|
||
var hbar = "ℏ";
|
||
var Hcirc = "Ĥ";
|
||
var hcirc = "ĥ";
|
||
var hearts = "♥";
|
||
var heartsuit = "♥";
|
||
var hellip = "…";
|
||
var hercon = "⊹";
|
||
var hfr = "𝔥";
|
||
var Hfr = "ℌ";
|
||
var HilbertSpace = "ℋ";
|
||
var hksearow = "⤥";
|
||
var hkswarow = "⤦";
|
||
var hoarr = "⇿";
|
||
var homtht = "∻";
|
||
var hookleftarrow = "↩";
|
||
var hookrightarrow = "↪";
|
||
var hopf = "𝕙";
|
||
var Hopf = "ℍ";
|
||
var horbar = "―";
|
||
var HorizontalLine = "─";
|
||
var hscr = "𝒽";
|
||
var Hscr = "ℋ";
|
||
var hslash = "ℏ";
|
||
var Hstrok = "Ħ";
|
||
var hstrok = "ħ";
|
||
var HumpDownHump = "≎";
|
||
var HumpEqual = "≏";
|
||
var hybull = "⁃";
|
||
var hyphen = "‐";
|
||
var Iacute = "Í";
|
||
var iacute = "í";
|
||
var ic = "";
|
||
var Icirc = "Î";
|
||
var icirc = "î";
|
||
var Icy = "И";
|
||
var icy = "и";
|
||
var Idot = "İ";
|
||
var IEcy = "Е";
|
||
var iecy = "е";
|
||
var iexcl = "¡";
|
||
var iff = "⇔";
|
||
var ifr = "𝔦";
|
||
var Ifr = "ℑ";
|
||
var Igrave = "Ì";
|
||
var igrave = "ì";
|
||
var ii = "ⅈ";
|
||
var iiiint = "⨌";
|
||
var iiint = "∭";
|
||
var iinfin = "⧜";
|
||
var iiota = "℩";
|
||
var IJlig = "IJ";
|
||
var ijlig = "ij";
|
||
var Imacr = "Ī";
|
||
var imacr = "ī";
|
||
var image = "ℑ";
|
||
var ImaginaryI = "ⅈ";
|
||
var imagline = "ℐ";
|
||
var imagpart = "ℑ";
|
||
var imath = "ı";
|
||
var Im = "ℑ";
|
||
var imof = "⊷";
|
||
var imped = "Ƶ";
|
||
var Implies = "⇒";
|
||
var incare = "℅";
|
||
var infin = "∞";
|
||
var infintie = "⧝";
|
||
var inodot = "ı";
|
||
var intcal = "⊺";
|
||
var int = "∫";
|
||
var Int = "∬";
|
||
var integers = "ℤ";
|
||
var Integral = "∫";
|
||
var intercal = "⊺";
|
||
var Intersection = "⋂";
|
||
var intlarhk = "⨗";
|
||
var intprod = "⨼";
|
||
var InvisibleComma = "";
|
||
var InvisibleTimes = "";
|
||
var IOcy = "Ё";
|
||
var iocy = "ё";
|
||
var Iogon = "Į";
|
||
var iogon = "į";
|
||
var Iopf = "𝕀";
|
||
var iopf = "𝕚";
|
||
var Iota = "Ι";
|
||
var iota = "ι";
|
||
var iprod = "⨼";
|
||
var iquest = "¿";
|
||
var iscr = "𝒾";
|
||
var Iscr = "ℐ";
|
||
var isin = "∈";
|
||
var isindot = "⋵";
|
||
var isinE = "⋹";
|
||
var isins = "⋴";
|
||
var isinsv = "⋳";
|
||
var isinv = "∈";
|
||
var it = "";
|
||
var Itilde = "Ĩ";
|
||
var itilde = "ĩ";
|
||
var Iukcy = "І";
|
||
var iukcy = "і";
|
||
var Iuml = "Ï";
|
||
var iuml = "ï";
|
||
var Jcirc = "Ĵ";
|
||
var jcirc = "ĵ";
|
||
var Jcy = "Й";
|
||
var jcy = "й";
|
||
var Jfr = "𝔍";
|
||
var jfr = "𝔧";
|
||
var jmath = "ȷ";
|
||
var Jopf = "𝕁";
|
||
var jopf = "𝕛";
|
||
var Jscr = "𝒥";
|
||
var jscr = "𝒿";
|
||
var Jsercy = "Ј";
|
||
var jsercy = "ј";
|
||
var Jukcy = "Є";
|
||
var jukcy = "є";
|
||
var Kappa = "Κ";
|
||
var kappa = "κ";
|
||
var kappav = "ϰ";
|
||
var Kcedil = "Ķ";
|
||
var kcedil = "ķ";
|
||
var Kcy = "К";
|
||
var kcy = "к";
|
||
var Kfr = "𝔎";
|
||
var kfr = "𝔨";
|
||
var kgreen = "ĸ";
|
||
var KHcy = "Х";
|
||
var khcy = "х";
|
||
var KJcy = "Ќ";
|
||
var kjcy = "ќ";
|
||
var Kopf = "𝕂";
|
||
var kopf = "𝕜";
|
||
var Kscr = "𝒦";
|
||
var kscr = "𝓀";
|
||
var lAarr = "⇚";
|
||
var Lacute = "Ĺ";
|
||
var lacute = "ĺ";
|
||
var laemptyv = "⦴";
|
||
var lagran = "ℒ";
|
||
var Lambda = "Λ";
|
||
var lambda = "λ";
|
||
var lang = "⟨";
|
||
var Lang = "⟪";
|
||
var langd = "⦑";
|
||
var langle = "⟨";
|
||
var lap = "⪅";
|
||
var Laplacetrf = "ℒ";
|
||
var laquo = "«";
|
||
var larrb = "⇤";
|
||
var larrbfs = "⤟";
|
||
var larr = "←";
|
||
var Larr = "↞";
|
||
var lArr = "⇐";
|
||
var larrfs = "⤝";
|
||
var larrhk = "↩";
|
||
var larrlp = "↫";
|
||
var larrpl = "⤹";
|
||
var larrsim = "⥳";
|
||
var larrtl = "↢";
|
||
var latail = "⤙";
|
||
var lAtail = "⤛";
|
||
var lat = "⪫";
|
||
var late = "⪭";
|
||
var lates = "⪭︀";
|
||
var lbarr = "⤌";
|
||
var lBarr = "⤎";
|
||
var lbbrk = "❲";
|
||
var lbrace = "{";
|
||
var lbrack = "[";
|
||
var lbrke = "⦋";
|
||
var lbrksld = "⦏";
|
||
var lbrkslu = "⦍";
|
||
var Lcaron = "Ľ";
|
||
var lcaron = "ľ";
|
||
var Lcedil = "Ļ";
|
||
var lcedil = "ļ";
|
||
var lceil = "⌈";
|
||
var lcub = "{";
|
||
var Lcy = "Л";
|
||
var lcy = "л";
|
||
var ldca = "⤶";
|
||
var ldquo = "“";
|
||
var ldquor = "„";
|
||
var ldrdhar = "⥧";
|
||
var ldrushar = "⥋";
|
||
var ldsh = "↲";
|
||
var le = "≤";
|
||
var lE = "≦";
|
||
var LeftAngleBracket = "⟨";
|
||
var LeftArrowBar = "⇤";
|
||
var leftarrow = "←";
|
||
var LeftArrow = "←";
|
||
var Leftarrow = "⇐";
|
||
var LeftArrowRightArrow = "⇆";
|
||
var leftarrowtail = "↢";
|
||
var LeftCeiling = "⌈";
|
||
var LeftDoubleBracket = "⟦";
|
||
var LeftDownTeeVector = "⥡";
|
||
var LeftDownVectorBar = "⥙";
|
||
var LeftDownVector = "⇃";
|
||
var LeftFloor = "⌊";
|
||
var leftharpoondown = "↽";
|
||
var leftharpoonup = "↼";
|
||
var leftleftarrows = "⇇";
|
||
var leftrightarrow = "↔";
|
||
var LeftRightArrow = "↔";
|
||
var Leftrightarrow = "⇔";
|
||
var leftrightarrows = "⇆";
|
||
var leftrightharpoons = "⇋";
|
||
var leftrightsquigarrow = "↭";
|
||
var LeftRightVector = "⥎";
|
||
var LeftTeeArrow = "↤";
|
||
var LeftTee = "⊣";
|
||
var LeftTeeVector = "⥚";
|
||
var leftthreetimes = "⋋";
|
||
var LeftTriangleBar = "⧏";
|
||
var LeftTriangle = "⊲";
|
||
var LeftTriangleEqual = "⊴";
|
||
var LeftUpDownVector = "⥑";
|
||
var LeftUpTeeVector = "⥠";
|
||
var LeftUpVectorBar = "⥘";
|
||
var LeftUpVector = "↿";
|
||
var LeftVectorBar = "⥒";
|
||
var LeftVector = "↼";
|
||
var lEg = "⪋";
|
||
var leg = "⋚";
|
||
var leq = "≤";
|
||
var leqq = "≦";
|
||
var leqslant = "⩽";
|
||
var lescc = "⪨";
|
||
var les = "⩽";
|
||
var lesdot = "⩿";
|
||
var lesdoto = "⪁";
|
||
var lesdotor = "⪃";
|
||
var lesg = "⋚︀";
|
||
var lesges = "⪓";
|
||
var lessapprox = "⪅";
|
||
var lessdot = "⋖";
|
||
var lesseqgtr = "⋚";
|
||
var lesseqqgtr = "⪋";
|
||
var LessEqualGreater = "⋚";
|
||
var LessFullEqual = "≦";
|
||
var LessGreater = "≶";
|
||
var lessgtr = "≶";
|
||
var LessLess = "⪡";
|
||
var lesssim = "≲";
|
||
var LessSlantEqual = "⩽";
|
||
var LessTilde = "≲";
|
||
var lfisht = "⥼";
|
||
var lfloor = "⌊";
|
||
var Lfr = "𝔏";
|
||
var lfr = "𝔩";
|
||
var lg = "≶";
|
||
var lgE = "⪑";
|
||
var lHar = "⥢";
|
||
var lhard = "↽";
|
||
var lharu = "↼";
|
||
var lharul = "⥪";
|
||
var lhblk = "▄";
|
||
var LJcy = "Љ";
|
||
var ljcy = "љ";
|
||
var llarr = "⇇";
|
||
var ll = "≪";
|
||
var Ll = "⋘";
|
||
var llcorner = "⌞";
|
||
var Lleftarrow = "⇚";
|
||
var llhard = "⥫";
|
||
var lltri = "◺";
|
||
var Lmidot = "Ŀ";
|
||
var lmidot = "ŀ";
|
||
var lmoustache = "⎰";
|
||
var lmoust = "⎰";
|
||
var lnap = "⪉";
|
||
var lnapprox = "⪉";
|
||
var lne = "⪇";
|
||
var lnE = "≨";
|
||
var lneq = "⪇";
|
||
var lneqq = "≨";
|
||
var lnsim = "⋦";
|
||
var loang = "⟬";
|
||
var loarr = "⇽";
|
||
var lobrk = "⟦";
|
||
var longleftarrow = "⟵";
|
||
var LongLeftArrow = "⟵";
|
||
var Longleftarrow = "⟸";
|
||
var longleftrightarrow = "⟷";
|
||
var LongLeftRightArrow = "⟷";
|
||
var Longleftrightarrow = "⟺";
|
||
var longmapsto = "⟼";
|
||
var longrightarrow = "⟶";
|
||
var LongRightArrow = "⟶";
|
||
var Longrightarrow = "⟹";
|
||
var looparrowleft = "↫";
|
||
var looparrowright = "↬";
|
||
var lopar = "⦅";
|
||
var Lopf = "𝕃";
|
||
var lopf = "𝕝";
|
||
var loplus = "⨭";
|
||
var lotimes = "⨴";
|
||
var lowast = "∗";
|
||
var lowbar = "_";
|
||
var LowerLeftArrow = "↙";
|
||
var LowerRightArrow = "↘";
|
||
var loz = "◊";
|
||
var lozenge = "◊";
|
||
var lozf = "⧫";
|
||
var lpar = "(";
|
||
var lparlt = "⦓";
|
||
var lrarr = "⇆";
|
||
var lrcorner = "⌟";
|
||
var lrhar = "⇋";
|
||
var lrhard = "⥭";
|
||
var lrm = "";
|
||
var lrtri = "⊿";
|
||
var lsaquo = "‹";
|
||
var lscr = "𝓁";
|
||
var Lscr = "ℒ";
|
||
var lsh = "↰";
|
||
var Lsh = "↰";
|
||
var lsim = "≲";
|
||
var lsime = "⪍";
|
||
var lsimg = "⪏";
|
||
var lsqb = "[";
|
||
var lsquo = "‘";
|
||
var lsquor = "‚";
|
||
var Lstrok = "Ł";
|
||
var lstrok = "ł";
|
||
var ltcc = "⪦";
|
||
var ltcir = "⩹";
|
||
var lt = "<";
|
||
var LT = "<";
|
||
var Lt = "≪";
|
||
var ltdot = "⋖";
|
||
var lthree = "⋋";
|
||
var ltimes = "⋉";
|
||
var ltlarr = "⥶";
|
||
var ltquest = "⩻";
|
||
var ltri = "◃";
|
||
var ltrie = "⊴";
|
||
var ltrif = "◂";
|
||
var ltrPar = "⦖";
|
||
var lurdshar = "⥊";
|
||
var luruhar = "⥦";
|
||
var lvertneqq = "≨︀";
|
||
var lvnE = "≨︀";
|
||
var macr = "¯";
|
||
var male = "♂";
|
||
var malt = "✠";
|
||
var maltese = "✠";
|
||
var map = "↦";
|
||
var mapsto = "↦";
|
||
var mapstodown = "↧";
|
||
var mapstoleft = "↤";
|
||
var mapstoup = "↥";
|
||
var marker = "▮";
|
||
var mcomma = "⨩";
|
||
var Mcy = "М";
|
||
var mcy = "м";
|
||
var mdash = "—";
|
||
var mDDot = "∺";
|
||
var measuredangle = "∡";
|
||
var MediumSpace = " ";
|
||
var Mellintrf = "ℳ";
|
||
var Mfr = "𝔐";
|
||
var mfr = "𝔪";
|
||
var mho = "℧";
|
||
var micro = "µ";
|
||
var midast = "*";
|
||
var midcir = "⫰";
|
||
var mid = "∣";
|
||
var middot = "·";
|
||
var minusb = "⊟";
|
||
var minus = "−";
|
||
var minusd = "∸";
|
||
var minusdu = "⨪";
|
||
var MinusPlus = "∓";
|
||
var mlcp = "⫛";
|
||
var mldr = "…";
|
||
var mnplus = "∓";
|
||
var models = "⊧";
|
||
var Mopf = "𝕄";
|
||
var mopf = "𝕞";
|
||
var mp = "∓";
|
||
var mscr = "𝓂";
|
||
var Mscr = "ℳ";
|
||
var mstpos = "∾";
|
||
var Mu = "Μ";
|
||
var mu = "μ";
|
||
var multimap = "⊸";
|
||
var mumap = "⊸";
|
||
var nabla = "∇";
|
||
var Nacute = "Ń";
|
||
var nacute = "ń";
|
||
var nang = "∠⃒";
|
||
var nap = "≉";
|
||
var napE = "⩰̸";
|
||
var napid = "≋̸";
|
||
var napos = "ʼn";
|
||
var napprox = "≉";
|
||
var natural = "♮";
|
||
var naturals = "ℕ";
|
||
var natur = "♮";
|
||
var nbsp = " ";
|
||
var nbump = "≎̸";
|
||
var nbumpe = "≏̸";
|
||
var ncap = "⩃";
|
||
var Ncaron = "Ň";
|
||
var ncaron = "ň";
|
||
var Ncedil = "Ņ";
|
||
var ncedil = "ņ";
|
||
var ncong = "≇";
|
||
var ncongdot = "⩭̸";
|
||
var ncup = "⩂";
|
||
var Ncy = "Н";
|
||
var ncy = "н";
|
||
var ndash = "–";
|
||
var nearhk = "⤤";
|
||
var nearr = "↗";
|
||
var neArr = "⇗";
|
||
var nearrow = "↗";
|
||
var ne = "≠";
|
||
var nedot = "≐̸";
|
||
var NegativeMediumSpace = "";
|
||
var NegativeThickSpace = "";
|
||
var NegativeThinSpace = "";
|
||
var NegativeVeryThinSpace = "";
|
||
var nequiv = "≢";
|
||
var nesear = "⤨";
|
||
var nesim = "≂̸";
|
||
var NestedGreaterGreater = "≫";
|
||
var NestedLessLess = "≪";
|
||
var NewLine = "\n";
|
||
var nexist = "∄";
|
||
var nexists = "∄";
|
||
var Nfr = "𝔑";
|
||
var nfr = "𝔫";
|
||
var ngE = "≧̸";
|
||
var nge = "≱";
|
||
var ngeq = "≱";
|
||
var ngeqq = "≧̸";
|
||
var ngeqslant = "⩾̸";
|
||
var nges = "⩾̸";
|
||
var nGg = "⋙̸";
|
||
var ngsim = "≵";
|
||
var nGt = "≫⃒";
|
||
var ngt = "≯";
|
||
var ngtr = "≯";
|
||
var nGtv = "≫̸";
|
||
var nharr = "↮";
|
||
var nhArr = "⇎";
|
||
var nhpar = "⫲";
|
||
var ni = "∋";
|
||
var nis = "⋼";
|
||
var nisd = "⋺";
|
||
var niv = "∋";
|
||
var NJcy = "Њ";
|
||
var njcy = "њ";
|
||
var nlarr = "↚";
|
||
var nlArr = "⇍";
|
||
var nldr = "‥";
|
||
var nlE = "≦̸";
|
||
var nle = "≰";
|
||
var nleftarrow = "↚";
|
||
var nLeftarrow = "⇍";
|
||
var nleftrightarrow = "↮";
|
||
var nLeftrightarrow = "⇎";
|
||
var nleq = "≰";
|
||
var nleqq = "≦̸";
|
||
var nleqslant = "⩽̸";
|
||
var nles = "⩽̸";
|
||
var nless = "≮";
|
||
var nLl = "⋘̸";
|
||
var nlsim = "≴";
|
||
var nLt = "≪⃒";
|
||
var nlt = "≮";
|
||
var nltri = "⋪";
|
||
var nltrie = "⋬";
|
||
var nLtv = "≪̸";
|
||
var nmid = "∤";
|
||
var NoBreak = "";
|
||
var NonBreakingSpace = " ";
|
||
var nopf = "𝕟";
|
||
var Nopf = "ℕ";
|
||
var Not = "⫬";
|
||
var not = "¬";
|
||
var NotCongruent = "≢";
|
||
var NotCupCap = "≭";
|
||
var NotDoubleVerticalBar = "∦";
|
||
var NotElement = "∉";
|
||
var NotEqual = "≠";
|
||
var NotEqualTilde = "≂̸";
|
||
var NotExists = "∄";
|
||
var NotGreater = "≯";
|
||
var NotGreaterEqual = "≱";
|
||
var NotGreaterFullEqual = "≧̸";
|
||
var NotGreaterGreater = "≫̸";
|
||
var NotGreaterLess = "≹";
|
||
var NotGreaterSlantEqual = "⩾̸";
|
||
var NotGreaterTilde = "≵";
|
||
var NotHumpDownHump = "≎̸";
|
||
var NotHumpEqual = "≏̸";
|
||
var notin = "∉";
|
||
var notindot = "⋵̸";
|
||
var notinE = "⋹̸";
|
||
var notinva = "∉";
|
||
var notinvb = "⋷";
|
||
var notinvc = "⋶";
|
||
var NotLeftTriangleBar = "⧏̸";
|
||
var NotLeftTriangle = "⋪";
|
||
var NotLeftTriangleEqual = "⋬";
|
||
var NotLess = "≮";
|
||
var NotLessEqual = "≰";
|
||
var NotLessGreater = "≸";
|
||
var NotLessLess = "≪̸";
|
||
var NotLessSlantEqual = "⩽̸";
|
||
var NotLessTilde = "≴";
|
||
var NotNestedGreaterGreater = "⪢̸";
|
||
var NotNestedLessLess = "⪡̸";
|
||
var notni = "∌";
|
||
var notniva = "∌";
|
||
var notnivb = "⋾";
|
||
var notnivc = "⋽";
|
||
var NotPrecedes = "⊀";
|
||
var NotPrecedesEqual = "⪯̸";
|
||
var NotPrecedesSlantEqual = "⋠";
|
||
var NotReverseElement = "∌";
|
||
var NotRightTriangleBar = "⧐̸";
|
||
var NotRightTriangle = "⋫";
|
||
var NotRightTriangleEqual = "⋭";
|
||
var NotSquareSubset = "⊏̸";
|
||
var NotSquareSubsetEqual = "⋢";
|
||
var NotSquareSuperset = "⊐̸";
|
||
var NotSquareSupersetEqual = "⋣";
|
||
var NotSubset = "⊂⃒";
|
||
var NotSubsetEqual = "⊈";
|
||
var NotSucceeds = "⊁";
|
||
var NotSucceedsEqual = "⪰̸";
|
||
var NotSucceedsSlantEqual = "⋡";
|
||
var NotSucceedsTilde = "≿̸";
|
||
var NotSuperset = "⊃⃒";
|
||
var NotSupersetEqual = "⊉";
|
||
var NotTilde = "≁";
|
||
var NotTildeEqual = "≄";
|
||
var NotTildeFullEqual = "≇";
|
||
var NotTildeTilde = "≉";
|
||
var NotVerticalBar = "∤";
|
||
var nparallel = "∦";
|
||
var npar = "∦";
|
||
var nparsl = "⫽⃥";
|
||
var npart = "∂̸";
|
||
var npolint = "⨔";
|
||
var npr = "⊀";
|
||
var nprcue = "⋠";
|
||
var nprec = "⊀";
|
||
var npreceq = "⪯̸";
|
||
var npre = "⪯̸";
|
||
var nrarrc = "⤳̸";
|
||
var nrarr = "↛";
|
||
var nrArr = "⇏";
|
||
var nrarrw = "↝̸";
|
||
var nrightarrow = "↛";
|
||
var nRightarrow = "⇏";
|
||
var nrtri = "⋫";
|
||
var nrtrie = "⋭";
|
||
var nsc = "⊁";
|
||
var nsccue = "⋡";
|
||
var nsce = "⪰̸";
|
||
var Nscr = "𝒩";
|
||
var nscr = "𝓃";
|
||
var nshortmid = "∤";
|
||
var nshortparallel = "∦";
|
||
var nsim = "≁";
|
||
var nsime = "≄";
|
||
var nsimeq = "≄";
|
||
var nsmid = "∤";
|
||
var nspar = "∦";
|
||
var nsqsube = "⋢";
|
||
var nsqsupe = "⋣";
|
||
var nsub = "⊄";
|
||
var nsubE = "⫅̸";
|
||
var nsube = "⊈";
|
||
var nsubset = "⊂⃒";
|
||
var nsubseteq = "⊈";
|
||
var nsubseteqq = "⫅̸";
|
||
var nsucc = "⊁";
|
||
var nsucceq = "⪰̸";
|
||
var nsup = "⊅";
|
||
var nsupE = "⫆̸";
|
||
var nsupe = "⊉";
|
||
var nsupset = "⊃⃒";
|
||
var nsupseteq = "⊉";
|
||
var nsupseteqq = "⫆̸";
|
||
var ntgl = "≹";
|
||
var Ntilde = "Ñ";
|
||
var ntilde = "ñ";
|
||
var ntlg = "≸";
|
||
var ntriangleleft = "⋪";
|
||
var ntrianglelefteq = "⋬";
|
||
var ntriangleright = "⋫";
|
||
var ntrianglerighteq = "⋭";
|
||
var Nu = "Ν";
|
||
var nu = "ν";
|
||
var num = "#";
|
||
var numero = "№";
|
||
var numsp = " ";
|
||
var nvap = "≍⃒";
|
||
var nvdash = "⊬";
|
||
var nvDash = "⊭";
|
||
var nVdash = "⊮";
|
||
var nVDash = "⊯";
|
||
var nvge = "≥⃒";
|
||
var nvgt = ">⃒";
|
||
var nvHarr = "⤄";
|
||
var nvinfin = "⧞";
|
||
var nvlArr = "⤂";
|
||
var nvle = "≤⃒";
|
||
var nvlt = "<⃒";
|
||
var nvltrie = "⊴⃒";
|
||
var nvrArr = "⤃";
|
||
var nvrtrie = "⊵⃒";
|
||
var nvsim = "∼⃒";
|
||
var nwarhk = "⤣";
|
||
var nwarr = "↖";
|
||
var nwArr = "⇖";
|
||
var nwarrow = "↖";
|
||
var nwnear = "⤧";
|
||
var Oacute = "Ó";
|
||
var oacute = "ó";
|
||
var oast = "⊛";
|
||
var Ocirc = "Ô";
|
||
var ocirc = "ô";
|
||
var ocir = "⊚";
|
||
var Ocy = "О";
|
||
var ocy = "о";
|
||
var odash = "⊝";
|
||
var Odblac = "Ő";
|
||
var odblac = "ő";
|
||
var odiv = "⨸";
|
||
var odot = "⊙";
|
||
var odsold = "⦼";
|
||
var OElig = "Œ";
|
||
var oelig = "œ";
|
||
var ofcir = "⦿";
|
||
var Ofr = "𝔒";
|
||
var ofr = "𝔬";
|
||
var ogon = "˛";
|
||
var Ograve = "Ò";
|
||
var ograve = "ò";
|
||
var ogt = "⧁";
|
||
var ohbar = "⦵";
|
||
var ohm = "Ω";
|
||
var oint = "∮";
|
||
var olarr = "↺";
|
||
var olcir = "⦾";
|
||
var olcross = "⦻";
|
||
var oline = "‾";
|
||
var olt = "⧀";
|
||
var Omacr = "Ō";
|
||
var omacr = "ō";
|
||
var Omega = "Ω";
|
||
var omega = "ω";
|
||
var Omicron = "Ο";
|
||
var omicron = "ο";
|
||
var omid = "⦶";
|
||
var ominus = "⊖";
|
||
var Oopf = "𝕆";
|
||
var oopf = "𝕠";
|
||
var opar = "⦷";
|
||
var OpenCurlyDoubleQuote = "“";
|
||
var OpenCurlyQuote = "‘";
|
||
var operp = "⦹";
|
||
var oplus = "⊕";
|
||
var orarr = "↻";
|
||
var Or = "⩔";
|
||
var or = "∨";
|
||
var ord = "⩝";
|
||
var order = "ℴ";
|
||
var orderof = "ℴ";
|
||
var ordf = "ª";
|
||
var ordm = "º";
|
||
var origof = "⊶";
|
||
var oror = "⩖";
|
||
var orslope = "⩗";
|
||
var orv = "⩛";
|
||
var oS = "Ⓢ";
|
||
var Oscr = "𝒪";
|
||
var oscr = "ℴ";
|
||
var Oslash = "Ø";
|
||
var oslash = "ø";
|
||
var osol = "⊘";
|
||
var Otilde = "Õ";
|
||
var otilde = "õ";
|
||
var otimesas = "⨶";
|
||
var Otimes = "⨷";
|
||
var otimes = "⊗";
|
||
var Ouml = "Ö";
|
||
var ouml = "ö";
|
||
var ovbar = "⌽";
|
||
var OverBar = "‾";
|
||
var OverBrace = "⏞";
|
||
var OverBracket = "⎴";
|
||
var OverParenthesis = "⏜";
|
||
var para = "¶";
|
||
var parallel = "∥";
|
||
var par = "∥";
|
||
var parsim = "⫳";
|
||
var parsl = "⫽";
|
||
var part = "∂";
|
||
var PartialD = "∂";
|
||
var Pcy = "П";
|
||
var pcy = "п";
|
||
var percnt = "%";
|
||
var period = ".";
|
||
var permil = "‰";
|
||
var perp = "⊥";
|
||
var pertenk = "‱";
|
||
var Pfr = "𝔓";
|
||
var pfr = "𝔭";
|
||
var Phi = "Φ";
|
||
var phi = "φ";
|
||
var phiv = "ϕ";
|
||
var phmmat = "ℳ";
|
||
var phone = "☎";
|
||
var Pi = "Π";
|
||
var pi = "π";
|
||
var pitchfork = "⋔";
|
||
var piv = "ϖ";
|
||
var planck = "ℏ";
|
||
var planckh = "ℎ";
|
||
var plankv = "ℏ";
|
||
var plusacir = "⨣";
|
||
var plusb = "⊞";
|
||
var pluscir = "⨢";
|
||
var plus = "+";
|
||
var plusdo = "∔";
|
||
var plusdu = "⨥";
|
||
var pluse = "⩲";
|
||
var PlusMinus = "±";
|
||
var plusmn = "±";
|
||
var plussim = "⨦";
|
||
var plustwo = "⨧";
|
||
var pm = "±";
|
||
var Poincareplane = "ℌ";
|
||
var pointint = "⨕";
|
||
var popf = "𝕡";
|
||
var Popf = "ℙ";
|
||
var pound = "£";
|
||
var prap = "⪷";
|
||
var Pr = "⪻";
|
||
var pr = "≺";
|
||
var prcue = "≼";
|
||
var precapprox = "⪷";
|
||
var prec = "≺";
|
||
var preccurlyeq = "≼";
|
||
var Precedes = "≺";
|
||
var PrecedesEqual = "⪯";
|
||
var PrecedesSlantEqual = "≼";
|
||
var PrecedesTilde = "≾";
|
||
var preceq = "⪯";
|
||
var precnapprox = "⪹";
|
||
var precneqq = "⪵";
|
||
var precnsim = "⋨";
|
||
var pre = "⪯";
|
||
var prE = "⪳";
|
||
var precsim = "≾";
|
||
var prime = "′";
|
||
var Prime = "″";
|
||
var primes = "ℙ";
|
||
var prnap = "⪹";
|
||
var prnE = "⪵";
|
||
var prnsim = "⋨";
|
||
var prod = "∏";
|
||
var Product = "∏";
|
||
var profalar = "⌮";
|
||
var profline = "⌒";
|
||
var profsurf = "⌓";
|
||
var prop = "∝";
|
||
var Proportional = "∝";
|
||
var Proportion = "∷";
|
||
var propto = "∝";
|
||
var prsim = "≾";
|
||
var prurel = "⊰";
|
||
var Pscr = "𝒫";
|
||
var pscr = "𝓅";
|
||
var Psi = "Ψ";
|
||
var psi = "ψ";
|
||
var puncsp = " ";
|
||
var Qfr = "𝔔";
|
||
var qfr = "𝔮";
|
||
var qint = "⨌";
|
||
var qopf = "𝕢";
|
||
var Qopf = "ℚ";
|
||
var qprime = "⁗";
|
||
var Qscr = "𝒬";
|
||
var qscr = "𝓆";
|
||
var quaternions = "ℍ";
|
||
var quatint = "⨖";
|
||
var quest = "?";
|
||
var questeq = "≟";
|
||
var quot = "\"";
|
||
var QUOT = "\"";
|
||
var rAarr = "⇛";
|
||
var race = "∽̱";
|
||
var Racute = "Ŕ";
|
||
var racute = "ŕ";
|
||
var radic = "√";
|
||
var raemptyv = "⦳";
|
||
var rang = "⟩";
|
||
var Rang = "⟫";
|
||
var rangd = "⦒";
|
||
var range = "⦥";
|
||
var rangle = "⟩";
|
||
var raquo = "»";
|
||
var rarrap = "⥵";
|
||
var rarrb = "⇥";
|
||
var rarrbfs = "⤠";
|
||
var rarrc = "⤳";
|
||
var rarr = "→";
|
||
var Rarr = "↠";
|
||
var rArr = "⇒";
|
||
var rarrfs = "⤞";
|
||
var rarrhk = "↪";
|
||
var rarrlp = "↬";
|
||
var rarrpl = "⥅";
|
||
var rarrsim = "⥴";
|
||
var Rarrtl = "⤖";
|
||
var rarrtl = "↣";
|
||
var rarrw = "↝";
|
||
var ratail = "⤚";
|
||
var rAtail = "⤜";
|
||
var ratio = "∶";
|
||
var rationals = "ℚ";
|
||
var rbarr = "⤍";
|
||
var rBarr = "⤏";
|
||
var RBarr = "⤐";
|
||
var rbbrk = "❳";
|
||
var rbrace = "}";
|
||
var rbrack = "]";
|
||
var rbrke = "⦌";
|
||
var rbrksld = "⦎";
|
||
var rbrkslu = "⦐";
|
||
var Rcaron = "Ř";
|
||
var rcaron = "ř";
|
||
var Rcedil = "Ŗ";
|
||
var rcedil = "ŗ";
|
||
var rceil = "⌉";
|
||
var rcub = "}";
|
||
var Rcy = "Р";
|
||
var rcy = "р";
|
||
var rdca = "⤷";
|
||
var rdldhar = "⥩";
|
||
var rdquo = "”";
|
||
var rdquor = "”";
|
||
var rdsh = "↳";
|
||
var real = "ℜ";
|
||
var realine = "ℛ";
|
||
var realpart = "ℜ";
|
||
var reals = "ℝ";
|
||
var Re = "ℜ";
|
||
var rect = "▭";
|
||
var reg = "®";
|
||
var REG = "®";
|
||
var ReverseElement = "∋";
|
||
var ReverseEquilibrium = "⇋";
|
||
var ReverseUpEquilibrium = "⥯";
|
||
var rfisht = "⥽";
|
||
var rfloor = "⌋";
|
||
var rfr = "𝔯";
|
||
var Rfr = "ℜ";
|
||
var rHar = "⥤";
|
||
var rhard = "⇁";
|
||
var rharu = "⇀";
|
||
var rharul = "⥬";
|
||
var Rho = "Ρ";
|
||
var rho = "ρ";
|
||
var rhov = "ϱ";
|
||
var RightAngleBracket = "⟩";
|
||
var RightArrowBar = "⇥";
|
||
var rightarrow = "→";
|
||
var RightArrow = "→";
|
||
var Rightarrow = "⇒";
|
||
var RightArrowLeftArrow = "⇄";
|
||
var rightarrowtail = "↣";
|
||
var RightCeiling = "⌉";
|
||
var RightDoubleBracket = "⟧";
|
||
var RightDownTeeVector = "⥝";
|
||
var RightDownVectorBar = "⥕";
|
||
var RightDownVector = "⇂";
|
||
var RightFloor = "⌋";
|
||
var rightharpoondown = "⇁";
|
||
var rightharpoonup = "⇀";
|
||
var rightleftarrows = "⇄";
|
||
var rightleftharpoons = "⇌";
|
||
var rightrightarrows = "⇉";
|
||
var rightsquigarrow = "↝";
|
||
var RightTeeArrow = "↦";
|
||
var RightTee = "⊢";
|
||
var RightTeeVector = "⥛";
|
||
var rightthreetimes = "⋌";
|
||
var RightTriangleBar = "⧐";
|
||
var RightTriangle = "⊳";
|
||
var RightTriangleEqual = "⊵";
|
||
var RightUpDownVector = "⥏";
|
||
var RightUpTeeVector = "⥜";
|
||
var RightUpVectorBar = "⥔";
|
||
var RightUpVector = "↾";
|
||
var RightVectorBar = "⥓";
|
||
var RightVector = "⇀";
|
||
var ring = "˚";
|
||
var risingdotseq = "≓";
|
||
var rlarr = "⇄";
|
||
var rlhar = "⇌";
|
||
var rlm = "";
|
||
var rmoustache = "⎱";
|
||
var rmoust = "⎱";
|
||
var rnmid = "⫮";
|
||
var roang = "⟭";
|
||
var roarr = "⇾";
|
||
var robrk = "⟧";
|
||
var ropar = "⦆";
|
||
var ropf = "𝕣";
|
||
var Ropf = "ℝ";
|
||
var roplus = "⨮";
|
||
var rotimes = "⨵";
|
||
var RoundImplies = "⥰";
|
||
var rpar = ")";
|
||
var rpargt = "⦔";
|
||
var rppolint = "⨒";
|
||
var rrarr = "⇉";
|
||
var Rrightarrow = "⇛";
|
||
var rsaquo = "›";
|
||
var rscr = "𝓇";
|
||
var Rscr = "ℛ";
|
||
var rsh = "↱";
|
||
var Rsh = "↱";
|
||
var rsqb = "]";
|
||
var rsquo = "’";
|
||
var rsquor = "’";
|
||
var rthree = "⋌";
|
||
var rtimes = "⋊";
|
||
var rtri = "▹";
|
||
var rtrie = "⊵";
|
||
var rtrif = "▸";
|
||
var rtriltri = "⧎";
|
||
var RuleDelayed = "⧴";
|
||
var ruluhar = "⥨";
|
||
var rx = "℞";
|
||
var Sacute = "Ś";
|
||
var sacute = "ś";
|
||
var sbquo = "‚";
|
||
var scap = "⪸";
|
||
var Scaron = "Š";
|
||
var scaron = "š";
|
||
var Sc = "⪼";
|
||
var sc = "≻";
|
||
var sccue = "≽";
|
||
var sce = "⪰";
|
||
var scE = "⪴";
|
||
var Scedil = "Ş";
|
||
var scedil = "ş";
|
||
var Scirc = "Ŝ";
|
||
var scirc = "ŝ";
|
||
var scnap = "⪺";
|
||
var scnE = "⪶";
|
||
var scnsim = "⋩";
|
||
var scpolint = "⨓";
|
||
var scsim = "≿";
|
||
var Scy = "С";
|
||
var scy = "с";
|
||
var sdotb = "⊡";
|
||
var sdot = "⋅";
|
||
var sdote = "⩦";
|
||
var searhk = "⤥";
|
||
var searr = "↘";
|
||
var seArr = "⇘";
|
||
var searrow = "↘";
|
||
var sect = "§";
|
||
var semi = ";";
|
||
var seswar = "⤩";
|
||
var setminus = "∖";
|
||
var setmn = "∖";
|
||
var sext = "✶";
|
||
var Sfr = "𝔖";
|
||
var sfr = "𝔰";
|
||
var sfrown = "⌢";
|
||
var sharp = "♯";
|
||
var SHCHcy = "Щ";
|
||
var shchcy = "щ";
|
||
var SHcy = "Ш";
|
||
var shcy = "ш";
|
||
var ShortDownArrow = "↓";
|
||
var ShortLeftArrow = "←";
|
||
var shortmid = "∣";
|
||
var shortparallel = "∥";
|
||
var ShortRightArrow = "→";
|
||
var ShortUpArrow = "↑";
|
||
var shy = "";
|
||
var Sigma = "Σ";
|
||
var sigma = "σ";
|
||
var sigmaf = "ς";
|
||
var sigmav = "ς";
|
||
var sim = "∼";
|
||
var simdot = "⩪";
|
||
var sime = "≃";
|
||
var simeq = "≃";
|
||
var simg = "⪞";
|
||
var simgE = "⪠";
|
||
var siml = "⪝";
|
||
var simlE = "⪟";
|
||
var simne = "≆";
|
||
var simplus = "⨤";
|
||
var simrarr = "⥲";
|
||
var slarr = "←";
|
||
var SmallCircle = "∘";
|
||
var smallsetminus = "∖";
|
||
var smashp = "⨳";
|
||
var smeparsl = "⧤";
|
||
var smid = "∣";
|
||
var smile = "⌣";
|
||
var smt = "⪪";
|
||
var smte = "⪬";
|
||
var smtes = "⪬︀";
|
||
var SOFTcy = "Ь";
|
||
var softcy = "ь";
|
||
var solbar = "⌿";
|
||
var solb = "⧄";
|
||
var sol = "/";
|
||
var Sopf = "𝕊";
|
||
var sopf = "𝕤";
|
||
var spades = "♠";
|
||
var spadesuit = "♠";
|
||
var spar = "∥";
|
||
var sqcap = "⊓";
|
||
var sqcaps = "⊓︀";
|
||
var sqcup = "⊔";
|
||
var sqcups = "⊔︀";
|
||
var Sqrt = "√";
|
||
var sqsub = "⊏";
|
||
var sqsube = "⊑";
|
||
var sqsubset = "⊏";
|
||
var sqsubseteq = "⊑";
|
||
var sqsup = "⊐";
|
||
var sqsupe = "⊒";
|
||
var sqsupset = "⊐";
|
||
var sqsupseteq = "⊒";
|
||
var square = "□";
|
||
var Square = "□";
|
||
var SquareIntersection = "⊓";
|
||
var SquareSubset = "⊏";
|
||
var SquareSubsetEqual = "⊑";
|
||
var SquareSuperset = "⊐";
|
||
var SquareSupersetEqual = "⊒";
|
||
var SquareUnion = "⊔";
|
||
var squarf = "▪";
|
||
var squ = "□";
|
||
var squf = "▪";
|
||
var srarr = "→";
|
||
var Sscr = "𝒮";
|
||
var sscr = "𝓈";
|
||
var ssetmn = "∖";
|
||
var ssmile = "⌣";
|
||
var sstarf = "⋆";
|
||
var Star = "⋆";
|
||
var star = "☆";
|
||
var starf = "★";
|
||
var straightepsilon = "ϵ";
|
||
var straightphi = "ϕ";
|
||
var strns = "¯";
|
||
var sub = "⊂";
|
||
var Sub = "⋐";
|
||
var subdot = "⪽";
|
||
var subE = "⫅";
|
||
var sube = "⊆";
|
||
var subedot = "⫃";
|
||
var submult = "⫁";
|
||
var subnE = "⫋";
|
||
var subne = "⊊";
|
||
var subplus = "⪿";
|
||
var subrarr = "⥹";
|
||
var subset = "⊂";
|
||
var Subset = "⋐";
|
||
var subseteq = "⊆";
|
||
var subseteqq = "⫅";
|
||
var SubsetEqual = "⊆";
|
||
var subsetneq = "⊊";
|
||
var subsetneqq = "⫋";
|
||
var subsim = "⫇";
|
||
var subsub = "⫕";
|
||
var subsup = "⫓";
|
||
var succapprox = "⪸";
|
||
var succ = "≻";
|
||
var succcurlyeq = "≽";
|
||
var Succeeds = "≻";
|
||
var SucceedsEqual = "⪰";
|
||
var SucceedsSlantEqual = "≽";
|
||
var SucceedsTilde = "≿";
|
||
var succeq = "⪰";
|
||
var succnapprox = "⪺";
|
||
var succneqq = "⪶";
|
||
var succnsim = "⋩";
|
||
var succsim = "≿";
|
||
var SuchThat = "∋";
|
||
var sum = "∑";
|
||
var Sum = "∑";
|
||
var sung = "♪";
|
||
var sup1 = "¹";
|
||
var sup2 = "²";
|
||
var sup3 = "³";
|
||
var sup = "⊃";
|
||
var Sup = "⋑";
|
||
var supdot = "⪾";
|
||
var supdsub = "⫘";
|
||
var supE = "⫆";
|
||
var supe = "⊇";
|
||
var supedot = "⫄";
|
||
var Superset = "⊃";
|
||
var SupersetEqual = "⊇";
|
||
var suphsol = "⟉";
|
||
var suphsub = "⫗";
|
||
var suplarr = "⥻";
|
||
var supmult = "⫂";
|
||
var supnE = "⫌";
|
||
var supne = "⊋";
|
||
var supplus = "⫀";
|
||
var supset = "⊃";
|
||
var Supset = "⋑";
|
||
var supseteq = "⊇";
|
||
var supseteqq = "⫆";
|
||
var supsetneq = "⊋";
|
||
var supsetneqq = "⫌";
|
||
var supsim = "⫈";
|
||
var supsub = "⫔";
|
||
var supsup = "⫖";
|
||
var swarhk = "⤦";
|
||
var swarr = "↙";
|
||
var swArr = "⇙";
|
||
var swarrow = "↙";
|
||
var swnwar = "⤪";
|
||
var szlig = "ß";
|
||
var Tab = "\t";
|
||
var target = "⌖";
|
||
var Tau = "Τ";
|
||
var tau = "τ";
|
||
var tbrk = "⎴";
|
||
var Tcaron = "Ť";
|
||
var tcaron = "ť";
|
||
var Tcedil = "Ţ";
|
||
var tcedil = "ţ";
|
||
var Tcy = "Т";
|
||
var tcy = "т";
|
||
var tdot = "⃛";
|
||
var telrec = "⌕";
|
||
var Tfr = "𝔗";
|
||
var tfr = "𝔱";
|
||
var there4 = "∴";
|
||
var therefore = "∴";
|
||
var Therefore = "∴";
|
||
var Theta = "Θ";
|
||
var theta = "θ";
|
||
var thetasym = "ϑ";
|
||
var thetav = "ϑ";
|
||
var thickapprox = "≈";
|
||
var thicksim = "∼";
|
||
var ThickSpace = " ";
|
||
var ThinSpace = " ";
|
||
var thinsp = " ";
|
||
var thkap = "≈";
|
||
var thksim = "∼";
|
||
var THORN = "Þ";
|
||
var thorn = "þ";
|
||
var tilde = "˜";
|
||
var Tilde = "∼";
|
||
var TildeEqual = "≃";
|
||
var TildeFullEqual = "≅";
|
||
var TildeTilde = "≈";
|
||
var timesbar = "⨱";
|
||
var timesb = "⊠";
|
||
var times = "×";
|
||
var timesd = "⨰";
|
||
var tint = "∭";
|
||
var toea = "⤨";
|
||
var topbot = "⌶";
|
||
var topcir = "⫱";
|
||
var top = "⊤";
|
||
var Topf = "𝕋";
|
||
var topf = "𝕥";
|
||
var topfork = "⫚";
|
||
var tosa = "⤩";
|
||
var tprime = "‴";
|
||
var trade = "™";
|
||
var TRADE = "™";
|
||
var triangle = "▵";
|
||
var triangledown = "▿";
|
||
var triangleleft = "◃";
|
||
var trianglelefteq = "⊴";
|
||
var triangleq = "≜";
|
||
var triangleright = "▹";
|
||
var trianglerighteq = "⊵";
|
||
var tridot = "◬";
|
||
var trie = "≜";
|
||
var triminus = "⨺";
|
||
var TripleDot = "⃛";
|
||
var triplus = "⨹";
|
||
var trisb = "⧍";
|
||
var tritime = "⨻";
|
||
var trpezium = "⏢";
|
||
var Tscr = "𝒯";
|
||
var tscr = "𝓉";
|
||
var TScy = "Ц";
|
||
var tscy = "ц";
|
||
var TSHcy = "Ћ";
|
||
var tshcy = "ћ";
|
||
var Tstrok = "Ŧ";
|
||
var tstrok = "ŧ";
|
||
var twixt = "≬";
|
||
var twoheadleftarrow = "↞";
|
||
var twoheadrightarrow = "↠";
|
||
var Uacute = "Ú";
|
||
var uacute = "ú";
|
||
var uarr = "↑";
|
||
var Uarr = "↟";
|
||
var uArr = "⇑";
|
||
var Uarrocir = "⥉";
|
||
var Ubrcy = "Ў";
|
||
var ubrcy = "ў";
|
||
var Ubreve = "Ŭ";
|
||
var ubreve = "ŭ";
|
||
var Ucirc = "Û";
|
||
var ucirc = "û";
|
||
var Ucy = "У";
|
||
var ucy = "у";
|
||
var udarr = "⇅";
|
||
var Udblac = "Ű";
|
||
var udblac = "ű";
|
||
var udhar = "⥮";
|
||
var ufisht = "⥾";
|
||
var Ufr = "𝔘";
|
||
var ufr = "𝔲";
|
||
var Ugrave = "Ù";
|
||
var ugrave = "ù";
|
||
var uHar = "⥣";
|
||
var uharl = "↿";
|
||
var uharr = "↾";
|
||
var uhblk = "▀";
|
||
var ulcorn = "⌜";
|
||
var ulcorner = "⌜";
|
||
var ulcrop = "⌏";
|
||
var ultri = "◸";
|
||
var Umacr = "Ū";
|
||
var umacr = "ū";
|
||
var uml = "¨";
|
||
var UnderBar = "_";
|
||
var UnderBrace = "⏟";
|
||
var UnderBracket = "⎵";
|
||
var UnderParenthesis = "⏝";
|
||
var Union = "⋃";
|
||
var UnionPlus = "⊎";
|
||
var Uogon = "Ų";
|
||
var uogon = "ų";
|
||
var Uopf = "𝕌";
|
||
var uopf = "𝕦";
|
||
var UpArrowBar = "⤒";
|
||
var uparrow = "↑";
|
||
var UpArrow = "↑";
|
||
var Uparrow = "⇑";
|
||
var UpArrowDownArrow = "⇅";
|
||
var updownarrow = "↕";
|
||
var UpDownArrow = "↕";
|
||
var Updownarrow = "⇕";
|
||
var UpEquilibrium = "⥮";
|
||
var upharpoonleft = "↿";
|
||
var upharpoonright = "↾";
|
||
var uplus = "⊎";
|
||
var UpperLeftArrow = "↖";
|
||
var UpperRightArrow = "↗";
|
||
var upsi = "υ";
|
||
var Upsi = "ϒ";
|
||
var upsih = "ϒ";
|
||
var Upsilon = "Υ";
|
||
var upsilon = "υ";
|
||
var UpTeeArrow = "↥";
|
||
var UpTee = "⊥";
|
||
var upuparrows = "⇈";
|
||
var urcorn = "⌝";
|
||
var urcorner = "⌝";
|
||
var urcrop = "⌎";
|
||
var Uring = "Ů";
|
||
var uring = "ů";
|
||
var urtri = "◹";
|
||
var Uscr = "𝒰";
|
||
var uscr = "𝓊";
|
||
var utdot = "⋰";
|
||
var Utilde = "Ũ";
|
||
var utilde = "ũ";
|
||
var utri = "▵";
|
||
var utrif = "▴";
|
||
var uuarr = "⇈";
|
||
var Uuml = "Ü";
|
||
var uuml = "ü";
|
||
var uwangle = "⦧";
|
||
var vangrt = "⦜";
|
||
var varepsilon = "ϵ";
|
||
var varkappa = "ϰ";
|
||
var varnothing = "∅";
|
||
var varphi = "ϕ";
|
||
var varpi = "ϖ";
|
||
var varpropto = "∝";
|
||
var varr = "↕";
|
||
var vArr = "⇕";
|
||
var varrho = "ϱ";
|
||
var varsigma = "ς";
|
||
var varsubsetneq = "⊊︀";
|
||
var varsubsetneqq = "⫋︀";
|
||
var varsupsetneq = "⊋︀";
|
||
var varsupsetneqq = "⫌︀";
|
||
var vartheta = "ϑ";
|
||
var vartriangleleft = "⊲";
|
||
var vartriangleright = "⊳";
|
||
var vBar = "⫨";
|
||
var Vbar = "⫫";
|
||
var vBarv = "⫩";
|
||
var Vcy = "В";
|
||
var vcy = "в";
|
||
var vdash = "⊢";
|
||
var vDash = "⊨";
|
||
var Vdash = "⊩";
|
||
var VDash = "⊫";
|
||
var Vdashl = "⫦";
|
||
var veebar = "⊻";
|
||
var vee = "∨";
|
||
var Vee = "⋁";
|
||
var veeeq = "≚";
|
||
var vellip = "⋮";
|
||
var verbar = "|";
|
||
var Verbar = "‖";
|
||
var vert = "|";
|
||
var Vert = "‖";
|
||
var VerticalBar = "∣";
|
||
var VerticalLine = "|";
|
||
var VerticalSeparator = "❘";
|
||
var VerticalTilde = "≀";
|
||
var VeryThinSpace = " ";
|
||
var Vfr = "𝔙";
|
||
var vfr = "𝔳";
|
||
var vltri = "⊲";
|
||
var vnsub = "⊂⃒";
|
||
var vnsup = "⊃⃒";
|
||
var Vopf = "𝕍";
|
||
var vopf = "𝕧";
|
||
var vprop = "∝";
|
||
var vrtri = "⊳";
|
||
var Vscr = "𝒱";
|
||
var vscr = "𝓋";
|
||
var vsubnE = "⫋︀";
|
||
var vsubne = "⊊︀";
|
||
var vsupnE = "⫌︀";
|
||
var vsupne = "⊋︀";
|
||
var Vvdash = "⊪";
|
||
var vzigzag = "⦚";
|
||
var Wcirc = "Ŵ";
|
||
var wcirc = "ŵ";
|
||
var wedbar = "⩟";
|
||
var wedge = "∧";
|
||
var Wedge = "⋀";
|
||
var wedgeq = "≙";
|
||
var weierp = "℘";
|
||
var Wfr = "𝔚";
|
||
var wfr = "𝔴";
|
||
var Wopf = "𝕎";
|
||
var wopf = "𝕨";
|
||
var wp = "℘";
|
||
var wr = "≀";
|
||
var wreath = "≀";
|
||
var Wscr = "𝒲";
|
||
var wscr = "𝓌";
|
||
var xcap = "⋂";
|
||
var xcirc = "◯";
|
||
var xcup = "⋃";
|
||
var xdtri = "▽";
|
||
var Xfr = "𝔛";
|
||
var xfr = "𝔵";
|
||
var xharr = "⟷";
|
||
var xhArr = "⟺";
|
||
var Xi = "Ξ";
|
||
var xi = "ξ";
|
||
var xlarr = "⟵";
|
||
var xlArr = "⟸";
|
||
var xmap = "⟼";
|
||
var xnis = "⋻";
|
||
var xodot = "⨀";
|
||
var Xopf = "𝕏";
|
||
var xopf = "𝕩";
|
||
var xoplus = "⨁";
|
||
var xotime = "⨂";
|
||
var xrarr = "⟶";
|
||
var xrArr = "⟹";
|
||
var Xscr = "𝒳";
|
||
var xscr = "𝓍";
|
||
var xsqcup = "⨆";
|
||
var xuplus = "⨄";
|
||
var xutri = "△";
|
||
var xvee = "⋁";
|
||
var xwedge = "⋀";
|
||
var Yacute = "Ý";
|
||
var yacute = "ý";
|
||
var YAcy = "Я";
|
||
var yacy = "я";
|
||
var Ycirc = "Ŷ";
|
||
var ycirc = "ŷ";
|
||
var Ycy = "Ы";
|
||
var ycy = "ы";
|
||
var yen = "¥";
|
||
var Yfr = "𝔜";
|
||
var yfr = "𝔶";
|
||
var YIcy = "Ї";
|
||
var yicy = "ї";
|
||
var Yopf = "𝕐";
|
||
var yopf = "𝕪";
|
||
var Yscr = "𝒴";
|
||
var yscr = "𝓎";
|
||
var YUcy = "Ю";
|
||
var yucy = "ю";
|
||
var yuml = "ÿ";
|
||
var Yuml = "Ÿ";
|
||
var Zacute = "Ź";
|
||
var zacute = "ź";
|
||
var Zcaron = "Ž";
|
||
var zcaron = "ž";
|
||
var Zcy = "З";
|
||
var zcy = "з";
|
||
var Zdot = "Ż";
|
||
var zdot = "ż";
|
||
var zeetrf = "ℨ";
|
||
var ZeroWidthSpace = "";
|
||
var Zeta = "Ζ";
|
||
var zeta = "ζ";
|
||
var zfr = "𝔷";
|
||
var Zfr = "ℨ";
|
||
var ZHcy = "Ж";
|
||
var zhcy = "ж";
|
||
var zigrarr = "⇝";
|
||
var zopf = "𝕫";
|
||
var Zopf = "ℤ";
|
||
var Zscr = "𝒵";
|
||
var zscr = "𝓏";
|
||
var zwj = "";
|
||
var zwnj = "";
|
||
var entities = {
|
||
Aacute: Aacute,
|
||
aacute: aacute,
|
||
Abreve: Abreve,
|
||
abreve: abreve,
|
||
ac: ac,
|
||
acd: acd,
|
||
acE: acE,
|
||
Acirc: Acirc,
|
||
acirc: acirc,
|
||
acute: acute,
|
||
Acy: Acy,
|
||
acy: acy,
|
||
AElig: AElig,
|
||
aelig: aelig,
|
||
af: af,
|
||
Afr: Afr,
|
||
afr: afr,
|
||
Agrave: Agrave,
|
||
agrave: agrave,
|
||
alefsym: alefsym,
|
||
aleph: aleph,
|
||
Alpha: Alpha,
|
||
alpha: alpha,
|
||
Amacr: Amacr,
|
||
amacr: amacr,
|
||
amalg: amalg,
|
||
amp: amp,
|
||
AMP: AMP,
|
||
andand: andand,
|
||
And: And,
|
||
and: and,
|
||
andd: andd,
|
||
andslope: andslope,
|
||
andv: andv,
|
||
ang: ang,
|
||
ange: ange,
|
||
angle: angle,
|
||
angmsdaa: angmsdaa,
|
||
angmsdab: angmsdab,
|
||
angmsdac: angmsdac,
|
||
angmsdad: angmsdad,
|
||
angmsdae: angmsdae,
|
||
angmsdaf: angmsdaf,
|
||
angmsdag: angmsdag,
|
||
angmsdah: angmsdah,
|
||
angmsd: angmsd,
|
||
angrt: angrt,
|
||
angrtvb: angrtvb,
|
||
angrtvbd: angrtvbd,
|
||
angsph: angsph,
|
||
angst: angst,
|
||
angzarr: angzarr,
|
||
Aogon: Aogon,
|
||
aogon: aogon,
|
||
Aopf: Aopf,
|
||
aopf: aopf,
|
||
apacir: apacir,
|
||
ap: ap,
|
||
apE: apE,
|
||
ape: ape,
|
||
apid: apid,
|
||
apos: apos,
|
||
ApplyFunction: ApplyFunction,
|
||
approx: approx,
|
||
approxeq: approxeq,
|
||
Aring: Aring,
|
||
aring: aring,
|
||
Ascr: Ascr,
|
||
ascr: ascr,
|
||
Assign: Assign,
|
||
ast: ast,
|
||
asymp: asymp,
|
||
asympeq: asympeq,
|
||
Atilde: Atilde,
|
||
atilde: atilde,
|
||
Auml: Auml,
|
||
auml: auml,
|
||
awconint: awconint,
|
||
awint: awint,
|
||
backcong: backcong,
|
||
backepsilon: backepsilon,
|
||
backprime: backprime,
|
||
backsim: backsim,
|
||
backsimeq: backsimeq,
|
||
Backslash: Backslash,
|
||
Barv: Barv,
|
||
barvee: barvee,
|
||
barwed: barwed,
|
||
Barwed: Barwed,
|
||
barwedge: barwedge,
|
||
bbrk: bbrk,
|
||
bbrktbrk: bbrktbrk,
|
||
bcong: bcong,
|
||
Bcy: Bcy,
|
||
bcy: bcy,
|
||
bdquo: bdquo,
|
||
becaus: becaus,
|
||
because: because,
|
||
Because: Because,
|
||
bemptyv: bemptyv,
|
||
bepsi: bepsi,
|
||
bernou: bernou,
|
||
Bernoullis: Bernoullis,
|
||
Beta: Beta,
|
||
beta: beta,
|
||
beth: beth,
|
||
between: between,
|
||
Bfr: Bfr,
|
||
bfr: bfr,
|
||
bigcap: bigcap,
|
||
bigcirc: bigcirc,
|
||
bigcup: bigcup,
|
||
bigodot: bigodot,
|
||
bigoplus: bigoplus,
|
||
bigotimes: bigotimes,
|
||
bigsqcup: bigsqcup,
|
||
bigstar: bigstar,
|
||
bigtriangledown: bigtriangledown,
|
||
bigtriangleup: bigtriangleup,
|
||
biguplus: biguplus,
|
||
bigvee: bigvee,
|
||
bigwedge: bigwedge,
|
||
bkarow: bkarow,
|
||
blacklozenge: blacklozenge,
|
||
blacksquare: blacksquare,
|
||
blacktriangle: blacktriangle,
|
||
blacktriangledown: blacktriangledown,
|
||
blacktriangleleft: blacktriangleleft,
|
||
blacktriangleright: blacktriangleright,
|
||
blank: blank,
|
||
blk12: blk12,
|
||
blk14: blk14,
|
||
blk34: blk34,
|
||
block: block,
|
||
bne: bne,
|
||
bnequiv: bnequiv,
|
||
bNot: bNot,
|
||
bnot: bnot,
|
||
Bopf: Bopf,
|
||
bopf: bopf,
|
||
bot: bot,
|
||
bottom: bottom,
|
||
bowtie: bowtie,
|
||
boxbox: boxbox,
|
||
boxdl: boxdl,
|
||
boxdL: boxdL,
|
||
boxDl: boxDl,
|
||
boxDL: boxDL,
|
||
boxdr: boxdr,
|
||
boxdR: boxdR,
|
||
boxDr: boxDr,
|
||
boxDR: boxDR,
|
||
boxh: boxh,
|
||
boxH: boxH,
|
||
boxhd: boxhd,
|
||
boxHd: boxHd,
|
||
boxhD: boxhD,
|
||
boxHD: boxHD,
|
||
boxhu: boxhu,
|
||
boxHu: boxHu,
|
||
boxhU: boxhU,
|
||
boxHU: boxHU,
|
||
boxminus: boxminus,
|
||
boxplus: boxplus,
|
||
boxtimes: boxtimes,
|
||
boxul: boxul,
|
||
boxuL: boxuL,
|
||
boxUl: boxUl,
|
||
boxUL: boxUL,
|
||
boxur: boxur,
|
||
boxuR: boxuR,
|
||
boxUr: boxUr,
|
||
boxUR: boxUR,
|
||
boxv: boxv,
|
||
boxV: boxV,
|
||
boxvh: boxvh,
|
||
boxvH: boxvH,
|
||
boxVh: boxVh,
|
||
boxVH: boxVH,
|
||
boxvl: boxvl,
|
||
boxvL: boxvL,
|
||
boxVl: boxVl,
|
||
boxVL: boxVL,
|
||
boxvr: boxvr,
|
||
boxvR: boxvR,
|
||
boxVr: boxVr,
|
||
boxVR: boxVR,
|
||
bprime: bprime,
|
||
breve: breve,
|
||
Breve: Breve,
|
||
brvbar: brvbar,
|
||
bscr: bscr,
|
||
Bscr: Bscr,
|
||
bsemi: bsemi,
|
||
bsim: bsim,
|
||
bsime: bsime,
|
||
bsolb: bsolb,
|
||
bsol: bsol,
|
||
bsolhsub: bsolhsub,
|
||
bull: bull,
|
||
bullet: bullet,
|
||
bump: bump,
|
||
bumpE: bumpE,
|
||
bumpe: bumpe,
|
||
Bumpeq: Bumpeq,
|
||
bumpeq: bumpeq,
|
||
Cacute: Cacute,
|
||
cacute: cacute,
|
||
capand: capand,
|
||
capbrcup: capbrcup,
|
||
capcap: capcap,
|
||
cap: cap,
|
||
Cap: Cap,
|
||
capcup: capcup,
|
||
capdot: capdot,
|
||
CapitalDifferentialD: CapitalDifferentialD,
|
||
caps: caps,
|
||
caret: caret,
|
||
caron: caron,
|
||
Cayleys: Cayleys,
|
||
ccaps: ccaps,
|
||
Ccaron: Ccaron,
|
||
ccaron: ccaron,
|
||
Ccedil: Ccedil,
|
||
ccedil: ccedil,
|
||
Ccirc: Ccirc,
|
||
ccirc: ccirc,
|
||
Cconint: Cconint,
|
||
ccups: ccups,
|
||
ccupssm: ccupssm,
|
||
Cdot: Cdot,
|
||
cdot: cdot,
|
||
cedil: cedil,
|
||
Cedilla: Cedilla,
|
||
cemptyv: cemptyv,
|
||
cent: cent,
|
||
centerdot: centerdot,
|
||
CenterDot: CenterDot,
|
||
cfr: cfr,
|
||
Cfr: Cfr,
|
||
CHcy: CHcy,
|
||
chcy: chcy,
|
||
check: check,
|
||
checkmark: checkmark,
|
||
Chi: Chi,
|
||
chi: chi,
|
||
circ: circ,
|
||
circeq: circeq,
|
||
circlearrowleft: circlearrowleft,
|
||
circlearrowright: circlearrowright,
|
||
circledast: circledast,
|
||
circledcirc: circledcirc,
|
||
circleddash: circleddash,
|
||
CircleDot: CircleDot,
|
||
circledR: circledR,
|
||
circledS: circledS,
|
||
CircleMinus: CircleMinus,
|
||
CirclePlus: CirclePlus,
|
||
CircleTimes: CircleTimes,
|
||
cir: cir,
|
||
cirE: cirE,
|
||
cire: cire,
|
||
cirfnint: cirfnint,
|
||
cirmid: cirmid,
|
||
cirscir: cirscir,
|
||
ClockwiseContourIntegral: ClockwiseContourIntegral,
|
||
CloseCurlyDoubleQuote: CloseCurlyDoubleQuote,
|
||
CloseCurlyQuote: CloseCurlyQuote,
|
||
clubs: clubs,
|
||
clubsuit: clubsuit,
|
||
colon: colon,
|
||
Colon: Colon,
|
||
Colone: Colone,
|
||
colone: colone,
|
||
coloneq: coloneq,
|
||
comma: comma,
|
||
commat: commat,
|
||
comp: comp,
|
||
compfn: compfn,
|
||
complement: complement,
|
||
complexes: complexes,
|
||
cong: cong,
|
||
congdot: congdot,
|
||
Congruent: Congruent,
|
||
conint: conint,
|
||
Conint: Conint,
|
||
ContourIntegral: ContourIntegral,
|
||
copf: copf,
|
||
Copf: Copf,
|
||
coprod: coprod,
|
||
Coproduct: Coproduct,
|
||
copy: copy,
|
||
COPY: COPY,
|
||
copysr: copysr,
|
||
CounterClockwiseContourIntegral: CounterClockwiseContourIntegral,
|
||
crarr: crarr,
|
||
cross: cross,
|
||
Cross: Cross,
|
||
Cscr: Cscr,
|
||
cscr: cscr,
|
||
csub: csub,
|
||
csube: csube,
|
||
csup: csup,
|
||
csupe: csupe,
|
||
ctdot: ctdot,
|
||
cudarrl: cudarrl,
|
||
cudarrr: cudarrr,
|
||
cuepr: cuepr,
|
||
cuesc: cuesc,
|
||
cularr: cularr,
|
||
cularrp: cularrp,
|
||
cupbrcap: cupbrcap,
|
||
cupcap: cupcap,
|
||
CupCap: CupCap,
|
||
cup: cup,
|
||
Cup: Cup,
|
||
cupcup: cupcup,
|
||
cupdot: cupdot,
|
||
cupor: cupor,
|
||
cups: cups,
|
||
curarr: curarr,
|
||
curarrm: curarrm,
|
||
curlyeqprec: curlyeqprec,
|
||
curlyeqsucc: curlyeqsucc,
|
||
curlyvee: curlyvee,
|
||
curlywedge: curlywedge,
|
||
curren: curren,
|
||
curvearrowleft: curvearrowleft,
|
||
curvearrowright: curvearrowright,
|
||
cuvee: cuvee,
|
||
cuwed: cuwed,
|
||
cwconint: cwconint,
|
||
cwint: cwint,
|
||
cylcty: cylcty,
|
||
dagger: dagger,
|
||
Dagger: Dagger,
|
||
daleth: daleth,
|
||
darr: darr,
|
||
Darr: Darr,
|
||
dArr: dArr,
|
||
dash: dash,
|
||
Dashv: Dashv,
|
||
dashv: dashv,
|
||
dbkarow: dbkarow,
|
||
dblac: dblac,
|
||
Dcaron: Dcaron,
|
||
dcaron: dcaron,
|
||
Dcy: Dcy,
|
||
dcy: dcy,
|
||
ddagger: ddagger,
|
||
ddarr: ddarr,
|
||
DD: DD,
|
||
dd: dd,
|
||
DDotrahd: DDotrahd,
|
||
ddotseq: ddotseq,
|
||
deg: deg,
|
||
Del: Del,
|
||
Delta: Delta,
|
||
delta: delta,
|
||
demptyv: demptyv,
|
||
dfisht: dfisht,
|
||
Dfr: Dfr,
|
||
dfr: dfr,
|
||
dHar: dHar,
|
||
dharl: dharl,
|
||
dharr: dharr,
|
||
DiacriticalAcute: DiacriticalAcute,
|
||
DiacriticalDot: DiacriticalDot,
|
||
DiacriticalDoubleAcute: DiacriticalDoubleAcute,
|
||
DiacriticalGrave: DiacriticalGrave,
|
||
DiacriticalTilde: DiacriticalTilde,
|
||
diam: diam,
|
||
diamond: diamond,
|
||
Diamond: Diamond,
|
||
diamondsuit: diamondsuit,
|
||
diams: diams,
|
||
die: die,
|
||
DifferentialD: DifferentialD,
|
||
digamma: digamma,
|
||
disin: disin,
|
||
div: div,
|
||
divide: divide,
|
||
divideontimes: divideontimes,
|
||
divonx: divonx,
|
||
DJcy: DJcy,
|
||
djcy: djcy,
|
||
dlcorn: dlcorn,
|
||
dlcrop: dlcrop,
|
||
dollar: dollar,
|
||
Dopf: Dopf,
|
||
dopf: dopf,
|
||
Dot: Dot,
|
||
dot: dot,
|
||
DotDot: DotDot,
|
||
doteq: doteq,
|
||
doteqdot: doteqdot,
|
||
DotEqual: DotEqual,
|
||
dotminus: dotminus,
|
||
dotplus: dotplus,
|
||
dotsquare: dotsquare,
|
||
doublebarwedge: doublebarwedge,
|
||
DoubleContourIntegral: DoubleContourIntegral,
|
||
DoubleDot: DoubleDot,
|
||
DoubleDownArrow: DoubleDownArrow,
|
||
DoubleLeftArrow: DoubleLeftArrow,
|
||
DoubleLeftRightArrow: DoubleLeftRightArrow,
|
||
DoubleLeftTee: DoubleLeftTee,
|
||
DoubleLongLeftArrow: DoubleLongLeftArrow,
|
||
DoubleLongLeftRightArrow: DoubleLongLeftRightArrow,
|
||
DoubleLongRightArrow: DoubleLongRightArrow,
|
||
DoubleRightArrow: DoubleRightArrow,
|
||
DoubleRightTee: DoubleRightTee,
|
||
DoubleUpArrow: DoubleUpArrow,
|
||
DoubleUpDownArrow: DoubleUpDownArrow,
|
||
DoubleVerticalBar: DoubleVerticalBar,
|
||
DownArrowBar: DownArrowBar,
|
||
downarrow: downarrow,
|
||
DownArrow: DownArrow,
|
||
Downarrow: Downarrow,
|
||
DownArrowUpArrow: DownArrowUpArrow,
|
||
DownBreve: DownBreve,
|
||
downdownarrows: downdownarrows,
|
||
downharpoonleft: downharpoonleft,
|
||
downharpoonright: downharpoonright,
|
||
DownLeftRightVector: DownLeftRightVector,
|
||
DownLeftTeeVector: DownLeftTeeVector,
|
||
DownLeftVectorBar: DownLeftVectorBar,
|
||
DownLeftVector: DownLeftVector,
|
||
DownRightTeeVector: DownRightTeeVector,
|
||
DownRightVectorBar: DownRightVectorBar,
|
||
DownRightVector: DownRightVector,
|
||
DownTeeArrow: DownTeeArrow,
|
||
DownTee: DownTee,
|
||
drbkarow: drbkarow,
|
||
drcorn: drcorn,
|
||
drcrop: drcrop,
|
||
Dscr: Dscr,
|
||
dscr: dscr,
|
||
DScy: DScy,
|
||
dscy: dscy,
|
||
dsol: dsol,
|
||
Dstrok: Dstrok,
|
||
dstrok: dstrok,
|
||
dtdot: dtdot,
|
||
dtri: dtri,
|
||
dtrif: dtrif,
|
||
duarr: duarr,
|
||
duhar: duhar,
|
||
dwangle: dwangle,
|
||
DZcy: DZcy,
|
||
dzcy: dzcy,
|
||
dzigrarr: dzigrarr,
|
||
Eacute: Eacute,
|
||
eacute: eacute,
|
||
easter: easter,
|
||
Ecaron: Ecaron,
|
||
ecaron: ecaron,
|
||
Ecirc: Ecirc,
|
||
ecirc: ecirc,
|
||
ecir: ecir,
|
||
ecolon: ecolon,
|
||
Ecy: Ecy,
|
||
ecy: ecy,
|
||
eDDot: eDDot,
|
||
Edot: Edot,
|
||
edot: edot,
|
||
eDot: eDot,
|
||
ee: ee,
|
||
efDot: efDot,
|
||
Efr: Efr,
|
||
efr: efr,
|
||
eg: eg,
|
||
Egrave: Egrave,
|
||
egrave: egrave,
|
||
egs: egs,
|
||
egsdot: egsdot,
|
||
el: el,
|
||
Element: Element,
|
||
elinters: elinters,
|
||
ell: ell,
|
||
els: els,
|
||
elsdot: elsdot,
|
||
Emacr: Emacr,
|
||
emacr: emacr,
|
||
empty: empty,
|
||
emptyset: emptyset,
|
||
EmptySmallSquare: EmptySmallSquare,
|
||
emptyv: emptyv,
|
||
EmptyVerySmallSquare: EmptyVerySmallSquare,
|
||
emsp13: emsp13,
|
||
emsp14: emsp14,
|
||
emsp: emsp,
|
||
ENG: ENG,
|
||
eng: eng,
|
||
ensp: ensp,
|
||
Eogon: Eogon,
|
||
eogon: eogon,
|
||
Eopf: Eopf,
|
||
eopf: eopf,
|
||
epar: epar,
|
||
eparsl: eparsl,
|
||
eplus: eplus,
|
||
epsi: epsi,
|
||
Epsilon: Epsilon,
|
||
epsilon: epsilon,
|
||
epsiv: epsiv,
|
||
eqcirc: eqcirc,
|
||
eqcolon: eqcolon,
|
||
eqsim: eqsim,
|
||
eqslantgtr: eqslantgtr,
|
||
eqslantless: eqslantless,
|
||
Equal: Equal,
|
||
equals: equals,
|
||
EqualTilde: EqualTilde,
|
||
equest: equest,
|
||
Equilibrium: Equilibrium,
|
||
equiv: equiv,
|
||
equivDD: equivDD,
|
||
eqvparsl: eqvparsl,
|
||
erarr: erarr,
|
||
erDot: erDot,
|
||
escr: escr,
|
||
Escr: Escr,
|
||
esdot: esdot,
|
||
Esim: Esim,
|
||
esim: esim,
|
||
Eta: Eta,
|
||
eta: eta,
|
||
ETH: ETH,
|
||
eth: eth,
|
||
Euml: Euml,
|
||
euml: euml,
|
||
euro: euro,
|
||
excl: excl,
|
||
exist: exist,
|
||
Exists: Exists,
|
||
expectation: expectation,
|
||
exponentiale: exponentiale,
|
||
ExponentialE: ExponentialE,
|
||
fallingdotseq: fallingdotseq,
|
||
Fcy: Fcy,
|
||
fcy: fcy,
|
||
female: female,
|
||
ffilig: ffilig,
|
||
fflig: fflig,
|
||
ffllig: ffllig,
|
||
Ffr: Ffr,
|
||
ffr: ffr,
|
||
filig: filig,
|
||
FilledSmallSquare: FilledSmallSquare,
|
||
FilledVerySmallSquare: FilledVerySmallSquare,
|
||
fjlig: fjlig,
|
||
flat: flat,
|
||
fllig: fllig,
|
||
fltns: fltns,
|
||
fnof: fnof,
|
||
Fopf: Fopf,
|
||
fopf: fopf,
|
||
forall: forall,
|
||
ForAll: ForAll,
|
||
fork: fork,
|
||
forkv: forkv,
|
||
Fouriertrf: Fouriertrf,
|
||
fpartint: fpartint,
|
||
frac12: frac12,
|
||
frac13: frac13,
|
||
frac14: frac14,
|
||
frac15: frac15,
|
||
frac16: frac16,
|
||
frac18: frac18,
|
||
frac23: frac23,
|
||
frac25: frac25,
|
||
frac34: frac34,
|
||
frac35: frac35,
|
||
frac38: frac38,
|
||
frac45: frac45,
|
||
frac56: frac56,
|
||
frac58: frac58,
|
||
frac78: frac78,
|
||
frasl: frasl,
|
||
frown: frown,
|
||
fscr: fscr,
|
||
Fscr: Fscr,
|
||
gacute: gacute,
|
||
Gamma: Gamma,
|
||
gamma: gamma,
|
||
Gammad: Gammad,
|
||
gammad: gammad,
|
||
gap: gap,
|
||
Gbreve: Gbreve,
|
||
gbreve: gbreve,
|
||
Gcedil: Gcedil,
|
||
Gcirc: Gcirc,
|
||
gcirc: gcirc,
|
||
Gcy: Gcy,
|
||
gcy: gcy,
|
||
Gdot: Gdot,
|
||
gdot: gdot,
|
||
ge: ge,
|
||
gE: gE,
|
||
gEl: gEl,
|
||
gel: gel,
|
||
geq: geq,
|
||
geqq: geqq,
|
||
geqslant: geqslant,
|
||
gescc: gescc,
|
||
ges: ges,
|
||
gesdot: gesdot,
|
||
gesdoto: gesdoto,
|
||
gesdotol: gesdotol,
|
||
gesl: gesl,
|
||
gesles: gesles,
|
||
Gfr: Gfr,
|
||
gfr: gfr,
|
||
gg: gg,
|
||
Gg: Gg,
|
||
ggg: ggg,
|
||
gimel: gimel,
|
||
GJcy: GJcy,
|
||
gjcy: gjcy,
|
||
gla: gla,
|
||
gl: gl,
|
||
glE: glE,
|
||
glj: glj,
|
||
gnap: gnap,
|
||
gnapprox: gnapprox,
|
||
gne: gne,
|
||
gnE: gnE,
|
||
gneq: gneq,
|
||
gneqq: gneqq,
|
||
gnsim: gnsim,
|
||
Gopf: Gopf,
|
||
gopf: gopf,
|
||
grave: grave,
|
||
GreaterEqual: GreaterEqual,
|
||
GreaterEqualLess: GreaterEqualLess,
|
||
GreaterFullEqual: GreaterFullEqual,
|
||
GreaterGreater: GreaterGreater,
|
||
GreaterLess: GreaterLess,
|
||
GreaterSlantEqual: GreaterSlantEqual,
|
||
GreaterTilde: GreaterTilde,
|
||
Gscr: Gscr,
|
||
gscr: gscr,
|
||
gsim: gsim,
|
||
gsime: gsime,
|
||
gsiml: gsiml,
|
||
gtcc: gtcc,
|
||
gtcir: gtcir,
|
||
gt: gt,
|
||
GT: GT,
|
||
Gt: Gt,
|
||
gtdot: gtdot,
|
||
gtlPar: gtlPar,
|
||
gtquest: gtquest,
|
||
gtrapprox: gtrapprox,
|
||
gtrarr: gtrarr,
|
||
gtrdot: gtrdot,
|
||
gtreqless: gtreqless,
|
||
gtreqqless: gtreqqless,
|
||
gtrless: gtrless,
|
||
gtrsim: gtrsim,
|
||
gvertneqq: gvertneqq,
|
||
gvnE: gvnE,
|
||
Hacek: Hacek,
|
||
hairsp: hairsp,
|
||
half: half,
|
||
hamilt: hamilt,
|
||
HARDcy: HARDcy,
|
||
hardcy: hardcy,
|
||
harrcir: harrcir,
|
||
harr: harr,
|
||
hArr: hArr,
|
||
harrw: harrw,
|
||
Hat: Hat,
|
||
hbar: hbar,
|
||
Hcirc: Hcirc,
|
||
hcirc: hcirc,
|
||
hearts: hearts,
|
||
heartsuit: heartsuit,
|
||
hellip: hellip,
|
||
hercon: hercon,
|
||
hfr: hfr,
|
||
Hfr: Hfr,
|
||
HilbertSpace: HilbertSpace,
|
||
hksearow: hksearow,
|
||
hkswarow: hkswarow,
|
||
hoarr: hoarr,
|
||
homtht: homtht,
|
||
hookleftarrow: hookleftarrow,
|
||
hookrightarrow: hookrightarrow,
|
||
hopf: hopf,
|
||
Hopf: Hopf,
|
||
horbar: horbar,
|
||
HorizontalLine: HorizontalLine,
|
||
hscr: hscr,
|
||
Hscr: Hscr,
|
||
hslash: hslash,
|
||
Hstrok: Hstrok,
|
||
hstrok: hstrok,
|
||
HumpDownHump: HumpDownHump,
|
||
HumpEqual: HumpEqual,
|
||
hybull: hybull,
|
||
hyphen: hyphen,
|
||
Iacute: Iacute,
|
||
iacute: iacute,
|
||
ic: ic,
|
||
Icirc: Icirc,
|
||
icirc: icirc,
|
||
Icy: Icy,
|
||
icy: icy,
|
||
Idot: Idot,
|
||
IEcy: IEcy,
|
||
iecy: iecy,
|
||
iexcl: iexcl,
|
||
iff: iff,
|
||
ifr: ifr,
|
||
Ifr: Ifr,
|
||
Igrave: Igrave,
|
||
igrave: igrave,
|
||
ii: ii,
|
||
iiiint: iiiint,
|
||
iiint: iiint,
|
||
iinfin: iinfin,
|
||
iiota: iiota,
|
||
IJlig: IJlig,
|
||
ijlig: ijlig,
|
||
Imacr: Imacr,
|
||
imacr: imacr,
|
||
image: image,
|
||
ImaginaryI: ImaginaryI,
|
||
imagline: imagline,
|
||
imagpart: imagpart,
|
||
imath: imath,
|
||
Im: Im,
|
||
imof: imof,
|
||
imped: imped,
|
||
Implies: Implies,
|
||
incare: incare,
|
||
"in": "∈",
|
||
infin: infin,
|
||
infintie: infintie,
|
||
inodot: inodot,
|
||
intcal: intcal,
|
||
int: int,
|
||
Int: Int,
|
||
integers: integers,
|
||
Integral: Integral,
|
||
intercal: intercal,
|
||
Intersection: Intersection,
|
||
intlarhk: intlarhk,
|
||
intprod: intprod,
|
||
InvisibleComma: InvisibleComma,
|
||
InvisibleTimes: InvisibleTimes,
|
||
IOcy: IOcy,
|
||
iocy: iocy,
|
||
Iogon: Iogon,
|
||
iogon: iogon,
|
||
Iopf: Iopf,
|
||
iopf: iopf,
|
||
Iota: Iota,
|
||
iota: iota,
|
||
iprod: iprod,
|
||
iquest: iquest,
|
||
iscr: iscr,
|
||
Iscr: Iscr,
|
||
isin: isin,
|
||
isindot: isindot,
|
||
isinE: isinE,
|
||
isins: isins,
|
||
isinsv: isinsv,
|
||
isinv: isinv,
|
||
it: it,
|
||
Itilde: Itilde,
|
||
itilde: itilde,
|
||
Iukcy: Iukcy,
|
||
iukcy: iukcy,
|
||
Iuml: Iuml,
|
||
iuml: iuml,
|
||
Jcirc: Jcirc,
|
||
jcirc: jcirc,
|
||
Jcy: Jcy,
|
||
jcy: jcy,
|
||
Jfr: Jfr,
|
||
jfr: jfr,
|
||
jmath: jmath,
|
||
Jopf: Jopf,
|
||
jopf: jopf,
|
||
Jscr: Jscr,
|
||
jscr: jscr,
|
||
Jsercy: Jsercy,
|
||
jsercy: jsercy,
|
||
Jukcy: Jukcy,
|
||
jukcy: jukcy,
|
||
Kappa: Kappa,
|
||
kappa: kappa,
|
||
kappav: kappav,
|
||
Kcedil: Kcedil,
|
||
kcedil: kcedil,
|
||
Kcy: Kcy,
|
||
kcy: kcy,
|
||
Kfr: Kfr,
|
||
kfr: kfr,
|
||
kgreen: kgreen,
|
||
KHcy: KHcy,
|
||
khcy: khcy,
|
||
KJcy: KJcy,
|
||
kjcy: kjcy,
|
||
Kopf: Kopf,
|
||
kopf: kopf,
|
||
Kscr: Kscr,
|
||
kscr: kscr,
|
||
lAarr: lAarr,
|
||
Lacute: Lacute,
|
||
lacute: lacute,
|
||
laemptyv: laemptyv,
|
||
lagran: lagran,
|
||
Lambda: Lambda,
|
||
lambda: lambda,
|
||
lang: lang,
|
||
Lang: Lang,
|
||
langd: langd,
|
||
langle: langle,
|
||
lap: lap,
|
||
Laplacetrf: Laplacetrf,
|
||
laquo: laquo,
|
||
larrb: larrb,
|
||
larrbfs: larrbfs,
|
||
larr: larr,
|
||
Larr: Larr,
|
||
lArr: lArr,
|
||
larrfs: larrfs,
|
||
larrhk: larrhk,
|
||
larrlp: larrlp,
|
||
larrpl: larrpl,
|
||
larrsim: larrsim,
|
||
larrtl: larrtl,
|
||
latail: latail,
|
||
lAtail: lAtail,
|
||
lat: lat,
|
||
late: late,
|
||
lates: lates,
|
||
lbarr: lbarr,
|
||
lBarr: lBarr,
|
||
lbbrk: lbbrk,
|
||
lbrace: lbrace,
|
||
lbrack: lbrack,
|
||
lbrke: lbrke,
|
||
lbrksld: lbrksld,
|
||
lbrkslu: lbrkslu,
|
||
Lcaron: Lcaron,
|
||
lcaron: lcaron,
|
||
Lcedil: Lcedil,
|
||
lcedil: lcedil,
|
||
lceil: lceil,
|
||
lcub: lcub,
|
||
Lcy: Lcy,
|
||
lcy: lcy,
|
||
ldca: ldca,
|
||
ldquo: ldquo,
|
||
ldquor: ldquor,
|
||
ldrdhar: ldrdhar,
|
||
ldrushar: ldrushar,
|
||
ldsh: ldsh,
|
||
le: le,
|
||
lE: lE,
|
||
LeftAngleBracket: LeftAngleBracket,
|
||
LeftArrowBar: LeftArrowBar,
|
||
leftarrow: leftarrow,
|
||
LeftArrow: LeftArrow,
|
||
Leftarrow: Leftarrow,
|
||
LeftArrowRightArrow: LeftArrowRightArrow,
|
||
leftarrowtail: leftarrowtail,
|
||
LeftCeiling: LeftCeiling,
|
||
LeftDoubleBracket: LeftDoubleBracket,
|
||
LeftDownTeeVector: LeftDownTeeVector,
|
||
LeftDownVectorBar: LeftDownVectorBar,
|
||
LeftDownVector: LeftDownVector,
|
||
LeftFloor: LeftFloor,
|
||
leftharpoondown: leftharpoondown,
|
||
leftharpoonup: leftharpoonup,
|
||
leftleftarrows: leftleftarrows,
|
||
leftrightarrow: leftrightarrow,
|
||
LeftRightArrow: LeftRightArrow,
|
||
Leftrightarrow: Leftrightarrow,
|
||
leftrightarrows: leftrightarrows,
|
||
leftrightharpoons: leftrightharpoons,
|
||
leftrightsquigarrow: leftrightsquigarrow,
|
||
LeftRightVector: LeftRightVector,
|
||
LeftTeeArrow: LeftTeeArrow,
|
||
LeftTee: LeftTee,
|
||
LeftTeeVector: LeftTeeVector,
|
||
leftthreetimes: leftthreetimes,
|
||
LeftTriangleBar: LeftTriangleBar,
|
||
LeftTriangle: LeftTriangle,
|
||
LeftTriangleEqual: LeftTriangleEqual,
|
||
LeftUpDownVector: LeftUpDownVector,
|
||
LeftUpTeeVector: LeftUpTeeVector,
|
||
LeftUpVectorBar: LeftUpVectorBar,
|
||
LeftUpVector: LeftUpVector,
|
||
LeftVectorBar: LeftVectorBar,
|
||
LeftVector: LeftVector,
|
||
lEg: lEg,
|
||
leg: leg,
|
||
leq: leq,
|
||
leqq: leqq,
|
||
leqslant: leqslant,
|
||
lescc: lescc,
|
||
les: les,
|
||
lesdot: lesdot,
|
||
lesdoto: lesdoto,
|
||
lesdotor: lesdotor,
|
||
lesg: lesg,
|
||
lesges: lesges,
|
||
lessapprox: lessapprox,
|
||
lessdot: lessdot,
|
||
lesseqgtr: lesseqgtr,
|
||
lesseqqgtr: lesseqqgtr,
|
||
LessEqualGreater: LessEqualGreater,
|
||
LessFullEqual: LessFullEqual,
|
||
LessGreater: LessGreater,
|
||
lessgtr: lessgtr,
|
||
LessLess: LessLess,
|
||
lesssim: lesssim,
|
||
LessSlantEqual: LessSlantEqual,
|
||
LessTilde: LessTilde,
|
||
lfisht: lfisht,
|
||
lfloor: lfloor,
|
||
Lfr: Lfr,
|
||
lfr: lfr,
|
||
lg: lg,
|
||
lgE: lgE,
|
||
lHar: lHar,
|
||
lhard: lhard,
|
||
lharu: lharu,
|
||
lharul: lharul,
|
||
lhblk: lhblk,
|
||
LJcy: LJcy,
|
||
ljcy: ljcy,
|
||
llarr: llarr,
|
||
ll: ll,
|
||
Ll: Ll,
|
||
llcorner: llcorner,
|
||
Lleftarrow: Lleftarrow,
|
||
llhard: llhard,
|
||
lltri: lltri,
|
||
Lmidot: Lmidot,
|
||
lmidot: lmidot,
|
||
lmoustache: lmoustache,
|
||
lmoust: lmoust,
|
||
lnap: lnap,
|
||
lnapprox: lnapprox,
|
||
lne: lne,
|
||
lnE: lnE,
|
||
lneq: lneq,
|
||
lneqq: lneqq,
|
||
lnsim: lnsim,
|
||
loang: loang,
|
||
loarr: loarr,
|
||
lobrk: lobrk,
|
||
longleftarrow: longleftarrow,
|
||
LongLeftArrow: LongLeftArrow,
|
||
Longleftarrow: Longleftarrow,
|
||
longleftrightarrow: longleftrightarrow,
|
||
LongLeftRightArrow: LongLeftRightArrow,
|
||
Longleftrightarrow: Longleftrightarrow,
|
||
longmapsto: longmapsto,
|
||
longrightarrow: longrightarrow,
|
||
LongRightArrow: LongRightArrow,
|
||
Longrightarrow: Longrightarrow,
|
||
looparrowleft: looparrowleft,
|
||
looparrowright: looparrowright,
|
||
lopar: lopar,
|
||
Lopf: Lopf,
|
||
lopf: lopf,
|
||
loplus: loplus,
|
||
lotimes: lotimes,
|
||
lowast: lowast,
|
||
lowbar: lowbar,
|
||
LowerLeftArrow: LowerLeftArrow,
|
||
LowerRightArrow: LowerRightArrow,
|
||
loz: loz,
|
||
lozenge: lozenge,
|
||
lozf: lozf,
|
||
lpar: lpar,
|
||
lparlt: lparlt,
|
||
lrarr: lrarr,
|
||
lrcorner: lrcorner,
|
||
lrhar: lrhar,
|
||
lrhard: lrhard,
|
||
lrm: lrm,
|
||
lrtri: lrtri,
|
||
lsaquo: lsaquo,
|
||
lscr: lscr,
|
||
Lscr: Lscr,
|
||
lsh: lsh,
|
||
Lsh: Lsh,
|
||
lsim: lsim,
|
||
lsime: lsime,
|
||
lsimg: lsimg,
|
||
lsqb: lsqb,
|
||
lsquo: lsquo,
|
||
lsquor: lsquor,
|
||
Lstrok: Lstrok,
|
||
lstrok: lstrok,
|
||
ltcc: ltcc,
|
||
ltcir: ltcir,
|
||
lt: lt,
|
||
LT: LT,
|
||
Lt: Lt,
|
||
ltdot: ltdot,
|
||
lthree: lthree,
|
||
ltimes: ltimes,
|
||
ltlarr: ltlarr,
|
||
ltquest: ltquest,
|
||
ltri: ltri,
|
||
ltrie: ltrie,
|
||
ltrif: ltrif,
|
||
ltrPar: ltrPar,
|
||
lurdshar: lurdshar,
|
||
luruhar: luruhar,
|
||
lvertneqq: lvertneqq,
|
||
lvnE: lvnE,
|
||
macr: macr,
|
||
male: male,
|
||
malt: malt,
|
||
maltese: maltese,
|
||
"Map": "⤅",
|
||
map: map,
|
||
mapsto: mapsto,
|
||
mapstodown: mapstodown,
|
||
mapstoleft: mapstoleft,
|
||
mapstoup: mapstoup,
|
||
marker: marker,
|
||
mcomma: mcomma,
|
||
Mcy: Mcy,
|
||
mcy: mcy,
|
||
mdash: mdash,
|
||
mDDot: mDDot,
|
||
measuredangle: measuredangle,
|
||
MediumSpace: MediumSpace,
|
||
Mellintrf: Mellintrf,
|
||
Mfr: Mfr,
|
||
mfr: mfr,
|
||
mho: mho,
|
||
micro: micro,
|
||
midast: midast,
|
||
midcir: midcir,
|
||
mid: mid,
|
||
middot: middot,
|
||
minusb: minusb,
|
||
minus: minus,
|
||
minusd: minusd,
|
||
minusdu: minusdu,
|
||
MinusPlus: MinusPlus,
|
||
mlcp: mlcp,
|
||
mldr: mldr,
|
||
mnplus: mnplus,
|
||
models: models,
|
||
Mopf: Mopf,
|
||
mopf: mopf,
|
||
mp: mp,
|
||
mscr: mscr,
|
||
Mscr: Mscr,
|
||
mstpos: mstpos,
|
||
Mu: Mu,
|
||
mu: mu,
|
||
multimap: multimap,
|
||
mumap: mumap,
|
||
nabla: nabla,
|
||
Nacute: Nacute,
|
||
nacute: nacute,
|
||
nang: nang,
|
||
nap: nap,
|
||
napE: napE,
|
||
napid: napid,
|
||
napos: napos,
|
||
napprox: napprox,
|
||
natural: natural,
|
||
naturals: naturals,
|
||
natur: natur,
|
||
nbsp: nbsp,
|
||
nbump: nbump,
|
||
nbumpe: nbumpe,
|
||
ncap: ncap,
|
||
Ncaron: Ncaron,
|
||
ncaron: ncaron,
|
||
Ncedil: Ncedil,
|
||
ncedil: ncedil,
|
||
ncong: ncong,
|
||
ncongdot: ncongdot,
|
||
ncup: ncup,
|
||
Ncy: Ncy,
|
||
ncy: ncy,
|
||
ndash: ndash,
|
||
nearhk: nearhk,
|
||
nearr: nearr,
|
||
neArr: neArr,
|
||
nearrow: nearrow,
|
||
ne: ne,
|
||
nedot: nedot,
|
||
NegativeMediumSpace: NegativeMediumSpace,
|
||
NegativeThickSpace: NegativeThickSpace,
|
||
NegativeThinSpace: NegativeThinSpace,
|
||
NegativeVeryThinSpace: NegativeVeryThinSpace,
|
||
nequiv: nequiv,
|
||
nesear: nesear,
|
||
nesim: nesim,
|
||
NestedGreaterGreater: NestedGreaterGreater,
|
||
NestedLessLess: NestedLessLess,
|
||
NewLine: NewLine,
|
||
nexist: nexist,
|
||
nexists: nexists,
|
||
Nfr: Nfr,
|
||
nfr: nfr,
|
||
ngE: ngE,
|
||
nge: nge,
|
||
ngeq: ngeq,
|
||
ngeqq: ngeqq,
|
||
ngeqslant: ngeqslant,
|
||
nges: nges,
|
||
nGg: nGg,
|
||
ngsim: ngsim,
|
||
nGt: nGt,
|
||
ngt: ngt,
|
||
ngtr: ngtr,
|
||
nGtv: nGtv,
|
||
nharr: nharr,
|
||
nhArr: nhArr,
|
||
nhpar: nhpar,
|
||
ni: ni,
|
||
nis: nis,
|
||
nisd: nisd,
|
||
niv: niv,
|
||
NJcy: NJcy,
|
||
njcy: njcy,
|
||
nlarr: nlarr,
|
||
nlArr: nlArr,
|
||
nldr: nldr,
|
||
nlE: nlE,
|
||
nle: nle,
|
||
nleftarrow: nleftarrow,
|
||
nLeftarrow: nLeftarrow,
|
||
nleftrightarrow: nleftrightarrow,
|
||
nLeftrightarrow: nLeftrightarrow,
|
||
nleq: nleq,
|
||
nleqq: nleqq,
|
||
nleqslant: nleqslant,
|
||
nles: nles,
|
||
nless: nless,
|
||
nLl: nLl,
|
||
nlsim: nlsim,
|
||
nLt: nLt,
|
||
nlt: nlt,
|
||
nltri: nltri,
|
||
nltrie: nltrie,
|
||
nLtv: nLtv,
|
||
nmid: nmid,
|
||
NoBreak: NoBreak,
|
||
NonBreakingSpace: NonBreakingSpace,
|
||
nopf: nopf,
|
||
Nopf: Nopf,
|
||
Not: Not,
|
||
not: not,
|
||
NotCongruent: NotCongruent,
|
||
NotCupCap: NotCupCap,
|
||
NotDoubleVerticalBar: NotDoubleVerticalBar,
|
||
NotElement: NotElement,
|
||
NotEqual: NotEqual,
|
||
NotEqualTilde: NotEqualTilde,
|
||
NotExists: NotExists,
|
||
NotGreater: NotGreater,
|
||
NotGreaterEqual: NotGreaterEqual,
|
||
NotGreaterFullEqual: NotGreaterFullEqual,
|
||
NotGreaterGreater: NotGreaterGreater,
|
||
NotGreaterLess: NotGreaterLess,
|
||
NotGreaterSlantEqual: NotGreaterSlantEqual,
|
||
NotGreaterTilde: NotGreaterTilde,
|
||
NotHumpDownHump: NotHumpDownHump,
|
||
NotHumpEqual: NotHumpEqual,
|
||
notin: notin,
|
||
notindot: notindot,
|
||
notinE: notinE,
|
||
notinva: notinva,
|
||
notinvb: notinvb,
|
||
notinvc: notinvc,
|
||
NotLeftTriangleBar: NotLeftTriangleBar,
|
||
NotLeftTriangle: NotLeftTriangle,
|
||
NotLeftTriangleEqual: NotLeftTriangleEqual,
|
||
NotLess: NotLess,
|
||
NotLessEqual: NotLessEqual,
|
||
NotLessGreater: NotLessGreater,
|
||
NotLessLess: NotLessLess,
|
||
NotLessSlantEqual: NotLessSlantEqual,
|
||
NotLessTilde: NotLessTilde,
|
||
NotNestedGreaterGreater: NotNestedGreaterGreater,
|
||
NotNestedLessLess: NotNestedLessLess,
|
||
notni: notni,
|
||
notniva: notniva,
|
||
notnivb: notnivb,
|
||
notnivc: notnivc,
|
||
NotPrecedes: NotPrecedes,
|
||
NotPrecedesEqual: NotPrecedesEqual,
|
||
NotPrecedesSlantEqual: NotPrecedesSlantEqual,
|
||
NotReverseElement: NotReverseElement,
|
||
NotRightTriangleBar: NotRightTriangleBar,
|
||
NotRightTriangle: NotRightTriangle,
|
||
NotRightTriangleEqual: NotRightTriangleEqual,
|
||
NotSquareSubset: NotSquareSubset,
|
||
NotSquareSubsetEqual: NotSquareSubsetEqual,
|
||
NotSquareSuperset: NotSquareSuperset,
|
||
NotSquareSupersetEqual: NotSquareSupersetEqual,
|
||
NotSubset: NotSubset,
|
||
NotSubsetEqual: NotSubsetEqual,
|
||
NotSucceeds: NotSucceeds,
|
||
NotSucceedsEqual: NotSucceedsEqual,
|
||
NotSucceedsSlantEqual: NotSucceedsSlantEqual,
|
||
NotSucceedsTilde: NotSucceedsTilde,
|
||
NotSuperset: NotSuperset,
|
||
NotSupersetEqual: NotSupersetEqual,
|
||
NotTilde: NotTilde,
|
||
NotTildeEqual: NotTildeEqual,
|
||
NotTildeFullEqual: NotTildeFullEqual,
|
||
NotTildeTilde: NotTildeTilde,
|
||
NotVerticalBar: NotVerticalBar,
|
||
nparallel: nparallel,
|
||
npar: npar,
|
||
nparsl: nparsl,
|
||
npart: npart,
|
||
npolint: npolint,
|
||
npr: npr,
|
||
nprcue: nprcue,
|
||
nprec: nprec,
|
||
npreceq: npreceq,
|
||
npre: npre,
|
||
nrarrc: nrarrc,
|
||
nrarr: nrarr,
|
||
nrArr: nrArr,
|
||
nrarrw: nrarrw,
|
||
nrightarrow: nrightarrow,
|
||
nRightarrow: nRightarrow,
|
||
nrtri: nrtri,
|
||
nrtrie: nrtrie,
|
||
nsc: nsc,
|
||
nsccue: nsccue,
|
||
nsce: nsce,
|
||
Nscr: Nscr,
|
||
nscr: nscr,
|
||
nshortmid: nshortmid,
|
||
nshortparallel: nshortparallel,
|
||
nsim: nsim,
|
||
nsime: nsime,
|
||
nsimeq: nsimeq,
|
||
nsmid: nsmid,
|
||
nspar: nspar,
|
||
nsqsube: nsqsube,
|
||
nsqsupe: nsqsupe,
|
||
nsub: nsub,
|
||
nsubE: nsubE,
|
||
nsube: nsube,
|
||
nsubset: nsubset,
|
||
nsubseteq: nsubseteq,
|
||
nsubseteqq: nsubseteqq,
|
||
nsucc: nsucc,
|
||
nsucceq: nsucceq,
|
||
nsup: nsup,
|
||
nsupE: nsupE,
|
||
nsupe: nsupe,
|
||
nsupset: nsupset,
|
||
nsupseteq: nsupseteq,
|
||
nsupseteqq: nsupseteqq,
|
||
ntgl: ntgl,
|
||
Ntilde: Ntilde,
|
||
ntilde: ntilde,
|
||
ntlg: ntlg,
|
||
ntriangleleft: ntriangleleft,
|
||
ntrianglelefteq: ntrianglelefteq,
|
||
ntriangleright: ntriangleright,
|
||
ntrianglerighteq: ntrianglerighteq,
|
||
Nu: Nu,
|
||
nu: nu,
|
||
num: num,
|
||
numero: numero,
|
||
numsp: numsp,
|
||
nvap: nvap,
|
||
nvdash: nvdash,
|
||
nvDash: nvDash,
|
||
nVdash: nVdash,
|
||
nVDash: nVDash,
|
||
nvge: nvge,
|
||
nvgt: nvgt,
|
||
nvHarr: nvHarr,
|
||
nvinfin: nvinfin,
|
||
nvlArr: nvlArr,
|
||
nvle: nvle,
|
||
nvlt: nvlt,
|
||
nvltrie: nvltrie,
|
||
nvrArr: nvrArr,
|
||
nvrtrie: nvrtrie,
|
||
nvsim: nvsim,
|
||
nwarhk: nwarhk,
|
||
nwarr: nwarr,
|
||
nwArr: nwArr,
|
||
nwarrow: nwarrow,
|
||
nwnear: nwnear,
|
||
Oacute: Oacute,
|
||
oacute: oacute,
|
||
oast: oast,
|
||
Ocirc: Ocirc,
|
||
ocirc: ocirc,
|
||
ocir: ocir,
|
||
Ocy: Ocy,
|
||
ocy: ocy,
|
||
odash: odash,
|
||
Odblac: Odblac,
|
||
odblac: odblac,
|
||
odiv: odiv,
|
||
odot: odot,
|
||
odsold: odsold,
|
||
OElig: OElig,
|
||
oelig: oelig,
|
||
ofcir: ofcir,
|
||
Ofr: Ofr,
|
||
ofr: ofr,
|
||
ogon: ogon,
|
||
Ograve: Ograve,
|
||
ograve: ograve,
|
||
ogt: ogt,
|
||
ohbar: ohbar,
|
||
ohm: ohm,
|
||
oint: oint,
|
||
olarr: olarr,
|
||
olcir: olcir,
|
||
olcross: olcross,
|
||
oline: oline,
|
||
olt: olt,
|
||
Omacr: Omacr,
|
||
omacr: omacr,
|
||
Omega: Omega,
|
||
omega: omega,
|
||
Omicron: Omicron,
|
||
omicron: omicron,
|
||
omid: omid,
|
||
ominus: ominus,
|
||
Oopf: Oopf,
|
||
oopf: oopf,
|
||
opar: opar,
|
||
OpenCurlyDoubleQuote: OpenCurlyDoubleQuote,
|
||
OpenCurlyQuote: OpenCurlyQuote,
|
||
operp: operp,
|
||
oplus: oplus,
|
||
orarr: orarr,
|
||
Or: Or,
|
||
or: or,
|
||
ord: ord,
|
||
order: order,
|
||
orderof: orderof,
|
||
ordf: ordf,
|
||
ordm: ordm,
|
||
origof: origof,
|
||
oror: oror,
|
||
orslope: orslope,
|
||
orv: orv,
|
||
oS: oS,
|
||
Oscr: Oscr,
|
||
oscr: oscr,
|
||
Oslash: Oslash,
|
||
oslash: oslash,
|
||
osol: osol,
|
||
Otilde: Otilde,
|
||
otilde: otilde,
|
||
otimesas: otimesas,
|
||
Otimes: Otimes,
|
||
otimes: otimes,
|
||
Ouml: Ouml,
|
||
ouml: ouml,
|
||
ovbar: ovbar,
|
||
OverBar: OverBar,
|
||
OverBrace: OverBrace,
|
||
OverBracket: OverBracket,
|
||
OverParenthesis: OverParenthesis,
|
||
para: para,
|
||
parallel: parallel,
|
||
par: par,
|
||
parsim: parsim,
|
||
parsl: parsl,
|
||
part: part,
|
||
PartialD: PartialD,
|
||
Pcy: Pcy,
|
||
pcy: pcy,
|
||
percnt: percnt,
|
||
period: period,
|
||
permil: permil,
|
||
perp: perp,
|
||
pertenk: pertenk,
|
||
Pfr: Pfr,
|
||
pfr: pfr,
|
||
Phi: Phi,
|
||
phi: phi,
|
||
phiv: phiv,
|
||
phmmat: phmmat,
|
||
phone: phone,
|
||
Pi: Pi,
|
||
pi: pi,
|
||
pitchfork: pitchfork,
|
||
piv: piv,
|
||
planck: planck,
|
||
planckh: planckh,
|
||
plankv: plankv,
|
||
plusacir: plusacir,
|
||
plusb: plusb,
|
||
pluscir: pluscir,
|
||
plus: plus,
|
||
plusdo: plusdo,
|
||
plusdu: plusdu,
|
||
pluse: pluse,
|
||
PlusMinus: PlusMinus,
|
||
plusmn: plusmn,
|
||
plussim: plussim,
|
||
plustwo: plustwo,
|
||
pm: pm,
|
||
Poincareplane: Poincareplane,
|
||
pointint: pointint,
|
||
popf: popf,
|
||
Popf: Popf,
|
||
pound: pound,
|
||
prap: prap,
|
||
Pr: Pr,
|
||
pr: pr,
|
||
prcue: prcue,
|
||
precapprox: precapprox,
|
||
prec: prec,
|
||
preccurlyeq: preccurlyeq,
|
||
Precedes: Precedes,
|
||
PrecedesEqual: PrecedesEqual,
|
||
PrecedesSlantEqual: PrecedesSlantEqual,
|
||
PrecedesTilde: PrecedesTilde,
|
||
preceq: preceq,
|
||
precnapprox: precnapprox,
|
||
precneqq: precneqq,
|
||
precnsim: precnsim,
|
||
pre: pre,
|
||
prE: prE,
|
||
precsim: precsim,
|
||
prime: prime,
|
||
Prime: Prime,
|
||
primes: primes,
|
||
prnap: prnap,
|
||
prnE: prnE,
|
||
prnsim: prnsim,
|
||
prod: prod,
|
||
Product: Product,
|
||
profalar: profalar,
|
||
profline: profline,
|
||
profsurf: profsurf,
|
||
prop: prop,
|
||
Proportional: Proportional,
|
||
Proportion: Proportion,
|
||
propto: propto,
|
||
prsim: prsim,
|
||
prurel: prurel,
|
||
Pscr: Pscr,
|
||
pscr: pscr,
|
||
Psi: Psi,
|
||
psi: psi,
|
||
puncsp: puncsp,
|
||
Qfr: Qfr,
|
||
qfr: qfr,
|
||
qint: qint,
|
||
qopf: qopf,
|
||
Qopf: Qopf,
|
||
qprime: qprime,
|
||
Qscr: Qscr,
|
||
qscr: qscr,
|
||
quaternions: quaternions,
|
||
quatint: quatint,
|
||
quest: quest,
|
||
questeq: questeq,
|
||
quot: quot,
|
||
QUOT: QUOT,
|
||
rAarr: rAarr,
|
||
race: race,
|
||
Racute: Racute,
|
||
racute: racute,
|
||
radic: radic,
|
||
raemptyv: raemptyv,
|
||
rang: rang,
|
||
Rang: Rang,
|
||
rangd: rangd,
|
||
range: range,
|
||
rangle: rangle,
|
||
raquo: raquo,
|
||
rarrap: rarrap,
|
||
rarrb: rarrb,
|
||
rarrbfs: rarrbfs,
|
||
rarrc: rarrc,
|
||
rarr: rarr,
|
||
Rarr: Rarr,
|
||
rArr: rArr,
|
||
rarrfs: rarrfs,
|
||
rarrhk: rarrhk,
|
||
rarrlp: rarrlp,
|
||
rarrpl: rarrpl,
|
||
rarrsim: rarrsim,
|
||
Rarrtl: Rarrtl,
|
||
rarrtl: rarrtl,
|
||
rarrw: rarrw,
|
||
ratail: ratail,
|
||
rAtail: rAtail,
|
||
ratio: ratio,
|
||
rationals: rationals,
|
||
rbarr: rbarr,
|
||
rBarr: rBarr,
|
||
RBarr: RBarr,
|
||
rbbrk: rbbrk,
|
||
rbrace: rbrace,
|
||
rbrack: rbrack,
|
||
rbrke: rbrke,
|
||
rbrksld: rbrksld,
|
||
rbrkslu: rbrkslu,
|
||
Rcaron: Rcaron,
|
||
rcaron: rcaron,
|
||
Rcedil: Rcedil,
|
||
rcedil: rcedil,
|
||
rceil: rceil,
|
||
rcub: rcub,
|
||
Rcy: Rcy,
|
||
rcy: rcy,
|
||
rdca: rdca,
|
||
rdldhar: rdldhar,
|
||
rdquo: rdquo,
|
||
rdquor: rdquor,
|
||
rdsh: rdsh,
|
||
real: real,
|
||
realine: realine,
|
||
realpart: realpart,
|
||
reals: reals,
|
||
Re: Re,
|
||
rect: rect,
|
||
reg: reg,
|
||
REG: REG,
|
||
ReverseElement: ReverseElement,
|
||
ReverseEquilibrium: ReverseEquilibrium,
|
||
ReverseUpEquilibrium: ReverseUpEquilibrium,
|
||
rfisht: rfisht,
|
||
rfloor: rfloor,
|
||
rfr: rfr,
|
||
Rfr: Rfr,
|
||
rHar: rHar,
|
||
rhard: rhard,
|
||
rharu: rharu,
|
||
rharul: rharul,
|
||
Rho: Rho,
|
||
rho: rho,
|
||
rhov: rhov,
|
||
RightAngleBracket: RightAngleBracket,
|
||
RightArrowBar: RightArrowBar,
|
||
rightarrow: rightarrow,
|
||
RightArrow: RightArrow,
|
||
Rightarrow: Rightarrow,
|
||
RightArrowLeftArrow: RightArrowLeftArrow,
|
||
rightarrowtail: rightarrowtail,
|
||
RightCeiling: RightCeiling,
|
||
RightDoubleBracket: RightDoubleBracket,
|
||
RightDownTeeVector: RightDownTeeVector,
|
||
RightDownVectorBar: RightDownVectorBar,
|
||
RightDownVector: RightDownVector,
|
||
RightFloor: RightFloor,
|
||
rightharpoondown: rightharpoondown,
|
||
rightharpoonup: rightharpoonup,
|
||
rightleftarrows: rightleftarrows,
|
||
rightleftharpoons: rightleftharpoons,
|
||
rightrightarrows: rightrightarrows,
|
||
rightsquigarrow: rightsquigarrow,
|
||
RightTeeArrow: RightTeeArrow,
|
||
RightTee: RightTee,
|
||
RightTeeVector: RightTeeVector,
|
||
rightthreetimes: rightthreetimes,
|
||
RightTriangleBar: RightTriangleBar,
|
||
RightTriangle: RightTriangle,
|
||
RightTriangleEqual: RightTriangleEqual,
|
||
RightUpDownVector: RightUpDownVector,
|
||
RightUpTeeVector: RightUpTeeVector,
|
||
RightUpVectorBar: RightUpVectorBar,
|
||
RightUpVector: RightUpVector,
|
||
RightVectorBar: RightVectorBar,
|
||
RightVector: RightVector,
|
||
ring: ring,
|
||
risingdotseq: risingdotseq,
|
||
rlarr: rlarr,
|
||
rlhar: rlhar,
|
||
rlm: rlm,
|
||
rmoustache: rmoustache,
|
||
rmoust: rmoust,
|
||
rnmid: rnmid,
|
||
roang: roang,
|
||
roarr: roarr,
|
||
robrk: robrk,
|
||
ropar: ropar,
|
||
ropf: ropf,
|
||
Ropf: Ropf,
|
||
roplus: roplus,
|
||
rotimes: rotimes,
|
||
RoundImplies: RoundImplies,
|
||
rpar: rpar,
|
||
rpargt: rpargt,
|
||
rppolint: rppolint,
|
||
rrarr: rrarr,
|
||
Rrightarrow: Rrightarrow,
|
||
rsaquo: rsaquo,
|
||
rscr: rscr,
|
||
Rscr: Rscr,
|
||
rsh: rsh,
|
||
Rsh: Rsh,
|
||
rsqb: rsqb,
|
||
rsquo: rsquo,
|
||
rsquor: rsquor,
|
||
rthree: rthree,
|
||
rtimes: rtimes,
|
||
rtri: rtri,
|
||
rtrie: rtrie,
|
||
rtrif: rtrif,
|
||
rtriltri: rtriltri,
|
||
RuleDelayed: RuleDelayed,
|
||
ruluhar: ruluhar,
|
||
rx: rx,
|
||
Sacute: Sacute,
|
||
sacute: sacute,
|
||
sbquo: sbquo,
|
||
scap: scap,
|
||
Scaron: Scaron,
|
||
scaron: scaron,
|
||
Sc: Sc,
|
||
sc: sc,
|
||
sccue: sccue,
|
||
sce: sce,
|
||
scE: scE,
|
||
Scedil: Scedil,
|
||
scedil: scedil,
|
||
Scirc: Scirc,
|
||
scirc: scirc,
|
||
scnap: scnap,
|
||
scnE: scnE,
|
||
scnsim: scnsim,
|
||
scpolint: scpolint,
|
||
scsim: scsim,
|
||
Scy: Scy,
|
||
scy: scy,
|
||
sdotb: sdotb,
|
||
sdot: sdot,
|
||
sdote: sdote,
|
||
searhk: searhk,
|
||
searr: searr,
|
||
seArr: seArr,
|
||
searrow: searrow,
|
||
sect: sect,
|
||
semi: semi,
|
||
seswar: seswar,
|
||
setminus: setminus,
|
||
setmn: setmn,
|
||
sext: sext,
|
||
Sfr: Sfr,
|
||
sfr: sfr,
|
||
sfrown: sfrown,
|
||
sharp: sharp,
|
||
SHCHcy: SHCHcy,
|
||
shchcy: shchcy,
|
||
SHcy: SHcy,
|
||
shcy: shcy,
|
||
ShortDownArrow: ShortDownArrow,
|
||
ShortLeftArrow: ShortLeftArrow,
|
||
shortmid: shortmid,
|
||
shortparallel: shortparallel,
|
||
ShortRightArrow: ShortRightArrow,
|
||
ShortUpArrow: ShortUpArrow,
|
||
shy: shy,
|
||
Sigma: Sigma,
|
||
sigma: sigma,
|
||
sigmaf: sigmaf,
|
||
sigmav: sigmav,
|
||
sim: sim,
|
||
simdot: simdot,
|
||
sime: sime,
|
||
simeq: simeq,
|
||
simg: simg,
|
||
simgE: simgE,
|
||
siml: siml,
|
||
simlE: simlE,
|
||
simne: simne,
|
||
simplus: simplus,
|
||
simrarr: simrarr,
|
||
slarr: slarr,
|
||
SmallCircle: SmallCircle,
|
||
smallsetminus: smallsetminus,
|
||
smashp: smashp,
|
||
smeparsl: smeparsl,
|
||
smid: smid,
|
||
smile: smile,
|
||
smt: smt,
|
||
smte: smte,
|
||
smtes: smtes,
|
||
SOFTcy: SOFTcy,
|
||
softcy: softcy,
|
||
solbar: solbar,
|
||
solb: solb,
|
||
sol: sol,
|
||
Sopf: Sopf,
|
||
sopf: sopf,
|
||
spades: spades,
|
||
spadesuit: spadesuit,
|
||
spar: spar,
|
||
sqcap: sqcap,
|
||
sqcaps: sqcaps,
|
||
sqcup: sqcup,
|
||
sqcups: sqcups,
|
||
Sqrt: Sqrt,
|
||
sqsub: sqsub,
|
||
sqsube: sqsube,
|
||
sqsubset: sqsubset,
|
||
sqsubseteq: sqsubseteq,
|
||
sqsup: sqsup,
|
||
sqsupe: sqsupe,
|
||
sqsupset: sqsupset,
|
||
sqsupseteq: sqsupseteq,
|
||
square: square,
|
||
Square: Square,
|
||
SquareIntersection: SquareIntersection,
|
||
SquareSubset: SquareSubset,
|
||
SquareSubsetEqual: SquareSubsetEqual,
|
||
SquareSuperset: SquareSuperset,
|
||
SquareSupersetEqual: SquareSupersetEqual,
|
||
SquareUnion: SquareUnion,
|
||
squarf: squarf,
|
||
squ: squ,
|
||
squf: squf,
|
||
srarr: srarr,
|
||
Sscr: Sscr,
|
||
sscr: sscr,
|
||
ssetmn: ssetmn,
|
||
ssmile: ssmile,
|
||
sstarf: sstarf,
|
||
Star: Star,
|
||
star: star,
|
||
starf: starf,
|
||
straightepsilon: straightepsilon,
|
||
straightphi: straightphi,
|
||
strns: strns,
|
||
sub: sub,
|
||
Sub: Sub,
|
||
subdot: subdot,
|
||
subE: subE,
|
||
sube: sube,
|
||
subedot: subedot,
|
||
submult: submult,
|
||
subnE: subnE,
|
||
subne: subne,
|
||
subplus: subplus,
|
||
subrarr: subrarr,
|
||
subset: subset,
|
||
Subset: Subset,
|
||
subseteq: subseteq,
|
||
subseteqq: subseteqq,
|
||
SubsetEqual: SubsetEqual,
|
||
subsetneq: subsetneq,
|
||
subsetneqq: subsetneqq,
|
||
subsim: subsim,
|
||
subsub: subsub,
|
||
subsup: subsup,
|
||
succapprox: succapprox,
|
||
succ: succ,
|
||
succcurlyeq: succcurlyeq,
|
||
Succeeds: Succeeds,
|
||
SucceedsEqual: SucceedsEqual,
|
||
SucceedsSlantEqual: SucceedsSlantEqual,
|
||
SucceedsTilde: SucceedsTilde,
|
||
succeq: succeq,
|
||
succnapprox: succnapprox,
|
||
succneqq: succneqq,
|
||
succnsim: succnsim,
|
||
succsim: succsim,
|
||
SuchThat: SuchThat,
|
||
sum: sum,
|
||
Sum: Sum,
|
||
sung: sung,
|
||
sup1: sup1,
|
||
sup2: sup2,
|
||
sup3: sup3,
|
||
sup: sup,
|
||
Sup: Sup,
|
||
supdot: supdot,
|
||
supdsub: supdsub,
|
||
supE: supE,
|
||
supe: supe,
|
||
supedot: supedot,
|
||
Superset: Superset,
|
||
SupersetEqual: SupersetEqual,
|
||
suphsol: suphsol,
|
||
suphsub: suphsub,
|
||
suplarr: suplarr,
|
||
supmult: supmult,
|
||
supnE: supnE,
|
||
supne: supne,
|
||
supplus: supplus,
|
||
supset: supset,
|
||
Supset: Supset,
|
||
supseteq: supseteq,
|
||
supseteqq: supseteqq,
|
||
supsetneq: supsetneq,
|
||
supsetneqq: supsetneqq,
|
||
supsim: supsim,
|
||
supsub: supsub,
|
||
supsup: supsup,
|
||
swarhk: swarhk,
|
||
swarr: swarr,
|
||
swArr: swArr,
|
||
swarrow: swarrow,
|
||
swnwar: swnwar,
|
||
szlig: szlig,
|
||
Tab: Tab,
|
||
target: target,
|
||
Tau: Tau,
|
||
tau: tau,
|
||
tbrk: tbrk,
|
||
Tcaron: Tcaron,
|
||
tcaron: tcaron,
|
||
Tcedil: Tcedil,
|
||
tcedil: tcedil,
|
||
Tcy: Tcy,
|
||
tcy: tcy,
|
||
tdot: tdot,
|
||
telrec: telrec,
|
||
Tfr: Tfr,
|
||
tfr: tfr,
|
||
there4: there4,
|
||
therefore: therefore,
|
||
Therefore: Therefore,
|
||
Theta: Theta,
|
||
theta: theta,
|
||
thetasym: thetasym,
|
||
thetav: thetav,
|
||
thickapprox: thickapprox,
|
||
thicksim: thicksim,
|
||
ThickSpace: ThickSpace,
|
||
ThinSpace: ThinSpace,
|
||
thinsp: thinsp,
|
||
thkap: thkap,
|
||
thksim: thksim,
|
||
THORN: THORN,
|
||
thorn: thorn,
|
||
tilde: tilde,
|
||
Tilde: Tilde,
|
||
TildeEqual: TildeEqual,
|
||
TildeFullEqual: TildeFullEqual,
|
||
TildeTilde: TildeTilde,
|
||
timesbar: timesbar,
|
||
timesb: timesb,
|
||
times: times,
|
||
timesd: timesd,
|
||
tint: tint,
|
||
toea: toea,
|
||
topbot: topbot,
|
||
topcir: topcir,
|
||
top: top,
|
||
Topf: Topf,
|
||
topf: topf,
|
||
topfork: topfork,
|
||
tosa: tosa,
|
||
tprime: tprime,
|
||
trade: trade,
|
||
TRADE: TRADE,
|
||
triangle: triangle,
|
||
triangledown: triangledown,
|
||
triangleleft: triangleleft,
|
||
trianglelefteq: trianglelefteq,
|
||
triangleq: triangleq,
|
||
triangleright: triangleright,
|
||
trianglerighteq: trianglerighteq,
|
||
tridot: tridot,
|
||
trie: trie,
|
||
triminus: triminus,
|
||
TripleDot: TripleDot,
|
||
triplus: triplus,
|
||
trisb: trisb,
|
||
tritime: tritime,
|
||
trpezium: trpezium,
|
||
Tscr: Tscr,
|
||
tscr: tscr,
|
||
TScy: TScy,
|
||
tscy: tscy,
|
||
TSHcy: TSHcy,
|
||
tshcy: tshcy,
|
||
Tstrok: Tstrok,
|
||
tstrok: tstrok,
|
||
twixt: twixt,
|
||
twoheadleftarrow: twoheadleftarrow,
|
||
twoheadrightarrow: twoheadrightarrow,
|
||
Uacute: Uacute,
|
||
uacute: uacute,
|
||
uarr: uarr,
|
||
Uarr: Uarr,
|
||
uArr: uArr,
|
||
Uarrocir: Uarrocir,
|
||
Ubrcy: Ubrcy,
|
||
ubrcy: ubrcy,
|
||
Ubreve: Ubreve,
|
||
ubreve: ubreve,
|
||
Ucirc: Ucirc,
|
||
ucirc: ucirc,
|
||
Ucy: Ucy,
|
||
ucy: ucy,
|
||
udarr: udarr,
|
||
Udblac: Udblac,
|
||
udblac: udblac,
|
||
udhar: udhar,
|
||
ufisht: ufisht,
|
||
Ufr: Ufr,
|
||
ufr: ufr,
|
||
Ugrave: Ugrave,
|
||
ugrave: ugrave,
|
||
uHar: uHar,
|
||
uharl: uharl,
|
||
uharr: uharr,
|
||
uhblk: uhblk,
|
||
ulcorn: ulcorn,
|
||
ulcorner: ulcorner,
|
||
ulcrop: ulcrop,
|
||
ultri: ultri,
|
||
Umacr: Umacr,
|
||
umacr: umacr,
|
||
uml: uml,
|
||
UnderBar: UnderBar,
|
||
UnderBrace: UnderBrace,
|
||
UnderBracket: UnderBracket,
|
||
UnderParenthesis: UnderParenthesis,
|
||
Union: Union,
|
||
UnionPlus: UnionPlus,
|
||
Uogon: Uogon,
|
||
uogon: uogon,
|
||
Uopf: Uopf,
|
||
uopf: uopf,
|
||
UpArrowBar: UpArrowBar,
|
||
uparrow: uparrow,
|
||
UpArrow: UpArrow,
|
||
Uparrow: Uparrow,
|
||
UpArrowDownArrow: UpArrowDownArrow,
|
||
updownarrow: updownarrow,
|
||
UpDownArrow: UpDownArrow,
|
||
Updownarrow: Updownarrow,
|
||
UpEquilibrium: UpEquilibrium,
|
||
upharpoonleft: upharpoonleft,
|
||
upharpoonright: upharpoonright,
|
||
uplus: uplus,
|
||
UpperLeftArrow: UpperLeftArrow,
|
||
UpperRightArrow: UpperRightArrow,
|
||
upsi: upsi,
|
||
Upsi: Upsi,
|
||
upsih: upsih,
|
||
Upsilon: Upsilon,
|
||
upsilon: upsilon,
|
||
UpTeeArrow: UpTeeArrow,
|
||
UpTee: UpTee,
|
||
upuparrows: upuparrows,
|
||
urcorn: urcorn,
|
||
urcorner: urcorner,
|
||
urcrop: urcrop,
|
||
Uring: Uring,
|
||
uring: uring,
|
||
urtri: urtri,
|
||
Uscr: Uscr,
|
||
uscr: uscr,
|
||
utdot: utdot,
|
||
Utilde: Utilde,
|
||
utilde: utilde,
|
||
utri: utri,
|
||
utrif: utrif,
|
||
uuarr: uuarr,
|
||
Uuml: Uuml,
|
||
uuml: uuml,
|
||
uwangle: uwangle,
|
||
vangrt: vangrt,
|
||
varepsilon: varepsilon,
|
||
varkappa: varkappa,
|
||
varnothing: varnothing,
|
||
varphi: varphi,
|
||
varpi: varpi,
|
||
varpropto: varpropto,
|
||
varr: varr,
|
||
vArr: vArr,
|
||
varrho: varrho,
|
||
varsigma: varsigma,
|
||
varsubsetneq: varsubsetneq,
|
||
varsubsetneqq: varsubsetneqq,
|
||
varsupsetneq: varsupsetneq,
|
||
varsupsetneqq: varsupsetneqq,
|
||
vartheta: vartheta,
|
||
vartriangleleft: vartriangleleft,
|
||
vartriangleright: vartriangleright,
|
||
vBar: vBar,
|
||
Vbar: Vbar,
|
||
vBarv: vBarv,
|
||
Vcy: Vcy,
|
||
vcy: vcy,
|
||
vdash: vdash,
|
||
vDash: vDash,
|
||
Vdash: Vdash,
|
||
VDash: VDash,
|
||
Vdashl: Vdashl,
|
||
veebar: veebar,
|
||
vee: vee,
|
||
Vee: Vee,
|
||
veeeq: veeeq,
|
||
vellip: vellip,
|
||
verbar: verbar,
|
||
Verbar: Verbar,
|
||
vert: vert,
|
||
Vert: Vert,
|
||
VerticalBar: VerticalBar,
|
||
VerticalLine: VerticalLine,
|
||
VerticalSeparator: VerticalSeparator,
|
||
VerticalTilde: VerticalTilde,
|
||
VeryThinSpace: VeryThinSpace,
|
||
Vfr: Vfr,
|
||
vfr: vfr,
|
||
vltri: vltri,
|
||
vnsub: vnsub,
|
||
vnsup: vnsup,
|
||
Vopf: Vopf,
|
||
vopf: vopf,
|
||
vprop: vprop,
|
||
vrtri: vrtri,
|
||
Vscr: Vscr,
|
||
vscr: vscr,
|
||
vsubnE: vsubnE,
|
||
vsubne: vsubne,
|
||
vsupnE: vsupnE,
|
||
vsupne: vsupne,
|
||
Vvdash: Vvdash,
|
||
vzigzag: vzigzag,
|
||
Wcirc: Wcirc,
|
||
wcirc: wcirc,
|
||
wedbar: wedbar,
|
||
wedge: wedge,
|
||
Wedge: Wedge,
|
||
wedgeq: wedgeq,
|
||
weierp: weierp,
|
||
Wfr: Wfr,
|
||
wfr: wfr,
|
||
Wopf: Wopf,
|
||
wopf: wopf,
|
||
wp: wp,
|
||
wr: wr,
|
||
wreath: wreath,
|
||
Wscr: Wscr,
|
||
wscr: wscr,
|
||
xcap: xcap,
|
||
xcirc: xcirc,
|
||
xcup: xcup,
|
||
xdtri: xdtri,
|
||
Xfr: Xfr,
|
||
xfr: xfr,
|
||
xharr: xharr,
|
||
xhArr: xhArr,
|
||
Xi: Xi,
|
||
xi: xi,
|
||
xlarr: xlarr,
|
||
xlArr: xlArr,
|
||
xmap: xmap,
|
||
xnis: xnis,
|
||
xodot: xodot,
|
||
Xopf: Xopf,
|
||
xopf: xopf,
|
||
xoplus: xoplus,
|
||
xotime: xotime,
|
||
xrarr: xrarr,
|
||
xrArr: xrArr,
|
||
Xscr: Xscr,
|
||
xscr: xscr,
|
||
xsqcup: xsqcup,
|
||
xuplus: xuplus,
|
||
xutri: xutri,
|
||
xvee: xvee,
|
||
xwedge: xwedge,
|
||
Yacute: Yacute,
|
||
yacute: yacute,
|
||
YAcy: YAcy,
|
||
yacy: yacy,
|
||
Ycirc: Ycirc,
|
||
ycirc: ycirc,
|
||
Ycy: Ycy,
|
||
ycy: ycy,
|
||
yen: yen,
|
||
Yfr: Yfr,
|
||
yfr: yfr,
|
||
YIcy: YIcy,
|
||
yicy: yicy,
|
||
Yopf: Yopf,
|
||
yopf: yopf,
|
||
Yscr: Yscr,
|
||
yscr: yscr,
|
||
YUcy: YUcy,
|
||
yucy: yucy,
|
||
yuml: yuml,
|
||
Yuml: Yuml,
|
||
Zacute: Zacute,
|
||
zacute: zacute,
|
||
Zcaron: Zcaron,
|
||
zcaron: zcaron,
|
||
Zcy: Zcy,
|
||
zcy: zcy,
|
||
Zdot: Zdot,
|
||
zdot: zdot,
|
||
zeetrf: zeetrf,
|
||
ZeroWidthSpace: ZeroWidthSpace,
|
||
Zeta: Zeta,
|
||
zeta: zeta,
|
||
zfr: zfr,
|
||
Zfr: Zfr,
|
||
ZHcy: ZHcy,
|
||
zhcy: zhcy,
|
||
zigrarr: zigrarr,
|
||
zopf: zopf,
|
||
Zopf: Zopf,
|
||
Zscr: Zscr,
|
||
zscr: zscr,
|
||
zwj: zwj,
|
||
zwnj: zwnj
|
||
};
|
||
|
||
var entities$1 = /*#__PURE__*/Object.freeze({
|
||
__proto__: null,
|
||
Aacute: Aacute,
|
||
aacute: aacute,
|
||
Abreve: Abreve,
|
||
abreve: abreve,
|
||
ac: ac,
|
||
acd: acd,
|
||
acE: acE,
|
||
Acirc: Acirc,
|
||
acirc: acirc,
|
||
acute: acute,
|
||
Acy: Acy,
|
||
acy: acy,
|
||
AElig: AElig,
|
||
aelig: aelig,
|
||
af: af,
|
||
Afr: Afr,
|
||
afr: afr,
|
||
Agrave: Agrave,
|
||
agrave: agrave,
|
||
alefsym: alefsym,
|
||
aleph: aleph,
|
||
Alpha: Alpha,
|
||
alpha: alpha,
|
||
Amacr: Amacr,
|
||
amacr: amacr,
|
||
amalg: amalg,
|
||
amp: amp,
|
||
AMP: AMP,
|
||
andand: andand,
|
||
And: And,
|
||
and: and,
|
||
andd: andd,
|
||
andslope: andslope,
|
||
andv: andv,
|
||
ang: ang,
|
||
ange: ange,
|
||
angle: angle,
|
||
angmsdaa: angmsdaa,
|
||
angmsdab: angmsdab,
|
||
angmsdac: angmsdac,
|
||
angmsdad: angmsdad,
|
||
angmsdae: angmsdae,
|
||
angmsdaf: angmsdaf,
|
||
angmsdag: angmsdag,
|
||
angmsdah: angmsdah,
|
||
angmsd: angmsd,
|
||
angrt: angrt,
|
||
angrtvb: angrtvb,
|
||
angrtvbd: angrtvbd,
|
||
angsph: angsph,
|
||
angst: angst,
|
||
angzarr: angzarr,
|
||
Aogon: Aogon,
|
||
aogon: aogon,
|
||
Aopf: Aopf,
|
||
aopf: aopf,
|
||
apacir: apacir,
|
||
ap: ap,
|
||
apE: apE,
|
||
ape: ape,
|
||
apid: apid,
|
||
apos: apos,
|
||
ApplyFunction: ApplyFunction,
|
||
approx: approx,
|
||
approxeq: approxeq,
|
||
Aring: Aring,
|
||
aring: aring,
|
||
Ascr: Ascr,
|
||
ascr: ascr,
|
||
Assign: Assign,
|
||
ast: ast,
|
||
asymp: asymp,
|
||
asympeq: asympeq,
|
||
Atilde: Atilde,
|
||
atilde: atilde,
|
||
Auml: Auml,
|
||
auml: auml,
|
||
awconint: awconint,
|
||
awint: awint,
|
||
backcong: backcong,
|
||
backepsilon: backepsilon,
|
||
backprime: backprime,
|
||
backsim: backsim,
|
||
backsimeq: backsimeq,
|
||
Backslash: Backslash,
|
||
Barv: Barv,
|
||
barvee: barvee,
|
||
barwed: barwed,
|
||
Barwed: Barwed,
|
||
barwedge: barwedge,
|
||
bbrk: bbrk,
|
||
bbrktbrk: bbrktbrk,
|
||
bcong: bcong,
|
||
Bcy: Bcy,
|
||
bcy: bcy,
|
||
bdquo: bdquo,
|
||
becaus: becaus,
|
||
because: because,
|
||
Because: Because,
|
||
bemptyv: bemptyv,
|
||
bepsi: bepsi,
|
||
bernou: bernou,
|
||
Bernoullis: Bernoullis,
|
||
Beta: Beta,
|
||
beta: beta,
|
||
beth: beth,
|
||
between: between,
|
||
Bfr: Bfr,
|
||
bfr: bfr,
|
||
bigcap: bigcap,
|
||
bigcirc: bigcirc,
|
||
bigcup: bigcup,
|
||
bigodot: bigodot,
|
||
bigoplus: bigoplus,
|
||
bigotimes: bigotimes,
|
||
bigsqcup: bigsqcup,
|
||
bigstar: bigstar,
|
||
bigtriangledown: bigtriangledown,
|
||
bigtriangleup: bigtriangleup,
|
||
biguplus: biguplus,
|
||
bigvee: bigvee,
|
||
bigwedge: bigwedge,
|
||
bkarow: bkarow,
|
||
blacklozenge: blacklozenge,
|
||
blacksquare: blacksquare,
|
||
blacktriangle: blacktriangle,
|
||
blacktriangledown: blacktriangledown,
|
||
blacktriangleleft: blacktriangleleft,
|
||
blacktriangleright: blacktriangleright,
|
||
blank: blank,
|
||
blk12: blk12,
|
||
blk14: blk14,
|
||
blk34: blk34,
|
||
block: block,
|
||
bne: bne,
|
||
bnequiv: bnequiv,
|
||
bNot: bNot,
|
||
bnot: bnot,
|
||
Bopf: Bopf,
|
||
bopf: bopf,
|
||
bot: bot,
|
||
bottom: bottom,
|
||
bowtie: bowtie,
|
||
boxbox: boxbox,
|
||
boxdl: boxdl,
|
||
boxdL: boxdL,
|
||
boxDl: boxDl,
|
||
boxDL: boxDL,
|
||
boxdr: boxdr,
|
||
boxdR: boxdR,
|
||
boxDr: boxDr,
|
||
boxDR: boxDR,
|
||
boxh: boxh,
|
||
boxH: boxH,
|
||
boxhd: boxhd,
|
||
boxHd: boxHd,
|
||
boxhD: boxhD,
|
||
boxHD: boxHD,
|
||
boxhu: boxhu,
|
||
boxHu: boxHu,
|
||
boxhU: boxhU,
|
||
boxHU: boxHU,
|
||
boxminus: boxminus,
|
||
boxplus: boxplus,
|
||
boxtimes: boxtimes,
|
||
boxul: boxul,
|
||
boxuL: boxuL,
|
||
boxUl: boxUl,
|
||
boxUL: boxUL,
|
||
boxur: boxur,
|
||
boxuR: boxuR,
|
||
boxUr: boxUr,
|
||
boxUR: boxUR,
|
||
boxv: boxv,
|
||
boxV: boxV,
|
||
boxvh: boxvh,
|
||
boxvH: boxvH,
|
||
boxVh: boxVh,
|
||
boxVH: boxVH,
|
||
boxvl: boxvl,
|
||
boxvL: boxvL,
|
||
boxVl: boxVl,
|
||
boxVL: boxVL,
|
||
boxvr: boxvr,
|
||
boxvR: boxvR,
|
||
boxVr: boxVr,
|
||
boxVR: boxVR,
|
||
bprime: bprime,
|
||
breve: breve,
|
||
Breve: Breve,
|
||
brvbar: brvbar,
|
||
bscr: bscr,
|
||
Bscr: Bscr,
|
||
bsemi: bsemi,
|
||
bsim: bsim,
|
||
bsime: bsime,
|
||
bsolb: bsolb,
|
||
bsol: bsol,
|
||
bsolhsub: bsolhsub,
|
||
bull: bull,
|
||
bullet: bullet,
|
||
bump: bump,
|
||
bumpE: bumpE,
|
||
bumpe: bumpe,
|
||
Bumpeq: Bumpeq,
|
||
bumpeq: bumpeq,
|
||
Cacute: Cacute,
|
||
cacute: cacute,
|
||
capand: capand,
|
||
capbrcup: capbrcup,
|
||
capcap: capcap,
|
||
cap: cap,
|
||
Cap: Cap,
|
||
capcup: capcup,
|
||
capdot: capdot,
|
||
CapitalDifferentialD: CapitalDifferentialD,
|
||
caps: caps,
|
||
caret: caret,
|
||
caron: caron,
|
||
Cayleys: Cayleys,
|
||
ccaps: ccaps,
|
||
Ccaron: Ccaron,
|
||
ccaron: ccaron,
|
||
Ccedil: Ccedil,
|
||
ccedil: ccedil,
|
||
Ccirc: Ccirc,
|
||
ccirc: ccirc,
|
||
Cconint: Cconint,
|
||
ccups: ccups,
|
||
ccupssm: ccupssm,
|
||
Cdot: Cdot,
|
||
cdot: cdot,
|
||
cedil: cedil,
|
||
Cedilla: Cedilla,
|
||
cemptyv: cemptyv,
|
||
cent: cent,
|
||
centerdot: centerdot,
|
||
CenterDot: CenterDot,
|
||
cfr: cfr,
|
||
Cfr: Cfr,
|
||
CHcy: CHcy,
|
||
chcy: chcy,
|
||
check: check,
|
||
checkmark: checkmark,
|
||
Chi: Chi,
|
||
chi: chi,
|
||
circ: circ,
|
||
circeq: circeq,
|
||
circlearrowleft: circlearrowleft,
|
||
circlearrowright: circlearrowright,
|
||
circledast: circledast,
|
||
circledcirc: circledcirc,
|
||
circleddash: circleddash,
|
||
CircleDot: CircleDot,
|
||
circledR: circledR,
|
||
circledS: circledS,
|
||
CircleMinus: CircleMinus,
|
||
CirclePlus: CirclePlus,
|
||
CircleTimes: CircleTimes,
|
||
cir: cir,
|
||
cirE: cirE,
|
||
cire: cire,
|
||
cirfnint: cirfnint,
|
||
cirmid: cirmid,
|
||
cirscir: cirscir,
|
||
ClockwiseContourIntegral: ClockwiseContourIntegral,
|
||
CloseCurlyDoubleQuote: CloseCurlyDoubleQuote,
|
||
CloseCurlyQuote: CloseCurlyQuote,
|
||
clubs: clubs,
|
||
clubsuit: clubsuit,
|
||
colon: colon,
|
||
Colon: Colon,
|
||
Colone: Colone,
|
||
colone: colone,
|
||
coloneq: coloneq,
|
||
comma: comma,
|
||
commat: commat,
|
||
comp: comp,
|
||
compfn: compfn,
|
||
complement: complement,
|
||
complexes: complexes,
|
||
cong: cong,
|
||
congdot: congdot,
|
||
Congruent: Congruent,
|
||
conint: conint,
|
||
Conint: Conint,
|
||
ContourIntegral: ContourIntegral,
|
||
copf: copf,
|
||
Copf: Copf,
|
||
coprod: coprod,
|
||
Coproduct: Coproduct,
|
||
copy: copy,
|
||
COPY: COPY,
|
||
copysr: copysr,
|
||
CounterClockwiseContourIntegral: CounterClockwiseContourIntegral,
|
||
crarr: crarr,
|
||
cross: cross,
|
||
Cross: Cross,
|
||
Cscr: Cscr,
|
||
cscr: cscr,
|
||
csub: csub,
|
||
csube: csube,
|
||
csup: csup,
|
||
csupe: csupe,
|
||
ctdot: ctdot,
|
||
cudarrl: cudarrl,
|
||
cudarrr: cudarrr,
|
||
cuepr: cuepr,
|
||
cuesc: cuesc,
|
||
cularr: cularr,
|
||
cularrp: cularrp,
|
||
cupbrcap: cupbrcap,
|
||
cupcap: cupcap,
|
||
CupCap: CupCap,
|
||
cup: cup,
|
||
Cup: Cup,
|
||
cupcup: cupcup,
|
||
cupdot: cupdot,
|
||
cupor: cupor,
|
||
cups: cups,
|
||
curarr: curarr,
|
||
curarrm: curarrm,
|
||
curlyeqprec: curlyeqprec,
|
||
curlyeqsucc: curlyeqsucc,
|
||
curlyvee: curlyvee,
|
||
curlywedge: curlywedge,
|
||
curren: curren,
|
||
curvearrowleft: curvearrowleft,
|
||
curvearrowright: curvearrowright,
|
||
cuvee: cuvee,
|
||
cuwed: cuwed,
|
||
cwconint: cwconint,
|
||
cwint: cwint,
|
||
cylcty: cylcty,
|
||
dagger: dagger,
|
||
Dagger: Dagger,
|
||
daleth: daleth,
|
||
darr: darr,
|
||
Darr: Darr,
|
||
dArr: dArr,
|
||
dash: dash,
|
||
Dashv: Dashv,
|
||
dashv: dashv,
|
||
dbkarow: dbkarow,
|
||
dblac: dblac,
|
||
Dcaron: Dcaron,
|
||
dcaron: dcaron,
|
||
Dcy: Dcy,
|
||
dcy: dcy,
|
||
ddagger: ddagger,
|
||
ddarr: ddarr,
|
||
DD: DD,
|
||
dd: dd,
|
||
DDotrahd: DDotrahd,
|
||
ddotseq: ddotseq,
|
||
deg: deg,
|
||
Del: Del,
|
||
Delta: Delta,
|
||
delta: delta,
|
||
demptyv: demptyv,
|
||
dfisht: dfisht,
|
||
Dfr: Dfr,
|
||
dfr: dfr,
|
||
dHar: dHar,
|
||
dharl: dharl,
|
||
dharr: dharr,
|
||
DiacriticalAcute: DiacriticalAcute,
|
||
DiacriticalDot: DiacriticalDot,
|
||
DiacriticalDoubleAcute: DiacriticalDoubleAcute,
|
||
DiacriticalGrave: DiacriticalGrave,
|
||
DiacriticalTilde: DiacriticalTilde,
|
||
diam: diam,
|
||
diamond: diamond,
|
||
Diamond: Diamond,
|
||
diamondsuit: diamondsuit,
|
||
diams: diams,
|
||
die: die,
|
||
DifferentialD: DifferentialD,
|
||
digamma: digamma,
|
||
disin: disin,
|
||
div: div,
|
||
divide: divide,
|
||
divideontimes: divideontimes,
|
||
divonx: divonx,
|
||
DJcy: DJcy,
|
||
djcy: djcy,
|
||
dlcorn: dlcorn,
|
||
dlcrop: dlcrop,
|
||
dollar: dollar,
|
||
Dopf: Dopf,
|
||
dopf: dopf,
|
||
Dot: Dot,
|
||
dot: dot,
|
||
DotDot: DotDot,
|
||
doteq: doteq,
|
||
doteqdot: doteqdot,
|
||
DotEqual: DotEqual,
|
||
dotminus: dotminus,
|
||
dotplus: dotplus,
|
||
dotsquare: dotsquare,
|
||
doublebarwedge: doublebarwedge,
|
||
DoubleContourIntegral: DoubleContourIntegral,
|
||
DoubleDot: DoubleDot,
|
||
DoubleDownArrow: DoubleDownArrow,
|
||
DoubleLeftArrow: DoubleLeftArrow,
|
||
DoubleLeftRightArrow: DoubleLeftRightArrow,
|
||
DoubleLeftTee: DoubleLeftTee,
|
||
DoubleLongLeftArrow: DoubleLongLeftArrow,
|
||
DoubleLongLeftRightArrow: DoubleLongLeftRightArrow,
|
||
DoubleLongRightArrow: DoubleLongRightArrow,
|
||
DoubleRightArrow: DoubleRightArrow,
|
||
DoubleRightTee: DoubleRightTee,
|
||
DoubleUpArrow: DoubleUpArrow,
|
||
DoubleUpDownArrow: DoubleUpDownArrow,
|
||
DoubleVerticalBar: DoubleVerticalBar,
|
||
DownArrowBar: DownArrowBar,
|
||
downarrow: downarrow,
|
||
DownArrow: DownArrow,
|
||
Downarrow: Downarrow,
|
||
DownArrowUpArrow: DownArrowUpArrow,
|
||
DownBreve: DownBreve,
|
||
downdownarrows: downdownarrows,
|
||
downharpoonleft: downharpoonleft,
|
||
downharpoonright: downharpoonright,
|
||
DownLeftRightVector: DownLeftRightVector,
|
||
DownLeftTeeVector: DownLeftTeeVector,
|
||
DownLeftVectorBar: DownLeftVectorBar,
|
||
DownLeftVector: DownLeftVector,
|
||
DownRightTeeVector: DownRightTeeVector,
|
||
DownRightVectorBar: DownRightVectorBar,
|
||
DownRightVector: DownRightVector,
|
||
DownTeeArrow: DownTeeArrow,
|
||
DownTee: DownTee,
|
||
drbkarow: drbkarow,
|
||
drcorn: drcorn,
|
||
drcrop: drcrop,
|
||
Dscr: Dscr,
|
||
dscr: dscr,
|
||
DScy: DScy,
|
||
dscy: dscy,
|
||
dsol: dsol,
|
||
Dstrok: Dstrok,
|
||
dstrok: dstrok,
|
||
dtdot: dtdot,
|
||
dtri: dtri,
|
||
dtrif: dtrif,
|
||
duarr: duarr,
|
||
duhar: duhar,
|
||
dwangle: dwangle,
|
||
DZcy: DZcy,
|
||
dzcy: dzcy,
|
||
dzigrarr: dzigrarr,
|
||
Eacute: Eacute,
|
||
eacute: eacute,
|
||
easter: easter,
|
||
Ecaron: Ecaron,
|
||
ecaron: ecaron,
|
||
Ecirc: Ecirc,
|
||
ecirc: ecirc,
|
||
ecir: ecir,
|
||
ecolon: ecolon,
|
||
Ecy: Ecy,
|
||
ecy: ecy,
|
||
eDDot: eDDot,
|
||
Edot: Edot,
|
||
edot: edot,
|
||
eDot: eDot,
|
||
ee: ee,
|
||
efDot: efDot,
|
||
Efr: Efr,
|
||
efr: efr,
|
||
eg: eg,
|
||
Egrave: Egrave,
|
||
egrave: egrave,
|
||
egs: egs,
|
||
egsdot: egsdot,
|
||
el: el,
|
||
Element: Element,
|
||
elinters: elinters,
|
||
ell: ell,
|
||
els: els,
|
||
elsdot: elsdot,
|
||
Emacr: Emacr,
|
||
emacr: emacr,
|
||
empty: empty,
|
||
emptyset: emptyset,
|
||
EmptySmallSquare: EmptySmallSquare,
|
||
emptyv: emptyv,
|
||
EmptyVerySmallSquare: EmptyVerySmallSquare,
|
||
emsp13: emsp13,
|
||
emsp14: emsp14,
|
||
emsp: emsp,
|
||
ENG: ENG,
|
||
eng: eng,
|
||
ensp: ensp,
|
||
Eogon: Eogon,
|
||
eogon: eogon,
|
||
Eopf: Eopf,
|
||
eopf: eopf,
|
||
epar: epar,
|
||
eparsl: eparsl,
|
||
eplus: eplus,
|
||
epsi: epsi,
|
||
Epsilon: Epsilon,
|
||
epsilon: epsilon,
|
||
epsiv: epsiv,
|
||
eqcirc: eqcirc,
|
||
eqcolon: eqcolon,
|
||
eqsim: eqsim,
|
||
eqslantgtr: eqslantgtr,
|
||
eqslantless: eqslantless,
|
||
Equal: Equal,
|
||
equals: equals,
|
||
EqualTilde: EqualTilde,
|
||
equest: equest,
|
||
Equilibrium: Equilibrium,
|
||
equiv: equiv,
|
||
equivDD: equivDD,
|
||
eqvparsl: eqvparsl,
|
||
erarr: erarr,
|
||
erDot: erDot,
|
||
escr: escr,
|
||
Escr: Escr,
|
||
esdot: esdot,
|
||
Esim: Esim,
|
||
esim: esim,
|
||
Eta: Eta,
|
||
eta: eta,
|
||
ETH: ETH,
|
||
eth: eth,
|
||
Euml: Euml,
|
||
euml: euml,
|
||
euro: euro,
|
||
excl: excl,
|
||
exist: exist,
|
||
Exists: Exists,
|
||
expectation: expectation,
|
||
exponentiale: exponentiale,
|
||
ExponentialE: ExponentialE,
|
||
fallingdotseq: fallingdotseq,
|
||
Fcy: Fcy,
|
||
fcy: fcy,
|
||
female: female,
|
||
ffilig: ffilig,
|
||
fflig: fflig,
|
||
ffllig: ffllig,
|
||
Ffr: Ffr,
|
||
ffr: ffr,
|
||
filig: filig,
|
||
FilledSmallSquare: FilledSmallSquare,
|
||
FilledVerySmallSquare: FilledVerySmallSquare,
|
||
fjlig: fjlig,
|
||
flat: flat,
|
||
fllig: fllig,
|
||
fltns: fltns,
|
||
fnof: fnof,
|
||
Fopf: Fopf,
|
||
fopf: fopf,
|
||
forall: forall,
|
||
ForAll: ForAll,
|
||
fork: fork,
|
||
forkv: forkv,
|
||
Fouriertrf: Fouriertrf,
|
||
fpartint: fpartint,
|
||
frac12: frac12,
|
||
frac13: frac13,
|
||
frac14: frac14,
|
||
frac15: frac15,
|
||
frac16: frac16,
|
||
frac18: frac18,
|
||
frac23: frac23,
|
||
frac25: frac25,
|
||
frac34: frac34,
|
||
frac35: frac35,
|
||
frac38: frac38,
|
||
frac45: frac45,
|
||
frac56: frac56,
|
||
frac58: frac58,
|
||
frac78: frac78,
|
||
frasl: frasl,
|
||
frown: frown,
|
||
fscr: fscr,
|
||
Fscr: Fscr,
|
||
gacute: gacute,
|
||
Gamma: Gamma,
|
||
gamma: gamma,
|
||
Gammad: Gammad,
|
||
gammad: gammad,
|
||
gap: gap,
|
||
Gbreve: Gbreve,
|
||
gbreve: gbreve,
|
||
Gcedil: Gcedil,
|
||
Gcirc: Gcirc,
|
||
gcirc: gcirc,
|
||
Gcy: Gcy,
|
||
gcy: gcy,
|
||
Gdot: Gdot,
|
||
gdot: gdot,
|
||
ge: ge,
|
||
gE: gE,
|
||
gEl: gEl,
|
||
gel: gel,
|
||
geq: geq,
|
||
geqq: geqq,
|
||
geqslant: geqslant,
|
||
gescc: gescc,
|
||
ges: ges,
|
||
gesdot: gesdot,
|
||
gesdoto: gesdoto,
|
||
gesdotol: gesdotol,
|
||
gesl: gesl,
|
||
gesles: gesles,
|
||
Gfr: Gfr,
|
||
gfr: gfr,
|
||
gg: gg,
|
||
Gg: Gg,
|
||
ggg: ggg,
|
||
gimel: gimel,
|
||
GJcy: GJcy,
|
||
gjcy: gjcy,
|
||
gla: gla,
|
||
gl: gl,
|
||
glE: glE,
|
||
glj: glj,
|
||
gnap: gnap,
|
||
gnapprox: gnapprox,
|
||
gne: gne,
|
||
gnE: gnE,
|
||
gneq: gneq,
|
||
gneqq: gneqq,
|
||
gnsim: gnsim,
|
||
Gopf: Gopf,
|
||
gopf: gopf,
|
||
grave: grave,
|
||
GreaterEqual: GreaterEqual,
|
||
GreaterEqualLess: GreaterEqualLess,
|
||
GreaterFullEqual: GreaterFullEqual,
|
||
GreaterGreater: GreaterGreater,
|
||
GreaterLess: GreaterLess,
|
||
GreaterSlantEqual: GreaterSlantEqual,
|
||
GreaterTilde: GreaterTilde,
|
||
Gscr: Gscr,
|
||
gscr: gscr,
|
||
gsim: gsim,
|
||
gsime: gsime,
|
||
gsiml: gsiml,
|
||
gtcc: gtcc,
|
||
gtcir: gtcir,
|
||
gt: gt,
|
||
GT: GT,
|
||
Gt: Gt,
|
||
gtdot: gtdot,
|
||
gtlPar: gtlPar,
|
||
gtquest: gtquest,
|
||
gtrapprox: gtrapprox,
|
||
gtrarr: gtrarr,
|
||
gtrdot: gtrdot,
|
||
gtreqless: gtreqless,
|
||
gtreqqless: gtreqqless,
|
||
gtrless: gtrless,
|
||
gtrsim: gtrsim,
|
||
gvertneqq: gvertneqq,
|
||
gvnE: gvnE,
|
||
Hacek: Hacek,
|
||
hairsp: hairsp,
|
||
half: half,
|
||
hamilt: hamilt,
|
||
HARDcy: HARDcy,
|
||
hardcy: hardcy,
|
||
harrcir: harrcir,
|
||
harr: harr,
|
||
hArr: hArr,
|
||
harrw: harrw,
|
||
Hat: Hat,
|
||
hbar: hbar,
|
||
Hcirc: Hcirc,
|
||
hcirc: hcirc,
|
||
hearts: hearts,
|
||
heartsuit: heartsuit,
|
||
hellip: hellip,
|
||
hercon: hercon,
|
||
hfr: hfr,
|
||
Hfr: Hfr,
|
||
HilbertSpace: HilbertSpace,
|
||
hksearow: hksearow,
|
||
hkswarow: hkswarow,
|
||
hoarr: hoarr,
|
||
homtht: homtht,
|
||
hookleftarrow: hookleftarrow,
|
||
hookrightarrow: hookrightarrow,
|
||
hopf: hopf,
|
||
Hopf: Hopf,
|
||
horbar: horbar,
|
||
HorizontalLine: HorizontalLine,
|
||
hscr: hscr,
|
||
Hscr: Hscr,
|
||
hslash: hslash,
|
||
Hstrok: Hstrok,
|
||
hstrok: hstrok,
|
||
HumpDownHump: HumpDownHump,
|
||
HumpEqual: HumpEqual,
|
||
hybull: hybull,
|
||
hyphen: hyphen,
|
||
Iacute: Iacute,
|
||
iacute: iacute,
|
||
ic: ic,
|
||
Icirc: Icirc,
|
||
icirc: icirc,
|
||
Icy: Icy,
|
||
icy: icy,
|
||
Idot: Idot,
|
||
IEcy: IEcy,
|
||
iecy: iecy,
|
||
iexcl: iexcl,
|
||
iff: iff,
|
||
ifr: ifr,
|
||
Ifr: Ifr,
|
||
Igrave: Igrave,
|
||
igrave: igrave,
|
||
ii: ii,
|
||
iiiint: iiiint,
|
||
iiint: iiint,
|
||
iinfin: iinfin,
|
||
iiota: iiota,
|
||
IJlig: IJlig,
|
||
ijlig: ijlig,
|
||
Imacr: Imacr,
|
||
imacr: imacr,
|
||
image: image,
|
||
ImaginaryI: ImaginaryI,
|
||
imagline: imagline,
|
||
imagpart: imagpart,
|
||
imath: imath,
|
||
Im: Im,
|
||
imof: imof,
|
||
imped: imped,
|
||
Implies: Implies,
|
||
incare: incare,
|
||
infin: infin,
|
||
infintie: infintie,
|
||
inodot: inodot,
|
||
intcal: intcal,
|
||
int: int,
|
||
Int: Int,
|
||
integers: integers,
|
||
Integral: Integral,
|
||
intercal: intercal,
|
||
Intersection: Intersection,
|
||
intlarhk: intlarhk,
|
||
intprod: intprod,
|
||
InvisibleComma: InvisibleComma,
|
||
InvisibleTimes: InvisibleTimes,
|
||
IOcy: IOcy,
|
||
iocy: iocy,
|
||
Iogon: Iogon,
|
||
iogon: iogon,
|
||
Iopf: Iopf,
|
||
iopf: iopf,
|
||
Iota: Iota,
|
||
iota: iota,
|
||
iprod: iprod,
|
||
iquest: iquest,
|
||
iscr: iscr,
|
||
Iscr: Iscr,
|
||
isin: isin,
|
||
isindot: isindot,
|
||
isinE: isinE,
|
||
isins: isins,
|
||
isinsv: isinsv,
|
||
isinv: isinv,
|
||
it: it,
|
||
Itilde: Itilde,
|
||
itilde: itilde,
|
||
Iukcy: Iukcy,
|
||
iukcy: iukcy,
|
||
Iuml: Iuml,
|
||
iuml: iuml,
|
||
Jcirc: Jcirc,
|
||
jcirc: jcirc,
|
||
Jcy: Jcy,
|
||
jcy: jcy,
|
||
Jfr: Jfr,
|
||
jfr: jfr,
|
||
jmath: jmath,
|
||
Jopf: Jopf,
|
||
jopf: jopf,
|
||
Jscr: Jscr,
|
||
jscr: jscr,
|
||
Jsercy: Jsercy,
|
||
jsercy: jsercy,
|
||
Jukcy: Jukcy,
|
||
jukcy: jukcy,
|
||
Kappa: Kappa,
|
||
kappa: kappa,
|
||
kappav: kappav,
|
||
Kcedil: Kcedil,
|
||
kcedil: kcedil,
|
||
Kcy: Kcy,
|
||
kcy: kcy,
|
||
Kfr: Kfr,
|
||
kfr: kfr,
|
||
kgreen: kgreen,
|
||
KHcy: KHcy,
|
||
khcy: khcy,
|
||
KJcy: KJcy,
|
||
kjcy: kjcy,
|
||
Kopf: Kopf,
|
||
kopf: kopf,
|
||
Kscr: Kscr,
|
||
kscr: kscr,
|
||
lAarr: lAarr,
|
||
Lacute: Lacute,
|
||
lacute: lacute,
|
||
laemptyv: laemptyv,
|
||
lagran: lagran,
|
||
Lambda: Lambda,
|
||
lambda: lambda,
|
||
lang: lang,
|
||
Lang: Lang,
|
||
langd: langd,
|
||
langle: langle,
|
||
lap: lap,
|
||
Laplacetrf: Laplacetrf,
|
||
laquo: laquo,
|
||
larrb: larrb,
|
||
larrbfs: larrbfs,
|
||
larr: larr,
|
||
Larr: Larr,
|
||
lArr: lArr,
|
||
larrfs: larrfs,
|
||
larrhk: larrhk,
|
||
larrlp: larrlp,
|
||
larrpl: larrpl,
|
||
larrsim: larrsim,
|
||
larrtl: larrtl,
|
||
latail: latail,
|
||
lAtail: lAtail,
|
||
lat: lat,
|
||
late: late,
|
||
lates: lates,
|
||
lbarr: lbarr,
|
||
lBarr: lBarr,
|
||
lbbrk: lbbrk,
|
||
lbrace: lbrace,
|
||
lbrack: lbrack,
|
||
lbrke: lbrke,
|
||
lbrksld: lbrksld,
|
||
lbrkslu: lbrkslu,
|
||
Lcaron: Lcaron,
|
||
lcaron: lcaron,
|
||
Lcedil: Lcedil,
|
||
lcedil: lcedil,
|
||
lceil: lceil,
|
||
lcub: lcub,
|
||
Lcy: Lcy,
|
||
lcy: lcy,
|
||
ldca: ldca,
|
||
ldquo: ldquo,
|
||
ldquor: ldquor,
|
||
ldrdhar: ldrdhar,
|
||
ldrushar: ldrushar,
|
||
ldsh: ldsh,
|
||
le: le,
|
||
lE: lE,
|
||
LeftAngleBracket: LeftAngleBracket,
|
||
LeftArrowBar: LeftArrowBar,
|
||
leftarrow: leftarrow,
|
||
LeftArrow: LeftArrow,
|
||
Leftarrow: Leftarrow,
|
||
LeftArrowRightArrow: LeftArrowRightArrow,
|
||
leftarrowtail: leftarrowtail,
|
||
LeftCeiling: LeftCeiling,
|
||
LeftDoubleBracket: LeftDoubleBracket,
|
||
LeftDownTeeVector: LeftDownTeeVector,
|
||
LeftDownVectorBar: LeftDownVectorBar,
|
||
LeftDownVector: LeftDownVector,
|
||
LeftFloor: LeftFloor,
|
||
leftharpoondown: leftharpoondown,
|
||
leftharpoonup: leftharpoonup,
|
||
leftleftarrows: leftleftarrows,
|
||
leftrightarrow: leftrightarrow,
|
||
LeftRightArrow: LeftRightArrow,
|
||
Leftrightarrow: Leftrightarrow,
|
||
leftrightarrows: leftrightarrows,
|
||
leftrightharpoons: leftrightharpoons,
|
||
leftrightsquigarrow: leftrightsquigarrow,
|
||
LeftRightVector: LeftRightVector,
|
||
LeftTeeArrow: LeftTeeArrow,
|
||
LeftTee: LeftTee,
|
||
LeftTeeVector: LeftTeeVector,
|
||
leftthreetimes: leftthreetimes,
|
||
LeftTriangleBar: LeftTriangleBar,
|
||
LeftTriangle: LeftTriangle,
|
||
LeftTriangleEqual: LeftTriangleEqual,
|
||
LeftUpDownVector: LeftUpDownVector,
|
||
LeftUpTeeVector: LeftUpTeeVector,
|
||
LeftUpVectorBar: LeftUpVectorBar,
|
||
LeftUpVector: LeftUpVector,
|
||
LeftVectorBar: LeftVectorBar,
|
||
LeftVector: LeftVector,
|
||
lEg: lEg,
|
||
leg: leg,
|
||
leq: leq,
|
||
leqq: leqq,
|
||
leqslant: leqslant,
|
||
lescc: lescc,
|
||
les: les,
|
||
lesdot: lesdot,
|
||
lesdoto: lesdoto,
|
||
lesdotor: lesdotor,
|
||
lesg: lesg,
|
||
lesges: lesges,
|
||
lessapprox: lessapprox,
|
||
lessdot: lessdot,
|
||
lesseqgtr: lesseqgtr,
|
||
lesseqqgtr: lesseqqgtr,
|
||
LessEqualGreater: LessEqualGreater,
|
||
LessFullEqual: LessFullEqual,
|
||
LessGreater: LessGreater,
|
||
lessgtr: lessgtr,
|
||
LessLess: LessLess,
|
||
lesssim: lesssim,
|
||
LessSlantEqual: LessSlantEqual,
|
||
LessTilde: LessTilde,
|
||
lfisht: lfisht,
|
||
lfloor: lfloor,
|
||
Lfr: Lfr,
|
||
lfr: lfr,
|
||
lg: lg,
|
||
lgE: lgE,
|
||
lHar: lHar,
|
||
lhard: lhard,
|
||
lharu: lharu,
|
||
lharul: lharul,
|
||
lhblk: lhblk,
|
||
LJcy: LJcy,
|
||
ljcy: ljcy,
|
||
llarr: llarr,
|
||
ll: ll,
|
||
Ll: Ll,
|
||
llcorner: llcorner,
|
||
Lleftarrow: Lleftarrow,
|
||
llhard: llhard,
|
||
lltri: lltri,
|
||
Lmidot: Lmidot,
|
||
lmidot: lmidot,
|
||
lmoustache: lmoustache,
|
||
lmoust: lmoust,
|
||
lnap: lnap,
|
||
lnapprox: lnapprox,
|
||
lne: lne,
|
||
lnE: lnE,
|
||
lneq: lneq,
|
||
lneqq: lneqq,
|
||
lnsim: lnsim,
|
||
loang: loang,
|
||
loarr: loarr,
|
||
lobrk: lobrk,
|
||
longleftarrow: longleftarrow,
|
||
LongLeftArrow: LongLeftArrow,
|
||
Longleftarrow: Longleftarrow,
|
||
longleftrightarrow: longleftrightarrow,
|
||
LongLeftRightArrow: LongLeftRightArrow,
|
||
Longleftrightarrow: Longleftrightarrow,
|
||
longmapsto: longmapsto,
|
||
longrightarrow: longrightarrow,
|
||
LongRightArrow: LongRightArrow,
|
||
Longrightarrow: Longrightarrow,
|
||
looparrowleft: looparrowleft,
|
||
looparrowright: looparrowright,
|
||
lopar: lopar,
|
||
Lopf: Lopf,
|
||
lopf: lopf,
|
||
loplus: loplus,
|
||
lotimes: lotimes,
|
||
lowast: lowast,
|
||
lowbar: lowbar,
|
||
LowerLeftArrow: LowerLeftArrow,
|
||
LowerRightArrow: LowerRightArrow,
|
||
loz: loz,
|
||
lozenge: lozenge,
|
||
lozf: lozf,
|
||
lpar: lpar,
|
||
lparlt: lparlt,
|
||
lrarr: lrarr,
|
||
lrcorner: lrcorner,
|
||
lrhar: lrhar,
|
||
lrhard: lrhard,
|
||
lrm: lrm,
|
||
lrtri: lrtri,
|
||
lsaquo: lsaquo,
|
||
lscr: lscr,
|
||
Lscr: Lscr,
|
||
lsh: lsh,
|
||
Lsh: Lsh,
|
||
lsim: lsim,
|
||
lsime: lsime,
|
||
lsimg: lsimg,
|
||
lsqb: lsqb,
|
||
lsquo: lsquo,
|
||
lsquor: lsquor,
|
||
Lstrok: Lstrok,
|
||
lstrok: lstrok,
|
||
ltcc: ltcc,
|
||
ltcir: ltcir,
|
||
lt: lt,
|
||
LT: LT,
|
||
Lt: Lt,
|
||
ltdot: ltdot,
|
||
lthree: lthree,
|
||
ltimes: ltimes,
|
||
ltlarr: ltlarr,
|
||
ltquest: ltquest,
|
||
ltri: ltri,
|
||
ltrie: ltrie,
|
||
ltrif: ltrif,
|
||
ltrPar: ltrPar,
|
||
lurdshar: lurdshar,
|
||
luruhar: luruhar,
|
||
lvertneqq: lvertneqq,
|
||
lvnE: lvnE,
|
||
macr: macr,
|
||
male: male,
|
||
malt: malt,
|
||
maltese: maltese,
|
||
map: map,
|
||
mapsto: mapsto,
|
||
mapstodown: mapstodown,
|
||
mapstoleft: mapstoleft,
|
||
mapstoup: mapstoup,
|
||
marker: marker,
|
||
mcomma: mcomma,
|
||
Mcy: Mcy,
|
||
mcy: mcy,
|
||
mdash: mdash,
|
||
mDDot: mDDot,
|
||
measuredangle: measuredangle,
|
||
MediumSpace: MediumSpace,
|
||
Mellintrf: Mellintrf,
|
||
Mfr: Mfr,
|
||
mfr: mfr,
|
||
mho: mho,
|
||
micro: micro,
|
||
midast: midast,
|
||
midcir: midcir,
|
||
mid: mid,
|
||
middot: middot,
|
||
minusb: minusb,
|
||
minus: minus,
|
||
minusd: minusd,
|
||
minusdu: minusdu,
|
||
MinusPlus: MinusPlus,
|
||
mlcp: mlcp,
|
||
mldr: mldr,
|
||
mnplus: mnplus,
|
||
models: models,
|
||
Mopf: Mopf,
|
||
mopf: mopf,
|
||
mp: mp,
|
||
mscr: mscr,
|
||
Mscr: Mscr,
|
||
mstpos: mstpos,
|
||
Mu: Mu,
|
||
mu: mu,
|
||
multimap: multimap,
|
||
mumap: mumap,
|
||
nabla: nabla,
|
||
Nacute: Nacute,
|
||
nacute: nacute,
|
||
nang: nang,
|
||
nap: nap,
|
||
napE: napE,
|
||
napid: napid,
|
||
napos: napos,
|
||
napprox: napprox,
|
||
natural: natural,
|
||
naturals: naturals,
|
||
natur: natur,
|
||
nbsp: nbsp,
|
||
nbump: nbump,
|
||
nbumpe: nbumpe,
|
||
ncap: ncap,
|
||
Ncaron: Ncaron,
|
||
ncaron: ncaron,
|
||
Ncedil: Ncedil,
|
||
ncedil: ncedil,
|
||
ncong: ncong,
|
||
ncongdot: ncongdot,
|
||
ncup: ncup,
|
||
Ncy: Ncy,
|
||
ncy: ncy,
|
||
ndash: ndash,
|
||
nearhk: nearhk,
|
||
nearr: nearr,
|
||
neArr: neArr,
|
||
nearrow: nearrow,
|
||
ne: ne,
|
||
nedot: nedot,
|
||
NegativeMediumSpace: NegativeMediumSpace,
|
||
NegativeThickSpace: NegativeThickSpace,
|
||
NegativeThinSpace: NegativeThinSpace,
|
||
NegativeVeryThinSpace: NegativeVeryThinSpace,
|
||
nequiv: nequiv,
|
||
nesear: nesear,
|
||
nesim: nesim,
|
||
NestedGreaterGreater: NestedGreaterGreater,
|
||
NestedLessLess: NestedLessLess,
|
||
NewLine: NewLine,
|
||
nexist: nexist,
|
||
nexists: nexists,
|
||
Nfr: Nfr,
|
||
nfr: nfr,
|
||
ngE: ngE,
|
||
nge: nge,
|
||
ngeq: ngeq,
|
||
ngeqq: ngeqq,
|
||
ngeqslant: ngeqslant,
|
||
nges: nges,
|
||
nGg: nGg,
|
||
ngsim: ngsim,
|
||
nGt: nGt,
|
||
ngt: ngt,
|
||
ngtr: ngtr,
|
||
nGtv: nGtv,
|
||
nharr: nharr,
|
||
nhArr: nhArr,
|
||
nhpar: nhpar,
|
||
ni: ni,
|
||
nis: nis,
|
||
nisd: nisd,
|
||
niv: niv,
|
||
NJcy: NJcy,
|
||
njcy: njcy,
|
||
nlarr: nlarr,
|
||
nlArr: nlArr,
|
||
nldr: nldr,
|
||
nlE: nlE,
|
||
nle: nle,
|
||
nleftarrow: nleftarrow,
|
||
nLeftarrow: nLeftarrow,
|
||
nleftrightarrow: nleftrightarrow,
|
||
nLeftrightarrow: nLeftrightarrow,
|
||
nleq: nleq,
|
||
nleqq: nleqq,
|
||
nleqslant: nleqslant,
|
||
nles: nles,
|
||
nless: nless,
|
||
nLl: nLl,
|
||
nlsim: nlsim,
|
||
nLt: nLt,
|
||
nlt: nlt,
|
||
nltri: nltri,
|
||
nltrie: nltrie,
|
||
nLtv: nLtv,
|
||
nmid: nmid,
|
||
NoBreak: NoBreak,
|
||
NonBreakingSpace: NonBreakingSpace,
|
||
nopf: nopf,
|
||
Nopf: Nopf,
|
||
Not: Not,
|
||
not: not,
|
||
NotCongruent: NotCongruent,
|
||
NotCupCap: NotCupCap,
|
||
NotDoubleVerticalBar: NotDoubleVerticalBar,
|
||
NotElement: NotElement,
|
||
NotEqual: NotEqual,
|
||
NotEqualTilde: NotEqualTilde,
|
||
NotExists: NotExists,
|
||
NotGreater: NotGreater,
|
||
NotGreaterEqual: NotGreaterEqual,
|
||
NotGreaterFullEqual: NotGreaterFullEqual,
|
||
NotGreaterGreater: NotGreaterGreater,
|
||
NotGreaterLess: NotGreaterLess,
|
||
NotGreaterSlantEqual: NotGreaterSlantEqual,
|
||
NotGreaterTilde: NotGreaterTilde,
|
||
NotHumpDownHump: NotHumpDownHump,
|
||
NotHumpEqual: NotHumpEqual,
|
||
notin: notin,
|
||
notindot: notindot,
|
||
notinE: notinE,
|
||
notinva: notinva,
|
||
notinvb: notinvb,
|
||
notinvc: notinvc,
|
||
NotLeftTriangleBar: NotLeftTriangleBar,
|
||
NotLeftTriangle: NotLeftTriangle,
|
||
NotLeftTriangleEqual: NotLeftTriangleEqual,
|
||
NotLess: NotLess,
|
||
NotLessEqual: NotLessEqual,
|
||
NotLessGreater: NotLessGreater,
|
||
NotLessLess: NotLessLess,
|
||
NotLessSlantEqual: NotLessSlantEqual,
|
||
NotLessTilde: NotLessTilde,
|
||
NotNestedGreaterGreater: NotNestedGreaterGreater,
|
||
NotNestedLessLess: NotNestedLessLess,
|
||
notni: notni,
|
||
notniva: notniva,
|
||
notnivb: notnivb,
|
||
notnivc: notnivc,
|
||
NotPrecedes: NotPrecedes,
|
||
NotPrecedesEqual: NotPrecedesEqual,
|
||
NotPrecedesSlantEqual: NotPrecedesSlantEqual,
|
||
NotReverseElement: NotReverseElement,
|
||
NotRightTriangleBar: NotRightTriangleBar,
|
||
NotRightTriangle: NotRightTriangle,
|
||
NotRightTriangleEqual: NotRightTriangleEqual,
|
||
NotSquareSubset: NotSquareSubset,
|
||
NotSquareSubsetEqual: NotSquareSubsetEqual,
|
||
NotSquareSuperset: NotSquareSuperset,
|
||
NotSquareSupersetEqual: NotSquareSupersetEqual,
|
||
NotSubset: NotSubset,
|
||
NotSubsetEqual: NotSubsetEqual,
|
||
NotSucceeds: NotSucceeds,
|
||
NotSucceedsEqual: NotSucceedsEqual,
|
||
NotSucceedsSlantEqual: NotSucceedsSlantEqual,
|
||
NotSucceedsTilde: NotSucceedsTilde,
|
||
NotSuperset: NotSuperset,
|
||
NotSupersetEqual: NotSupersetEqual,
|
||
NotTilde: NotTilde,
|
||
NotTildeEqual: NotTildeEqual,
|
||
NotTildeFullEqual: NotTildeFullEqual,
|
||
NotTildeTilde: NotTildeTilde,
|
||
NotVerticalBar: NotVerticalBar,
|
||
nparallel: nparallel,
|
||
npar: npar,
|
||
nparsl: nparsl,
|
||
npart: npart,
|
||
npolint: npolint,
|
||
npr: npr,
|
||
nprcue: nprcue,
|
||
nprec: nprec,
|
||
npreceq: npreceq,
|
||
npre: npre,
|
||
nrarrc: nrarrc,
|
||
nrarr: nrarr,
|
||
nrArr: nrArr,
|
||
nrarrw: nrarrw,
|
||
nrightarrow: nrightarrow,
|
||
nRightarrow: nRightarrow,
|
||
nrtri: nrtri,
|
||
nrtrie: nrtrie,
|
||
nsc: nsc,
|
||
nsccue: nsccue,
|
||
nsce: nsce,
|
||
Nscr: Nscr,
|
||
nscr: nscr,
|
||
nshortmid: nshortmid,
|
||
nshortparallel: nshortparallel,
|
||
nsim: nsim,
|
||
nsime: nsime,
|
||
nsimeq: nsimeq,
|
||
nsmid: nsmid,
|
||
nspar: nspar,
|
||
nsqsube: nsqsube,
|
||
nsqsupe: nsqsupe,
|
||
nsub: nsub,
|
||
nsubE: nsubE,
|
||
nsube: nsube,
|
||
nsubset: nsubset,
|
||
nsubseteq: nsubseteq,
|
||
nsubseteqq: nsubseteqq,
|
||
nsucc: nsucc,
|
||
nsucceq: nsucceq,
|
||
nsup: nsup,
|
||
nsupE: nsupE,
|
||
nsupe: nsupe,
|
||
nsupset: nsupset,
|
||
nsupseteq: nsupseteq,
|
||
nsupseteqq: nsupseteqq,
|
||
ntgl: ntgl,
|
||
Ntilde: Ntilde,
|
||
ntilde: ntilde,
|
||
ntlg: ntlg,
|
||
ntriangleleft: ntriangleleft,
|
||
ntrianglelefteq: ntrianglelefteq,
|
||
ntriangleright: ntriangleright,
|
||
ntrianglerighteq: ntrianglerighteq,
|
||
Nu: Nu,
|
||
nu: nu,
|
||
num: num,
|
||
numero: numero,
|
||
numsp: numsp,
|
||
nvap: nvap,
|
||
nvdash: nvdash,
|
||
nvDash: nvDash,
|
||
nVdash: nVdash,
|
||
nVDash: nVDash,
|
||
nvge: nvge,
|
||
nvgt: nvgt,
|
||
nvHarr: nvHarr,
|
||
nvinfin: nvinfin,
|
||
nvlArr: nvlArr,
|
||
nvle: nvle,
|
||
nvlt: nvlt,
|
||
nvltrie: nvltrie,
|
||
nvrArr: nvrArr,
|
||
nvrtrie: nvrtrie,
|
||
nvsim: nvsim,
|
||
nwarhk: nwarhk,
|
||
nwarr: nwarr,
|
||
nwArr: nwArr,
|
||
nwarrow: nwarrow,
|
||
nwnear: nwnear,
|
||
Oacute: Oacute,
|
||
oacute: oacute,
|
||
oast: oast,
|
||
Ocirc: Ocirc,
|
||
ocirc: ocirc,
|
||
ocir: ocir,
|
||
Ocy: Ocy,
|
||
ocy: ocy,
|
||
odash: odash,
|
||
Odblac: Odblac,
|
||
odblac: odblac,
|
||
odiv: odiv,
|
||
odot: odot,
|
||
odsold: odsold,
|
||
OElig: OElig,
|
||
oelig: oelig,
|
||
ofcir: ofcir,
|
||
Ofr: Ofr,
|
||
ofr: ofr,
|
||
ogon: ogon,
|
||
Ograve: Ograve,
|
||
ograve: ograve,
|
||
ogt: ogt,
|
||
ohbar: ohbar,
|
||
ohm: ohm,
|
||
oint: oint,
|
||
olarr: olarr,
|
||
olcir: olcir,
|
||
olcross: olcross,
|
||
oline: oline,
|
||
olt: olt,
|
||
Omacr: Omacr,
|
||
omacr: omacr,
|
||
Omega: Omega,
|
||
omega: omega,
|
||
Omicron: Omicron,
|
||
omicron: omicron,
|
||
omid: omid,
|
||
ominus: ominus,
|
||
Oopf: Oopf,
|
||
oopf: oopf,
|
||
opar: opar,
|
||
OpenCurlyDoubleQuote: OpenCurlyDoubleQuote,
|
||
OpenCurlyQuote: OpenCurlyQuote,
|
||
operp: operp,
|
||
oplus: oplus,
|
||
orarr: orarr,
|
||
Or: Or,
|
||
or: or,
|
||
ord: ord,
|
||
order: order,
|
||
orderof: orderof,
|
||
ordf: ordf,
|
||
ordm: ordm,
|
||
origof: origof,
|
||
oror: oror,
|
||
orslope: orslope,
|
||
orv: orv,
|
||
oS: oS,
|
||
Oscr: Oscr,
|
||
oscr: oscr,
|
||
Oslash: Oslash,
|
||
oslash: oslash,
|
||
osol: osol,
|
||
Otilde: Otilde,
|
||
otilde: otilde,
|
||
otimesas: otimesas,
|
||
Otimes: Otimes,
|
||
otimes: otimes,
|
||
Ouml: Ouml,
|
||
ouml: ouml,
|
||
ovbar: ovbar,
|
||
OverBar: OverBar,
|
||
OverBrace: OverBrace,
|
||
OverBracket: OverBracket,
|
||
OverParenthesis: OverParenthesis,
|
||
para: para,
|
||
parallel: parallel,
|
||
par: par,
|
||
parsim: parsim,
|
||
parsl: parsl,
|
||
part: part,
|
||
PartialD: PartialD,
|
||
Pcy: Pcy,
|
||
pcy: pcy,
|
||
percnt: percnt,
|
||
period: period,
|
||
permil: permil,
|
||
perp: perp,
|
||
pertenk: pertenk,
|
||
Pfr: Pfr,
|
||
pfr: pfr,
|
||
Phi: Phi,
|
||
phi: phi,
|
||
phiv: phiv,
|
||
phmmat: phmmat,
|
||
phone: phone,
|
||
Pi: Pi,
|
||
pi: pi,
|
||
pitchfork: pitchfork,
|
||
piv: piv,
|
||
planck: planck,
|
||
planckh: planckh,
|
||
plankv: plankv,
|
||
plusacir: plusacir,
|
||
plusb: plusb,
|
||
pluscir: pluscir,
|
||
plus: plus,
|
||
plusdo: plusdo,
|
||
plusdu: plusdu,
|
||
pluse: pluse,
|
||
PlusMinus: PlusMinus,
|
||
plusmn: plusmn,
|
||
plussim: plussim,
|
||
plustwo: plustwo,
|
||
pm: pm,
|
||
Poincareplane: Poincareplane,
|
||
pointint: pointint,
|
||
popf: popf,
|
||
Popf: Popf,
|
||
pound: pound,
|
||
prap: prap,
|
||
Pr: Pr,
|
||
pr: pr,
|
||
prcue: prcue,
|
||
precapprox: precapprox,
|
||
prec: prec,
|
||
preccurlyeq: preccurlyeq,
|
||
Precedes: Precedes,
|
||
PrecedesEqual: PrecedesEqual,
|
||
PrecedesSlantEqual: PrecedesSlantEqual,
|
||
PrecedesTilde: PrecedesTilde,
|
||
preceq: preceq,
|
||
precnapprox: precnapprox,
|
||
precneqq: precneqq,
|
||
precnsim: precnsim,
|
||
pre: pre,
|
||
prE: prE,
|
||
precsim: precsim,
|
||
prime: prime,
|
||
Prime: Prime,
|
||
primes: primes,
|
||
prnap: prnap,
|
||
prnE: prnE,
|
||
prnsim: prnsim,
|
||
prod: prod,
|
||
Product: Product,
|
||
profalar: profalar,
|
||
profline: profline,
|
||
profsurf: profsurf,
|
||
prop: prop,
|
||
Proportional: Proportional,
|
||
Proportion: Proportion,
|
||
propto: propto,
|
||
prsim: prsim,
|
||
prurel: prurel,
|
||
Pscr: Pscr,
|
||
pscr: pscr,
|
||
Psi: Psi,
|
||
psi: psi,
|
||
puncsp: puncsp,
|
||
Qfr: Qfr,
|
||
qfr: qfr,
|
||
qint: qint,
|
||
qopf: qopf,
|
||
Qopf: Qopf,
|
||
qprime: qprime,
|
||
Qscr: Qscr,
|
||
qscr: qscr,
|
||
quaternions: quaternions,
|
||
quatint: quatint,
|
||
quest: quest,
|
||
questeq: questeq,
|
||
quot: quot,
|
||
QUOT: QUOT,
|
||
rAarr: rAarr,
|
||
race: race,
|
||
Racute: Racute,
|
||
racute: racute,
|
||
radic: radic,
|
||
raemptyv: raemptyv,
|
||
rang: rang,
|
||
Rang: Rang,
|
||
rangd: rangd,
|
||
range: range,
|
||
rangle: rangle,
|
||
raquo: raquo,
|
||
rarrap: rarrap,
|
||
rarrb: rarrb,
|
||
rarrbfs: rarrbfs,
|
||
rarrc: rarrc,
|
||
rarr: rarr,
|
||
Rarr: Rarr,
|
||
rArr: rArr,
|
||
rarrfs: rarrfs,
|
||
rarrhk: rarrhk,
|
||
rarrlp: rarrlp,
|
||
rarrpl: rarrpl,
|
||
rarrsim: rarrsim,
|
||
Rarrtl: Rarrtl,
|
||
rarrtl: rarrtl,
|
||
rarrw: rarrw,
|
||
ratail: ratail,
|
||
rAtail: rAtail,
|
||
ratio: ratio,
|
||
rationals: rationals,
|
||
rbarr: rbarr,
|
||
rBarr: rBarr,
|
||
RBarr: RBarr,
|
||
rbbrk: rbbrk,
|
||
rbrace: rbrace,
|
||
rbrack: rbrack,
|
||
rbrke: rbrke,
|
||
rbrksld: rbrksld,
|
||
rbrkslu: rbrkslu,
|
||
Rcaron: Rcaron,
|
||
rcaron: rcaron,
|
||
Rcedil: Rcedil,
|
||
rcedil: rcedil,
|
||
rceil: rceil,
|
||
rcub: rcub,
|
||
Rcy: Rcy,
|
||
rcy: rcy,
|
||
rdca: rdca,
|
||
rdldhar: rdldhar,
|
||
rdquo: rdquo,
|
||
rdquor: rdquor,
|
||
rdsh: rdsh,
|
||
real: real,
|
||
realine: realine,
|
||
realpart: realpart,
|
||
reals: reals,
|
||
Re: Re,
|
||
rect: rect,
|
||
reg: reg,
|
||
REG: REG,
|
||
ReverseElement: ReverseElement,
|
||
ReverseEquilibrium: ReverseEquilibrium,
|
||
ReverseUpEquilibrium: ReverseUpEquilibrium,
|
||
rfisht: rfisht,
|
||
rfloor: rfloor,
|
||
rfr: rfr,
|
||
Rfr: Rfr,
|
||
rHar: rHar,
|
||
rhard: rhard,
|
||
rharu: rharu,
|
||
rharul: rharul,
|
||
Rho: Rho,
|
||
rho: rho,
|
||
rhov: rhov,
|
||
RightAngleBracket: RightAngleBracket,
|
||
RightArrowBar: RightArrowBar,
|
||
rightarrow: rightarrow,
|
||
RightArrow: RightArrow,
|
||
Rightarrow: Rightarrow,
|
||
RightArrowLeftArrow: RightArrowLeftArrow,
|
||
rightarrowtail: rightarrowtail,
|
||
RightCeiling: RightCeiling,
|
||
RightDoubleBracket: RightDoubleBracket,
|
||
RightDownTeeVector: RightDownTeeVector,
|
||
RightDownVectorBar: RightDownVectorBar,
|
||
RightDownVector: RightDownVector,
|
||
RightFloor: RightFloor,
|
||
rightharpoondown: rightharpoondown,
|
||
rightharpoonup: rightharpoonup,
|
||
rightleftarrows: rightleftarrows,
|
||
rightleftharpoons: rightleftharpoons,
|
||
rightrightarrows: rightrightarrows,
|
||
rightsquigarrow: rightsquigarrow,
|
||
RightTeeArrow: RightTeeArrow,
|
||
RightTee: RightTee,
|
||
RightTeeVector: RightTeeVector,
|
||
rightthreetimes: rightthreetimes,
|
||
RightTriangleBar: RightTriangleBar,
|
||
RightTriangle: RightTriangle,
|
||
RightTriangleEqual: RightTriangleEqual,
|
||
RightUpDownVector: RightUpDownVector,
|
||
RightUpTeeVector: RightUpTeeVector,
|
||
RightUpVectorBar: RightUpVectorBar,
|
||
RightUpVector: RightUpVector,
|
||
RightVectorBar: RightVectorBar,
|
||
RightVector: RightVector,
|
||
ring: ring,
|
||
risingdotseq: risingdotseq,
|
||
rlarr: rlarr,
|
||
rlhar: rlhar,
|
||
rlm: rlm,
|
||
rmoustache: rmoustache,
|
||
rmoust: rmoust,
|
||
rnmid: rnmid,
|
||
roang: roang,
|
||
roarr: roarr,
|
||
robrk: robrk,
|
||
ropar: ropar,
|
||
ropf: ropf,
|
||
Ropf: Ropf,
|
||
roplus: roplus,
|
||
rotimes: rotimes,
|
||
RoundImplies: RoundImplies,
|
||
rpar: rpar,
|
||
rpargt: rpargt,
|
||
rppolint: rppolint,
|
||
rrarr: rrarr,
|
||
Rrightarrow: Rrightarrow,
|
||
rsaquo: rsaquo,
|
||
rscr: rscr,
|
||
Rscr: Rscr,
|
||
rsh: rsh,
|
||
Rsh: Rsh,
|
||
rsqb: rsqb,
|
||
rsquo: rsquo,
|
||
rsquor: rsquor,
|
||
rthree: rthree,
|
||
rtimes: rtimes,
|
||
rtri: rtri,
|
||
rtrie: rtrie,
|
||
rtrif: rtrif,
|
||
rtriltri: rtriltri,
|
||
RuleDelayed: RuleDelayed,
|
||
ruluhar: ruluhar,
|
||
rx: rx,
|
||
Sacute: Sacute,
|
||
sacute: sacute,
|
||
sbquo: sbquo,
|
||
scap: scap,
|
||
Scaron: Scaron,
|
||
scaron: scaron,
|
||
Sc: Sc,
|
||
sc: sc,
|
||
sccue: sccue,
|
||
sce: sce,
|
||
scE: scE,
|
||
Scedil: Scedil,
|
||
scedil: scedil,
|
||
Scirc: Scirc,
|
||
scirc: scirc,
|
||
scnap: scnap,
|
||
scnE: scnE,
|
||
scnsim: scnsim,
|
||
scpolint: scpolint,
|
||
scsim: scsim,
|
||
Scy: Scy,
|
||
scy: scy,
|
||
sdotb: sdotb,
|
||
sdot: sdot,
|
||
sdote: sdote,
|
||
searhk: searhk,
|
||
searr: searr,
|
||
seArr: seArr,
|
||
searrow: searrow,
|
||
sect: sect,
|
||
semi: semi,
|
||
seswar: seswar,
|
||
setminus: setminus,
|
||
setmn: setmn,
|
||
sext: sext,
|
||
Sfr: Sfr,
|
||
sfr: sfr,
|
||
sfrown: sfrown,
|
||
sharp: sharp,
|
||
SHCHcy: SHCHcy,
|
||
shchcy: shchcy,
|
||
SHcy: SHcy,
|
||
shcy: shcy,
|
||
ShortDownArrow: ShortDownArrow,
|
||
ShortLeftArrow: ShortLeftArrow,
|
||
shortmid: shortmid,
|
||
shortparallel: shortparallel,
|
||
ShortRightArrow: ShortRightArrow,
|
||
ShortUpArrow: ShortUpArrow,
|
||
shy: shy,
|
||
Sigma: Sigma,
|
||
sigma: sigma,
|
||
sigmaf: sigmaf,
|
||
sigmav: sigmav,
|
||
sim: sim,
|
||
simdot: simdot,
|
||
sime: sime,
|
||
simeq: simeq,
|
||
simg: simg,
|
||
simgE: simgE,
|
||
siml: siml,
|
||
simlE: simlE,
|
||
simne: simne,
|
||
simplus: simplus,
|
||
simrarr: simrarr,
|
||
slarr: slarr,
|
||
SmallCircle: SmallCircle,
|
||
smallsetminus: smallsetminus,
|
||
smashp: smashp,
|
||
smeparsl: smeparsl,
|
||
smid: smid,
|
||
smile: smile,
|
||
smt: smt,
|
||
smte: smte,
|
||
smtes: smtes,
|
||
SOFTcy: SOFTcy,
|
||
softcy: softcy,
|
||
solbar: solbar,
|
||
solb: solb,
|
||
sol: sol,
|
||
Sopf: Sopf,
|
||
sopf: sopf,
|
||
spades: spades,
|
||
spadesuit: spadesuit,
|
||
spar: spar,
|
||
sqcap: sqcap,
|
||
sqcaps: sqcaps,
|
||
sqcup: sqcup,
|
||
sqcups: sqcups,
|
||
Sqrt: Sqrt,
|
||
sqsub: sqsub,
|
||
sqsube: sqsube,
|
||
sqsubset: sqsubset,
|
||
sqsubseteq: sqsubseteq,
|
||
sqsup: sqsup,
|
||
sqsupe: sqsupe,
|
||
sqsupset: sqsupset,
|
||
sqsupseteq: sqsupseteq,
|
||
square: square,
|
||
Square: Square,
|
||
SquareIntersection: SquareIntersection,
|
||
SquareSubset: SquareSubset,
|
||
SquareSubsetEqual: SquareSubsetEqual,
|
||
SquareSuperset: SquareSuperset,
|
||
SquareSupersetEqual: SquareSupersetEqual,
|
||
SquareUnion: SquareUnion,
|
||
squarf: squarf,
|
||
squ: squ,
|
||
squf: squf,
|
||
srarr: srarr,
|
||
Sscr: Sscr,
|
||
sscr: sscr,
|
||
ssetmn: ssetmn,
|
||
ssmile: ssmile,
|
||
sstarf: sstarf,
|
||
Star: Star,
|
||
star: star,
|
||
starf: starf,
|
||
straightepsilon: straightepsilon,
|
||
straightphi: straightphi,
|
||
strns: strns,
|
||
sub: sub,
|
||
Sub: Sub,
|
||
subdot: subdot,
|
||
subE: subE,
|
||
sube: sube,
|
||
subedot: subedot,
|
||
submult: submult,
|
||
subnE: subnE,
|
||
subne: subne,
|
||
subplus: subplus,
|
||
subrarr: subrarr,
|
||
subset: subset,
|
||
Subset: Subset,
|
||
subseteq: subseteq,
|
||
subseteqq: subseteqq,
|
||
SubsetEqual: SubsetEqual,
|
||
subsetneq: subsetneq,
|
||
subsetneqq: subsetneqq,
|
||
subsim: subsim,
|
||
subsub: subsub,
|
||
subsup: subsup,
|
||
succapprox: succapprox,
|
||
succ: succ,
|
||
succcurlyeq: succcurlyeq,
|
||
Succeeds: Succeeds,
|
||
SucceedsEqual: SucceedsEqual,
|
||
SucceedsSlantEqual: SucceedsSlantEqual,
|
||
SucceedsTilde: SucceedsTilde,
|
||
succeq: succeq,
|
||
succnapprox: succnapprox,
|
||
succneqq: succneqq,
|
||
succnsim: succnsim,
|
||
succsim: succsim,
|
||
SuchThat: SuchThat,
|
||
sum: sum,
|
||
Sum: Sum,
|
||
sung: sung,
|
||
sup1: sup1,
|
||
sup2: sup2,
|
||
sup3: sup3,
|
||
sup: sup,
|
||
Sup: Sup,
|
||
supdot: supdot,
|
||
supdsub: supdsub,
|
||
supE: supE,
|
||
supe: supe,
|
||
supedot: supedot,
|
||
Superset: Superset,
|
||
SupersetEqual: SupersetEqual,
|
||
suphsol: suphsol,
|
||
suphsub: suphsub,
|
||
suplarr: suplarr,
|
||
supmult: supmult,
|
||
supnE: supnE,
|
||
supne: supne,
|
||
supplus: supplus,
|
||
supset: supset,
|
||
Supset: Supset,
|
||
supseteq: supseteq,
|
||
supseteqq: supseteqq,
|
||
supsetneq: supsetneq,
|
||
supsetneqq: supsetneqq,
|
||
supsim: supsim,
|
||
supsub: supsub,
|
||
supsup: supsup,
|
||
swarhk: swarhk,
|
||
swarr: swarr,
|
||
swArr: swArr,
|
||
swarrow: swarrow,
|
||
swnwar: swnwar,
|
||
szlig: szlig,
|
||
Tab: Tab,
|
||
target: target,
|
||
Tau: Tau,
|
||
tau: tau,
|
||
tbrk: tbrk,
|
||
Tcaron: Tcaron,
|
||
tcaron: tcaron,
|
||
Tcedil: Tcedil,
|
||
tcedil: tcedil,
|
||
Tcy: Tcy,
|
||
tcy: tcy,
|
||
tdot: tdot,
|
||
telrec: telrec,
|
||
Tfr: Tfr,
|
||
tfr: tfr,
|
||
there4: there4,
|
||
therefore: therefore,
|
||
Therefore: Therefore,
|
||
Theta: Theta,
|
||
theta: theta,
|
||
thetasym: thetasym,
|
||
thetav: thetav,
|
||
thickapprox: thickapprox,
|
||
thicksim: thicksim,
|
||
ThickSpace: ThickSpace,
|
||
ThinSpace: ThinSpace,
|
||
thinsp: thinsp,
|
||
thkap: thkap,
|
||
thksim: thksim,
|
||
THORN: THORN,
|
||
thorn: thorn,
|
||
tilde: tilde,
|
||
Tilde: Tilde,
|
||
TildeEqual: TildeEqual,
|
||
TildeFullEqual: TildeFullEqual,
|
||
TildeTilde: TildeTilde,
|
||
timesbar: timesbar,
|
||
timesb: timesb,
|
||
times: times,
|
||
timesd: timesd,
|
||
tint: tint,
|
||
toea: toea,
|
||
topbot: topbot,
|
||
topcir: topcir,
|
||
top: top,
|
||
Topf: Topf,
|
||
topf: topf,
|
||
topfork: topfork,
|
||
tosa: tosa,
|
||
tprime: tprime,
|
||
trade: trade,
|
||
TRADE: TRADE,
|
||
triangle: triangle,
|
||
triangledown: triangledown,
|
||
triangleleft: triangleleft,
|
||
trianglelefteq: trianglelefteq,
|
||
triangleq: triangleq,
|
||
triangleright: triangleright,
|
||
trianglerighteq: trianglerighteq,
|
||
tridot: tridot,
|
||
trie: trie,
|
||
triminus: triminus,
|
||
TripleDot: TripleDot,
|
||
triplus: triplus,
|
||
trisb: trisb,
|
||
tritime: tritime,
|
||
trpezium: trpezium,
|
||
Tscr: Tscr,
|
||
tscr: tscr,
|
||
TScy: TScy,
|
||
tscy: tscy,
|
||
TSHcy: TSHcy,
|
||
tshcy: tshcy,
|
||
Tstrok: Tstrok,
|
||
tstrok: tstrok,
|
||
twixt: twixt,
|
||
twoheadleftarrow: twoheadleftarrow,
|
||
twoheadrightarrow: twoheadrightarrow,
|
||
Uacute: Uacute,
|
||
uacute: uacute,
|
||
uarr: uarr,
|
||
Uarr: Uarr,
|
||
uArr: uArr,
|
||
Uarrocir: Uarrocir,
|
||
Ubrcy: Ubrcy,
|
||
ubrcy: ubrcy,
|
||
Ubreve: Ubreve,
|
||
ubreve: ubreve,
|
||
Ucirc: Ucirc,
|
||
ucirc: ucirc,
|
||
Ucy: Ucy,
|
||
ucy: ucy,
|
||
udarr: udarr,
|
||
Udblac: Udblac,
|
||
udblac: udblac,
|
||
udhar: udhar,
|
||
ufisht: ufisht,
|
||
Ufr: Ufr,
|
||
ufr: ufr,
|
||
Ugrave: Ugrave,
|
||
ugrave: ugrave,
|
||
uHar: uHar,
|
||
uharl: uharl,
|
||
uharr: uharr,
|
||
uhblk: uhblk,
|
||
ulcorn: ulcorn,
|
||
ulcorner: ulcorner,
|
||
ulcrop: ulcrop,
|
||
ultri: ultri,
|
||
Umacr: Umacr,
|
||
umacr: umacr,
|
||
uml: uml,
|
||
UnderBar: UnderBar,
|
||
UnderBrace: UnderBrace,
|
||
UnderBracket: UnderBracket,
|
||
UnderParenthesis: UnderParenthesis,
|
||
Union: Union,
|
||
UnionPlus: UnionPlus,
|
||
Uogon: Uogon,
|
||
uogon: uogon,
|
||
Uopf: Uopf,
|
||
uopf: uopf,
|
||
UpArrowBar: UpArrowBar,
|
||
uparrow: uparrow,
|
||
UpArrow: UpArrow,
|
||
Uparrow: Uparrow,
|
||
UpArrowDownArrow: UpArrowDownArrow,
|
||
updownarrow: updownarrow,
|
||
UpDownArrow: UpDownArrow,
|
||
Updownarrow: Updownarrow,
|
||
UpEquilibrium: UpEquilibrium,
|
||
upharpoonleft: upharpoonleft,
|
||
upharpoonright: upharpoonright,
|
||
uplus: uplus,
|
||
UpperLeftArrow: UpperLeftArrow,
|
||
UpperRightArrow: UpperRightArrow,
|
||
upsi: upsi,
|
||
Upsi: Upsi,
|
||
upsih: upsih,
|
||
Upsilon: Upsilon,
|
||
upsilon: upsilon,
|
||
UpTeeArrow: UpTeeArrow,
|
||
UpTee: UpTee,
|
||
upuparrows: upuparrows,
|
||
urcorn: urcorn,
|
||
urcorner: urcorner,
|
||
urcrop: urcrop,
|
||
Uring: Uring,
|
||
uring: uring,
|
||
urtri: urtri,
|
||
Uscr: Uscr,
|
||
uscr: uscr,
|
||
utdot: utdot,
|
||
Utilde: Utilde,
|
||
utilde: utilde,
|
||
utri: utri,
|
||
utrif: utrif,
|
||
uuarr: uuarr,
|
||
Uuml: Uuml,
|
||
uuml: uuml,
|
||
uwangle: uwangle,
|
||
vangrt: vangrt,
|
||
varepsilon: varepsilon,
|
||
varkappa: varkappa,
|
||
varnothing: varnothing,
|
||
varphi: varphi,
|
||
varpi: varpi,
|
||
varpropto: varpropto,
|
||
varr: varr,
|
||
vArr: vArr,
|
||
varrho: varrho,
|
||
varsigma: varsigma,
|
||
varsubsetneq: varsubsetneq,
|
||
varsubsetneqq: varsubsetneqq,
|
||
varsupsetneq: varsupsetneq,
|
||
varsupsetneqq: varsupsetneqq,
|
||
vartheta: vartheta,
|
||
vartriangleleft: vartriangleleft,
|
||
vartriangleright: vartriangleright,
|
||
vBar: vBar,
|
||
Vbar: Vbar,
|
||
vBarv: vBarv,
|
||
Vcy: Vcy,
|
||
vcy: vcy,
|
||
vdash: vdash,
|
||
vDash: vDash,
|
||
Vdash: Vdash,
|
||
VDash: VDash,
|
||
Vdashl: Vdashl,
|
||
veebar: veebar,
|
||
vee: vee,
|
||
Vee: Vee,
|
||
veeeq: veeeq,
|
||
vellip: vellip,
|
||
verbar: verbar,
|
||
Verbar: Verbar,
|
||
vert: vert,
|
||
Vert: Vert,
|
||
VerticalBar: VerticalBar,
|
||
VerticalLine: VerticalLine,
|
||
VerticalSeparator: VerticalSeparator,
|
||
VerticalTilde: VerticalTilde,
|
||
VeryThinSpace: VeryThinSpace,
|
||
Vfr: Vfr,
|
||
vfr: vfr,
|
||
vltri: vltri,
|
||
vnsub: vnsub,
|
||
vnsup: vnsup,
|
||
Vopf: Vopf,
|
||
vopf: vopf,
|
||
vprop: vprop,
|
||
vrtri: vrtri,
|
||
Vscr: Vscr,
|
||
vscr: vscr,
|
||
vsubnE: vsubnE,
|
||
vsubne: vsubne,
|
||
vsupnE: vsupnE,
|
||
vsupne: vsupne,
|
||
Vvdash: Vvdash,
|
||
vzigzag: vzigzag,
|
||
Wcirc: Wcirc,
|
||
wcirc: wcirc,
|
||
wedbar: wedbar,
|
||
wedge: wedge,
|
||
Wedge: Wedge,
|
||
wedgeq: wedgeq,
|
||
weierp: weierp,
|
||
Wfr: Wfr,
|
||
wfr: wfr,
|
||
Wopf: Wopf,
|
||
wopf: wopf,
|
||
wp: wp,
|
||
wr: wr,
|
||
wreath: wreath,
|
||
Wscr: Wscr,
|
||
wscr: wscr,
|
||
xcap: xcap,
|
||
xcirc: xcirc,
|
||
xcup: xcup,
|
||
xdtri: xdtri,
|
||
Xfr: Xfr,
|
||
xfr: xfr,
|
||
xharr: xharr,
|
||
xhArr: xhArr,
|
||
Xi: Xi,
|
||
xi: xi,
|
||
xlarr: xlarr,
|
||
xlArr: xlArr,
|
||
xmap: xmap,
|
||
xnis: xnis,
|
||
xodot: xodot,
|
||
Xopf: Xopf,
|
||
xopf: xopf,
|
||
xoplus: xoplus,
|
||
xotime: xotime,
|
||
xrarr: xrarr,
|
||
xrArr: xrArr,
|
||
Xscr: Xscr,
|
||
xscr: xscr,
|
||
xsqcup: xsqcup,
|
||
xuplus: xuplus,
|
||
xutri: xutri,
|
||
xvee: xvee,
|
||
xwedge: xwedge,
|
||
Yacute: Yacute,
|
||
yacute: yacute,
|
||
YAcy: YAcy,
|
||
yacy: yacy,
|
||
Ycirc: Ycirc,
|
||
ycirc: ycirc,
|
||
Ycy: Ycy,
|
||
ycy: ycy,
|
||
yen: yen,
|
||
Yfr: Yfr,
|
||
yfr: yfr,
|
||
YIcy: YIcy,
|
||
yicy: yicy,
|
||
Yopf: Yopf,
|
||
yopf: yopf,
|
||
Yscr: Yscr,
|
||
yscr: yscr,
|
||
YUcy: YUcy,
|
||
yucy: yucy,
|
||
yuml: yuml,
|
||
Yuml: Yuml,
|
||
Zacute: Zacute,
|
||
zacute: zacute,
|
||
Zcaron: Zcaron,
|
||
zcaron: zcaron,
|
||
Zcy: Zcy,
|
||
zcy: zcy,
|
||
Zdot: Zdot,
|
||
zdot: zdot,
|
||
zeetrf: zeetrf,
|
||
ZeroWidthSpace: ZeroWidthSpace,
|
||
Zeta: Zeta,
|
||
zeta: zeta,
|
||
zfr: zfr,
|
||
Zfr: Zfr,
|
||
ZHcy: ZHcy,
|
||
zhcy: zhcy,
|
||
zigrarr: zigrarr,
|
||
zopf: zopf,
|
||
Zopf: Zopf,
|
||
Zscr: Zscr,
|
||
zscr: zscr,
|
||
zwj: zwj,
|
||
zwnj: zwnj,
|
||
'default': entities
|
||
});
|
||
|
||
var Aacute$1 = "Á";
|
||
var aacute$1 = "á";
|
||
var Acirc$1 = "Â";
|
||
var acirc$1 = "â";
|
||
var acute$1 = "´";
|
||
var AElig$1 = "Æ";
|
||
var aelig$1 = "æ";
|
||
var Agrave$1 = "À";
|
||
var agrave$1 = "à";
|
||
var amp$1 = "&";
|
||
var AMP$1 = "&";
|
||
var Aring$1 = "Å";
|
||
var aring$1 = "å";
|
||
var Atilde$1 = "Ã";
|
||
var atilde$1 = "ã";
|
||
var Auml$1 = "Ä";
|
||
var auml$1 = "ä";
|
||
var brvbar$1 = "¦";
|
||
var Ccedil$1 = "Ç";
|
||
var ccedil$1 = "ç";
|
||
var cedil$1 = "¸";
|
||
var cent$1 = "¢";
|
||
var copy$1 = "©";
|
||
var COPY$1 = "©";
|
||
var curren$1 = "¤";
|
||
var deg$1 = "°";
|
||
var divide$1 = "÷";
|
||
var Eacute$1 = "É";
|
||
var eacute$1 = "é";
|
||
var Ecirc$1 = "Ê";
|
||
var ecirc$1 = "ê";
|
||
var Egrave$1 = "È";
|
||
var egrave$1 = "è";
|
||
var ETH$1 = "Ð";
|
||
var eth$1 = "ð";
|
||
var Euml$1 = "Ë";
|
||
var euml$1 = "ë";
|
||
var frac12$1 = "½";
|
||
var frac14$1 = "¼";
|
||
var frac34$1 = "¾";
|
||
var gt$1 = ">";
|
||
var GT$1 = ">";
|
||
var Iacute$1 = "Í";
|
||
var iacute$1 = "í";
|
||
var Icirc$1 = "Î";
|
||
var icirc$1 = "î";
|
||
var iexcl$1 = "¡";
|
||
var Igrave$1 = "Ì";
|
||
var igrave$1 = "ì";
|
||
var iquest$1 = "¿";
|
||
var Iuml$1 = "Ï";
|
||
var iuml$1 = "ï";
|
||
var laquo$1 = "«";
|
||
var lt$1 = "<";
|
||
var LT$1 = "<";
|
||
var macr$1 = "¯";
|
||
var micro$1 = "µ";
|
||
var middot$1 = "·";
|
||
var nbsp$1 = " ";
|
||
var not$1 = "¬";
|
||
var Ntilde$1 = "Ñ";
|
||
var ntilde$1 = "ñ";
|
||
var Oacute$1 = "Ó";
|
||
var oacute$1 = "ó";
|
||
var Ocirc$1 = "Ô";
|
||
var ocirc$1 = "ô";
|
||
var Ograve$1 = "Ò";
|
||
var ograve$1 = "ò";
|
||
var ordf$1 = "ª";
|
||
var ordm$1 = "º";
|
||
var Oslash$1 = "Ø";
|
||
var oslash$1 = "ø";
|
||
var Otilde$1 = "Õ";
|
||
var otilde$1 = "õ";
|
||
var Ouml$1 = "Ö";
|
||
var ouml$1 = "ö";
|
||
var para$1 = "¶";
|
||
var plusmn$1 = "±";
|
||
var pound$1 = "£";
|
||
var quot$1 = "\"";
|
||
var QUOT$1 = "\"";
|
||
var raquo$1 = "»";
|
||
var reg$1 = "®";
|
||
var REG$1 = "®";
|
||
var sect$1 = "§";
|
||
var shy$1 = "";
|
||
var sup1$1 = "¹";
|
||
var sup2$1 = "²";
|
||
var sup3$1 = "³";
|
||
var szlig$1 = "ß";
|
||
var THORN$1 = "Þ";
|
||
var thorn$1 = "þ";
|
||
var times$1 = "×";
|
||
var Uacute$1 = "Ú";
|
||
var uacute$1 = "ú";
|
||
var Ucirc$1 = "Û";
|
||
var ucirc$1 = "û";
|
||
var Ugrave$1 = "Ù";
|
||
var ugrave$1 = "ù";
|
||
var uml$1 = "¨";
|
||
var Uuml$1 = "Ü";
|
||
var uuml$1 = "ü";
|
||
var Yacute$1 = "Ý";
|
||
var yacute$1 = "ý";
|
||
var yen$1 = "¥";
|
||
var yuml$1 = "ÿ";
|
||
var legacy = {
|
||
Aacute: Aacute$1,
|
||
aacute: aacute$1,
|
||
Acirc: Acirc$1,
|
||
acirc: acirc$1,
|
||
acute: acute$1,
|
||
AElig: AElig$1,
|
||
aelig: aelig$1,
|
||
Agrave: Agrave$1,
|
||
agrave: agrave$1,
|
||
amp: amp$1,
|
||
AMP: AMP$1,
|
||
Aring: Aring$1,
|
||
aring: aring$1,
|
||
Atilde: Atilde$1,
|
||
atilde: atilde$1,
|
||
Auml: Auml$1,
|
||
auml: auml$1,
|
||
brvbar: brvbar$1,
|
||
Ccedil: Ccedil$1,
|
||
ccedil: ccedil$1,
|
||
cedil: cedil$1,
|
||
cent: cent$1,
|
||
copy: copy$1,
|
||
COPY: COPY$1,
|
||
curren: curren$1,
|
||
deg: deg$1,
|
||
divide: divide$1,
|
||
Eacute: Eacute$1,
|
||
eacute: eacute$1,
|
||
Ecirc: Ecirc$1,
|
||
ecirc: ecirc$1,
|
||
Egrave: Egrave$1,
|
||
egrave: egrave$1,
|
||
ETH: ETH$1,
|
||
eth: eth$1,
|
||
Euml: Euml$1,
|
||
euml: euml$1,
|
||
frac12: frac12$1,
|
||
frac14: frac14$1,
|
||
frac34: frac34$1,
|
||
gt: gt$1,
|
||
GT: GT$1,
|
||
Iacute: Iacute$1,
|
||
iacute: iacute$1,
|
||
Icirc: Icirc$1,
|
||
icirc: icirc$1,
|
||
iexcl: iexcl$1,
|
||
Igrave: Igrave$1,
|
||
igrave: igrave$1,
|
||
iquest: iquest$1,
|
||
Iuml: Iuml$1,
|
||
iuml: iuml$1,
|
||
laquo: laquo$1,
|
||
lt: lt$1,
|
||
LT: LT$1,
|
||
macr: macr$1,
|
||
micro: micro$1,
|
||
middot: middot$1,
|
||
nbsp: nbsp$1,
|
||
not: not$1,
|
||
Ntilde: Ntilde$1,
|
||
ntilde: ntilde$1,
|
||
Oacute: Oacute$1,
|
||
oacute: oacute$1,
|
||
Ocirc: Ocirc$1,
|
||
ocirc: ocirc$1,
|
||
Ograve: Ograve$1,
|
||
ograve: ograve$1,
|
||
ordf: ordf$1,
|
||
ordm: ordm$1,
|
||
Oslash: Oslash$1,
|
||
oslash: oslash$1,
|
||
Otilde: Otilde$1,
|
||
otilde: otilde$1,
|
||
Ouml: Ouml$1,
|
||
ouml: ouml$1,
|
||
para: para$1,
|
||
plusmn: plusmn$1,
|
||
pound: pound$1,
|
||
quot: quot$1,
|
||
QUOT: QUOT$1,
|
||
raquo: raquo$1,
|
||
reg: reg$1,
|
||
REG: REG$1,
|
||
sect: sect$1,
|
||
shy: shy$1,
|
||
sup1: sup1$1,
|
||
sup2: sup2$1,
|
||
sup3: sup3$1,
|
||
szlig: szlig$1,
|
||
THORN: THORN$1,
|
||
thorn: thorn$1,
|
||
times: times$1,
|
||
Uacute: Uacute$1,
|
||
uacute: uacute$1,
|
||
Ucirc: Ucirc$1,
|
||
ucirc: ucirc$1,
|
||
Ugrave: Ugrave$1,
|
||
ugrave: ugrave$1,
|
||
uml: uml$1,
|
||
Uuml: Uuml$1,
|
||
uuml: uuml$1,
|
||
Yacute: Yacute$1,
|
||
yacute: yacute$1,
|
||
yen: yen$1,
|
||
yuml: yuml$1
|
||
};
|
||
|
||
var legacy$1 = /*#__PURE__*/Object.freeze({
|
||
__proto__: null,
|
||
Aacute: Aacute$1,
|
||
aacute: aacute$1,
|
||
Acirc: Acirc$1,
|
||
acirc: acirc$1,
|
||
acute: acute$1,
|
||
AElig: AElig$1,
|
||
aelig: aelig$1,
|
||
Agrave: Agrave$1,
|
||
agrave: agrave$1,
|
||
amp: amp$1,
|
||
AMP: AMP$1,
|
||
Aring: Aring$1,
|
||
aring: aring$1,
|
||
Atilde: Atilde$1,
|
||
atilde: atilde$1,
|
||
Auml: Auml$1,
|
||
auml: auml$1,
|
||
brvbar: brvbar$1,
|
||
Ccedil: Ccedil$1,
|
||
ccedil: ccedil$1,
|
||
cedil: cedil$1,
|
||
cent: cent$1,
|
||
copy: copy$1,
|
||
COPY: COPY$1,
|
||
curren: curren$1,
|
||
deg: deg$1,
|
||
divide: divide$1,
|
||
Eacute: Eacute$1,
|
||
eacute: eacute$1,
|
||
Ecirc: Ecirc$1,
|
||
ecirc: ecirc$1,
|
||
Egrave: Egrave$1,
|
||
egrave: egrave$1,
|
||
ETH: ETH$1,
|
||
eth: eth$1,
|
||
Euml: Euml$1,
|
||
euml: euml$1,
|
||
frac12: frac12$1,
|
||
frac14: frac14$1,
|
||
frac34: frac34$1,
|
||
gt: gt$1,
|
||
GT: GT$1,
|
||
Iacute: Iacute$1,
|
||
iacute: iacute$1,
|
||
Icirc: Icirc$1,
|
||
icirc: icirc$1,
|
||
iexcl: iexcl$1,
|
||
Igrave: Igrave$1,
|
||
igrave: igrave$1,
|
||
iquest: iquest$1,
|
||
Iuml: Iuml$1,
|
||
iuml: iuml$1,
|
||
laquo: laquo$1,
|
||
lt: lt$1,
|
||
LT: LT$1,
|
||
macr: macr$1,
|
||
micro: micro$1,
|
||
middot: middot$1,
|
||
nbsp: nbsp$1,
|
||
not: not$1,
|
||
Ntilde: Ntilde$1,
|
||
ntilde: ntilde$1,
|
||
Oacute: Oacute$1,
|
||
oacute: oacute$1,
|
||
Ocirc: Ocirc$1,
|
||
ocirc: ocirc$1,
|
||
Ograve: Ograve$1,
|
||
ograve: ograve$1,
|
||
ordf: ordf$1,
|
||
ordm: ordm$1,
|
||
Oslash: Oslash$1,
|
||
oslash: oslash$1,
|
||
Otilde: Otilde$1,
|
||
otilde: otilde$1,
|
||
Ouml: Ouml$1,
|
||
ouml: ouml$1,
|
||
para: para$1,
|
||
plusmn: plusmn$1,
|
||
pound: pound$1,
|
||
quot: quot$1,
|
||
QUOT: QUOT$1,
|
||
raquo: raquo$1,
|
||
reg: reg$1,
|
||
REG: REG$1,
|
||
sect: sect$1,
|
||
shy: shy$1,
|
||
sup1: sup1$1,
|
||
sup2: sup2$1,
|
||
sup3: sup3$1,
|
||
szlig: szlig$1,
|
||
THORN: THORN$1,
|
||
thorn: thorn$1,
|
||
times: times$1,
|
||
Uacute: Uacute$1,
|
||
uacute: uacute$1,
|
||
Ucirc: Ucirc$1,
|
||
ucirc: ucirc$1,
|
||
Ugrave: Ugrave$1,
|
||
ugrave: ugrave$1,
|
||
uml: uml$1,
|
||
Uuml: Uuml$1,
|
||
uuml: uuml$1,
|
||
Yacute: Yacute$1,
|
||
yacute: yacute$1,
|
||
yen: yen$1,
|
||
yuml: yuml$1,
|
||
'default': legacy
|
||
});
|
||
|
||
var amp$2 = "&";
|
||
var apos$1 = "'";
|
||
var gt$2 = ">";
|
||
var lt$2 = "<";
|
||
var quot$2 = "\"";
|
||
var xml = {
|
||
amp: amp$2,
|
||
apos: apos$1,
|
||
gt: gt$2,
|
||
lt: lt$2,
|
||
quot: quot$2
|
||
};
|
||
|
||
var xml$1 = /*#__PURE__*/Object.freeze({
|
||
__proto__: null,
|
||
amp: amp$2,
|
||
apos: apos$1,
|
||
gt: gt$2,
|
||
lt: lt$2,
|
||
quot: quot$2,
|
||
'default': xml
|
||
});
|
||
|
||
var decode = {
|
||
"0": 65533,
|
||
"128": 8364,
|
||
"130": 8218,
|
||
"131": 402,
|
||
"132": 8222,
|
||
"133": 8230,
|
||
"134": 8224,
|
||
"135": 8225,
|
||
"136": 710,
|
||
"137": 8240,
|
||
"138": 352,
|
||
"139": 8249,
|
||
"140": 338,
|
||
"142": 381,
|
||
"145": 8216,
|
||
"146": 8217,
|
||
"147": 8220,
|
||
"148": 8221,
|
||
"149": 8226,
|
||
"150": 8211,
|
||
"151": 8212,
|
||
"152": 732,
|
||
"153": 8482,
|
||
"154": 353,
|
||
"155": 8250,
|
||
"156": 339,
|
||
"158": 382,
|
||
"159": 376
|
||
};
|
||
|
||
var decode$1 = /*#__PURE__*/Object.freeze({
|
||
__proto__: null,
|
||
'default': decode
|
||
});
|
||
|
||
var require$$0 = getCjsExportFromNamespace(decode$1);
|
||
|
||
var decode_codepoint = createCommonjsModule(function (module, exports) {
|
||
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||
};
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
var decode_json_1 = __importDefault(require$$0);
|
||
// modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119
|
||
function decodeCodePoint(codePoint) {
|
||
if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {
|
||
return "\uFFFD";
|
||
}
|
||
if (codePoint in decode_json_1.default) {
|
||
codePoint = decode_json_1.default[codePoint];
|
||
}
|
||
var output = "";
|
||
if (codePoint > 0xffff) {
|
||
codePoint -= 0x10000;
|
||
output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
|
||
codePoint = 0xdc00 | (codePoint & 0x3ff);
|
||
}
|
||
output += String.fromCharCode(codePoint);
|
||
return output;
|
||
}
|
||
exports.default = decodeCodePoint;
|
||
});
|
||
|
||
unwrapExports(decode_codepoint);
|
||
|
||
var require$$1 = getCjsExportFromNamespace(entities$1);
|
||
|
||
var require$$1$1 = getCjsExportFromNamespace(legacy$1);
|
||
|
||
var require$$0$1 = getCjsExportFromNamespace(xml$1);
|
||
|
||
var decode$2 = createCommonjsModule(function (module, exports) {
|
||
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||
};
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;
|
||
var entities_json_1 = __importDefault(require$$1);
|
||
var legacy_json_1 = __importDefault(require$$1$1);
|
||
var xml_json_1 = __importDefault(require$$0$1);
|
||
var decode_codepoint_1 = __importDefault(decode_codepoint);
|
||
exports.decodeXML = getStrictDecoder(xml_json_1.default);
|
||
exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);
|
||
function getStrictDecoder(map) {
|
||
var keys = Object.keys(map).join("|");
|
||
var replace = getReplacer(map);
|
||
keys += "|#[xX][\\da-fA-F]+|#\\d+";
|
||
var re = new RegExp("&(?:" + keys + ");", "g");
|
||
return function (str) { return String(str).replace(re, replace); };
|
||
}
|
||
var sorter = function (a, b) { return (a < b ? 1 : -1); };
|
||
exports.decodeHTML = (function () {
|
||
var legacy = Object.keys(legacy_json_1.default).sort(sorter);
|
||
var keys = Object.keys(entities_json_1.default).sort(sorter);
|
||
for (var i = 0, j = 0; i < keys.length; i++) {
|
||
if (legacy[j] === keys[i]) {
|
||
keys[i] += ";?";
|
||
j++;
|
||
}
|
||
else {
|
||
keys[i] += ";";
|
||
}
|
||
}
|
||
var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g");
|
||
var replace = getReplacer(entities_json_1.default);
|
||
function replacer(str) {
|
||
if (str.substr(-1) !== ";")
|
||
str += ";";
|
||
return replace(str);
|
||
}
|
||
//TODO consider creating a merged map
|
||
return function (str) { return String(str).replace(re, replacer); };
|
||
})();
|
||
function getReplacer(map) {
|
||
return function replace(str) {
|
||
if (str.charAt(1) === "#") {
|
||
var secondChar = str.charAt(2);
|
||
if (secondChar === "X" || secondChar === "x") {
|
||
return decode_codepoint_1.default(parseInt(str.substr(3), 16));
|
||
}
|
||
return decode_codepoint_1.default(parseInt(str.substr(2), 10));
|
||
}
|
||
return map[str.slice(1, -1)];
|
||
};
|
||
}
|
||
});
|
||
|
||
unwrapExports(decode$2);
|
||
var decode_1 = decode$2.decodeHTML;
|
||
var decode_2 = decode$2.decodeHTMLStrict;
|
||
var decode_3 = decode$2.decodeXML;
|
||
|
||
var encode$1 = createCommonjsModule(function (module, exports) {
|
||
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||
};
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
exports.escape = exports.encodeHTML = exports.encodeXML = void 0;
|
||
var xml_json_1 = __importDefault(require$$0$1);
|
||
var inverseXML = getInverseObj(xml_json_1.default);
|
||
var xmlReplacer = getInverseReplacer(inverseXML);
|
||
exports.encodeXML = getInverse(inverseXML, xmlReplacer);
|
||
var entities_json_1 = __importDefault(require$$1);
|
||
var inverseHTML = getInverseObj(entities_json_1.default);
|
||
var htmlReplacer = getInverseReplacer(inverseHTML);
|
||
exports.encodeHTML = getInverse(inverseHTML, htmlReplacer);
|
||
function getInverseObj(obj) {
|
||
return Object.keys(obj)
|
||
.sort()
|
||
.reduce(function (inverse, name) {
|
||
inverse[obj[name]] = "&" + name + ";";
|
||
return inverse;
|
||
}, {});
|
||
}
|
||
function getInverseReplacer(inverse) {
|
||
var single = [];
|
||
var multiple = [];
|
||
for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {
|
||
var k = _a[_i];
|
||
if (k.length === 1) {
|
||
// Add value to single array
|
||
single.push("\\" + k);
|
||
}
|
||
else {
|
||
// Add value to multiple array
|
||
multiple.push(k);
|
||
}
|
||
}
|
||
// Add ranges to single characters.
|
||
single.sort();
|
||
for (var start = 0; start < single.length - 1; start++) {
|
||
// Find the end of a run of characters
|
||
var end = start;
|
||
while (end < single.length - 1 &&
|
||
single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {
|
||
end += 1;
|
||
}
|
||
var count = 1 + end - start;
|
||
// We want to replace at least three characters
|
||
if (count < 3)
|
||
continue;
|
||
single.splice(start, count, single[start] + "-" + single[end]);
|
||
}
|
||
multiple.unshift("[" + single.join("") + "]");
|
||
return new RegExp(multiple.join("|"), "g");
|
||
}
|
||
var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g;
|
||
function singleCharReplacer(c) {
|
||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||
return "&#x" + c.codePointAt(0).toString(16).toUpperCase() + ";";
|
||
}
|
||
function getInverse(inverse, re) {
|
||
return function (data) {
|
||
return data
|
||
.replace(re, function (name) { return inverse[name]; })
|
||
.replace(reNonASCII, singleCharReplacer);
|
||
};
|
||
}
|
||
var reXmlChars = getInverseReplacer(inverseXML);
|
||
function escape(data) {
|
||
return data
|
||
.replace(reXmlChars, singleCharReplacer)
|
||
.replace(reNonASCII, singleCharReplacer);
|
||
}
|
||
exports.escape = escape;
|
||
});
|
||
|
||
unwrapExports(encode$1);
|
||
var encode_1$1 = encode$1.escape;
|
||
var encode_2 = encode$1.encodeHTML;
|
||
var encode_3 = encode$1.encodeXML;
|
||
|
||
var lib = createCommonjsModule(function (module, exports) {
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
exports.encode = exports.decodeStrict = exports.decode = void 0;
|
||
|
||
|
||
/**
|
||
* Decodes a string with entities.
|
||
*
|
||
* @param data String to decode.
|
||
* @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.
|
||
*/
|
||
function decode(data, level) {
|
||
return (!level || level <= 0 ? decode$2.decodeXML : decode$2.decodeHTML)(data);
|
||
}
|
||
exports.decode = decode;
|
||
/**
|
||
* Decodes a string with entities. Does not allow missing trailing semicolons for entities.
|
||
*
|
||
* @param data String to decode.
|
||
* @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.
|
||
*/
|
||
function decodeStrict(data, level) {
|
||
return (!level || level <= 0 ? decode$2.decodeXML : decode$2.decodeHTMLStrict)(data);
|
||
}
|
||
exports.decodeStrict = decodeStrict;
|
||
/**
|
||
* Encodes a string with entities.
|
||
*
|
||
* @param data String to encode.
|
||
* @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0.
|
||
*/
|
||
function encode(data, level) {
|
||
return (!level || level <= 0 ? encode$1.encodeXML : encode$1.encodeHTML)(data);
|
||
}
|
||
exports.encode = encode;
|
||
var encode_2 = encode$1;
|
||
Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function () { return encode_2.encodeXML; } });
|
||
Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function () { return encode_2.encodeHTML; } });
|
||
Object.defineProperty(exports, "escape", { enumerable: true, get: function () { return encode_2.escape; } });
|
||
// Legacy aliases
|
||
Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function () { return encode_2.encodeHTML; } });
|
||
Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function () { return encode_2.encodeHTML; } });
|
||
var decode_2 = decode$2;
|
||
Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function () { return decode_2.decodeXML; } });
|
||
Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function () { return decode_2.decodeHTML; } });
|
||
Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });
|
||
// Legacy aliases
|
||
Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function () { return decode_2.decodeHTML; } });
|
||
Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function () { return decode_2.decodeHTML; } });
|
||
Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });
|
||
Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });
|
||
Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function () { return decode_2.decodeXML; } });
|
||
});
|
||
|
||
unwrapExports(lib);
|
||
var lib_1 = lib.encode;
|
||
var lib_2 = lib.decodeStrict;
|
||
var lib_3 = lib.decode;
|
||
var lib_4 = lib.encodeXML;
|
||
var lib_5 = lib.encodeHTML;
|
||
var lib_6 = lib.encodeHTML4;
|
||
var lib_7 = lib.encodeHTML5;
|
||
var lib_8 = lib.decodeXML;
|
||
var lib_9 = lib.decodeHTML;
|
||
var lib_10 = lib.decodeHTMLStrict;
|
||
var lib_11 = lib.decodeHTML4;
|
||
var lib_12 = lib.decodeHTML5;
|
||
var lib_13 = lib.decodeHTML4Strict;
|
||
var lib_14 = lib.decodeHTML5Strict;
|
||
var lib_15 = lib.decodeXMLStrict;
|
||
|
||
var C_BACKSLASH = 92;
|
||
|
||
var ENTITY = "&(?:#x[a-f0-9]{1,6}|#[0-9]{1,7}|[a-z][a-z0-9]{1,31});";
|
||
|
||
var TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
|
||
var ATTRIBUTENAME = "[a-zA-Z_:][a-zA-Z0-9:._-]*";
|
||
var UNQUOTEDVALUE = "[^\"'=<>`\\x00-\\x20]+";
|
||
var SINGLEQUOTEDVALUE = "'[^']*'";
|
||
var DOUBLEQUOTEDVALUE = '"[^"]*"';
|
||
var ATTRIBUTEVALUE =
|
||
"(?:" +
|
||
UNQUOTEDVALUE +
|
||
"|" +
|
||
SINGLEQUOTEDVALUE +
|
||
"|" +
|
||
DOUBLEQUOTEDVALUE +
|
||
")";
|
||
var ATTRIBUTEVALUESPEC = "(?:" + "\\s*=" + "\\s*" + ATTRIBUTEVALUE + ")";
|
||
var ATTRIBUTE = "(?:" + "\\s+" + ATTRIBUTENAME + ATTRIBUTEVALUESPEC + "?)";
|
||
var OPENTAG = "<" + TAGNAME + ATTRIBUTE + "*" + "\\s*/?>";
|
||
var CLOSETAG = "</" + TAGNAME + "\\s*[>]";
|
||
var HTMLCOMMENT = "<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->";
|
||
var PROCESSINGINSTRUCTION = "[<][?][\\s\\S]*?[?][>]";
|
||
var DECLARATION = "<![A-Z]+" + "\\s+[^>]*>";
|
||
var CDATA = "<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";
|
||
var HTMLTAG =
|
||
"(?:" +
|
||
OPENTAG +
|
||
"|" +
|
||
CLOSETAG +
|
||
"|" +
|
||
HTMLCOMMENT +
|
||
"|" +
|
||
PROCESSINGINSTRUCTION +
|
||
"|" +
|
||
DECLARATION +
|
||
"|" +
|
||
CDATA +
|
||
")";
|
||
var reHtmlTag = new RegExp("^" + HTMLTAG);
|
||
|
||
var reBackslashOrAmp = /[\\&]/;
|
||
|
||
var ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
|
||
|
||
var reEntityOrEscapedChar = new RegExp("\\\\" + ESCAPABLE + "|" + ENTITY, "gi");
|
||
|
||
var XMLSPECIAL = '[&<>"]';
|
||
|
||
var reXmlSpecial = new RegExp(XMLSPECIAL, "g");
|
||
|
||
var unescapeChar = function(s) {
|
||
if (s.charCodeAt(0) === C_BACKSLASH) {
|
||
return s.charAt(1);
|
||
} else {
|
||
return lib_9(s);
|
||
}
|
||
};
|
||
|
||
// Replace entities and backslash escapes with literal characters.
|
||
var unescapeString = function(s) {
|
||
if (reBackslashOrAmp.test(s)) {
|
||
return s.replace(reEntityOrEscapedChar, unescapeChar);
|
||
} else {
|
||
return s;
|
||
}
|
||
};
|
||
|
||
var normalizeURI = function(uri) {
|
||
try {
|
||
return encode_1(uri);
|
||
} catch (err) {
|
||
return uri;
|
||
}
|
||
};
|
||
|
||
var replaceUnsafeChar = function(s) {
|
||
switch (s) {
|
||
case "&":
|
||
return "&";
|
||
case "<":
|
||
return "<";
|
||
case ">":
|
||
return ">";
|
||
case '"':
|
||
return """;
|
||
default:
|
||
return s;
|
||
}
|
||
};
|
||
|
||
var escapeXml = function(s) {
|
||
if (reXmlSpecial.test(s)) {
|
||
return s.replace(reXmlSpecial, replaceUnsafeChar);
|
||
} else {
|
||
return s;
|
||
}
|
||
};
|
||
|
||
// derived from https://github.com/mathiasbynens/String.fromCodePoint
|
||
/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */
|
||
|
||
var _fromCodePoint;
|
||
|
||
function fromCodePoint(_) {
|
||
return _fromCodePoint(_);
|
||
}
|
||
|
||
if (String.fromCodePoint) {
|
||
_fromCodePoint = function(_) {
|
||
try {
|
||
return String.fromCodePoint(_);
|
||
} catch (e) {
|
||
if (e instanceof RangeError) {
|
||
return String.fromCharCode(0xfffd);
|
||
}
|
||
throw e;
|
||
}
|
||
};
|
||
} else {
|
||
var stringFromCharCode = String.fromCharCode;
|
||
var floor = Math.floor;
|
||
_fromCodePoint = function() {
|
||
var MAX_SIZE = 0x4000;
|
||
var codeUnits = [];
|
||
var highSurrogate;
|
||
var lowSurrogate;
|
||
var index = -1;
|
||
var length = arguments.length;
|
||
if (!length) {
|
||
return "";
|
||
}
|
||
var result = "";
|
||
while (++index < length) {
|
||
var codePoint = Number(arguments[index]);
|
||
if (
|
||
!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
|
||
codePoint < 0 || // not a valid Unicode code point
|
||
codePoint > 0x10ffff || // not a valid Unicode code point
|
||
floor(codePoint) !== codePoint // not an integer
|
||
) {
|
||
return String.fromCharCode(0xfffd);
|
||
}
|
||
if (codePoint <= 0xffff) {
|
||
// BMP code point
|
||
codeUnits.push(codePoint);
|
||
} else {
|
||
// Astral code point; split in surrogate halves
|
||
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
|
||
codePoint -= 0x10000;
|
||
highSurrogate = (codePoint >> 10) + 0xd800;
|
||
lowSurrogate = (codePoint % 0x400) + 0xdc00;
|
||
codeUnits.push(highSurrogate, lowSurrogate);
|
||
}
|
||
if (index + 1 === length || codeUnits.length > MAX_SIZE) {
|
||
result += stringFromCharCode.apply(null, codeUnits);
|
||
codeUnits.length = 0;
|
||
}
|
||
}
|
||
return result;
|
||
};
|
||
}
|
||
|
||
/*! http://mths.be/repeat v0.2.0 by @mathias */
|
||
if (!String.prototype.repeat) {
|
||
(function() {
|
||
var defineProperty = (function() {
|
||
// IE 8 only supports `Object.defineProperty` on DOM elements
|
||
try {
|
||
var object = {};
|
||
var $defineProperty = Object.defineProperty;
|
||
var result = $defineProperty(object, object, object) && $defineProperty;
|
||
} catch(error) {}
|
||
return result;
|
||
}());
|
||
var repeat = function(count) {
|
||
if (this == null) {
|
||
throw TypeError();
|
||
}
|
||
var string = String(this);
|
||
// `ToInteger`
|
||
var n = count ? Number(count) : 0;
|
||
if (n != n) { // better `isNaN`
|
||
n = 0;
|
||
}
|
||
// Account for out-of-bounds indices
|
||
if (n < 0 || n == Infinity) {
|
||
throw RangeError();
|
||
}
|
||
var result = '';
|
||
while (n) {
|
||
if (n % 2 == 1) {
|
||
result += string;
|
||
}
|
||
if (n > 1) {
|
||
string += string;
|
||
}
|
||
n >>= 1;
|
||
}
|
||
return result;
|
||
};
|
||
if (defineProperty) {
|
||
defineProperty(String.prototype, 'repeat', {
|
||
'value': repeat,
|
||
'configurable': true,
|
||
'writable': true
|
||
});
|
||
} else {
|
||
String.prototype.repeat = repeat;
|
||
}
|
||
}());
|
||
}
|
||
|
||
var normalizeURI$1 = normalizeURI;
|
||
var unescapeString$1 = unescapeString;
|
||
|
||
// Constants for character codes:
|
||
|
||
var C_NEWLINE = 10;
|
||
var C_ASTERISK = 42;
|
||
var C_UNDERSCORE = 95;
|
||
var C_BACKTICK = 96;
|
||
var C_OPEN_BRACKET = 91;
|
||
var C_CLOSE_BRACKET = 93;
|
||
var C_LESSTHAN = 60;
|
||
var C_BANG = 33;
|
||
var C_BACKSLASH$1 = 92;
|
||
var C_AMPERSAND = 38;
|
||
var C_OPEN_PAREN = 40;
|
||
var C_CLOSE_PAREN = 41;
|
||
var C_COLON = 58;
|
||
var C_SINGLEQUOTE = 39;
|
||
var C_DOUBLEQUOTE = 34;
|
||
|
||
// Some regexps used in inline parser:
|
||
|
||
var ESCAPABLE$1 = ESCAPABLE;
|
||
var ESCAPED_CHAR = "\\\\" + ESCAPABLE$1;
|
||
|
||
var ENTITY$1 = ENTITY;
|
||
var reHtmlTag$1 = reHtmlTag;
|
||
|
||
var rePunctuation = new RegExp(
|
||
/^[!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/
|
||
);
|
||
|
||
var reLinkTitle = new RegExp(
|
||
'^(?:"(' +
|
||
ESCAPED_CHAR +
|
||
'|[^"\\x00])*"' +
|
||
"|" +
|
||
"'(" +
|
||
ESCAPED_CHAR +
|
||
"|[^'\\x00])*'" +
|
||
"|" +
|
||
"\\((" +
|
||
ESCAPED_CHAR +
|
||
"|[^()\\x00])*\\))"
|
||
);
|
||
|
||
var reLinkDestinationBraces = /^(?:<(?:[^<>\n\\\x00]|\\.)*>)/;
|
||
|
||
var reEscapable = new RegExp("^" + ESCAPABLE$1);
|
||
|
||
var reEntityHere = new RegExp("^" + ENTITY$1, "i");
|
||
|
||
var reTicks = /`+/;
|
||
|
||
var reTicksHere = /^`+/;
|
||
|
||
var reEllipses = /\.\.\./g;
|
||
|
||
var reDash = /--+/g;
|
||
|
||
var reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
|
||
|
||
var reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i;
|
||
|
||
var reSpnl = /^ *(?:\n *)?/;
|
||
|
||
var reWhitespaceChar = /^[ \t\n\x0b\x0c\x0d]/;
|
||
|
||
var reUnicodeWhitespaceChar = /^\s/;
|
||
|
||
var reFinalSpace = / *$/;
|
||
|
||
var reInitialSpace = /^ */;
|
||
|
||
var reSpaceAtEndOfLine = /^ *(?:\n|$)/;
|
||
|
||
var reLinkLabel = /^\[(?:[^\\\[\]]|\\.){0,1000}\]/s;
|
||
|
||
// Matches a string of non-special characters.
|
||
var reMain = /^[^\n`\[\]\\!<&*_'"]+/m;
|
||
|
||
var text = function(s) {
|
||
var node = new Node("text");
|
||
node._literal = s;
|
||
return node;
|
||
};
|
||
|
||
// normalize a reference in reference link (remove []s, trim,
|
||
// collapse internal space, unicode case fold.
|
||
// See commonmark/commonmark.js#168.
|
||
var normalizeReference = function(string) {
|
||
return string
|
||
.slice(1, string.length - 1)
|
||
.trim()
|
||
.replace(/[ \t\r\n]+/, " ")
|
||
.toLowerCase()
|
||
.toUpperCase();
|
||
};
|
||
|
||
// INLINE PARSER
|
||
|
||
// These are methods of an InlineParser object, defined below.
|
||
// An InlineParser keeps track of a subject (a string to be
|
||
// parsed) and a position in that subject.
|
||
|
||
// If re matches at current position in the subject, advance
|
||
// position in subject and return the match; otherwise return null.
|
||
var match = function(re) {
|
||
var m = re.exec(this.subject.slice(this.pos));
|
||
if (m === null) {
|
||
return null;
|
||
} else {
|
||
this.pos += m.index + m[0].length;
|
||
return m[0];
|
||
}
|
||
};
|
||
|
||
// Returns the code for the character at the current subject position, or -1
|
||
// there are no more characters.
|
||
var peek = function() {
|
||
if (this.pos < this.subject.length) {
|
||
return this.subject.charCodeAt(this.pos);
|
||
} else {
|
||
return -1;
|
||
}
|
||
};
|
||
|
||
// Parse zero or more space characters, including at most one newline
|
||
var spnl = function() {
|
||
this.match(reSpnl);
|
||
return true;
|
||
};
|
||
|
||
// All of the parsers below try to match something at the current position
|
||
// in the subject. If they succeed in matching anything, they
|
||
// return the inline matched, advancing the subject.
|
||
|
||
// Attempt to parse backticks, adding either a backtick code span or a
|
||
// literal sequence of backticks.
|
||
var parseBackticks = function(block) {
|
||
var ticks = this.match(reTicksHere);
|
||
if (ticks === null) {
|
||
return false;
|
||
}
|
||
var afterOpenTicks = this.pos;
|
||
var matched;
|
||
var node;
|
||
var contents;
|
||
while ((matched = this.match(reTicks)) !== null) {
|
||
if (matched === ticks) {
|
||
node = new Node("code");
|
||
contents = this.subject
|
||
.slice(afterOpenTicks, this.pos - ticks.length)
|
||
.replace(/\n/gm, " ");
|
||
if (
|
||
contents.length > 0 &&
|
||
contents.match(/[^ ]/) !== null &&
|
||
contents[0] == " " &&
|
||
contents[contents.length - 1] == " "
|
||
) {
|
||
node._literal = contents.slice(1, contents.length - 1);
|
||
} else {
|
||
node._literal = contents;
|
||
}
|
||
const doc = this.options.autoDoc;
|
||
if (doc) {
|
||
const decl_hash = doc.detectDeclPath(contents);
|
||
if (decl_hash) {
|
||
var l = new Node("link");
|
||
l.destination = decl_hash;
|
||
l.appendChild(node);
|
||
node = l;
|
||
}
|
||
}
|
||
block.appendChild(node);
|
||
return true;
|
||
}
|
||
}
|
||
// If we got here, we didn't match a closing backtick sequence.
|
||
this.pos = afterOpenTicks;
|
||
block.appendChild(text(ticks));
|
||
return true;
|
||
};
|
||
|
||
// Parse a backslash-escaped special character, adding either the escaped
|
||
// character, a hard line break (if the backslash is followed by a newline),
|
||
// or a literal backslash to the block's children. Assumes current character
|
||
// is a backslash.
|
||
var parseBackslash = function(block) {
|
||
var subj = this.subject;
|
||
var node;
|
||
this.pos += 1;
|
||
if (this.peek() === C_NEWLINE) {
|
||
this.pos += 1;
|
||
node = new Node("linebreak");
|
||
block.appendChild(node);
|
||
} else if (reEscapable.test(subj.charAt(this.pos))) {
|
||
block.appendChild(text(subj.charAt(this.pos)));
|
||
this.pos += 1;
|
||
} else {
|
||
block.appendChild(text("\\"));
|
||
}
|
||
return true;
|
||
};
|
||
|
||
// Attempt to parse an autolink (URL or email in pointy brackets).
|
||
var parseAutolink = function(block) {
|
||
var m;
|
||
var dest;
|
||
var node;
|
||
if ((m = this.match(reEmailAutolink))) {
|
||
dest = m.slice(1, m.length - 1);
|
||
node = new Node("link");
|
||
node._destination = normalizeURI$1("mailto:" + dest);
|
||
node._title = "";
|
||
node.appendChild(text(dest));
|
||
block.appendChild(node);
|
||
return true;
|
||
} else if ((m = this.match(reAutolink))) {
|
||
dest = m.slice(1, m.length - 1);
|
||
node = new Node("link");
|
||
node._destination = normalizeURI$1(dest);
|
||
node._title = "";
|
||
node.appendChild(text(dest));
|
||
block.appendChild(node);
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
};
|
||
|
||
// Attempt to parse a raw HTML tag.
|
||
var parseHtmlTag = function(block) {
|
||
var m = this.match(reHtmlTag$1);
|
||
if (m === null) {
|
||
return false;
|
||
} else {
|
||
var node = new Node("html_inline");
|
||
node._literal = m;
|
||
block.appendChild(node);
|
||
return true;
|
||
}
|
||
};
|
||
|
||
// Scan a sequence of characters with code cc, and return information about
|
||
// the number of delimiters and whether they are positioned such that
|
||
// they can open and/or close emphasis or strong emphasis. A utility
|
||
// function for strong/emph parsing.
|
||
var scanDelims = function(cc) {
|
||
var numdelims = 0;
|
||
var char_before, char_after, cc_after;
|
||
var startpos = this.pos;
|
||
var left_flanking, right_flanking, can_open, can_close;
|
||
var after_is_whitespace,
|
||
after_is_punctuation,
|
||
before_is_whitespace,
|
||
before_is_punctuation;
|
||
|
||
if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {
|
||
numdelims++;
|
||
this.pos++;
|
||
} else {
|
||
while (this.peek() === cc) {
|
||
numdelims++;
|
||
this.pos++;
|
||
}
|
||
}
|
||
|
||
if (numdelims === 0) {
|
||
return null;
|
||
}
|
||
|
||
char_before = startpos === 0 ? "\n" : this.subject.charAt(startpos - 1);
|
||
|
||
cc_after = this.peek();
|
||
if (cc_after === -1) {
|
||
char_after = "\n";
|
||
} else {
|
||
char_after = fromCodePoint(cc_after);
|
||
}
|
||
|
||
after_is_whitespace = reUnicodeWhitespaceChar.test(char_after);
|
||
after_is_punctuation = rePunctuation.test(char_after);
|
||
before_is_whitespace = reUnicodeWhitespaceChar.test(char_before);
|
||
before_is_punctuation = rePunctuation.test(char_before);
|
||
|
||
left_flanking =
|
||
!after_is_whitespace &&
|
||
(!after_is_punctuation ||
|
||
before_is_whitespace ||
|
||
before_is_punctuation);
|
||
right_flanking =
|
||
!before_is_whitespace &&
|
||
(!before_is_punctuation || after_is_whitespace || after_is_punctuation);
|
||
if (cc === C_UNDERSCORE) {
|
||
can_open = left_flanking && (!right_flanking || before_is_punctuation);
|
||
can_close = right_flanking && (!left_flanking || after_is_punctuation);
|
||
} else if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {
|
||
can_open = left_flanking && !right_flanking;
|
||
can_close = right_flanking;
|
||
} else {
|
||
can_open = left_flanking;
|
||
can_close = right_flanking;
|
||
}
|
||
this.pos = startpos;
|
||
return { numdelims: numdelims, can_open: can_open, can_close: can_close };
|
||
};
|
||
|
||
// Handle a delimiter marker for emphasis or a quote.
|
||
var handleDelim = function(cc, block) {
|
||
var res = this.scanDelims(cc);
|
||
if (!res) {
|
||
return false;
|
||
}
|
||
var numdelims = res.numdelims;
|
||
var startpos = this.pos;
|
||
var contents;
|
||
|
||
this.pos += numdelims;
|
||
if (cc === C_SINGLEQUOTE) {
|
||
contents = "\u2019";
|
||
} else if (cc === C_DOUBLEQUOTE) {
|
||
contents = "\u201C";
|
||
} else {
|
||
contents = this.subject.slice(startpos, this.pos);
|
||
}
|
||
var node = text(contents);
|
||
block.appendChild(node);
|
||
|
||
// Add entry to stack for this opener
|
||
if (
|
||
(res.can_open || res.can_close) &&
|
||
(this.options.smart || (cc !== C_SINGLEQUOTE && cc !== C_DOUBLEQUOTE))
|
||
) {
|
||
this.delimiters = {
|
||
cc: cc,
|
||
numdelims: numdelims,
|
||
origdelims: numdelims,
|
||
node: node,
|
||
previous: this.delimiters,
|
||
next: null,
|
||
can_open: res.can_open,
|
||
can_close: res.can_close
|
||
};
|
||
if (this.delimiters.previous !== null) {
|
||
this.delimiters.previous.next = this.delimiters;
|
||
}
|
||
}
|
||
|
||
return true;
|
||
};
|
||
|
||
var removeDelimiter = function(delim) {
|
||
if (delim.previous !== null) {
|
||
delim.previous.next = delim.next;
|
||
}
|
||
if (delim.next === null) {
|
||
// top of stack
|
||
this.delimiters = delim.previous;
|
||
} else {
|
||
delim.next.previous = delim.previous;
|
||
}
|
||
};
|
||
|
||
var removeDelimitersBetween = function(bottom, top) {
|
||
if (bottom.next !== top) {
|
||
bottom.next = top;
|
||
top.previous = bottom;
|
||
}
|
||
};
|
||
|
||
var processEmphasis = function(stack_bottom) {
|
||
var opener, closer, old_closer;
|
||
var opener_inl, closer_inl;
|
||
var tempstack;
|
||
var use_delims;
|
||
var tmp, next;
|
||
var opener_found;
|
||
var openers_bottom = [];
|
||
var openers_bottom_index;
|
||
var odd_match = false;
|
||
|
||
for (var i = 0; i < 8; i++) {
|
||
openers_bottom[i] = stack_bottom;
|
||
}
|
||
// find first closer above stack_bottom:
|
||
closer = this.delimiters;
|
||
while (closer !== null && closer.previous !== stack_bottom) {
|
||
closer = closer.previous;
|
||
}
|
||
// move forward, looking for closers, and handling each
|
||
while (closer !== null) {
|
||
var closercc = closer.cc;
|
||
if (!closer.can_close) {
|
||
closer = closer.next;
|
||
} else {
|
||
// found emphasis closer. now look back for first matching opener:
|
||
opener = closer.previous;
|
||
opener_found = false;
|
||
switch (closercc) {
|
||
case C_SINGLEQUOTE:
|
||
openers_bottom_index = 0;
|
||
break;
|
||
case C_DOUBLEQUOTE:
|
||
openers_bottom_index = 1;
|
||
break;
|
||
case C_UNDERSCORE:
|
||
openers_bottom_index = 2;
|
||
break;
|
||
case C_ASTERISK:
|
||
openers_bottom_index = 3 + (closer.can_open ? 3 : 0)
|
||
+ (closer.origdelims % 3);
|
||
break;
|
||
}
|
||
while (
|
||
opener !== null &&
|
||
opener !== stack_bottom &&
|
||
opener !== openers_bottom[openers_bottom_index]
|
||
) {
|
||
odd_match =
|
||
(closer.can_open || opener.can_close) &&
|
||
closer.origdelims % 3 !== 0 &&
|
||
(opener.origdelims + closer.origdelims) % 3 === 0;
|
||
if (opener.cc === closer.cc && opener.can_open && !odd_match) {
|
||
opener_found = true;
|
||
break;
|
||
}
|
||
opener = opener.previous;
|
||
}
|
||
old_closer = closer;
|
||
|
||
if (closercc === C_ASTERISK || closercc === C_UNDERSCORE) {
|
||
if (!opener_found) {
|
||
closer = closer.next;
|
||
} else {
|
||
// calculate actual number of delimiters used from closer
|
||
use_delims =
|
||
closer.numdelims >= 2 && opener.numdelims >= 2 ? 2 : 1;
|
||
|
||
opener_inl = opener.node;
|
||
closer_inl = closer.node;
|
||
|
||
// remove used delimiters from stack elts and inlines
|
||
opener.numdelims -= use_delims;
|
||
closer.numdelims -= use_delims;
|
||
opener_inl._literal = opener_inl._literal.slice(
|
||
0,
|
||
opener_inl._literal.length - use_delims
|
||
);
|
||
closer_inl._literal = closer_inl._literal.slice(
|
||
0,
|
||
closer_inl._literal.length - use_delims
|
||
);
|
||
|
||
// build contents for new emph element
|
||
var emph = new Node(use_delims === 1 ? "emph" : "strong");
|
||
|
||
tmp = opener_inl._next;
|
||
while (tmp && tmp !== closer_inl) {
|
||
next = tmp._next;
|
||
tmp.unlink();
|
||
emph.appendChild(tmp);
|
||
tmp = next;
|
||
}
|
||
|
||
opener_inl.insertAfter(emph);
|
||
|
||
// remove elts between opener and closer in delimiters stack
|
||
removeDelimitersBetween(opener, closer);
|
||
|
||
// if opener has 0 delims, remove it and the inline
|
||
if (opener.numdelims === 0) {
|
||
opener_inl.unlink();
|
||
this.removeDelimiter(opener);
|
||
}
|
||
|
||
if (closer.numdelims === 0) {
|
||
closer_inl.unlink();
|
||
tempstack = closer.next;
|
||
this.removeDelimiter(closer);
|
||
closer = tempstack;
|
||
}
|
||
}
|
||
} else if (closercc === C_SINGLEQUOTE) {
|
||
closer.node._literal = "\u2019";
|
||
if (opener_found) {
|
||
opener.node._literal = "\u2018";
|
||
}
|
||
closer = closer.next;
|
||
} else if (closercc === C_DOUBLEQUOTE) {
|
||
closer.node._literal = "\u201D";
|
||
if (opener_found) {
|
||
opener.node.literal = "\u201C";
|
||
}
|
||
closer = closer.next;
|
||
}
|
||
if (!opener_found) {
|
||
// Set lower bound for future searches for openers:
|
||
openers_bottom[openers_bottom_index] =
|
||
old_closer.previous;
|
||
if (!old_closer.can_open) {
|
||
// We can remove a closer that can't be an opener,
|
||
// once we've seen there's no matching opener:
|
||
this.removeDelimiter(old_closer);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// remove all delimiters
|
||
while (this.delimiters !== null && this.delimiters !== stack_bottom) {
|
||
this.removeDelimiter(this.delimiters);
|
||
}
|
||
};
|
||
|
||
// Attempt to parse link title (sans quotes), returning the string
|
||
// or null if no match.
|
||
var parseLinkTitle = function() {
|
||
var title = this.match(reLinkTitle);
|
||
if (title === null) {
|
||
return null;
|
||
} else {
|
||
// chop off quotes from title and unescape:
|
||
return unescapeString$1(title.substr(1, title.length - 2));
|
||
}
|
||
};
|
||
|
||
// Attempt to parse link destination, returning the string or
|
||
// null if no match.
|
||
var parseLinkDestination = function() {
|
||
var res = this.match(reLinkDestinationBraces);
|
||
if (res === null) {
|
||
if (this.peek() === C_LESSTHAN) {
|
||
return null;
|
||
}
|
||
// TODO handrolled parser; res should be null or the string
|
||
var savepos = this.pos;
|
||
var openparens = 0;
|
||
var c;
|
||
while ((c = this.peek()) !== -1) {
|
||
if (
|
||
c === C_BACKSLASH$1 &&
|
||
reEscapable.test(this.subject.charAt(this.pos + 1))
|
||
) {
|
||
this.pos += 1;
|
||
if (this.peek() !== -1) {
|
||
this.pos += 1;
|
||
}
|
||
} else if (c === C_OPEN_PAREN) {
|
||
this.pos += 1;
|
||
openparens += 1;
|
||
} else if (c === C_CLOSE_PAREN) {
|
||
if (openparens < 1) {
|
||
break;
|
||
} else {
|
||
this.pos += 1;
|
||
openparens -= 1;
|
||
}
|
||
} else if (reWhitespaceChar.exec(fromCodePoint(c)) !== null) {
|
||
break;
|
||
} else {
|
||
this.pos += 1;
|
||
}
|
||
}
|
||
if (this.pos === savepos && c !== C_CLOSE_PAREN) {
|
||
return null;
|
||
}
|
||
if (openparens !== 0) {
|
||
return null;
|
||
}
|
||
res = this.subject.substr(savepos, this.pos - savepos);
|
||
return normalizeURI$1(unescapeString$1(res));
|
||
} else {
|
||
// chop off surrounding <..>:
|
||
return normalizeURI$1(unescapeString$1(res.substr(1, res.length - 2)));
|
||
}
|
||
};
|
||
|
||
// Attempt to parse a link label, returning number of characters parsed.
|
||
var parseLinkLabel = function() {
|
||
var m = this.match(reLinkLabel);
|
||
if (m === null || m.length > 1001) {
|
||
return 0;
|
||
} else {
|
||
return m.length;
|
||
}
|
||
};
|
||
|
||
// Add open bracket to delimiter stack and add a text node to block's children.
|
||
var parseOpenBracket = function(block) {
|
||
var startpos = this.pos;
|
||
this.pos += 1;
|
||
|
||
var node = text("[");
|
||
block.appendChild(node);
|
||
|
||
// Add entry to stack for this opener
|
||
this.addBracket(node, startpos, false);
|
||
return true;
|
||
};
|
||
|
||
// IF next character is [, and ! delimiter to delimiter stack and
|
||
// add a text node to block's children. Otherwise just add a text node.
|
||
var parseBang = function(block) {
|
||
var startpos = this.pos;
|
||
this.pos += 1;
|
||
if (this.peek() === C_OPEN_BRACKET) {
|
||
this.pos += 1;
|
||
|
||
var node = text("![");
|
||
block.appendChild(node);
|
||
|
||
// Add entry to stack for this opener
|
||
this.addBracket(node, startpos + 1, true);
|
||
} else {
|
||
block.appendChild(text("!"));
|
||
}
|
||
return true;
|
||
};
|
||
|
||
// Try to match close bracket against an opening in the delimiter
|
||
// stack. Add either a link or image, or a plain [ character,
|
||
// to block's children. If there is a matching delimiter,
|
||
// remove it from the delimiter stack.
|
||
var parseCloseBracket = function(block) {
|
||
var startpos;
|
||
var is_image;
|
||
var dest;
|
||
var title;
|
||
var matched = false;
|
||
var reflabel;
|
||
var opener;
|
||
|
||
this.pos += 1;
|
||
startpos = this.pos;
|
||
|
||
// get last [ or ![
|
||
opener = this.brackets;
|
||
|
||
if (opener === null) {
|
||
// no matched opener, just return a literal
|
||
block.appendChild(text("]"));
|
||
return true;
|
||
}
|
||
|
||
if (!opener.active) {
|
||
// no matched opener, just return a literal
|
||
block.appendChild(text("]"));
|
||
// take opener off brackets stack
|
||
this.removeBracket();
|
||
return true;
|
||
}
|
||
|
||
// If we got here, open is a potential opener
|
||
is_image = opener.image;
|
||
|
||
// Check to see if we have a link/image
|
||
|
||
var savepos = this.pos;
|
||
|
||
// Inline link?
|
||
if (this.peek() === C_OPEN_PAREN) {
|
||
this.pos++;
|
||
if (
|
||
this.spnl() &&
|
||
(dest = this.parseLinkDestination()) !== null &&
|
||
this.spnl() &&
|
||
// make sure there's a space before the title:
|
||
((reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) &&
|
||
(title = this.parseLinkTitle())) ||
|
||
true) &&
|
||
this.spnl() &&
|
||
this.peek() === C_CLOSE_PAREN
|
||
) {
|
||
this.pos += 1;
|
||
matched = true;
|
||
} else {
|
||
this.pos = savepos;
|
||
}
|
||
}
|
||
|
||
if (!matched) {
|
||
// Next, see if there's a link label
|
||
var beforelabel = this.pos;
|
||
var n = this.parseLinkLabel();
|
||
if (n > 2) {
|
||
reflabel = this.subject.slice(beforelabel, beforelabel + n);
|
||
} else if (!opener.bracketAfter) {
|
||
// Empty or missing second label means to use the first label as the reference.
|
||
// The reference must not contain a bracket. If we know there's a bracket, we don't even bother checking it.
|
||
reflabel = this.subject.slice(opener.index, startpos);
|
||
}
|
||
if (n === 0) {
|
||
// If shortcut reference link, rewind before spaces we skipped.
|
||
this.pos = savepos;
|
||
}
|
||
|
||
if (reflabel) {
|
||
// lookup rawlabel in refmap
|
||
var link = this.refmap[normalizeReference(reflabel)];
|
||
if (link) {
|
||
dest = link.destination;
|
||
title = link.title;
|
||
matched = true;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (matched) {
|
||
var node = new Node(is_image ? "image" : "link");
|
||
node._destination = dest;
|
||
node._title = title || "";
|
||
|
||
var tmp, next;
|
||
tmp = opener.node._next;
|
||
while (tmp) {
|
||
next = tmp._next;
|
||
tmp.unlink();
|
||
node.appendChild(tmp);
|
||
tmp = next;
|
||
}
|
||
block.appendChild(node);
|
||
this.processEmphasis(opener.previousDelimiter);
|
||
this.removeBracket();
|
||
opener.node.unlink();
|
||
|
||
// We remove this bracket and processEmphasis will remove later delimiters.
|
||
// Now, for a link, we also deactivate earlier link openers.
|
||
// (no links in links)
|
||
if (!is_image) {
|
||
opener = this.brackets;
|
||
while (opener !== null) {
|
||
if (!opener.image) {
|
||
opener.active = false; // deactivate this opener
|
||
}
|
||
opener = opener.previous;
|
||
}
|
||
}
|
||
|
||
return true;
|
||
} else {
|
||
// no match
|
||
|
||
this.removeBracket(); // remove this opener from stack
|
||
this.pos = startpos;
|
||
block.appendChild(text("]"));
|
||
return true;
|
||
}
|
||
};
|
||
|
||
var addBracket = function(node, index, image) {
|
||
if (this.brackets !== null) {
|
||
this.brackets.bracketAfter = true;
|
||
}
|
||
this.brackets = {
|
||
node: node,
|
||
previous: this.brackets,
|
||
previousDelimiter: this.delimiters,
|
||
index: index,
|
||
image: image,
|
||
active: true
|
||
};
|
||
};
|
||
|
||
var removeBracket = function() {
|
||
this.brackets = this.brackets.previous;
|
||
};
|
||
|
||
// Attempt to parse an entity.
|
||
var parseEntity = function(block) {
|
||
var m;
|
||
if ((m = this.match(reEntityHere))) {
|
||
block.appendChild(text(lib_9(m)));
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
};
|
||
|
||
// Parse a run of ordinary characters, or a single character with
|
||
// a special meaning in markdown, as a plain string.
|
||
var parseString = function(block) {
|
||
var m;
|
||
if ((m = this.match(reMain))) {
|
||
if (this.options.smart) {
|
||
block.appendChild(
|
||
text(
|
||
m
|
||
.replace(reEllipses, "\u2026")
|
||
.replace(reDash, function(chars) {
|
||
var enCount = 0;
|
||
var emCount = 0;
|
||
if (chars.length % 3 === 0) {
|
||
// If divisible by 3, use all em dashes
|
||
emCount = chars.length / 3;
|
||
} else if (chars.length % 2 === 0) {
|
||
// If divisible by 2, use all en dashes
|
||
enCount = chars.length / 2;
|
||
} else if (chars.length % 3 === 2) {
|
||
// If 2 extra dashes, use en dash for last 2; em dashes for rest
|
||
enCount = 1;
|
||
emCount = (chars.length - 2) / 3;
|
||
} else {
|
||
// Use en dashes for last 4 hyphens; em dashes for rest
|
||
enCount = 2;
|
||
emCount = (chars.length - 4) / 3;
|
||
}
|
||
return (
|
||
"\u2014".repeat(emCount) +
|
||
"\u2013".repeat(enCount)
|
||
);
|
||
})
|
||
)
|
||
);
|
||
} else {
|
||
block.appendChild(text(m));
|
||
}
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
};
|
||
|
||
// Parse a newline. If it was preceded by two spaces, return a hard
|
||
// line break; otherwise a soft line break.
|
||
var parseNewline = function(block) {
|
||
this.pos += 1; // assume we're at a \n
|
||
// check previous node for trailing spaces
|
||
var lastc = block._lastChild;
|
||
if (
|
||
lastc &&
|
||
lastc.type === "text" &&
|
||
lastc._literal[lastc._literal.length - 1] === " "
|
||
) {
|
||
var hardbreak = lastc._literal[lastc._literal.length - 2] === " ";
|
||
lastc._literal = lastc._literal.replace(reFinalSpace, "");
|
||
block.appendChild(new Node(hardbreak ? "linebreak" : "softbreak"));
|
||
} else {
|
||
block.appendChild(new Node("softbreak"));
|
||
}
|
||
this.match(reInitialSpace); // gobble leading spaces in next line
|
||
return true;
|
||
};
|
||
|
||
// Attempt to parse a link reference, modifying refmap.
|
||
var parseReference = function(s, refmap) {
|
||
this.subject = s;
|
||
this.pos = 0;
|
||
var rawlabel;
|
||
var dest;
|
||
var title;
|
||
var matchChars;
|
||
var startpos = this.pos;
|
||
|
||
// label:
|
||
matchChars = this.parseLinkLabel();
|
||
if (matchChars === 0) {
|
||
return 0;
|
||
} else {
|
||
rawlabel = this.subject.substr(0, matchChars);
|
||
}
|
||
|
||
// colon:
|
||
if (this.peek() === C_COLON) {
|
||
this.pos++;
|
||
} else {
|
||
this.pos = startpos;
|
||
return 0;
|
||
}
|
||
|
||
// link url
|
||
this.spnl();
|
||
|
||
dest = this.parseLinkDestination();
|
||
if (dest === null) {
|
||
this.pos = startpos;
|
||
return 0;
|
||
}
|
||
|
||
var beforetitle = this.pos;
|
||
this.spnl();
|
||
if (this.pos !== beforetitle) {
|
||
title = this.parseLinkTitle();
|
||
}
|
||
if (title === null) {
|
||
title = "";
|
||
// rewind before spaces
|
||
this.pos = beforetitle;
|
||
}
|
||
|
||
// make sure we're at line end:
|
||
var atLineEnd = true;
|
||
if (this.match(reSpaceAtEndOfLine) === null) {
|
||
if (title === "") {
|
||
atLineEnd = false;
|
||
} else {
|
||
// the potential title we found is not at the line end,
|
||
// but it could still be a legal link reference if we
|
||
// discard the title
|
||
title = "";
|
||
// rewind before spaces
|
||
this.pos = beforetitle;
|
||
// and instead check if the link URL is at the line end
|
||
atLineEnd = this.match(reSpaceAtEndOfLine) !== null;
|
||
}
|
||
}
|
||
|
||
if (!atLineEnd) {
|
||
this.pos = startpos;
|
||
return 0;
|
||
}
|
||
|
||
var normlabel = normalizeReference(rawlabel);
|
||
if (normlabel === "") {
|
||
// label must contain non-whitespace characters
|
||
this.pos = startpos;
|
||
return 0;
|
||
}
|
||
|
||
if (!refmap[normlabel]) {
|
||
refmap[normlabel] = { destination: dest, title: title };
|
||
}
|
||
return this.pos - startpos;
|
||
};
|
||
|
||
// Parse the next inline element in subject, advancing subject position.
|
||
// On success, add the result to block's children and return true.
|
||
// On failure, return false.
|
||
var parseInline = function(block) {
|
||
var res = false;
|
||
var c = this.peek();
|
||
if (c === -1) {
|
||
return false;
|
||
}
|
||
switch (c) {
|
||
case C_NEWLINE:
|
||
res = this.parseNewline(block);
|
||
break;
|
||
case C_BACKSLASH$1:
|
||
res = this.parseBackslash(block);
|
||
break;
|
||
case C_BACKTICK:
|
||
res = this.parseBackticks(block);
|
||
break;
|
||
case C_ASTERISK:
|
||
case C_UNDERSCORE:
|
||
res = this.handleDelim(c, block);
|
||
break;
|
||
case C_SINGLEQUOTE:
|
||
case C_DOUBLEQUOTE:
|
||
res = this.options.smart && this.handleDelim(c, block);
|
||
break;
|
||
case C_OPEN_BRACKET:
|
||
res = this.parseOpenBracket(block);
|
||
break;
|
||
case C_BANG:
|
||
res = this.parseBang(block);
|
||
break;
|
||
case C_CLOSE_BRACKET:
|
||
res = this.parseCloseBracket(block);
|
||
break;
|
||
case C_LESSTHAN:
|
||
res = this.parseAutolink(block) || this.parseHtmlTag(block);
|
||
break;
|
||
case C_AMPERSAND:
|
||
res = this.parseEntity(block);
|
||
break;
|
||
default:
|
||
res = this.parseString(block);
|
||
break;
|
||
}
|
||
if (!res) {
|
||
this.pos += 1;
|
||
block.appendChild(text(fromCodePoint(c)));
|
||
}
|
||
|
||
return true;
|
||
};
|
||
|
||
// Parse string content in block into inline children,
|
||
// using refmap to resolve references.
|
||
var parseInlines = function(block) {
|
||
this.subject = block._string_content.trim();
|
||
this.pos = 0;
|
||
this.delimiters = null;
|
||
this.brackets = null;
|
||
while (this.parseInline(block)) {}
|
||
block._string_content = null; // allow raw string to be garbage collected
|
||
this.processEmphasis(null);
|
||
};
|
||
|
||
// The InlineParser object.
|
||
function InlineParser(options) {
|
||
return {
|
||
subject: "",
|
||
delimiters: null, // used by handleDelim method
|
||
brackets: null,
|
||
pos: 0,
|
||
refmap: {},
|
||
match: match,
|
||
peek: peek,
|
||
spnl: spnl,
|
||
parseBackticks: parseBackticks,
|
||
parseBackslash: parseBackslash,
|
||
parseAutolink: parseAutolink,
|
||
parseHtmlTag: parseHtmlTag,
|
||
scanDelims: scanDelims,
|
||
handleDelim: handleDelim,
|
||
parseLinkTitle: parseLinkTitle,
|
||
parseLinkDestination: parseLinkDestination,
|
||
parseLinkLabel: parseLinkLabel,
|
||
parseOpenBracket: parseOpenBracket,
|
||
parseBang: parseBang,
|
||
parseCloseBracket: parseCloseBracket,
|
||
addBracket: addBracket,
|
||
removeBracket: removeBracket,
|
||
parseEntity: parseEntity,
|
||
parseString: parseString,
|
||
parseNewline: parseNewline,
|
||
parseReference: parseReference,
|
||
parseInline: parseInline,
|
||
processEmphasis: processEmphasis,
|
||
removeDelimiter: removeDelimiter,
|
||
options: options || {},
|
||
parse: parseInlines
|
||
};
|
||
}
|
||
|
||
var CODE_INDENT = 4;
|
||
|
||
var C_TAB = 9;
|
||
var C_NEWLINE$1 = 10;
|
||
var C_GREATERTHAN = 62;
|
||
var C_LESSTHAN$1 = 60;
|
||
var C_SPACE = 32;
|
||
var C_OPEN_BRACKET$1 = 91;
|
||
|
||
var reHtmlBlockOpen = [
|
||
/./, // dummy for 0
|
||
/^<(?:script|pre|textarea|style)(?:\s|>|$)/i,
|
||
/^<!--/,
|
||
/^<[?]/,
|
||
/^<![A-Z]/,
|
||
/^<!\[CDATA\[/,
|
||
/^<[/]?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[123456]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|[/]?[>]|$)/i,
|
||
new RegExp("^(?:" + OPENTAG + "|" + CLOSETAG + ")\\s*$", "i")
|
||
];
|
||
|
||
var reHtmlBlockClose = [
|
||
/./, // dummy for 0
|
||
/<\/(?:script|pre|textarea|style)>/i,
|
||
/-->/,
|
||
/\?>/,
|
||
/>/,
|
||
/\]\]>/
|
||
];
|
||
|
||
var reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
|
||
|
||
var reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
|
||
|
||
var reNonSpace = /[^ \t\f\v\r\n]/;
|
||
|
||
var reBulletListMarker = /^[*+-]/;
|
||
|
||
var reOrderedListMarker = /^(\d{1,9})([.)])/;
|
||
|
||
var reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
|
||
|
||
var reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
|
||
|
||
var reClosingCodeFence = /^(?:`{3,}|~{3,})(?= *$)/;
|
||
|
||
var reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
|
||
|
||
var reLineEnding = /\r\n|\n|\r/;
|
||
|
||
// Returns true if string contains only space characters.
|
||
var isBlank = function(s) {
|
||
return !reNonSpace.test(s);
|
||
};
|
||
|
||
var isSpaceOrTab = function(c) {
|
||
return c === C_SPACE || c === C_TAB;
|
||
};
|
||
|
||
var peek$1 = function(ln, pos) {
|
||
if (pos < ln.length) {
|
||
return ln.charCodeAt(pos);
|
||
} else {
|
||
return -1;
|
||
}
|
||
};
|
||
|
||
// DOC PARSER
|
||
|
||
// These are methods of a Parser object, defined below.
|
||
|
||
// Returns true if block ends with a blank line, descending if needed
|
||
// into lists and sublists.
|
||
var endsWithBlankLine = function(block) {
|
||
while (block) {
|
||
if (block._lastLineBlank) {
|
||
return true;
|
||
}
|
||
var t = block.type;
|
||
if (!block._lastLineChecked && (t === "list" || t === "item")) {
|
||
block._lastLineChecked = true;
|
||
block = block._lastChild;
|
||
} else {
|
||
block._lastLineChecked = true;
|
||
break;
|
||
}
|
||
}
|
||
return false;
|
||
};
|
||
|
||
// Add a line to the block at the tip. We assume the tip
|
||
// can accept lines -- that check should be done before calling this.
|
||
var addLine = function() {
|
||
if (this.partiallyConsumedTab) {
|
||
this.offset += 1; // skip over tab
|
||
// add space characters:
|
||
var charsToTab = 4 - (this.column % 4);
|
||
this.tip._string_content += " ".repeat(charsToTab);
|
||
}
|
||
this.tip._string_content += this.currentLine.slice(this.offset) + "\n";
|
||
};
|
||
|
||
// Add block of type tag as a child of the tip. If the tip can't
|
||
// accept children, close and finalize it and try its parent,
|
||
// and so on til we find a block that can accept children.
|
||
var addChild = function(tag, offset) {
|
||
while (!this.blocks[this.tip.type].canContain(tag)) {
|
||
this.finalize(this.tip, this.lineNumber - 1);
|
||
}
|
||
|
||
var column_number = offset + 1; // offset 0 = column 1
|
||
var newBlock = new Node(tag, [
|
||
[this.lineNumber, column_number],
|
||
[0, 0]
|
||
]);
|
||
newBlock._string_content = "";
|
||
this.tip.appendChild(newBlock);
|
||
this.tip = newBlock;
|
||
return newBlock;
|
||
};
|
||
|
||
// Parse a list marker and return data on the marker (type,
|
||
// start, delimiter, bullet character, padding) or null.
|
||
var parseListMarker = function(parser, container) {
|
||
var rest = parser.currentLine.slice(parser.nextNonspace);
|
||
var match;
|
||
var nextc;
|
||
var spacesStartCol;
|
||
var spacesStartOffset;
|
||
var data = {
|
||
type: null,
|
||
tight: true, // lists are tight by default
|
||
bulletChar: null,
|
||
start: null,
|
||
delimiter: null,
|
||
padding: null,
|
||
markerOffset: parser.indent
|
||
};
|
||
if (parser.indent >= 4) {
|
||
return null;
|
||
}
|
||
if ((match = rest.match(reBulletListMarker))) {
|
||
data.type = "bullet";
|
||
data.bulletChar = match[0][0];
|
||
} else if (
|
||
(match = rest.match(reOrderedListMarker)) &&
|
||
(container.type !== "paragraph" || match[1] == 1)
|
||
) {
|
||
data.type = "ordered";
|
||
data.start = parseInt(match[1]);
|
||
data.delimiter = match[2];
|
||
} else {
|
||
return null;
|
||
}
|
||
// make sure we have spaces after
|
||
nextc = peek$1(parser.currentLine, parser.nextNonspace + match[0].length);
|
||
if (!(nextc === -1 || nextc === C_TAB || nextc === C_SPACE)) {
|
||
return null;
|
||
}
|
||
|
||
// if it interrupts paragraph, make sure first line isn't blank
|
||
if (
|
||
container.type === "paragraph" &&
|
||
!parser.currentLine
|
||
.slice(parser.nextNonspace + match[0].length)
|
||
.match(reNonSpace)
|
||
) {
|
||
return null;
|
||
}
|
||
|
||
// we've got a match! advance offset and calculate padding
|
||
parser.advanceNextNonspace(); // to start of marker
|
||
parser.advanceOffset(match[0].length, true); // to end of marker
|
||
spacesStartCol = parser.column;
|
||
spacesStartOffset = parser.offset;
|
||
do {
|
||
parser.advanceOffset(1, true);
|
||
nextc = peek$1(parser.currentLine, parser.offset);
|
||
} while (parser.column - spacesStartCol < 5 && isSpaceOrTab(nextc));
|
||
var blank_item = peek$1(parser.currentLine, parser.offset) === -1;
|
||
var spaces_after_marker = parser.column - spacesStartCol;
|
||
if (spaces_after_marker >= 5 || spaces_after_marker < 1 || blank_item) {
|
||
data.padding = match[0].length + 1;
|
||
parser.column = spacesStartCol;
|
||
parser.offset = spacesStartOffset;
|
||
if (isSpaceOrTab(peek$1(parser.currentLine, parser.offset))) {
|
||
parser.advanceOffset(1, true);
|
||
}
|
||
} else {
|
||
data.padding = match[0].length + spaces_after_marker;
|
||
}
|
||
return data;
|
||
};
|
||
|
||
// Returns true if the two list items are of the same type,
|
||
// with the same delimiter and bullet character. This is used
|
||
// in agglomerating list items into lists.
|
||
var listsMatch = function(list_data, item_data) {
|
||
return (
|
||
list_data.type === item_data.type &&
|
||
list_data.delimiter === item_data.delimiter &&
|
||
list_data.bulletChar === item_data.bulletChar
|
||
);
|
||
};
|
||
|
||
// Finalize and close any unmatched blocks.
|
||
var closeUnmatchedBlocks = function() {
|
||
if (!this.allClosed) {
|
||
// finalize any blocks not matched
|
||
while (this.oldtip !== this.lastMatchedContainer) {
|
||
var parent = this.oldtip._parent;
|
||
this.finalize(this.oldtip, this.lineNumber - 1);
|
||
this.oldtip = parent;
|
||
}
|
||
this.allClosed = true;
|
||
}
|
||
};
|
||
|
||
// 'finalize' is run when the block is closed.
|
||
// 'continue' is run to check whether the block is continuing
|
||
// at a certain line and offset (e.g. whether a block quote
|
||
// contains a `>`. It returns 0 for matched, 1 for not matched,
|
||
// and 2 for "we've dealt with this line completely, go to next."
|
||
var blocks = {
|
||
document: {
|
||
continue: function() {
|
||
return 0;
|
||
},
|
||
finalize: function() {
|
||
return;
|
||
},
|
||
canContain: function(t) {
|
||
return t !== "item";
|
||
},
|
||
acceptsLines: false
|
||
},
|
||
list: {
|
||
continue: function() {
|
||
return 0;
|
||
},
|
||
finalize: function(parser, block) {
|
||
var item = block._firstChild;
|
||
while (item) {
|
||
// check for non-final list item ending with blank line:
|
||
if (endsWithBlankLine(item) && item._next) {
|
||
block._listData.tight = false;
|
||
break;
|
||
}
|
||
// recurse into children of list item, to see if there are
|
||
// spaces between any of them:
|
||
var subitem = item._firstChild;
|
||
while (subitem) {
|
||
if (
|
||
endsWithBlankLine(subitem) &&
|
||
(item._next || subitem._next)
|
||
) {
|
||
block._listData.tight = false;
|
||
break;
|
||
}
|
||
subitem = subitem._next;
|
||
}
|
||
item = item._next;
|
||
}
|
||
},
|
||
canContain: function(t) {
|
||
return t === "item";
|
||
},
|
||
acceptsLines: false
|
||
},
|
||
block_quote: {
|
||
continue: function(parser) {
|
||
var ln = parser.currentLine;
|
||
if (
|
||
!parser.indented &&
|
||
peek$1(ln, parser.nextNonspace) === C_GREATERTHAN
|
||
) {
|
||
parser.advanceNextNonspace();
|
||
parser.advanceOffset(1, false);
|
||
if (isSpaceOrTab(peek$1(ln, parser.offset))) {
|
||
parser.advanceOffset(1, true);
|
||
}
|
||
} else {
|
||
return 1;
|
||
}
|
||
return 0;
|
||
},
|
||
finalize: function() {
|
||
return;
|
||
},
|
||
canContain: function(t) {
|
||
return t !== "item";
|
||
},
|
||
acceptsLines: false
|
||
},
|
||
item: {
|
||
continue: function(parser, container) {
|
||
if (parser.blank) {
|
||
if (container._firstChild == null) {
|
||
// Blank line after empty list item
|
||
return 1;
|
||
} else {
|
||
parser.advanceNextNonspace();
|
||
}
|
||
} else if (
|
||
parser.indent >=
|
||
container._listData.markerOffset + container._listData.padding
|
||
) {
|
||
parser.advanceOffset(
|
||
container._listData.markerOffset +
|
||
container._listData.padding,
|
||
true
|
||
);
|
||
} else {
|
||
return 1;
|
||
}
|
||
return 0;
|
||
},
|
||
finalize: function() {
|
||
return;
|
||
},
|
||
canContain: function(t) {
|
||
return t !== "item";
|
||
},
|
||
acceptsLines: false
|
||
},
|
||
heading: {
|
||
continue: function() {
|
||
// a heading can never container > 1 line, so fail to match:
|
||
return 1;
|
||
},
|
||
finalize: function() {
|
||
return;
|
||
},
|
||
canContain: function() {
|
||
return false;
|
||
},
|
||
acceptsLines: false
|
||
},
|
||
thematic_break: {
|
||
continue: function() {
|
||
// a thematic break can never container > 1 line, so fail to match:
|
||
return 1;
|
||
},
|
||
finalize: function() {
|
||
return;
|
||
},
|
||
canContain: function() {
|
||
return false;
|
||
},
|
||
acceptsLines: false
|
||
},
|
||
code_block: {
|
||
continue: function(parser, container) {
|
||
var ln = parser.currentLine;
|
||
var indent = parser.indent;
|
||
if (container._isFenced) {
|
||
// fenced
|
||
var match =
|
||
indent <= 3 &&
|
||
ln.charAt(parser.nextNonspace) === container._fenceChar &&
|
||
ln.slice(parser.nextNonspace).match(reClosingCodeFence);
|
||
if (match && match[0].length >= container._fenceLength) {
|
||
// closing fence - we're at end of line, so we can return
|
||
parser.lastLineLength =
|
||
parser.offset + indent + match[0].length;
|
||
parser.finalize(container, parser.lineNumber);
|
||
return 2;
|
||
} else {
|
||
// skip optional spaces of fence offset
|
||
var i = container._fenceOffset;
|
||
while (i > 0 && isSpaceOrTab(peek$1(ln, parser.offset))) {
|
||
parser.advanceOffset(1, true);
|
||
i--;
|
||
}
|
||
}
|
||
} else {
|
||
// indented
|
||
if (indent >= CODE_INDENT) {
|
||
parser.advanceOffset(CODE_INDENT, true);
|
||
} else if (parser.blank) {
|
||
parser.advanceNextNonspace();
|
||
} else {
|
||
return 1;
|
||
}
|
||
}
|
||
return 0;
|
||
},
|
||
finalize: function(parser, block) {
|
||
if (block._isFenced) {
|
||
// fenced
|
||
// first line becomes info string
|
||
var content = block._string_content;
|
||
var newlinePos = content.indexOf("\n");
|
||
var firstLine = content.slice(0, newlinePos);
|
||
var rest = content.slice(newlinePos + 1);
|
||
block.info = unescapeString(firstLine.trim());
|
||
block._literal = rest;
|
||
} else {
|
||
// indented
|
||
block._literal = block._string_content.replace(
|
||
/(\n *)+$/,
|
||
"\n"
|
||
);
|
||
}
|
||
block._string_content = null; // allow GC
|
||
},
|
||
canContain: function() {
|
||
return false;
|
||
},
|
||
acceptsLines: true
|
||
},
|
||
html_block: {
|
||
continue: function(parser, container) {
|
||
return parser.blank &&
|
||
(container._htmlBlockType === 6 ||
|
||
container._htmlBlockType === 7)
|
||
? 1
|
||
: 0;
|
||
},
|
||
finalize: function(parser, block) {
|
||
block._literal = block._string_content.replace(/(\n *)+$/, "");
|
||
block._string_content = null; // allow GC
|
||
},
|
||
canContain: function() {
|
||
return false;
|
||
},
|
||
acceptsLines: true
|
||
},
|
||
paragraph: {
|
||
continue: function(parser) {
|
||
return parser.blank ? 1 : 0;
|
||
},
|
||
finalize: function(parser, block) {
|
||
var pos;
|
||
var hasReferenceDefs = false;
|
||
|
||
// try parsing the beginning as link reference definitions:
|
||
while (
|
||
peek$1(block._string_content, 0) === C_OPEN_BRACKET$1 &&
|
||
(pos = parser.inlineParser.parseReference(
|
||
block._string_content,
|
||
parser.refmap
|
||
))
|
||
) {
|
||
block._string_content = block._string_content.slice(pos);
|
||
hasReferenceDefs = true;
|
||
}
|
||
if (hasReferenceDefs && isBlank(block._string_content)) {
|
||
block.unlink();
|
||
}
|
||
},
|
||
canContain: function() {
|
||
return false;
|
||
},
|
||
acceptsLines: true
|
||
}
|
||
};
|
||
|
||
// block start functions. Return values:
|
||
// 0 = no match
|
||
// 1 = matched container, keep going
|
||
// 2 = matched leaf, no more block starts
|
||
var blockStarts = [
|
||
// block quote
|
||
function(parser) {
|
||
if (
|
||
!parser.indented &&
|
||
peek$1(parser.currentLine, parser.nextNonspace) === C_GREATERTHAN
|
||
) {
|
||
parser.advanceNextNonspace();
|
||
parser.advanceOffset(1, false);
|
||
// optional following space
|
||
if (isSpaceOrTab(peek$1(parser.currentLine, parser.offset))) {
|
||
parser.advanceOffset(1, true);
|
||
}
|
||
parser.closeUnmatchedBlocks();
|
||
parser.addChild("block_quote", parser.nextNonspace);
|
||
return 1;
|
||
} else {
|
||
return 0;
|
||
}
|
||
},
|
||
|
||
// ATX heading
|
||
function(parser) {
|
||
var match;
|
||
if (
|
||
!parser.indented &&
|
||
(match = parser.currentLine
|
||
.slice(parser.nextNonspace)
|
||
.match(reATXHeadingMarker))
|
||
) {
|
||
parser.advanceNextNonspace();
|
||
parser.advanceOffset(match[0].length, false);
|
||
parser.closeUnmatchedBlocks();
|
||
var container = parser.addChild("heading", parser.nextNonspace);
|
||
container.level = match[0].trim().length; // number of #s
|
||
// remove trailing ###s:
|
||
container._string_content = parser.currentLine
|
||
.slice(parser.offset)
|
||
.replace(/^[ \t]*#+[ \t]*$/, "")
|
||
.replace(/[ \t]+#+[ \t]*$/, "");
|
||
parser.advanceOffset(parser.currentLine.length - parser.offset);
|
||
return 2;
|
||
} else {
|
||
return 0;
|
||
}
|
||
},
|
||
|
||
// Fenced code block
|
||
function(parser) {
|
||
var match;
|
||
if (
|
||
!parser.indented &&
|
||
(match = parser.currentLine
|
||
.slice(parser.nextNonspace)
|
||
.match(reCodeFence))
|
||
) {
|
||
var fenceLength = match[0].length;
|
||
parser.closeUnmatchedBlocks();
|
||
var container = parser.addChild("code_block", parser.nextNonspace);
|
||
container._isFenced = true;
|
||
container._fenceLength = fenceLength;
|
||
container._fenceChar = match[0][0];
|
||
container._fenceOffset = parser.indent;
|
||
parser.advanceNextNonspace();
|
||
parser.advanceOffset(fenceLength, false);
|
||
return 2;
|
||
} else {
|
||
return 0;
|
||
}
|
||
},
|
||
|
||
// HTML block
|
||
function(parser, container) {
|
||
if (
|
||
!parser.indented &&
|
||
peek$1(parser.currentLine, parser.nextNonspace) === C_LESSTHAN$1
|
||
) {
|
||
var s = parser.currentLine.slice(parser.nextNonspace);
|
||
var blockType;
|
||
|
||
for (blockType = 1; blockType <= 7; blockType++) {
|
||
if (
|
||
reHtmlBlockOpen[blockType].test(s) &&
|
||
(blockType < 7 || (container.type !== "paragraph" &&
|
||
!(!parser.allClosed && !parser.blank &&
|
||
parser.tip.type === "paragraph") // maybe lazy
|
||
))
|
||
) {
|
||
parser.closeUnmatchedBlocks();
|
||
// We don't adjust parser.offset;
|
||
// spaces are part of the HTML block:
|
||
var b = parser.addChild("html_block", parser.offset);
|
||
b._htmlBlockType = blockType;
|
||
return 2;
|
||
}
|
||
}
|
||
}
|
||
|
||
return 0;
|
||
},
|
||
|
||
// Setext heading
|
||
function(parser, container) {
|
||
var match;
|
||
if (
|
||
!parser.indented &&
|
||
container.type === "paragraph" &&
|
||
(match = parser.currentLine
|
||
.slice(parser.nextNonspace)
|
||
.match(reSetextHeadingLine))
|
||
) {
|
||
parser.closeUnmatchedBlocks();
|
||
// resolve reference link definitiosn
|
||
var pos;
|
||
while (
|
||
peek$1(container._string_content, 0) === C_OPEN_BRACKET$1 &&
|
||
(pos = parser.inlineParser.parseReference(
|
||
container._string_content,
|
||
parser.refmap
|
||
))
|
||
) {
|
||
container._string_content = container._string_content.slice(
|
||
pos
|
||
);
|
||
}
|
||
if (container._string_content.length > 0) {
|
||
var heading = new Node("heading", container.sourcepos);
|
||
heading.level = match[0][0] === "=" ? 1 : 2;
|
||
heading._string_content = container._string_content;
|
||
container.insertAfter(heading);
|
||
container.unlink();
|
||
parser.tip = heading;
|
||
parser.advanceOffset(
|
||
parser.currentLine.length - parser.offset,
|
||
false
|
||
);
|
||
return 2;
|
||
} else {
|
||
return 0;
|
||
}
|
||
} else {
|
||
return 0;
|
||
}
|
||
},
|
||
|
||
// thematic break
|
||
function(parser) {
|
||
if (
|
||
!parser.indented &&
|
||
reThematicBreak.test(parser.currentLine.slice(parser.nextNonspace))
|
||
) {
|
||
parser.closeUnmatchedBlocks();
|
||
parser.addChild("thematic_break", parser.nextNonspace);
|
||
parser.advanceOffset(
|
||
parser.currentLine.length - parser.offset,
|
||
false
|
||
);
|
||
return 2;
|
||
} else {
|
||
return 0;
|
||
}
|
||
},
|
||
|
||
// list item
|
||
function(parser, container) {
|
||
var data;
|
||
|
||
if (
|
||
(!parser.indented || container.type === "list") &&
|
||
(data = parseListMarker(parser, container))
|
||
) {
|
||
parser.closeUnmatchedBlocks();
|
||
|
||
// add the list if needed
|
||
if (
|
||
parser.tip.type !== "list" ||
|
||
!listsMatch(container._listData, data)
|
||
) {
|
||
container = parser.addChild("list", parser.nextNonspace);
|
||
container._listData = data;
|
||
}
|
||
|
||
// add the list item
|
||
container = parser.addChild("item", parser.nextNonspace);
|
||
container._listData = data;
|
||
return 1;
|
||
} else {
|
||
return 0;
|
||
}
|
||
},
|
||
|
||
// indented code block
|
||
function(parser) {
|
||
if (
|
||
parser.indented &&
|
||
parser.tip.type !== "paragraph" &&
|
||
!parser.blank
|
||
) {
|
||
// indented code
|
||
parser.advanceOffset(CODE_INDENT, true);
|
||
parser.closeUnmatchedBlocks();
|
||
parser.addChild("code_block", parser.offset);
|
||
return 2;
|
||
} else {
|
||
return 0;
|
||
}
|
||
}
|
||
];
|
||
|
||
var advanceOffset = function(count, columns) {
|
||
var currentLine = this.currentLine;
|
||
var charsToTab, charsToAdvance;
|
||
var c;
|
||
while (count > 0 && (c = currentLine[this.offset])) {
|
||
if (c === "\t") {
|
||
charsToTab = 4 - (this.column % 4);
|
||
if (columns) {
|
||
this.partiallyConsumedTab = charsToTab > count;
|
||
charsToAdvance = charsToTab > count ? count : charsToTab;
|
||
this.column += charsToAdvance;
|
||
this.offset += this.partiallyConsumedTab ? 0 : 1;
|
||
count -= charsToAdvance;
|
||
} else {
|
||
this.partiallyConsumedTab = false;
|
||
this.column += charsToTab;
|
||
this.offset += 1;
|
||
count -= 1;
|
||
}
|
||
} else {
|
||
this.partiallyConsumedTab = false;
|
||
this.offset += 1;
|
||
this.column += 1; // assume ascii; block starts are ascii
|
||
count -= 1;
|
||
}
|
||
}
|
||
};
|
||
|
||
var advanceNextNonspace = function() {
|
||
this.offset = this.nextNonspace;
|
||
this.column = this.nextNonspaceColumn;
|
||
this.partiallyConsumedTab = false;
|
||
};
|
||
|
||
var findNextNonspace = function() {
|
||
var currentLine = this.currentLine;
|
||
var i = this.offset;
|
||
var cols = this.column;
|
||
var c;
|
||
|
||
while ((c = currentLine.charAt(i)) !== "") {
|
||
if (c === " ") {
|
||
i++;
|
||
cols++;
|
||
} else if (c === "\t") {
|
||
i++;
|
||
cols += 4 - (cols % 4);
|
||
} else {
|
||
break;
|
||
}
|
||
}
|
||
this.blank = c === "\n" || c === "\r" || c === "";
|
||
this.nextNonspace = i;
|
||
this.nextNonspaceColumn = cols;
|
||
this.indent = this.nextNonspaceColumn - this.column;
|
||
this.indented = this.indent >= CODE_INDENT;
|
||
};
|
||
|
||
// Analyze a line of text and update the document appropriately.
|
||
// We parse markdown text by calling this on each line of input,
|
||
// then finalizing the document.
|
||
var incorporateLine = function(ln) {
|
||
var all_matched = true;
|
||
var t;
|
||
|
||
var container = this.doc;
|
||
this.oldtip = this.tip;
|
||
this.offset = 0;
|
||
this.column = 0;
|
||
this.blank = false;
|
||
this.partiallyConsumedTab = false;
|
||
this.lineNumber += 1;
|
||
|
||
// replace NUL characters for security
|
||
if (ln.indexOf("\u0000") !== -1) {
|
||
ln = ln.replace(/\0/g, "\uFFFD");
|
||
}
|
||
|
||
this.currentLine = ln;
|
||
|
||
// For each containing block, try to parse the associated line start.
|
||
// Bail out on failure: container will point to the last matching block.
|
||
// Set all_matched to false if not all containers match.
|
||
var lastChild;
|
||
while ((lastChild = container._lastChild) && lastChild._open) {
|
||
container = lastChild;
|
||
|
||
this.findNextNonspace();
|
||
|
||
switch (this.blocks[container.type].continue(this, container)) {
|
||
case 0: // we've matched, keep going
|
||
break;
|
||
case 1: // we've failed to match a block
|
||
all_matched = false;
|
||
break;
|
||
case 2: // we've hit end of line for fenced code close and can return
|
||
return;
|
||
default:
|
||
throw "continue returned illegal value, must be 0, 1, or 2";
|
||
}
|
||
if (!all_matched) {
|
||
container = container._parent; // back up to last matching block
|
||
break;
|
||
}
|
||
}
|
||
|
||
this.allClosed = container === this.oldtip;
|
||
this.lastMatchedContainer = container;
|
||
|
||
var matchedLeaf =
|
||
container.type !== "paragraph" && blocks[container.type].acceptsLines;
|
||
var starts = this.blockStarts;
|
||
var startsLen = starts.length;
|
||
// Unless last matched container is a code block, try new container starts,
|
||
// adding children to the last matched container:
|
||
while (!matchedLeaf) {
|
||
this.findNextNonspace();
|
||
|
||
// this is a little performance optimization:
|
||
if (
|
||
!this.indented &&
|
||
!reMaybeSpecial.test(ln.slice(this.nextNonspace))
|
||
) {
|
||
this.advanceNextNonspace();
|
||
break;
|
||
}
|
||
|
||
var i = 0;
|
||
while (i < startsLen) {
|
||
var res = starts[i](this, container);
|
||
if (res === 1) {
|
||
container = this.tip;
|
||
break;
|
||
} else if (res === 2) {
|
||
container = this.tip;
|
||
matchedLeaf = true;
|
||
break;
|
||
} else {
|
||
i++;
|
||
}
|
||
}
|
||
|
||
if (i === startsLen) {
|
||
// nothing matched
|
||
this.advanceNextNonspace();
|
||
break;
|
||
}
|
||
}
|
||
|
||
// What remains at the offset is a text line. Add the text to the
|
||
// appropriate container.
|
||
|
||
// First check for a lazy paragraph continuation:
|
||
if (!this.allClosed && !this.blank && this.tip.type === "paragraph") {
|
||
// lazy paragraph continuation
|
||
this.addLine();
|
||
} else {
|
||
// not a lazy continuation
|
||
|
||
// finalize any blocks not matched
|
||
this.closeUnmatchedBlocks();
|
||
if (this.blank && container.lastChild) {
|
||
container.lastChild._lastLineBlank = true;
|
||
}
|
||
|
||
t = container.type;
|
||
|
||
// Block quote lines are never blank as they start with >
|
||
// and we don't count blanks in fenced code for purposes of tight/loose
|
||
// lists or breaking out of lists. We also don't set _lastLineBlank
|
||
// on an empty list item, or if we just closed a fenced block.
|
||
var lastLineBlank =
|
||
this.blank &&
|
||
!(
|
||
t === "block_quote" ||
|
||
(t === "code_block" && container._isFenced) ||
|
||
(t === "item" &&
|
||
!container._firstChild &&
|
||
container.sourcepos[0][0] === this.lineNumber)
|
||
);
|
||
|
||
// propagate lastLineBlank up through parents:
|
||
var cont = container;
|
||
while (cont) {
|
||
cont._lastLineBlank = lastLineBlank;
|
||
cont = cont._parent;
|
||
}
|
||
|
||
if (this.blocks[t].acceptsLines) {
|
||
this.addLine();
|
||
// if HtmlBlock, check for end condition
|
||
if (
|
||
t === "html_block" &&
|
||
container._htmlBlockType >= 1 &&
|
||
container._htmlBlockType <= 5 &&
|
||
reHtmlBlockClose[container._htmlBlockType].test(
|
||
this.currentLine.slice(this.offset)
|
||
)
|
||
) {
|
||
this.lastLineLength = ln.length;
|
||
this.finalize(container, this.lineNumber);
|
||
}
|
||
} else if (this.offset < ln.length && !this.blank) {
|
||
// create paragraph container for line
|
||
container = this.addChild("paragraph", this.offset);
|
||
this.advanceNextNonspace();
|
||
this.addLine();
|
||
}
|
||
}
|
||
this.lastLineLength = ln.length;
|
||
};
|
||
|
||
// Finalize a block. Close it and do any necessary postprocessing,
|
||
// e.g. creating string_content from strings, setting the 'tight'
|
||
// or 'loose' status of a list, and parsing the beginnings
|
||
// of paragraphs for reference definitions. Reset the tip to the
|
||
// parent of the closed block.
|
||
var finalize = function(block, lineNumber) {
|
||
var above = block._parent;
|
||
block._open = false;
|
||
block.sourcepos[1] = [lineNumber, this.lastLineLength];
|
||
|
||
this.blocks[block.type].finalize(this, block);
|
||
|
||
this.tip = above;
|
||
};
|
||
|
||
// Walk through a block & children recursively, parsing string content
|
||
// into inline content where appropriate.
|
||
var processInlines = function(block) {
|
||
var node, event, t;
|
||
var walker = block.walker();
|
||
this.inlineParser.refmap = this.refmap;
|
||
this.inlineParser.options = this.options;
|
||
while ((event = walker.next())) {
|
||
node = event.node;
|
||
t = node.type;
|
||
if (!event.entering && (t === "paragraph" || t === "heading")) {
|
||
this.inlineParser.parse(node);
|
||
}
|
||
}
|
||
};
|
||
|
||
var Document = function() {
|
||
var doc = new Node("document", [
|
||
[1, 1],
|
||
[0, 0]
|
||
]);
|
||
return doc;
|
||
};
|
||
|
||
// The main parsing function. Returns a parsed document AST.
|
||
var parse = function(input) {
|
||
this.doc = new Document();
|
||
this.tip = this.doc;
|
||
this.refmap = {};
|
||
this.lineNumber = 0;
|
||
this.lastLineLength = 0;
|
||
this.offset = 0;
|
||
this.column = 0;
|
||
this.lastMatchedContainer = this.doc;
|
||
this.currentLine = "";
|
||
if (this.options.time) {
|
||
console.time("preparing input");
|
||
}
|
||
var lines = input.split(reLineEnding);
|
||
var len = lines.length;
|
||
if (input.charCodeAt(input.length - 1) === C_NEWLINE$1) {
|
||
// ignore last blank line created by final newline
|
||
len -= 1;
|
||
}
|
||
if (this.options.time) {
|
||
console.timeEnd("preparing input");
|
||
}
|
||
if (this.options.time) {
|
||
console.time("block parsing");
|
||
}
|
||
for (var i = 0; i < len; i++) {
|
||
this.incorporateLine(lines[i]);
|
||
}
|
||
while (this.tip) {
|
||
this.finalize(this.tip, len);
|
||
}
|
||
if (this.options.time) {
|
||
console.timeEnd("block parsing");
|
||
}
|
||
if (this.options.time) {
|
||
console.time("inline parsing");
|
||
}
|
||
this.processInlines(this.doc);
|
||
if (this.options.time) {
|
||
console.timeEnd("inline parsing");
|
||
}
|
||
return this.doc;
|
||
};
|
||
|
||
// The Parser object.
|
||
function Parser(options) {
|
||
return {
|
||
doc: new Document(),
|
||
blocks: blocks,
|
||
blockStarts: blockStarts,
|
||
tip: this.doc,
|
||
oldtip: this.doc,
|
||
currentLine: "",
|
||
lineNumber: 0,
|
||
offset: 0,
|
||
column: 0,
|
||
nextNonspace: 0,
|
||
nextNonspaceColumn: 0,
|
||
indent: 0,
|
||
indented: false,
|
||
blank: false,
|
||
partiallyConsumedTab: false,
|
||
allClosed: true,
|
||
lastMatchedContainer: this.doc,
|
||
refmap: {},
|
||
lastLineLength: 0,
|
||
inlineParser: new InlineParser(options),
|
||
findNextNonspace: findNextNonspace,
|
||
advanceOffset: advanceOffset,
|
||
advanceNextNonspace: advanceNextNonspace,
|
||
addLine: addLine,
|
||
addChild: addChild,
|
||
incorporateLine: incorporateLine,
|
||
finalize: finalize,
|
||
processInlines: processInlines,
|
||
closeUnmatchedBlocks: closeUnmatchedBlocks,
|
||
parse: parse,
|
||
options: options || {}
|
||
};
|
||
}
|
||
|
||
function Renderer() {}
|
||
|
||
/**
|
||
* Walks the AST and calls member methods for each Node type.
|
||
*
|
||
* @param ast {Node} The root of the abstract syntax tree.
|
||
*/
|
||
function render(ast) {
|
||
var walker = ast.walker(),
|
||
event,
|
||
type;
|
||
|
||
this.buffer = "";
|
||
this.lastOut = "\n";
|
||
this.heading_count = 0;
|
||
|
||
while ((event = walker.next())) {
|
||
type = event.node.type;
|
||
if (this[type]) {
|
||
this[type](event.node, event.entering);
|
||
}
|
||
}
|
||
return this.buffer;
|
||
}
|
||
|
||
/**
|
||
* Concatenate a literal string to the buffer.
|
||
*
|
||
* @param str {String} The string to concatenate.
|
||
*/
|
||
function lit(str) {
|
||
this.buffer += str;
|
||
this.lastOut = str;
|
||
}
|
||
|
||
/**
|
||
* Output a newline to the buffer.
|
||
*/
|
||
function cr() {
|
||
if (this.lastOut !== "\n") {
|
||
this.lit("\n");
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Concatenate a string to the buffer possibly escaping the content.
|
||
*
|
||
* Concrete renderer implementations should override this method.
|
||
*
|
||
* @param str {String} The string to concatenate.
|
||
*/
|
||
function out(str) {
|
||
this.lit(str);
|
||
}
|
||
|
||
/**
|
||
* Escape a string for the target renderer.
|
||
*
|
||
* Abstract function that should be implemented by concrete
|
||
* renderer implementations.
|
||
*
|
||
* @param str {String} The string to escape.
|
||
*/
|
||
function esc(str) {
|
||
return str;
|
||
}
|
||
|
||
Renderer.prototype.render = render;
|
||
Renderer.prototype.out = out;
|
||
Renderer.prototype.lit = lit;
|
||
Renderer.prototype.cr = cr;
|
||
Renderer.prototype.esc = esc;
|
||
|
||
var reUnsafeProtocol = /^javascript:|vbscript:|file:|data:/i;
|
||
var reSafeDataProtocol = /^data:image\/(?:png|gif|jpeg|webp)/i;
|
||
|
||
var potentiallyUnsafe = function(url) {
|
||
return reUnsafeProtocol.test(url) && !reSafeDataProtocol.test(url);
|
||
};
|
||
|
||
// Helper function to produce an HTML tag.
|
||
function tag(name, attrs, selfclosing) {
|
||
if (this.disableTags > 0) {
|
||
return;
|
||
}
|
||
this.buffer += "<" + name;
|
||
if (attrs && attrs.length > 0) {
|
||
var i = 0;
|
||
var attrib;
|
||
while ((attrib = attrs[i]) !== undefined) {
|
||
this.buffer += " " + attrib[0] + '="' + attrib[1] + '"';
|
||
i++;
|
||
}
|
||
}
|
||
if (selfclosing) {
|
||
this.buffer += " /";
|
||
}
|
||
this.buffer += ">";
|
||
this.lastOut = ">";
|
||
}
|
||
|
||
function HtmlRenderer(options) {
|
||
options = options || {};
|
||
// by default, soft breaks are rendered as newlines in HTML
|
||
options.softbreak = options.softbreak || "\n";
|
||
// set to "<br />" to make them hard breaks
|
||
// set to " " if you want to ignore line wrapping in source
|
||
this.esc = options.esc || escapeXml;
|
||
// escape html with a custom function
|
||
// else use escapeXml
|
||
|
||
this.disableTags = 0;
|
||
this.lastOut = "\n";
|
||
this.options = options;
|
||
}
|
||
|
||
/* Node methods */
|
||
|
||
function text$1(node) {
|
||
this.out(node.literal);
|
||
}
|
||
|
||
function softbreak() {
|
||
this.lit(this.options.softbreak);
|
||
}
|
||
|
||
function linebreak() {
|
||
this.tag("br", [], true);
|
||
this.cr();
|
||
}
|
||
|
||
function link(node, entering) {
|
||
var attrs = this.attrs(node);
|
||
if (entering) {
|
||
if (!(this.options.safe && potentiallyUnsafe(node.destination))) {
|
||
attrs.push(["href", this.esc(node.destination)]);
|
||
}
|
||
if (node.title) {
|
||
attrs.push(["title", this.esc(node.title)]);
|
||
}
|
||
this.tag("a", attrs);
|
||
} else {
|
||
this.tag("/a");
|
||
}
|
||
}
|
||
|
||
function image$1(node, entering) {
|
||
if (entering) {
|
||
if (this.disableTags === 0) {
|
||
if (this.options.safe && potentiallyUnsafe(node.destination)) {
|
||
this.lit('<img src="" alt="');
|
||
} else {
|
||
this.lit('<img src="' + this.esc(node.destination) + '" alt="');
|
||
}
|
||
}
|
||
this.disableTags += 1;
|
||
} else {
|
||
this.disableTags -= 1;
|
||
if (this.disableTags === 0) {
|
||
if (node.title) {
|
||
this.lit('" title="' + this.esc(node.title));
|
||
}
|
||
this.lit('" />');
|
||
}
|
||
}
|
||
}
|
||
|
||
function emph(node, entering) {
|
||
this.tag(entering ? "em" : "/em");
|
||
}
|
||
|
||
function strong(node, entering) {
|
||
this.tag(entering ? "strong" : "/strong");
|
||
}
|
||
|
||
function paragraph(node, entering) {
|
||
var grandparent = node.parent.parent,
|
||
attrs = this.attrs(node);
|
||
if (grandparent !== null && grandparent.type === "list") {
|
||
if (grandparent.listTight) {
|
||
return;
|
||
}
|
||
}
|
||
if (entering) {
|
||
this.cr();
|
||
this.tag("p", attrs);
|
||
} else {
|
||
this.tag("/p");
|
||
this.cr();
|
||
}
|
||
}
|
||
|
||
function heading(node, entering) {
|
||
var tagname = "h" + node.level,
|
||
attrs = this.attrs(node);
|
||
if (entering) {
|
||
if (node.level != 1) {
|
||
attrs.push(["id", ":" + this.heading_count]);
|
||
this.heading_count += 1;
|
||
}
|
||
this.cr();
|
||
this.tag(tagname, attrs);
|
||
} else {
|
||
this.tag("/" + tagname);
|
||
this.cr();
|
||
}
|
||
}
|
||
|
||
function code(node) {
|
||
this.tag("code");
|
||
this.out(node.literal);
|
||
this.tag("/code");
|
||
}
|
||
|
||
function code_block(node) {
|
||
var info_words = node.info ? node.info.split(/\s+/) : [],
|
||
attrs = this.attrs(node);
|
||
if (info_words.length > 0 && info_words[0].length > 0) {
|
||
attrs.push(["class", "language-" + this.esc(info_words[0])]);
|
||
}
|
||
this.cr();
|
||
this.tag("pre");
|
||
this.tag("code", attrs);
|
||
this.out(node.literal);
|
||
this.tag("/code");
|
||
this.tag("/pre");
|
||
this.cr();
|
||
}
|
||
|
||
function thematic_break(node) {
|
||
var attrs = this.attrs(node);
|
||
this.cr();
|
||
this.tag("hr", attrs, true);
|
||
this.cr();
|
||
}
|
||
|
||
function block_quote(node, entering) {
|
||
var attrs = this.attrs(node);
|
||
if (entering) {
|
||
this.cr();
|
||
this.tag("blockquote", attrs);
|
||
this.cr();
|
||
} else {
|
||
this.cr();
|
||
this.tag("/blockquote");
|
||
this.cr();
|
||
}
|
||
}
|
||
|
||
function list(node, entering) {
|
||
var tagname = node.listType === "bullet" ? "ul" : "ol",
|
||
attrs = this.attrs(node);
|
||
|
||
if (entering) {
|
||
var start = node.listStart;
|
||
if (start !== null && start !== 1) {
|
||
attrs.push(["start", start.toString()]);
|
||
}
|
||
this.cr();
|
||
this.tag(tagname, attrs);
|
||
this.cr();
|
||
} else {
|
||
this.cr();
|
||
this.tag("/" + tagname);
|
||
this.cr();
|
||
}
|
||
}
|
||
|
||
function item(node, entering) {
|
||
var attrs = this.attrs(node);
|
||
if (entering) {
|
||
this.tag("li", attrs);
|
||
} else {
|
||
this.tag("/li");
|
||
this.cr();
|
||
}
|
||
}
|
||
|
||
function html_inline(node) {
|
||
if (this.options.safe) {
|
||
this.lit("<!-- raw HTML omitted -->");
|
||
} else {
|
||
this.lit(node.literal);
|
||
}
|
||
}
|
||
|
||
function html_block(node) {
|
||
this.cr();
|
||
if (this.options.safe) {
|
||
this.lit("<!-- raw HTML omitted -->");
|
||
} else {
|
||
this.lit(node.literal);
|
||
}
|
||
this.cr();
|
||
}
|
||
|
||
function custom_inline(node, entering) {
|
||
if (entering && node.onEnter) {
|
||
this.lit(node.onEnter);
|
||
} else if (!entering && node.onExit) {
|
||
this.lit(node.onExit);
|
||
}
|
||
}
|
||
|
||
function custom_block(node, entering) {
|
||
this.cr();
|
||
if (entering && node.onEnter) {
|
||
this.lit(node.onEnter);
|
||
} else if (!entering && node.onExit) {
|
||
this.lit(node.onExit);
|
||
}
|
||
this.cr();
|
||
}
|
||
|
||
/* Helper methods */
|
||
|
||
function out$1(s) {
|
||
this.lit(this.esc(s));
|
||
}
|
||
|
||
function attrs(node) {
|
||
var att = [];
|
||
if (this.options.sourcepos) {
|
||
var pos = node.sourcepos;
|
||
if (pos) {
|
||
att.push([
|
||
"data-sourcepos",
|
||
String(pos[0][0]) +
|
||
":" +
|
||
String(pos[0][1]) +
|
||
"-" +
|
||
String(pos[1][0]) +
|
||
":" +
|
||
String(pos[1][1])
|
||
]);
|
||
}
|
||
}
|
||
return att;
|
||
}
|
||
|
||
// quick browser-compatible inheritance
|
||
HtmlRenderer.prototype = Object.create(Renderer.prototype);
|
||
|
||
HtmlRenderer.prototype.text = text$1;
|
||
HtmlRenderer.prototype.html_inline = html_inline;
|
||
HtmlRenderer.prototype.html_block = html_block;
|
||
HtmlRenderer.prototype.softbreak = softbreak;
|
||
HtmlRenderer.prototype.linebreak = linebreak;
|
||
HtmlRenderer.prototype.link = link;
|
||
HtmlRenderer.prototype.image = image$1;
|
||
HtmlRenderer.prototype.emph = emph;
|
||
HtmlRenderer.prototype.strong = strong;
|
||
HtmlRenderer.prototype.paragraph = paragraph;
|
||
HtmlRenderer.prototype.heading = heading;
|
||
HtmlRenderer.prototype.code = code;
|
||
HtmlRenderer.prototype.code_block = code_block;
|
||
HtmlRenderer.prototype.thematic_break = thematic_break;
|
||
HtmlRenderer.prototype.block_quote = block_quote;
|
||
HtmlRenderer.prototype.list = list;
|
||
HtmlRenderer.prototype.item = item;
|
||
HtmlRenderer.prototype.custom_inline = custom_inline;
|
||
HtmlRenderer.prototype.custom_block = custom_block;
|
||
|
||
HtmlRenderer.prototype.esc = escapeXml;
|
||
|
||
HtmlRenderer.prototype.out = out$1;
|
||
HtmlRenderer.prototype.tag = tag;
|
||
HtmlRenderer.prototype.attrs = attrs;
|
||
|
||
var reXMLTag = /\<[^>]*\>/;
|
||
|
||
function toTagName(s) {
|
||
return s.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
|
||
}
|
||
|
||
function XmlRenderer(options) {
|
||
options = options || {};
|
||
|
||
this.disableTags = 0;
|
||
this.lastOut = "\n";
|
||
|
||
this.indentLevel = 0;
|
||
this.indent = " ";
|
||
|
||
this.esc = options.esc || escapeXml;
|
||
// escape html with a custom function
|
||
// else use escapeXml
|
||
|
||
this.options = options;
|
||
}
|
||
|
||
function render$1(ast) {
|
||
this.buffer = "";
|
||
|
||
var attrs;
|
||
var tagname;
|
||
var walker = ast.walker();
|
||
var event, node, entering;
|
||
var container;
|
||
var selfClosing;
|
||
var nodetype;
|
||
|
||
var options = this.options;
|
||
|
||
if (options.time) {
|
||
console.time("rendering");
|
||
}
|
||
|
||
this.buffer += '<?xml version="1.0" encoding="UTF-8"?>\n';
|
||
this.buffer += '<!DOCTYPE document SYSTEM "CommonMark.dtd">\n';
|
||
|
||
while ((event = walker.next())) {
|
||
entering = event.entering;
|
||
node = event.node;
|
||
nodetype = node.type;
|
||
|
||
container = node.isContainer;
|
||
|
||
selfClosing =
|
||
nodetype === "thematic_break" ||
|
||
nodetype === "linebreak" ||
|
||
nodetype === "softbreak";
|
||
|
||
tagname = toTagName(nodetype);
|
||
|
||
if (entering) {
|
||
attrs = [];
|
||
|
||
switch (nodetype) {
|
||
case "document":
|
||
attrs.push(["xmlns", "http://commonmark.org/xml/1.0"]);
|
||
break;
|
||
case "list":
|
||
if (node.listType !== null) {
|
||
attrs.push(["type", node.listType.toLowerCase()]);
|
||
}
|
||
if (node.listStart !== null) {
|
||
attrs.push(["start", String(node.listStart)]);
|
||
}
|
||
if (node.listTight !== null) {
|
||
attrs.push([
|
||
"tight",
|
||
node.listTight ? "true" : "false"
|
||
]);
|
||
}
|
||
var delim = node.listDelimiter;
|
||
if (delim !== null) {
|
||
var delimword = "";
|
||
if (delim === ".") {
|
||
delimword = "period";
|
||
} else {
|
||
delimword = "paren";
|
||
}
|
||
attrs.push(["delimiter", delimword]);
|
||
}
|
||
break;
|
||
case "code_block":
|
||
if (node.info) {
|
||
attrs.push(["info", node.info]);
|
||
}
|
||
break;
|
||
case "heading":
|
||
attrs.push(["level", String(node.level)]);
|
||
break;
|
||
case "link":
|
||
case "image":
|
||
attrs.push(["destination", node.destination]);
|
||
attrs.push(["title", node.title]);
|
||
break;
|
||
case "custom_inline":
|
||
case "custom_block":
|
||
attrs.push(["on_enter", node.onEnter]);
|
||
attrs.push(["on_exit", node.onExit]);
|
||
break;
|
||
}
|
||
if (options.sourcepos) {
|
||
var pos = node.sourcepos;
|
||
if (pos) {
|
||
attrs.push([
|
||
"sourcepos",
|
||
String(pos[0][0]) +
|
||
":" +
|
||
String(pos[0][1]) +
|
||
"-" +
|
||
String(pos[1][0]) +
|
||
":" +
|
||
String(pos[1][1])
|
||
]);
|
||
}
|
||
}
|
||
|
||
this.cr();
|
||
this.out(this.tag(tagname, attrs, selfClosing));
|
||
if (container) {
|
||
this.indentLevel += 1;
|
||
} else if (!container && !selfClosing) {
|
||
var lit = node.literal;
|
||
if (lit) {
|
||
this.out(this.esc(lit));
|
||
}
|
||
this.out(this.tag("/" + tagname));
|
||
}
|
||
} else {
|
||
this.indentLevel -= 1;
|
||
this.cr();
|
||
this.out(this.tag("/" + tagname));
|
||
}
|
||
}
|
||
if (options.time) {
|
||
console.timeEnd("rendering");
|
||
}
|
||
this.buffer += "\n";
|
||
return this.buffer;
|
||
}
|
||
|
||
function out$2(s) {
|
||
if (this.disableTags > 0) {
|
||
this.buffer += s.replace(reXMLTag, "");
|
||
} else {
|
||
this.buffer += s;
|
||
}
|
||
this.lastOut = s;
|
||
}
|
||
|
||
function cr$1() {
|
||
if (this.lastOut !== "\n") {
|
||
this.buffer += "\n";
|
||
this.lastOut = "\n";
|
||
for (var i = this.indentLevel; i > 0; i--) {
|
||
this.buffer += this.indent;
|
||
}
|
||
}
|
||
}
|
||
|
||
// Helper function to produce an XML tag.
|
||
function tag$1(name, attrs, selfclosing) {
|
||
var result = "<" + name;
|
||
if (attrs && attrs.length > 0) {
|
||
var i = 0;
|
||
var attrib;
|
||
while ((attrib = attrs[i]) !== undefined) {
|
||
result += " " + attrib[0] + '="' + this.esc(attrib[1]) + '"';
|
||
i++;
|
||
}
|
||
}
|
||
if (selfclosing) {
|
||
result += " /";
|
||
}
|
||
result += ">";
|
||
return result;
|
||
}
|
||
|
||
// quick browser-compatible inheritance
|
||
XmlRenderer.prototype = Object.create(Renderer.prototype);
|
||
|
||
XmlRenderer.prototype.render = render$1;
|
||
XmlRenderer.prototype.out = out$2;
|
||
XmlRenderer.prototype.cr = cr$1;
|
||
XmlRenderer.prototype.tag = tag$1;
|
||
XmlRenderer.prototype.esc = escapeXml;
|
||
|
||
exports.HtmlRenderer = HtmlRenderer;
|
||
exports.Node = Node;
|
||
exports.Parser = Parser;
|
||
exports.Renderer = Renderer;
|
||
exports.XmlRenderer = XmlRenderer;
|
||
|
||
Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
||
})));
|