diff --git a/html/entity.go b/html/entity.go
index b628880a0..2c3a0afde 100644
--- a/html/entity.go
+++ b/html/entity.go
@@ -4,2250 +4,2265 @@
package html
+import "sync"
+
// All entities that do not end with ';' are 6 or fewer bytes long.
const longestEntityWithoutSemicolon = 6
// entity is a map from HTML entity names to their values. The semicolon matters:
-// https://html.spec.whatwg.org/multipage/syntax.html#named-character-references
+// https://html.spec.whatwg.org/multipage/named-characters.html
// lists both "amp" and "amp;" as two separate entries.
//
// Note that the HTML5 list is larger than the HTML4 list at
-// http://www.w3.org/TR/html4/sgml/entities.html
-var entity = map[string]rune{
- "AElig;": '\U000000C6',
- "AMP;": '\U00000026',
- "Aacute;": '\U000000C1',
- "Abreve;": '\U00000102',
- "Acirc;": '\U000000C2',
- "Acy;": '\U00000410',
- "Afr;": '\U0001D504',
- "Agrave;": '\U000000C0',
- "Alpha;": '\U00000391',
- "Amacr;": '\U00000100',
- "And;": '\U00002A53',
- "Aogon;": '\U00000104',
- "Aopf;": '\U0001D538',
- "ApplyFunction;": '\U00002061',
- "Aring;": '\U000000C5',
- "Ascr;": '\U0001D49C',
- "Assign;": '\U00002254',
- "Atilde;": '\U000000C3',
- "Auml;": '\U000000C4',
- "Backslash;": '\U00002216',
- "Barv;": '\U00002AE7',
- "Barwed;": '\U00002306',
- "Bcy;": '\U00000411',
- "Because;": '\U00002235',
- "Bernoullis;": '\U0000212C',
- "Beta;": '\U00000392',
- "Bfr;": '\U0001D505',
- "Bopf;": '\U0001D539',
- "Breve;": '\U000002D8',
- "Bscr;": '\U0000212C',
- "Bumpeq;": '\U0000224E',
- "CHcy;": '\U00000427',
- "COPY;": '\U000000A9',
- "Cacute;": '\U00000106',
- "Cap;": '\U000022D2',
- "CapitalDifferentialD;": '\U00002145',
- "Cayleys;": '\U0000212D',
- "Ccaron;": '\U0000010C',
- "Ccedil;": '\U000000C7',
- "Ccirc;": '\U00000108',
- "Cconint;": '\U00002230',
- "Cdot;": '\U0000010A',
- "Cedilla;": '\U000000B8',
- "CenterDot;": '\U000000B7',
- "Cfr;": '\U0000212D',
- "Chi;": '\U000003A7',
- "CircleDot;": '\U00002299',
- "CircleMinus;": '\U00002296',
- "CirclePlus;": '\U00002295',
- "CircleTimes;": '\U00002297',
- "ClockwiseContourIntegral;": '\U00002232',
- "CloseCurlyDoubleQuote;": '\U0000201D',
- "CloseCurlyQuote;": '\U00002019',
- "Colon;": '\U00002237',
- "Colone;": '\U00002A74',
- "Congruent;": '\U00002261',
- "Conint;": '\U0000222F',
- "ContourIntegral;": '\U0000222E',
- "Copf;": '\U00002102',
- "Coproduct;": '\U00002210',
- "CounterClockwiseContourIntegral;": '\U00002233',
- "Cross;": '\U00002A2F',
- "Cscr;": '\U0001D49E',
- "Cup;": '\U000022D3',
- "CupCap;": '\U0000224D',
- "DD;": '\U00002145',
- "DDotrahd;": '\U00002911',
- "DJcy;": '\U00000402',
- "DScy;": '\U00000405',
- "DZcy;": '\U0000040F',
- "Dagger;": '\U00002021',
- "Darr;": '\U000021A1',
- "Dashv;": '\U00002AE4',
- "Dcaron;": '\U0000010E',
- "Dcy;": '\U00000414',
- "Del;": '\U00002207',
- "Delta;": '\U00000394',
- "Dfr;": '\U0001D507',
- "DiacriticalAcute;": '\U000000B4',
- "DiacriticalDot;": '\U000002D9',
- "DiacriticalDoubleAcute;": '\U000002DD',
- "DiacriticalGrave;": '\U00000060',
- "DiacriticalTilde;": '\U000002DC',
- "Diamond;": '\U000022C4',
- "DifferentialD;": '\U00002146',
- "Dopf;": '\U0001D53B',
- "Dot;": '\U000000A8',
- "DotDot;": '\U000020DC',
- "DotEqual;": '\U00002250',
- "DoubleContourIntegral;": '\U0000222F',
- "DoubleDot;": '\U000000A8',
- "DoubleDownArrow;": '\U000021D3',
- "DoubleLeftArrow;": '\U000021D0',
- "DoubleLeftRightArrow;": '\U000021D4',
- "DoubleLeftTee;": '\U00002AE4',
- "DoubleLongLeftArrow;": '\U000027F8',
- "DoubleLongLeftRightArrow;": '\U000027FA',
- "DoubleLongRightArrow;": '\U000027F9',
- "DoubleRightArrow;": '\U000021D2',
- "DoubleRightTee;": '\U000022A8',
- "DoubleUpArrow;": '\U000021D1',
- "DoubleUpDownArrow;": '\U000021D5',
- "DoubleVerticalBar;": '\U00002225',
- "DownArrow;": '\U00002193',
- "DownArrowBar;": '\U00002913',
- "DownArrowUpArrow;": '\U000021F5',
- "DownBreve;": '\U00000311',
- "DownLeftRightVector;": '\U00002950',
- "DownLeftTeeVector;": '\U0000295E',
- "DownLeftVector;": '\U000021BD',
- "DownLeftVectorBar;": '\U00002956',
- "DownRightTeeVector;": '\U0000295F',
- "DownRightVector;": '\U000021C1',
- "DownRightVectorBar;": '\U00002957',
- "DownTee;": '\U000022A4',
- "DownTeeArrow;": '\U000021A7',
- "Downarrow;": '\U000021D3',
- "Dscr;": '\U0001D49F',
- "Dstrok;": '\U00000110',
- "ENG;": '\U0000014A',
- "ETH;": '\U000000D0',
- "Eacute;": '\U000000C9',
- "Ecaron;": '\U0000011A',
- "Ecirc;": '\U000000CA',
- "Ecy;": '\U0000042D',
- "Edot;": '\U00000116',
- "Efr;": '\U0001D508',
- "Egrave;": '\U000000C8',
- "Element;": '\U00002208',
- "Emacr;": '\U00000112',
- "EmptySmallSquare;": '\U000025FB',
- "EmptyVerySmallSquare;": '\U000025AB',
- "Eogon;": '\U00000118',
- "Eopf;": '\U0001D53C',
- "Epsilon;": '\U00000395',
- "Equal;": '\U00002A75',
- "EqualTilde;": '\U00002242',
- "Equilibrium;": '\U000021CC',
- "Escr;": '\U00002130',
- "Esim;": '\U00002A73',
- "Eta;": '\U00000397',
- "Euml;": '\U000000CB',
- "Exists;": '\U00002203',
- "ExponentialE;": '\U00002147',
- "Fcy;": '\U00000424',
- "Ffr;": '\U0001D509',
- "FilledSmallSquare;": '\U000025FC',
- "FilledVerySmallSquare;": '\U000025AA',
- "Fopf;": '\U0001D53D',
- "ForAll;": '\U00002200',
- "Fouriertrf;": '\U00002131',
- "Fscr;": '\U00002131',
- "GJcy;": '\U00000403',
- "GT;": '\U0000003E',
- "Gamma;": '\U00000393',
- "Gammad;": '\U000003DC',
- "Gbreve;": '\U0000011E',
- "Gcedil;": '\U00000122',
- "Gcirc;": '\U0000011C',
- "Gcy;": '\U00000413',
- "Gdot;": '\U00000120',
- "Gfr;": '\U0001D50A',
- "Gg;": '\U000022D9',
- "Gopf;": '\U0001D53E',
- "GreaterEqual;": '\U00002265',
- "GreaterEqualLess;": '\U000022DB',
- "GreaterFullEqual;": '\U00002267',
- "GreaterGreater;": '\U00002AA2',
- "GreaterLess;": '\U00002277',
- "GreaterSlantEqual;": '\U00002A7E',
- "GreaterTilde;": '\U00002273',
- "Gscr;": '\U0001D4A2',
- "Gt;": '\U0000226B',
- "HARDcy;": '\U0000042A',
- "Hacek;": '\U000002C7',
- "Hat;": '\U0000005E',
- "Hcirc;": '\U00000124',
- "Hfr;": '\U0000210C',
- "HilbertSpace;": '\U0000210B',
- "Hopf;": '\U0000210D',
- "HorizontalLine;": '\U00002500',
- "Hscr;": '\U0000210B',
- "Hstrok;": '\U00000126',
- "HumpDownHump;": '\U0000224E',
- "HumpEqual;": '\U0000224F',
- "IEcy;": '\U00000415',
- "IJlig;": '\U00000132',
- "IOcy;": '\U00000401',
- "Iacute;": '\U000000CD',
- "Icirc;": '\U000000CE',
- "Icy;": '\U00000418',
- "Idot;": '\U00000130',
- "Ifr;": '\U00002111',
- "Igrave;": '\U000000CC',
- "Im;": '\U00002111',
- "Imacr;": '\U0000012A',
- "ImaginaryI;": '\U00002148',
- "Implies;": '\U000021D2',
- "Int;": '\U0000222C',
- "Integral;": '\U0000222B',
- "Intersection;": '\U000022C2',
- "InvisibleComma;": '\U00002063',
- "InvisibleTimes;": '\U00002062',
- "Iogon;": '\U0000012E',
- "Iopf;": '\U0001D540',
- "Iota;": '\U00000399',
- "Iscr;": '\U00002110',
- "Itilde;": '\U00000128',
- "Iukcy;": '\U00000406',
- "Iuml;": '\U000000CF',
- "Jcirc;": '\U00000134',
- "Jcy;": '\U00000419',
- "Jfr;": '\U0001D50D',
- "Jopf;": '\U0001D541',
- "Jscr;": '\U0001D4A5',
- "Jsercy;": '\U00000408',
- "Jukcy;": '\U00000404',
- "KHcy;": '\U00000425',
- "KJcy;": '\U0000040C',
- "Kappa;": '\U0000039A',
- "Kcedil;": '\U00000136',
- "Kcy;": '\U0000041A',
- "Kfr;": '\U0001D50E',
- "Kopf;": '\U0001D542',
- "Kscr;": '\U0001D4A6',
- "LJcy;": '\U00000409',
- "LT;": '\U0000003C',
- "Lacute;": '\U00000139',
- "Lambda;": '\U0000039B',
- "Lang;": '\U000027EA',
- "Laplacetrf;": '\U00002112',
- "Larr;": '\U0000219E',
- "Lcaron;": '\U0000013D',
- "Lcedil;": '\U0000013B',
- "Lcy;": '\U0000041B',
- "LeftAngleBracket;": '\U000027E8',
- "LeftArrow;": '\U00002190',
- "LeftArrowBar;": '\U000021E4',
- "LeftArrowRightArrow;": '\U000021C6',
- "LeftCeiling;": '\U00002308',
- "LeftDoubleBracket;": '\U000027E6',
- "LeftDownTeeVector;": '\U00002961',
- "LeftDownVector;": '\U000021C3',
- "LeftDownVectorBar;": '\U00002959',
- "LeftFloor;": '\U0000230A',
- "LeftRightArrow;": '\U00002194',
- "LeftRightVector;": '\U0000294E',
- "LeftTee;": '\U000022A3',
- "LeftTeeArrow;": '\U000021A4',
- "LeftTeeVector;": '\U0000295A',
- "LeftTriangle;": '\U000022B2',
- "LeftTriangleBar;": '\U000029CF',
- "LeftTriangleEqual;": '\U000022B4',
- "LeftUpDownVector;": '\U00002951',
- "LeftUpTeeVector;": '\U00002960',
- "LeftUpVector;": '\U000021BF',
- "LeftUpVectorBar;": '\U00002958',
- "LeftVector;": '\U000021BC',
- "LeftVectorBar;": '\U00002952',
- "Leftarrow;": '\U000021D0',
- "Leftrightarrow;": '\U000021D4',
- "LessEqualGreater;": '\U000022DA',
- "LessFullEqual;": '\U00002266',
- "LessGreater;": '\U00002276',
- "LessLess;": '\U00002AA1',
- "LessSlantEqual;": '\U00002A7D',
- "LessTilde;": '\U00002272',
- "Lfr;": '\U0001D50F',
- "Ll;": '\U000022D8',
- "Lleftarrow;": '\U000021DA',
- "Lmidot;": '\U0000013F',
- "LongLeftArrow;": '\U000027F5',
- "LongLeftRightArrow;": '\U000027F7',
- "LongRightArrow;": '\U000027F6',
- "Longleftarrow;": '\U000027F8',
- "Longleftrightarrow;": '\U000027FA',
- "Longrightarrow;": '\U000027F9',
- "Lopf;": '\U0001D543',
- "LowerLeftArrow;": '\U00002199',
- "LowerRightArrow;": '\U00002198',
- "Lscr;": '\U00002112',
- "Lsh;": '\U000021B0',
- "Lstrok;": '\U00000141',
- "Lt;": '\U0000226A',
- "Map;": '\U00002905',
- "Mcy;": '\U0000041C',
- "MediumSpace;": '\U0000205F',
- "Mellintrf;": '\U00002133',
- "Mfr;": '\U0001D510',
- "MinusPlus;": '\U00002213',
- "Mopf;": '\U0001D544',
- "Mscr;": '\U00002133',
- "Mu;": '\U0000039C',
- "NJcy;": '\U0000040A',
- "Nacute;": '\U00000143',
- "Ncaron;": '\U00000147',
- "Ncedil;": '\U00000145',
- "Ncy;": '\U0000041D',
- "NegativeMediumSpace;": '\U0000200B',
- "NegativeThickSpace;": '\U0000200B',
- "NegativeThinSpace;": '\U0000200B',
- "NegativeVeryThinSpace;": '\U0000200B',
- "NestedGreaterGreater;": '\U0000226B',
- "NestedLessLess;": '\U0000226A',
- "NewLine;": '\U0000000A',
- "Nfr;": '\U0001D511',
- "NoBreak;": '\U00002060',
- "NonBreakingSpace;": '\U000000A0',
- "Nopf;": '\U00002115',
- "Not;": '\U00002AEC',
- "NotCongruent;": '\U00002262',
- "NotCupCap;": '\U0000226D',
- "NotDoubleVerticalBar;": '\U00002226',
- "NotElement;": '\U00002209',
- "NotEqual;": '\U00002260',
- "NotExists;": '\U00002204',
- "NotGreater;": '\U0000226F',
- "NotGreaterEqual;": '\U00002271',
- "NotGreaterLess;": '\U00002279',
- "NotGreaterTilde;": '\U00002275',
- "NotLeftTriangle;": '\U000022EA',
- "NotLeftTriangleEqual;": '\U000022EC',
- "NotLess;": '\U0000226E',
- "NotLessEqual;": '\U00002270',
- "NotLessGreater;": '\U00002278',
- "NotLessTilde;": '\U00002274',
- "NotPrecedes;": '\U00002280',
- "NotPrecedesSlantEqual;": '\U000022E0',
- "NotReverseElement;": '\U0000220C',
- "NotRightTriangle;": '\U000022EB',
- "NotRightTriangleEqual;": '\U000022ED',
- "NotSquareSubsetEqual;": '\U000022E2',
- "NotSquareSupersetEqual;": '\U000022E3',
- "NotSubsetEqual;": '\U00002288',
- "NotSucceeds;": '\U00002281',
- "NotSucceedsSlantEqual;": '\U000022E1',
- "NotSupersetEqual;": '\U00002289',
- "NotTilde;": '\U00002241',
- "NotTildeEqual;": '\U00002244',
- "NotTildeFullEqual;": '\U00002247',
- "NotTildeTilde;": '\U00002249',
- "NotVerticalBar;": '\U00002224',
- "Nscr;": '\U0001D4A9',
- "Ntilde;": '\U000000D1',
- "Nu;": '\U0000039D',
- "OElig;": '\U00000152',
- "Oacute;": '\U000000D3',
- "Ocirc;": '\U000000D4',
- "Ocy;": '\U0000041E',
- "Odblac;": '\U00000150',
- "Ofr;": '\U0001D512',
- "Ograve;": '\U000000D2',
- "Omacr;": '\U0000014C',
- "Omega;": '\U000003A9',
- "Omicron;": '\U0000039F',
- "Oopf;": '\U0001D546',
- "OpenCurlyDoubleQuote;": '\U0000201C',
- "OpenCurlyQuote;": '\U00002018',
- "Or;": '\U00002A54',
- "Oscr;": '\U0001D4AA',
- "Oslash;": '\U000000D8',
- "Otilde;": '\U000000D5',
- "Otimes;": '\U00002A37',
- "Ouml;": '\U000000D6',
- "OverBar;": '\U0000203E',
- "OverBrace;": '\U000023DE',
- "OverBracket;": '\U000023B4',
- "OverParenthesis;": '\U000023DC',
- "PartialD;": '\U00002202',
- "Pcy;": '\U0000041F',
- "Pfr;": '\U0001D513',
- "Phi;": '\U000003A6',
- "Pi;": '\U000003A0',
- "PlusMinus;": '\U000000B1',
- "Poincareplane;": '\U0000210C',
- "Popf;": '\U00002119',
- "Pr;": '\U00002ABB',
- "Precedes;": '\U0000227A',
- "PrecedesEqual;": '\U00002AAF',
- "PrecedesSlantEqual;": '\U0000227C',
- "PrecedesTilde;": '\U0000227E',
- "Prime;": '\U00002033',
- "Product;": '\U0000220F',
- "Proportion;": '\U00002237',
- "Proportional;": '\U0000221D',
- "Pscr;": '\U0001D4AB',
- "Psi;": '\U000003A8',
- "QUOT;": '\U00000022',
- "Qfr;": '\U0001D514',
- "Qopf;": '\U0000211A',
- "Qscr;": '\U0001D4AC',
- "RBarr;": '\U00002910',
- "REG;": '\U000000AE',
- "Racute;": '\U00000154',
- "Rang;": '\U000027EB',
- "Rarr;": '\U000021A0',
- "Rarrtl;": '\U00002916',
- "Rcaron;": '\U00000158',
- "Rcedil;": '\U00000156',
- "Rcy;": '\U00000420',
- "Re;": '\U0000211C',
- "ReverseElement;": '\U0000220B',
- "ReverseEquilibrium;": '\U000021CB',
- "ReverseUpEquilibrium;": '\U0000296F',
- "Rfr;": '\U0000211C',
- "Rho;": '\U000003A1',
- "RightAngleBracket;": '\U000027E9',
- "RightArrow;": '\U00002192',
- "RightArrowBar;": '\U000021E5',
- "RightArrowLeftArrow;": '\U000021C4',
- "RightCeiling;": '\U00002309',
- "RightDoubleBracket;": '\U000027E7',
- "RightDownTeeVector;": '\U0000295D',
- "RightDownVector;": '\U000021C2',
- "RightDownVectorBar;": '\U00002955',
- "RightFloor;": '\U0000230B',
- "RightTee;": '\U000022A2',
- "RightTeeArrow;": '\U000021A6',
- "RightTeeVector;": '\U0000295B',
- "RightTriangle;": '\U000022B3',
- "RightTriangleBar;": '\U000029D0',
- "RightTriangleEqual;": '\U000022B5',
- "RightUpDownVector;": '\U0000294F',
- "RightUpTeeVector;": '\U0000295C',
- "RightUpVector;": '\U000021BE',
- "RightUpVectorBar;": '\U00002954',
- "RightVector;": '\U000021C0',
- "RightVectorBar;": '\U00002953',
- "Rightarrow;": '\U000021D2',
- "Ropf;": '\U0000211D',
- "RoundImplies;": '\U00002970',
- "Rrightarrow;": '\U000021DB',
- "Rscr;": '\U0000211B',
- "Rsh;": '\U000021B1',
- "RuleDelayed;": '\U000029F4',
- "SHCHcy;": '\U00000429',
- "SHcy;": '\U00000428',
- "SOFTcy;": '\U0000042C',
- "Sacute;": '\U0000015A',
- "Sc;": '\U00002ABC',
- "Scaron;": '\U00000160',
- "Scedil;": '\U0000015E',
- "Scirc;": '\U0000015C',
- "Scy;": '\U00000421',
- "Sfr;": '\U0001D516',
- "ShortDownArrow;": '\U00002193',
- "ShortLeftArrow;": '\U00002190',
- "ShortRightArrow;": '\U00002192',
- "ShortUpArrow;": '\U00002191',
- "Sigma;": '\U000003A3',
- "SmallCircle;": '\U00002218',
- "Sopf;": '\U0001D54A',
- "Sqrt;": '\U0000221A',
- "Square;": '\U000025A1',
- "SquareIntersection;": '\U00002293',
- "SquareSubset;": '\U0000228F',
- "SquareSubsetEqual;": '\U00002291',
- "SquareSuperset;": '\U00002290',
- "SquareSupersetEqual;": '\U00002292',
- "SquareUnion;": '\U00002294',
- "Sscr;": '\U0001D4AE',
- "Star;": '\U000022C6',
- "Sub;": '\U000022D0',
- "Subset;": '\U000022D0',
- "SubsetEqual;": '\U00002286',
- "Succeeds;": '\U0000227B',
- "SucceedsEqual;": '\U00002AB0',
- "SucceedsSlantEqual;": '\U0000227D',
- "SucceedsTilde;": '\U0000227F',
- "SuchThat;": '\U0000220B',
- "Sum;": '\U00002211',
- "Sup;": '\U000022D1',
- "Superset;": '\U00002283',
- "SupersetEqual;": '\U00002287',
- "Supset;": '\U000022D1',
- "THORN;": '\U000000DE',
- "TRADE;": '\U00002122',
- "TSHcy;": '\U0000040B',
- "TScy;": '\U00000426',
- "Tab;": '\U00000009',
- "Tau;": '\U000003A4',
- "Tcaron;": '\U00000164',
- "Tcedil;": '\U00000162',
- "Tcy;": '\U00000422',
- "Tfr;": '\U0001D517',
- "Therefore;": '\U00002234',
- "Theta;": '\U00000398',
- "ThinSpace;": '\U00002009',
- "Tilde;": '\U0000223C',
- "TildeEqual;": '\U00002243',
- "TildeFullEqual;": '\U00002245',
- "TildeTilde;": '\U00002248',
- "Topf;": '\U0001D54B',
- "TripleDot;": '\U000020DB',
- "Tscr;": '\U0001D4AF',
- "Tstrok;": '\U00000166',
- "Uacute;": '\U000000DA',
- "Uarr;": '\U0000219F',
- "Uarrocir;": '\U00002949',
- "Ubrcy;": '\U0000040E',
- "Ubreve;": '\U0000016C',
- "Ucirc;": '\U000000DB',
- "Ucy;": '\U00000423',
- "Udblac;": '\U00000170',
- "Ufr;": '\U0001D518',
- "Ugrave;": '\U000000D9',
- "Umacr;": '\U0000016A',
- "UnderBar;": '\U0000005F',
- "UnderBrace;": '\U000023DF',
- "UnderBracket;": '\U000023B5',
- "UnderParenthesis;": '\U000023DD',
- "Union;": '\U000022C3',
- "UnionPlus;": '\U0000228E',
- "Uogon;": '\U00000172',
- "Uopf;": '\U0001D54C',
- "UpArrow;": '\U00002191',
- "UpArrowBar;": '\U00002912',
- "UpArrowDownArrow;": '\U000021C5',
- "UpDownArrow;": '\U00002195',
- "UpEquilibrium;": '\U0000296E',
- "UpTee;": '\U000022A5',
- "UpTeeArrow;": '\U000021A5',
- "Uparrow;": '\U000021D1',
- "Updownarrow;": '\U000021D5',
- "UpperLeftArrow;": '\U00002196',
- "UpperRightArrow;": '\U00002197',
- "Upsi;": '\U000003D2',
- "Upsilon;": '\U000003A5',
- "Uring;": '\U0000016E',
- "Uscr;": '\U0001D4B0',
- "Utilde;": '\U00000168',
- "Uuml;": '\U000000DC',
- "VDash;": '\U000022AB',
- "Vbar;": '\U00002AEB',
- "Vcy;": '\U00000412',
- "Vdash;": '\U000022A9',
- "Vdashl;": '\U00002AE6',
- "Vee;": '\U000022C1',
- "Verbar;": '\U00002016',
- "Vert;": '\U00002016',
- "VerticalBar;": '\U00002223',
- "VerticalLine;": '\U0000007C',
- "VerticalSeparator;": '\U00002758',
- "VerticalTilde;": '\U00002240',
- "VeryThinSpace;": '\U0000200A',
- "Vfr;": '\U0001D519',
- "Vopf;": '\U0001D54D',
- "Vscr;": '\U0001D4B1',
- "Vvdash;": '\U000022AA',
- "Wcirc;": '\U00000174',
- "Wedge;": '\U000022C0',
- "Wfr;": '\U0001D51A',
- "Wopf;": '\U0001D54E',
- "Wscr;": '\U0001D4B2',
- "Xfr;": '\U0001D51B',
- "Xi;": '\U0000039E',
- "Xopf;": '\U0001D54F',
- "Xscr;": '\U0001D4B3',
- "YAcy;": '\U0000042F',
- "YIcy;": '\U00000407',
- "YUcy;": '\U0000042E',
- "Yacute;": '\U000000DD',
- "Ycirc;": '\U00000176',
- "Ycy;": '\U0000042B',
- "Yfr;": '\U0001D51C',
- "Yopf;": '\U0001D550',
- "Yscr;": '\U0001D4B4',
- "Yuml;": '\U00000178',
- "ZHcy;": '\U00000416',
- "Zacute;": '\U00000179',
- "Zcaron;": '\U0000017D',
- "Zcy;": '\U00000417',
- "Zdot;": '\U0000017B',
- "ZeroWidthSpace;": '\U0000200B',
- "Zeta;": '\U00000396',
- "Zfr;": '\U00002128',
- "Zopf;": '\U00002124',
- "Zscr;": '\U0001D4B5',
- "aacute;": '\U000000E1',
- "abreve;": '\U00000103',
- "ac;": '\U0000223E',
- "acd;": '\U0000223F',
- "acirc;": '\U000000E2',
- "acute;": '\U000000B4',
- "acy;": '\U00000430',
- "aelig;": '\U000000E6',
- "af;": '\U00002061',
- "afr;": '\U0001D51E',
- "agrave;": '\U000000E0',
- "alefsym;": '\U00002135',
- "aleph;": '\U00002135',
- "alpha;": '\U000003B1',
- "amacr;": '\U00000101',
- "amalg;": '\U00002A3F',
- "amp;": '\U00000026',
- "and;": '\U00002227',
- "andand;": '\U00002A55',
- "andd;": '\U00002A5C',
- "andslope;": '\U00002A58',
- "andv;": '\U00002A5A',
- "ang;": '\U00002220',
- "ange;": '\U000029A4',
- "angle;": '\U00002220',
- "angmsd;": '\U00002221',
- "angmsdaa;": '\U000029A8',
- "angmsdab;": '\U000029A9',
- "angmsdac;": '\U000029AA',
- "angmsdad;": '\U000029AB',
- "angmsdae;": '\U000029AC',
- "angmsdaf;": '\U000029AD',
- "angmsdag;": '\U000029AE',
- "angmsdah;": '\U000029AF',
- "angrt;": '\U0000221F',
- "angrtvb;": '\U000022BE',
- "angrtvbd;": '\U0000299D',
- "angsph;": '\U00002222',
- "angst;": '\U000000C5',
- "angzarr;": '\U0000237C',
- "aogon;": '\U00000105',
- "aopf;": '\U0001D552',
- "ap;": '\U00002248',
- "apE;": '\U00002A70',
- "apacir;": '\U00002A6F',
- "ape;": '\U0000224A',
- "apid;": '\U0000224B',
- "apos;": '\U00000027',
- "approx;": '\U00002248',
- "approxeq;": '\U0000224A',
- "aring;": '\U000000E5',
- "ascr;": '\U0001D4B6',
- "ast;": '\U0000002A',
- "asymp;": '\U00002248',
- "asympeq;": '\U0000224D',
- "atilde;": '\U000000E3',
- "auml;": '\U000000E4',
- "awconint;": '\U00002233',
- "awint;": '\U00002A11',
- "bNot;": '\U00002AED',
- "backcong;": '\U0000224C',
- "backepsilon;": '\U000003F6',
- "backprime;": '\U00002035',
- "backsim;": '\U0000223D',
- "backsimeq;": '\U000022CD',
- "barvee;": '\U000022BD',
- "barwed;": '\U00002305',
- "barwedge;": '\U00002305',
- "bbrk;": '\U000023B5',
- "bbrktbrk;": '\U000023B6',
- "bcong;": '\U0000224C',
- "bcy;": '\U00000431',
- "bdquo;": '\U0000201E',
- "becaus;": '\U00002235',
- "because;": '\U00002235',
- "bemptyv;": '\U000029B0',
- "bepsi;": '\U000003F6',
- "bernou;": '\U0000212C',
- "beta;": '\U000003B2',
- "beth;": '\U00002136',
- "between;": '\U0000226C',
- "bfr;": '\U0001D51F',
- "bigcap;": '\U000022C2',
- "bigcirc;": '\U000025EF',
- "bigcup;": '\U000022C3',
- "bigodot;": '\U00002A00',
- "bigoplus;": '\U00002A01',
- "bigotimes;": '\U00002A02',
- "bigsqcup;": '\U00002A06',
- "bigstar;": '\U00002605',
- "bigtriangledown;": '\U000025BD',
- "bigtriangleup;": '\U000025B3',
- "biguplus;": '\U00002A04',
- "bigvee;": '\U000022C1',
- "bigwedge;": '\U000022C0',
- "bkarow;": '\U0000290D',
- "blacklozenge;": '\U000029EB',
- "blacksquare;": '\U000025AA',
- "blacktriangle;": '\U000025B4',
- "blacktriangledown;": '\U000025BE',
- "blacktriangleleft;": '\U000025C2',
- "blacktriangleright;": '\U000025B8',
- "blank;": '\U00002423',
- "blk12;": '\U00002592',
- "blk14;": '\U00002591',
- "blk34;": '\U00002593',
- "block;": '\U00002588',
- "bnot;": '\U00002310',
- "bopf;": '\U0001D553',
- "bot;": '\U000022A5',
- "bottom;": '\U000022A5',
- "bowtie;": '\U000022C8',
- "boxDL;": '\U00002557',
- "boxDR;": '\U00002554',
- "boxDl;": '\U00002556',
- "boxDr;": '\U00002553',
- "boxH;": '\U00002550',
- "boxHD;": '\U00002566',
- "boxHU;": '\U00002569',
- "boxHd;": '\U00002564',
- "boxHu;": '\U00002567',
- "boxUL;": '\U0000255D',
- "boxUR;": '\U0000255A',
- "boxUl;": '\U0000255C',
- "boxUr;": '\U00002559',
- "boxV;": '\U00002551',
- "boxVH;": '\U0000256C',
- "boxVL;": '\U00002563',
- "boxVR;": '\U00002560',
- "boxVh;": '\U0000256B',
- "boxVl;": '\U00002562',
- "boxVr;": '\U0000255F',
- "boxbox;": '\U000029C9',
- "boxdL;": '\U00002555',
- "boxdR;": '\U00002552',
- "boxdl;": '\U00002510',
- "boxdr;": '\U0000250C',
- "boxh;": '\U00002500',
- "boxhD;": '\U00002565',
- "boxhU;": '\U00002568',
- "boxhd;": '\U0000252C',
- "boxhu;": '\U00002534',
- "boxminus;": '\U0000229F',
- "boxplus;": '\U0000229E',
- "boxtimes;": '\U000022A0',
- "boxuL;": '\U0000255B',
- "boxuR;": '\U00002558',
- "boxul;": '\U00002518',
- "boxur;": '\U00002514',
- "boxv;": '\U00002502',
- "boxvH;": '\U0000256A',
- "boxvL;": '\U00002561',
- "boxvR;": '\U0000255E',
- "boxvh;": '\U0000253C',
- "boxvl;": '\U00002524',
- "boxvr;": '\U0000251C',
- "bprime;": '\U00002035',
- "breve;": '\U000002D8',
- "brvbar;": '\U000000A6',
- "bscr;": '\U0001D4B7',
- "bsemi;": '\U0000204F',
- "bsim;": '\U0000223D',
- "bsime;": '\U000022CD',
- "bsol;": '\U0000005C',
- "bsolb;": '\U000029C5',
- "bsolhsub;": '\U000027C8',
- "bull;": '\U00002022',
- "bullet;": '\U00002022',
- "bump;": '\U0000224E',
- "bumpE;": '\U00002AAE',
- "bumpe;": '\U0000224F',
- "bumpeq;": '\U0000224F',
- "cacute;": '\U00000107',
- "cap;": '\U00002229',
- "capand;": '\U00002A44',
- "capbrcup;": '\U00002A49',
- "capcap;": '\U00002A4B',
- "capcup;": '\U00002A47',
- "capdot;": '\U00002A40',
- "caret;": '\U00002041',
- "caron;": '\U000002C7',
- "ccaps;": '\U00002A4D',
- "ccaron;": '\U0000010D',
- "ccedil;": '\U000000E7',
- "ccirc;": '\U00000109',
- "ccups;": '\U00002A4C',
- "ccupssm;": '\U00002A50',
- "cdot;": '\U0000010B',
- "cedil;": '\U000000B8',
- "cemptyv;": '\U000029B2',
- "cent;": '\U000000A2',
- "centerdot;": '\U000000B7',
- "cfr;": '\U0001D520',
- "chcy;": '\U00000447',
- "check;": '\U00002713',
- "checkmark;": '\U00002713',
- "chi;": '\U000003C7',
- "cir;": '\U000025CB',
- "cirE;": '\U000029C3',
- "circ;": '\U000002C6',
- "circeq;": '\U00002257',
- "circlearrowleft;": '\U000021BA',
- "circlearrowright;": '\U000021BB',
- "circledR;": '\U000000AE',
- "circledS;": '\U000024C8',
- "circledast;": '\U0000229B',
- "circledcirc;": '\U0000229A',
- "circleddash;": '\U0000229D',
- "cire;": '\U00002257',
- "cirfnint;": '\U00002A10',
- "cirmid;": '\U00002AEF',
- "cirscir;": '\U000029C2',
- "clubs;": '\U00002663',
- "clubsuit;": '\U00002663',
- "colon;": '\U0000003A',
- "colone;": '\U00002254',
- "coloneq;": '\U00002254',
- "comma;": '\U0000002C',
- "commat;": '\U00000040',
- "comp;": '\U00002201',
- "compfn;": '\U00002218',
- "complement;": '\U00002201',
- "complexes;": '\U00002102',
- "cong;": '\U00002245',
- "congdot;": '\U00002A6D',
- "conint;": '\U0000222E',
- "copf;": '\U0001D554',
- "coprod;": '\U00002210',
- "copy;": '\U000000A9',
- "copysr;": '\U00002117',
- "crarr;": '\U000021B5',
- "cross;": '\U00002717',
- "cscr;": '\U0001D4B8',
- "csub;": '\U00002ACF',
- "csube;": '\U00002AD1',
- "csup;": '\U00002AD0',
- "csupe;": '\U00002AD2',
- "ctdot;": '\U000022EF',
- "cudarrl;": '\U00002938',
- "cudarrr;": '\U00002935',
- "cuepr;": '\U000022DE',
- "cuesc;": '\U000022DF',
- "cularr;": '\U000021B6',
- "cularrp;": '\U0000293D',
- "cup;": '\U0000222A',
- "cupbrcap;": '\U00002A48',
- "cupcap;": '\U00002A46',
- "cupcup;": '\U00002A4A',
- "cupdot;": '\U0000228D',
- "cupor;": '\U00002A45',
- "curarr;": '\U000021B7',
- "curarrm;": '\U0000293C',
- "curlyeqprec;": '\U000022DE',
- "curlyeqsucc;": '\U000022DF',
- "curlyvee;": '\U000022CE',
- "curlywedge;": '\U000022CF',
- "curren;": '\U000000A4',
- "curvearrowleft;": '\U000021B6',
- "curvearrowright;": '\U000021B7',
- "cuvee;": '\U000022CE',
- "cuwed;": '\U000022CF',
- "cwconint;": '\U00002232',
- "cwint;": '\U00002231',
- "cylcty;": '\U0000232D',
- "dArr;": '\U000021D3',
- "dHar;": '\U00002965',
- "dagger;": '\U00002020',
- "daleth;": '\U00002138',
- "darr;": '\U00002193',
- "dash;": '\U00002010',
- "dashv;": '\U000022A3',
- "dbkarow;": '\U0000290F',
- "dblac;": '\U000002DD',
- "dcaron;": '\U0000010F',
- "dcy;": '\U00000434',
- "dd;": '\U00002146',
- "ddagger;": '\U00002021',
- "ddarr;": '\U000021CA',
- "ddotseq;": '\U00002A77',
- "deg;": '\U000000B0',
- "delta;": '\U000003B4',
- "demptyv;": '\U000029B1',
- "dfisht;": '\U0000297F',
- "dfr;": '\U0001D521',
- "dharl;": '\U000021C3',
- "dharr;": '\U000021C2',
- "diam;": '\U000022C4',
- "diamond;": '\U000022C4',
- "diamondsuit;": '\U00002666',
- "diams;": '\U00002666',
- "die;": '\U000000A8',
- "digamma;": '\U000003DD',
- "disin;": '\U000022F2',
- "div;": '\U000000F7',
- "divide;": '\U000000F7',
- "divideontimes;": '\U000022C7',
- "divonx;": '\U000022C7',
- "djcy;": '\U00000452',
- "dlcorn;": '\U0000231E',
- "dlcrop;": '\U0000230D',
- "dollar;": '\U00000024',
- "dopf;": '\U0001D555',
- "dot;": '\U000002D9',
- "doteq;": '\U00002250',
- "doteqdot;": '\U00002251',
- "dotminus;": '\U00002238',
- "dotplus;": '\U00002214',
- "dotsquare;": '\U000022A1',
- "doublebarwedge;": '\U00002306',
- "downarrow;": '\U00002193',
- "downdownarrows;": '\U000021CA',
- "downharpoonleft;": '\U000021C3',
- "downharpoonright;": '\U000021C2',
- "drbkarow;": '\U00002910',
- "drcorn;": '\U0000231F',
- "drcrop;": '\U0000230C',
- "dscr;": '\U0001D4B9',
- "dscy;": '\U00000455',
- "dsol;": '\U000029F6',
- "dstrok;": '\U00000111',
- "dtdot;": '\U000022F1',
- "dtri;": '\U000025BF',
- "dtrif;": '\U000025BE',
- "duarr;": '\U000021F5',
- "duhar;": '\U0000296F',
- "dwangle;": '\U000029A6',
- "dzcy;": '\U0000045F',
- "dzigrarr;": '\U000027FF',
- "eDDot;": '\U00002A77',
- "eDot;": '\U00002251',
- "eacute;": '\U000000E9',
- "easter;": '\U00002A6E',
- "ecaron;": '\U0000011B',
- "ecir;": '\U00002256',
- "ecirc;": '\U000000EA',
- "ecolon;": '\U00002255',
- "ecy;": '\U0000044D',
- "edot;": '\U00000117',
- "ee;": '\U00002147',
- "efDot;": '\U00002252',
- "efr;": '\U0001D522',
- "eg;": '\U00002A9A',
- "egrave;": '\U000000E8',
- "egs;": '\U00002A96',
- "egsdot;": '\U00002A98',
- "el;": '\U00002A99',
- "elinters;": '\U000023E7',
- "ell;": '\U00002113',
- "els;": '\U00002A95',
- "elsdot;": '\U00002A97',
- "emacr;": '\U00000113',
- "empty;": '\U00002205',
- "emptyset;": '\U00002205',
- "emptyv;": '\U00002205',
- "emsp;": '\U00002003',
- "emsp13;": '\U00002004',
- "emsp14;": '\U00002005',
- "eng;": '\U0000014B',
- "ensp;": '\U00002002',
- "eogon;": '\U00000119',
- "eopf;": '\U0001D556',
- "epar;": '\U000022D5',
- "eparsl;": '\U000029E3',
- "eplus;": '\U00002A71',
- "epsi;": '\U000003B5',
- "epsilon;": '\U000003B5',
- "epsiv;": '\U000003F5',
- "eqcirc;": '\U00002256',
- "eqcolon;": '\U00002255',
- "eqsim;": '\U00002242',
- "eqslantgtr;": '\U00002A96',
- "eqslantless;": '\U00002A95',
- "equals;": '\U0000003D',
- "equest;": '\U0000225F',
- "equiv;": '\U00002261',
- "equivDD;": '\U00002A78',
- "eqvparsl;": '\U000029E5',
- "erDot;": '\U00002253',
- "erarr;": '\U00002971',
- "escr;": '\U0000212F',
- "esdot;": '\U00002250',
- "esim;": '\U00002242',
- "eta;": '\U000003B7',
- "eth;": '\U000000F0',
- "euml;": '\U000000EB',
- "euro;": '\U000020AC',
- "excl;": '\U00000021',
- "exist;": '\U00002203',
- "expectation;": '\U00002130',
- "exponentiale;": '\U00002147',
- "fallingdotseq;": '\U00002252',
- "fcy;": '\U00000444',
- "female;": '\U00002640',
- "ffilig;": '\U0000FB03',
- "fflig;": '\U0000FB00',
- "ffllig;": '\U0000FB04',
- "ffr;": '\U0001D523',
- "filig;": '\U0000FB01',
- "flat;": '\U0000266D',
- "fllig;": '\U0000FB02',
- "fltns;": '\U000025B1',
- "fnof;": '\U00000192',
- "fopf;": '\U0001D557',
- "forall;": '\U00002200',
- "fork;": '\U000022D4',
- "forkv;": '\U00002AD9',
- "fpartint;": '\U00002A0D',
- "frac12;": '\U000000BD',
- "frac13;": '\U00002153',
- "frac14;": '\U000000BC',
- "frac15;": '\U00002155',
- "frac16;": '\U00002159',
- "frac18;": '\U0000215B',
- "frac23;": '\U00002154',
- "frac25;": '\U00002156',
- "frac34;": '\U000000BE',
- "frac35;": '\U00002157',
- "frac38;": '\U0000215C',
- "frac45;": '\U00002158',
- "frac56;": '\U0000215A',
- "frac58;": '\U0000215D',
- "frac78;": '\U0000215E',
- "frasl;": '\U00002044',
- "frown;": '\U00002322',
- "fscr;": '\U0001D4BB',
- "gE;": '\U00002267',
- "gEl;": '\U00002A8C',
- "gacute;": '\U000001F5',
- "gamma;": '\U000003B3',
- "gammad;": '\U000003DD',
- "gap;": '\U00002A86',
- "gbreve;": '\U0000011F',
- "gcirc;": '\U0000011D',
- "gcy;": '\U00000433',
- "gdot;": '\U00000121',
- "ge;": '\U00002265',
- "gel;": '\U000022DB',
- "geq;": '\U00002265',
- "geqq;": '\U00002267',
- "geqslant;": '\U00002A7E',
- "ges;": '\U00002A7E',
- "gescc;": '\U00002AA9',
- "gesdot;": '\U00002A80',
- "gesdoto;": '\U00002A82',
- "gesdotol;": '\U00002A84',
- "gesles;": '\U00002A94',
- "gfr;": '\U0001D524',
- "gg;": '\U0000226B',
- "ggg;": '\U000022D9',
- "gimel;": '\U00002137',
- "gjcy;": '\U00000453',
- "gl;": '\U00002277',
- "glE;": '\U00002A92',
- "gla;": '\U00002AA5',
- "glj;": '\U00002AA4',
- "gnE;": '\U00002269',
- "gnap;": '\U00002A8A',
- "gnapprox;": '\U00002A8A',
- "gne;": '\U00002A88',
- "gneq;": '\U00002A88',
- "gneqq;": '\U00002269',
- "gnsim;": '\U000022E7',
- "gopf;": '\U0001D558',
- "grave;": '\U00000060',
- "gscr;": '\U0000210A',
- "gsim;": '\U00002273',
- "gsime;": '\U00002A8E',
- "gsiml;": '\U00002A90',
- "gt;": '\U0000003E',
- "gtcc;": '\U00002AA7',
- "gtcir;": '\U00002A7A',
- "gtdot;": '\U000022D7',
- "gtlPar;": '\U00002995',
- "gtquest;": '\U00002A7C',
- "gtrapprox;": '\U00002A86',
- "gtrarr;": '\U00002978',
- "gtrdot;": '\U000022D7',
- "gtreqless;": '\U000022DB',
- "gtreqqless;": '\U00002A8C',
- "gtrless;": '\U00002277',
- "gtrsim;": '\U00002273',
- "hArr;": '\U000021D4',
- "hairsp;": '\U0000200A',
- "half;": '\U000000BD',
- "hamilt;": '\U0000210B',
- "hardcy;": '\U0000044A',
- "harr;": '\U00002194',
- "harrcir;": '\U00002948',
- "harrw;": '\U000021AD',
- "hbar;": '\U0000210F',
- "hcirc;": '\U00000125',
- "hearts;": '\U00002665',
- "heartsuit;": '\U00002665',
- "hellip;": '\U00002026',
- "hercon;": '\U000022B9',
- "hfr;": '\U0001D525',
- "hksearow;": '\U00002925',
- "hkswarow;": '\U00002926',
- "hoarr;": '\U000021FF',
- "homtht;": '\U0000223B',
- "hookleftarrow;": '\U000021A9',
- "hookrightarrow;": '\U000021AA',
- "hopf;": '\U0001D559',
- "horbar;": '\U00002015',
- "hscr;": '\U0001D4BD',
- "hslash;": '\U0000210F',
- "hstrok;": '\U00000127',
- "hybull;": '\U00002043',
- "hyphen;": '\U00002010',
- "iacute;": '\U000000ED',
- "ic;": '\U00002063',
- "icirc;": '\U000000EE',
- "icy;": '\U00000438',
- "iecy;": '\U00000435',
- "iexcl;": '\U000000A1',
- "iff;": '\U000021D4',
- "ifr;": '\U0001D526',
- "igrave;": '\U000000EC',
- "ii;": '\U00002148',
- "iiiint;": '\U00002A0C',
- "iiint;": '\U0000222D',
- "iinfin;": '\U000029DC',
- "iiota;": '\U00002129',
- "ijlig;": '\U00000133',
- "imacr;": '\U0000012B',
- "image;": '\U00002111',
- "imagline;": '\U00002110',
- "imagpart;": '\U00002111',
- "imath;": '\U00000131',
- "imof;": '\U000022B7',
- "imped;": '\U000001B5',
- "in;": '\U00002208',
- "incare;": '\U00002105',
- "infin;": '\U0000221E',
- "infintie;": '\U000029DD',
- "inodot;": '\U00000131',
- "int;": '\U0000222B',
- "intcal;": '\U000022BA',
- "integers;": '\U00002124',
- "intercal;": '\U000022BA',
- "intlarhk;": '\U00002A17',
- "intprod;": '\U00002A3C',
- "iocy;": '\U00000451',
- "iogon;": '\U0000012F',
- "iopf;": '\U0001D55A',
- "iota;": '\U000003B9',
- "iprod;": '\U00002A3C',
- "iquest;": '\U000000BF',
- "iscr;": '\U0001D4BE',
- "isin;": '\U00002208',
- "isinE;": '\U000022F9',
- "isindot;": '\U000022F5',
- "isins;": '\U000022F4',
- "isinsv;": '\U000022F3',
- "isinv;": '\U00002208',
- "it;": '\U00002062',
- "itilde;": '\U00000129',
- "iukcy;": '\U00000456',
- "iuml;": '\U000000EF',
- "jcirc;": '\U00000135',
- "jcy;": '\U00000439',
- "jfr;": '\U0001D527',
- "jmath;": '\U00000237',
- "jopf;": '\U0001D55B',
- "jscr;": '\U0001D4BF',
- "jsercy;": '\U00000458',
- "jukcy;": '\U00000454',
- "kappa;": '\U000003BA',
- "kappav;": '\U000003F0',
- "kcedil;": '\U00000137',
- "kcy;": '\U0000043A',
- "kfr;": '\U0001D528',
- "kgreen;": '\U00000138',
- "khcy;": '\U00000445',
- "kjcy;": '\U0000045C',
- "kopf;": '\U0001D55C',
- "kscr;": '\U0001D4C0',
- "lAarr;": '\U000021DA',
- "lArr;": '\U000021D0',
- "lAtail;": '\U0000291B',
- "lBarr;": '\U0000290E',
- "lE;": '\U00002266',
- "lEg;": '\U00002A8B',
- "lHar;": '\U00002962',
- "lacute;": '\U0000013A',
- "laemptyv;": '\U000029B4',
- "lagran;": '\U00002112',
- "lambda;": '\U000003BB',
- "lang;": '\U000027E8',
- "langd;": '\U00002991',
- "langle;": '\U000027E8',
- "lap;": '\U00002A85',
- "laquo;": '\U000000AB',
- "larr;": '\U00002190',
- "larrb;": '\U000021E4',
- "larrbfs;": '\U0000291F',
- "larrfs;": '\U0000291D',
- "larrhk;": '\U000021A9',
- "larrlp;": '\U000021AB',
- "larrpl;": '\U00002939',
- "larrsim;": '\U00002973',
- "larrtl;": '\U000021A2',
- "lat;": '\U00002AAB',
- "latail;": '\U00002919',
- "late;": '\U00002AAD',
- "lbarr;": '\U0000290C',
- "lbbrk;": '\U00002772',
- "lbrace;": '\U0000007B',
- "lbrack;": '\U0000005B',
- "lbrke;": '\U0000298B',
- "lbrksld;": '\U0000298F',
- "lbrkslu;": '\U0000298D',
- "lcaron;": '\U0000013E',
- "lcedil;": '\U0000013C',
- "lceil;": '\U00002308',
- "lcub;": '\U0000007B',
- "lcy;": '\U0000043B',
- "ldca;": '\U00002936',
- "ldquo;": '\U0000201C',
- "ldquor;": '\U0000201E',
- "ldrdhar;": '\U00002967',
- "ldrushar;": '\U0000294B',
- "ldsh;": '\U000021B2',
- "le;": '\U00002264',
- "leftarrow;": '\U00002190',
- "leftarrowtail;": '\U000021A2',
- "leftharpoondown;": '\U000021BD',
- "leftharpoonup;": '\U000021BC',
- "leftleftarrows;": '\U000021C7',
- "leftrightarrow;": '\U00002194',
- "leftrightarrows;": '\U000021C6',
- "leftrightharpoons;": '\U000021CB',
- "leftrightsquigarrow;": '\U000021AD',
- "leftthreetimes;": '\U000022CB',
- "leg;": '\U000022DA',
- "leq;": '\U00002264',
- "leqq;": '\U00002266',
- "leqslant;": '\U00002A7D',
- "les;": '\U00002A7D',
- "lescc;": '\U00002AA8',
- "lesdot;": '\U00002A7F',
- "lesdoto;": '\U00002A81',
- "lesdotor;": '\U00002A83',
- "lesges;": '\U00002A93',
- "lessapprox;": '\U00002A85',
- "lessdot;": '\U000022D6',
- "lesseqgtr;": '\U000022DA',
- "lesseqqgtr;": '\U00002A8B',
- "lessgtr;": '\U00002276',
- "lesssim;": '\U00002272',
- "lfisht;": '\U0000297C',
- "lfloor;": '\U0000230A',
- "lfr;": '\U0001D529',
- "lg;": '\U00002276',
- "lgE;": '\U00002A91',
- "lhard;": '\U000021BD',
- "lharu;": '\U000021BC',
- "lharul;": '\U0000296A',
- "lhblk;": '\U00002584',
- "ljcy;": '\U00000459',
- "ll;": '\U0000226A',
- "llarr;": '\U000021C7',
- "llcorner;": '\U0000231E',
- "llhard;": '\U0000296B',
- "lltri;": '\U000025FA',
- "lmidot;": '\U00000140',
- "lmoust;": '\U000023B0',
- "lmoustache;": '\U000023B0',
- "lnE;": '\U00002268',
- "lnap;": '\U00002A89',
- "lnapprox;": '\U00002A89',
- "lne;": '\U00002A87',
- "lneq;": '\U00002A87',
- "lneqq;": '\U00002268',
- "lnsim;": '\U000022E6',
- "loang;": '\U000027EC',
- "loarr;": '\U000021FD',
- "lobrk;": '\U000027E6',
- "longleftarrow;": '\U000027F5',
- "longleftrightarrow;": '\U000027F7',
- "longmapsto;": '\U000027FC',
- "longrightarrow;": '\U000027F6',
- "looparrowleft;": '\U000021AB',
- "looparrowright;": '\U000021AC',
- "lopar;": '\U00002985',
- "lopf;": '\U0001D55D',
- "loplus;": '\U00002A2D',
- "lotimes;": '\U00002A34',
- "lowast;": '\U00002217',
- "lowbar;": '\U0000005F',
- "loz;": '\U000025CA',
- "lozenge;": '\U000025CA',
- "lozf;": '\U000029EB',
- "lpar;": '\U00000028',
- "lparlt;": '\U00002993',
- "lrarr;": '\U000021C6',
- "lrcorner;": '\U0000231F',
- "lrhar;": '\U000021CB',
- "lrhard;": '\U0000296D',
- "lrm;": '\U0000200E',
- "lrtri;": '\U000022BF',
- "lsaquo;": '\U00002039',
- "lscr;": '\U0001D4C1',
- "lsh;": '\U000021B0',
- "lsim;": '\U00002272',
- "lsime;": '\U00002A8D',
- "lsimg;": '\U00002A8F',
- "lsqb;": '\U0000005B',
- "lsquo;": '\U00002018',
- "lsquor;": '\U0000201A',
- "lstrok;": '\U00000142',
- "lt;": '\U0000003C',
- "ltcc;": '\U00002AA6',
- "ltcir;": '\U00002A79',
- "ltdot;": '\U000022D6',
- "lthree;": '\U000022CB',
- "ltimes;": '\U000022C9',
- "ltlarr;": '\U00002976',
- "ltquest;": '\U00002A7B',
- "ltrPar;": '\U00002996',
- "ltri;": '\U000025C3',
- "ltrie;": '\U000022B4',
- "ltrif;": '\U000025C2',
- "lurdshar;": '\U0000294A',
- "luruhar;": '\U00002966',
- "mDDot;": '\U0000223A',
- "macr;": '\U000000AF',
- "male;": '\U00002642',
- "malt;": '\U00002720',
- "maltese;": '\U00002720',
- "map;": '\U000021A6',
- "mapsto;": '\U000021A6',
- "mapstodown;": '\U000021A7',
- "mapstoleft;": '\U000021A4',
- "mapstoup;": '\U000021A5',
- "marker;": '\U000025AE',
- "mcomma;": '\U00002A29',
- "mcy;": '\U0000043C',
- "mdash;": '\U00002014',
- "measuredangle;": '\U00002221',
- "mfr;": '\U0001D52A',
- "mho;": '\U00002127',
- "micro;": '\U000000B5',
- "mid;": '\U00002223',
- "midast;": '\U0000002A',
- "midcir;": '\U00002AF0',
- "middot;": '\U000000B7',
- "minus;": '\U00002212',
- "minusb;": '\U0000229F',
- "minusd;": '\U00002238',
- "minusdu;": '\U00002A2A',
- "mlcp;": '\U00002ADB',
- "mldr;": '\U00002026',
- "mnplus;": '\U00002213',
- "models;": '\U000022A7',
- "mopf;": '\U0001D55E',
- "mp;": '\U00002213',
- "mscr;": '\U0001D4C2',
- "mstpos;": '\U0000223E',
- "mu;": '\U000003BC',
- "multimap;": '\U000022B8',
- "mumap;": '\U000022B8',
- "nLeftarrow;": '\U000021CD',
- "nLeftrightarrow;": '\U000021CE',
- "nRightarrow;": '\U000021CF',
- "nVDash;": '\U000022AF',
- "nVdash;": '\U000022AE',
- "nabla;": '\U00002207',
- "nacute;": '\U00000144',
- "nap;": '\U00002249',
- "napos;": '\U00000149',
- "napprox;": '\U00002249',
- "natur;": '\U0000266E',
- "natural;": '\U0000266E',
- "naturals;": '\U00002115',
- "nbsp;": '\U000000A0',
- "ncap;": '\U00002A43',
- "ncaron;": '\U00000148',
- "ncedil;": '\U00000146',
- "ncong;": '\U00002247',
- "ncup;": '\U00002A42',
- "ncy;": '\U0000043D',
- "ndash;": '\U00002013',
- "ne;": '\U00002260',
- "neArr;": '\U000021D7',
- "nearhk;": '\U00002924',
- "nearr;": '\U00002197',
- "nearrow;": '\U00002197',
- "nequiv;": '\U00002262',
- "nesear;": '\U00002928',
- "nexist;": '\U00002204',
- "nexists;": '\U00002204',
- "nfr;": '\U0001D52B',
- "nge;": '\U00002271',
- "ngeq;": '\U00002271',
- "ngsim;": '\U00002275',
- "ngt;": '\U0000226F',
- "ngtr;": '\U0000226F',
- "nhArr;": '\U000021CE',
- "nharr;": '\U000021AE',
- "nhpar;": '\U00002AF2',
- "ni;": '\U0000220B',
- "nis;": '\U000022FC',
- "nisd;": '\U000022FA',
- "niv;": '\U0000220B',
- "njcy;": '\U0000045A',
- "nlArr;": '\U000021CD',
- "nlarr;": '\U0000219A',
- "nldr;": '\U00002025',
- "nle;": '\U00002270',
- "nleftarrow;": '\U0000219A',
- "nleftrightarrow;": '\U000021AE',
- "nleq;": '\U00002270',
- "nless;": '\U0000226E',
- "nlsim;": '\U00002274',
- "nlt;": '\U0000226E',
- "nltri;": '\U000022EA',
- "nltrie;": '\U000022EC',
- "nmid;": '\U00002224',
- "nopf;": '\U0001D55F',
- "not;": '\U000000AC',
- "notin;": '\U00002209',
- "notinva;": '\U00002209',
- "notinvb;": '\U000022F7',
- "notinvc;": '\U000022F6',
- "notni;": '\U0000220C',
- "notniva;": '\U0000220C',
- "notnivb;": '\U000022FE',
- "notnivc;": '\U000022FD',
- "npar;": '\U00002226',
- "nparallel;": '\U00002226',
- "npolint;": '\U00002A14',
- "npr;": '\U00002280',
- "nprcue;": '\U000022E0',
- "nprec;": '\U00002280',
- "nrArr;": '\U000021CF',
- "nrarr;": '\U0000219B',
- "nrightarrow;": '\U0000219B',
- "nrtri;": '\U000022EB',
- "nrtrie;": '\U000022ED',
- "nsc;": '\U00002281',
- "nsccue;": '\U000022E1',
- "nscr;": '\U0001D4C3',
- "nshortmid;": '\U00002224',
- "nshortparallel;": '\U00002226',
- "nsim;": '\U00002241',
- "nsime;": '\U00002244',
- "nsimeq;": '\U00002244',
- "nsmid;": '\U00002224',
- "nspar;": '\U00002226',
- "nsqsube;": '\U000022E2',
- "nsqsupe;": '\U000022E3',
- "nsub;": '\U00002284',
- "nsube;": '\U00002288',
- "nsubseteq;": '\U00002288',
- "nsucc;": '\U00002281',
- "nsup;": '\U00002285',
- "nsupe;": '\U00002289',
- "nsupseteq;": '\U00002289',
- "ntgl;": '\U00002279',
- "ntilde;": '\U000000F1',
- "ntlg;": '\U00002278',
- "ntriangleleft;": '\U000022EA',
- "ntrianglelefteq;": '\U000022EC',
- "ntriangleright;": '\U000022EB',
- "ntrianglerighteq;": '\U000022ED',
- "nu;": '\U000003BD',
- "num;": '\U00000023',
- "numero;": '\U00002116',
- "numsp;": '\U00002007',
- "nvDash;": '\U000022AD',
- "nvHarr;": '\U00002904',
- "nvdash;": '\U000022AC',
- "nvinfin;": '\U000029DE',
- "nvlArr;": '\U00002902',
- "nvrArr;": '\U00002903',
- "nwArr;": '\U000021D6',
- "nwarhk;": '\U00002923',
- "nwarr;": '\U00002196',
- "nwarrow;": '\U00002196',
- "nwnear;": '\U00002927',
- "oS;": '\U000024C8',
- "oacute;": '\U000000F3',
- "oast;": '\U0000229B',
- "ocir;": '\U0000229A',
- "ocirc;": '\U000000F4',
- "ocy;": '\U0000043E',
- "odash;": '\U0000229D',
- "odblac;": '\U00000151',
- "odiv;": '\U00002A38',
- "odot;": '\U00002299',
- "odsold;": '\U000029BC',
- "oelig;": '\U00000153',
- "ofcir;": '\U000029BF',
- "ofr;": '\U0001D52C',
- "ogon;": '\U000002DB',
- "ograve;": '\U000000F2',
- "ogt;": '\U000029C1',
- "ohbar;": '\U000029B5',
- "ohm;": '\U000003A9',
- "oint;": '\U0000222E',
- "olarr;": '\U000021BA',
- "olcir;": '\U000029BE',
- "olcross;": '\U000029BB',
- "oline;": '\U0000203E',
- "olt;": '\U000029C0',
- "omacr;": '\U0000014D',
- "omega;": '\U000003C9',
- "omicron;": '\U000003BF',
- "omid;": '\U000029B6',
- "ominus;": '\U00002296',
- "oopf;": '\U0001D560',
- "opar;": '\U000029B7',
- "operp;": '\U000029B9',
- "oplus;": '\U00002295',
- "or;": '\U00002228',
- "orarr;": '\U000021BB',
- "ord;": '\U00002A5D',
- "order;": '\U00002134',
- "orderof;": '\U00002134',
- "ordf;": '\U000000AA',
- "ordm;": '\U000000BA',
- "origof;": '\U000022B6',
- "oror;": '\U00002A56',
- "orslope;": '\U00002A57',
- "orv;": '\U00002A5B',
- "oscr;": '\U00002134',
- "oslash;": '\U000000F8',
- "osol;": '\U00002298',
- "otilde;": '\U000000F5',
- "otimes;": '\U00002297',
- "otimesas;": '\U00002A36',
- "ouml;": '\U000000F6',
- "ovbar;": '\U0000233D',
- "par;": '\U00002225',
- "para;": '\U000000B6',
- "parallel;": '\U00002225',
- "parsim;": '\U00002AF3',
- "parsl;": '\U00002AFD',
- "part;": '\U00002202',
- "pcy;": '\U0000043F',
- "percnt;": '\U00000025',
- "period;": '\U0000002E',
- "permil;": '\U00002030',
- "perp;": '\U000022A5',
- "pertenk;": '\U00002031',
- "pfr;": '\U0001D52D',
- "phi;": '\U000003C6',
- "phiv;": '\U000003D5',
- "phmmat;": '\U00002133',
- "phone;": '\U0000260E',
- "pi;": '\U000003C0',
- "pitchfork;": '\U000022D4',
- "piv;": '\U000003D6',
- "planck;": '\U0000210F',
- "planckh;": '\U0000210E',
- "plankv;": '\U0000210F',
- "plus;": '\U0000002B',
- "plusacir;": '\U00002A23',
- "plusb;": '\U0000229E',
- "pluscir;": '\U00002A22',
- "plusdo;": '\U00002214',
- "plusdu;": '\U00002A25',
- "pluse;": '\U00002A72',
- "plusmn;": '\U000000B1',
- "plussim;": '\U00002A26',
- "plustwo;": '\U00002A27',
- "pm;": '\U000000B1',
- "pointint;": '\U00002A15',
- "popf;": '\U0001D561',
- "pound;": '\U000000A3',
- "pr;": '\U0000227A',
- "prE;": '\U00002AB3',
- "prap;": '\U00002AB7',
- "prcue;": '\U0000227C',
- "pre;": '\U00002AAF',
- "prec;": '\U0000227A',
- "precapprox;": '\U00002AB7',
- "preccurlyeq;": '\U0000227C',
- "preceq;": '\U00002AAF',
- "precnapprox;": '\U00002AB9',
- "precneqq;": '\U00002AB5',
- "precnsim;": '\U000022E8',
- "precsim;": '\U0000227E',
- "prime;": '\U00002032',
- "primes;": '\U00002119',
- "prnE;": '\U00002AB5',
- "prnap;": '\U00002AB9',
- "prnsim;": '\U000022E8',
- "prod;": '\U0000220F',
- "profalar;": '\U0000232E',
- "profline;": '\U00002312',
- "profsurf;": '\U00002313',
- "prop;": '\U0000221D',
- "propto;": '\U0000221D',
- "prsim;": '\U0000227E',
- "prurel;": '\U000022B0',
- "pscr;": '\U0001D4C5',
- "psi;": '\U000003C8',
- "puncsp;": '\U00002008',
- "qfr;": '\U0001D52E',
- "qint;": '\U00002A0C',
- "qopf;": '\U0001D562',
- "qprime;": '\U00002057',
- "qscr;": '\U0001D4C6',
- "quaternions;": '\U0000210D',
- "quatint;": '\U00002A16',
- "quest;": '\U0000003F',
- "questeq;": '\U0000225F',
- "quot;": '\U00000022',
- "rAarr;": '\U000021DB',
- "rArr;": '\U000021D2',
- "rAtail;": '\U0000291C',
- "rBarr;": '\U0000290F',
- "rHar;": '\U00002964',
- "racute;": '\U00000155',
- "radic;": '\U0000221A',
- "raemptyv;": '\U000029B3',
- "rang;": '\U000027E9',
- "rangd;": '\U00002992',
- "range;": '\U000029A5',
- "rangle;": '\U000027E9',
- "raquo;": '\U000000BB',
- "rarr;": '\U00002192',
- "rarrap;": '\U00002975',
- "rarrb;": '\U000021E5',
- "rarrbfs;": '\U00002920',
- "rarrc;": '\U00002933',
- "rarrfs;": '\U0000291E',
- "rarrhk;": '\U000021AA',
- "rarrlp;": '\U000021AC',
- "rarrpl;": '\U00002945',
- "rarrsim;": '\U00002974',
- "rarrtl;": '\U000021A3',
- "rarrw;": '\U0000219D',
- "ratail;": '\U0000291A',
- "ratio;": '\U00002236',
- "rationals;": '\U0000211A',
- "rbarr;": '\U0000290D',
- "rbbrk;": '\U00002773',
- "rbrace;": '\U0000007D',
- "rbrack;": '\U0000005D',
- "rbrke;": '\U0000298C',
- "rbrksld;": '\U0000298E',
- "rbrkslu;": '\U00002990',
- "rcaron;": '\U00000159',
- "rcedil;": '\U00000157',
- "rceil;": '\U00002309',
- "rcub;": '\U0000007D',
- "rcy;": '\U00000440',
- "rdca;": '\U00002937',
- "rdldhar;": '\U00002969',
- "rdquo;": '\U0000201D',
- "rdquor;": '\U0000201D',
- "rdsh;": '\U000021B3',
- "real;": '\U0000211C',
- "realine;": '\U0000211B',
- "realpart;": '\U0000211C',
- "reals;": '\U0000211D',
- "rect;": '\U000025AD',
- "reg;": '\U000000AE',
- "rfisht;": '\U0000297D',
- "rfloor;": '\U0000230B',
- "rfr;": '\U0001D52F',
- "rhard;": '\U000021C1',
- "rharu;": '\U000021C0',
- "rharul;": '\U0000296C',
- "rho;": '\U000003C1',
- "rhov;": '\U000003F1',
- "rightarrow;": '\U00002192',
- "rightarrowtail;": '\U000021A3',
- "rightharpoondown;": '\U000021C1',
- "rightharpoonup;": '\U000021C0',
- "rightleftarrows;": '\U000021C4',
- "rightleftharpoons;": '\U000021CC',
- "rightrightarrows;": '\U000021C9',
- "rightsquigarrow;": '\U0000219D',
- "rightthreetimes;": '\U000022CC',
- "ring;": '\U000002DA',
- "risingdotseq;": '\U00002253',
- "rlarr;": '\U000021C4',
- "rlhar;": '\U000021CC',
- "rlm;": '\U0000200F',
- "rmoust;": '\U000023B1',
- "rmoustache;": '\U000023B1',
- "rnmid;": '\U00002AEE',
- "roang;": '\U000027ED',
- "roarr;": '\U000021FE',
- "robrk;": '\U000027E7',
- "ropar;": '\U00002986',
- "ropf;": '\U0001D563',
- "roplus;": '\U00002A2E',
- "rotimes;": '\U00002A35',
- "rpar;": '\U00000029',
- "rpargt;": '\U00002994',
- "rppolint;": '\U00002A12',
- "rrarr;": '\U000021C9',
- "rsaquo;": '\U0000203A',
- "rscr;": '\U0001D4C7',
- "rsh;": '\U000021B1',
- "rsqb;": '\U0000005D',
- "rsquo;": '\U00002019',
- "rsquor;": '\U00002019',
- "rthree;": '\U000022CC',
- "rtimes;": '\U000022CA',
- "rtri;": '\U000025B9',
- "rtrie;": '\U000022B5',
- "rtrif;": '\U000025B8',
- "rtriltri;": '\U000029CE',
- "ruluhar;": '\U00002968',
- "rx;": '\U0000211E',
- "sacute;": '\U0000015B',
- "sbquo;": '\U0000201A',
- "sc;": '\U0000227B',
- "scE;": '\U00002AB4',
- "scap;": '\U00002AB8',
- "scaron;": '\U00000161',
- "sccue;": '\U0000227D',
- "sce;": '\U00002AB0',
- "scedil;": '\U0000015F',
- "scirc;": '\U0000015D',
- "scnE;": '\U00002AB6',
- "scnap;": '\U00002ABA',
- "scnsim;": '\U000022E9',
- "scpolint;": '\U00002A13',
- "scsim;": '\U0000227F',
- "scy;": '\U00000441',
- "sdot;": '\U000022C5',
- "sdotb;": '\U000022A1',
- "sdote;": '\U00002A66',
- "seArr;": '\U000021D8',
- "searhk;": '\U00002925',
- "searr;": '\U00002198',
- "searrow;": '\U00002198',
- "sect;": '\U000000A7',
- "semi;": '\U0000003B',
- "seswar;": '\U00002929',
- "setminus;": '\U00002216',
- "setmn;": '\U00002216',
- "sext;": '\U00002736',
- "sfr;": '\U0001D530',
- "sfrown;": '\U00002322',
- "sharp;": '\U0000266F',
- "shchcy;": '\U00000449',
- "shcy;": '\U00000448',
- "shortmid;": '\U00002223',
- "shortparallel;": '\U00002225',
- "shy;": '\U000000AD',
- "sigma;": '\U000003C3',
- "sigmaf;": '\U000003C2',
- "sigmav;": '\U000003C2',
- "sim;": '\U0000223C',
- "simdot;": '\U00002A6A',
- "sime;": '\U00002243',
- "simeq;": '\U00002243',
- "simg;": '\U00002A9E',
- "simgE;": '\U00002AA0',
- "siml;": '\U00002A9D',
- "simlE;": '\U00002A9F',
- "simne;": '\U00002246',
- "simplus;": '\U00002A24',
- "simrarr;": '\U00002972',
- "slarr;": '\U00002190',
- "smallsetminus;": '\U00002216',
- "smashp;": '\U00002A33',
- "smeparsl;": '\U000029E4',
- "smid;": '\U00002223',
- "smile;": '\U00002323',
- "smt;": '\U00002AAA',
- "smte;": '\U00002AAC',
- "softcy;": '\U0000044C',
- "sol;": '\U0000002F',
- "solb;": '\U000029C4',
- "solbar;": '\U0000233F',
- "sopf;": '\U0001D564',
- "spades;": '\U00002660',
- "spadesuit;": '\U00002660',
- "spar;": '\U00002225',
- "sqcap;": '\U00002293',
- "sqcup;": '\U00002294',
- "sqsub;": '\U0000228F',
- "sqsube;": '\U00002291',
- "sqsubset;": '\U0000228F',
- "sqsubseteq;": '\U00002291',
- "sqsup;": '\U00002290',
- "sqsupe;": '\U00002292',
- "sqsupset;": '\U00002290',
- "sqsupseteq;": '\U00002292',
- "squ;": '\U000025A1',
- "square;": '\U000025A1',
- "squarf;": '\U000025AA',
- "squf;": '\U000025AA',
- "srarr;": '\U00002192',
- "sscr;": '\U0001D4C8',
- "ssetmn;": '\U00002216',
- "ssmile;": '\U00002323',
- "sstarf;": '\U000022C6',
- "star;": '\U00002606',
- "starf;": '\U00002605',
- "straightepsilon;": '\U000003F5',
- "straightphi;": '\U000003D5',
- "strns;": '\U000000AF',
- "sub;": '\U00002282',
- "subE;": '\U00002AC5',
- "subdot;": '\U00002ABD',
- "sube;": '\U00002286',
- "subedot;": '\U00002AC3',
- "submult;": '\U00002AC1',
- "subnE;": '\U00002ACB',
- "subne;": '\U0000228A',
- "subplus;": '\U00002ABF',
- "subrarr;": '\U00002979',
- "subset;": '\U00002282',
- "subseteq;": '\U00002286',
- "subseteqq;": '\U00002AC5',
- "subsetneq;": '\U0000228A',
- "subsetneqq;": '\U00002ACB',
- "subsim;": '\U00002AC7',
- "subsub;": '\U00002AD5',
- "subsup;": '\U00002AD3',
- "succ;": '\U0000227B',
- "succapprox;": '\U00002AB8',
- "succcurlyeq;": '\U0000227D',
- "succeq;": '\U00002AB0',
- "succnapprox;": '\U00002ABA',
- "succneqq;": '\U00002AB6',
- "succnsim;": '\U000022E9',
- "succsim;": '\U0000227F',
- "sum;": '\U00002211',
- "sung;": '\U0000266A',
- "sup;": '\U00002283',
- "sup1;": '\U000000B9',
- "sup2;": '\U000000B2',
- "sup3;": '\U000000B3',
- "supE;": '\U00002AC6',
- "supdot;": '\U00002ABE',
- "supdsub;": '\U00002AD8',
- "supe;": '\U00002287',
- "supedot;": '\U00002AC4',
- "suphsol;": '\U000027C9',
- "suphsub;": '\U00002AD7',
- "suplarr;": '\U0000297B',
- "supmult;": '\U00002AC2',
- "supnE;": '\U00002ACC',
- "supne;": '\U0000228B',
- "supplus;": '\U00002AC0',
- "supset;": '\U00002283',
- "supseteq;": '\U00002287',
- "supseteqq;": '\U00002AC6',
- "supsetneq;": '\U0000228B',
- "supsetneqq;": '\U00002ACC',
- "supsim;": '\U00002AC8',
- "supsub;": '\U00002AD4',
- "supsup;": '\U00002AD6',
- "swArr;": '\U000021D9',
- "swarhk;": '\U00002926',
- "swarr;": '\U00002199',
- "swarrow;": '\U00002199',
- "swnwar;": '\U0000292A',
- "szlig;": '\U000000DF',
- "target;": '\U00002316',
- "tau;": '\U000003C4',
- "tbrk;": '\U000023B4',
- "tcaron;": '\U00000165',
- "tcedil;": '\U00000163',
- "tcy;": '\U00000442',
- "tdot;": '\U000020DB',
- "telrec;": '\U00002315',
- "tfr;": '\U0001D531',
- "there4;": '\U00002234',
- "therefore;": '\U00002234',
- "theta;": '\U000003B8',
- "thetasym;": '\U000003D1',
- "thetav;": '\U000003D1',
- "thickapprox;": '\U00002248',
- "thicksim;": '\U0000223C',
- "thinsp;": '\U00002009',
- "thkap;": '\U00002248',
- "thksim;": '\U0000223C',
- "thorn;": '\U000000FE',
- "tilde;": '\U000002DC',
- "times;": '\U000000D7',
- "timesb;": '\U000022A0',
- "timesbar;": '\U00002A31',
- "timesd;": '\U00002A30',
- "tint;": '\U0000222D',
- "toea;": '\U00002928',
- "top;": '\U000022A4',
- "topbot;": '\U00002336',
- "topcir;": '\U00002AF1',
- "topf;": '\U0001D565',
- "topfork;": '\U00002ADA',
- "tosa;": '\U00002929',
- "tprime;": '\U00002034',
- "trade;": '\U00002122',
- "triangle;": '\U000025B5',
- "triangledown;": '\U000025BF',
- "triangleleft;": '\U000025C3',
- "trianglelefteq;": '\U000022B4',
- "triangleq;": '\U0000225C',
- "triangleright;": '\U000025B9',
- "trianglerighteq;": '\U000022B5',
- "tridot;": '\U000025EC',
- "trie;": '\U0000225C',
- "triminus;": '\U00002A3A',
- "triplus;": '\U00002A39',
- "trisb;": '\U000029CD',
- "tritime;": '\U00002A3B',
- "trpezium;": '\U000023E2',
- "tscr;": '\U0001D4C9',
- "tscy;": '\U00000446',
- "tshcy;": '\U0000045B',
- "tstrok;": '\U00000167',
- "twixt;": '\U0000226C',
- "twoheadleftarrow;": '\U0000219E',
- "twoheadrightarrow;": '\U000021A0',
- "uArr;": '\U000021D1',
- "uHar;": '\U00002963',
- "uacute;": '\U000000FA',
- "uarr;": '\U00002191',
- "ubrcy;": '\U0000045E',
- "ubreve;": '\U0000016D',
- "ucirc;": '\U000000FB',
- "ucy;": '\U00000443',
- "udarr;": '\U000021C5',
- "udblac;": '\U00000171',
- "udhar;": '\U0000296E',
- "ufisht;": '\U0000297E',
- "ufr;": '\U0001D532',
- "ugrave;": '\U000000F9',
- "uharl;": '\U000021BF',
- "uharr;": '\U000021BE',
- "uhblk;": '\U00002580',
- "ulcorn;": '\U0000231C',
- "ulcorner;": '\U0000231C',
- "ulcrop;": '\U0000230F',
- "ultri;": '\U000025F8',
- "umacr;": '\U0000016B',
- "uml;": '\U000000A8',
- "uogon;": '\U00000173',
- "uopf;": '\U0001D566',
- "uparrow;": '\U00002191',
- "updownarrow;": '\U00002195',
- "upharpoonleft;": '\U000021BF',
- "upharpoonright;": '\U000021BE',
- "uplus;": '\U0000228E',
- "upsi;": '\U000003C5',
- "upsih;": '\U000003D2',
- "upsilon;": '\U000003C5',
- "upuparrows;": '\U000021C8',
- "urcorn;": '\U0000231D',
- "urcorner;": '\U0000231D',
- "urcrop;": '\U0000230E',
- "uring;": '\U0000016F',
- "urtri;": '\U000025F9',
- "uscr;": '\U0001D4CA',
- "utdot;": '\U000022F0',
- "utilde;": '\U00000169',
- "utri;": '\U000025B5',
- "utrif;": '\U000025B4',
- "uuarr;": '\U000021C8',
- "uuml;": '\U000000FC',
- "uwangle;": '\U000029A7',
- "vArr;": '\U000021D5',
- "vBar;": '\U00002AE8',
- "vBarv;": '\U00002AE9',
- "vDash;": '\U000022A8',
- "vangrt;": '\U0000299C',
- "varepsilon;": '\U000003F5',
- "varkappa;": '\U000003F0',
- "varnothing;": '\U00002205',
- "varphi;": '\U000003D5',
- "varpi;": '\U000003D6',
- "varpropto;": '\U0000221D',
- "varr;": '\U00002195',
- "varrho;": '\U000003F1',
- "varsigma;": '\U000003C2',
- "vartheta;": '\U000003D1',
- "vartriangleleft;": '\U000022B2',
- "vartriangleright;": '\U000022B3',
- "vcy;": '\U00000432',
- "vdash;": '\U000022A2',
- "vee;": '\U00002228',
- "veebar;": '\U000022BB',
- "veeeq;": '\U0000225A',
- "vellip;": '\U000022EE',
- "verbar;": '\U0000007C',
- "vert;": '\U0000007C',
- "vfr;": '\U0001D533',
- "vltri;": '\U000022B2',
- "vopf;": '\U0001D567',
- "vprop;": '\U0000221D',
- "vrtri;": '\U000022B3',
- "vscr;": '\U0001D4CB',
- "vzigzag;": '\U0000299A',
- "wcirc;": '\U00000175',
- "wedbar;": '\U00002A5F',
- "wedge;": '\U00002227',
- "wedgeq;": '\U00002259',
- "weierp;": '\U00002118',
- "wfr;": '\U0001D534',
- "wopf;": '\U0001D568',
- "wp;": '\U00002118',
- "wr;": '\U00002240',
- "wreath;": '\U00002240',
- "wscr;": '\U0001D4CC',
- "xcap;": '\U000022C2',
- "xcirc;": '\U000025EF',
- "xcup;": '\U000022C3',
- "xdtri;": '\U000025BD',
- "xfr;": '\U0001D535',
- "xhArr;": '\U000027FA',
- "xharr;": '\U000027F7',
- "xi;": '\U000003BE',
- "xlArr;": '\U000027F8',
- "xlarr;": '\U000027F5',
- "xmap;": '\U000027FC',
- "xnis;": '\U000022FB',
- "xodot;": '\U00002A00',
- "xopf;": '\U0001D569',
- "xoplus;": '\U00002A01',
- "xotime;": '\U00002A02',
- "xrArr;": '\U000027F9',
- "xrarr;": '\U000027F6',
- "xscr;": '\U0001D4CD',
- "xsqcup;": '\U00002A06',
- "xuplus;": '\U00002A04',
- "xutri;": '\U000025B3',
- "xvee;": '\U000022C1',
- "xwedge;": '\U000022C0',
- "yacute;": '\U000000FD',
- "yacy;": '\U0000044F',
- "ycirc;": '\U00000177',
- "ycy;": '\U0000044B',
- "yen;": '\U000000A5',
- "yfr;": '\U0001D536',
- "yicy;": '\U00000457',
- "yopf;": '\U0001D56A',
- "yscr;": '\U0001D4CE',
- "yucy;": '\U0000044E',
- "yuml;": '\U000000FF',
- "zacute;": '\U0000017A',
- "zcaron;": '\U0000017E',
- "zcy;": '\U00000437',
- "zdot;": '\U0000017C',
- "zeetrf;": '\U00002128',
- "zeta;": '\U000003B6',
- "zfr;": '\U0001D537',
- "zhcy;": '\U00000436',
- "zigrarr;": '\U000021DD',
- "zopf;": '\U0001D56B',
- "zscr;": '\U0001D4CF',
- "zwj;": '\U0000200D',
- "zwnj;": '\U0000200C',
- "AElig": '\U000000C6',
- "AMP": '\U00000026',
- "Aacute": '\U000000C1',
- "Acirc": '\U000000C2',
- "Agrave": '\U000000C0',
- "Aring": '\U000000C5',
- "Atilde": '\U000000C3',
- "Auml": '\U000000C4',
- "COPY": '\U000000A9',
- "Ccedil": '\U000000C7',
- "ETH": '\U000000D0',
- "Eacute": '\U000000C9',
- "Ecirc": '\U000000CA',
- "Egrave": '\U000000C8',
- "Euml": '\U000000CB',
- "GT": '\U0000003E',
- "Iacute": '\U000000CD',
- "Icirc": '\U000000CE',
- "Igrave": '\U000000CC',
- "Iuml": '\U000000CF',
- "LT": '\U0000003C',
- "Ntilde": '\U000000D1',
- "Oacute": '\U000000D3',
- "Ocirc": '\U000000D4',
- "Ograve": '\U000000D2',
- "Oslash": '\U000000D8',
- "Otilde": '\U000000D5',
- "Ouml": '\U000000D6',
- "QUOT": '\U00000022',
- "REG": '\U000000AE',
- "THORN": '\U000000DE',
- "Uacute": '\U000000DA',
- "Ucirc": '\U000000DB',
- "Ugrave": '\U000000D9',
- "Uuml": '\U000000DC',
- "Yacute": '\U000000DD',
- "aacute": '\U000000E1',
- "acirc": '\U000000E2',
- "acute": '\U000000B4',
- "aelig": '\U000000E6',
- "agrave": '\U000000E0',
- "amp": '\U00000026',
- "aring": '\U000000E5',
- "atilde": '\U000000E3',
- "auml": '\U000000E4',
- "brvbar": '\U000000A6',
- "ccedil": '\U000000E7',
- "cedil": '\U000000B8',
- "cent": '\U000000A2',
- "copy": '\U000000A9',
- "curren": '\U000000A4',
- "deg": '\U000000B0',
- "divide": '\U000000F7',
- "eacute": '\U000000E9',
- "ecirc": '\U000000EA',
- "egrave": '\U000000E8',
- "eth": '\U000000F0',
- "euml": '\U000000EB',
- "frac12": '\U000000BD',
- "frac14": '\U000000BC',
- "frac34": '\U000000BE',
- "gt": '\U0000003E',
- "iacute": '\U000000ED',
- "icirc": '\U000000EE',
- "iexcl": '\U000000A1',
- "igrave": '\U000000EC',
- "iquest": '\U000000BF',
- "iuml": '\U000000EF',
- "laquo": '\U000000AB',
- "lt": '\U0000003C',
- "macr": '\U000000AF',
- "micro": '\U000000B5',
- "middot": '\U000000B7',
- "nbsp": '\U000000A0',
- "not": '\U000000AC',
- "ntilde": '\U000000F1',
- "oacute": '\U000000F3',
- "ocirc": '\U000000F4',
- "ograve": '\U000000F2',
- "ordf": '\U000000AA',
- "ordm": '\U000000BA',
- "oslash": '\U000000F8',
- "otilde": '\U000000F5',
- "ouml": '\U000000F6',
- "para": '\U000000B6',
- "plusmn": '\U000000B1',
- "pound": '\U000000A3',
- "quot": '\U00000022',
- "raquo": '\U000000BB',
- "reg": '\U000000AE',
- "sect": '\U000000A7',
- "shy": '\U000000AD',
- "sup1": '\U000000B9',
- "sup2": '\U000000B2',
- "sup3": '\U000000B3',
- "szlig": '\U000000DF',
- "thorn": '\U000000FE',
- "times": '\U000000D7',
- "uacute": '\U000000FA',
- "ucirc": '\U000000FB',
- "ugrave": '\U000000F9',
- "uml": '\U000000A8',
- "uuml": '\U000000FC',
- "yacute": '\U000000FD',
- "yen": '\U000000A5',
- "yuml": '\U000000FF',
+// https://www.w3.org/TR/html4/sgml/entities.html
+var entity map[string]entityVal
+
+type entityVal [8]byte
+
+func mkEntityVal(str string) (ret entityVal) {
+ ret[0] = byte(len(str))
+ if copy(ret[1:], str) < len(str) {
+ panic("entity value does not fit in buffer: "+str)
+ }
+ return ret
}
-// HTML entities that are two unicode codepoints.
-var entity2 = map[string][2]rune{
- // TODO(nigeltao): Handle replacements that are wider than their names.
- // "nLt;": {'\u226A', '\u20D2'},
- // "nGt;": {'\u226B', '\u20D2'},
- "NotEqualTilde;": {'\u2242', '\u0338'},
- "NotGreaterFullEqual;": {'\u2267', '\u0338'},
- "NotGreaterGreater;": {'\u226B', '\u0338'},
- "NotGreaterSlantEqual;": {'\u2A7E', '\u0338'},
- "NotHumpDownHump;": {'\u224E', '\u0338'},
- "NotHumpEqual;": {'\u224F', '\u0338'},
- "NotLeftTriangleBar;": {'\u29CF', '\u0338'},
- "NotLessLess;": {'\u226A', '\u0338'},
- "NotLessSlantEqual;": {'\u2A7D', '\u0338'},
- "NotNestedGreaterGreater;": {'\u2AA2', '\u0338'},
- "NotNestedLessLess;": {'\u2AA1', '\u0338'},
- "NotPrecedesEqual;": {'\u2AAF', '\u0338'},
- "NotRightTriangleBar;": {'\u29D0', '\u0338'},
- "NotSquareSubset;": {'\u228F', '\u0338'},
- "NotSquareSuperset;": {'\u2290', '\u0338'},
- "NotSubset;": {'\u2282', '\u20D2'},
- "NotSucceedsEqual;": {'\u2AB0', '\u0338'},
- "NotSucceedsTilde;": {'\u227F', '\u0338'},
- "NotSuperset;": {'\u2283', '\u20D2'},
- "ThickSpace;": {'\u205F', '\u200A'},
- "acE;": {'\u223E', '\u0333'},
- "bne;": {'\u003D', '\u20E5'},
- "bnequiv;": {'\u2261', '\u20E5'},
- "caps;": {'\u2229', '\uFE00'},
- "cups;": {'\u222A', '\uFE00'},
- "fjlig;": {'\u0066', '\u006A'},
- "gesl;": {'\u22DB', '\uFE00'},
- "gvertneqq;": {'\u2269', '\uFE00'},
- "gvnE;": {'\u2269', '\uFE00'},
- "lates;": {'\u2AAD', '\uFE00'},
- "lesg;": {'\u22DA', '\uFE00'},
- "lvertneqq;": {'\u2268', '\uFE00'},
- "lvnE;": {'\u2268', '\uFE00'},
- "nGg;": {'\u22D9', '\u0338'},
- "nGtv;": {'\u226B', '\u0338'},
- "nLl;": {'\u22D8', '\u0338'},
- "nLtv;": {'\u226A', '\u0338'},
- "nang;": {'\u2220', '\u20D2'},
- "napE;": {'\u2A70', '\u0338'},
- "napid;": {'\u224B', '\u0338'},
- "nbump;": {'\u224E', '\u0338'},
- "nbumpe;": {'\u224F', '\u0338'},
- "ncongdot;": {'\u2A6D', '\u0338'},
- "nedot;": {'\u2250', '\u0338'},
- "nesim;": {'\u2242', '\u0338'},
- "ngE;": {'\u2267', '\u0338'},
- "ngeqq;": {'\u2267', '\u0338'},
- "ngeqslant;": {'\u2A7E', '\u0338'},
- "nges;": {'\u2A7E', '\u0338'},
- "nlE;": {'\u2266', '\u0338'},
- "nleqq;": {'\u2266', '\u0338'},
- "nleqslant;": {'\u2A7D', '\u0338'},
- "nles;": {'\u2A7D', '\u0338'},
- "notinE;": {'\u22F9', '\u0338'},
- "notindot;": {'\u22F5', '\u0338'},
- "nparsl;": {'\u2AFD', '\u20E5'},
- "npart;": {'\u2202', '\u0338'},
- "npre;": {'\u2AAF', '\u0338'},
- "npreceq;": {'\u2AAF', '\u0338'},
- "nrarrc;": {'\u2933', '\u0338'},
- "nrarrw;": {'\u219D', '\u0338'},
- "nsce;": {'\u2AB0', '\u0338'},
- "nsubE;": {'\u2AC5', '\u0338'},
- "nsubset;": {'\u2282', '\u20D2'},
- "nsubseteqq;": {'\u2AC5', '\u0338'},
- "nsucceq;": {'\u2AB0', '\u0338'},
- "nsupE;": {'\u2AC6', '\u0338'},
- "nsupset;": {'\u2283', '\u20D2'},
- "nsupseteqq;": {'\u2AC6', '\u0338'},
- "nvap;": {'\u224D', '\u20D2'},
- "nvge;": {'\u2265', '\u20D2'},
- "nvgt;": {'\u003E', '\u20D2'},
- "nvle;": {'\u2264', '\u20D2'},
- "nvlt;": {'\u003C', '\u20D2'},
- "nvltrie;": {'\u22B4', '\u20D2'},
- "nvrtrie;": {'\u22B5', '\u20D2'},
- "nvsim;": {'\u223C', '\u20D2'},
- "race;": {'\u223D', '\u0331'},
- "smtes;": {'\u2AAC', '\uFE00'},
- "sqcaps;": {'\u2293', '\uFE00'},
- "sqcups;": {'\u2294', '\uFE00'},
- "varsubsetneq;": {'\u228A', '\uFE00'},
- "varsubsetneqq;": {'\u2ACB', '\uFE00'},
- "varsupsetneq;": {'\u228B', '\uFE00'},
- "varsupsetneqq;": {'\u2ACC', '\uFE00'},
- "vnsub;": {'\u2282', '\u20D2'},
- "vnsup;": {'\u2283', '\u20D2'},
- "vsubnE;": {'\u2ACB', '\uFE00'},
- "vsubne;": {'\u228A', '\uFE00'},
- "vsupnE;": {'\u2ACC', '\uFE00'},
- "vsupne;": {'\u228B', '\uFE00'},
+// populateMapOnce guards calling populateMap.
+var populateMapOnce sync.Once
+
+// populateMap populates entity.
+func populateMap() {
+ entity = map[string]entityVal{
+ "AElig;": mkEntityVal("\U000000C6"),
+ "AMP;": mkEntityVal("\U00000026"),
+ "Aacute;": mkEntityVal("\U000000C1"),
+ "Abreve;": mkEntityVal("\U00000102"),
+ "Acirc;": mkEntityVal("\U000000C2"),
+ "Acy;": mkEntityVal("\U00000410"),
+ "Afr;": mkEntityVal("\U0001D504"),
+ "Agrave;": mkEntityVal("\U000000C0"),
+ "Alpha;": mkEntityVal("\U00000391"),
+ "Amacr;": mkEntityVal("\U00000100"),
+ "And;": mkEntityVal("\U00002A53"),
+ "Aogon;": mkEntityVal("\U00000104"),
+ "Aopf;": mkEntityVal("\U0001D538"),
+ "ApplyFunction;": mkEntityVal("\U00002061"),
+ "Aring;": mkEntityVal("\U000000C5"),
+ "Ascr;": mkEntityVal("\U0001D49C"),
+ "Assign;": mkEntityVal("\U00002254"),
+ "Atilde;": mkEntityVal("\U000000C3"),
+ "Auml;": mkEntityVal("\U000000C4"),
+ "Backslash;": mkEntityVal("\U00002216"),
+ "Barv;": mkEntityVal("\U00002AE7"),
+ "Barwed;": mkEntityVal("\U00002306"),
+ "Bcy;": mkEntityVal("\U00000411"),
+ "Because;": mkEntityVal("\U00002235"),
+ "Bernoullis;": mkEntityVal("\U0000212C"),
+ "Beta;": mkEntityVal("\U00000392"),
+ "Bfr;": mkEntityVal("\U0001D505"),
+ "Bopf;": mkEntityVal("\U0001D539"),
+ "Breve;": mkEntityVal("\U000002D8"),
+ "Bscr;": mkEntityVal("\U0000212C"),
+ "Bumpeq;": mkEntityVal("\U0000224E"),
+ "CHcy;": mkEntityVal("\U00000427"),
+ "COPY;": mkEntityVal("\U000000A9"),
+ "Cacute;": mkEntityVal("\U00000106"),
+ "Cap;": mkEntityVal("\U000022D2"),
+ "CapitalDifferentialD;": mkEntityVal("\U00002145"),
+ "Cayleys;": mkEntityVal("\U0000212D"),
+ "Ccaron;": mkEntityVal("\U0000010C"),
+ "Ccedil;": mkEntityVal("\U000000C7"),
+ "Ccirc;": mkEntityVal("\U00000108"),
+ "Cconint;": mkEntityVal("\U00002230"),
+ "Cdot;": mkEntityVal("\U0000010A"),
+ "Cedilla;": mkEntityVal("\U000000B8"),
+ "CenterDot;": mkEntityVal("\U000000B7"),
+ "Cfr;": mkEntityVal("\U0000212D"),
+ "Chi;": mkEntityVal("\U000003A7"),
+ "CircleDot;": mkEntityVal("\U00002299"),
+ "CircleMinus;": mkEntityVal("\U00002296"),
+ "CirclePlus;": mkEntityVal("\U00002295"),
+ "CircleTimes;": mkEntityVal("\U00002297"),
+ "ClockwiseContourIntegral;": mkEntityVal("\U00002232"),
+ "CloseCurlyDoubleQuote;": mkEntityVal("\U0000201D"),
+ "CloseCurlyQuote;": mkEntityVal("\U00002019"),
+ "Colon;": mkEntityVal("\U00002237"),
+ "Colone;": mkEntityVal("\U00002A74"),
+ "Congruent;": mkEntityVal("\U00002261"),
+ "Conint;": mkEntityVal("\U0000222F"),
+ "ContourIntegral;": mkEntityVal("\U0000222E"),
+ "Copf;": mkEntityVal("\U00002102"),
+ "Coproduct;": mkEntityVal("\U00002210"),
+ "CounterClockwiseContourIntegral;": mkEntityVal("\U00002233"),
+ "Cross;": mkEntityVal("\U00002A2F"),
+ "Cscr;": mkEntityVal("\U0001D49E"),
+ "Cup;": mkEntityVal("\U000022D3"),
+ "CupCap;": mkEntityVal("\U0000224D"),
+ "DD;": mkEntityVal("\U00002145"),
+ "DDotrahd;": mkEntityVal("\U00002911"),
+ "DJcy;": mkEntityVal("\U00000402"),
+ "DScy;": mkEntityVal("\U00000405"),
+ "DZcy;": mkEntityVal("\U0000040F"),
+ "Dagger;": mkEntityVal("\U00002021"),
+ "Darr;": mkEntityVal("\U000021A1"),
+ "Dashv;": mkEntityVal("\U00002AE4"),
+ "Dcaron;": mkEntityVal("\U0000010E"),
+ "Dcy;": mkEntityVal("\U00000414"),
+ "Del;": mkEntityVal("\U00002207"),
+ "Delta;": mkEntityVal("\U00000394"),
+ "Dfr;": mkEntityVal("\U0001D507"),
+ "DiacriticalAcute;": mkEntityVal("\U000000B4"),
+ "DiacriticalDot;": mkEntityVal("\U000002D9"),
+ "DiacriticalDoubleAcute;": mkEntityVal("\U000002DD"),
+ "DiacriticalGrave;": mkEntityVal("\U00000060"),
+ "DiacriticalTilde;": mkEntityVal("\U000002DC"),
+ "Diamond;": mkEntityVal("\U000022C4"),
+ "DifferentialD;": mkEntityVal("\U00002146"),
+ "Dopf;": mkEntityVal("\U0001D53B"),
+ "Dot;": mkEntityVal("\U000000A8"),
+ "DotDot;": mkEntityVal("\U000020DC"),
+ "DotEqual;": mkEntityVal("\U00002250"),
+ "DoubleContourIntegral;": mkEntityVal("\U0000222F"),
+ "DoubleDot;": mkEntityVal("\U000000A8"),
+ "DoubleDownArrow;": mkEntityVal("\U000021D3"),
+ "DoubleLeftArrow;": mkEntityVal("\U000021D0"),
+ "DoubleLeftRightArrow;": mkEntityVal("\U000021D4"),
+ "DoubleLeftTee;": mkEntityVal("\U00002AE4"),
+ "DoubleLongLeftArrow;": mkEntityVal("\U000027F8"),
+ "DoubleLongLeftRightArrow;": mkEntityVal("\U000027FA"),
+ "DoubleLongRightArrow;": mkEntityVal("\U000027F9"),
+ "DoubleRightArrow;": mkEntityVal("\U000021D2"),
+ "DoubleRightTee;": mkEntityVal("\U000022A8"),
+ "DoubleUpArrow;": mkEntityVal("\U000021D1"),
+ "DoubleUpDownArrow;": mkEntityVal("\U000021D5"),
+ "DoubleVerticalBar;": mkEntityVal("\U00002225"),
+ "DownArrow;": mkEntityVal("\U00002193"),
+ "DownArrowBar;": mkEntityVal("\U00002913"),
+ "DownArrowUpArrow;": mkEntityVal("\U000021F5"),
+ "DownBreve;": mkEntityVal("\U00000311"),
+ "DownLeftRightVector;": mkEntityVal("\U00002950"),
+ "DownLeftTeeVector;": mkEntityVal("\U0000295E"),
+ "DownLeftVector;": mkEntityVal("\U000021BD"),
+ "DownLeftVectorBar;": mkEntityVal("\U00002956"),
+ "DownRightTeeVector;": mkEntityVal("\U0000295F"),
+ "DownRightVector;": mkEntityVal("\U000021C1"),
+ "DownRightVectorBar;": mkEntityVal("\U00002957"),
+ "DownTee;": mkEntityVal("\U000022A4"),
+ "DownTeeArrow;": mkEntityVal("\U000021A7"),
+ "Downarrow;": mkEntityVal("\U000021D3"),
+ "Dscr;": mkEntityVal("\U0001D49F"),
+ "Dstrok;": mkEntityVal("\U00000110"),
+ "ENG;": mkEntityVal("\U0000014A"),
+ "ETH;": mkEntityVal("\U000000D0"),
+ "Eacute;": mkEntityVal("\U000000C9"),
+ "Ecaron;": mkEntityVal("\U0000011A"),
+ "Ecirc;": mkEntityVal("\U000000CA"),
+ "Ecy;": mkEntityVal("\U0000042D"),
+ "Edot;": mkEntityVal("\U00000116"),
+ "Efr;": mkEntityVal("\U0001D508"),
+ "Egrave;": mkEntityVal("\U000000C8"),
+ "Element;": mkEntityVal("\U00002208"),
+ "Emacr;": mkEntityVal("\U00000112"),
+ "EmptySmallSquare;": mkEntityVal("\U000025FB"),
+ "EmptyVerySmallSquare;": mkEntityVal("\U000025AB"),
+ "Eogon;": mkEntityVal("\U00000118"),
+ "Eopf;": mkEntityVal("\U0001D53C"),
+ "Epsilon;": mkEntityVal("\U00000395"),
+ "Equal;": mkEntityVal("\U00002A75"),
+ "EqualTilde;": mkEntityVal("\U00002242"),
+ "Equilibrium;": mkEntityVal("\U000021CC"),
+ "Escr;": mkEntityVal("\U00002130"),
+ "Esim;": mkEntityVal("\U00002A73"),
+ "Eta;": mkEntityVal("\U00000397"),
+ "Euml;": mkEntityVal("\U000000CB"),
+ "Exists;": mkEntityVal("\U00002203"),
+ "ExponentialE;": mkEntityVal("\U00002147"),
+ "Fcy;": mkEntityVal("\U00000424"),
+ "Ffr;": mkEntityVal("\U0001D509"),
+ "FilledSmallSquare;": mkEntityVal("\U000025FC"),
+ "FilledVerySmallSquare;": mkEntityVal("\U000025AA"),
+ "Fopf;": mkEntityVal("\U0001D53D"),
+ "ForAll;": mkEntityVal("\U00002200"),
+ "Fouriertrf;": mkEntityVal("\U00002131"),
+ "Fscr;": mkEntityVal("\U00002131"),
+ "GJcy;": mkEntityVal("\U00000403"),
+ "GT;": mkEntityVal("\U0000003E"),
+ "Gamma;": mkEntityVal("\U00000393"),
+ "Gammad;": mkEntityVal("\U000003DC"),
+ "Gbreve;": mkEntityVal("\U0000011E"),
+ "Gcedil;": mkEntityVal("\U00000122"),
+ "Gcirc;": mkEntityVal("\U0000011C"),
+ "Gcy;": mkEntityVal("\U00000413"),
+ "Gdot;": mkEntityVal("\U00000120"),
+ "Gfr;": mkEntityVal("\U0001D50A"),
+ "Gg;": mkEntityVal("\U000022D9"),
+ "Gopf;": mkEntityVal("\U0001D53E"),
+ "GreaterEqual;": mkEntityVal("\U00002265"),
+ "GreaterEqualLess;": mkEntityVal("\U000022DB"),
+ "GreaterFullEqual;": mkEntityVal("\U00002267"),
+ "GreaterGreater;": mkEntityVal("\U00002AA2"),
+ "GreaterLess;": mkEntityVal("\U00002277"),
+ "GreaterSlantEqual;": mkEntityVal("\U00002A7E"),
+ "GreaterTilde;": mkEntityVal("\U00002273"),
+ "Gscr;": mkEntityVal("\U0001D4A2"),
+ "Gt;": mkEntityVal("\U0000226B"),
+ "HARDcy;": mkEntityVal("\U0000042A"),
+ "Hacek;": mkEntityVal("\U000002C7"),
+ "Hat;": mkEntityVal("\U0000005E"),
+ "Hcirc;": mkEntityVal("\U00000124"),
+ "Hfr;": mkEntityVal("\U0000210C"),
+ "HilbertSpace;": mkEntityVal("\U0000210B"),
+ "Hopf;": mkEntityVal("\U0000210D"),
+ "HorizontalLine;": mkEntityVal("\U00002500"),
+ "Hscr;": mkEntityVal("\U0000210B"),
+ "Hstrok;": mkEntityVal("\U00000126"),
+ "HumpDownHump;": mkEntityVal("\U0000224E"),
+ "HumpEqual;": mkEntityVal("\U0000224F"),
+ "IEcy;": mkEntityVal("\U00000415"),
+ "IJlig;": mkEntityVal("\U00000132"),
+ "IOcy;": mkEntityVal("\U00000401"),
+ "Iacute;": mkEntityVal("\U000000CD"),
+ "Icirc;": mkEntityVal("\U000000CE"),
+ "Icy;": mkEntityVal("\U00000418"),
+ "Idot;": mkEntityVal("\U00000130"),
+ "Ifr;": mkEntityVal("\U00002111"),
+ "Igrave;": mkEntityVal("\U000000CC"),
+ "Im;": mkEntityVal("\U00002111"),
+ "Imacr;": mkEntityVal("\U0000012A"),
+ "ImaginaryI;": mkEntityVal("\U00002148"),
+ "Implies;": mkEntityVal("\U000021D2"),
+ "Int;": mkEntityVal("\U0000222C"),
+ "Integral;": mkEntityVal("\U0000222B"),
+ "Intersection;": mkEntityVal("\U000022C2"),
+ "InvisibleComma;": mkEntityVal("\U00002063"),
+ "InvisibleTimes;": mkEntityVal("\U00002062"),
+ "Iogon;": mkEntityVal("\U0000012E"),
+ "Iopf;": mkEntityVal("\U0001D540"),
+ "Iota;": mkEntityVal("\U00000399"),
+ "Iscr;": mkEntityVal("\U00002110"),
+ "Itilde;": mkEntityVal("\U00000128"),
+ "Iukcy;": mkEntityVal("\U00000406"),
+ "Iuml;": mkEntityVal("\U000000CF"),
+ "Jcirc;": mkEntityVal("\U00000134"),
+ "Jcy;": mkEntityVal("\U00000419"),
+ "Jfr;": mkEntityVal("\U0001D50D"),
+ "Jopf;": mkEntityVal("\U0001D541"),
+ "Jscr;": mkEntityVal("\U0001D4A5"),
+ "Jsercy;": mkEntityVal("\U00000408"),
+ "Jukcy;": mkEntityVal("\U00000404"),
+ "KHcy;": mkEntityVal("\U00000425"),
+ "KJcy;": mkEntityVal("\U0000040C"),
+ "Kappa;": mkEntityVal("\U0000039A"),
+ "Kcedil;": mkEntityVal("\U00000136"),
+ "Kcy;": mkEntityVal("\U0000041A"),
+ "Kfr;": mkEntityVal("\U0001D50E"),
+ "Kopf;": mkEntityVal("\U0001D542"),
+ "Kscr;": mkEntityVal("\U0001D4A6"),
+ "LJcy;": mkEntityVal("\U00000409"),
+ "LT;": mkEntityVal("\U0000003C"),
+ "Lacute;": mkEntityVal("\U00000139"),
+ "Lambda;": mkEntityVal("\U0000039B"),
+ "Lang;": mkEntityVal("\U000027EA"),
+ "Laplacetrf;": mkEntityVal("\U00002112"),
+ "Larr;": mkEntityVal("\U0000219E"),
+ "Lcaron;": mkEntityVal("\U0000013D"),
+ "Lcedil;": mkEntityVal("\U0000013B"),
+ "Lcy;": mkEntityVal("\U0000041B"),
+ "LeftAngleBracket;": mkEntityVal("\U000027E8"),
+ "LeftArrow;": mkEntityVal("\U00002190"),
+ "LeftArrowBar;": mkEntityVal("\U000021E4"),
+ "LeftArrowRightArrow;": mkEntityVal("\U000021C6"),
+ "LeftCeiling;": mkEntityVal("\U00002308"),
+ "LeftDoubleBracket;": mkEntityVal("\U000027E6"),
+ "LeftDownTeeVector;": mkEntityVal("\U00002961"),
+ "LeftDownVector;": mkEntityVal("\U000021C3"),
+ "LeftDownVectorBar;": mkEntityVal("\U00002959"),
+ "LeftFloor;": mkEntityVal("\U0000230A"),
+ "LeftRightArrow;": mkEntityVal("\U00002194"),
+ "LeftRightVector;": mkEntityVal("\U0000294E"),
+ "LeftTee;": mkEntityVal("\U000022A3"),
+ "LeftTeeArrow;": mkEntityVal("\U000021A4"),
+ "LeftTeeVector;": mkEntityVal("\U0000295A"),
+ "LeftTriangle;": mkEntityVal("\U000022B2"),
+ "LeftTriangleBar;": mkEntityVal("\U000029CF"),
+ "LeftTriangleEqual;": mkEntityVal("\U000022B4"),
+ "LeftUpDownVector;": mkEntityVal("\U00002951"),
+ "LeftUpTeeVector;": mkEntityVal("\U00002960"),
+ "LeftUpVector;": mkEntityVal("\U000021BF"),
+ "LeftUpVectorBar;": mkEntityVal("\U00002958"),
+ "LeftVector;": mkEntityVal("\U000021BC"),
+ "LeftVectorBar;": mkEntityVal("\U00002952"),
+ "Leftarrow;": mkEntityVal("\U000021D0"),
+ "Leftrightarrow;": mkEntityVal("\U000021D4"),
+ "LessEqualGreater;": mkEntityVal("\U000022DA"),
+ "LessFullEqual;": mkEntityVal("\U00002266"),
+ "LessGreater;": mkEntityVal("\U00002276"),
+ "LessLess;": mkEntityVal("\U00002AA1"),
+ "LessSlantEqual;": mkEntityVal("\U00002A7D"),
+ "LessTilde;": mkEntityVal("\U00002272"),
+ "Lfr;": mkEntityVal("\U0001D50F"),
+ "Ll;": mkEntityVal("\U000022D8"),
+ "Lleftarrow;": mkEntityVal("\U000021DA"),
+ "Lmidot;": mkEntityVal("\U0000013F"),
+ "LongLeftArrow;": mkEntityVal("\U000027F5"),
+ "LongLeftRightArrow;": mkEntityVal("\U000027F7"),
+ "LongRightArrow;": mkEntityVal("\U000027F6"),
+ "Longleftarrow;": mkEntityVal("\U000027F8"),
+ "Longleftrightarrow;": mkEntityVal("\U000027FA"),
+ "Longrightarrow;": mkEntityVal("\U000027F9"),
+ "Lopf;": mkEntityVal("\U0001D543"),
+ "LowerLeftArrow;": mkEntityVal("\U00002199"),
+ "LowerRightArrow;": mkEntityVal("\U00002198"),
+ "Lscr;": mkEntityVal("\U00002112"),
+ "Lsh;": mkEntityVal("\U000021B0"),
+ "Lstrok;": mkEntityVal("\U00000141"),
+ "Lt;": mkEntityVal("\U0000226A"),
+ "Map;": mkEntityVal("\U00002905"),
+ "Mcy;": mkEntityVal("\U0000041C"),
+ "MediumSpace;": mkEntityVal("\U0000205F"),
+ "Mellintrf;": mkEntityVal("\U00002133"),
+ "Mfr;": mkEntityVal("\U0001D510"),
+ "MinusPlus;": mkEntityVal("\U00002213"),
+ "Mopf;": mkEntityVal("\U0001D544"),
+ "Mscr;": mkEntityVal("\U00002133"),
+ "Mu;": mkEntityVal("\U0000039C"),
+ "NJcy;": mkEntityVal("\U0000040A"),
+ "Nacute;": mkEntityVal("\U00000143"),
+ "Ncaron;": mkEntityVal("\U00000147"),
+ "Ncedil;": mkEntityVal("\U00000145"),
+ "Ncy;": mkEntityVal("\U0000041D"),
+ "NegativeMediumSpace;": mkEntityVal("\U0000200B"),
+ "NegativeThickSpace;": mkEntityVal("\U0000200B"),
+ "NegativeThinSpace;": mkEntityVal("\U0000200B"),
+ "NegativeVeryThinSpace;": mkEntityVal("\U0000200B"),
+ "NestedGreaterGreater;": mkEntityVal("\U0000226B"),
+ "NestedLessLess;": mkEntityVal("\U0000226A"),
+ "NewLine;": mkEntityVal("\U0000000A"),
+ "Nfr;": mkEntityVal("\U0001D511"),
+ "NoBreak;": mkEntityVal("\U00002060"),
+ "NonBreakingSpace;": mkEntityVal("\U000000A0"),
+ "Nopf;": mkEntityVal("\U00002115"),
+ "Not;": mkEntityVal("\U00002AEC"),
+ "NotCongruent;": mkEntityVal("\U00002262"),
+ "NotCupCap;": mkEntityVal("\U0000226D"),
+ "NotDoubleVerticalBar;": mkEntityVal("\U00002226"),
+ "NotElement;": mkEntityVal("\U00002209"),
+ "NotEqual;": mkEntityVal("\U00002260"),
+ "NotExists;": mkEntityVal("\U00002204"),
+ "NotGreater;": mkEntityVal("\U0000226F"),
+ "NotGreaterEqual;": mkEntityVal("\U00002271"),
+ "NotGreaterLess;": mkEntityVal("\U00002279"),
+ "NotGreaterTilde;": mkEntityVal("\U00002275"),
+ "NotLeftTriangle;": mkEntityVal("\U000022EA"),
+ "NotLeftTriangleEqual;": mkEntityVal("\U000022EC"),
+ "NotLess;": mkEntityVal("\U0000226E"),
+ "NotLessEqual;": mkEntityVal("\U00002270"),
+ "NotLessGreater;": mkEntityVal("\U00002278"),
+ "NotLessTilde;": mkEntityVal("\U00002274"),
+ "NotPrecedes;": mkEntityVal("\U00002280"),
+ "NotPrecedesSlantEqual;": mkEntityVal("\U000022E0"),
+ "NotReverseElement;": mkEntityVal("\U0000220C"),
+ "NotRightTriangle;": mkEntityVal("\U000022EB"),
+ "NotRightTriangleEqual;": mkEntityVal("\U000022ED"),
+ "NotSquareSubsetEqual;": mkEntityVal("\U000022E2"),
+ "NotSquareSupersetEqual;": mkEntityVal("\U000022E3"),
+ "NotSubsetEqual;": mkEntityVal("\U00002288"),
+ "NotSucceeds;": mkEntityVal("\U00002281"),
+ "NotSucceedsSlantEqual;": mkEntityVal("\U000022E1"),
+ "NotSupersetEqual;": mkEntityVal("\U00002289"),
+ "NotTilde;": mkEntityVal("\U00002241"),
+ "NotTildeEqual;": mkEntityVal("\U00002244"),
+ "NotTildeFullEqual;": mkEntityVal("\U00002247"),
+ "NotTildeTilde;": mkEntityVal("\U00002249"),
+ "NotVerticalBar;": mkEntityVal("\U00002224"),
+ "Nscr;": mkEntityVal("\U0001D4A9"),
+ "Ntilde;": mkEntityVal("\U000000D1"),
+ "Nu;": mkEntityVal("\U0000039D"),
+ "OElig;": mkEntityVal("\U00000152"),
+ "Oacute;": mkEntityVal("\U000000D3"),
+ "Ocirc;": mkEntityVal("\U000000D4"),
+ "Ocy;": mkEntityVal("\U0000041E"),
+ "Odblac;": mkEntityVal("\U00000150"),
+ "Ofr;": mkEntityVal("\U0001D512"),
+ "Ograve;": mkEntityVal("\U000000D2"),
+ "Omacr;": mkEntityVal("\U0000014C"),
+ "Omega;": mkEntityVal("\U000003A9"),
+ "Omicron;": mkEntityVal("\U0000039F"),
+ "Oopf;": mkEntityVal("\U0001D546"),
+ "OpenCurlyDoubleQuote;": mkEntityVal("\U0000201C"),
+ "OpenCurlyQuote;": mkEntityVal("\U00002018"),
+ "Or;": mkEntityVal("\U00002A54"),
+ "Oscr;": mkEntityVal("\U0001D4AA"),
+ "Oslash;": mkEntityVal("\U000000D8"),
+ "Otilde;": mkEntityVal("\U000000D5"),
+ "Otimes;": mkEntityVal("\U00002A37"),
+ "Ouml;": mkEntityVal("\U000000D6"),
+ "OverBar;": mkEntityVal("\U0000203E"),
+ "OverBrace;": mkEntityVal("\U000023DE"),
+ "OverBracket;": mkEntityVal("\U000023B4"),
+ "OverParenthesis;": mkEntityVal("\U000023DC"),
+ "PartialD;": mkEntityVal("\U00002202"),
+ "Pcy;": mkEntityVal("\U0000041F"),
+ "Pfr;": mkEntityVal("\U0001D513"),
+ "Phi;": mkEntityVal("\U000003A6"),
+ "Pi;": mkEntityVal("\U000003A0"),
+ "PlusMinus;": mkEntityVal("\U000000B1"),
+ "Poincareplane;": mkEntityVal("\U0000210C"),
+ "Popf;": mkEntityVal("\U00002119"),
+ "Pr;": mkEntityVal("\U00002ABB"),
+ "Precedes;": mkEntityVal("\U0000227A"),
+ "PrecedesEqual;": mkEntityVal("\U00002AAF"),
+ "PrecedesSlantEqual;": mkEntityVal("\U0000227C"),
+ "PrecedesTilde;": mkEntityVal("\U0000227E"),
+ "Prime;": mkEntityVal("\U00002033"),
+ "Product;": mkEntityVal("\U0000220F"),
+ "Proportion;": mkEntityVal("\U00002237"),
+ "Proportional;": mkEntityVal("\U0000221D"),
+ "Pscr;": mkEntityVal("\U0001D4AB"),
+ "Psi;": mkEntityVal("\U000003A8"),
+ "QUOT;": mkEntityVal("\U00000022"),
+ "Qfr;": mkEntityVal("\U0001D514"),
+ "Qopf;": mkEntityVal("\U0000211A"),
+ "Qscr;": mkEntityVal("\U0001D4AC"),
+ "RBarr;": mkEntityVal("\U00002910"),
+ "REG;": mkEntityVal("\U000000AE"),
+ "Racute;": mkEntityVal("\U00000154"),
+ "Rang;": mkEntityVal("\U000027EB"),
+ "Rarr;": mkEntityVal("\U000021A0"),
+ "Rarrtl;": mkEntityVal("\U00002916"),
+ "Rcaron;": mkEntityVal("\U00000158"),
+ "Rcedil;": mkEntityVal("\U00000156"),
+ "Rcy;": mkEntityVal("\U00000420"),
+ "Re;": mkEntityVal("\U0000211C"),
+ "ReverseElement;": mkEntityVal("\U0000220B"),
+ "ReverseEquilibrium;": mkEntityVal("\U000021CB"),
+ "ReverseUpEquilibrium;": mkEntityVal("\U0000296F"),
+ "Rfr;": mkEntityVal("\U0000211C"),
+ "Rho;": mkEntityVal("\U000003A1"),
+ "RightAngleBracket;": mkEntityVal("\U000027E9"),
+ "RightArrow;": mkEntityVal("\U00002192"),
+ "RightArrowBar;": mkEntityVal("\U000021E5"),
+ "RightArrowLeftArrow;": mkEntityVal("\U000021C4"),
+ "RightCeiling;": mkEntityVal("\U00002309"),
+ "RightDoubleBracket;": mkEntityVal("\U000027E7"),
+ "RightDownTeeVector;": mkEntityVal("\U0000295D"),
+ "RightDownVector;": mkEntityVal("\U000021C2"),
+ "RightDownVectorBar;": mkEntityVal("\U00002955"),
+ "RightFloor;": mkEntityVal("\U0000230B"),
+ "RightTee;": mkEntityVal("\U000022A2"),
+ "RightTeeArrow;": mkEntityVal("\U000021A6"),
+ "RightTeeVector;": mkEntityVal("\U0000295B"),
+ "RightTriangle;": mkEntityVal("\U000022B3"),
+ "RightTriangleBar;": mkEntityVal("\U000029D0"),
+ "RightTriangleEqual;": mkEntityVal("\U000022B5"),
+ "RightUpDownVector;": mkEntityVal("\U0000294F"),
+ "RightUpTeeVector;": mkEntityVal("\U0000295C"),
+ "RightUpVector;": mkEntityVal("\U000021BE"),
+ "RightUpVectorBar;": mkEntityVal("\U00002954"),
+ "RightVector;": mkEntityVal("\U000021C0"),
+ "RightVectorBar;": mkEntityVal("\U00002953"),
+ "Rightarrow;": mkEntityVal("\U000021D2"),
+ "Ropf;": mkEntityVal("\U0000211D"),
+ "RoundImplies;": mkEntityVal("\U00002970"),
+ "Rrightarrow;": mkEntityVal("\U000021DB"),
+ "Rscr;": mkEntityVal("\U0000211B"),
+ "Rsh;": mkEntityVal("\U000021B1"),
+ "RuleDelayed;": mkEntityVal("\U000029F4"),
+ "SHCHcy;": mkEntityVal("\U00000429"),
+ "SHcy;": mkEntityVal("\U00000428"),
+ "SOFTcy;": mkEntityVal("\U0000042C"),
+ "Sacute;": mkEntityVal("\U0000015A"),
+ "Sc;": mkEntityVal("\U00002ABC"),
+ "Scaron;": mkEntityVal("\U00000160"),
+ "Scedil;": mkEntityVal("\U0000015E"),
+ "Scirc;": mkEntityVal("\U0000015C"),
+ "Scy;": mkEntityVal("\U00000421"),
+ "Sfr;": mkEntityVal("\U0001D516"),
+ "ShortDownArrow;": mkEntityVal("\U00002193"),
+ "ShortLeftArrow;": mkEntityVal("\U00002190"),
+ "ShortRightArrow;": mkEntityVal("\U00002192"),
+ "ShortUpArrow;": mkEntityVal("\U00002191"),
+ "Sigma;": mkEntityVal("\U000003A3"),
+ "SmallCircle;": mkEntityVal("\U00002218"),
+ "Sopf;": mkEntityVal("\U0001D54A"),
+ "Sqrt;": mkEntityVal("\U0000221A"),
+ "Square;": mkEntityVal("\U000025A1"),
+ "SquareIntersection;": mkEntityVal("\U00002293"),
+ "SquareSubset;": mkEntityVal("\U0000228F"),
+ "SquareSubsetEqual;": mkEntityVal("\U00002291"),
+ "SquareSuperset;": mkEntityVal("\U00002290"),
+ "SquareSupersetEqual;": mkEntityVal("\U00002292"),
+ "SquareUnion;": mkEntityVal("\U00002294"),
+ "Sscr;": mkEntityVal("\U0001D4AE"),
+ "Star;": mkEntityVal("\U000022C6"),
+ "Sub;": mkEntityVal("\U000022D0"),
+ "Subset;": mkEntityVal("\U000022D0"),
+ "SubsetEqual;": mkEntityVal("\U00002286"),
+ "Succeeds;": mkEntityVal("\U0000227B"),
+ "SucceedsEqual;": mkEntityVal("\U00002AB0"),
+ "SucceedsSlantEqual;": mkEntityVal("\U0000227D"),
+ "SucceedsTilde;": mkEntityVal("\U0000227F"),
+ "SuchThat;": mkEntityVal("\U0000220B"),
+ "Sum;": mkEntityVal("\U00002211"),
+ "Sup;": mkEntityVal("\U000022D1"),
+ "Superset;": mkEntityVal("\U00002283"),
+ "SupersetEqual;": mkEntityVal("\U00002287"),
+ "Supset;": mkEntityVal("\U000022D1"),
+ "THORN;": mkEntityVal("\U000000DE"),
+ "TRADE;": mkEntityVal("\U00002122"),
+ "TSHcy;": mkEntityVal("\U0000040B"),
+ "TScy;": mkEntityVal("\U00000426"),
+ "Tab;": mkEntityVal("\U00000009"),
+ "Tau;": mkEntityVal("\U000003A4"),
+ "Tcaron;": mkEntityVal("\U00000164"),
+ "Tcedil;": mkEntityVal("\U00000162"),
+ "Tcy;": mkEntityVal("\U00000422"),
+ "Tfr;": mkEntityVal("\U0001D517"),
+ "Therefore;": mkEntityVal("\U00002234"),
+ "Theta;": mkEntityVal("\U00000398"),
+ "ThinSpace;": mkEntityVal("\U00002009"),
+ "Tilde;": mkEntityVal("\U0000223C"),
+ "TildeEqual;": mkEntityVal("\U00002243"),
+ "TildeFullEqual;": mkEntityVal("\U00002245"),
+ "TildeTilde;": mkEntityVal("\U00002248"),
+ "Topf;": mkEntityVal("\U0001D54B"),
+ "TripleDot;": mkEntityVal("\U000020DB"),
+ "Tscr;": mkEntityVal("\U0001D4AF"),
+ "Tstrok;": mkEntityVal("\U00000166"),
+ "Uacute;": mkEntityVal("\U000000DA"),
+ "Uarr;": mkEntityVal("\U0000219F"),
+ "Uarrocir;": mkEntityVal("\U00002949"),
+ "Ubrcy;": mkEntityVal("\U0000040E"),
+ "Ubreve;": mkEntityVal("\U0000016C"),
+ "Ucirc;": mkEntityVal("\U000000DB"),
+ "Ucy;": mkEntityVal("\U00000423"),
+ "Udblac;": mkEntityVal("\U00000170"),
+ "Ufr;": mkEntityVal("\U0001D518"),
+ "Ugrave;": mkEntityVal("\U000000D9"),
+ "Umacr;": mkEntityVal("\U0000016A"),
+ "UnderBar;": mkEntityVal("\U0000005F"),
+ "UnderBrace;": mkEntityVal("\U000023DF"),
+ "UnderBracket;": mkEntityVal("\U000023B5"),
+ "UnderParenthesis;": mkEntityVal("\U000023DD"),
+ "Union;": mkEntityVal("\U000022C3"),
+ "UnionPlus;": mkEntityVal("\U0000228E"),
+ "Uogon;": mkEntityVal("\U00000172"),
+ "Uopf;": mkEntityVal("\U0001D54C"),
+ "UpArrow;": mkEntityVal("\U00002191"),
+ "UpArrowBar;": mkEntityVal("\U00002912"),
+ "UpArrowDownArrow;": mkEntityVal("\U000021C5"),
+ "UpDownArrow;": mkEntityVal("\U00002195"),
+ "UpEquilibrium;": mkEntityVal("\U0000296E"),
+ "UpTee;": mkEntityVal("\U000022A5"),
+ "UpTeeArrow;": mkEntityVal("\U000021A5"),
+ "Uparrow;": mkEntityVal("\U000021D1"),
+ "Updownarrow;": mkEntityVal("\U000021D5"),
+ "UpperLeftArrow;": mkEntityVal("\U00002196"),
+ "UpperRightArrow;": mkEntityVal("\U00002197"),
+ "Upsi;": mkEntityVal("\U000003D2"),
+ "Upsilon;": mkEntityVal("\U000003A5"),
+ "Uring;": mkEntityVal("\U0000016E"),
+ "Uscr;": mkEntityVal("\U0001D4B0"),
+ "Utilde;": mkEntityVal("\U00000168"),
+ "Uuml;": mkEntityVal("\U000000DC"),
+ "VDash;": mkEntityVal("\U000022AB"),
+ "Vbar;": mkEntityVal("\U00002AEB"),
+ "Vcy;": mkEntityVal("\U00000412"),
+ "Vdash;": mkEntityVal("\U000022A9"),
+ "Vdashl;": mkEntityVal("\U00002AE6"),
+ "Vee;": mkEntityVal("\U000022C1"),
+ "Verbar;": mkEntityVal("\U00002016"),
+ "Vert;": mkEntityVal("\U00002016"),
+ "VerticalBar;": mkEntityVal("\U00002223"),
+ "VerticalLine;": mkEntityVal("\U0000007C"),
+ "VerticalSeparator;": mkEntityVal("\U00002758"),
+ "VerticalTilde;": mkEntityVal("\U00002240"),
+ "VeryThinSpace;": mkEntityVal("\U0000200A"),
+ "Vfr;": mkEntityVal("\U0001D519"),
+ "Vopf;": mkEntityVal("\U0001D54D"),
+ "Vscr;": mkEntityVal("\U0001D4B1"),
+ "Vvdash;": mkEntityVal("\U000022AA"),
+ "Wcirc;": mkEntityVal("\U00000174"),
+ "Wedge;": mkEntityVal("\U000022C0"),
+ "Wfr;": mkEntityVal("\U0001D51A"),
+ "Wopf;": mkEntityVal("\U0001D54E"),
+ "Wscr;": mkEntityVal("\U0001D4B2"),
+ "Xfr;": mkEntityVal("\U0001D51B"),
+ "Xi;": mkEntityVal("\U0000039E"),
+ "Xopf;": mkEntityVal("\U0001D54F"),
+ "Xscr;": mkEntityVal("\U0001D4B3"),
+ "YAcy;": mkEntityVal("\U0000042F"),
+ "YIcy;": mkEntityVal("\U00000407"),
+ "YUcy;": mkEntityVal("\U0000042E"),
+ "Yacute;": mkEntityVal("\U000000DD"),
+ "Ycirc;": mkEntityVal("\U00000176"),
+ "Ycy;": mkEntityVal("\U0000042B"),
+ "Yfr;": mkEntityVal("\U0001D51C"),
+ "Yopf;": mkEntityVal("\U0001D550"),
+ "Yscr;": mkEntityVal("\U0001D4B4"),
+ "Yuml;": mkEntityVal("\U00000178"),
+ "ZHcy;": mkEntityVal("\U00000416"),
+ "Zacute;": mkEntityVal("\U00000179"),
+ "Zcaron;": mkEntityVal("\U0000017D"),
+ "Zcy;": mkEntityVal("\U00000417"),
+ "Zdot;": mkEntityVal("\U0000017B"),
+ "ZeroWidthSpace;": mkEntityVal("\U0000200B"),
+ "Zeta;": mkEntityVal("\U00000396"),
+ "Zfr;": mkEntityVal("\U00002128"),
+ "Zopf;": mkEntityVal("\U00002124"),
+ "Zscr;": mkEntityVal("\U0001D4B5"),
+ "aacute;": mkEntityVal("\U000000E1"),
+ "abreve;": mkEntityVal("\U00000103"),
+ "ac;": mkEntityVal("\U0000223E"),
+ "acd;": mkEntityVal("\U0000223F"),
+ "acirc;": mkEntityVal("\U000000E2"),
+ "acute;": mkEntityVal("\U000000B4"),
+ "acy;": mkEntityVal("\U00000430"),
+ "aelig;": mkEntityVal("\U000000E6"),
+ "af;": mkEntityVal("\U00002061"),
+ "afr;": mkEntityVal("\U0001D51E"),
+ "agrave;": mkEntityVal("\U000000E0"),
+ "alefsym;": mkEntityVal("\U00002135"),
+ "aleph;": mkEntityVal("\U00002135"),
+ "alpha;": mkEntityVal("\U000003B1"),
+ "amacr;": mkEntityVal("\U00000101"),
+ "amalg;": mkEntityVal("\U00002A3F"),
+ "amp;": mkEntityVal("\U00000026"),
+ "and;": mkEntityVal("\U00002227"),
+ "andand;": mkEntityVal("\U00002A55"),
+ "andd;": mkEntityVal("\U00002A5C"),
+ "andslope;": mkEntityVal("\U00002A58"),
+ "andv;": mkEntityVal("\U00002A5A"),
+ "ang;": mkEntityVal("\U00002220"),
+ "ange;": mkEntityVal("\U000029A4"),
+ "angle;": mkEntityVal("\U00002220"),
+ "angmsd;": mkEntityVal("\U00002221"),
+ "angmsdaa;": mkEntityVal("\U000029A8"),
+ "angmsdab;": mkEntityVal("\U000029A9"),
+ "angmsdac;": mkEntityVal("\U000029AA"),
+ "angmsdad;": mkEntityVal("\U000029AB"),
+ "angmsdae;": mkEntityVal("\U000029AC"),
+ "angmsdaf;": mkEntityVal("\U000029AD"),
+ "angmsdag;": mkEntityVal("\U000029AE"),
+ "angmsdah;": mkEntityVal("\U000029AF"),
+ "angrt;": mkEntityVal("\U0000221F"),
+ "angrtvb;": mkEntityVal("\U000022BE"),
+ "angrtvbd;": mkEntityVal("\U0000299D"),
+ "angsph;": mkEntityVal("\U00002222"),
+ "angst;": mkEntityVal("\U000000C5"),
+ "angzarr;": mkEntityVal("\U0000237C"),
+ "aogon;": mkEntityVal("\U00000105"),
+ "aopf;": mkEntityVal("\U0001D552"),
+ "ap;": mkEntityVal("\U00002248"),
+ "apE;": mkEntityVal("\U00002A70"),
+ "apacir;": mkEntityVal("\U00002A6F"),
+ "ape;": mkEntityVal("\U0000224A"),
+ "apid;": mkEntityVal("\U0000224B"),
+ "apos;": mkEntityVal("\U00000027"),
+ "approx;": mkEntityVal("\U00002248"),
+ "approxeq;": mkEntityVal("\U0000224A"),
+ "aring;": mkEntityVal("\U000000E5"),
+ "ascr;": mkEntityVal("\U0001D4B6"),
+ "ast;": mkEntityVal("\U0000002A"),
+ "asymp;": mkEntityVal("\U00002248"),
+ "asympeq;": mkEntityVal("\U0000224D"),
+ "atilde;": mkEntityVal("\U000000E3"),
+ "auml;": mkEntityVal("\U000000E4"),
+ "awconint;": mkEntityVal("\U00002233"),
+ "awint;": mkEntityVal("\U00002A11"),
+ "bNot;": mkEntityVal("\U00002AED"),
+ "backcong;": mkEntityVal("\U0000224C"),
+ "backepsilon;": mkEntityVal("\U000003F6"),
+ "backprime;": mkEntityVal("\U00002035"),
+ "backsim;": mkEntityVal("\U0000223D"),
+ "backsimeq;": mkEntityVal("\U000022CD"),
+ "barvee;": mkEntityVal("\U000022BD"),
+ "barwed;": mkEntityVal("\U00002305"),
+ "barwedge;": mkEntityVal("\U00002305"),
+ "bbrk;": mkEntityVal("\U000023B5"),
+ "bbrktbrk;": mkEntityVal("\U000023B6"),
+ "bcong;": mkEntityVal("\U0000224C"),
+ "bcy;": mkEntityVal("\U00000431"),
+ "bdquo;": mkEntityVal("\U0000201E"),
+ "becaus;": mkEntityVal("\U00002235"),
+ "because;": mkEntityVal("\U00002235"),
+ "bemptyv;": mkEntityVal("\U000029B0"),
+ "bepsi;": mkEntityVal("\U000003F6"),
+ "bernou;": mkEntityVal("\U0000212C"),
+ "beta;": mkEntityVal("\U000003B2"),
+ "beth;": mkEntityVal("\U00002136"),
+ "between;": mkEntityVal("\U0000226C"),
+ "bfr;": mkEntityVal("\U0001D51F"),
+ "bigcap;": mkEntityVal("\U000022C2"),
+ "bigcirc;": mkEntityVal("\U000025EF"),
+ "bigcup;": mkEntityVal("\U000022C3"),
+ "bigodot;": mkEntityVal("\U00002A00"),
+ "bigoplus;": mkEntityVal("\U00002A01"),
+ "bigotimes;": mkEntityVal("\U00002A02"),
+ "bigsqcup;": mkEntityVal("\U00002A06"),
+ "bigstar;": mkEntityVal("\U00002605"),
+ "bigtriangledown;": mkEntityVal("\U000025BD"),
+ "bigtriangleup;": mkEntityVal("\U000025B3"),
+ "biguplus;": mkEntityVal("\U00002A04"),
+ "bigvee;": mkEntityVal("\U000022C1"),
+ "bigwedge;": mkEntityVal("\U000022C0"),
+ "bkarow;": mkEntityVal("\U0000290D"),
+ "blacklozenge;": mkEntityVal("\U000029EB"),
+ "blacksquare;": mkEntityVal("\U000025AA"),
+ "blacktriangle;": mkEntityVal("\U000025B4"),
+ "blacktriangledown;": mkEntityVal("\U000025BE"),
+ "blacktriangleleft;": mkEntityVal("\U000025C2"),
+ "blacktriangleright;": mkEntityVal("\U000025B8"),
+ "blank;": mkEntityVal("\U00002423"),
+ "blk12;": mkEntityVal("\U00002592"),
+ "blk14;": mkEntityVal("\U00002591"),
+ "blk34;": mkEntityVal("\U00002593"),
+ "block;": mkEntityVal("\U00002588"),
+ "bnot;": mkEntityVal("\U00002310"),
+ "bopf;": mkEntityVal("\U0001D553"),
+ "bot;": mkEntityVal("\U000022A5"),
+ "bottom;": mkEntityVal("\U000022A5"),
+ "bowtie;": mkEntityVal("\U000022C8"),
+ "boxDL;": mkEntityVal("\U00002557"),
+ "boxDR;": mkEntityVal("\U00002554"),
+ "boxDl;": mkEntityVal("\U00002556"),
+ "boxDr;": mkEntityVal("\U00002553"),
+ "boxH;": mkEntityVal("\U00002550"),
+ "boxHD;": mkEntityVal("\U00002566"),
+ "boxHU;": mkEntityVal("\U00002569"),
+ "boxHd;": mkEntityVal("\U00002564"),
+ "boxHu;": mkEntityVal("\U00002567"),
+ "boxUL;": mkEntityVal("\U0000255D"),
+ "boxUR;": mkEntityVal("\U0000255A"),
+ "boxUl;": mkEntityVal("\U0000255C"),
+ "boxUr;": mkEntityVal("\U00002559"),
+ "boxV;": mkEntityVal("\U00002551"),
+ "boxVH;": mkEntityVal("\U0000256C"),
+ "boxVL;": mkEntityVal("\U00002563"),
+ "boxVR;": mkEntityVal("\U00002560"),
+ "boxVh;": mkEntityVal("\U0000256B"),
+ "boxVl;": mkEntityVal("\U00002562"),
+ "boxVr;": mkEntityVal("\U0000255F"),
+ "boxbox;": mkEntityVal("\U000029C9"),
+ "boxdL;": mkEntityVal("\U00002555"),
+ "boxdR;": mkEntityVal("\U00002552"),
+ "boxdl;": mkEntityVal("\U00002510"),
+ "boxdr;": mkEntityVal("\U0000250C"),
+ "boxh;": mkEntityVal("\U00002500"),
+ "boxhD;": mkEntityVal("\U00002565"),
+ "boxhU;": mkEntityVal("\U00002568"),
+ "boxhd;": mkEntityVal("\U0000252C"),
+ "boxhu;": mkEntityVal("\U00002534"),
+ "boxminus;": mkEntityVal("\U0000229F"),
+ "boxplus;": mkEntityVal("\U0000229E"),
+ "boxtimes;": mkEntityVal("\U000022A0"),
+ "boxuL;": mkEntityVal("\U0000255B"),
+ "boxuR;": mkEntityVal("\U00002558"),
+ "boxul;": mkEntityVal("\U00002518"),
+ "boxur;": mkEntityVal("\U00002514"),
+ "boxv;": mkEntityVal("\U00002502"),
+ "boxvH;": mkEntityVal("\U0000256A"),
+ "boxvL;": mkEntityVal("\U00002561"),
+ "boxvR;": mkEntityVal("\U0000255E"),
+ "boxvh;": mkEntityVal("\U0000253C"),
+ "boxvl;": mkEntityVal("\U00002524"),
+ "boxvr;": mkEntityVal("\U0000251C"),
+ "bprime;": mkEntityVal("\U00002035"),
+ "breve;": mkEntityVal("\U000002D8"),
+ "brvbar;": mkEntityVal("\U000000A6"),
+ "bscr;": mkEntityVal("\U0001D4B7"),
+ "bsemi;": mkEntityVal("\U0000204F"),
+ "bsim;": mkEntityVal("\U0000223D"),
+ "bsime;": mkEntityVal("\U000022CD"),
+ "bsol;": mkEntityVal("\U0000005C"),
+ "bsolb;": mkEntityVal("\U000029C5"),
+ "bsolhsub;": mkEntityVal("\U000027C8"),
+ "bull;": mkEntityVal("\U00002022"),
+ "bullet;": mkEntityVal("\U00002022"),
+ "bump;": mkEntityVal("\U0000224E"),
+ "bumpE;": mkEntityVal("\U00002AAE"),
+ "bumpe;": mkEntityVal("\U0000224F"),
+ "bumpeq;": mkEntityVal("\U0000224F"),
+ "cacute;": mkEntityVal("\U00000107"),
+ "cap;": mkEntityVal("\U00002229"),
+ "capand;": mkEntityVal("\U00002A44"),
+ "capbrcup;": mkEntityVal("\U00002A49"),
+ "capcap;": mkEntityVal("\U00002A4B"),
+ "capcup;": mkEntityVal("\U00002A47"),
+ "capdot;": mkEntityVal("\U00002A40"),
+ "caret;": mkEntityVal("\U00002041"),
+ "caron;": mkEntityVal("\U000002C7"),
+ "ccaps;": mkEntityVal("\U00002A4D"),
+ "ccaron;": mkEntityVal("\U0000010D"),
+ "ccedil;": mkEntityVal("\U000000E7"),
+ "ccirc;": mkEntityVal("\U00000109"),
+ "ccups;": mkEntityVal("\U00002A4C"),
+ "ccupssm;": mkEntityVal("\U00002A50"),
+ "cdot;": mkEntityVal("\U0000010B"),
+ "cedil;": mkEntityVal("\U000000B8"),
+ "cemptyv;": mkEntityVal("\U000029B2"),
+ "cent;": mkEntityVal("\U000000A2"),
+ "centerdot;": mkEntityVal("\U000000B7"),
+ "cfr;": mkEntityVal("\U0001D520"),
+ "chcy;": mkEntityVal("\U00000447"),
+ "check;": mkEntityVal("\U00002713"),
+ "checkmark;": mkEntityVal("\U00002713"),
+ "chi;": mkEntityVal("\U000003C7"),
+ "cir;": mkEntityVal("\U000025CB"),
+ "cirE;": mkEntityVal("\U000029C3"),
+ "circ;": mkEntityVal("\U000002C6"),
+ "circeq;": mkEntityVal("\U00002257"),
+ "circlearrowleft;": mkEntityVal("\U000021BA"),
+ "circlearrowright;": mkEntityVal("\U000021BB"),
+ "circledR;": mkEntityVal("\U000000AE"),
+ "circledS;": mkEntityVal("\U000024C8"),
+ "circledast;": mkEntityVal("\U0000229B"),
+ "circledcirc;": mkEntityVal("\U0000229A"),
+ "circleddash;": mkEntityVal("\U0000229D"),
+ "cire;": mkEntityVal("\U00002257"),
+ "cirfnint;": mkEntityVal("\U00002A10"),
+ "cirmid;": mkEntityVal("\U00002AEF"),
+ "cirscir;": mkEntityVal("\U000029C2"),
+ "clubs;": mkEntityVal("\U00002663"),
+ "clubsuit;": mkEntityVal("\U00002663"),
+ "colon;": mkEntityVal("\U0000003A"),
+ "colone;": mkEntityVal("\U00002254"),
+ "coloneq;": mkEntityVal("\U00002254"),
+ "comma;": mkEntityVal("\U0000002C"),
+ "commat;": mkEntityVal("\U00000040"),
+ "comp;": mkEntityVal("\U00002201"),
+ "compfn;": mkEntityVal("\U00002218"),
+ "complement;": mkEntityVal("\U00002201"),
+ "complexes;": mkEntityVal("\U00002102"),
+ "cong;": mkEntityVal("\U00002245"),
+ "congdot;": mkEntityVal("\U00002A6D"),
+ "conint;": mkEntityVal("\U0000222E"),
+ "copf;": mkEntityVal("\U0001D554"),
+ "coprod;": mkEntityVal("\U00002210"),
+ "copy;": mkEntityVal("\U000000A9"),
+ "copysr;": mkEntityVal("\U00002117"),
+ "crarr;": mkEntityVal("\U000021B5"),
+ "cross;": mkEntityVal("\U00002717"),
+ "cscr;": mkEntityVal("\U0001D4B8"),
+ "csub;": mkEntityVal("\U00002ACF"),
+ "csube;": mkEntityVal("\U00002AD1"),
+ "csup;": mkEntityVal("\U00002AD0"),
+ "csupe;": mkEntityVal("\U00002AD2"),
+ "ctdot;": mkEntityVal("\U000022EF"),
+ "cudarrl;": mkEntityVal("\U00002938"),
+ "cudarrr;": mkEntityVal("\U00002935"),
+ "cuepr;": mkEntityVal("\U000022DE"),
+ "cuesc;": mkEntityVal("\U000022DF"),
+ "cularr;": mkEntityVal("\U000021B6"),
+ "cularrp;": mkEntityVal("\U0000293D"),
+ "cup;": mkEntityVal("\U0000222A"),
+ "cupbrcap;": mkEntityVal("\U00002A48"),
+ "cupcap;": mkEntityVal("\U00002A46"),
+ "cupcup;": mkEntityVal("\U00002A4A"),
+ "cupdot;": mkEntityVal("\U0000228D"),
+ "cupor;": mkEntityVal("\U00002A45"),
+ "curarr;": mkEntityVal("\U000021B7"),
+ "curarrm;": mkEntityVal("\U0000293C"),
+ "curlyeqprec;": mkEntityVal("\U000022DE"),
+ "curlyeqsucc;": mkEntityVal("\U000022DF"),
+ "curlyvee;": mkEntityVal("\U000022CE"),
+ "curlywedge;": mkEntityVal("\U000022CF"),
+ "curren;": mkEntityVal("\U000000A4"),
+ "curvearrowleft;": mkEntityVal("\U000021B6"),
+ "curvearrowright;": mkEntityVal("\U000021B7"),
+ "cuvee;": mkEntityVal("\U000022CE"),
+ "cuwed;": mkEntityVal("\U000022CF"),
+ "cwconint;": mkEntityVal("\U00002232"),
+ "cwint;": mkEntityVal("\U00002231"),
+ "cylcty;": mkEntityVal("\U0000232D"),
+ "dArr;": mkEntityVal("\U000021D3"),
+ "dHar;": mkEntityVal("\U00002965"),
+ "dagger;": mkEntityVal("\U00002020"),
+ "daleth;": mkEntityVal("\U00002138"),
+ "darr;": mkEntityVal("\U00002193"),
+ "dash;": mkEntityVal("\U00002010"),
+ "dashv;": mkEntityVal("\U000022A3"),
+ "dbkarow;": mkEntityVal("\U0000290F"),
+ "dblac;": mkEntityVal("\U000002DD"),
+ "dcaron;": mkEntityVal("\U0000010F"),
+ "dcy;": mkEntityVal("\U00000434"),
+ "dd;": mkEntityVal("\U00002146"),
+ "ddagger;": mkEntityVal("\U00002021"),
+ "ddarr;": mkEntityVal("\U000021CA"),
+ "ddotseq;": mkEntityVal("\U00002A77"),
+ "deg;": mkEntityVal("\U000000B0"),
+ "delta;": mkEntityVal("\U000003B4"),
+ "demptyv;": mkEntityVal("\U000029B1"),
+ "dfisht;": mkEntityVal("\U0000297F"),
+ "dfr;": mkEntityVal("\U0001D521"),
+ "dharl;": mkEntityVal("\U000021C3"),
+ "dharr;": mkEntityVal("\U000021C2"),
+ "diam;": mkEntityVal("\U000022C4"),
+ "diamond;": mkEntityVal("\U000022C4"),
+ "diamondsuit;": mkEntityVal("\U00002666"),
+ "diams;": mkEntityVal("\U00002666"),
+ "die;": mkEntityVal("\U000000A8"),
+ "digamma;": mkEntityVal("\U000003DD"),
+ "disin;": mkEntityVal("\U000022F2"),
+ "div;": mkEntityVal("\U000000F7"),
+ "divide;": mkEntityVal("\U000000F7"),
+ "divideontimes;": mkEntityVal("\U000022C7"),
+ "divonx;": mkEntityVal("\U000022C7"),
+ "djcy;": mkEntityVal("\U00000452"),
+ "dlcorn;": mkEntityVal("\U0000231E"),
+ "dlcrop;": mkEntityVal("\U0000230D"),
+ "dollar;": mkEntityVal("\U00000024"),
+ "dopf;": mkEntityVal("\U0001D555"),
+ "dot;": mkEntityVal("\U000002D9"),
+ "doteq;": mkEntityVal("\U00002250"),
+ "doteqdot;": mkEntityVal("\U00002251"),
+ "dotminus;": mkEntityVal("\U00002238"),
+ "dotplus;": mkEntityVal("\U00002214"),
+ "dotsquare;": mkEntityVal("\U000022A1"),
+ "doublebarwedge;": mkEntityVal("\U00002306"),
+ "downarrow;": mkEntityVal("\U00002193"),
+ "downdownarrows;": mkEntityVal("\U000021CA"),
+ "downharpoonleft;": mkEntityVal("\U000021C3"),
+ "downharpoonright;": mkEntityVal("\U000021C2"),
+ "drbkarow;": mkEntityVal("\U00002910"),
+ "drcorn;": mkEntityVal("\U0000231F"),
+ "drcrop;": mkEntityVal("\U0000230C"),
+ "dscr;": mkEntityVal("\U0001D4B9"),
+ "dscy;": mkEntityVal("\U00000455"),
+ "dsol;": mkEntityVal("\U000029F6"),
+ "dstrok;": mkEntityVal("\U00000111"),
+ "dtdot;": mkEntityVal("\U000022F1"),
+ "dtri;": mkEntityVal("\U000025BF"),
+ "dtrif;": mkEntityVal("\U000025BE"),
+ "duarr;": mkEntityVal("\U000021F5"),
+ "duhar;": mkEntityVal("\U0000296F"),
+ "dwangle;": mkEntityVal("\U000029A6"),
+ "dzcy;": mkEntityVal("\U0000045F"),
+ "dzigrarr;": mkEntityVal("\U000027FF"),
+ "eDDot;": mkEntityVal("\U00002A77"),
+ "eDot;": mkEntityVal("\U00002251"),
+ "eacute;": mkEntityVal("\U000000E9"),
+ "easter;": mkEntityVal("\U00002A6E"),
+ "ecaron;": mkEntityVal("\U0000011B"),
+ "ecir;": mkEntityVal("\U00002256"),
+ "ecirc;": mkEntityVal("\U000000EA"),
+ "ecolon;": mkEntityVal("\U00002255"),
+ "ecy;": mkEntityVal("\U0000044D"),
+ "edot;": mkEntityVal("\U00000117"),
+ "ee;": mkEntityVal("\U00002147"),
+ "efDot;": mkEntityVal("\U00002252"),
+ "efr;": mkEntityVal("\U0001D522"),
+ "eg;": mkEntityVal("\U00002A9A"),
+ "egrave;": mkEntityVal("\U000000E8"),
+ "egs;": mkEntityVal("\U00002A96"),
+ "egsdot;": mkEntityVal("\U00002A98"),
+ "el;": mkEntityVal("\U00002A99"),
+ "elinters;": mkEntityVal("\U000023E7"),
+ "ell;": mkEntityVal("\U00002113"),
+ "els;": mkEntityVal("\U00002A95"),
+ "elsdot;": mkEntityVal("\U00002A97"),
+ "emacr;": mkEntityVal("\U00000113"),
+ "empty;": mkEntityVal("\U00002205"),
+ "emptyset;": mkEntityVal("\U00002205"),
+ "emptyv;": mkEntityVal("\U00002205"),
+ "emsp;": mkEntityVal("\U00002003"),
+ "emsp13;": mkEntityVal("\U00002004"),
+ "emsp14;": mkEntityVal("\U00002005"),
+ "eng;": mkEntityVal("\U0000014B"),
+ "ensp;": mkEntityVal("\U00002002"),
+ "eogon;": mkEntityVal("\U00000119"),
+ "eopf;": mkEntityVal("\U0001D556"),
+ "epar;": mkEntityVal("\U000022D5"),
+ "eparsl;": mkEntityVal("\U000029E3"),
+ "eplus;": mkEntityVal("\U00002A71"),
+ "epsi;": mkEntityVal("\U000003B5"),
+ "epsilon;": mkEntityVal("\U000003B5"),
+ "epsiv;": mkEntityVal("\U000003F5"),
+ "eqcirc;": mkEntityVal("\U00002256"),
+ "eqcolon;": mkEntityVal("\U00002255"),
+ "eqsim;": mkEntityVal("\U00002242"),
+ "eqslantgtr;": mkEntityVal("\U00002A96"),
+ "eqslantless;": mkEntityVal("\U00002A95"),
+ "equals;": mkEntityVal("\U0000003D"),
+ "equest;": mkEntityVal("\U0000225F"),
+ "equiv;": mkEntityVal("\U00002261"),
+ "equivDD;": mkEntityVal("\U00002A78"),
+ "eqvparsl;": mkEntityVal("\U000029E5"),
+ "erDot;": mkEntityVal("\U00002253"),
+ "erarr;": mkEntityVal("\U00002971"),
+ "escr;": mkEntityVal("\U0000212F"),
+ "esdot;": mkEntityVal("\U00002250"),
+ "esim;": mkEntityVal("\U00002242"),
+ "eta;": mkEntityVal("\U000003B7"),
+ "eth;": mkEntityVal("\U000000F0"),
+ "euml;": mkEntityVal("\U000000EB"),
+ "euro;": mkEntityVal("\U000020AC"),
+ "excl;": mkEntityVal("\U00000021"),
+ "exist;": mkEntityVal("\U00002203"),
+ "expectation;": mkEntityVal("\U00002130"),
+ "exponentiale;": mkEntityVal("\U00002147"),
+ "fallingdotseq;": mkEntityVal("\U00002252"),
+ "fcy;": mkEntityVal("\U00000444"),
+ "female;": mkEntityVal("\U00002640"),
+ "ffilig;": mkEntityVal("\U0000FB03"),
+ "fflig;": mkEntityVal("\U0000FB00"),
+ "ffllig;": mkEntityVal("\U0000FB04"),
+ "ffr;": mkEntityVal("\U0001D523"),
+ "filig;": mkEntityVal("\U0000FB01"),
+ "flat;": mkEntityVal("\U0000266D"),
+ "fllig;": mkEntityVal("\U0000FB02"),
+ "fltns;": mkEntityVal("\U000025B1"),
+ "fnof;": mkEntityVal("\U00000192"),
+ "fopf;": mkEntityVal("\U0001D557"),
+ "forall;": mkEntityVal("\U00002200"),
+ "fork;": mkEntityVal("\U000022D4"),
+ "forkv;": mkEntityVal("\U00002AD9"),
+ "fpartint;": mkEntityVal("\U00002A0D"),
+ "frac12;": mkEntityVal("\U000000BD"),
+ "frac13;": mkEntityVal("\U00002153"),
+ "frac14;": mkEntityVal("\U000000BC"),
+ "frac15;": mkEntityVal("\U00002155"),
+ "frac16;": mkEntityVal("\U00002159"),
+ "frac18;": mkEntityVal("\U0000215B"),
+ "frac23;": mkEntityVal("\U00002154"),
+ "frac25;": mkEntityVal("\U00002156"),
+ "frac34;": mkEntityVal("\U000000BE"),
+ "frac35;": mkEntityVal("\U00002157"),
+ "frac38;": mkEntityVal("\U0000215C"),
+ "frac45;": mkEntityVal("\U00002158"),
+ "frac56;": mkEntityVal("\U0000215A"),
+ "frac58;": mkEntityVal("\U0000215D"),
+ "frac78;": mkEntityVal("\U0000215E"),
+ "frasl;": mkEntityVal("\U00002044"),
+ "frown;": mkEntityVal("\U00002322"),
+ "fscr;": mkEntityVal("\U0001D4BB"),
+ "gE;": mkEntityVal("\U00002267"),
+ "gEl;": mkEntityVal("\U00002A8C"),
+ "gacute;": mkEntityVal("\U000001F5"),
+ "gamma;": mkEntityVal("\U000003B3"),
+ "gammad;": mkEntityVal("\U000003DD"),
+ "gap;": mkEntityVal("\U00002A86"),
+ "gbreve;": mkEntityVal("\U0000011F"),
+ "gcirc;": mkEntityVal("\U0000011D"),
+ "gcy;": mkEntityVal("\U00000433"),
+ "gdot;": mkEntityVal("\U00000121"),
+ "ge;": mkEntityVal("\U00002265"),
+ "gel;": mkEntityVal("\U000022DB"),
+ "geq;": mkEntityVal("\U00002265"),
+ "geqq;": mkEntityVal("\U00002267"),
+ "geqslant;": mkEntityVal("\U00002A7E"),
+ "ges;": mkEntityVal("\U00002A7E"),
+ "gescc;": mkEntityVal("\U00002AA9"),
+ "gesdot;": mkEntityVal("\U00002A80"),
+ "gesdoto;": mkEntityVal("\U00002A82"),
+ "gesdotol;": mkEntityVal("\U00002A84"),
+ "gesles;": mkEntityVal("\U00002A94"),
+ "gfr;": mkEntityVal("\U0001D524"),
+ "gg;": mkEntityVal("\U0000226B"),
+ "ggg;": mkEntityVal("\U000022D9"),
+ "gimel;": mkEntityVal("\U00002137"),
+ "gjcy;": mkEntityVal("\U00000453"),
+ "gl;": mkEntityVal("\U00002277"),
+ "glE;": mkEntityVal("\U00002A92"),
+ "gla;": mkEntityVal("\U00002AA5"),
+ "glj;": mkEntityVal("\U00002AA4"),
+ "gnE;": mkEntityVal("\U00002269"),
+ "gnap;": mkEntityVal("\U00002A8A"),
+ "gnapprox;": mkEntityVal("\U00002A8A"),
+ "gne;": mkEntityVal("\U00002A88"),
+ "gneq;": mkEntityVal("\U00002A88"),
+ "gneqq;": mkEntityVal("\U00002269"),
+ "gnsim;": mkEntityVal("\U000022E7"),
+ "gopf;": mkEntityVal("\U0001D558"),
+ "grave;": mkEntityVal("\U00000060"),
+ "gscr;": mkEntityVal("\U0000210A"),
+ "gsim;": mkEntityVal("\U00002273"),
+ "gsime;": mkEntityVal("\U00002A8E"),
+ "gsiml;": mkEntityVal("\U00002A90"),
+ "gt;": mkEntityVal("\U0000003E"),
+ "gtcc;": mkEntityVal("\U00002AA7"),
+ "gtcir;": mkEntityVal("\U00002A7A"),
+ "gtdot;": mkEntityVal("\U000022D7"),
+ "gtlPar;": mkEntityVal("\U00002995"),
+ "gtquest;": mkEntityVal("\U00002A7C"),
+ "gtrapprox;": mkEntityVal("\U00002A86"),
+ "gtrarr;": mkEntityVal("\U00002978"),
+ "gtrdot;": mkEntityVal("\U000022D7"),
+ "gtreqless;": mkEntityVal("\U000022DB"),
+ "gtreqqless;": mkEntityVal("\U00002A8C"),
+ "gtrless;": mkEntityVal("\U00002277"),
+ "gtrsim;": mkEntityVal("\U00002273"),
+ "hArr;": mkEntityVal("\U000021D4"),
+ "hairsp;": mkEntityVal("\U0000200A"),
+ "half;": mkEntityVal("\U000000BD"),
+ "hamilt;": mkEntityVal("\U0000210B"),
+ "hardcy;": mkEntityVal("\U0000044A"),
+ "harr;": mkEntityVal("\U00002194"),
+ "harrcir;": mkEntityVal("\U00002948"),
+ "harrw;": mkEntityVal("\U000021AD"),
+ "hbar;": mkEntityVal("\U0000210F"),
+ "hcirc;": mkEntityVal("\U00000125"),
+ "hearts;": mkEntityVal("\U00002665"),
+ "heartsuit;": mkEntityVal("\U00002665"),
+ "hellip;": mkEntityVal("\U00002026"),
+ "hercon;": mkEntityVal("\U000022B9"),
+ "hfr;": mkEntityVal("\U0001D525"),
+ "hksearow;": mkEntityVal("\U00002925"),
+ "hkswarow;": mkEntityVal("\U00002926"),
+ "hoarr;": mkEntityVal("\U000021FF"),
+ "homtht;": mkEntityVal("\U0000223B"),
+ "hookleftarrow;": mkEntityVal("\U000021A9"),
+ "hookrightarrow;": mkEntityVal("\U000021AA"),
+ "hopf;": mkEntityVal("\U0001D559"),
+ "horbar;": mkEntityVal("\U00002015"),
+ "hscr;": mkEntityVal("\U0001D4BD"),
+ "hslash;": mkEntityVal("\U0000210F"),
+ "hstrok;": mkEntityVal("\U00000127"),
+ "hybull;": mkEntityVal("\U00002043"),
+ "hyphen;": mkEntityVal("\U00002010"),
+ "iacute;": mkEntityVal("\U000000ED"),
+ "ic;": mkEntityVal("\U00002063"),
+ "icirc;": mkEntityVal("\U000000EE"),
+ "icy;": mkEntityVal("\U00000438"),
+ "iecy;": mkEntityVal("\U00000435"),
+ "iexcl;": mkEntityVal("\U000000A1"),
+ "iff;": mkEntityVal("\U000021D4"),
+ "ifr;": mkEntityVal("\U0001D526"),
+ "igrave;": mkEntityVal("\U000000EC"),
+ "ii;": mkEntityVal("\U00002148"),
+ "iiiint;": mkEntityVal("\U00002A0C"),
+ "iiint;": mkEntityVal("\U0000222D"),
+ "iinfin;": mkEntityVal("\U000029DC"),
+ "iiota;": mkEntityVal("\U00002129"),
+ "ijlig;": mkEntityVal("\U00000133"),
+ "imacr;": mkEntityVal("\U0000012B"),
+ "image;": mkEntityVal("\U00002111"),
+ "imagline;": mkEntityVal("\U00002110"),
+ "imagpart;": mkEntityVal("\U00002111"),
+ "imath;": mkEntityVal("\U00000131"),
+ "imof;": mkEntityVal("\U000022B7"),
+ "imped;": mkEntityVal("\U000001B5"),
+ "in;": mkEntityVal("\U00002208"),
+ "incare;": mkEntityVal("\U00002105"),
+ "infin;": mkEntityVal("\U0000221E"),
+ "infintie;": mkEntityVal("\U000029DD"),
+ "inodot;": mkEntityVal("\U00000131"),
+ "int;": mkEntityVal("\U0000222B"),
+ "intcal;": mkEntityVal("\U000022BA"),
+ "integers;": mkEntityVal("\U00002124"),
+ "intercal;": mkEntityVal("\U000022BA"),
+ "intlarhk;": mkEntityVal("\U00002A17"),
+ "intprod;": mkEntityVal("\U00002A3C"),
+ "iocy;": mkEntityVal("\U00000451"),
+ "iogon;": mkEntityVal("\U0000012F"),
+ "iopf;": mkEntityVal("\U0001D55A"),
+ "iota;": mkEntityVal("\U000003B9"),
+ "iprod;": mkEntityVal("\U00002A3C"),
+ "iquest;": mkEntityVal("\U000000BF"),
+ "iscr;": mkEntityVal("\U0001D4BE"),
+ "isin;": mkEntityVal("\U00002208"),
+ "isinE;": mkEntityVal("\U000022F9"),
+ "isindot;": mkEntityVal("\U000022F5"),
+ "isins;": mkEntityVal("\U000022F4"),
+ "isinsv;": mkEntityVal("\U000022F3"),
+ "isinv;": mkEntityVal("\U00002208"),
+ "it;": mkEntityVal("\U00002062"),
+ "itilde;": mkEntityVal("\U00000129"),
+ "iukcy;": mkEntityVal("\U00000456"),
+ "iuml;": mkEntityVal("\U000000EF"),
+ "jcirc;": mkEntityVal("\U00000135"),
+ "jcy;": mkEntityVal("\U00000439"),
+ "jfr;": mkEntityVal("\U0001D527"),
+ "jmath;": mkEntityVal("\U00000237"),
+ "jopf;": mkEntityVal("\U0001D55B"),
+ "jscr;": mkEntityVal("\U0001D4BF"),
+ "jsercy;": mkEntityVal("\U00000458"),
+ "jukcy;": mkEntityVal("\U00000454"),
+ "kappa;": mkEntityVal("\U000003BA"),
+ "kappav;": mkEntityVal("\U000003F0"),
+ "kcedil;": mkEntityVal("\U00000137"),
+ "kcy;": mkEntityVal("\U0000043A"),
+ "kfr;": mkEntityVal("\U0001D528"),
+ "kgreen;": mkEntityVal("\U00000138"),
+ "khcy;": mkEntityVal("\U00000445"),
+ "kjcy;": mkEntityVal("\U0000045C"),
+ "kopf;": mkEntityVal("\U0001D55C"),
+ "kscr;": mkEntityVal("\U0001D4C0"),
+ "lAarr;": mkEntityVal("\U000021DA"),
+ "lArr;": mkEntityVal("\U000021D0"),
+ "lAtail;": mkEntityVal("\U0000291B"),
+ "lBarr;": mkEntityVal("\U0000290E"),
+ "lE;": mkEntityVal("\U00002266"),
+ "lEg;": mkEntityVal("\U00002A8B"),
+ "lHar;": mkEntityVal("\U00002962"),
+ "lacute;": mkEntityVal("\U0000013A"),
+ "laemptyv;": mkEntityVal("\U000029B4"),
+ "lagran;": mkEntityVal("\U00002112"),
+ "lambda;": mkEntityVal("\U000003BB"),
+ "lang;": mkEntityVal("\U000027E8"),
+ "langd;": mkEntityVal("\U00002991"),
+ "langle;": mkEntityVal("\U000027E8"),
+ "lap;": mkEntityVal("\U00002A85"),
+ "laquo;": mkEntityVal("\U000000AB"),
+ "larr;": mkEntityVal("\U00002190"),
+ "larrb;": mkEntityVal("\U000021E4"),
+ "larrbfs;": mkEntityVal("\U0000291F"),
+ "larrfs;": mkEntityVal("\U0000291D"),
+ "larrhk;": mkEntityVal("\U000021A9"),
+ "larrlp;": mkEntityVal("\U000021AB"),
+ "larrpl;": mkEntityVal("\U00002939"),
+ "larrsim;": mkEntityVal("\U00002973"),
+ "larrtl;": mkEntityVal("\U000021A2"),
+ "lat;": mkEntityVal("\U00002AAB"),
+ "latail;": mkEntityVal("\U00002919"),
+ "late;": mkEntityVal("\U00002AAD"),
+ "lbarr;": mkEntityVal("\U0000290C"),
+ "lbbrk;": mkEntityVal("\U00002772"),
+ "lbrace;": mkEntityVal("\U0000007B"),
+ "lbrack;": mkEntityVal("\U0000005B"),
+ "lbrke;": mkEntityVal("\U0000298B"),
+ "lbrksld;": mkEntityVal("\U0000298F"),
+ "lbrkslu;": mkEntityVal("\U0000298D"),
+ "lcaron;": mkEntityVal("\U0000013E"),
+ "lcedil;": mkEntityVal("\U0000013C"),
+ "lceil;": mkEntityVal("\U00002308"),
+ "lcub;": mkEntityVal("\U0000007B"),
+ "lcy;": mkEntityVal("\U0000043B"),
+ "ldca;": mkEntityVal("\U00002936"),
+ "ldquo;": mkEntityVal("\U0000201C"),
+ "ldquor;": mkEntityVal("\U0000201E"),
+ "ldrdhar;": mkEntityVal("\U00002967"),
+ "ldrushar;": mkEntityVal("\U0000294B"),
+ "ldsh;": mkEntityVal("\U000021B2"),
+ "le;": mkEntityVal("\U00002264"),
+ "leftarrow;": mkEntityVal("\U00002190"),
+ "leftarrowtail;": mkEntityVal("\U000021A2"),
+ "leftharpoondown;": mkEntityVal("\U000021BD"),
+ "leftharpoonup;": mkEntityVal("\U000021BC"),
+ "leftleftarrows;": mkEntityVal("\U000021C7"),
+ "leftrightarrow;": mkEntityVal("\U00002194"),
+ "leftrightarrows;": mkEntityVal("\U000021C6"),
+ "leftrightharpoons;": mkEntityVal("\U000021CB"),
+ "leftrightsquigarrow;": mkEntityVal("\U000021AD"),
+ "leftthreetimes;": mkEntityVal("\U000022CB"),
+ "leg;": mkEntityVal("\U000022DA"),
+ "leq;": mkEntityVal("\U00002264"),
+ "leqq;": mkEntityVal("\U00002266"),
+ "leqslant;": mkEntityVal("\U00002A7D"),
+ "les;": mkEntityVal("\U00002A7D"),
+ "lescc;": mkEntityVal("\U00002AA8"),
+ "lesdot;": mkEntityVal("\U00002A7F"),
+ "lesdoto;": mkEntityVal("\U00002A81"),
+ "lesdotor;": mkEntityVal("\U00002A83"),
+ "lesges;": mkEntityVal("\U00002A93"),
+ "lessapprox;": mkEntityVal("\U00002A85"),
+ "lessdot;": mkEntityVal("\U000022D6"),
+ "lesseqgtr;": mkEntityVal("\U000022DA"),
+ "lesseqqgtr;": mkEntityVal("\U00002A8B"),
+ "lessgtr;": mkEntityVal("\U00002276"),
+ "lesssim;": mkEntityVal("\U00002272"),
+ "lfisht;": mkEntityVal("\U0000297C"),
+ "lfloor;": mkEntityVal("\U0000230A"),
+ "lfr;": mkEntityVal("\U0001D529"),
+ "lg;": mkEntityVal("\U00002276"),
+ "lgE;": mkEntityVal("\U00002A91"),
+ "lhard;": mkEntityVal("\U000021BD"),
+ "lharu;": mkEntityVal("\U000021BC"),
+ "lharul;": mkEntityVal("\U0000296A"),
+ "lhblk;": mkEntityVal("\U00002584"),
+ "ljcy;": mkEntityVal("\U00000459"),
+ "ll;": mkEntityVal("\U0000226A"),
+ "llarr;": mkEntityVal("\U000021C7"),
+ "llcorner;": mkEntityVal("\U0000231E"),
+ "llhard;": mkEntityVal("\U0000296B"),
+ "lltri;": mkEntityVal("\U000025FA"),
+ "lmidot;": mkEntityVal("\U00000140"),
+ "lmoust;": mkEntityVal("\U000023B0"),
+ "lmoustache;": mkEntityVal("\U000023B0"),
+ "lnE;": mkEntityVal("\U00002268"),
+ "lnap;": mkEntityVal("\U00002A89"),
+ "lnapprox;": mkEntityVal("\U00002A89"),
+ "lne;": mkEntityVal("\U00002A87"),
+ "lneq;": mkEntityVal("\U00002A87"),
+ "lneqq;": mkEntityVal("\U00002268"),
+ "lnsim;": mkEntityVal("\U000022E6"),
+ "loang;": mkEntityVal("\U000027EC"),
+ "loarr;": mkEntityVal("\U000021FD"),
+ "lobrk;": mkEntityVal("\U000027E6"),
+ "longleftarrow;": mkEntityVal("\U000027F5"),
+ "longleftrightarrow;": mkEntityVal("\U000027F7"),
+ "longmapsto;": mkEntityVal("\U000027FC"),
+ "longrightarrow;": mkEntityVal("\U000027F6"),
+ "looparrowleft;": mkEntityVal("\U000021AB"),
+ "looparrowright;": mkEntityVal("\U000021AC"),
+ "lopar;": mkEntityVal("\U00002985"),
+ "lopf;": mkEntityVal("\U0001D55D"),
+ "loplus;": mkEntityVal("\U00002A2D"),
+ "lotimes;": mkEntityVal("\U00002A34"),
+ "lowast;": mkEntityVal("\U00002217"),
+ "lowbar;": mkEntityVal("\U0000005F"),
+ "loz;": mkEntityVal("\U000025CA"),
+ "lozenge;": mkEntityVal("\U000025CA"),
+ "lozf;": mkEntityVal("\U000029EB"),
+ "lpar;": mkEntityVal("\U00000028"),
+ "lparlt;": mkEntityVal("\U00002993"),
+ "lrarr;": mkEntityVal("\U000021C6"),
+ "lrcorner;": mkEntityVal("\U0000231F"),
+ "lrhar;": mkEntityVal("\U000021CB"),
+ "lrhard;": mkEntityVal("\U0000296D"),
+ "lrm;": mkEntityVal("\U0000200E"),
+ "lrtri;": mkEntityVal("\U000022BF"),
+ "lsaquo;": mkEntityVal("\U00002039"),
+ "lscr;": mkEntityVal("\U0001D4C1"),
+ "lsh;": mkEntityVal("\U000021B0"),
+ "lsim;": mkEntityVal("\U00002272"),
+ "lsime;": mkEntityVal("\U00002A8D"),
+ "lsimg;": mkEntityVal("\U00002A8F"),
+ "lsqb;": mkEntityVal("\U0000005B"),
+ "lsquo;": mkEntityVal("\U00002018"),
+ "lsquor;": mkEntityVal("\U0000201A"),
+ "lstrok;": mkEntityVal("\U00000142"),
+ "lt;": mkEntityVal("\U0000003C"),
+ "ltcc;": mkEntityVal("\U00002AA6"),
+ "ltcir;": mkEntityVal("\U00002A79"),
+ "ltdot;": mkEntityVal("\U000022D6"),
+ "lthree;": mkEntityVal("\U000022CB"),
+ "ltimes;": mkEntityVal("\U000022C9"),
+ "ltlarr;": mkEntityVal("\U00002976"),
+ "ltquest;": mkEntityVal("\U00002A7B"),
+ "ltrPar;": mkEntityVal("\U00002996"),
+ "ltri;": mkEntityVal("\U000025C3"),
+ "ltrie;": mkEntityVal("\U000022B4"),
+ "ltrif;": mkEntityVal("\U000025C2"),
+ "lurdshar;": mkEntityVal("\U0000294A"),
+ "luruhar;": mkEntityVal("\U00002966"),
+ "mDDot;": mkEntityVal("\U0000223A"),
+ "macr;": mkEntityVal("\U000000AF"),
+ "male;": mkEntityVal("\U00002642"),
+ "malt;": mkEntityVal("\U00002720"),
+ "maltese;": mkEntityVal("\U00002720"),
+ "map;": mkEntityVal("\U000021A6"),
+ "mapsto;": mkEntityVal("\U000021A6"),
+ "mapstodown;": mkEntityVal("\U000021A7"),
+ "mapstoleft;": mkEntityVal("\U000021A4"),
+ "mapstoup;": mkEntityVal("\U000021A5"),
+ "marker;": mkEntityVal("\U000025AE"),
+ "mcomma;": mkEntityVal("\U00002A29"),
+ "mcy;": mkEntityVal("\U0000043C"),
+ "mdash;": mkEntityVal("\U00002014"),
+ "measuredangle;": mkEntityVal("\U00002221"),
+ "mfr;": mkEntityVal("\U0001D52A"),
+ "mho;": mkEntityVal("\U00002127"),
+ "micro;": mkEntityVal("\U000000B5"),
+ "mid;": mkEntityVal("\U00002223"),
+ "midast;": mkEntityVal("\U0000002A"),
+ "midcir;": mkEntityVal("\U00002AF0"),
+ "middot;": mkEntityVal("\U000000B7"),
+ "minus;": mkEntityVal("\U00002212"),
+ "minusb;": mkEntityVal("\U0000229F"),
+ "minusd;": mkEntityVal("\U00002238"),
+ "minusdu;": mkEntityVal("\U00002A2A"),
+ "mlcp;": mkEntityVal("\U00002ADB"),
+ "mldr;": mkEntityVal("\U00002026"),
+ "mnplus;": mkEntityVal("\U00002213"),
+ "models;": mkEntityVal("\U000022A7"),
+ "mopf;": mkEntityVal("\U0001D55E"),
+ "mp;": mkEntityVal("\U00002213"),
+ "mscr;": mkEntityVal("\U0001D4C2"),
+ "mstpos;": mkEntityVal("\U0000223E"),
+ "mu;": mkEntityVal("\U000003BC"),
+ "multimap;": mkEntityVal("\U000022B8"),
+ "mumap;": mkEntityVal("\U000022B8"),
+ "nLeftarrow;": mkEntityVal("\U000021CD"),
+ "nLeftrightarrow;": mkEntityVal("\U000021CE"),
+ "nRightarrow;": mkEntityVal("\U000021CF"),
+ "nVDash;": mkEntityVal("\U000022AF"),
+ "nVdash;": mkEntityVal("\U000022AE"),
+ "nabla;": mkEntityVal("\U00002207"),
+ "nacute;": mkEntityVal("\U00000144"),
+ "nap;": mkEntityVal("\U00002249"),
+ "napos;": mkEntityVal("\U00000149"),
+ "napprox;": mkEntityVal("\U00002249"),
+ "natur;": mkEntityVal("\U0000266E"),
+ "natural;": mkEntityVal("\U0000266E"),
+ "naturals;": mkEntityVal("\U00002115"),
+ "nbsp;": mkEntityVal("\U000000A0"),
+ "ncap;": mkEntityVal("\U00002A43"),
+ "ncaron;": mkEntityVal("\U00000148"),
+ "ncedil;": mkEntityVal("\U00000146"),
+ "ncong;": mkEntityVal("\U00002247"),
+ "ncup;": mkEntityVal("\U00002A42"),
+ "ncy;": mkEntityVal("\U0000043D"),
+ "ndash;": mkEntityVal("\U00002013"),
+ "ne;": mkEntityVal("\U00002260"),
+ "neArr;": mkEntityVal("\U000021D7"),
+ "nearhk;": mkEntityVal("\U00002924"),
+ "nearr;": mkEntityVal("\U00002197"),
+ "nearrow;": mkEntityVal("\U00002197"),
+ "nequiv;": mkEntityVal("\U00002262"),
+ "nesear;": mkEntityVal("\U00002928"),
+ "nexist;": mkEntityVal("\U00002204"),
+ "nexists;": mkEntityVal("\U00002204"),
+ "nfr;": mkEntityVal("\U0001D52B"),
+ "nge;": mkEntityVal("\U00002271"),
+ "ngeq;": mkEntityVal("\U00002271"),
+ "ngsim;": mkEntityVal("\U00002275"),
+ "ngt;": mkEntityVal("\U0000226F"),
+ "ngtr;": mkEntityVal("\U0000226F"),
+ "nhArr;": mkEntityVal("\U000021CE"),
+ "nharr;": mkEntityVal("\U000021AE"),
+ "nhpar;": mkEntityVal("\U00002AF2"),
+ "ni;": mkEntityVal("\U0000220B"),
+ "nis;": mkEntityVal("\U000022FC"),
+ "nisd;": mkEntityVal("\U000022FA"),
+ "niv;": mkEntityVal("\U0000220B"),
+ "njcy;": mkEntityVal("\U0000045A"),
+ "nlArr;": mkEntityVal("\U000021CD"),
+ "nlarr;": mkEntityVal("\U0000219A"),
+ "nldr;": mkEntityVal("\U00002025"),
+ "nle;": mkEntityVal("\U00002270"),
+ "nleftarrow;": mkEntityVal("\U0000219A"),
+ "nleftrightarrow;": mkEntityVal("\U000021AE"),
+ "nleq;": mkEntityVal("\U00002270"),
+ "nless;": mkEntityVal("\U0000226E"),
+ "nlsim;": mkEntityVal("\U00002274"),
+ "nlt;": mkEntityVal("\U0000226E"),
+ "nltri;": mkEntityVal("\U000022EA"),
+ "nltrie;": mkEntityVal("\U000022EC"),
+ "nmid;": mkEntityVal("\U00002224"),
+ "nopf;": mkEntityVal("\U0001D55F"),
+ "not;": mkEntityVal("\U000000AC"),
+ "notin;": mkEntityVal("\U00002209"),
+ "notinva;": mkEntityVal("\U00002209"),
+ "notinvb;": mkEntityVal("\U000022F7"),
+ "notinvc;": mkEntityVal("\U000022F6"),
+ "notni;": mkEntityVal("\U0000220C"),
+ "notniva;": mkEntityVal("\U0000220C"),
+ "notnivb;": mkEntityVal("\U000022FE"),
+ "notnivc;": mkEntityVal("\U000022FD"),
+ "npar;": mkEntityVal("\U00002226"),
+ "nparallel;": mkEntityVal("\U00002226"),
+ "npolint;": mkEntityVal("\U00002A14"),
+ "npr;": mkEntityVal("\U00002280"),
+ "nprcue;": mkEntityVal("\U000022E0"),
+ "nprec;": mkEntityVal("\U00002280"),
+ "nrArr;": mkEntityVal("\U000021CF"),
+ "nrarr;": mkEntityVal("\U0000219B"),
+ "nrightarrow;": mkEntityVal("\U0000219B"),
+ "nrtri;": mkEntityVal("\U000022EB"),
+ "nrtrie;": mkEntityVal("\U000022ED"),
+ "nsc;": mkEntityVal("\U00002281"),
+ "nsccue;": mkEntityVal("\U000022E1"),
+ "nscr;": mkEntityVal("\U0001D4C3"),
+ "nshortmid;": mkEntityVal("\U00002224"),
+ "nshortparallel;": mkEntityVal("\U00002226"),
+ "nsim;": mkEntityVal("\U00002241"),
+ "nsime;": mkEntityVal("\U00002244"),
+ "nsimeq;": mkEntityVal("\U00002244"),
+ "nsmid;": mkEntityVal("\U00002224"),
+ "nspar;": mkEntityVal("\U00002226"),
+ "nsqsube;": mkEntityVal("\U000022E2"),
+ "nsqsupe;": mkEntityVal("\U000022E3"),
+ "nsub;": mkEntityVal("\U00002284"),
+ "nsube;": mkEntityVal("\U00002288"),
+ "nsubseteq;": mkEntityVal("\U00002288"),
+ "nsucc;": mkEntityVal("\U00002281"),
+ "nsup;": mkEntityVal("\U00002285"),
+ "nsupe;": mkEntityVal("\U00002289"),
+ "nsupseteq;": mkEntityVal("\U00002289"),
+ "ntgl;": mkEntityVal("\U00002279"),
+ "ntilde;": mkEntityVal("\U000000F1"),
+ "ntlg;": mkEntityVal("\U00002278"),
+ "ntriangleleft;": mkEntityVal("\U000022EA"),
+ "ntrianglelefteq;": mkEntityVal("\U000022EC"),
+ "ntriangleright;": mkEntityVal("\U000022EB"),
+ "ntrianglerighteq;": mkEntityVal("\U000022ED"),
+ "nu;": mkEntityVal("\U000003BD"),
+ "num;": mkEntityVal("\U00000023"),
+ "numero;": mkEntityVal("\U00002116"),
+ "numsp;": mkEntityVal("\U00002007"),
+ "nvDash;": mkEntityVal("\U000022AD"),
+ "nvHarr;": mkEntityVal("\U00002904"),
+ "nvdash;": mkEntityVal("\U000022AC"),
+ "nvinfin;": mkEntityVal("\U000029DE"),
+ "nvlArr;": mkEntityVal("\U00002902"),
+ "nvrArr;": mkEntityVal("\U00002903"),
+ "nwArr;": mkEntityVal("\U000021D6"),
+ "nwarhk;": mkEntityVal("\U00002923"),
+ "nwarr;": mkEntityVal("\U00002196"),
+ "nwarrow;": mkEntityVal("\U00002196"),
+ "nwnear;": mkEntityVal("\U00002927"),
+ "oS;": mkEntityVal("\U000024C8"),
+ "oacute;": mkEntityVal("\U000000F3"),
+ "oast;": mkEntityVal("\U0000229B"),
+ "ocir;": mkEntityVal("\U0000229A"),
+ "ocirc;": mkEntityVal("\U000000F4"),
+ "ocy;": mkEntityVal("\U0000043E"),
+ "odash;": mkEntityVal("\U0000229D"),
+ "odblac;": mkEntityVal("\U00000151"),
+ "odiv;": mkEntityVal("\U00002A38"),
+ "odot;": mkEntityVal("\U00002299"),
+ "odsold;": mkEntityVal("\U000029BC"),
+ "oelig;": mkEntityVal("\U00000153"),
+ "ofcir;": mkEntityVal("\U000029BF"),
+ "ofr;": mkEntityVal("\U0001D52C"),
+ "ogon;": mkEntityVal("\U000002DB"),
+ "ograve;": mkEntityVal("\U000000F2"),
+ "ogt;": mkEntityVal("\U000029C1"),
+ "ohbar;": mkEntityVal("\U000029B5"),
+ "ohm;": mkEntityVal("\U000003A9"),
+ "oint;": mkEntityVal("\U0000222E"),
+ "olarr;": mkEntityVal("\U000021BA"),
+ "olcir;": mkEntityVal("\U000029BE"),
+ "olcross;": mkEntityVal("\U000029BB"),
+ "oline;": mkEntityVal("\U0000203E"),
+ "olt;": mkEntityVal("\U000029C0"),
+ "omacr;": mkEntityVal("\U0000014D"),
+ "omega;": mkEntityVal("\U000003C9"),
+ "omicron;": mkEntityVal("\U000003BF"),
+ "omid;": mkEntityVal("\U000029B6"),
+ "ominus;": mkEntityVal("\U00002296"),
+ "oopf;": mkEntityVal("\U0001D560"),
+ "opar;": mkEntityVal("\U000029B7"),
+ "operp;": mkEntityVal("\U000029B9"),
+ "oplus;": mkEntityVal("\U00002295"),
+ "or;": mkEntityVal("\U00002228"),
+ "orarr;": mkEntityVal("\U000021BB"),
+ "ord;": mkEntityVal("\U00002A5D"),
+ "order;": mkEntityVal("\U00002134"),
+ "orderof;": mkEntityVal("\U00002134"),
+ "ordf;": mkEntityVal("\U000000AA"),
+ "ordm;": mkEntityVal("\U000000BA"),
+ "origof;": mkEntityVal("\U000022B6"),
+ "oror;": mkEntityVal("\U00002A56"),
+ "orslope;": mkEntityVal("\U00002A57"),
+ "orv;": mkEntityVal("\U00002A5B"),
+ "oscr;": mkEntityVal("\U00002134"),
+ "oslash;": mkEntityVal("\U000000F8"),
+ "osol;": mkEntityVal("\U00002298"),
+ "otilde;": mkEntityVal("\U000000F5"),
+ "otimes;": mkEntityVal("\U00002297"),
+ "otimesas;": mkEntityVal("\U00002A36"),
+ "ouml;": mkEntityVal("\U000000F6"),
+ "ovbar;": mkEntityVal("\U0000233D"),
+ "par;": mkEntityVal("\U00002225"),
+ "para;": mkEntityVal("\U000000B6"),
+ "parallel;": mkEntityVal("\U00002225"),
+ "parsim;": mkEntityVal("\U00002AF3"),
+ "parsl;": mkEntityVal("\U00002AFD"),
+ "part;": mkEntityVal("\U00002202"),
+ "pcy;": mkEntityVal("\U0000043F"),
+ "percnt;": mkEntityVal("\U00000025"),
+ "period;": mkEntityVal("\U0000002E"),
+ "permil;": mkEntityVal("\U00002030"),
+ "perp;": mkEntityVal("\U000022A5"),
+ "pertenk;": mkEntityVal("\U00002031"),
+ "pfr;": mkEntityVal("\U0001D52D"),
+ "phi;": mkEntityVal("\U000003C6"),
+ "phiv;": mkEntityVal("\U000003D5"),
+ "phmmat;": mkEntityVal("\U00002133"),
+ "phone;": mkEntityVal("\U0000260E"),
+ "pi;": mkEntityVal("\U000003C0"),
+ "pitchfork;": mkEntityVal("\U000022D4"),
+ "piv;": mkEntityVal("\U000003D6"),
+ "planck;": mkEntityVal("\U0000210F"),
+ "planckh;": mkEntityVal("\U0000210E"),
+ "plankv;": mkEntityVal("\U0000210F"),
+ "plus;": mkEntityVal("\U0000002B"),
+ "plusacir;": mkEntityVal("\U00002A23"),
+ "plusb;": mkEntityVal("\U0000229E"),
+ "pluscir;": mkEntityVal("\U00002A22"),
+ "plusdo;": mkEntityVal("\U00002214"),
+ "plusdu;": mkEntityVal("\U00002A25"),
+ "pluse;": mkEntityVal("\U00002A72"),
+ "plusmn;": mkEntityVal("\U000000B1"),
+ "plussim;": mkEntityVal("\U00002A26"),
+ "plustwo;": mkEntityVal("\U00002A27"),
+ "pm;": mkEntityVal("\U000000B1"),
+ "pointint;": mkEntityVal("\U00002A15"),
+ "popf;": mkEntityVal("\U0001D561"),
+ "pound;": mkEntityVal("\U000000A3"),
+ "pr;": mkEntityVal("\U0000227A"),
+ "prE;": mkEntityVal("\U00002AB3"),
+ "prap;": mkEntityVal("\U00002AB7"),
+ "prcue;": mkEntityVal("\U0000227C"),
+ "pre;": mkEntityVal("\U00002AAF"),
+ "prec;": mkEntityVal("\U0000227A"),
+ "precapprox;": mkEntityVal("\U00002AB7"),
+ "preccurlyeq;": mkEntityVal("\U0000227C"),
+ "preceq;": mkEntityVal("\U00002AAF"),
+ "precnapprox;": mkEntityVal("\U00002AB9"),
+ "precneqq;": mkEntityVal("\U00002AB5"),
+ "precnsim;": mkEntityVal("\U000022E8"),
+ "precsim;": mkEntityVal("\U0000227E"),
+ "prime;": mkEntityVal("\U00002032"),
+ "primes;": mkEntityVal("\U00002119"),
+ "prnE;": mkEntityVal("\U00002AB5"),
+ "prnap;": mkEntityVal("\U00002AB9"),
+ "prnsim;": mkEntityVal("\U000022E8"),
+ "prod;": mkEntityVal("\U0000220F"),
+ "profalar;": mkEntityVal("\U0000232E"),
+ "profline;": mkEntityVal("\U00002312"),
+ "profsurf;": mkEntityVal("\U00002313"),
+ "prop;": mkEntityVal("\U0000221D"),
+ "propto;": mkEntityVal("\U0000221D"),
+ "prsim;": mkEntityVal("\U0000227E"),
+ "prurel;": mkEntityVal("\U000022B0"),
+ "pscr;": mkEntityVal("\U0001D4C5"),
+ "psi;": mkEntityVal("\U000003C8"),
+ "puncsp;": mkEntityVal("\U00002008"),
+ "qfr;": mkEntityVal("\U0001D52E"),
+ "qint;": mkEntityVal("\U00002A0C"),
+ "qopf;": mkEntityVal("\U0001D562"),
+ "qprime;": mkEntityVal("\U00002057"),
+ "qscr;": mkEntityVal("\U0001D4C6"),
+ "quaternions;": mkEntityVal("\U0000210D"),
+ "quatint;": mkEntityVal("\U00002A16"),
+ "quest;": mkEntityVal("\U0000003F"),
+ "questeq;": mkEntityVal("\U0000225F"),
+ "quot;": mkEntityVal("\U00000022"),
+ "rAarr;": mkEntityVal("\U000021DB"),
+ "rArr;": mkEntityVal("\U000021D2"),
+ "rAtail;": mkEntityVal("\U0000291C"),
+ "rBarr;": mkEntityVal("\U0000290F"),
+ "rHar;": mkEntityVal("\U00002964"),
+ "racute;": mkEntityVal("\U00000155"),
+ "radic;": mkEntityVal("\U0000221A"),
+ "raemptyv;": mkEntityVal("\U000029B3"),
+ "rang;": mkEntityVal("\U000027E9"),
+ "rangd;": mkEntityVal("\U00002992"),
+ "range;": mkEntityVal("\U000029A5"),
+ "rangle;": mkEntityVal("\U000027E9"),
+ "raquo;": mkEntityVal("\U000000BB"),
+ "rarr;": mkEntityVal("\U00002192"),
+ "rarrap;": mkEntityVal("\U00002975"),
+ "rarrb;": mkEntityVal("\U000021E5"),
+ "rarrbfs;": mkEntityVal("\U00002920"),
+ "rarrc;": mkEntityVal("\U00002933"),
+ "rarrfs;": mkEntityVal("\U0000291E"),
+ "rarrhk;": mkEntityVal("\U000021AA"),
+ "rarrlp;": mkEntityVal("\U000021AC"),
+ "rarrpl;": mkEntityVal("\U00002945"),
+ "rarrsim;": mkEntityVal("\U00002974"),
+ "rarrtl;": mkEntityVal("\U000021A3"),
+ "rarrw;": mkEntityVal("\U0000219D"),
+ "ratail;": mkEntityVal("\U0000291A"),
+ "ratio;": mkEntityVal("\U00002236"),
+ "rationals;": mkEntityVal("\U0000211A"),
+ "rbarr;": mkEntityVal("\U0000290D"),
+ "rbbrk;": mkEntityVal("\U00002773"),
+ "rbrace;": mkEntityVal("\U0000007D"),
+ "rbrack;": mkEntityVal("\U0000005D"),
+ "rbrke;": mkEntityVal("\U0000298C"),
+ "rbrksld;": mkEntityVal("\U0000298E"),
+ "rbrkslu;": mkEntityVal("\U00002990"),
+ "rcaron;": mkEntityVal("\U00000159"),
+ "rcedil;": mkEntityVal("\U00000157"),
+ "rceil;": mkEntityVal("\U00002309"),
+ "rcub;": mkEntityVal("\U0000007D"),
+ "rcy;": mkEntityVal("\U00000440"),
+ "rdca;": mkEntityVal("\U00002937"),
+ "rdldhar;": mkEntityVal("\U00002969"),
+ "rdquo;": mkEntityVal("\U0000201D"),
+ "rdquor;": mkEntityVal("\U0000201D"),
+ "rdsh;": mkEntityVal("\U000021B3"),
+ "real;": mkEntityVal("\U0000211C"),
+ "realine;": mkEntityVal("\U0000211B"),
+ "realpart;": mkEntityVal("\U0000211C"),
+ "reals;": mkEntityVal("\U0000211D"),
+ "rect;": mkEntityVal("\U000025AD"),
+ "reg;": mkEntityVal("\U000000AE"),
+ "rfisht;": mkEntityVal("\U0000297D"),
+ "rfloor;": mkEntityVal("\U0000230B"),
+ "rfr;": mkEntityVal("\U0001D52F"),
+ "rhard;": mkEntityVal("\U000021C1"),
+ "rharu;": mkEntityVal("\U000021C0"),
+ "rharul;": mkEntityVal("\U0000296C"),
+ "rho;": mkEntityVal("\U000003C1"),
+ "rhov;": mkEntityVal("\U000003F1"),
+ "rightarrow;": mkEntityVal("\U00002192"),
+ "rightarrowtail;": mkEntityVal("\U000021A3"),
+ "rightharpoondown;": mkEntityVal("\U000021C1"),
+ "rightharpoonup;": mkEntityVal("\U000021C0"),
+ "rightleftarrows;": mkEntityVal("\U000021C4"),
+ "rightleftharpoons;": mkEntityVal("\U000021CC"),
+ "rightrightarrows;": mkEntityVal("\U000021C9"),
+ "rightsquigarrow;": mkEntityVal("\U0000219D"),
+ "rightthreetimes;": mkEntityVal("\U000022CC"),
+ "ring;": mkEntityVal("\U000002DA"),
+ "risingdotseq;": mkEntityVal("\U00002253"),
+ "rlarr;": mkEntityVal("\U000021C4"),
+ "rlhar;": mkEntityVal("\U000021CC"),
+ "rlm;": mkEntityVal("\U0000200F"),
+ "rmoust;": mkEntityVal("\U000023B1"),
+ "rmoustache;": mkEntityVal("\U000023B1"),
+ "rnmid;": mkEntityVal("\U00002AEE"),
+ "roang;": mkEntityVal("\U000027ED"),
+ "roarr;": mkEntityVal("\U000021FE"),
+ "robrk;": mkEntityVal("\U000027E7"),
+ "ropar;": mkEntityVal("\U00002986"),
+ "ropf;": mkEntityVal("\U0001D563"),
+ "roplus;": mkEntityVal("\U00002A2E"),
+ "rotimes;": mkEntityVal("\U00002A35"),
+ "rpar;": mkEntityVal("\U00000029"),
+ "rpargt;": mkEntityVal("\U00002994"),
+ "rppolint;": mkEntityVal("\U00002A12"),
+ "rrarr;": mkEntityVal("\U000021C9"),
+ "rsaquo;": mkEntityVal("\U0000203A"),
+ "rscr;": mkEntityVal("\U0001D4C7"),
+ "rsh;": mkEntityVal("\U000021B1"),
+ "rsqb;": mkEntityVal("\U0000005D"),
+ "rsquo;": mkEntityVal("\U00002019"),
+ "rsquor;": mkEntityVal("\U00002019"),
+ "rthree;": mkEntityVal("\U000022CC"),
+ "rtimes;": mkEntityVal("\U000022CA"),
+ "rtri;": mkEntityVal("\U000025B9"),
+ "rtrie;": mkEntityVal("\U000022B5"),
+ "rtrif;": mkEntityVal("\U000025B8"),
+ "rtriltri;": mkEntityVal("\U000029CE"),
+ "ruluhar;": mkEntityVal("\U00002968"),
+ "rx;": mkEntityVal("\U0000211E"),
+ "sacute;": mkEntityVal("\U0000015B"),
+ "sbquo;": mkEntityVal("\U0000201A"),
+ "sc;": mkEntityVal("\U0000227B"),
+ "scE;": mkEntityVal("\U00002AB4"),
+ "scap;": mkEntityVal("\U00002AB8"),
+ "scaron;": mkEntityVal("\U00000161"),
+ "sccue;": mkEntityVal("\U0000227D"),
+ "sce;": mkEntityVal("\U00002AB0"),
+ "scedil;": mkEntityVal("\U0000015F"),
+ "scirc;": mkEntityVal("\U0000015D"),
+ "scnE;": mkEntityVal("\U00002AB6"),
+ "scnap;": mkEntityVal("\U00002ABA"),
+ "scnsim;": mkEntityVal("\U000022E9"),
+ "scpolint;": mkEntityVal("\U00002A13"),
+ "scsim;": mkEntityVal("\U0000227F"),
+ "scy;": mkEntityVal("\U00000441"),
+ "sdot;": mkEntityVal("\U000022C5"),
+ "sdotb;": mkEntityVal("\U000022A1"),
+ "sdote;": mkEntityVal("\U00002A66"),
+ "seArr;": mkEntityVal("\U000021D8"),
+ "searhk;": mkEntityVal("\U00002925"),
+ "searr;": mkEntityVal("\U00002198"),
+ "searrow;": mkEntityVal("\U00002198"),
+ "sect;": mkEntityVal("\U000000A7"),
+ "semi;": mkEntityVal("\U0000003B"),
+ "seswar;": mkEntityVal("\U00002929"),
+ "setminus;": mkEntityVal("\U00002216"),
+ "setmn;": mkEntityVal("\U00002216"),
+ "sext;": mkEntityVal("\U00002736"),
+ "sfr;": mkEntityVal("\U0001D530"),
+ "sfrown;": mkEntityVal("\U00002322"),
+ "sharp;": mkEntityVal("\U0000266F"),
+ "shchcy;": mkEntityVal("\U00000449"),
+ "shcy;": mkEntityVal("\U00000448"),
+ "shortmid;": mkEntityVal("\U00002223"),
+ "shortparallel;": mkEntityVal("\U00002225"),
+ "shy;": mkEntityVal("\U000000AD"),
+ "sigma;": mkEntityVal("\U000003C3"),
+ "sigmaf;": mkEntityVal("\U000003C2"),
+ "sigmav;": mkEntityVal("\U000003C2"),
+ "sim;": mkEntityVal("\U0000223C"),
+ "simdot;": mkEntityVal("\U00002A6A"),
+ "sime;": mkEntityVal("\U00002243"),
+ "simeq;": mkEntityVal("\U00002243"),
+ "simg;": mkEntityVal("\U00002A9E"),
+ "simgE;": mkEntityVal("\U00002AA0"),
+ "siml;": mkEntityVal("\U00002A9D"),
+ "simlE;": mkEntityVal("\U00002A9F"),
+ "simne;": mkEntityVal("\U00002246"),
+ "simplus;": mkEntityVal("\U00002A24"),
+ "simrarr;": mkEntityVal("\U00002972"),
+ "slarr;": mkEntityVal("\U00002190"),
+ "smallsetminus;": mkEntityVal("\U00002216"),
+ "smashp;": mkEntityVal("\U00002A33"),
+ "smeparsl;": mkEntityVal("\U000029E4"),
+ "smid;": mkEntityVal("\U00002223"),
+ "smile;": mkEntityVal("\U00002323"),
+ "smt;": mkEntityVal("\U00002AAA"),
+ "smte;": mkEntityVal("\U00002AAC"),
+ "softcy;": mkEntityVal("\U0000044C"),
+ "sol;": mkEntityVal("\U0000002F"),
+ "solb;": mkEntityVal("\U000029C4"),
+ "solbar;": mkEntityVal("\U0000233F"),
+ "sopf;": mkEntityVal("\U0001D564"),
+ "spades;": mkEntityVal("\U00002660"),
+ "spadesuit;": mkEntityVal("\U00002660"),
+ "spar;": mkEntityVal("\U00002225"),
+ "sqcap;": mkEntityVal("\U00002293"),
+ "sqcup;": mkEntityVal("\U00002294"),
+ "sqsub;": mkEntityVal("\U0000228F"),
+ "sqsube;": mkEntityVal("\U00002291"),
+ "sqsubset;": mkEntityVal("\U0000228F"),
+ "sqsubseteq;": mkEntityVal("\U00002291"),
+ "sqsup;": mkEntityVal("\U00002290"),
+ "sqsupe;": mkEntityVal("\U00002292"),
+ "sqsupset;": mkEntityVal("\U00002290"),
+ "sqsupseteq;": mkEntityVal("\U00002292"),
+ "squ;": mkEntityVal("\U000025A1"),
+ "square;": mkEntityVal("\U000025A1"),
+ "squarf;": mkEntityVal("\U000025AA"),
+ "squf;": mkEntityVal("\U000025AA"),
+ "srarr;": mkEntityVal("\U00002192"),
+ "sscr;": mkEntityVal("\U0001D4C8"),
+ "ssetmn;": mkEntityVal("\U00002216"),
+ "ssmile;": mkEntityVal("\U00002323"),
+ "sstarf;": mkEntityVal("\U000022C6"),
+ "star;": mkEntityVal("\U00002606"),
+ "starf;": mkEntityVal("\U00002605"),
+ "straightepsilon;": mkEntityVal("\U000003F5"),
+ "straightphi;": mkEntityVal("\U000003D5"),
+ "strns;": mkEntityVal("\U000000AF"),
+ "sub;": mkEntityVal("\U00002282"),
+ "subE;": mkEntityVal("\U00002AC5"),
+ "subdot;": mkEntityVal("\U00002ABD"),
+ "sube;": mkEntityVal("\U00002286"),
+ "subedot;": mkEntityVal("\U00002AC3"),
+ "submult;": mkEntityVal("\U00002AC1"),
+ "subnE;": mkEntityVal("\U00002ACB"),
+ "subne;": mkEntityVal("\U0000228A"),
+ "subplus;": mkEntityVal("\U00002ABF"),
+ "subrarr;": mkEntityVal("\U00002979"),
+ "subset;": mkEntityVal("\U00002282"),
+ "subseteq;": mkEntityVal("\U00002286"),
+ "subseteqq;": mkEntityVal("\U00002AC5"),
+ "subsetneq;": mkEntityVal("\U0000228A"),
+ "subsetneqq;": mkEntityVal("\U00002ACB"),
+ "subsim;": mkEntityVal("\U00002AC7"),
+ "subsub;": mkEntityVal("\U00002AD5"),
+ "subsup;": mkEntityVal("\U00002AD3"),
+ "succ;": mkEntityVal("\U0000227B"),
+ "succapprox;": mkEntityVal("\U00002AB8"),
+ "succcurlyeq;": mkEntityVal("\U0000227D"),
+ "succeq;": mkEntityVal("\U00002AB0"),
+ "succnapprox;": mkEntityVal("\U00002ABA"),
+ "succneqq;": mkEntityVal("\U00002AB6"),
+ "succnsim;": mkEntityVal("\U000022E9"),
+ "succsim;": mkEntityVal("\U0000227F"),
+ "sum;": mkEntityVal("\U00002211"),
+ "sung;": mkEntityVal("\U0000266A"),
+ "sup;": mkEntityVal("\U00002283"),
+ "sup1;": mkEntityVal("\U000000B9"),
+ "sup2;": mkEntityVal("\U000000B2"),
+ "sup3;": mkEntityVal("\U000000B3"),
+ "supE;": mkEntityVal("\U00002AC6"),
+ "supdot;": mkEntityVal("\U00002ABE"),
+ "supdsub;": mkEntityVal("\U00002AD8"),
+ "supe;": mkEntityVal("\U00002287"),
+ "supedot;": mkEntityVal("\U00002AC4"),
+ "suphsol;": mkEntityVal("\U000027C9"),
+ "suphsub;": mkEntityVal("\U00002AD7"),
+ "suplarr;": mkEntityVal("\U0000297B"),
+ "supmult;": mkEntityVal("\U00002AC2"),
+ "supnE;": mkEntityVal("\U00002ACC"),
+ "supne;": mkEntityVal("\U0000228B"),
+ "supplus;": mkEntityVal("\U00002AC0"),
+ "supset;": mkEntityVal("\U00002283"),
+ "supseteq;": mkEntityVal("\U00002287"),
+ "supseteqq;": mkEntityVal("\U00002AC6"),
+ "supsetneq;": mkEntityVal("\U0000228B"),
+ "supsetneqq;": mkEntityVal("\U00002ACC"),
+ "supsim;": mkEntityVal("\U00002AC8"),
+ "supsub;": mkEntityVal("\U00002AD4"),
+ "supsup;": mkEntityVal("\U00002AD6"),
+ "swArr;": mkEntityVal("\U000021D9"),
+ "swarhk;": mkEntityVal("\U00002926"),
+ "swarr;": mkEntityVal("\U00002199"),
+ "swarrow;": mkEntityVal("\U00002199"),
+ "swnwar;": mkEntityVal("\U0000292A"),
+ "szlig;": mkEntityVal("\U000000DF"),
+ "target;": mkEntityVal("\U00002316"),
+ "tau;": mkEntityVal("\U000003C4"),
+ "tbrk;": mkEntityVal("\U000023B4"),
+ "tcaron;": mkEntityVal("\U00000165"),
+ "tcedil;": mkEntityVal("\U00000163"),
+ "tcy;": mkEntityVal("\U00000442"),
+ "tdot;": mkEntityVal("\U000020DB"),
+ "telrec;": mkEntityVal("\U00002315"),
+ "tfr;": mkEntityVal("\U0001D531"),
+ "there4;": mkEntityVal("\U00002234"),
+ "therefore;": mkEntityVal("\U00002234"),
+ "theta;": mkEntityVal("\U000003B8"),
+ "thetasym;": mkEntityVal("\U000003D1"),
+ "thetav;": mkEntityVal("\U000003D1"),
+ "thickapprox;": mkEntityVal("\U00002248"),
+ "thicksim;": mkEntityVal("\U0000223C"),
+ "thinsp;": mkEntityVal("\U00002009"),
+ "thkap;": mkEntityVal("\U00002248"),
+ "thksim;": mkEntityVal("\U0000223C"),
+ "thorn;": mkEntityVal("\U000000FE"),
+ "tilde;": mkEntityVal("\U000002DC"),
+ "times;": mkEntityVal("\U000000D7"),
+ "timesb;": mkEntityVal("\U000022A0"),
+ "timesbar;": mkEntityVal("\U00002A31"),
+ "timesd;": mkEntityVal("\U00002A30"),
+ "tint;": mkEntityVal("\U0000222D"),
+ "toea;": mkEntityVal("\U00002928"),
+ "top;": mkEntityVal("\U000022A4"),
+ "topbot;": mkEntityVal("\U00002336"),
+ "topcir;": mkEntityVal("\U00002AF1"),
+ "topf;": mkEntityVal("\U0001D565"),
+ "topfork;": mkEntityVal("\U00002ADA"),
+ "tosa;": mkEntityVal("\U00002929"),
+ "tprime;": mkEntityVal("\U00002034"),
+ "trade;": mkEntityVal("\U00002122"),
+ "triangle;": mkEntityVal("\U000025B5"),
+ "triangledown;": mkEntityVal("\U000025BF"),
+ "triangleleft;": mkEntityVal("\U000025C3"),
+ "trianglelefteq;": mkEntityVal("\U000022B4"),
+ "triangleq;": mkEntityVal("\U0000225C"),
+ "triangleright;": mkEntityVal("\U000025B9"),
+ "trianglerighteq;": mkEntityVal("\U000022B5"),
+ "tridot;": mkEntityVal("\U000025EC"),
+ "trie;": mkEntityVal("\U0000225C"),
+ "triminus;": mkEntityVal("\U00002A3A"),
+ "triplus;": mkEntityVal("\U00002A39"),
+ "trisb;": mkEntityVal("\U000029CD"),
+ "tritime;": mkEntityVal("\U00002A3B"),
+ "trpezium;": mkEntityVal("\U000023E2"),
+ "tscr;": mkEntityVal("\U0001D4C9"),
+ "tscy;": mkEntityVal("\U00000446"),
+ "tshcy;": mkEntityVal("\U0000045B"),
+ "tstrok;": mkEntityVal("\U00000167"),
+ "twixt;": mkEntityVal("\U0000226C"),
+ "twoheadleftarrow;": mkEntityVal("\U0000219E"),
+ "twoheadrightarrow;": mkEntityVal("\U000021A0"),
+ "uArr;": mkEntityVal("\U000021D1"),
+ "uHar;": mkEntityVal("\U00002963"),
+ "uacute;": mkEntityVal("\U000000FA"),
+ "uarr;": mkEntityVal("\U00002191"),
+ "ubrcy;": mkEntityVal("\U0000045E"),
+ "ubreve;": mkEntityVal("\U0000016D"),
+ "ucirc;": mkEntityVal("\U000000FB"),
+ "ucy;": mkEntityVal("\U00000443"),
+ "udarr;": mkEntityVal("\U000021C5"),
+ "udblac;": mkEntityVal("\U00000171"),
+ "udhar;": mkEntityVal("\U0000296E"),
+ "ufisht;": mkEntityVal("\U0000297E"),
+ "ufr;": mkEntityVal("\U0001D532"),
+ "ugrave;": mkEntityVal("\U000000F9"),
+ "uharl;": mkEntityVal("\U000021BF"),
+ "uharr;": mkEntityVal("\U000021BE"),
+ "uhblk;": mkEntityVal("\U00002580"),
+ "ulcorn;": mkEntityVal("\U0000231C"),
+ "ulcorner;": mkEntityVal("\U0000231C"),
+ "ulcrop;": mkEntityVal("\U0000230F"),
+ "ultri;": mkEntityVal("\U000025F8"),
+ "umacr;": mkEntityVal("\U0000016B"),
+ "uml;": mkEntityVal("\U000000A8"),
+ "uogon;": mkEntityVal("\U00000173"),
+ "uopf;": mkEntityVal("\U0001D566"),
+ "uparrow;": mkEntityVal("\U00002191"),
+ "updownarrow;": mkEntityVal("\U00002195"),
+ "upharpoonleft;": mkEntityVal("\U000021BF"),
+ "upharpoonright;": mkEntityVal("\U000021BE"),
+ "uplus;": mkEntityVal("\U0000228E"),
+ "upsi;": mkEntityVal("\U000003C5"),
+ "upsih;": mkEntityVal("\U000003D2"),
+ "upsilon;": mkEntityVal("\U000003C5"),
+ "upuparrows;": mkEntityVal("\U000021C8"),
+ "urcorn;": mkEntityVal("\U0000231D"),
+ "urcorner;": mkEntityVal("\U0000231D"),
+ "urcrop;": mkEntityVal("\U0000230E"),
+ "uring;": mkEntityVal("\U0000016F"),
+ "urtri;": mkEntityVal("\U000025F9"),
+ "uscr;": mkEntityVal("\U0001D4CA"),
+ "utdot;": mkEntityVal("\U000022F0"),
+ "utilde;": mkEntityVal("\U00000169"),
+ "utri;": mkEntityVal("\U000025B5"),
+ "utrif;": mkEntityVal("\U000025B4"),
+ "uuarr;": mkEntityVal("\U000021C8"),
+ "uuml;": mkEntityVal("\U000000FC"),
+ "uwangle;": mkEntityVal("\U000029A7"),
+ "vArr;": mkEntityVal("\U000021D5"),
+ "vBar;": mkEntityVal("\U00002AE8"),
+ "vBarv;": mkEntityVal("\U00002AE9"),
+ "vDash;": mkEntityVal("\U000022A8"),
+ "vangrt;": mkEntityVal("\U0000299C"),
+ "varepsilon;": mkEntityVal("\U000003F5"),
+ "varkappa;": mkEntityVal("\U000003F0"),
+ "varnothing;": mkEntityVal("\U00002205"),
+ "varphi;": mkEntityVal("\U000003D5"),
+ "varpi;": mkEntityVal("\U000003D6"),
+ "varpropto;": mkEntityVal("\U0000221D"),
+ "varr;": mkEntityVal("\U00002195"),
+ "varrho;": mkEntityVal("\U000003F1"),
+ "varsigma;": mkEntityVal("\U000003C2"),
+ "vartheta;": mkEntityVal("\U000003D1"),
+ "vartriangleleft;": mkEntityVal("\U000022B2"),
+ "vartriangleright;": mkEntityVal("\U000022B3"),
+ "vcy;": mkEntityVal("\U00000432"),
+ "vdash;": mkEntityVal("\U000022A2"),
+ "vee;": mkEntityVal("\U00002228"),
+ "veebar;": mkEntityVal("\U000022BB"),
+ "veeeq;": mkEntityVal("\U0000225A"),
+ "vellip;": mkEntityVal("\U000022EE"),
+ "verbar;": mkEntityVal("\U0000007C"),
+ "vert;": mkEntityVal("\U0000007C"),
+ "vfr;": mkEntityVal("\U0001D533"),
+ "vltri;": mkEntityVal("\U000022B2"),
+ "vopf;": mkEntityVal("\U0001D567"),
+ "vprop;": mkEntityVal("\U0000221D"),
+ "vrtri;": mkEntityVal("\U000022B3"),
+ "vscr;": mkEntityVal("\U0001D4CB"),
+ "vzigzag;": mkEntityVal("\U0000299A"),
+ "wcirc;": mkEntityVal("\U00000175"),
+ "wedbar;": mkEntityVal("\U00002A5F"),
+ "wedge;": mkEntityVal("\U00002227"),
+ "wedgeq;": mkEntityVal("\U00002259"),
+ "weierp;": mkEntityVal("\U00002118"),
+ "wfr;": mkEntityVal("\U0001D534"),
+ "wopf;": mkEntityVal("\U0001D568"),
+ "wp;": mkEntityVal("\U00002118"),
+ "wr;": mkEntityVal("\U00002240"),
+ "wreath;": mkEntityVal("\U00002240"),
+ "wscr;": mkEntityVal("\U0001D4CC"),
+ "xcap;": mkEntityVal("\U000022C2"),
+ "xcirc;": mkEntityVal("\U000025EF"),
+ "xcup;": mkEntityVal("\U000022C3"),
+ "xdtri;": mkEntityVal("\U000025BD"),
+ "xfr;": mkEntityVal("\U0001D535"),
+ "xhArr;": mkEntityVal("\U000027FA"),
+ "xharr;": mkEntityVal("\U000027F7"),
+ "xi;": mkEntityVal("\U000003BE"),
+ "xlArr;": mkEntityVal("\U000027F8"),
+ "xlarr;": mkEntityVal("\U000027F5"),
+ "xmap;": mkEntityVal("\U000027FC"),
+ "xnis;": mkEntityVal("\U000022FB"),
+ "xodot;": mkEntityVal("\U00002A00"),
+ "xopf;": mkEntityVal("\U0001D569"),
+ "xoplus;": mkEntityVal("\U00002A01"),
+ "xotime;": mkEntityVal("\U00002A02"),
+ "xrArr;": mkEntityVal("\U000027F9"),
+ "xrarr;": mkEntityVal("\U000027F6"),
+ "xscr;": mkEntityVal("\U0001D4CD"),
+ "xsqcup;": mkEntityVal("\U00002A06"),
+ "xuplus;": mkEntityVal("\U00002A04"),
+ "xutri;": mkEntityVal("\U000025B3"),
+ "xvee;": mkEntityVal("\U000022C1"),
+ "xwedge;": mkEntityVal("\U000022C0"),
+ "yacute;": mkEntityVal("\U000000FD"),
+ "yacy;": mkEntityVal("\U0000044F"),
+ "ycirc;": mkEntityVal("\U00000177"),
+ "ycy;": mkEntityVal("\U0000044B"),
+ "yen;": mkEntityVal("\U000000A5"),
+ "yfr;": mkEntityVal("\U0001D536"),
+ "yicy;": mkEntityVal("\U00000457"),
+ "yopf;": mkEntityVal("\U0001D56A"),
+ "yscr;": mkEntityVal("\U0001D4CE"),
+ "yucy;": mkEntityVal("\U0000044E"),
+ "yuml;": mkEntityVal("\U000000FF"),
+ "zacute;": mkEntityVal("\U0000017A"),
+ "zcaron;": mkEntityVal("\U0000017E"),
+ "zcy;": mkEntityVal("\U00000437"),
+ "zdot;": mkEntityVal("\U0000017C"),
+ "zeetrf;": mkEntityVal("\U00002128"),
+ "zeta;": mkEntityVal("\U000003B6"),
+ "zfr;": mkEntityVal("\U0001D537"),
+ "zhcy;": mkEntityVal("\U00000436"),
+ "zigrarr;": mkEntityVal("\U000021DD"),
+ "zopf;": mkEntityVal("\U0001D56B"),
+ "zscr;": mkEntityVal("\U0001D4CF"),
+ "zwj;": mkEntityVal("\U0000200D"),
+ "zwnj;": mkEntityVal("\U0000200C"),
+ "AElig": mkEntityVal("\U000000C6"),
+ "AMP": mkEntityVal("\U00000026"),
+ "Aacute": mkEntityVal("\U000000C1"),
+ "Acirc": mkEntityVal("\U000000C2"),
+ "Agrave": mkEntityVal("\U000000C0"),
+ "Aring": mkEntityVal("\U000000C5"),
+ "Atilde": mkEntityVal("\U000000C3"),
+ "Auml": mkEntityVal("\U000000C4"),
+ "COPY": mkEntityVal("\U000000A9"),
+ "Ccedil": mkEntityVal("\U000000C7"),
+ "ETH": mkEntityVal("\U000000D0"),
+ "Eacute": mkEntityVal("\U000000C9"),
+ "Ecirc": mkEntityVal("\U000000CA"),
+ "Egrave": mkEntityVal("\U000000C8"),
+ "Euml": mkEntityVal("\U000000CB"),
+ "GT": mkEntityVal("\U0000003E"),
+ "Iacute": mkEntityVal("\U000000CD"),
+ "Icirc": mkEntityVal("\U000000CE"),
+ "Igrave": mkEntityVal("\U000000CC"),
+ "Iuml": mkEntityVal("\U000000CF"),
+ "LT": mkEntityVal("\U0000003C"),
+ "Ntilde": mkEntityVal("\U000000D1"),
+ "Oacute": mkEntityVal("\U000000D3"),
+ "Ocirc": mkEntityVal("\U000000D4"),
+ "Ograve": mkEntityVal("\U000000D2"),
+ "Oslash": mkEntityVal("\U000000D8"),
+ "Otilde": mkEntityVal("\U000000D5"),
+ "Ouml": mkEntityVal("\U000000D6"),
+ "QUOT": mkEntityVal("\U00000022"),
+ "REG": mkEntityVal("\U000000AE"),
+ "THORN": mkEntityVal("\U000000DE"),
+ "Uacute": mkEntityVal("\U000000DA"),
+ "Ucirc": mkEntityVal("\U000000DB"),
+ "Ugrave": mkEntityVal("\U000000D9"),
+ "Uuml": mkEntityVal("\U000000DC"),
+ "Yacute": mkEntityVal("\U000000DD"),
+ "aacute": mkEntityVal("\U000000E1"),
+ "acirc": mkEntityVal("\U000000E2"),
+ "acute": mkEntityVal("\U000000B4"),
+ "aelig": mkEntityVal("\U000000E6"),
+ "agrave": mkEntityVal("\U000000E0"),
+ "amp": mkEntityVal("\U00000026"),
+ "aring": mkEntityVal("\U000000E5"),
+ "atilde": mkEntityVal("\U000000E3"),
+ "auml": mkEntityVal("\U000000E4"),
+ "brvbar": mkEntityVal("\U000000A6"),
+ "ccedil": mkEntityVal("\U000000E7"),
+ "cedil": mkEntityVal("\U000000B8"),
+ "cent": mkEntityVal("\U000000A2"),
+ "copy": mkEntityVal("\U000000A9"),
+ "curren": mkEntityVal("\U000000A4"),
+ "deg": mkEntityVal("\U000000B0"),
+ "divide": mkEntityVal("\U000000F7"),
+ "eacute": mkEntityVal("\U000000E9"),
+ "ecirc": mkEntityVal("\U000000EA"),
+ "egrave": mkEntityVal("\U000000E8"),
+ "eth": mkEntityVal("\U000000F0"),
+ "euml": mkEntityVal("\U000000EB"),
+ "frac12": mkEntityVal("\U000000BD"),
+ "frac14": mkEntityVal("\U000000BC"),
+ "frac34": mkEntityVal("\U000000BE"),
+ "gt": mkEntityVal("\U0000003E"),
+ "iacute": mkEntityVal("\U000000ED"),
+ "icirc": mkEntityVal("\U000000EE"),
+ "iexcl": mkEntityVal("\U000000A1"),
+ "igrave": mkEntityVal("\U000000EC"),
+ "iquest": mkEntityVal("\U000000BF"),
+ "iuml": mkEntityVal("\U000000EF"),
+ "laquo": mkEntityVal("\U000000AB"),
+ "lt": mkEntityVal("\U0000003C"),
+ "macr": mkEntityVal("\U000000AF"),
+ "micro": mkEntityVal("\U000000B5"),
+ "middot": mkEntityVal("\U000000B7"),
+ "nbsp": mkEntityVal("\U000000A0"),
+ "not": mkEntityVal("\U000000AC"),
+ "ntilde": mkEntityVal("\U000000F1"),
+ "oacute": mkEntityVal("\U000000F3"),
+ "ocirc": mkEntityVal("\U000000F4"),
+ "ograve": mkEntityVal("\U000000F2"),
+ "ordf": mkEntityVal("\U000000AA"),
+ "ordm": mkEntityVal("\U000000BA"),
+ "oslash": mkEntityVal("\U000000F8"),
+ "otilde": mkEntityVal("\U000000F5"),
+ "ouml": mkEntityVal("\U000000F6"),
+ "para": mkEntityVal("\U000000B6"),
+ "plusmn": mkEntityVal("\U000000B1"),
+ "pound": mkEntityVal("\U000000A3"),
+ "quot": mkEntityVal("\U00000022"),
+ "raquo": mkEntityVal("\U000000BB"),
+ "reg": mkEntityVal("\U000000AE"),
+ "sect": mkEntityVal("\U000000A7"),
+ "shy": mkEntityVal("\U000000AD"),
+ "sup1": mkEntityVal("\U000000B9"),
+ "sup2": mkEntityVal("\U000000B2"),
+ "sup3": mkEntityVal("\U000000B3"),
+ "szlig": mkEntityVal("\U000000DF"),
+ "thorn": mkEntityVal("\U000000FE"),
+ "times": mkEntityVal("\U000000D7"),
+ "uacute": mkEntityVal("\U000000FA"),
+ "ucirc": mkEntityVal("\U000000FB"),
+ "ugrave": mkEntityVal("\U000000F9"),
+ "uml": mkEntityVal("\U000000A8"),
+ "uuml": mkEntityVal("\U000000FC"),
+ "yacute": mkEntityVal("\U000000FD"),
+ "yen": mkEntityVal("\U000000A5"),
+ "yuml": mkEntityVal("\U000000FF"),
+ "nLt;": mkEntityVal("\u226A\u20D2"),
+ "nGt;": mkEntityVal("\u226B\u20D2"),
+ "NotEqualTilde;": mkEntityVal("\u2242\u0338"),
+ "NotGreaterFullEqual;": mkEntityVal("\u2267\u0338"),
+ "NotGreaterGreater;": mkEntityVal("\u226B\u0338"),
+ "NotGreaterSlantEqual;": mkEntityVal("\u2A7E\u0338"),
+ "NotHumpDownHump;": mkEntityVal("\u224E\u0338"),
+ "NotHumpEqual;": mkEntityVal("\u224F\u0338"),
+ "NotLeftTriangleBar;": mkEntityVal("\u29CF\u0338"),
+ "NotLessLess;": mkEntityVal("\u226A\u0338"),
+ "NotLessSlantEqual;": mkEntityVal("\u2A7D\u0338"),
+ "NotNestedGreaterGreater;": mkEntityVal("\u2AA2\u0338"),
+ "NotNestedLessLess;": mkEntityVal("\u2AA1\u0338"),
+ "NotPrecedesEqual;": mkEntityVal("\u2AAF\u0338"),
+ "NotRightTriangleBar;": mkEntityVal("\u29D0\u0338"),
+ "NotSquareSubset;": mkEntityVal("\u228F\u0338"),
+ "NotSquareSuperset;": mkEntityVal("\u2290\u0338"),
+ "NotSubset;": mkEntityVal("\u2282\u20D2"),
+ "NotSucceedsEqual;": mkEntityVal("\u2AB0\u0338"),
+ "NotSucceedsTilde;": mkEntityVal("\u227F\u0338"),
+ "NotSuperset;": mkEntityVal("\u2283\u20D2"),
+ "ThickSpace;": mkEntityVal("\u205F\u200A"),
+ "acE;": mkEntityVal("\u223E\u0333"),
+ "bne;": mkEntityVal("\u003D\u20E5"),
+ "bnequiv;": mkEntityVal("\u2261\u20E5"),
+ "caps;": mkEntityVal("\u2229\uFE00"),
+ "cups;": mkEntityVal("\u222A\uFE00"),
+ "fjlig;": mkEntityVal("\u0066\u006A"),
+ "gesl;": mkEntityVal("\u22DB\uFE00"),
+ "gvertneqq;": mkEntityVal("\u2269\uFE00"),
+ "gvnE;": mkEntityVal("\u2269\uFE00"),
+ "lates;": mkEntityVal("\u2AAD\uFE00"),
+ "lesg;": mkEntityVal("\u22DA\uFE00"),
+ "lvertneqq;": mkEntityVal("\u2268\uFE00"),
+ "lvnE;": mkEntityVal("\u2268\uFE00"),
+ "nGg;": mkEntityVal("\u22D9\u0338"),
+ "nGtv;": mkEntityVal("\u226B\u0338"),
+ "nLl;": mkEntityVal("\u22D8\u0338"),
+ "nLtv;": mkEntityVal("\u226A\u0338"),
+ "nang;": mkEntityVal("\u2220\u20D2"),
+ "napE;": mkEntityVal("\u2A70\u0338"),
+ "napid;": mkEntityVal("\u224B\u0338"),
+ "nbump;": mkEntityVal("\u224E\u0338"),
+ "nbumpe;": mkEntityVal("\u224F\u0338"),
+ "ncongdot;": mkEntityVal("\u2A6D\u0338"),
+ "nedot;": mkEntityVal("\u2250\u0338"),
+ "nesim;": mkEntityVal("\u2242\u0338"),
+ "ngE;": mkEntityVal("\u2267\u0338"),
+ "ngeqq;": mkEntityVal("\u2267\u0338"),
+ "ngeqslant;": mkEntityVal("\u2A7E\u0338"),
+ "nges;": mkEntityVal("\u2A7E\u0338"),
+ "nlE;": mkEntityVal("\u2266\u0338"),
+ "nleqq;": mkEntityVal("\u2266\u0338"),
+ "nleqslant;": mkEntityVal("\u2A7D\u0338"),
+ "nles;": mkEntityVal("\u2A7D\u0338"),
+ "notinE;": mkEntityVal("\u22F9\u0338"),
+ "notindot;": mkEntityVal("\u22F5\u0338"),
+ "nparsl;": mkEntityVal("\u2AFD\u20E5"),
+ "npart;": mkEntityVal("\u2202\u0338"),
+ "npre;": mkEntityVal("\u2AAF\u0338"),
+ "npreceq;": mkEntityVal("\u2AAF\u0338"),
+ "nrarrc;": mkEntityVal("\u2933\u0338"),
+ "nrarrw;": mkEntityVal("\u219D\u0338"),
+ "nsce;": mkEntityVal("\u2AB0\u0338"),
+ "nsubE;": mkEntityVal("\u2AC5\u0338"),
+ "nsubset;": mkEntityVal("\u2282\u20D2"),
+ "nsubseteqq;": mkEntityVal("\u2AC5\u0338"),
+ "nsucceq;": mkEntityVal("\u2AB0\u0338"),
+ "nsupE;": mkEntityVal("\u2AC6\u0338"),
+ "nsupset;": mkEntityVal("\u2283\u20D2"),
+ "nsupseteqq;": mkEntityVal("\u2AC6\u0338"),
+ "nvap;": mkEntityVal("\u224D\u20D2"),
+ "nvge;": mkEntityVal("\u2265\u20D2"),
+ "nvgt;": mkEntityVal("\u003E\u20D2"),
+ "nvle;": mkEntityVal("\u2264\u20D2"),
+ "nvlt;": mkEntityVal("\u003C\u20D2"),
+ "nvltrie;": mkEntityVal("\u22B4\u20D2"),
+ "nvrtrie;": mkEntityVal("\u22B5\u20D2"),
+ "nvsim;": mkEntityVal("\u223C\u20D2"),
+ "race;": mkEntityVal("\u223D\u0331"),
+ "smtes;": mkEntityVal("\u2AAC\uFE00"),
+ "sqcaps;": mkEntityVal("\u2293\uFE00"),
+ "sqcups;": mkEntityVal("\u2294\uFE00"),
+ "varsubsetneq;": mkEntityVal("\u228A\uFE00"),
+ "varsubsetneqq;": mkEntityVal("\u2ACB\uFE00"),
+ "varsupsetneq;": mkEntityVal("\u228B\uFE00"),
+ "varsupsetneqq;": mkEntityVal("\u2ACC\uFE00"),
+ "vnsub;": mkEntityVal("\u2282\u20D2"),
+ "vnsup;": mkEntityVal("\u2283\u20D2"),
+ "vsubnE;": mkEntityVal("\u2ACB\uFE00"),
+ "vsubne;": mkEntityVal("\u228A\uFE00"),
+ "vsupnE;": mkEntityVal("\u2ACC\uFE00"),
+ "vsupne;": mkEntityVal("\u228B\uFE00"),
+ }
}
diff --git a/html/entity_test.go b/html/entity_test.go
index b53f866fa..716342d2c 100644
--- a/html/entity_test.go
+++ b/html/entity_test.go
@@ -6,24 +6,26 @@ package html
import (
"testing"
- "unicode/utf8"
)
+func init() {
+ UnescapeString("") // force load of entity maps
+}
+
func TestEntityLength(t *testing.T) {
- // We verify that the length of UTF-8 encoding of each value is <= 1 + len(key).
- // The +1 comes from the leading "&". This property implies that the length of
- // unescaped text is <= the length of escaped text.
+ if len(entity) == 0 {
+ t.Fatal("maps not loaded")
+ }
+
+ // We verify that the length of UTF-8 encoding of each value
+ // is no more than 1 + len("&"+key), which is an assuption
+ // made in unescapeEntity.
for k, v := range entity {
- if 1+len(k) < utf8.RuneLen(v) {
- t.Error("escaped entity &" + k + " is shorter than its UTF-8 encoding " + string(v))
+ if 2+len(k) < int(v[0]) {
+ t.Error("escaped entity &" + k + " is more than 1 byte shorter than its UTF-8 encoding " + string(v[1:1+v[0]]))
}
if len(k) > longestEntityWithoutSemicolon && k[len(k)-1] != ';' {
t.Errorf("entity name %s is %d characters, but longestEntityWithoutSemicolon=%d", k, len(k), longestEntityWithoutSemicolon)
}
}
- for k, v := range entity2 {
- if 1+len(k) < utf8.RuneLen(v[0])+utf8.RuneLen(v[1]) {
- t.Error("escaped entity &" + k + " is shorter than its UTF-8 encoding " + string(v[0]) + string(v[1]))
- }
- }
}
diff --git a/html/escape.go b/html/escape.go
index 04c6bec21..a03820a6a 100644
--- a/html/escape.go
+++ b/html/escape.go
@@ -12,7 +12,7 @@ import (
// These replacements permit compatibility with old numeric entities that
// assumed Windows-1252 encoding.
-// https://html.spec.whatwg.org/multipage/syntax.html#consume-a-character-reference
+// https://html.spec.whatwg.org/multipage/parsing.html#numeric-character-reference-end-state
var replacementTable = [...]rune{
'\u20AC', // First entry is what 0x80 should be replaced with.
'\u0081',
@@ -50,26 +50,32 @@ var replacementTable = [...]rune{
// 0x0D->'\u000D' is a no-op.
}
-// unescapeEntity reads an entity like "<" from b[src:] and writes the
-// corresponding "<" to b[dst:], returning the incremented dst and src cursors.
-// Precondition: b[src] == '&' && dst <= src.
+// unescapeEntity reads an entity like "<" from src[srcPos:] and
+// writes the corresponding "<" to dst[dstPos:], returning dst and the
+// incremented dstPos and srcPos cursors.
+//
+// Usually, the returned dst is the dst argument, but in the event
+// that dstPos>srcPos it may be a copy.
+//
+// Precondition: src[srcPos] == '&'.
+//
// attribute should be true if parsing an attribute value.
-func unescapeEntity(b []byte, dst, src int, attribute bool) (dst1, src1 int) {
- // https://html.spec.whatwg.org/multipage/syntax.html#consume-a-character-reference
+func unescapeEntity[S ~[]byte | string](dst []byte, src S, dstPos, srcPos int, attribute bool) (dst1 []byte, dstPos1, srcPos1 int) {
+ var dstIsSrc = len(dst) == len(src)
+
+ // https://html.spec.whatwg.org/multipage/parsing.html#character-reference-state
// i starts at 1 because we already know that s[0] == '&'.
- i, s := 1, b[src:]
+ i, s := 1, src[srcPos:]
- if len(s) <= 1 {
- b[dst] = b[src]
- return dst + 1, src + 1
+ // shortest possible entities are all 3 bytes:
+ // ">", "<", ">", "<", "" ... " "
+ if len(s) < 3 {
+ dst[dstPos] = src[srcPos]
+ return dst, dstPos + 1, srcPos + 1
}
if s[i] == '#' {
- if len(s) <= 3 { // We need to have at least ".".
- b[dst] = b[src]
- return dst + 1, src + 1
- }
i++
c := s[i]
hex := false
@@ -79,9 +85,17 @@ func unescapeEntity(b []byte, dst, src int, attribute bool) (dst1, src1 int) {
}
x := '\x00'
+ overflowed := false
for i < len(s) {
c = s[i]
i++
+ if x > 0x10FFFF {
+ // Make a note that we're above the maximum
+ // value, in case later we overflow the integer.
+ // Don't `break` though, we still want to
+ // consume the characters.
+ overflowed = true
+ }
if hex {
if '0' <= c && c <= '9' {
x = 16*x + rune(c) - '0'
@@ -102,10 +116,13 @@ func unescapeEntity(b []byte, dst, src int, attribute bool) (dst1, src1 int) {
}
break
}
+ if overflowed {
+ x = 0x110000
+ }
- if i <= 3 { // No characters matched.
- b[dst] = b[src]
- return dst + 1, src + 1
+ if i < 3 || (hex && i < 4) { // No characters matched.
+ dst[dstPos] = src[srcPos]
+ return dst, dstPos + 1, srcPos + 1
}
if 0x80 <= x && x <= 0x9F {
@@ -116,7 +133,7 @@ func unescapeEntity(b []byte, dst, src int, attribute bool) (dst1, src1 int) {
x = '\uFFFD'
}
- return dst + utf8.EncodeRune(b[dst:], x), src + i
+ return dst, dstPos + utf8.EncodeRune(dst[dstPos:], x), srcPos + i
}
// Consume the maximum number of characters possible, with the
@@ -135,52 +152,70 @@ func unescapeEntity(b []byte, dst, src int, attribute bool) (dst1, src1 int) {
break
}
- entityName := string(s[1:i])
- if entityName == "" {
+ entityName := s[1:i]
+ if len(entityName) == 0 {
// No-op.
} else if attribute && entityName[len(entityName)-1] != ';' && len(s) > i && s[i] == '=' {
// No-op.
- } else if x := entity[entityName]; x != 0 {
- return dst + utf8.EncodeRune(b[dst:], x), src + i
- } else if x := entity2[entityName]; x[0] != 0 {
- dst1 := dst + utf8.EncodeRune(b[dst:], x[0])
- return dst1 + utf8.EncodeRune(b[dst1:], x[1]), src + i
+ } else if x := entity[string(entityName)]; x[0] != 0 {
+ if int(x[0]) > i {
+ // This assumes that it only ever has to grow by 1 byte per entity.
+ if dstPos == srcPos && dstIsSrc {
+ // make a copy + grow
+ dst = append(dst[:len(dst):len(dst)], 0)
+ } else if dstPos+int(x[0]) >= len(dst) {
+ // grow, but don't necessarily make a copy
+ dst = append(dst, 0)
+ }
+ }
+ return dst, dstPos + copy(dst[dstPos:], x[1:1+x[0]]), srcPos + i
} else if !attribute {
maxLen := len(entityName) - 1
if maxLen > longestEntityWithoutSemicolon {
maxLen = longestEntityWithoutSemicolon
}
for j := maxLen; j > 1; j-- {
- if x := entity[entityName[:j]]; x != 0 {
- return dst + utf8.EncodeRune(b[dst:], x), src + j + 1
+ if x := entity[string(entityName[:j])]; x[0] != 0 {
+ // This assumes that no entity without a semicolon
+ // has a value that is wider than its name.
+ return dst, dstPos + copy(dst[dstPos:], x[1:1+x[0]]), srcPos + j + 1
}
}
}
- dst1, src1 = dst+i, src+i
- copy(b[dst:dst1], b[src:src1])
- return dst1, src1
+ dstPos1, srcPos1 = dstPos+i, srcPos+i
+ copy(dst[dstPos:dstPos1], src[srcPos:srcPos1])
+ return dst, dstPos1, srcPos1
}
// unescape unescapes b's entities in-place, so that "a<b" becomes "a 0 {
+ if b[src] == '&' {
+ i = 0
+ } else {
+ i = bytes.IndexByte(b[src:], '&')
+ }
+ if i < 0 {
+ dst += copy(b1[dst:], b[src:])
+ break
+ }
+
+ if i > 0 {
+ copy(b1[dst:], b[src:src+i])
}
+ b1, dst, src = unescapeEntity(b1, b, dst+i, src+i, attribute)
}
- return b
+ return b1[:dst]
}
// lower lower-cases the A-Z bytes in b in-place, so that "aBc" becomes "abc".
@@ -269,45 +304,22 @@ func escapeCommentString(s string) string {
if strings.IndexAny(s, "&>") == -1 {
return s
}
- var buf bytes.Buffer
+ var buf strings.Builder
escapeComment(&buf, s)
return buf.String()
}
-const escapedChars = "&'<>\"\r"
+var htmlEscaper = strings.NewReplacer(
+ `&`, "&",
+ `'`, "'", // "'" is shorter than "'" and apos was not in HTML until HTML5.
+ `<`, "<",
+ `>`, ">",
+ `"`, """, // """ is shorter than """.
+ "\r", "
",
+)
func escape(w writer, s string) error {
- i := strings.IndexAny(s, escapedChars)
- for i != -1 {
- if _, err := w.WriteString(s[:i]); err != nil {
- return err
- }
- var esc string
- switch s[i] {
- case '&':
- esc = "&"
- case '\'':
- // "'" is shorter than "'" and apos was not in HTML until HTML5.
- esc = "'"
- case '<':
- esc = "<"
- case '>':
- esc = ">"
- case '"':
- // """ is shorter than """.
- esc = """
- case '\r':
- esc = "
"
- default:
- panic("unrecognized escape character")
- }
- s = s[i+1:]
- if _, err := w.WriteString(esc); err != nil {
- return err
- }
- i = strings.IndexAny(s, escapedChars)
- }
- _, err := w.WriteString(s)
+ _, err := htmlEscaper.WriteString(w, s)
return err
}
@@ -316,24 +328,41 @@ func escape(w writer, s string) error {
// UnescapeString(EscapeString(s)) == s always holds, but the converse isn't
// always true.
func EscapeString(s string) string {
- if strings.IndexAny(s, escapedChars) == -1 {
- return s
- }
- var buf bytes.Buffer
- escape(&buf, s)
- return buf.String()
+ return htmlEscaper.Replace(s)
}
// UnescapeString unescapes entities like "<" to become "<". It unescapes a
// larger range of entities than EscapeString escapes. For example, "á"
-// unescapes to "á", as does "á" and "&xE1;".
+// unescapes to "á", as does "á" and "á".
// UnescapeString(EscapeString(s)) == s always holds, but the converse isn't
// always true.
func UnescapeString(s string) string {
- for _, c := range s {
- if c == '&' {
- return string(unescape([]byte(s), false))
+ populateMapOnce.Do(populateMap)
+ i := strings.IndexByte(s, '&')
+
+ if i < 0 {
+ return s
+ }
+
+ // The +1 is just so that dstIsSrc=false.
+ b := make([]byte, len(s)+1)
+ copy(b, s[:i])
+ b, dst, src := unescapeEntity(b, s, i, i, false)
+ for len(s[src:]) > 0 {
+ if s[src] == '&' {
+ i = 0
+ } else {
+ i = strings.IndexByte(s[src:], '&')
+ }
+ if i < 0 {
+ dst += copy(b[dst:], s[src:])
+ break
+ }
+
+ if i > 0 {
+ copy(b[dst:], s[src:src+i])
}
+ b, dst, src = unescapeEntity(b, s, dst+i, src+i, false)
}
- return s
+ return string(b[:dst])
}
diff --git a/html/escape_example_test.go b/html/escape_example_test.go
new file mode 100644
index 000000000..0e28cac1b
--- /dev/null
+++ b/html/escape_example_test.go
@@ -0,0 +1,22 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package html_test
+
+import (
+ "fmt"
+ "html"
+)
+
+func ExampleEscapeString() {
+ const s = `"Fran & Freddie's Diner" `
+ fmt.Println(html.EscapeString(s))
+ // Output: "Fran & Freddie's Diner" <tasty@example.com>
+}
+
+func ExampleUnescapeString() {
+ const s = `"Fran & Freddie's Diner" <tasty@example.com>`
+ fmt.Println(html.UnescapeString(s))
+ // Output: "Fran & Freddie's Diner"
+}
diff --git a/html/escape_test.go b/html/escape_test.go
index b405d4b4a..7b52c813b 100644
--- a/html/escape_test.go
+++ b/html/escape_test.go
@@ -4,7 +4,10 @@
package html
-import "testing"
+import (
+ "strings"
+ "testing"
+)
type unescapeTest struct {
// A short description of the test case.
@@ -64,13 +67,55 @@ var unescapeTests = []unescapeTest{
"Footnote",
"Footnote‡",
},
+ // Handle single ampersand.
+ {
+ "copySingleAmpersand",
+ "&",
+ "&",
+ },
+ // Handle ampersand followed by non-entity.
+ {
+ "copyAmpersandNonEntity",
+ "text &test",
+ "text &test",
+ },
+ // Handle "".
+ {
+ "copyAmpersandHash",
+ "text ",
+ "text ",
+ },
+ // Handle single-digit decimal values without a semicolon.
+ {
+ "singleDecimal",
+ " text ",
+ "\ufffd text \x01",
+ },
+ // Handle integer overflow.
+ {
+ "integerOverflow",
+ // These values overflow (u)int16, (u)int32, and
+ // (u)int64, respectively, to be "a".
+ " ",
+ "\U00010061 \ufffd \ufffd",
+ },
+ // Handle replacements that are wider than their names.
+ {
+ "wideReplacements",
+ "≪⃒ ≫⃒",
+ "\u226A\u20D2 \u226B\u20D2",
+ },
}
func TestUnescape(t *testing.T) {
for _, tt := range unescapeTests {
unescaped := UnescapeString(tt.html)
if unescaped != tt.unescaped {
- t.Errorf("TestUnescape %s: want %q, got %q", tt.desc, tt.unescaped, unescaped)
+ t.Errorf("TestUnescape %s: string: want %q, got %q", tt.desc, tt.unescaped, unescaped)
+ }
+ unescaped = string(unescape([]byte(tt.html), false))
+ if unescaped != tt.unescaped {
+ t.Errorf("TestUnescape %s: bytes: want %q, got %q", tt.desc, tt.unescaped, unescaped)
}
}
}
@@ -95,3 +140,54 @@ func TestUnescapeEscape(t *testing.T) {
}
}
}
+
+var (
+ benchEscapeData = strings.Repeat("AAAAA < BBBBB > CCCCC & DDDDD ' EEEEE \" ", 100)
+ benchEscapeNone = strings.Repeat("AAAAA x BBBBB x CCCCC x DDDDD x EEEEE x ", 100)
+ benchUnescapeSparse = strings.Repeat(strings.Repeat("AAAAA x BBBBB x CCCCC x DDDDD x EEEEE x ", 10)+"&", 10)
+ benchUnescapeDense = strings.Repeat("&< & <", 100)
+)
+
+func BenchmarkEscape(b *testing.B) {
+ n := 0
+ for i := 0; i < b.N; i++ {
+ n += len(EscapeString(benchEscapeData))
+ }
+}
+
+func BenchmarkEscapeNone(b *testing.B) {
+ n := 0
+ for i := 0; i < b.N; i++ {
+ n += len(EscapeString(benchEscapeNone))
+ }
+}
+
+func BenchmarkUnescape(b *testing.B) {
+ s := EscapeString(benchEscapeData)
+ n := 0
+ for i := 0; i < b.N; i++ {
+ n += len(UnescapeString(s))
+ }
+}
+
+func BenchmarkUnescapeNone(b *testing.B) {
+ s := EscapeString(benchEscapeNone)
+ n := 0
+ for i := 0; i < b.N; i++ {
+ n += len(UnescapeString(s))
+ }
+}
+
+func BenchmarkUnescapeSparse(b *testing.B) {
+ n := 0
+ for i := 0; i < b.N; i++ {
+ n += len(UnescapeString(benchUnescapeSparse))
+ }
+}
+
+func BenchmarkUnescapeDense(b *testing.B) {
+ n := 0
+ for i := 0; i < b.N; i++ {
+ n += len(UnescapeString(benchUnescapeDense))
+ }
+}
diff --git a/html/fuzz_test.go b/html/fuzz_test.go
new file mode 100644
index 000000000..6fd004ee8
--- /dev/null
+++ b/html/fuzz_test.go
@@ -0,0 +1,31 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package html
+
+import "testing"
+
+func FuzzEscapeUnescape(f *testing.F) {
+ f.Fuzz(func(t *testing.T, v string) {
+ e := EscapeString(v)
+ u := UnescapeString(e)
+ if u != v {
+ t.Errorf("EscapeString(%q) = %q, UnescapeString(%q) = %q, want %q", v, e, e, u, v)
+ }
+ u2 := string(unescape([]byte(e), false))
+ if u2 != u {
+ t.Errorf("UnescapeString(%q) = %q, unescape(%q, false) = %q", e, u, e, u2)
+ }
+
+ u = UnescapeString(v)
+ u2 = string(unescape([]byte(v), false))
+ if u2 != u {
+ t.Errorf("UnescapeString(%q) = %q, unescape(%q, false) = %q", v, u, v, u2)
+ }
+ // As per the documentation, this isn't always equal to v, so it makes
+ // no sense to check for equality. It can still be interesting to find
+ // panics in it though.
+ EscapeString(u)
+ })
+}