UNPKG

@toast-ui/editor

Version:

GFM Markdown Wysiwyg Editor - Productive and Extensible

2,525 lines (2,486 loc) 381 kB
/** * @toast-ui/editor : viewer * @version 3.2.2 | Fri Feb 17 2023 * @author NHN Cloud FE Development Lab <dl_javascript@nhn.com> * @license MIT */ import { Plugin, PluginKey, Selection, TextSelection } from 'prosemirror-state'; import { InputRule, inputRules, undoInputRule } from 'prosemirror-inputrules'; import { Decoration, DecorationSet } from 'prosemirror-view'; import { keymap } from 'prosemirror-keymap'; import { Fragment } from 'prosemirror-model'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ var __assign$1 = function() { __assign$1 = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign$1.apply(this, arguments); }; function __spreadArray$1(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); } /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __spreadArray(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; 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$1(string, exclude, keepEscaped) { var i, l, code, nextCode, cache, result = ''; if (typeof exclude !== 'string') { // encode(string, keepEscaped) keepEscaped = exclude; exclude = encode$1.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$1.defaultChars = ";/?:@&=+$,-_.!~*'()#"; encode$1.componentChars = "-_.!~*'()"; var encode_1 = encode$1; var lib = {}; var decode = {}; var Aacute$1 = "Á"; var aacute$1 = "á"; var Abreve = "Ă"; var abreve = "ă"; var ac = "∾"; var acd = "∿"; var acE = "∾̳"; var Acirc$1 = "Â"; var acirc$1 = "â"; var acute$1 = "´"; var Acy = "А"; var acy = "а"; var AElig$1 = "Æ"; var aelig$1 = "æ"; var af = "⁡"; var Afr = "𝔄"; var afr = "𝔞"; var Agrave$1 = "À"; var agrave$1 = "à"; var alefsym = "ℵ"; var aleph = "ℵ"; var Alpha = "Α"; var alpha = "α"; var Amacr = "Ā"; var amacr = "ā"; var amalg = "⨿"; var amp$2 = "&"; var AMP$1 = "&"; 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$1 = "'"; var ApplyFunction = "⁡"; var approx = "≈"; var approxeq = "≊"; var Aring$1 = "Å"; var aring$1 = "å"; var Ascr = "𝒜"; var ascr = "𝒶"; var Assign = "≔"; var ast = "*"; var asymp = "≈"; var asympeq = "≍"; var Atilde$1 = "Ã"; var atilde$1 = "ã"; var Auml$1 = "Ä"; var auml$1 = "ä"; 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$1 = "¦"; 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$1 = "Ç"; var ccedil$1 = "ç"; var Ccirc = "Ĉ"; var ccirc = "ĉ"; var Cconint = "∰"; var ccups = "⩌"; var ccupssm = "⩐"; var Cdot = "Ċ"; var cdot = "ċ"; var cedil$1 = "¸"; var Cedilla = "¸"; var cemptyv = "⦲"; var cent$1 = "¢"; 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$1 = "©"; var COPY$1 = "©"; 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$1 = "¤"; 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$1 = "°"; 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$1 = "÷"; 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$1 = "É"; var eacute$1 = "é"; var easter = "⩮"; var Ecaron = "Ě"; var ecaron = "ě"; var Ecirc$1 = "Ê"; var ecirc$1 = "ê"; 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$1 = "È"; var egrave$1 = "è"; 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$1 = "Ð"; var eth$1 = "ð"; var Euml$1 = "Ë"; var euml$1 = "ë"; 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$1 = "½"; var frac13 = "⅓"; var frac14$1 = "¼"; var frac15 = "⅕"; var frac16 = "⅙"; var frac18 = "⅛"; var frac23 = "⅔"; var frac25 = "⅖"; var frac34$1 = "¾"; 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$2 = ">"; var GT$1 = ">"; 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$1 = "Í"; var iacute$1 = "í"; var ic = "⁣"; var Icirc$1 = "Î"; var icirc$1 = "î"; var Icy = "И"; var icy = "и"; var Idot = "İ"; var IEcy = "Е"; var iecy = "е"; var iexcl$1 = "¡"; var iff = "⇔"; var ifr = "𝔦"; var Ifr = "ℑ"; var Igrave$1 = "Ì"; var igrave$1 = "ì"; 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$1 = "¿"; 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$1 = "Ï"; var iuml$1 = "ï"; 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$1 = "«"; 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$2 = "<"; var LT$1 = "<"; 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$1 = "¯"; 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$1 = "µ"; var midast = "*"; var midcir = "⫰"; var mid = "∣"; var middot$1 = "·"; 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$1 = " "; 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$1 = "¬"; 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$1 = "Ñ"; var ntilde$1 = "ñ"; 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$1 = "Ó"; var oacute$1 = "ó"; var oast = "⊛"; var Ocirc$1 = "Ô"; var ocirc$1 = "ô"; 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$1 = "Ò"; var ograve$1 = "ò"; 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$1 = "ª"; var ordm$1 = "º"; var origof = "⊶"; var oror = "⩖"; var orslope = "⩗"; var orv = "⩛"; var oS = "Ⓢ"; var Oscr = "𝒪"; var oscr = "ℴ"; var Oslash$1 = "Ø"; var oslash$1 = "ø"; var osol = "⊘"; var Otilde$1 = "Õ"; var otilde$1 = "õ"; var otimesas = "⨶"; var Otimes = "⨷"; var otimes = "⊗"; var Ouml$1 = "Ö"; var ouml$1 = "ö"; var ovbar = "⌽"; var OverBar = "‾"; var OverBrace = "⏞"; var OverBracket = "⎴"; var OverParenthesis = "⏜"; var para$1 = "¶"; 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$1 = "±"; var plussim = "⨦"; var plustwo = "⨧"; var pm = "±"; var Poincareplane = "ℌ"; var pointint = "⨕"; var popf = "𝕡"; var Popf = "ℙ"; var pound$1 = "£"; 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$2 = "\""; var QUOT$1 = "\""; var rAarr = "⇛"; var race = "∽̱"; var Racute = "Ŕ"; var racute = "ŕ"; var radic = "√"; var raemptyv = "⦳"; var rang = "⟩"; var Rang = "⟫"; var rangd = "⦒"; var range = "⦥"; var rangle = "⟩"; var raquo$1 = "»"; 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$1 = "®"; var REG$1 = "®"; 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$1 = "§"; 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$1 = "­"; 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$1 = "¹"; var sup2$1 = "²"; var sup3$1 = "³"; 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$1 = "ß"; 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$1 = "Þ"; var thorn$1 = "þ"; var tilde = "˜"; var Tilde = "∼"; var TildeEqual = "≃"; var TildeFullEqual = "≅"; var TildeTilde = "≈"; var timesbar = "⨱"; var timesb = "⊠"; var times$1 = "×"; 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$1 = "Ú"; var uacute$1 = "ú"; var uarr = "↑"; var Uarr = "↟"; var uArr = "⇑"; var Uarrocir = "⥉"; var Ubrcy = "Ў"; var ubrcy = "ў"; var Ubreve = "Ŭ"; var ubreve = "ŭ"; var Ucirc$1 = "Û"; var ucirc$1 = "û"; var Ucy = "У"; var ucy = "у"; var udarr = "⇅"; var Udblac = "Ű"; var udblac = "ű"; var udhar = "⥮"; var ufisht = "⥾"; var Ufr = "𝔘"; var ufr = "𝔲"; var Ugrave$1 = "Ù"; var ugrave$1 = "ù"; var uHar = "⥣"; var uharl = "↿"; var uharr = "↾"; var uhblk = "▀"; var ulcorn = "⌜"; var ulcorner = "⌜"; var ulcrop = "⌏"; var ultri = "◸"; var Umacr = "Ū"; var umacr = "ū"; var uml$1 = "¨"; 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$1 = "Ü"; var uuml$1 = "ü"; 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$1 = "Ý"; var yacute$1 = "ý"; var YAcy = "Я"; var yacy = "я"; var Ycirc = "Ŷ"; var ycirc = "ŷ"; var Ycy = "Ы"; var ycy = "ы"; var yen$1 = "¥"; var Yfr = "𝔜"; var yfr = "𝔶"; var YIcy = "Ї"; var yicy = "ї"; var Yopf = "𝕐"; var yopf = "𝕪"; var Yscr = "𝒴"; var yscr = "𝓎"; var YUcy = "Ю"; var yucy = "ю"; var yuml$1 = "ÿ"; 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 require$$1$1 = { Aacute: Aacute$1, aacute: aacute$1, Abreve: Abreve, abreve: abreve, ac: ac, acd: acd, acE: acE, Acirc: Acirc$1, acirc: acirc$1, acute: acute$1, Acy: Acy, acy: acy, AElig: AElig$1, aelig: aelig$1, af: af, Afr: Afr, afr: afr, Agrave: Agrave$1, agrave: agrave$1, alefsym: alefsym, aleph: aleph, Alpha: Alpha, alpha: alpha, Amacr: Amacr, amacr: amacr, amalg: amalg, amp: amp$2, AMP: AMP$1, 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$1, ApplyFunction: ApplyFunction, approx: approx, approxeq: approxeq, Aring: Aring$1, aring: aring$1, Ascr: Ascr, ascr: ascr, Assign: Assign, ast: ast, asymp: asymp, asympeq: asympeq, Atilde: Atilde$1, atilde: atilde$1, Auml: Auml$1, auml: auml$1, 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$1, bscr: bscr, Bscr: Bscr, bsemi: bsemi, bsim: bsim, bsime: bsime, bsolb: bsolb, bsol: bsol, bsolhsub: bsolhsu