| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 library constants; |  | 
| 2 |  | 
| 3 import 'utils.dart'; |  | 
| 4 |  | 
| 5 // TODO(jmesserly): fix up the const lists. For the bigger ones, we need faster |  | 
| 6 // lookup than linear search "contains". In the Python code they were |  | 
| 7 // frozensets. |  | 
| 8 |  | 
| 9 final String EOF = null; |  | 
| 10 |  | 
| 11 class ReparseException implements Exception { |  | 
| 12   final String message; |  | 
| 13   ReparseException(this.message); |  | 
| 14   String toString() => "ReparseException: $message"; |  | 
| 15 } |  | 
| 16 |  | 
| 17 // TODO(jmesserly): assuming the programmatic name is not important, it would be |  | 
| 18 // good to make these "static const" fields on an ErrorMessage class. |  | 
| 19 /// These are error messages emitted by [HtmlParser]. The values use Python |  | 
| 20 /// style string formatting, as implemented by [formatStr]. That function only |  | 
| 21 /// supports the subset of format functionality used here. |  | 
| 22 const Map<String, String> errorMessages = const { |  | 
| 23   "null-character": "Null character in input stream, replaced with U+FFFD.", |  | 
| 24   "invalid-codepoint": "Invalid codepoint in stream.", |  | 
| 25   "incorrectly-placed-solidus": "Solidus (/) incorrectly placed in tag.", |  | 
| 26   "incorrect-cr-newline-entity": |  | 
| 27       "Incorrect CR newline entity, replaced with LF.", |  | 
| 28   "illegal-windows-1252-entity": |  | 
| 29       "Entity used with illegal number (windows-1252 reference).", |  | 
| 30   "cant-convert-numeric-entity": |  | 
| 31       "Numeric entity couldn't be converted to character " |  | 
| 32       "(codepoint U+%(charAsInt)08x).", |  | 
| 33   "illegal-codepoint-for-numeric-entity": |  | 
| 34       "Numeric entity represents an illegal codepoint: " |  | 
| 35       "U+%(charAsInt)08x.", |  | 
| 36   "numeric-entity-without-semicolon": "Numeric entity didn't end with ';'.", |  | 
| 37   "expected-numeric-entity-but-got-eof": |  | 
| 38       "Numeric entity expected. Got end of file instead.", |  | 
| 39   "expected-numeric-entity": "Numeric entity expected but none found.", |  | 
| 40   "named-entity-without-semicolon": "Named entity didn't end with ';'.", |  | 
| 41   "expected-named-entity": "Named entity expected. Got none.", |  | 
| 42   "attributes-in-end-tag": "End tag contains unexpected attributes.", |  | 
| 43   'self-closing-flag-on-end-tag': |  | 
| 44       "End tag contains unexpected self-closing flag.", |  | 
| 45   "expected-tag-name-but-got-right-bracket": |  | 
| 46       "Expected tag name. Got '>' instead.", |  | 
| 47   "expected-tag-name-but-got-question-mark": |  | 
| 48       "Expected tag name. Got '?' instead. (HTML doesn't " |  | 
| 49       "support processing instructions.)", |  | 
| 50   "expected-tag-name": "Expected tag name. Got something else instead", |  | 
| 51   "expected-closing-tag-but-got-right-bracket": |  | 
| 52       "Expected closing tag. Got '>' instead. Ignoring '</>'.", |  | 
| 53   "expected-closing-tag-but-got-eof": |  | 
| 54       "Expected closing tag. Unexpected end of file.", |  | 
| 55   "expected-closing-tag-but-got-char": |  | 
| 56       "Expected closing tag. Unexpected character '%(data)s' found.", |  | 
| 57   "eof-in-tag-name": "Unexpected end of file in the tag name.", |  | 
| 58   "expected-attribute-name-but-got-eof": |  | 
| 59       "Unexpected end of file. Expected attribute name instead.", |  | 
| 60   "eof-in-attribute-name": "Unexpected end of file in attribute name.", |  | 
| 61   "invalid-character-in-attribute-name": "Invalid character in attribute name", |  | 
| 62   "duplicate-attribute": "Dropped duplicate attribute on tag.", |  | 
| 63   "expected-end-of-tag-name-but-got-eof": |  | 
| 64       "Unexpected end of file. Expected = or end of tag.", |  | 
| 65   "expected-attribute-value-but-got-eof": |  | 
| 66       "Unexpected end of file. Expected attribute value.", |  | 
| 67   "expected-attribute-value-but-got-right-bracket": |  | 
| 68       "Expected attribute value. Got '>' instead.", |  | 
| 69   'equals-in-unquoted-attribute-value': "Unexpected = in unquoted attribute", |  | 
| 70   'unexpected-character-in-unquoted-attribute-value': |  | 
| 71       "Unexpected character in unquoted attribute", |  | 
| 72   "invalid-character-after-attribute-name": |  | 
| 73       "Unexpected character after attribute name.", |  | 
| 74   "unexpected-character-after-attribute-value": |  | 
| 75       "Unexpected character after attribute value.", |  | 
| 76   "eof-in-attribute-value-double-quote": |  | 
| 77       "Unexpected end of file in attribute value (\".", |  | 
| 78   "eof-in-attribute-value-single-quote": |  | 
| 79       "Unexpected end of file in attribute value (').", |  | 
| 80   "eof-in-attribute-value-no-quotes": |  | 
| 81       "Unexpected end of file in attribute value.", |  | 
| 82   "unexpected-EOF-after-solidus-in-tag": |  | 
| 83       "Unexpected end of file in tag. Expected >", |  | 
| 84   "unexpected-character-after-soldius-in-tag": |  | 
| 85       "Unexpected character after / in tag. Expected >", |  | 
| 86   "expected-dashes-or-doctype": "Expected '--' or 'DOCTYPE'. Not found.", |  | 
| 87   "unexpected-bang-after-double-dash-in-comment": |  | 
| 88       "Unexpected ! after -- in comment", |  | 
| 89   "unexpected-space-after-double-dash-in-comment": |  | 
| 90       "Unexpected space after -- in comment", |  | 
| 91   "incorrect-comment": "Incorrect comment.", |  | 
| 92   "eof-in-comment": "Unexpected end of file in comment.", |  | 
| 93   "eof-in-comment-end-dash": "Unexpected end of file in comment (-)", |  | 
| 94   "unexpected-dash-after-double-dash-in-comment": |  | 
| 95       "Unexpected '-' after '--' found in comment.", |  | 
| 96   "eof-in-comment-double-dash": "Unexpected end of file in comment (--).", |  | 
| 97   "eof-in-comment-end-space-state": "Unexpected end of file in comment.", |  | 
| 98   "eof-in-comment-end-bang-state": "Unexpected end of file in comment.", |  | 
| 99   "unexpected-char-in-comment": "Unexpected character in comment found.", |  | 
| 100   "need-space-after-doctype": "No space after literal string 'DOCTYPE'.", |  | 
| 101   "expected-doctype-name-but-got-right-bracket": |  | 
| 102       "Unexpected > character. Expected DOCTYPE name.", |  | 
| 103   "expected-doctype-name-but-got-eof": |  | 
| 104       "Unexpected end of file. Expected DOCTYPE name.", |  | 
| 105   "eof-in-doctype-name": "Unexpected end of file in DOCTYPE name.", |  | 
| 106   "eof-in-doctype": "Unexpected end of file in DOCTYPE.", |  | 
| 107   "expected-space-or-right-bracket-in-doctype": |  | 
| 108       "Expected space or '>'. Got '%(data)s'", |  | 
| 109   "unexpected-end-of-doctype": "Unexpected end of DOCTYPE.", |  | 
| 110   "unexpected-char-in-doctype": "Unexpected character in DOCTYPE.", |  | 
| 111   "eof-in-innerhtml": "XXX innerHTML EOF", |  | 
| 112   "unexpected-doctype": "Unexpected DOCTYPE. Ignored.", |  | 
| 113   "non-html-root": "html needs to be the first start tag.", |  | 
| 114   "expected-doctype-but-got-eof": "Unexpected End of file. Expected DOCTYPE.", |  | 
| 115   "unknown-doctype": "Erroneous DOCTYPE.", |  | 
| 116   "expected-doctype-but-got-chars": |  | 
| 117       "Unexpected non-space characters. Expected DOCTYPE.", |  | 
| 118   "expected-doctype-but-got-start-tag": |  | 
| 119       "Unexpected start tag (%(name)s). Expected DOCTYPE.", |  | 
| 120   "expected-doctype-but-got-end-tag": |  | 
| 121       "Unexpected end tag (%(name)s). Expected DOCTYPE.", |  | 
| 122   "end-tag-after-implied-root": |  | 
| 123       "Unexpected end tag (%(name)s) after the (implied) root element.", |  | 
| 124   "expected-named-closing-tag-but-got-eof": |  | 
| 125       "Unexpected end of file. Expected end tag (%(name)s).", |  | 
| 126   "two-heads-are-not-better-than-one": |  | 
| 127       "Unexpected start tag head in existing head. Ignored.", |  | 
| 128   "unexpected-end-tag": "Unexpected end tag (%(name)s). Ignored.", |  | 
| 129   "unexpected-start-tag-out-of-my-head": |  | 
| 130       "Unexpected start tag (%(name)s) that can be in head. Moved.", |  | 
| 131   "unexpected-start-tag": "Unexpected start tag (%(name)s).", |  | 
| 132   "missing-end-tag": "Missing end tag (%(name)s).", |  | 
| 133   "missing-end-tags": "Missing end tags (%(name)s).", |  | 
| 134   "unexpected-start-tag-implies-end-tag": |  | 
| 135       "Unexpected start tag (%(startName)s) " |  | 
| 136       "implies end tag (%(endName)s).", |  | 
| 137   "unexpected-start-tag-treated-as": |  | 
| 138       "Unexpected start tag (%(originalName)s). Treated as %(newName)s.", |  | 
| 139   "deprecated-tag": "Unexpected start tag %(name)s. Don't use it!", |  | 
| 140   "unexpected-start-tag-ignored": "Unexpected start tag %(name)s. Ignored.", |  | 
| 141   "expected-one-end-tag-but-got-another": "Unexpected end tag (%(gotName)s). " |  | 
| 142       "Missing end tag (%(expectedName)s).", |  | 
| 143   "end-tag-too-early": |  | 
| 144       "End tag (%(name)s) seen too early. Expected other end tag.", |  | 
| 145   "end-tag-too-early-named": |  | 
| 146       "Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s).", |  | 
| 147   "end-tag-too-early-ignored": "End tag (%(name)s) seen too early. Ignored.", |  | 
| 148   "adoption-agency-1.1": "End tag (%(name)s) violates step 1, " |  | 
| 149       "paragraph 1 of the adoption agency algorithm.", |  | 
| 150   "adoption-agency-1.2": "End tag (%(name)s) violates step 1, " |  | 
| 151       "paragraph 2 of the adoption agency algorithm.", |  | 
| 152   "adoption-agency-1.3": "End tag (%(name)s) violates step 1, " |  | 
| 153       "paragraph 3 of the adoption agency algorithm.", |  | 
| 154   "unexpected-end-tag-treated-as": |  | 
| 155       "Unexpected end tag (%(originalName)s). Treated as %(newName)s.", |  | 
| 156   "no-end-tag": "This element (%(name)s) has no end tag.", |  | 
| 157   "unexpected-implied-end-tag-in-table": |  | 
| 158       "Unexpected implied end tag (%(name)s) in the table phase.", |  | 
| 159   "unexpected-implied-end-tag-in-table-body": |  | 
| 160       "Unexpected implied end tag (%(name)s) in the table body phase.", |  | 
| 161   "unexpected-char-implies-table-voodoo": "Unexpected non-space characters in " |  | 
| 162       "table context caused voodoo mode.", |  | 
| 163   "unexpected-hidden-input-in-table": |  | 
| 164       "Unexpected input with type hidden in table context.", |  | 
| 165   "unexpected-form-in-table": "Unexpected form in table context.", |  | 
| 166   "unexpected-start-tag-implies-table-voodoo": |  | 
| 167       "Unexpected start tag (%(name)s) in " |  | 
| 168       "table context caused voodoo mode.", |  | 
| 169   "unexpected-end-tag-implies-table-voodoo": "Unexpected end tag (%(name)s) in " |  | 
| 170       "table context caused voodoo mode.", |  | 
| 171   "unexpected-cell-in-table-body": "Unexpected table cell start tag (%(name)s) " |  | 
| 172       "in the table body phase.", |  | 
| 173   "unexpected-cell-end-tag": "Got table cell end tag (%(name)s) " |  | 
| 174       "while required end tags are missing.", |  | 
| 175   "unexpected-end-tag-in-table-body": |  | 
| 176       "Unexpected end tag (%(name)s) in the table body phase. Ignored.", |  | 
| 177   "unexpected-implied-end-tag-in-table-row": |  | 
| 178       "Unexpected implied end tag (%(name)s) in the table row phase.", |  | 
| 179   "unexpected-end-tag-in-table-row": |  | 
| 180       "Unexpected end tag (%(name)s) in the table row phase. Ignored.", |  | 
| 181   "unexpected-select-in-select": |  | 
| 182       "Unexpected select start tag in the select phase " |  | 
| 183       "treated as select end tag.", |  | 
| 184   "unexpected-input-in-select": |  | 
| 185       "Unexpected input start tag in the select phase.", |  | 
| 186   "unexpected-start-tag-in-select": |  | 
| 187       "Unexpected start tag token (%(name)s in the select phase. " |  | 
| 188       "Ignored.", |  | 
| 189   "unexpected-end-tag-in-select": |  | 
| 190       "Unexpected end tag (%(name)s) in the select phase. Ignored.", |  | 
| 191   "unexpected-table-element-start-tag-in-select-in-table": |  | 
| 192       "Unexpected table element start tag (%(name)s) in the select in table phas
      e.", |  | 
| 193   "unexpected-table-element-end-tag-in-select-in-table": |  | 
| 194       "Unexpected table element end tag (%(name)s) in the select in table phase.
      ", |  | 
| 195   "unexpected-char-after-body": |  | 
| 196       "Unexpected non-space characters in the after body phase.", |  | 
| 197   "unexpected-start-tag-after-body": "Unexpected start tag token (%(name)s)" |  | 
| 198       " in the after body phase.", |  | 
| 199   "unexpected-end-tag-after-body": "Unexpected end tag token (%(name)s)" |  | 
| 200       " in the after body phase.", |  | 
| 201   "unexpected-char-in-frameset": |  | 
| 202       "Unepxected characters in the frameset phase. Characters ignored.", |  | 
| 203   "unexpected-start-tag-in-frameset": "Unexpected start tag token (%(name)s)" |  | 
| 204       " in the frameset phase. Ignored.", |  | 
| 205   "unexpected-frameset-in-frameset-innerhtml": |  | 
| 206       "Unexpected end tag token (frameset) " |  | 
| 207       "in the frameset phase (innerHTML).", |  | 
| 208   "unexpected-end-tag-in-frameset": "Unexpected end tag token (%(name)s)" |  | 
| 209       " in the frameset phase. Ignored.", |  | 
| 210   "unexpected-char-after-frameset": "Unexpected non-space characters in the " |  | 
| 211       "after frameset phase. Ignored.", |  | 
| 212   "unexpected-start-tag-after-frameset": "Unexpected start tag (%(name)s)" |  | 
| 213       " in the after frameset phase. Ignored.", |  | 
| 214   "unexpected-end-tag-after-frameset": "Unexpected end tag (%(name)s)" |  | 
| 215       " in the after frameset phase. Ignored.", |  | 
| 216   "unexpected-end-tag-after-body-innerhtml": |  | 
| 217       "Unexpected end tag after body(innerHtml)", |  | 
| 218   "expected-eof-but-got-char": |  | 
| 219       "Unexpected non-space characters. Expected end of file.", |  | 
| 220   "expected-eof-but-got-start-tag": "Unexpected start tag (%(name)s)" |  | 
| 221       ". Expected end of file.", |  | 
| 222   "expected-eof-but-got-end-tag": "Unexpected end tag (%(name)s)" |  | 
| 223       ". Expected end of file.", |  | 
| 224   "eof-in-table": "Unexpected end of file. Expected table content.", |  | 
| 225   "eof-in-select": "Unexpected end of file. Expected select content.", |  | 
| 226   "eof-in-frameset": "Unexpected end of file. Expected frameset content.", |  | 
| 227   "eof-in-script-in-script": "Unexpected end of file. Expected script content.", |  | 
| 228   "eof-in-foreign-lands": "Unexpected end of file. Expected foreign content", |  | 
| 229   "non-void-element-with-trailing-solidus": |  | 
| 230       "Trailing solidus not allowed on element %(name)s", |  | 
| 231   "unexpected-html-element-in-foreign-content": |  | 
| 232       "Element %(name)s not allowed in a non-html context", |  | 
| 233   "unexpected-end-tag-before-html": |  | 
| 234       "Unexpected end tag (%(name)s) before html.", |  | 
| 235   "undefined-error": "Undefined error (this sucks and should be fixed)", |  | 
| 236 }; |  | 
| 237 |  | 
| 238 class Namespaces { |  | 
| 239   static const html = "http://www.w3.org/1999/xhtml"; |  | 
| 240   static const mathml = "http://www.w3.org/1998/Math/MathML"; |  | 
| 241   static const svg = "http://www.w3.org/2000/svg"; |  | 
| 242   static const xlink = "http://www.w3.org/1999/xlink"; |  | 
| 243   static const xml = "http://www.w3.org/XML/1998/namespace"; |  | 
| 244   static const xmlns = "http://www.w3.org/2000/xmlns/"; |  | 
| 245   Namespaces._(); |  | 
| 246 |  | 
| 247   static String getPrefix(String url) { |  | 
| 248     switch (url) { |  | 
| 249       case html: |  | 
| 250         return 'html'; |  | 
| 251       case mathml: |  | 
| 252         return 'math'; |  | 
| 253       case svg: |  | 
| 254         return 'svg'; |  | 
| 255       case xlink: |  | 
| 256         return 'xlink'; |  | 
| 257       case xml: |  | 
| 258         return 'xml'; |  | 
| 259       case xmlns: |  | 
| 260         return 'xmlns'; |  | 
| 261       default: |  | 
| 262         return null; |  | 
| 263     } |  | 
| 264   } |  | 
| 265 } |  | 
| 266 |  | 
| 267 const List scopingElements = const [ |  | 
| 268   const Pair(Namespaces.html, "applet"), |  | 
| 269   const Pair(Namespaces.html, "caption"), |  | 
| 270   const Pair(Namespaces.html, "html"), |  | 
| 271   const Pair(Namespaces.html, "marquee"), |  | 
| 272   const Pair(Namespaces.html, "object"), |  | 
| 273   const Pair(Namespaces.html, "table"), |  | 
| 274   const Pair(Namespaces.html, "td"), |  | 
| 275   const Pair(Namespaces.html, "th"), |  | 
| 276   const Pair(Namespaces.mathml, "mi"), |  | 
| 277   const Pair(Namespaces.mathml, "mo"), |  | 
| 278   const Pair(Namespaces.mathml, "mn"), |  | 
| 279   const Pair(Namespaces.mathml, "ms"), |  | 
| 280   const Pair(Namespaces.mathml, "mtext"), |  | 
| 281   const Pair(Namespaces.mathml, "annotation-xml"), |  | 
| 282   const Pair(Namespaces.svg, "foreignObject"), |  | 
| 283   const Pair(Namespaces.svg, "desc"), |  | 
| 284   const Pair(Namespaces.svg, "title") |  | 
| 285 ]; |  | 
| 286 |  | 
| 287 const formattingElements = const [ |  | 
| 288   const Pair(Namespaces.html, "a"), |  | 
| 289   const Pair(Namespaces.html, "b"), |  | 
| 290   const Pair(Namespaces.html, "big"), |  | 
| 291   const Pair(Namespaces.html, "code"), |  | 
| 292   const Pair(Namespaces.html, "em"), |  | 
| 293   const Pair(Namespaces.html, "font"), |  | 
| 294   const Pair(Namespaces.html, "i"), |  | 
| 295   const Pair(Namespaces.html, "nobr"), |  | 
| 296   const Pair(Namespaces.html, "s"), |  | 
| 297   const Pair(Namespaces.html, "small"), |  | 
| 298   const Pair(Namespaces.html, "strike"), |  | 
| 299   const Pair(Namespaces.html, "strong"), |  | 
| 300   const Pair(Namespaces.html, "tt"), |  | 
| 301   const Pair(Namespaces.html, "") |  | 
| 302 ]; |  | 
| 303 |  | 
| 304 const specialElements = const [ |  | 
| 305   const Pair(Namespaces.html, "address"), |  | 
| 306   const Pair(Namespaces.html, "applet"), |  | 
| 307   const Pair(Namespaces.html, "area"), |  | 
| 308   const Pair(Namespaces.html, "article"), |  | 
| 309   const Pair(Namespaces.html, "aside"), |  | 
| 310   const Pair(Namespaces.html, "base"), |  | 
| 311   const Pair(Namespaces.html, "basefont"), |  | 
| 312   const Pair(Namespaces.html, "bgsound"), |  | 
| 313   const Pair(Namespaces.html, "blockquote"), |  | 
| 314   const Pair(Namespaces.html, "body"), |  | 
| 315   const Pair(Namespaces.html, "br"), |  | 
| 316   const Pair(Namespaces.html, "button"), |  | 
| 317   const Pair(Namespaces.html, "caption"), |  | 
| 318   const Pair(Namespaces.html, "center"), |  | 
| 319   const Pair(Namespaces.html, "col"), |  | 
| 320   const Pair(Namespaces.html, "colgroup"), |  | 
| 321   const Pair(Namespaces.html, "command"), |  | 
| 322   const Pair(Namespaces.html, "dd"), |  | 
| 323   const Pair(Namespaces.html, "details"), |  | 
| 324   const Pair(Namespaces.html, "dir"), |  | 
| 325   const Pair(Namespaces.html, "div"), |  | 
| 326   const Pair(Namespaces.html, "dl"), |  | 
| 327   const Pair(Namespaces.html, "dt"), |  | 
| 328   const Pair(Namespaces.html, "embed"), |  | 
| 329   const Pair(Namespaces.html, "fieldset"), |  | 
| 330   const Pair(Namespaces.html, "figure"), |  | 
| 331   const Pair(Namespaces.html, "footer"), |  | 
| 332   const Pair(Namespaces.html, "form"), |  | 
| 333   const Pair(Namespaces.html, "frame"), |  | 
| 334   const Pair(Namespaces.html, "frameset"), |  | 
| 335   const Pair(Namespaces.html, "h1"), |  | 
| 336   const Pair(Namespaces.html, "h2"), |  | 
| 337   const Pair(Namespaces.html, "h3"), |  | 
| 338   const Pair(Namespaces.html, "h4"), |  | 
| 339   const Pair(Namespaces.html, "h5"), |  | 
| 340   const Pair(Namespaces.html, "h6"), |  | 
| 341   const Pair(Namespaces.html, "head"), |  | 
| 342   const Pair(Namespaces.html, "header"), |  | 
| 343   const Pair(Namespaces.html, "hr"), |  | 
| 344   const Pair(Namespaces.html, "html"), |  | 
| 345   const Pair(Namespaces.html, "iframe"), |  | 
| 346   // Note that image is commented out in the spec as "this isn't an |  | 
| 347   // element that can end up on the stack, so it doesn't matter," |  | 
| 348   const Pair(Namespaces.html, "image"), |  | 
| 349   const Pair(Namespaces.html, "img"), |  | 
| 350   const Pair(Namespaces.html, "input"), |  | 
| 351   const Pair(Namespaces.html, "isindex"), |  | 
| 352   const Pair(Namespaces.html, "li"), |  | 
| 353   const Pair(Namespaces.html, "link"), |  | 
| 354   const Pair(Namespaces.html, "listing"), |  | 
| 355   const Pair(Namespaces.html, "marquee"), |  | 
| 356   const Pair(Namespaces.html, "men"), |  | 
| 357   const Pair(Namespaces.html, "meta"), |  | 
| 358   const Pair(Namespaces.html, "nav"), |  | 
| 359   const Pair(Namespaces.html, "noembed"), |  | 
| 360   const Pair(Namespaces.html, "noframes"), |  | 
| 361   const Pair(Namespaces.html, "noscript"), |  | 
| 362   const Pair(Namespaces.html, "object"), |  | 
| 363   const Pair(Namespaces.html, "ol"), |  | 
| 364   const Pair(Namespaces.html, "p"), |  | 
| 365   const Pair(Namespaces.html, "param"), |  | 
| 366   const Pair(Namespaces.html, "plaintext"), |  | 
| 367   const Pair(Namespaces.html, "pre"), |  | 
| 368   const Pair(Namespaces.html, "script"), |  | 
| 369   const Pair(Namespaces.html, "section"), |  | 
| 370   const Pair(Namespaces.html, "select"), |  | 
| 371   const Pair(Namespaces.html, "style"), |  | 
| 372   const Pair(Namespaces.html, "table"), |  | 
| 373   const Pair(Namespaces.html, "tbody"), |  | 
| 374   const Pair(Namespaces.html, "td"), |  | 
| 375   const Pair(Namespaces.html, "textarea"), |  | 
| 376   const Pair(Namespaces.html, "tfoot"), |  | 
| 377   const Pair(Namespaces.html, "th"), |  | 
| 378   const Pair(Namespaces.html, "thead"), |  | 
| 379   const Pair(Namespaces.html, "title"), |  | 
| 380   const Pair(Namespaces.html, "tr"), |  | 
| 381   const Pair(Namespaces.html, "ul"), |  | 
| 382   const Pair(Namespaces.html, "wbr"), |  | 
| 383   const Pair(Namespaces.html, "xmp"), |  | 
| 384   const Pair(Namespaces.svg, "foreignObject") |  | 
| 385 ]; |  | 
| 386 |  | 
| 387 const htmlIntegrationPointElements = const [ |  | 
| 388   const Pair(Namespaces.mathml, "annotaion-xml"), |  | 
| 389   const Pair(Namespaces.svg, "foreignObject"), |  | 
| 390   const Pair(Namespaces.svg, "desc"), |  | 
| 391   const Pair(Namespaces.svg, "title") |  | 
| 392 ]; |  | 
| 393 |  | 
| 394 const mathmlTextIntegrationPointElements = const [ |  | 
| 395   const Pair(Namespaces.mathml, "mi"), |  | 
| 396   const Pair(Namespaces.mathml, "mo"), |  | 
| 397   const Pair(Namespaces.mathml, "mn"), |  | 
| 398   const Pair(Namespaces.mathml, "ms"), |  | 
| 399   const Pair(Namespaces.mathml, "mtext") |  | 
| 400 ]; |  | 
| 401 |  | 
| 402 const spaceCharacters = " \n\r\t\u000C"; |  | 
| 403 |  | 
| 404 const int NEWLINE = 10; |  | 
| 405 const int RETURN = 13; |  | 
| 406 |  | 
| 407 bool isWhitespace(String char) { |  | 
| 408   if (char == null) return false; |  | 
| 409   return isWhitespaceCC(char.codeUnitAt(0)); |  | 
| 410 } |  | 
| 411 |  | 
| 412 bool isWhitespaceCC(int charCode) { |  | 
| 413   switch (charCode) { |  | 
| 414     case 9: // '\t' |  | 
| 415     case NEWLINE: // '\n' |  | 
| 416     case 12: // '\f' |  | 
| 417     case RETURN: // '\r' |  | 
| 418     case 32: // ' ' |  | 
| 419       return true; |  | 
| 420   } |  | 
| 421   return false; |  | 
| 422 } |  | 
| 423 |  | 
| 424 const List<String> tableInsertModeElements = const [ |  | 
| 425   "table", |  | 
| 426   "tbody", |  | 
| 427   "tfoot", |  | 
| 428   "thead", |  | 
| 429   "tr" |  | 
| 430 ]; |  | 
| 431 |  | 
| 432 // TODO(jmesserly): remove these in favor of the test functions |  | 
| 433 const asciiLetters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |  | 
| 434 |  | 
| 435 const ZERO = 48; |  | 
| 436 const LOWER_A = 97; |  | 
| 437 const LOWER_Z = 122; |  | 
| 438 const UPPER_A = 65; |  | 
| 439 const UPPER_Z = 90; |  | 
| 440 |  | 
| 441 bool isLetterOrDigit(String char) => isLetter(char) || isDigit(char); |  | 
| 442 |  | 
| 443 // Note: this is intentially ASCII only |  | 
| 444 bool isLetter(String char) { |  | 
| 445   if (char == null) return false; |  | 
| 446   int cc = char.codeUnitAt(0); |  | 
| 447   return cc >= LOWER_A && cc <= LOWER_Z || cc >= UPPER_A && cc <= UPPER_Z; |  | 
| 448 } |  | 
| 449 |  | 
| 450 bool isDigit(String char) { |  | 
| 451   if (char == null) return false; |  | 
| 452   int cc = char.codeUnitAt(0); |  | 
| 453   return cc >= ZERO && cc < ZERO + 10; |  | 
| 454 } |  | 
| 455 |  | 
| 456 bool isHexDigit(String char) { |  | 
| 457   if (char == null) return false; |  | 
| 458   switch (char.codeUnitAt(0)) { |  | 
| 459     case 48: |  | 
| 460     case 49: |  | 
| 461     case 50: |  | 
| 462     case 51: |  | 
| 463     case 52: // '0' - '4' |  | 
| 464     case 53: |  | 
| 465     case 54: |  | 
| 466     case 55: |  | 
| 467     case 56: |  | 
| 468     case 57: // '5' - '9' |  | 
| 469     case 65: |  | 
| 470     case 66: |  | 
| 471     case 67: |  | 
| 472     case 68: |  | 
| 473     case 69: |  | 
| 474     case 70: // 'A' - 'F' |  | 
| 475     case 97: |  | 
| 476     case 98: |  | 
| 477     case 99: |  | 
| 478     case 100: |  | 
| 479     case 101: |  | 
| 480     case 102: // 'a' - 'f' |  | 
| 481       return true; |  | 
| 482   } |  | 
| 483   return false; |  | 
| 484 } |  | 
| 485 |  | 
| 486 // Note: based on the original Python code, I assume we only want to convert |  | 
| 487 // ASCII chars to.toLowerCase() case, unlike Dart's toLowerCase function. |  | 
| 488 String asciiUpper2Lower(String text) { |  | 
| 489   if (text == null) return null; |  | 
| 490   var result = new List<int>(text.length); |  | 
| 491   for (int i = 0; i < text.length; i++) { |  | 
| 492     var c = text.codeUnitAt(i); |  | 
| 493     if (c >= UPPER_A && c <= UPPER_Z) { |  | 
| 494       c += LOWER_A - UPPER_A; |  | 
| 495     } |  | 
| 496     result[i] = c; |  | 
| 497   } |  | 
| 498   return new String.fromCharCodes(result); |  | 
| 499 } |  | 
| 500 |  | 
| 501 // Heading elements need to be ordered |  | 
| 502 const headingElements = const ["h1", "h2", "h3", "h4", "h5", "h6"]; |  | 
| 503 |  | 
| 504 const cdataElements = const ['title', 'textarea']; |  | 
| 505 |  | 
| 506 const rcdataElements = const [ |  | 
| 507   'style', |  | 
| 508   'script', |  | 
| 509   'xmp', |  | 
| 510   'iframe', |  | 
| 511   'noembed', |  | 
| 512   'noframes', |  | 
| 513   'noscript' |  | 
| 514 ]; |  | 
| 515 |  | 
| 516 const Map<String, List<String>> booleanAttributes = const { |  | 
| 517   "": const ["irrelevant",], |  | 
| 518   "style": const ["scoped",], |  | 
| 519   "img": const ["ismap",], |  | 
| 520   "audio": const ["autoplay", "controls"], |  | 
| 521   "video": const ["autoplay", "controls"], |  | 
| 522   "script": const ["defer", "async"], |  | 
| 523   "details": const ["open",], |  | 
| 524   "datagrid": const ["multiple", "disabled"], |  | 
| 525   "command": const ["hidden", "disabled", "checked", "default"], |  | 
| 526   "hr": const ["noshade"], |  | 
| 527   "men": const ["autosubmit",], |  | 
| 528   "fieldset": const ["disabled", "readonly"], |  | 
| 529   "option": const ["disabled", "readonly", "selected"], |  | 
| 530   "optgroup": const ["disabled", "readonly"], |  | 
| 531   "button": const ["disabled", "autofocus"], |  | 
| 532   "input": const [ |  | 
| 533     "disabled", |  | 
| 534     "readonly", |  | 
| 535     "required", |  | 
| 536     "autofocus", |  | 
| 537     "checked", |  | 
| 538     "ismap" |  | 
| 539   ], |  | 
| 540   "select": const ["disabled", "readonly", "autofocus", "multiple"], |  | 
| 541   "output": const ["disabled", "readonly"], |  | 
| 542 }; |  | 
| 543 |  | 
| 544 // entitiesWindows1252 has to be _ordered_ and needs to have an index. It |  | 
| 545 // therefore can't be a frozenset. |  | 
| 546 const List<int> entitiesWindows1252 = const [ |  | 
| 547   8364, // 0x80  0x20AC  EURO SIGN |  | 
| 548   65533, // 0x81          UNDEFINED |  | 
| 549   8218, // 0x82  0x201A  SINGLE LOW-9 QUOTATION MARK |  | 
| 550   402, // 0x83  0x0192  LATIN SMALL LETTER F WITH HOOK |  | 
| 551   8222, // 0x84  0x201E  DOUBLE LOW-9 QUOTATION MARK |  | 
| 552   8230, // 0x85  0x2026  HORIZONTAL ELLIPSIS |  | 
| 553   8224, // 0x86  0x2020  DAGGER |  | 
| 554   8225, // 0x87  0x2021  DOUBLE DAGGER |  | 
| 555   710, // 0x88  0x02C6  MODIFIER LETTER CIRCUMFLEX ACCENT |  | 
| 556   8240, // 0x89  0x2030  PER MILLE SIGN |  | 
| 557   352, // 0x8A  0x0160  LATIN CAPITAL LETTER S WITH CARON |  | 
| 558   8249, // 0x8B  0x2039  SINGLE LEFT-POINTING ANGLE QUOTATION MARK |  | 
| 559   338, // 0x8C  0x0152  LATIN CAPITAL LIGATURE OE |  | 
| 560   65533, // 0x8D          UNDEFINED |  | 
| 561   381, // 0x8E  0x017D  LATIN CAPITAL LETTER Z WITH CARON |  | 
| 562   65533, // 0x8F          UNDEFINED |  | 
| 563   65533, // 0x90          UNDEFINED |  | 
| 564   8216, // 0x91  0x2018  LEFT SINGLE QUOTATION MARK |  | 
| 565   8217, // 0x92  0x2019  RIGHT SINGLE QUOTATION MARK |  | 
| 566   8220, // 0x93  0x201C  LEFT DOUBLE QUOTATION MARK |  | 
| 567   8221, // 0x94  0x201D  RIGHT DOUBLE QUOTATION MARK |  | 
| 568   8226, // 0x95  0x2022  BULLET |  | 
| 569   8211, // 0x96  0x2013  EN DASH |  | 
| 570   8212, // 0x97  0x2014  EM DASH |  | 
| 571   732, // 0x98  0x02DC  SMALL TILDE |  | 
| 572   8482, // 0x99  0x2122  TRADE MARK SIGN |  | 
| 573   353, // 0x9A  0x0161  LATIN SMALL LETTER S WITH CARON |  | 
| 574   8250, // 0x9B  0x203A  SINGLE RIGHT-POINTING ANGLE QUOTATION MARK |  | 
| 575   339, // 0x9C  0x0153  LATIN SMALL LIGATURE OE |  | 
| 576   65533, // 0x9D          UNDEFINED |  | 
| 577   382, // 0x9E  0x017E  LATIN SMALL LETTER Z WITH CARON |  | 
| 578   376 // 0x9F  0x0178  LATIN CAPITAL LETTER Y WITH DIAERESIS |  | 
| 579 ]; |  | 
| 580 |  | 
| 581 const xmlEntities = const ['lt;', 'gt;', 'amp;', 'apos;', 'quot;']; |  | 
| 582 |  | 
| 583 const Map<String, String> entities = const { |  | 
| 584   "AElig": "\xc6", |  | 
| 585   "AElig;": "\xc6", |  | 
| 586   "AMP": "&", |  | 
| 587   "AMP;": "&", |  | 
| 588   "Aacute": "\xc1", |  | 
| 589   "Aacute;": "\xc1", |  | 
| 590   "Abreve;": "\u0102", |  | 
| 591   "Acirc": "\xc2", |  | 
| 592   "Acirc;": "\xc2", |  | 
| 593   "Acy;": "\u0410", |  | 
| 594   "Afr;": "\u{01d504}", |  | 
| 595   "Agrave": "\xc0", |  | 
| 596   "Agrave;": "\xc0", |  | 
| 597   "Alpha;": "\u0391", |  | 
| 598   "Amacr;": "\u0100", |  | 
| 599   "And;": "\u2a53", |  | 
| 600   "Aogon;": "\u0104", |  | 
| 601   "Aopf;": "\u{01d538}", |  | 
| 602   "ApplyFunction;": "\u2061", |  | 
| 603   "Aring": "\xc5", |  | 
| 604   "Aring;": "\xc5", |  | 
| 605   "Ascr;": "\u{01d49c}", |  | 
| 606   "Assign;": "\u2254", |  | 
| 607   "Atilde": "\xc3", |  | 
| 608   "Atilde;": "\xc3", |  | 
| 609   "Auml": "\xc4", |  | 
| 610   "Auml;": "\xc4", |  | 
| 611   "Backslash;": "\u2216", |  | 
| 612   "Barv;": "\u2ae7", |  | 
| 613   "Barwed;": "\u2306", |  | 
| 614   "Bcy;": "\u0411", |  | 
| 615   "Because;": "\u2235", |  | 
| 616   "Bernoullis;": "\u212c", |  | 
| 617   "Beta;": "\u0392", |  | 
| 618   "Bfr;": "\u{01d505}", |  | 
| 619   "Bopf;": "\u{01d539}", |  | 
| 620   "Breve;": "\u02d8", |  | 
| 621   "Bscr;": "\u212c", |  | 
| 622   "Bumpeq;": "\u224e", |  | 
| 623   "CHcy;": "\u0427", |  | 
| 624   "COPY": "\xa9", |  | 
| 625   "COPY;": "\xa9", |  | 
| 626   "Cacute;": "\u0106", |  | 
| 627   "Cap;": "\u22d2", |  | 
| 628   "CapitalDifferentialD;": "\u2145", |  | 
| 629   "Cayleys;": "\u212d", |  | 
| 630   "Ccaron;": "\u010c", |  | 
| 631   "Ccedil": "\xc7", |  | 
| 632   "Ccedil;": "\xc7", |  | 
| 633   "Ccirc;": "\u0108", |  | 
| 634   "Cconint;": "\u2230", |  | 
| 635   "Cdot;": "\u010a", |  | 
| 636   "Cedilla;": "\xb8", |  | 
| 637   "CenterDot;": "\xb7", |  | 
| 638   "Cfr;": "\u212d", |  | 
| 639   "Chi;": "\u03a7", |  | 
| 640   "CircleDot;": "\u2299", |  | 
| 641   "CircleMinus;": "\u2296", |  | 
| 642   "CirclePlus;": "\u2295", |  | 
| 643   "CircleTimes;": "\u2297", |  | 
| 644   "ClockwiseContourIntegral;": "\u2232", |  | 
| 645   "CloseCurlyDoubleQuote;": "\u201d", |  | 
| 646   "CloseCurlyQuote;": "\u2019", |  | 
| 647   "Colon;": "\u2237", |  | 
| 648   "Colone;": "\u2a74", |  | 
| 649   "Congruent;": "\u2261", |  | 
| 650   "Conint;": "\u222f", |  | 
| 651   "ContourIntegral;": "\u222e", |  | 
| 652   "Copf;": "\u2102", |  | 
| 653   "Coproduct;": "\u2210", |  | 
| 654   "CounterClockwiseContourIntegral;": "\u2233", |  | 
| 655   "Cross;": "\u2a2f", |  | 
| 656   "Cscr;": "\u{01d49e}", |  | 
| 657   "Cup;": "\u22d3", |  | 
| 658   "CupCap;": "\u224d", |  | 
| 659   "DD;": "\u2145", |  | 
| 660   "DDotrahd;": "\u2911", |  | 
| 661   "DJcy;": "\u0402", |  | 
| 662   "DScy;": "\u0405", |  | 
| 663   "DZcy;": "\u040f", |  | 
| 664   "Dagger;": "\u2021", |  | 
| 665   "Darr;": "\u21a1", |  | 
| 666   "Dashv;": "\u2ae4", |  | 
| 667   "Dcaron;": "\u010e", |  | 
| 668   "Dcy;": "\u0414", |  | 
| 669   "Del;": "\u2207", |  | 
| 670   "Delta;": "\u0394", |  | 
| 671   "Dfr;": "\u{01d507}", |  | 
| 672   "DiacriticalAcute;": "\xb4", |  | 
| 673   "DiacriticalDot;": "\u02d9", |  | 
| 674   "DiacriticalDoubleAcute;": "\u02dd", |  | 
| 675   "DiacriticalGrave;": "`", |  | 
| 676   "DiacriticalTilde;": "\u02dc", |  | 
| 677   "Diamond;": "\u22c4", |  | 
| 678   "DifferentialD;": "\u2146", |  | 
| 679   "Dopf;": "\u{01d53b}", |  | 
| 680   "Dot;": "\xa8", |  | 
| 681   "DotDot;": "\u20dc", |  | 
| 682   "DotEqual;": "\u2250", |  | 
| 683   "DoubleContourIntegral;": "\u222f", |  | 
| 684   "DoubleDot;": "\xa8", |  | 
| 685   "DoubleDownArrow;": "\u21d3", |  | 
| 686   "DoubleLeftArrow;": "\u21d0", |  | 
| 687   "DoubleLeftRightArrow;": "\u21d4", |  | 
| 688   "DoubleLeftTee;": "\u2ae4", |  | 
| 689   "DoubleLongLeftArrow;": "\u27f8", |  | 
| 690   "DoubleLongLeftRightArrow;": "\u27fa", |  | 
| 691   "DoubleLongRightArrow;": "\u27f9", |  | 
| 692   "DoubleRightArrow;": "\u21d2", |  | 
| 693   "DoubleRightTee;": "\u22a8", |  | 
| 694   "DoubleUpArrow;": "\u21d1", |  | 
| 695   "DoubleUpDownArrow;": "\u21d5", |  | 
| 696   "DoubleVerticalBar;": "\u2225", |  | 
| 697   "DownArrow;": "\u2193", |  | 
| 698   "DownArrowBar;": "\u2913", |  | 
| 699   "DownArrowUpArrow;": "\u21f5", |  | 
| 700   "DownBreve;": "\u0311", |  | 
| 701   "DownLeftRightVector;": "\u2950", |  | 
| 702   "DownLeftTeeVector;": "\u295e", |  | 
| 703   "DownLeftVector;": "\u21bd", |  | 
| 704   "DownLeftVectorBar;": "\u2956", |  | 
| 705   "DownRightTeeVector;": "\u295f", |  | 
| 706   "DownRightVector;": "\u21c1", |  | 
| 707   "DownRightVectorBar;": "\u2957", |  | 
| 708   "DownTee;": "\u22a4", |  | 
| 709   "DownTeeArrow;": "\u21a7", |  | 
| 710   "Downarrow;": "\u21d3", |  | 
| 711   "Dscr;": "\u{01d49f}", |  | 
| 712   "Dstrok;": "\u0110", |  | 
| 713   "ENG;": "\u014a", |  | 
| 714   "ETH": "\xd0", |  | 
| 715   "ETH;": "\xd0", |  | 
| 716   "Eacute": "\xc9", |  | 
| 717   "Eacute;": "\xc9", |  | 
| 718   "Ecaron;": "\u011a", |  | 
| 719   "Ecirc": "\xca", |  | 
| 720   "Ecirc;": "\xca", |  | 
| 721   "Ecy;": "\u042d", |  | 
| 722   "Edot;": "\u0116", |  | 
| 723   "Efr;": "\u{01d508}", |  | 
| 724   "Egrave": "\xc8", |  | 
| 725   "Egrave;": "\xc8", |  | 
| 726   "Element;": "\u2208", |  | 
| 727   "Emacr;": "\u0112", |  | 
| 728   "EmptySmallSquare;": "\u25fb", |  | 
| 729   "EmptyVerySmallSquare;": "\u25ab", |  | 
| 730   "Eogon;": "\u0118", |  | 
| 731   "Eopf;": "\u{01d53c}", |  | 
| 732   "Epsilon;": "\u0395", |  | 
| 733   "Equal;": "\u2a75", |  | 
| 734   "EqualTilde;": "\u2242", |  | 
| 735   "Equilibrium;": "\u21cc", |  | 
| 736   "Escr;": "\u2130", |  | 
| 737   "Esim;": "\u2a73", |  | 
| 738   "Eta;": "\u0397", |  | 
| 739   "Euml": "\xcb", |  | 
| 740   "Euml;": "\xcb", |  | 
| 741   "Exists;": "\u2203", |  | 
| 742   "ExponentialE;": "\u2147", |  | 
| 743   "Fcy;": "\u0424", |  | 
| 744   "Ffr;": "\u{01d509}", |  | 
| 745   "FilledSmallSquare;": "\u25fc", |  | 
| 746   "FilledVerySmallSquare;": "\u25aa", |  | 
| 747   "Fopf;": "\u{01d53d}", |  | 
| 748   "ForAll;": "\u2200", |  | 
| 749   "Fouriertrf;": "\u2131", |  | 
| 750   "Fscr;": "\u2131", |  | 
| 751   "GJcy;": "\u0403", |  | 
| 752   "GT": ">", |  | 
| 753   "GT;": ">", |  | 
| 754   "Gamma;": "\u0393", |  | 
| 755   "Gammad;": "\u03dc", |  | 
| 756   "Gbreve;": "\u011e", |  | 
| 757   "Gcedil;": "\u0122", |  | 
| 758   "Gcirc;": "\u011c", |  | 
| 759   "Gcy;": "\u0413", |  | 
| 760   "Gdot;": "\u0120", |  | 
| 761   "Gfr;": "\u{01d50a}", |  | 
| 762   "Gg;": "\u22d9", |  | 
| 763   "Gopf;": "\u{01d53e}", |  | 
| 764   "GreaterEqual;": "\u2265", |  | 
| 765   "GreaterEqualLess;": "\u22db", |  | 
| 766   "GreaterFullEqual;": "\u2267", |  | 
| 767   "GreaterGreater;": "\u2aa2", |  | 
| 768   "GreaterLess;": "\u2277", |  | 
| 769   "GreaterSlantEqual;": "\u2a7e", |  | 
| 770   "GreaterTilde;": "\u2273", |  | 
| 771   "Gscr;": "\u{01d4a2}", |  | 
| 772   "Gt;": "\u226b", |  | 
| 773   "HARDcy;": "\u042a", |  | 
| 774   "Hacek;": "\u02c7", |  | 
| 775   "Hat;": "^", |  | 
| 776   "Hcirc;": "\u0124", |  | 
| 777   "Hfr;": "\u210c", |  | 
| 778   "HilbertSpace;": "\u210b", |  | 
| 779   "Hopf;": "\u210d", |  | 
| 780   "HorizontalLine;": "\u2500", |  | 
| 781   "Hscr;": "\u210b", |  | 
| 782   "Hstrok;": "\u0126", |  | 
| 783   "HumpDownHump;": "\u224e", |  | 
| 784   "HumpEqual;": "\u224f", |  | 
| 785   "IEcy;": "\u0415", |  | 
| 786   "IJlig;": "\u0132", |  | 
| 787   "IOcy;": "\u0401", |  | 
| 788   "Iacute": "\xcd", |  | 
| 789   "Iacute;": "\xcd", |  | 
| 790   "Icirc": "\xce", |  | 
| 791   "Icirc;": "\xce", |  | 
| 792   "Icy;": "\u0418", |  | 
| 793   "Idot;": "\u0130", |  | 
| 794   "Ifr;": "\u2111", |  | 
| 795   "Igrave": "\xcc", |  | 
| 796   "Igrave;": "\xcc", |  | 
| 797   "Im;": "\u2111", |  | 
| 798   "Imacr;": "\u012a", |  | 
| 799   "ImaginaryI;": "\u2148", |  | 
| 800   "Implies;": "\u21d2", |  | 
| 801   "Int;": "\u222c", |  | 
| 802   "Integral;": "\u222b", |  | 
| 803   "Intersection;": "\u22c2", |  | 
| 804   "InvisibleComma;": "\u2063", |  | 
| 805   "InvisibleTimes;": "\u2062", |  | 
| 806   "Iogon;": "\u012e", |  | 
| 807   "Iopf;": "\u{01d540}", |  | 
| 808   "Iota;": "\u0399", |  | 
| 809   "Iscr;": "\u2110", |  | 
| 810   "Itilde;": "\u0128", |  | 
| 811   "Iukcy;": "\u0406", |  | 
| 812   "Iuml": "\xcf", |  | 
| 813   "Iuml;": "\xcf", |  | 
| 814   "Jcirc;": "\u0134", |  | 
| 815   "Jcy;": "\u0419", |  | 
| 816   "Jfr;": "\u{01d50d}", |  | 
| 817   "Jopf;": "\u{01d541}", |  | 
| 818   "Jscr;": "\u{01d4a5}", |  | 
| 819   "Jsercy;": "\u0408", |  | 
| 820   "Jukcy;": "\u0404", |  | 
| 821   "KHcy;": "\u0425", |  | 
| 822   "KJcy;": "\u040c", |  | 
| 823   "Kappa;": "\u039a", |  | 
| 824   "Kcedil;": "\u0136", |  | 
| 825   "Kcy;": "\u041a", |  | 
| 826   "Kfr;": "\u{01d50e}", |  | 
| 827   "Kopf;": "\u{01d542}", |  | 
| 828   "Kscr;": "\u{01d4a6}", |  | 
| 829   "LJcy;": "\u0409", |  | 
| 830   "LT": "<", |  | 
| 831   "LT;": "<", |  | 
| 832   "Lacute;": "\u0139", |  | 
| 833   "Lambda;": "\u039b", |  | 
| 834   "Lang;": "\u27ea", |  | 
| 835   "Laplacetrf;": "\u2112", |  | 
| 836   "Larr;": "\u219e", |  | 
| 837   "Lcaron;": "\u013d", |  | 
| 838   "Lcedil;": "\u013b", |  | 
| 839   "Lcy;": "\u041b", |  | 
| 840   "LeftAngleBracket;": "\u27e8", |  | 
| 841   "LeftArrow;": "\u2190", |  | 
| 842   "LeftArrowBar;": "\u21e4", |  | 
| 843   "LeftArrowRightArrow;": "\u21c6", |  | 
| 844   "LeftCeiling;": "\u2308", |  | 
| 845   "LeftDoubleBracket;": "\u27e6", |  | 
| 846   "LeftDownTeeVector;": "\u2961", |  | 
| 847   "LeftDownVector;": "\u21c3", |  | 
| 848   "LeftDownVectorBar;": "\u2959", |  | 
| 849   "LeftFloor;": "\u230a", |  | 
| 850   "LeftRightArrow;": "\u2194", |  | 
| 851   "LeftRightVector;": "\u294e", |  | 
| 852   "LeftTee;": "\u22a3", |  | 
| 853   "LeftTeeArrow;": "\u21a4", |  | 
| 854   "LeftTeeVector;": "\u295a", |  | 
| 855   "LeftTriangle;": "\u22b2", |  | 
| 856   "LeftTriangleBar;": "\u29cf", |  | 
| 857   "LeftTriangleEqual;": "\u22b4", |  | 
| 858   "LeftUpDownVector;": "\u2951", |  | 
| 859   "LeftUpTeeVector;": "\u2960", |  | 
| 860   "LeftUpVector;": "\u21bf", |  | 
| 861   "LeftUpVectorBar;": "\u2958", |  | 
| 862   "LeftVector;": "\u21bc", |  | 
| 863   "LeftVectorBar;": "\u2952", |  | 
| 864   "Leftarrow;": "\u21d0", |  | 
| 865   "Leftrightarrow;": "\u21d4", |  | 
| 866   "LessEqualGreater;": "\u22da", |  | 
| 867   "LessFullEqual;": "\u2266", |  | 
| 868   "LessGreater;": "\u2276", |  | 
| 869   "LessLess;": "\u2aa1", |  | 
| 870   "LessSlantEqual;": "\u2a7d", |  | 
| 871   "LessTilde;": "\u2272", |  | 
| 872   "Lfr;": "\u{01d50f}", |  | 
| 873   "Ll;": "\u22d8", |  | 
| 874   "Lleftarrow;": "\u21da", |  | 
| 875   "Lmidot;": "\u013f", |  | 
| 876   "LongLeftArrow;": "\u27f5", |  | 
| 877   "LongLeftRightArrow;": "\u27f7", |  | 
| 878   "LongRightArrow;": "\u27f6", |  | 
| 879   "Longleftarrow;": "\u27f8", |  | 
| 880   "Longleftrightarrow;": "\u27fa", |  | 
| 881   "Longrightarrow;": "\u27f9", |  | 
| 882   "Lopf;": "\u{01d543}", |  | 
| 883   "LowerLeftArrow;": "\u2199", |  | 
| 884   "LowerRightArrow;": "\u2198", |  | 
| 885   "Lscr;": "\u2112", |  | 
| 886   "Lsh;": "\u21b0", |  | 
| 887   "Lstrok;": "\u0141", |  | 
| 888   "Lt;": "\u226a", |  | 
| 889   "Map;": "\u2905", |  | 
| 890   "Mcy;": "\u041c", |  | 
| 891   "MediumSpace;": "\u205f", |  | 
| 892   "Mellintrf;": "\u2133", |  | 
| 893   "Mfr;": "\u{01d510}", |  | 
| 894   "MinusPlus;": "\u2213", |  | 
| 895   "Mopf;": "\u{01d544}", |  | 
| 896   "Mscr;": "\u2133", |  | 
| 897   "Mu;": "\u039c", |  | 
| 898   "NJcy;": "\u040a", |  | 
| 899   "Nacute;": "\u0143", |  | 
| 900   "Ncaron;": "\u0147", |  | 
| 901   "Ncedil;": "\u0145", |  | 
| 902   "Ncy;": "\u041d", |  | 
| 903   "NegativeMediumSpace;": "\u200b", |  | 
| 904   "NegativeThickSpace;": "\u200b", |  | 
| 905   "NegativeThinSpace;": "\u200b", |  | 
| 906   "NegativeVeryThinSpace;": "\u200b", |  | 
| 907   "NestedGreaterGreater;": "\u226b", |  | 
| 908   "NestedLessLess;": "\u226a", |  | 
| 909   "NewLine;": "\n", |  | 
| 910   "Nfr;": "\u{01d511}", |  | 
| 911   "NoBreak;": "\u2060", |  | 
| 912   "NonBreakingSpace;": "\xa0", |  | 
| 913   "Nopf;": "\u2115", |  | 
| 914   "Not;": "\u2aec", |  | 
| 915   "NotCongruent;": "\u2262", |  | 
| 916   "NotCupCap;": "\u226d", |  | 
| 917   "NotDoubleVerticalBar;": "\u2226", |  | 
| 918   "NotElement;": "\u2209", |  | 
| 919   "NotEqual;": "\u2260", |  | 
| 920   "NotEqualTilde;": "\u2242\u0338", |  | 
| 921   "NotExists;": "\u2204", |  | 
| 922   "NotGreater;": "\u226f", |  | 
| 923   "NotGreaterEqual;": "\u2271", |  | 
| 924   "NotGreaterFullEqual;": "\u2267\u0338", |  | 
| 925   "NotGreaterGreater;": "\u226b\u0338", |  | 
| 926   "NotGreaterLess;": "\u2279", |  | 
| 927   "NotGreaterSlantEqual;": "\u2a7e\u0338", |  | 
| 928   "NotGreaterTilde;": "\u2275", |  | 
| 929   "NotHumpDownHump;": "\u224e\u0338", |  | 
| 930   "NotHumpEqual;": "\u224f\u0338", |  | 
| 931   "NotLeftTriangle;": "\u22ea", |  | 
| 932   "NotLeftTriangleBar;": "\u29cf\u0338", |  | 
| 933   "NotLeftTriangleEqual;": "\u22ec", |  | 
| 934   "NotLess;": "\u226e", |  | 
| 935   "NotLessEqual;": "\u2270", |  | 
| 936   "NotLessGreater;": "\u2278", |  | 
| 937   "NotLessLess;": "\u226a\u0338", |  | 
| 938   "NotLessSlantEqual;": "\u2a7d\u0338", |  | 
| 939   "NotLessTilde;": "\u2274", |  | 
| 940   "NotNestedGreaterGreater;": "\u2aa2\u0338", |  | 
| 941   "NotNestedLessLess;": "\u2aa1\u0338", |  | 
| 942   "NotPrecedes;": "\u2280", |  | 
| 943   "NotPrecedesEqual;": "\u2aaf\u0338", |  | 
| 944   "NotPrecedesSlantEqual;": "\u22e0", |  | 
| 945   "NotReverseElement;": "\u220c", |  | 
| 946   "NotRightTriangle;": "\u22eb", |  | 
| 947   "NotRightTriangleBar;": "\u29d0\u0338", |  | 
| 948   "NotRightTriangleEqual;": "\u22ed", |  | 
| 949   "NotSquareSubset;": "\u228f\u0338", |  | 
| 950   "NotSquareSubsetEqual;": "\u22e2", |  | 
| 951   "NotSquareSuperset;": "\u2290\u0338", |  | 
| 952   "NotSquareSupersetEqual;": "\u22e3", |  | 
| 953   "NotSubset;": "\u2282\u20d2", |  | 
| 954   "NotSubsetEqual;": "\u2288", |  | 
| 955   "NotSucceeds;": "\u2281", |  | 
| 956   "NotSucceedsEqual;": "\u2ab0\u0338", |  | 
| 957   "NotSucceedsSlantEqual;": "\u22e1", |  | 
| 958   "NotSucceedsTilde;": "\u227f\u0338", |  | 
| 959   "NotSuperset;": "\u2283\u20d2", |  | 
| 960   "NotSupersetEqual;": "\u2289", |  | 
| 961   "NotTilde;": "\u2241", |  | 
| 962   "NotTildeEqual;": "\u2244", |  | 
| 963   "NotTildeFullEqual;": "\u2247", |  | 
| 964   "NotTildeTilde;": "\u2249", |  | 
| 965   "NotVerticalBar;": "\u2224", |  | 
| 966   "Nscr;": "\u{01d4a9}", |  | 
| 967   "Ntilde": "\xd1", |  | 
| 968   "Ntilde;": "\xd1", |  | 
| 969   "Nu;": "\u039d", |  | 
| 970   "OElig;": "\u0152", |  | 
| 971   "Oacute": "\xd3", |  | 
| 972   "Oacute;": "\xd3", |  | 
| 973   "Ocirc": "\xd4", |  | 
| 974   "Ocirc;": "\xd4", |  | 
| 975   "Ocy;": "\u041e", |  | 
| 976   "Odblac;": "\u0150", |  | 
| 977   "Ofr;": "\u{01d512}", |  | 
| 978   "Ograve": "\xd2", |  | 
| 979   "Ograve;": "\xd2", |  | 
| 980   "Omacr;": "\u014c", |  | 
| 981   "Omega;": "\u03a9", |  | 
| 982   "Omicron;": "\u039f", |  | 
| 983   "Oopf;": "\u{01d546}", |  | 
| 984   "OpenCurlyDoubleQuote;": "\u201c", |  | 
| 985   "OpenCurlyQuote;": "\u2018", |  | 
| 986   "Or;": "\u2a54", |  | 
| 987   "Oscr;": "\u{01d4aa}", |  | 
| 988   "Oslash": "\xd8", |  | 
| 989   "Oslash;": "\xd8", |  | 
| 990   "Otilde": "\xd5", |  | 
| 991   "Otilde;": "\xd5", |  | 
| 992   "Otimes;": "\u2a37", |  | 
| 993   "Ouml": "\xd6", |  | 
| 994   "Ouml;": "\xd6", |  | 
| 995   "OverBar;": "\u203e", |  | 
| 996   "OverBrace;": "\u23de", |  | 
| 997   "OverBracket;": "\u23b4", |  | 
| 998   "OverParenthesis;": "\u23dc", |  | 
| 999   "PartialD;": "\u2202", |  | 
| 1000   "Pcy;": "\u041f", |  | 
| 1001   "Pfr;": "\u{01d513}", |  | 
| 1002   "Phi;": "\u03a6", |  | 
| 1003   "Pi;": "\u03a0", |  | 
| 1004   "PlusMinus;": "\xb1", |  | 
| 1005   "Poincareplane;": "\u210c", |  | 
| 1006   "Popf;": "\u2119", |  | 
| 1007   "Pr;": "\u2abb", |  | 
| 1008   "Precedes;": "\u227a", |  | 
| 1009   "PrecedesEqual;": "\u2aaf", |  | 
| 1010   "PrecedesSlantEqual;": "\u227c", |  | 
| 1011   "PrecedesTilde;": "\u227e", |  | 
| 1012   "Prime;": "\u2033", |  | 
| 1013   "Product;": "\u220f", |  | 
| 1014   "Proportion;": "\u2237", |  | 
| 1015   "Proportional;": "\u221d", |  | 
| 1016   "Pscr;": "\u{01d4ab}", |  | 
| 1017   "Psi;": "\u03a8", |  | 
| 1018   "QUOT": "\"", |  | 
| 1019   "QUOT;": "\"", |  | 
| 1020   "Qfr;": "\u{01d514}", |  | 
| 1021   "Qopf;": "\u211a", |  | 
| 1022   "Qscr;": "\u{01d4ac}", |  | 
| 1023   "RBarr;": "\u2910", |  | 
| 1024   "REG": "\xae", |  | 
| 1025   "REG;": "\xae", |  | 
| 1026   "Racute;": "\u0154", |  | 
| 1027   "Rang;": "\u27eb", |  | 
| 1028   "Rarr;": "\u21a0", |  | 
| 1029   "Rarrtl;": "\u2916", |  | 
| 1030   "Rcaron;": "\u0158", |  | 
| 1031   "Rcedil;": "\u0156", |  | 
| 1032   "Rcy;": "\u0420", |  | 
| 1033   "Re;": "\u211c", |  | 
| 1034   "ReverseElement;": "\u220b", |  | 
| 1035   "ReverseEquilibrium;": "\u21cb", |  | 
| 1036   "ReverseUpEquilibrium;": "\u296f", |  | 
| 1037   "Rfr;": "\u211c", |  | 
| 1038   "Rho;": "\u03a1", |  | 
| 1039   "RightAngleBracket;": "\u27e9", |  | 
| 1040   "RightArrow;": "\u2192", |  | 
| 1041   "RightArrowBar;": "\u21e5", |  | 
| 1042   "RightArrowLeftArrow;": "\u21c4", |  | 
| 1043   "RightCeiling;": "\u2309", |  | 
| 1044   "RightDoubleBracket;": "\u27e7", |  | 
| 1045   "RightDownTeeVector;": "\u295d", |  | 
| 1046   "RightDownVector;": "\u21c2", |  | 
| 1047   "RightDownVectorBar;": "\u2955", |  | 
| 1048   "RightFloor;": "\u230b", |  | 
| 1049   "RightTee;": "\u22a2", |  | 
| 1050   "RightTeeArrow;": "\u21a6", |  | 
| 1051   "RightTeeVector;": "\u295b", |  | 
| 1052   "RightTriangle;": "\u22b3", |  | 
| 1053   "RightTriangleBar;": "\u29d0", |  | 
| 1054   "RightTriangleEqual;": "\u22b5", |  | 
| 1055   "RightUpDownVector;": "\u294f", |  | 
| 1056   "RightUpTeeVector;": "\u295c", |  | 
| 1057   "RightUpVector;": "\u21be", |  | 
| 1058   "RightUpVectorBar;": "\u2954", |  | 
| 1059   "RightVector;": "\u21c0", |  | 
| 1060   "RightVectorBar;": "\u2953", |  | 
| 1061   "Rightarrow;": "\u21d2", |  | 
| 1062   "Ropf;": "\u211d", |  | 
| 1063   "RoundImplies;": "\u2970", |  | 
| 1064   "Rrightarrow;": "\u21db", |  | 
| 1065   "Rscr;": "\u211b", |  | 
| 1066   "Rsh;": "\u21b1", |  | 
| 1067   "RuleDelayed;": "\u29f4", |  | 
| 1068   "SHCHcy;": "\u0429", |  | 
| 1069   "SHcy;": "\u0428", |  | 
| 1070   "SOFTcy;": "\u042c", |  | 
| 1071   "Sacute;": "\u015a", |  | 
| 1072   "Sc;": "\u2abc", |  | 
| 1073   "Scaron;": "\u0160", |  | 
| 1074   "Scedil;": "\u015e", |  | 
| 1075   "Scirc;": "\u015c", |  | 
| 1076   "Scy;": "\u0421", |  | 
| 1077   "Sfr;": "\u{01d516}", |  | 
| 1078   "ShortDownArrow;": "\u2193", |  | 
| 1079   "ShortLeftArrow;": "\u2190", |  | 
| 1080   "ShortRightArrow;": "\u2192", |  | 
| 1081   "ShortUpArrow;": "\u2191", |  | 
| 1082   "Sigma;": "\u03a3", |  | 
| 1083   "SmallCircle;": "\u2218", |  | 
| 1084   "Sopf;": "\u{01d54a}", |  | 
| 1085   "Sqrt;": "\u221a", |  | 
| 1086   "Square;": "\u25a1", |  | 
| 1087   "SquareIntersection;": "\u2293", |  | 
| 1088   "SquareSubset;": "\u228f", |  | 
| 1089   "SquareSubsetEqual;": "\u2291", |  | 
| 1090   "SquareSuperset;": "\u2290", |  | 
| 1091   "SquareSupersetEqual;": "\u2292", |  | 
| 1092   "SquareUnion;": "\u2294", |  | 
| 1093   "Sscr;": "\u{01d4ae}", |  | 
| 1094   "Star;": "\u22c6", |  | 
| 1095   "Sub;": "\u22d0", |  | 
| 1096   "Subset;": "\u22d0", |  | 
| 1097   "SubsetEqual;": "\u2286", |  | 
| 1098   "Succeeds;": "\u227b", |  | 
| 1099   "SucceedsEqual;": "\u2ab0", |  | 
| 1100   "SucceedsSlantEqual;": "\u227d", |  | 
| 1101   "SucceedsTilde;": "\u227f", |  | 
| 1102   "SuchThat;": "\u220b", |  | 
| 1103   "Sum;": "\u2211", |  | 
| 1104   "Sup;": "\u22d1", |  | 
| 1105   "Superset;": "\u2283", |  | 
| 1106   "SupersetEqual;": "\u2287", |  | 
| 1107   "Supset;": "\u22d1", |  | 
| 1108   "THORN": "\xde", |  | 
| 1109   "THORN;": "\xde", |  | 
| 1110   "TRADE;": "\u2122", |  | 
| 1111   "TSHcy;": "\u040b", |  | 
| 1112   "TScy;": "\u0426", |  | 
| 1113   "Tab;": "\t", |  | 
| 1114   "Tau;": "\u03a4", |  | 
| 1115   "Tcaron;": "\u0164", |  | 
| 1116   "Tcedil;": "\u0162", |  | 
| 1117   "Tcy;": "\u0422", |  | 
| 1118   "Tfr;": "\u{01d517}", |  | 
| 1119   "Therefore;": "\u2234", |  | 
| 1120   "Theta;": "\u0398", |  | 
| 1121   "ThickSpace;": "\u205f\u200a", |  | 
| 1122   "ThinSpace;": "\u2009", |  | 
| 1123   "Tilde;": "\u223c", |  | 
| 1124   "TildeEqual;": "\u2243", |  | 
| 1125   "TildeFullEqual;": "\u2245", |  | 
| 1126   "TildeTilde;": "\u2248", |  | 
| 1127   "Topf;": "\u{01d54b}", |  | 
| 1128   "TripleDot;": "\u20db", |  | 
| 1129   "Tscr;": "\u{01d4af}", |  | 
| 1130   "Tstrok;": "\u0166", |  | 
| 1131   "Uacute": "\xda", |  | 
| 1132   "Uacute;": "\xda", |  | 
| 1133   "Uarr;": "\u219f", |  | 
| 1134   "Uarrocir;": "\u2949", |  | 
| 1135   "Ubrcy;": "\u040e", |  | 
| 1136   "Ubreve;": "\u016c", |  | 
| 1137   "Ucirc": "\xdb", |  | 
| 1138   "Ucirc;": "\xdb", |  | 
| 1139   "Ucy;": "\u0423", |  | 
| 1140   "Udblac;": "\u0170", |  | 
| 1141   "Ufr;": "\u{01d518}", |  | 
| 1142   "Ugrave": "\xd9", |  | 
| 1143   "Ugrave;": "\xd9", |  | 
| 1144   "Umacr;": "\u016a", |  | 
| 1145   "UnderBar;": "_", |  | 
| 1146   "UnderBrace;": "\u23df", |  | 
| 1147   "UnderBracket;": "\u23b5", |  | 
| 1148   "UnderParenthesis;": "\u23dd", |  | 
| 1149   "Union;": "\u22c3", |  | 
| 1150   "UnionPlus;": "\u228e", |  | 
| 1151   "Uogon;": "\u0172", |  | 
| 1152   "Uopf;": "\u{01d54c}", |  | 
| 1153   "UpArrow;": "\u2191", |  | 
| 1154   "UpArrowBar;": "\u2912", |  | 
| 1155   "UpArrowDownArrow;": "\u21c5", |  | 
| 1156   "UpDownArrow;": "\u2195", |  | 
| 1157   "UpEquilibrium;": "\u296e", |  | 
| 1158   "UpTee;": "\u22a5", |  | 
| 1159   "UpTeeArrow;": "\u21a5", |  | 
| 1160   "Uparrow;": "\u21d1", |  | 
| 1161   "Updownarrow;": "\u21d5", |  | 
| 1162   "UpperLeftArrow;": "\u2196", |  | 
| 1163   "UpperRightArrow;": "\u2197", |  | 
| 1164   "Upsi;": "\u03d2", |  | 
| 1165   "Upsilon;": "\u03a5", |  | 
| 1166   "Uring;": "\u016e", |  | 
| 1167   "Uscr;": "\u{01d4b0}", |  | 
| 1168   "Utilde;": "\u0168", |  | 
| 1169   "Uuml": "\xdc", |  | 
| 1170   "Uuml;": "\xdc", |  | 
| 1171   "VDash;": "\u22ab", |  | 
| 1172   "Vbar;": "\u2aeb", |  | 
| 1173   "Vcy;": "\u0412", |  | 
| 1174   "Vdash;": "\u22a9", |  | 
| 1175   "Vdashl;": "\u2ae6", |  | 
| 1176   "Vee;": "\u22c1", |  | 
| 1177   "Verbar;": "\u2016", |  | 
| 1178   "Vert;": "\u2016", |  | 
| 1179   "VerticalBar;": "\u2223", |  | 
| 1180   "VerticalLine;": "|", |  | 
| 1181   "VerticalSeparator;": "\u2758", |  | 
| 1182   "VerticalTilde;": "\u2240", |  | 
| 1183   "VeryThinSpace;": "\u200a", |  | 
| 1184   "Vfr;": "\u{01d519}", |  | 
| 1185   "Vopf;": "\u{01d54d}", |  | 
| 1186   "Vscr;": "\u{01d4b1}", |  | 
| 1187   "Vvdash;": "\u22aa", |  | 
| 1188   "Wcirc;": "\u0174", |  | 
| 1189   "Wedge;": "\u22c0", |  | 
| 1190   "Wfr;": "\u{01d51a}", |  | 
| 1191   "Wopf;": "\u{01d54e}", |  | 
| 1192   "Wscr;": "\u{01d4b2}", |  | 
| 1193   "Xfr;": "\u{01d51b}", |  | 
| 1194   "Xi;": "\u039e", |  | 
| 1195   "Xopf;": "\u{01d54f}", |  | 
| 1196   "Xscr;": "\u{01d4b3}", |  | 
| 1197   "YAcy;": "\u042f", |  | 
| 1198   "YIcy;": "\u0407", |  | 
| 1199   "YUcy;": "\u042e", |  | 
| 1200   "Yacute": "\xdd", |  | 
| 1201   "Yacute;": "\xdd", |  | 
| 1202   "Ycirc;": "\u0176", |  | 
| 1203   "Ycy;": "\u042b", |  | 
| 1204   "Yfr;": "\u{01d51c}", |  | 
| 1205   "Yopf;": "\u{01d550}", |  | 
| 1206   "Yscr;": "\u{01d4b4}", |  | 
| 1207   "Yuml;": "\u0178", |  | 
| 1208   "ZHcy;": "\u0416", |  | 
| 1209   "Zacute;": "\u0179", |  | 
| 1210   "Zcaron;": "\u017d", |  | 
| 1211   "Zcy;": "\u0417", |  | 
| 1212   "Zdot;": "\u017b", |  | 
| 1213   "ZeroWidthSpace;": "\u200b", |  | 
| 1214   "Zeta;": "\u0396", |  | 
| 1215   "Zfr;": "\u2128", |  | 
| 1216   "Zopf;": "\u2124", |  | 
| 1217   "Zscr;": "\u{01d4b5}", |  | 
| 1218   "aacute": "\xe1", |  | 
| 1219   "aacute;": "\xe1", |  | 
| 1220   "abreve;": "\u0103", |  | 
| 1221   "ac;": "\u223e", |  | 
| 1222   "acE;": "\u223e\u0333", |  | 
| 1223   "acd;": "\u223f", |  | 
| 1224   "acirc": "\xe2", |  | 
| 1225   "acirc;": "\xe2", |  | 
| 1226   "acute": "\xb4", |  | 
| 1227   "acute;": "\xb4", |  | 
| 1228   "acy;": "\u0430", |  | 
| 1229   "aelig": "\xe6", |  | 
| 1230   "aelig;": "\xe6", |  | 
| 1231   "af;": "\u2061", |  | 
| 1232   "afr;": "\u{01d51e}", |  | 
| 1233   "agrave": "\xe0", |  | 
| 1234   "agrave;": "\xe0", |  | 
| 1235   "alefsym;": "\u2135", |  | 
| 1236   "aleph;": "\u2135", |  | 
| 1237   "alpha;": "\u03b1", |  | 
| 1238   "amacr;": "\u0101", |  | 
| 1239   "amalg;": "\u2a3f", |  | 
| 1240   "amp": "&", |  | 
| 1241   "amp;": "&", |  | 
| 1242   "and;": "\u2227", |  | 
| 1243   "andand;": "\u2a55", |  | 
| 1244   "andd;": "\u2a5c", |  | 
| 1245   "andslope;": "\u2a58", |  | 
| 1246   "andv;": "\u2a5a", |  | 
| 1247   "ang;": "\u2220", |  | 
| 1248   "ange;": "\u29a4", |  | 
| 1249   "angle;": "\u2220", |  | 
| 1250   "angmsd;": "\u2221", |  | 
| 1251   "angmsdaa;": "\u29a8", |  | 
| 1252   "angmsdab;": "\u29a9", |  | 
| 1253   "angmsdac;": "\u29aa", |  | 
| 1254   "angmsdad;": "\u29ab", |  | 
| 1255   "angmsdae;": "\u29ac", |  | 
| 1256   "angmsdaf;": "\u29ad", |  | 
| 1257   "angmsdag;": "\u29ae", |  | 
| 1258   "angmsdah;": "\u29af", |  | 
| 1259   "angrt;": "\u221f", |  | 
| 1260   "angrtvb;": "\u22be", |  | 
| 1261   "angrtvbd;": "\u299d", |  | 
| 1262   "angsph;": "\u2222", |  | 
| 1263   "angst;": "\xc5", |  | 
| 1264   "angzarr;": "\u237c", |  | 
| 1265   "aogon;": "\u0105", |  | 
| 1266   "aopf;": "\u{01d552}", |  | 
| 1267   "ap;": "\u2248", |  | 
| 1268   "apE;": "\u2a70", |  | 
| 1269   "apacir;": "\u2a6f", |  | 
| 1270   "ape;": "\u224a", |  | 
| 1271   "apid;": "\u224b", |  | 
| 1272   "apos;": "'", |  | 
| 1273   "approx;": "\u2248", |  | 
| 1274   "approxeq;": "\u224a", |  | 
| 1275   "aring": "\xe5", |  | 
| 1276   "aring;": "\xe5", |  | 
| 1277   "ascr;": "\u{01d4b6}", |  | 
| 1278   "ast;": "*", |  | 
| 1279   "asymp;": "\u2248", |  | 
| 1280   "asympeq;": "\u224d", |  | 
| 1281   "atilde": "\xe3", |  | 
| 1282   "atilde;": "\xe3", |  | 
| 1283   "auml": "\xe4", |  | 
| 1284   "auml;": "\xe4", |  | 
| 1285   "awconint;": "\u2233", |  | 
| 1286   "awint;": "\u2a11", |  | 
| 1287   "bNot;": "\u2aed", |  | 
| 1288   "backcong;": "\u224c", |  | 
| 1289   "backepsilon;": "\u03f6", |  | 
| 1290   "backprime;": "\u2035", |  | 
| 1291   "backsim;": "\u223d", |  | 
| 1292   "backsimeq;": "\u22cd", |  | 
| 1293   "barvee;": "\u22bd", |  | 
| 1294   "barwed;": "\u2305", |  | 
| 1295   "barwedge;": "\u2305", |  | 
| 1296   "bbrk;": "\u23b5", |  | 
| 1297   "bbrktbrk;": "\u23b6", |  | 
| 1298   "bcong;": "\u224c", |  | 
| 1299   "bcy;": "\u0431", |  | 
| 1300   "bdquo;": "\u201e", |  | 
| 1301   "becaus;": "\u2235", |  | 
| 1302   "because;": "\u2235", |  | 
| 1303   "bemptyv;": "\u29b0", |  | 
| 1304   "bepsi;": "\u03f6", |  | 
| 1305   "bernou;": "\u212c", |  | 
| 1306   "beta;": "\u03b2", |  | 
| 1307   "beth;": "\u2136", |  | 
| 1308   "between;": "\u226c", |  | 
| 1309   "bfr;": "\u{01d51f}", |  | 
| 1310   "bigcap;": "\u22c2", |  | 
| 1311   "bigcirc;": "\u25ef", |  | 
| 1312   "bigcup;": "\u22c3", |  | 
| 1313   "bigodot;": "\u2a00", |  | 
| 1314   "bigoplus;": "\u2a01", |  | 
| 1315   "bigotimes;": "\u2a02", |  | 
| 1316   "bigsqcup;": "\u2a06", |  | 
| 1317   "bigstar;": "\u2605", |  | 
| 1318   "bigtriangledown;": "\u25bd", |  | 
| 1319   "bigtriangleup;": "\u25b3", |  | 
| 1320   "biguplus;": "\u2a04", |  | 
| 1321   "bigvee;": "\u22c1", |  | 
| 1322   "bigwedge;": "\u22c0", |  | 
| 1323   "bkarow;": "\u290d", |  | 
| 1324   "blacklozenge;": "\u29eb", |  | 
| 1325   "blacksquare;": "\u25aa", |  | 
| 1326   "blacktriangle;": "\u25b4", |  | 
| 1327   "blacktriangledown;": "\u25be", |  | 
| 1328   "blacktriangleleft;": "\u25c2", |  | 
| 1329   "blacktriangleright;": "\u25b8", |  | 
| 1330   "blank;": "\u2423", |  | 
| 1331   "blk12;": "\u2592", |  | 
| 1332   "blk14;": "\u2591", |  | 
| 1333   "blk34;": "\u2593", |  | 
| 1334   "block;": "\u2588", |  | 
| 1335   "bne;": "=\u20e5", |  | 
| 1336   "bnequiv;": "\u2261\u20e5", |  | 
| 1337   "bnot;": "\u2310", |  | 
| 1338   "bopf;": "\u{01d553}", |  | 
| 1339   "bot;": "\u22a5", |  | 
| 1340   "bottom;": "\u22a5", |  | 
| 1341   "bowtie;": "\u22c8", |  | 
| 1342   "boxDL;": "\u2557", |  | 
| 1343   "boxDR;": "\u2554", |  | 
| 1344   "boxDl;": "\u2556", |  | 
| 1345   "boxDr;": "\u2553", |  | 
| 1346   "boxH;": "\u2550", |  | 
| 1347   "boxHD;": "\u2566", |  | 
| 1348   "boxHU;": "\u2569", |  | 
| 1349   "boxHd;": "\u2564", |  | 
| 1350   "boxHu;": "\u2567", |  | 
| 1351   "boxUL;": "\u255d", |  | 
| 1352   "boxUR;": "\u255a", |  | 
| 1353   "boxUl;": "\u255c", |  | 
| 1354   "boxUr;": "\u2559", |  | 
| 1355   "boxV;": "\u2551", |  | 
| 1356   "boxVH;": "\u256c", |  | 
| 1357   "boxVL;": "\u2563", |  | 
| 1358   "boxVR;": "\u2560", |  | 
| 1359   "boxVh;": "\u256b", |  | 
| 1360   "boxVl;": "\u2562", |  | 
| 1361   "boxVr;": "\u255f", |  | 
| 1362   "boxbox;": "\u29c9", |  | 
| 1363   "boxdL;": "\u2555", |  | 
| 1364   "boxdR;": "\u2552", |  | 
| 1365   "boxdl;": "\u2510", |  | 
| 1366   "boxdr;": "\u250c", |  | 
| 1367   "boxh;": "\u2500", |  | 
| 1368   "boxhD;": "\u2565", |  | 
| 1369   "boxhU;": "\u2568", |  | 
| 1370   "boxhd;": "\u252c", |  | 
| 1371   "boxhu;": "\u2534", |  | 
| 1372   "boxminus;": "\u229f", |  | 
| 1373   "boxplus;": "\u229e", |  | 
| 1374   "boxtimes;": "\u22a0", |  | 
| 1375   "boxuL;": "\u255b", |  | 
| 1376   "boxuR;": "\u2558", |  | 
| 1377   "boxul;": "\u2518", |  | 
| 1378   "boxur;": "\u2514", |  | 
| 1379   "boxv;": "\u2502", |  | 
| 1380   "boxvH;": "\u256a", |  | 
| 1381   "boxvL;": "\u2561", |  | 
| 1382   "boxvR;": "\u255e", |  | 
| 1383   "boxvh;": "\u253c", |  | 
| 1384   "boxvl;": "\u2524", |  | 
| 1385   "boxvr;": "\u251c", |  | 
| 1386   "bprime;": "\u2035", |  | 
| 1387   "breve;": "\u02d8", |  | 
| 1388   "brvbar": "\xa6", |  | 
| 1389   "brvbar;": "\xa6", |  | 
| 1390   "bscr;": "\u{01d4b7}", |  | 
| 1391   "bsemi;": "\u204f", |  | 
| 1392   "bsim;": "\u223d", |  | 
| 1393   "bsime;": "\u22cd", |  | 
| 1394   "bsol;": "\\", |  | 
| 1395   "bsolb;": "\u29c5", |  | 
| 1396   "bsolhsub;": "\u27c8", |  | 
| 1397   "bull;": "\u2022", |  | 
| 1398   "bullet;": "\u2022", |  | 
| 1399   "bump;": "\u224e", |  | 
| 1400   "bumpE;": "\u2aae", |  | 
| 1401   "bumpe;": "\u224f", |  | 
| 1402   "bumpeq;": "\u224f", |  | 
| 1403   "cacute;": "\u0107", |  | 
| 1404   "cap;": "\u2229", |  | 
| 1405   "capand;": "\u2a44", |  | 
| 1406   "capbrcup;": "\u2a49", |  | 
| 1407   "capcap;": "\u2a4b", |  | 
| 1408   "capcup;": "\u2a47", |  | 
| 1409   "capdot;": "\u2a40", |  | 
| 1410   "caps;": "\u2229\ufe00", |  | 
| 1411   "caret;": "\u2041", |  | 
| 1412   "caron;": "\u02c7", |  | 
| 1413   "ccaps;": "\u2a4d", |  | 
| 1414   "ccaron;": "\u010d", |  | 
| 1415   "ccedil": "\xe7", |  | 
| 1416   "ccedil;": "\xe7", |  | 
| 1417   "ccirc;": "\u0109", |  | 
| 1418   "ccups;": "\u2a4c", |  | 
| 1419   "ccupssm;": "\u2a50", |  | 
| 1420   "cdot;": "\u010b", |  | 
| 1421   "cedil": "\xb8", |  | 
| 1422   "cedil;": "\xb8", |  | 
| 1423   "cemptyv;": "\u29b2", |  | 
| 1424   "cent": "\xa2", |  | 
| 1425   "cent;": "\xa2", |  | 
| 1426   "centerdot;": "\xb7", |  | 
| 1427   "cfr;": "\u{01d520}", |  | 
| 1428   "chcy;": "\u0447", |  | 
| 1429   "check;": "\u2713", |  | 
| 1430   "checkmark;": "\u2713", |  | 
| 1431   "chi;": "\u03c7", |  | 
| 1432   "cir;": "\u25cb", |  | 
| 1433   "cirE;": "\u29c3", |  | 
| 1434   "circ;": "\u02c6", |  | 
| 1435   "circeq;": "\u2257", |  | 
| 1436   "circlearrowleft;": "\u21ba", |  | 
| 1437   "circlearrowright;": "\u21bb", |  | 
| 1438   "circledR;": "\xae", |  | 
| 1439   "circledS;": "\u24c8", |  | 
| 1440   "circledast;": "\u229b", |  | 
| 1441   "circledcirc;": "\u229a", |  | 
| 1442   "circleddash;": "\u229d", |  | 
| 1443   "cire;": "\u2257", |  | 
| 1444   "cirfnint;": "\u2a10", |  | 
| 1445   "cirmid;": "\u2aef", |  | 
| 1446   "cirscir;": "\u29c2", |  | 
| 1447   "clubs;": "\u2663", |  | 
| 1448   "clubsuit;": "\u2663", |  | 
| 1449   "colon;": ":", |  | 
| 1450   "colone;": "\u2254", |  | 
| 1451   "coloneq;": "\u2254", |  | 
| 1452   "comma;": ",", |  | 
| 1453   "commat;": "@", |  | 
| 1454   "comp;": "\u2201", |  | 
| 1455   "compfn;": "\u2218", |  | 
| 1456   "complement;": "\u2201", |  | 
| 1457   "complexes;": "\u2102", |  | 
| 1458   "cong;": "\u2245", |  | 
| 1459   "congdot;": "\u2a6d", |  | 
| 1460   "conint;": "\u222e", |  | 
| 1461   "copf;": "\u{01d554}", |  | 
| 1462   "coprod;": "\u2210", |  | 
| 1463   "copy": "\xa9", |  | 
| 1464   "copy;": "\xa9", |  | 
| 1465   "copysr;": "\u2117", |  | 
| 1466   "crarr;": "\u21b5", |  | 
| 1467   "cross;": "\u2717", |  | 
| 1468   "cscr;": "\u{01d4b8}", |  | 
| 1469   "csub;": "\u2acf", |  | 
| 1470   "csube;": "\u2ad1", |  | 
| 1471   "csup;": "\u2ad0", |  | 
| 1472   "csupe;": "\u2ad2", |  | 
| 1473   "ctdot;": "\u22ef", |  | 
| 1474   "cudarrl;": "\u2938", |  | 
| 1475   "cudarrr;": "\u2935", |  | 
| 1476   "cuepr;": "\u22de", |  | 
| 1477   "cuesc;": "\u22df", |  | 
| 1478   "cularr;": "\u21b6", |  | 
| 1479   "cularrp;": "\u293d", |  | 
| 1480   "cup;": "\u222a", |  | 
| 1481   "cupbrcap;": "\u2a48", |  | 
| 1482   "cupcap;": "\u2a46", |  | 
| 1483   "cupcup;": "\u2a4a", |  | 
| 1484   "cupdot;": "\u228d", |  | 
| 1485   "cupor;": "\u2a45", |  | 
| 1486   "cups;": "\u222a\ufe00", |  | 
| 1487   "curarr;": "\u21b7", |  | 
| 1488   "curarrm;": "\u293c", |  | 
| 1489   "curlyeqprec;": "\u22de", |  | 
| 1490   "curlyeqsucc;": "\u22df", |  | 
| 1491   "curlyvee;": "\u22ce", |  | 
| 1492   "curlywedge;": "\u22cf", |  | 
| 1493   "curren": "\xa4", |  | 
| 1494   "curren;": "\xa4", |  | 
| 1495   "curvearrowleft;": "\u21b6", |  | 
| 1496   "curvearrowright;": "\u21b7", |  | 
| 1497   "cuvee;": "\u22ce", |  | 
| 1498   "cuwed;": "\u22cf", |  | 
| 1499   "cwconint;": "\u2232", |  | 
| 1500   "cwint;": "\u2231", |  | 
| 1501   "cylcty;": "\u232d", |  | 
| 1502   "dArr;": "\u21d3", |  | 
| 1503   "dHar;": "\u2965", |  | 
| 1504   "dagger;": "\u2020", |  | 
| 1505   "daleth;": "\u2138", |  | 
| 1506   "darr;": "\u2193", |  | 
| 1507   "dash;": "\u2010", |  | 
| 1508   "dashv;": "\u22a3", |  | 
| 1509   "dbkarow;": "\u290f", |  | 
| 1510   "dblac;": "\u02dd", |  | 
| 1511   "dcaron;": "\u010f", |  | 
| 1512   "dcy;": "\u0434", |  | 
| 1513   "dd;": "\u2146", |  | 
| 1514   "ddagger;": "\u2021", |  | 
| 1515   "ddarr;": "\u21ca", |  | 
| 1516   "ddotseq;": "\u2a77", |  | 
| 1517   "deg": "\xb0", |  | 
| 1518   "deg;": "\xb0", |  | 
| 1519   "delta;": "\u03b4", |  | 
| 1520   "demptyv;": "\u29b1", |  | 
| 1521   "dfisht;": "\u297f", |  | 
| 1522   "dfr;": "\u{01d521}", |  | 
| 1523   "dharl;": "\u21c3", |  | 
| 1524   "dharr;": "\u21c2", |  | 
| 1525   "diam;": "\u22c4", |  | 
| 1526   "diamond;": "\u22c4", |  | 
| 1527   "diamondsuit;": "\u2666", |  | 
| 1528   "diams;": "\u2666", |  | 
| 1529   "die;": "\xa8", |  | 
| 1530   "digamma;": "\u03dd", |  | 
| 1531   "disin;": "\u22f2", |  | 
| 1532   "div;": "\xf7", |  | 
| 1533   "divide": "\xf7", |  | 
| 1534   "divide;": "\xf7", |  | 
| 1535   "divideontimes;": "\u22c7", |  | 
| 1536   "divonx;": "\u22c7", |  | 
| 1537   "djcy;": "\u0452", |  | 
| 1538   "dlcorn;": "\u231e", |  | 
| 1539   "dlcrop;": "\u230d", |  | 
| 1540   "dollar;": "\$", |  | 
| 1541   "dopf;": "\u{01d555}", |  | 
| 1542   "dot;": "\u02d9", |  | 
| 1543   "doteq;": "\u2250", |  | 
| 1544   "doteqdot;": "\u2251", |  | 
| 1545   "dotminus;": "\u2238", |  | 
| 1546   "dotplus;": "\u2214", |  | 
| 1547   "dotsquare;": "\u22a1", |  | 
| 1548   "doublebarwedge;": "\u2306", |  | 
| 1549   "downarrow;": "\u2193", |  | 
| 1550   "downdownarrows;": "\u21ca", |  | 
| 1551   "downharpoonleft;": "\u21c3", |  | 
| 1552   "downharpoonright;": "\u21c2", |  | 
| 1553   "drbkarow;": "\u2910", |  | 
| 1554   "drcorn;": "\u231f", |  | 
| 1555   "drcrop;": "\u230c", |  | 
| 1556   "dscr;": "\u{01d4b9}", |  | 
| 1557   "dscy;": "\u0455", |  | 
| 1558   "dsol;": "\u29f6", |  | 
| 1559   "dstrok;": "\u0111", |  | 
| 1560   "dtdot;": "\u22f1", |  | 
| 1561   "dtri;": "\u25bf", |  | 
| 1562   "dtrif;": "\u25be", |  | 
| 1563   "duarr;": "\u21f5", |  | 
| 1564   "duhar;": "\u296f", |  | 
| 1565   "dwangle;": "\u29a6", |  | 
| 1566   "dzcy;": "\u045f", |  | 
| 1567   "dzigrarr;": "\u27ff", |  | 
| 1568   "eDDot;": "\u2a77", |  | 
| 1569   "eDot;": "\u2251", |  | 
| 1570   "eacute": "\xe9", |  | 
| 1571   "eacute;": "\xe9", |  | 
| 1572   "easter;": "\u2a6e", |  | 
| 1573   "ecaron;": "\u011b", |  | 
| 1574   "ecir;": "\u2256", |  | 
| 1575   "ecirc": "\xea", |  | 
| 1576   "ecirc;": "\xea", |  | 
| 1577   "ecolon;": "\u2255", |  | 
| 1578   "ecy;": "\u044d", |  | 
| 1579   "edot;": "\u0117", |  | 
| 1580   "ee;": "\u2147", |  | 
| 1581   "efDot;": "\u2252", |  | 
| 1582   "efr;": "\u{01d522}", |  | 
| 1583   "eg;": "\u2a9a", |  | 
| 1584   "egrave": "\xe8", |  | 
| 1585   "egrave;": "\xe8", |  | 
| 1586   "egs;": "\u2a96", |  | 
| 1587   "egsdot;": "\u2a98", |  | 
| 1588   "el;": "\u2a99", |  | 
| 1589   "elinters;": "\u23e7", |  | 
| 1590   "ell;": "\u2113", |  | 
| 1591   "els;": "\u2a95", |  | 
| 1592   "elsdot;": "\u2a97", |  | 
| 1593   "emacr;": "\u0113", |  | 
| 1594   "empty;": "\u2205", |  | 
| 1595   "emptyset;": "\u2205", |  | 
| 1596   "emptyv;": "\u2205", |  | 
| 1597   "emsp13;": "\u2004", |  | 
| 1598   "emsp14;": "\u2005", |  | 
| 1599   "emsp;": "\u2003", |  | 
| 1600   "eng;": "\u014b", |  | 
| 1601   "ensp;": "\u2002", |  | 
| 1602   "eogon;": "\u0119", |  | 
| 1603   "eopf;": "\u{01d556}", |  | 
| 1604   "epar;": "\u22d5", |  | 
| 1605   "eparsl;": "\u29e3", |  | 
| 1606   "eplus;": "\u2a71", |  | 
| 1607   "epsi;": "\u03b5", |  | 
| 1608   "epsilon;": "\u03b5", |  | 
| 1609   "epsiv;": "\u03f5", |  | 
| 1610   "eqcirc;": "\u2256", |  | 
| 1611   "eqcolon;": "\u2255", |  | 
| 1612   "eqsim;": "\u2242", |  | 
| 1613   "eqslantgtr;": "\u2a96", |  | 
| 1614   "eqslantless;": "\u2a95", |  | 
| 1615   "equals;": "=", |  | 
| 1616   "equest;": "\u225f", |  | 
| 1617   "equiv;": "\u2261", |  | 
| 1618   "equivDD;": "\u2a78", |  | 
| 1619   "eqvparsl;": "\u29e5", |  | 
| 1620   "erDot;": "\u2253", |  | 
| 1621   "erarr;": "\u2971", |  | 
| 1622   "escr;": "\u212f", |  | 
| 1623   "esdot;": "\u2250", |  | 
| 1624   "esim;": "\u2242", |  | 
| 1625   "eta;": "\u03b7", |  | 
| 1626   "eth": "\xf0", |  | 
| 1627   "eth;": "\xf0", |  | 
| 1628   "euml": "\xeb", |  | 
| 1629   "euml;": "\xeb", |  | 
| 1630   "euro;": "\u20ac", |  | 
| 1631   "excl;": "!", |  | 
| 1632   "exist;": "\u2203", |  | 
| 1633   "expectation;": "\u2130", |  | 
| 1634   "exponentiale;": "\u2147", |  | 
| 1635   "fallingdotseq;": "\u2252", |  | 
| 1636   "fcy;": "\u0444", |  | 
| 1637   "female;": "\u2640", |  | 
| 1638   "ffilig;": "\ufb03", |  | 
| 1639   "fflig;": "\ufb00", |  | 
| 1640   "ffllig;": "\ufb04", |  | 
| 1641   "ffr;": "\u{01d523}", |  | 
| 1642   "filig;": "\ufb01", |  | 
| 1643   "fjlig;": "fj", |  | 
| 1644   "flat;": "\u266d", |  | 
| 1645   "fllig;": "\ufb02", |  | 
| 1646   "fltns;": "\u25b1", |  | 
| 1647   "fnof;": "\u0192", |  | 
| 1648   "fopf;": "\u{01d557}", |  | 
| 1649   "forall;": "\u2200", |  | 
| 1650   "fork;": "\u22d4", |  | 
| 1651   "forkv;": "\u2ad9", |  | 
| 1652   "fpartint;": "\u2a0d", |  | 
| 1653   "frac12": "\xbd", |  | 
| 1654   "frac12;": "\xbd", |  | 
| 1655   "frac13;": "\u2153", |  | 
| 1656   "frac14": "\xbc", |  | 
| 1657   "frac14;": "\xbc", |  | 
| 1658   "frac15;": "\u2155", |  | 
| 1659   "frac16;": "\u2159", |  | 
| 1660   "frac18;": "\u215b", |  | 
| 1661   "frac23;": "\u2154", |  | 
| 1662   "frac25;": "\u2156", |  | 
| 1663   "frac34": "\xbe", |  | 
| 1664   "frac34;": "\xbe", |  | 
| 1665   "frac35;": "\u2157", |  | 
| 1666   "frac38;": "\u215c", |  | 
| 1667   "frac45;": "\u2158", |  | 
| 1668   "frac56;": "\u215a", |  | 
| 1669   "frac58;": "\u215d", |  | 
| 1670   "frac78;": "\u215e", |  | 
| 1671   "frasl;": "\u2044", |  | 
| 1672   "frown;": "\u2322", |  | 
| 1673   "fscr;": "\u{01d4bb}", |  | 
| 1674   "gE;": "\u2267", |  | 
| 1675   "gEl;": "\u2a8c", |  | 
| 1676   "gacute;": "\u01f5", |  | 
| 1677   "gamma;": "\u03b3", |  | 
| 1678   "gammad;": "\u03dd", |  | 
| 1679   "gap;": "\u2a86", |  | 
| 1680   "gbreve;": "\u011f", |  | 
| 1681   "gcirc;": "\u011d", |  | 
| 1682   "gcy;": "\u0433", |  | 
| 1683   "gdot;": "\u0121", |  | 
| 1684   "ge;": "\u2265", |  | 
| 1685   "gel;": "\u22db", |  | 
| 1686   "geq;": "\u2265", |  | 
| 1687   "geqq;": "\u2267", |  | 
| 1688   "geqslant;": "\u2a7e", |  | 
| 1689   "ges;": "\u2a7e", |  | 
| 1690   "gescc;": "\u2aa9", |  | 
| 1691   "gesdot;": "\u2a80", |  | 
| 1692   "gesdoto;": "\u2a82", |  | 
| 1693   "gesdotol;": "\u2a84", |  | 
| 1694   "gesl;": "\u22db\ufe00", |  | 
| 1695   "gesles;": "\u2a94", |  | 
| 1696   "gfr;": "\u{01d524}", |  | 
| 1697   "gg;": "\u226b", |  | 
| 1698   "ggg;": "\u22d9", |  | 
| 1699   "gimel;": "\u2137", |  | 
| 1700   "gjcy;": "\u0453", |  | 
| 1701   "gl;": "\u2277", |  | 
| 1702   "glE;": "\u2a92", |  | 
| 1703   "gla;": "\u2aa5", |  | 
| 1704   "glj;": "\u2aa4", |  | 
| 1705   "gnE;": "\u2269", |  | 
| 1706   "gnap;": "\u2a8a", |  | 
| 1707   "gnapprox;": "\u2a8a", |  | 
| 1708   "gne;": "\u2a88", |  | 
| 1709   "gneq;": "\u2a88", |  | 
| 1710   "gneqq;": "\u2269", |  | 
| 1711   "gnsim;": "\u22e7", |  | 
| 1712   "gopf;": "\u{01d558}", |  | 
| 1713   "grave;": "`", |  | 
| 1714   "gscr;": "\u210a", |  | 
| 1715   "gsim;": "\u2273", |  | 
| 1716   "gsime;": "\u2a8e", |  | 
| 1717   "gsiml;": "\u2a90", |  | 
| 1718   "gt": ">", |  | 
| 1719   "gt;": ">", |  | 
| 1720   "gtcc;": "\u2aa7", |  | 
| 1721   "gtcir;": "\u2a7a", |  | 
| 1722   "gtdot;": "\u22d7", |  | 
| 1723   "gtlPar;": "\u2995", |  | 
| 1724   "gtquest;": "\u2a7c", |  | 
| 1725   "gtrapprox;": "\u2a86", |  | 
| 1726   "gtrarr;": "\u2978", |  | 
| 1727   "gtrdot;": "\u22d7", |  | 
| 1728   "gtreqless;": "\u22db", |  | 
| 1729   "gtreqqless;": "\u2a8c", |  | 
| 1730   "gtrless;": "\u2277", |  | 
| 1731   "gtrsim;": "\u2273", |  | 
| 1732   "gvertneqq;": "\u2269\ufe00", |  | 
| 1733   "gvnE;": "\u2269\ufe00", |  | 
| 1734   "hArr;": "\u21d4", |  | 
| 1735   "hairsp;": "\u200a", |  | 
| 1736   "half;": "\xbd", |  | 
| 1737   "hamilt;": "\u210b", |  | 
| 1738   "hardcy;": "\u044a", |  | 
| 1739   "harr;": "\u2194", |  | 
| 1740   "harrcir;": "\u2948", |  | 
| 1741   "harrw;": "\u21ad", |  | 
| 1742   "hbar;": "\u210f", |  | 
| 1743   "hcirc;": "\u0125", |  | 
| 1744   "hearts;": "\u2665", |  | 
| 1745   "heartsuit;": "\u2665", |  | 
| 1746   "hellip;": "\u2026", |  | 
| 1747   "hercon;": "\u22b9", |  | 
| 1748   "hfr;": "\u{01d525}", |  | 
| 1749   "hksearow;": "\u2925", |  | 
| 1750   "hkswarow;": "\u2926", |  | 
| 1751   "hoarr;": "\u21ff", |  | 
| 1752   "homtht;": "\u223b", |  | 
| 1753   "hookleftarrow;": "\u21a9", |  | 
| 1754   "hookrightarrow;": "\u21aa", |  | 
| 1755   "hopf;": "\u{01d559}", |  | 
| 1756   "horbar;": "\u2015", |  | 
| 1757   "hscr;": "\u{01d4bd}", |  | 
| 1758   "hslash;": "\u210f", |  | 
| 1759   "hstrok;": "\u0127", |  | 
| 1760   "hybull;": "\u2043", |  | 
| 1761   "hyphen;": "\u2010", |  | 
| 1762   "iacute": "\xed", |  | 
| 1763   "iacute;": "\xed", |  | 
| 1764   "ic;": "\u2063", |  | 
| 1765   "icirc": "\xee", |  | 
| 1766   "icirc;": "\xee", |  | 
| 1767   "icy;": "\u0438", |  | 
| 1768   "iecy;": "\u0435", |  | 
| 1769   "iexcl": "\xa1", |  | 
| 1770   "iexcl;": "\xa1", |  | 
| 1771   "iff;": "\u21d4", |  | 
| 1772   "ifr;": "\u{01d526}", |  | 
| 1773   "igrave": "\xec", |  | 
| 1774   "igrave;": "\xec", |  | 
| 1775   "ii;": "\u2148", |  | 
| 1776   "iiiint;": "\u2a0c", |  | 
| 1777   "iiint;": "\u222d", |  | 
| 1778   "iinfin;": "\u29dc", |  | 
| 1779   "iiota;": "\u2129", |  | 
| 1780   "ijlig;": "\u0133", |  | 
| 1781   "imacr;": "\u012b", |  | 
| 1782   "image;": "\u2111", |  | 
| 1783   "imagline;": "\u2110", |  | 
| 1784   "imagpart;": "\u2111", |  | 
| 1785   "imath;": "\u0131", |  | 
| 1786   "imof;": "\u22b7", |  | 
| 1787   "imped;": "\u01b5", |  | 
| 1788   "in;": "\u2208", |  | 
| 1789   "incare;": "\u2105", |  | 
| 1790   "infin;": "\u221e", |  | 
| 1791   "infintie;": "\u29dd", |  | 
| 1792   "inodot;": "\u0131", |  | 
| 1793   "int;": "\u222b", |  | 
| 1794   "intcal;": "\u22ba", |  | 
| 1795   "integers;": "\u2124", |  | 
| 1796   "intercal;": "\u22ba", |  | 
| 1797   "intlarhk;": "\u2a17", |  | 
| 1798   "intprod;": "\u2a3c", |  | 
| 1799   "iocy;": "\u0451", |  | 
| 1800   "iogon;": "\u012f", |  | 
| 1801   "iopf;": "\u{01d55a}", |  | 
| 1802   "iota;": "\u03b9", |  | 
| 1803   "iprod;": "\u2a3c", |  | 
| 1804   "iquest": "\xbf", |  | 
| 1805   "iquest;": "\xbf", |  | 
| 1806   "iscr;": "\u{01d4be}", |  | 
| 1807   "isin;": "\u2208", |  | 
| 1808   "isinE;": "\u22f9", |  | 
| 1809   "isindot;": "\u22f5", |  | 
| 1810   "isins;": "\u22f4", |  | 
| 1811   "isinsv;": "\u22f3", |  | 
| 1812   "isinv;": "\u2208", |  | 
| 1813   "it;": "\u2062", |  | 
| 1814   "itilde;": "\u0129", |  | 
| 1815   "iukcy;": "\u0456", |  | 
| 1816   "iuml": "\xef", |  | 
| 1817   "iuml;": "\xef", |  | 
| 1818   "jcirc;": "\u0135", |  | 
| 1819   "jcy;": "\u0439", |  | 
| 1820   "jfr;": "\u{01d527}", |  | 
| 1821   "jmath;": "\u0237", |  | 
| 1822   "jopf;": "\u{01d55b}", |  | 
| 1823   "jscr;": "\u{01d4bf}", |  | 
| 1824   "jsercy;": "\u0458", |  | 
| 1825   "jukcy;": "\u0454", |  | 
| 1826   "kappa;": "\u03ba", |  | 
| 1827   "kappav;": "\u03f0", |  | 
| 1828   "kcedil;": "\u0137", |  | 
| 1829   "kcy;": "\u043a", |  | 
| 1830   "kfr;": "\u{01d528}", |  | 
| 1831   "kgreen;": "\u0138", |  | 
| 1832   "khcy;": "\u0445", |  | 
| 1833   "kjcy;": "\u045c", |  | 
| 1834   "kopf;": "\u{01d55c}", |  | 
| 1835   "kscr;": "\u{01d4c0}", |  | 
| 1836   "lAarr;": "\u21da", |  | 
| 1837   "lArr;": "\u21d0", |  | 
| 1838   "lAtail;": "\u291b", |  | 
| 1839   "lBarr;": "\u290e", |  | 
| 1840   "lE;": "\u2266", |  | 
| 1841   "lEg;": "\u2a8b", |  | 
| 1842   "lHar;": "\u2962", |  | 
| 1843   "lacute;": "\u013a", |  | 
| 1844   "laemptyv;": "\u29b4", |  | 
| 1845   "lagran;": "\u2112", |  | 
| 1846   "lambda;": "\u03bb", |  | 
| 1847   "lang;": "\u27e8", |  | 
| 1848   "langd;": "\u2991", |  | 
| 1849   "langle;": "\u27e8", |  | 
| 1850   "lap;": "\u2a85", |  | 
| 1851   "laquo": "\xab", |  | 
| 1852   "laquo;": "\xab", |  | 
| 1853   "larr;": "\u2190", |  | 
| 1854   "larrb;": "\u21e4", |  | 
| 1855   "larrbfs;": "\u291f", |  | 
| 1856   "larrfs;": "\u291d", |  | 
| 1857   "larrhk;": "\u21a9", |  | 
| 1858   "larrlp;": "\u21ab", |  | 
| 1859   "larrpl;": "\u2939", |  | 
| 1860   "larrsim;": "\u2973", |  | 
| 1861   "larrtl;": "\u21a2", |  | 
| 1862   "lat;": "\u2aab", |  | 
| 1863   "latail;": "\u2919", |  | 
| 1864   "late;": "\u2aad", |  | 
| 1865   "lates;": "\u2aad\ufe00", |  | 
| 1866   "lbarr;": "\u290c", |  | 
| 1867   "lbbrk;": "\u2772", |  | 
| 1868   "lbrace;": "{", |  | 
| 1869   "lbrack;": "[", |  | 
| 1870   "lbrke;": "\u298b", |  | 
| 1871   "lbrksld;": "\u298f", |  | 
| 1872   "lbrkslu;": "\u298d", |  | 
| 1873   "lcaron;": "\u013e", |  | 
| 1874   "lcedil;": "\u013c", |  | 
| 1875   "lceil;": "\u2308", |  | 
| 1876   "lcub;": "{", |  | 
| 1877   "lcy;": "\u043b", |  | 
| 1878   "ldca;": "\u2936", |  | 
| 1879   "ldquo;": "\u201c", |  | 
| 1880   "ldquor;": "\u201e", |  | 
| 1881   "ldrdhar;": "\u2967", |  | 
| 1882   "ldrushar;": "\u294b", |  | 
| 1883   "ldsh;": "\u21b2", |  | 
| 1884   "le;": "\u2264", |  | 
| 1885   "leftarrow;": "\u2190", |  | 
| 1886   "leftarrowtail;": "\u21a2", |  | 
| 1887   "leftharpoondown;": "\u21bd", |  | 
| 1888   "leftharpoonup;": "\u21bc", |  | 
| 1889   "leftleftarrows;": "\u21c7", |  | 
| 1890   "leftrightarrow;": "\u2194", |  | 
| 1891   "leftrightarrows;": "\u21c6", |  | 
| 1892   "leftrightharpoons;": "\u21cb", |  | 
| 1893   "leftrightsquigarrow;": "\u21ad", |  | 
| 1894   "leftthreetimes;": "\u22cb", |  | 
| 1895   "leg;": "\u22da", |  | 
| 1896   "leq;": "\u2264", |  | 
| 1897   "leqq;": "\u2266", |  | 
| 1898   "leqslant;": "\u2a7d", |  | 
| 1899   "les;": "\u2a7d", |  | 
| 1900   "lescc;": "\u2aa8", |  | 
| 1901   "lesdot;": "\u2a7f", |  | 
| 1902   "lesdoto;": "\u2a81", |  | 
| 1903   "lesdotor;": "\u2a83", |  | 
| 1904   "lesg;": "\u22da\ufe00", |  | 
| 1905   "lesges;": "\u2a93", |  | 
| 1906   "lessapprox;": "\u2a85", |  | 
| 1907   "lessdot;": "\u22d6", |  | 
| 1908   "lesseqgtr;": "\u22da", |  | 
| 1909   "lesseqqgtr;": "\u2a8b", |  | 
| 1910   "lessgtr;": "\u2276", |  | 
| 1911   "lesssim;": "\u2272", |  | 
| 1912   "lfisht;": "\u297c", |  | 
| 1913   "lfloor;": "\u230a", |  | 
| 1914   "lfr;": "\u{01d529}", |  | 
| 1915   "lg;": "\u2276", |  | 
| 1916   "lgE;": "\u2a91", |  | 
| 1917   "lhard;": "\u21bd", |  | 
| 1918   "lharu;": "\u21bc", |  | 
| 1919   "lharul;": "\u296a", |  | 
| 1920   "lhblk;": "\u2584", |  | 
| 1921   "ljcy;": "\u0459", |  | 
| 1922   "ll;": "\u226a", |  | 
| 1923   "llarr;": "\u21c7", |  | 
| 1924   "llcorner;": "\u231e", |  | 
| 1925   "llhard;": "\u296b", |  | 
| 1926   "lltri;": "\u25fa", |  | 
| 1927   "lmidot;": "\u0140", |  | 
| 1928   "lmoust;": "\u23b0", |  | 
| 1929   "lmoustache;": "\u23b0", |  | 
| 1930   "lnE;": "\u2268", |  | 
| 1931   "lnap;": "\u2a89", |  | 
| 1932   "lnapprox;": "\u2a89", |  | 
| 1933   "lne;": "\u2a87", |  | 
| 1934   "lneq;": "\u2a87", |  | 
| 1935   "lneqq;": "\u2268", |  | 
| 1936   "lnsim;": "\u22e6", |  | 
| 1937   "loang;": "\u27ec", |  | 
| 1938   "loarr;": "\u21fd", |  | 
| 1939   "lobrk;": "\u27e6", |  | 
| 1940   "longleftarrow;": "\u27f5", |  | 
| 1941   "longleftrightarrow;": "\u27f7", |  | 
| 1942   "longmapsto;": "\u27fc", |  | 
| 1943   "longrightarrow;": "\u27f6", |  | 
| 1944   "looparrowleft;": "\u21ab", |  | 
| 1945   "looparrowright;": "\u21ac", |  | 
| 1946   "lopar;": "\u2985", |  | 
| 1947   "lopf;": "\u{01d55d}", |  | 
| 1948   "loplus;": "\u2a2d", |  | 
| 1949   "lotimes;": "\u2a34", |  | 
| 1950   "lowast;": "\u2217", |  | 
| 1951   "lowbar;": "_", |  | 
| 1952   "loz;": "\u25ca", |  | 
| 1953   "lozenge;": "\u25ca", |  | 
| 1954   "lozf;": "\u29eb", |  | 
| 1955   "lpar;": "(", |  | 
| 1956   "lparlt;": "\u2993", |  | 
| 1957   "lrarr;": "\u21c6", |  | 
| 1958   "lrcorner;": "\u231f", |  | 
| 1959   "lrhar;": "\u21cb", |  | 
| 1960   "lrhard;": "\u296d", |  | 
| 1961   "lrm;": "\u200e", |  | 
| 1962   "lrtri;": "\u22bf", |  | 
| 1963   "lsaquo;": "\u2039", |  | 
| 1964   "lscr;": "\u{01d4c1}", |  | 
| 1965   "lsh;": "\u21b0", |  | 
| 1966   "lsim;": "\u2272", |  | 
| 1967   "lsime;": "\u2a8d", |  | 
| 1968   "lsimg;": "\u2a8f", |  | 
| 1969   "lsqb;": "[", |  | 
| 1970   "lsquo;": "\u2018", |  | 
| 1971   "lsquor;": "\u201a", |  | 
| 1972   "lstrok;": "\u0142", |  | 
| 1973   "lt": "<", |  | 
| 1974   "lt;": "<", |  | 
| 1975   "ltcc;": "\u2aa6", |  | 
| 1976   "ltcir;": "\u2a79", |  | 
| 1977   "ltdot;": "\u22d6", |  | 
| 1978   "lthree;": "\u22cb", |  | 
| 1979   "ltimes;": "\u22c9", |  | 
| 1980   "ltlarr;": "\u2976", |  | 
| 1981   "ltquest;": "\u2a7b", |  | 
| 1982   "ltrPar;": "\u2996", |  | 
| 1983   "ltri;": "\u25c3", |  | 
| 1984   "ltrie;": "\u22b4", |  | 
| 1985   "ltrif;": "\u25c2", |  | 
| 1986   "lurdshar;": "\u294a", |  | 
| 1987   "luruhar;": "\u2966", |  | 
| 1988   "lvertneqq;": "\u2268\ufe00", |  | 
| 1989   "lvnE;": "\u2268\ufe00", |  | 
| 1990   "mDDot;": "\u223a", |  | 
| 1991   "macr": "\xaf", |  | 
| 1992   "macr;": "\xaf", |  | 
| 1993   "male;": "\u2642", |  | 
| 1994   "malt;": "\u2720", |  | 
| 1995   "maltese;": "\u2720", |  | 
| 1996   "map;": "\u21a6", |  | 
| 1997   "mapsto;": "\u21a6", |  | 
| 1998   "mapstodown;": "\u21a7", |  | 
| 1999   "mapstoleft;": "\u21a4", |  | 
| 2000   "mapstoup;": "\u21a5", |  | 
| 2001   "marker;": "\u25ae", |  | 
| 2002   "mcomma;": "\u2a29", |  | 
| 2003   "mcy;": "\u043c", |  | 
| 2004   "mdash;": "\u2014", |  | 
| 2005   "measuredangle;": "\u2221", |  | 
| 2006   "mfr;": "\u{01d52a}", |  | 
| 2007   "mho;": "\u2127", |  | 
| 2008   "micro": "\xb5", |  | 
| 2009   "micro;": "\xb5", |  | 
| 2010   "mid;": "\u2223", |  | 
| 2011   "midast;": "*", |  | 
| 2012   "midcir;": "\u2af0", |  | 
| 2013   "middot": "\xb7", |  | 
| 2014   "middot;": "\xb7", |  | 
| 2015   "minus;": "\u2212", |  | 
| 2016   "minusb;": "\u229f", |  | 
| 2017   "minusd;": "\u2238", |  | 
| 2018   "minusdu;": "\u2a2a", |  | 
| 2019   "mlcp;": "\u2adb", |  | 
| 2020   "mldr;": "\u2026", |  | 
| 2021   "mnplus;": "\u2213", |  | 
| 2022   "models;": "\u22a7", |  | 
| 2023   "mopf;": "\u{01d55e}", |  | 
| 2024   "mp;": "\u2213", |  | 
| 2025   "mscr;": "\u{01d4c2}", |  | 
| 2026   "mstpos;": "\u223e", |  | 
| 2027   "mu;": "\u03bc", |  | 
| 2028   "multimap;": "\u22b8", |  | 
| 2029   "mumap;": "\u22b8", |  | 
| 2030   "nGg;": "\u22d9\u0338", |  | 
| 2031   "nGt;": "\u226b\u20d2", |  | 
| 2032   "nGtv;": "\u226b\u0338", |  | 
| 2033   "nLeftarrow;": "\u21cd", |  | 
| 2034   "nLeftrightarrow;": "\u21ce", |  | 
| 2035   "nLl;": "\u22d8\u0338", |  | 
| 2036   "nLt;": "\u226a\u20d2", |  | 
| 2037   "nLtv;": "\u226a\u0338", |  | 
| 2038   "nRightarrow;": "\u21cf", |  | 
| 2039   "nVDash;": "\u22af", |  | 
| 2040   "nVdash;": "\u22ae", |  | 
| 2041   "nabla;": "\u2207", |  | 
| 2042   "nacute;": "\u0144", |  | 
| 2043   "nang;": "\u2220\u20d2", |  | 
| 2044   "nap;": "\u2249", |  | 
| 2045   "napE;": "\u2a70\u0338", |  | 
| 2046   "napid;": "\u224b\u0338", |  | 
| 2047   "napos;": "\u0149", |  | 
| 2048   "napprox;": "\u2249", |  | 
| 2049   "natur;": "\u266e", |  | 
| 2050   "natural;": "\u266e", |  | 
| 2051   "naturals;": "\u2115", |  | 
| 2052   "nbsp": "\xa0", |  | 
| 2053   "nbsp;": "\xa0", |  | 
| 2054   "nbump;": "\u224e\u0338", |  | 
| 2055   "nbumpe;": "\u224f\u0338", |  | 
| 2056   "ncap;": "\u2a43", |  | 
| 2057   "ncaron;": "\u0148", |  | 
| 2058   "ncedil;": "\u0146", |  | 
| 2059   "ncong;": "\u2247", |  | 
| 2060   "ncongdot;": "\u2a6d\u0338", |  | 
| 2061   "ncup;": "\u2a42", |  | 
| 2062   "ncy;": "\u043d", |  | 
| 2063   "ndash;": "\u2013", |  | 
| 2064   "ne;": "\u2260", |  | 
| 2065   "neArr;": "\u21d7", |  | 
| 2066   "nearhk;": "\u2924", |  | 
| 2067   "nearr;": "\u2197", |  | 
| 2068   "nearrow;": "\u2197", |  | 
| 2069   "nedot;": "\u2250\u0338", |  | 
| 2070   "nequiv;": "\u2262", |  | 
| 2071   "nesear;": "\u2928", |  | 
| 2072   "nesim;": "\u2242\u0338", |  | 
| 2073   "nexist;": "\u2204", |  | 
| 2074   "nexists;": "\u2204", |  | 
| 2075   "nfr;": "\u{01d52b}", |  | 
| 2076   "ngE;": "\u2267\u0338", |  | 
| 2077   "nge;": "\u2271", |  | 
| 2078   "ngeq;": "\u2271", |  | 
| 2079   "ngeqq;": "\u2267\u0338", |  | 
| 2080   "ngeqslant;": "\u2a7e\u0338", |  | 
| 2081   "nges;": "\u2a7e\u0338", |  | 
| 2082   "ngsim;": "\u2275", |  | 
| 2083   "ngt;": "\u226f", |  | 
| 2084   "ngtr;": "\u226f", |  | 
| 2085   "nhArr;": "\u21ce", |  | 
| 2086   "nharr;": "\u21ae", |  | 
| 2087   "nhpar;": "\u2af2", |  | 
| 2088   "ni;": "\u220b", |  | 
| 2089   "nis;": "\u22fc", |  | 
| 2090   "nisd;": "\u22fa", |  | 
| 2091   "niv;": "\u220b", |  | 
| 2092   "njcy;": "\u045a", |  | 
| 2093   "nlArr;": "\u21cd", |  | 
| 2094   "nlE;": "\u2266\u0338", |  | 
| 2095   "nlarr;": "\u219a", |  | 
| 2096   "nldr;": "\u2025", |  | 
| 2097   "nle;": "\u2270", |  | 
| 2098   "nleftarrow;": "\u219a", |  | 
| 2099   "nleftrightarrow;": "\u21ae", |  | 
| 2100   "nleq;": "\u2270", |  | 
| 2101   "nleqq;": "\u2266\u0338", |  | 
| 2102   "nleqslant;": "\u2a7d\u0338", |  | 
| 2103   "nles;": "\u2a7d\u0338", |  | 
| 2104   "nless;": "\u226e", |  | 
| 2105   "nlsim;": "\u2274", |  | 
| 2106   "nlt;": "\u226e", |  | 
| 2107   "nltri;": "\u22ea", |  | 
| 2108   "nltrie;": "\u22ec", |  | 
| 2109   "nmid;": "\u2224", |  | 
| 2110   "nopf;": "\u{01d55f}", |  | 
| 2111   "not": "\xac", |  | 
| 2112   "not;": "\xac", |  | 
| 2113   "notin;": "\u2209", |  | 
| 2114   "notinE;": "\u22f9\u0338", |  | 
| 2115   "notindot;": "\u22f5\u0338", |  | 
| 2116   "notinva;": "\u2209", |  | 
| 2117   "notinvb;": "\u22f7", |  | 
| 2118   "notinvc;": "\u22f6", |  | 
| 2119   "notni;": "\u220c", |  | 
| 2120   "notniva;": "\u220c", |  | 
| 2121   "notnivb;": "\u22fe", |  | 
| 2122   "notnivc;": "\u22fd", |  | 
| 2123   "npar;": "\u2226", |  | 
| 2124   "nparallel;": "\u2226", |  | 
| 2125   "nparsl;": "\u2afd\u20e5", |  | 
| 2126   "npart;": "\u2202\u0338", |  | 
| 2127   "npolint;": "\u2a14", |  | 
| 2128   "npr;": "\u2280", |  | 
| 2129   "nprcue;": "\u22e0", |  | 
| 2130   "npre;": "\u2aaf\u0338", |  | 
| 2131   "nprec;": "\u2280", |  | 
| 2132   "npreceq;": "\u2aaf\u0338", |  | 
| 2133   "nrArr;": "\u21cf", |  | 
| 2134   "nrarr;": "\u219b", |  | 
| 2135   "nrarrc;": "\u2933\u0338", |  | 
| 2136   "nrarrw;": "\u219d\u0338", |  | 
| 2137   "nrightarrow;": "\u219b", |  | 
| 2138   "nrtri;": "\u22eb", |  | 
| 2139   "nrtrie;": "\u22ed", |  | 
| 2140   "nsc;": "\u2281", |  | 
| 2141   "nsccue;": "\u22e1", |  | 
| 2142   "nsce;": "\u2ab0\u0338", |  | 
| 2143   "nscr;": "\u{01d4c3}", |  | 
| 2144   "nshortmid;": "\u2224", |  | 
| 2145   "nshortparallel;": "\u2226", |  | 
| 2146   "nsim;": "\u2241", |  | 
| 2147   "nsime;": "\u2244", |  | 
| 2148   "nsimeq;": "\u2244", |  | 
| 2149   "nsmid;": "\u2224", |  | 
| 2150   "nspar;": "\u2226", |  | 
| 2151   "nsqsube;": "\u22e2", |  | 
| 2152   "nsqsupe;": "\u22e3", |  | 
| 2153   "nsub;": "\u2284", |  | 
| 2154   "nsubE;": "\u2ac5\u0338", |  | 
| 2155   "nsube;": "\u2288", |  | 
| 2156   "nsubset;": "\u2282\u20d2", |  | 
| 2157   "nsubseteq;": "\u2288", |  | 
| 2158   "nsubseteqq;": "\u2ac5\u0338", |  | 
| 2159   "nsucc;": "\u2281", |  | 
| 2160   "nsucceq;": "\u2ab0\u0338", |  | 
| 2161   "nsup;": "\u2285", |  | 
| 2162   "nsupE;": "\u2ac6\u0338", |  | 
| 2163   "nsupe;": "\u2289", |  | 
| 2164   "nsupset;": "\u2283\u20d2", |  | 
| 2165   "nsupseteq;": "\u2289", |  | 
| 2166   "nsupseteqq;": "\u2ac6\u0338", |  | 
| 2167   "ntgl;": "\u2279", |  | 
| 2168   "ntilde": "\xf1", |  | 
| 2169   "ntilde;": "\xf1", |  | 
| 2170   "ntlg;": "\u2278", |  | 
| 2171   "ntriangleleft;": "\u22ea", |  | 
| 2172   "ntrianglelefteq;": "\u22ec", |  | 
| 2173   "ntriangleright;": "\u22eb", |  | 
| 2174   "ntrianglerighteq;": "\u22ed", |  | 
| 2175   "nu;": "\u03bd", |  | 
| 2176   "num;": "#", |  | 
| 2177   "numero;": "\u2116", |  | 
| 2178   "numsp;": "\u2007", |  | 
| 2179   "nvDash;": "\u22ad", |  | 
| 2180   "nvHarr;": "\u2904", |  | 
| 2181   "nvap;": "\u224d\u20d2", |  | 
| 2182   "nvdash;": "\u22ac", |  | 
| 2183   "nvge;": "\u2265\u20d2", |  | 
| 2184   "nvgt;": ">\u20d2", |  | 
| 2185   "nvinfin;": "\u29de", |  | 
| 2186   "nvlArr;": "\u2902", |  | 
| 2187   "nvle;": "\u2264\u20d2", |  | 
| 2188   "nvlt;": "<\u20d2", |  | 
| 2189   "nvltrie;": "\u22b4\u20d2", |  | 
| 2190   "nvrArr;": "\u2903", |  | 
| 2191   "nvrtrie;": "\u22b5\u20d2", |  | 
| 2192   "nvsim;": "\u223c\u20d2", |  | 
| 2193   "nwArr;": "\u21d6", |  | 
| 2194   "nwarhk;": "\u2923", |  | 
| 2195   "nwarr;": "\u2196", |  | 
| 2196   "nwarrow;": "\u2196", |  | 
| 2197   "nwnear;": "\u2927", |  | 
| 2198   "oS;": "\u24c8", |  | 
| 2199   "oacute": "\xf3", |  | 
| 2200   "oacute;": "\xf3", |  | 
| 2201   "oast;": "\u229b", |  | 
| 2202   "ocir;": "\u229a", |  | 
| 2203   "ocirc": "\xf4", |  | 
| 2204   "ocirc;": "\xf4", |  | 
| 2205   "ocy;": "\u043e", |  | 
| 2206   "odash;": "\u229d", |  | 
| 2207   "odblac;": "\u0151", |  | 
| 2208   "odiv;": "\u2a38", |  | 
| 2209   "odot;": "\u2299", |  | 
| 2210   "odsold;": "\u29bc", |  | 
| 2211   "oelig;": "\u0153", |  | 
| 2212   "ofcir;": "\u29bf", |  | 
| 2213   "ofr;": "\u{01d52c}", |  | 
| 2214   "ogon;": "\u02db", |  | 
| 2215   "ograve": "\xf2", |  | 
| 2216   "ograve;": "\xf2", |  | 
| 2217   "ogt;": "\u29c1", |  | 
| 2218   "ohbar;": "\u29b5", |  | 
| 2219   "ohm;": "\u03a9", |  | 
| 2220   "oint;": "\u222e", |  | 
| 2221   "olarr;": "\u21ba", |  | 
| 2222   "olcir;": "\u29be", |  | 
| 2223   "olcross;": "\u29bb", |  | 
| 2224   "oline;": "\u203e", |  | 
| 2225   "olt;": "\u29c0", |  | 
| 2226   "omacr;": "\u014d", |  | 
| 2227   "omega;": "\u03c9", |  | 
| 2228   "omicron;": "\u03bf", |  | 
| 2229   "omid;": "\u29b6", |  | 
| 2230   "ominus;": "\u2296", |  | 
| 2231   "oopf;": "\u{01d560}", |  | 
| 2232   "opar;": "\u29b7", |  | 
| 2233   "operp;": "\u29b9", |  | 
| 2234   "oplus;": "\u2295", |  | 
| 2235   "or;": "\u2228", |  | 
| 2236   "orarr;": "\u21bb", |  | 
| 2237   "ord;": "\u2a5d", |  | 
| 2238   "order;": "\u2134", |  | 
| 2239   "orderof;": "\u2134", |  | 
| 2240   "ordf": "\xaa", |  | 
| 2241   "ordf;": "\xaa", |  | 
| 2242   "ordm": "\xba", |  | 
| 2243   "ordm;": "\xba", |  | 
| 2244   "origof;": "\u22b6", |  | 
| 2245   "oror;": "\u2a56", |  | 
| 2246   "orslope;": "\u2a57", |  | 
| 2247   "orv;": "\u2a5b", |  | 
| 2248   "oscr;": "\u2134", |  | 
| 2249   "oslash": "\xf8", |  | 
| 2250   "oslash;": "\xf8", |  | 
| 2251   "osol;": "\u2298", |  | 
| 2252   "otilde": "\xf5", |  | 
| 2253   "otilde;": "\xf5", |  | 
| 2254   "otimes;": "\u2297", |  | 
| 2255   "otimesas;": "\u2a36", |  | 
| 2256   "ouml": "\xf6", |  | 
| 2257   "ouml;": "\xf6", |  | 
| 2258   "ovbar;": "\u233d", |  | 
| 2259   "par;": "\u2225", |  | 
| 2260   "para": "\xb6", |  | 
| 2261   "para;": "\xb6", |  | 
| 2262   "parallel;": "\u2225", |  | 
| 2263   "parsim;": "\u2af3", |  | 
| 2264   "parsl;": "\u2afd", |  | 
| 2265   "part;": "\u2202", |  | 
| 2266   "pcy;": "\u043f", |  | 
| 2267   "percnt;": "%", |  | 
| 2268   "period;": ".", |  | 
| 2269   "permil;": "\u2030", |  | 
| 2270   "perp;": "\u22a5", |  | 
| 2271   "pertenk;": "\u2031", |  | 
| 2272   "pfr;": "\u{01d52d}", |  | 
| 2273   "phi;": "\u03c6", |  | 
| 2274   "phiv;": "\u03d5", |  | 
| 2275   "phmmat;": "\u2133", |  | 
| 2276   "phone;": "\u260e", |  | 
| 2277   "pi;": "\u03c0", |  | 
| 2278   "pitchfork;": "\u22d4", |  | 
| 2279   "piv;": "\u03d6", |  | 
| 2280   "planck;": "\u210f", |  | 
| 2281   "planckh;": "\u210e", |  | 
| 2282   "plankv;": "\u210f", |  | 
| 2283   "plus;": "+", |  | 
| 2284   "plusacir;": "\u2a23", |  | 
| 2285   "plusb;": "\u229e", |  | 
| 2286   "pluscir;": "\u2a22", |  | 
| 2287   "plusdo;": "\u2214", |  | 
| 2288   "plusdu;": "\u2a25", |  | 
| 2289   "pluse;": "\u2a72", |  | 
| 2290   "plusmn": "\xb1", |  | 
| 2291   "plusmn;": "\xb1", |  | 
| 2292   "plussim;": "\u2a26", |  | 
| 2293   "plustwo;": "\u2a27", |  | 
| 2294   "pm;": "\xb1", |  | 
| 2295   "pointint;": "\u2a15", |  | 
| 2296   "popf;": "\u{01d561}", |  | 
| 2297   "pound": "\xa3", |  | 
| 2298   "pound;": "\xa3", |  | 
| 2299   "pr;": "\u227a", |  | 
| 2300   "prE;": "\u2ab3", |  | 
| 2301   "prap;": "\u2ab7", |  | 
| 2302   "prcue;": "\u227c", |  | 
| 2303   "pre;": "\u2aaf", |  | 
| 2304   "prec;": "\u227a", |  | 
| 2305   "precapprox;": "\u2ab7", |  | 
| 2306   "preccurlyeq;": "\u227c", |  | 
| 2307   "preceq;": "\u2aaf", |  | 
| 2308   "precnapprox;": "\u2ab9", |  | 
| 2309   "precneqq;": "\u2ab5", |  | 
| 2310   "precnsim;": "\u22e8", |  | 
| 2311   "precsim;": "\u227e", |  | 
| 2312   "prime;": "\u2032", |  | 
| 2313   "primes;": "\u2119", |  | 
| 2314   "prnE;": "\u2ab5", |  | 
| 2315   "prnap;": "\u2ab9", |  | 
| 2316   "prnsim;": "\u22e8", |  | 
| 2317   "prod;": "\u220f", |  | 
| 2318   "profalar;": "\u232e", |  | 
| 2319   "profline;": "\u2312", |  | 
| 2320   "profsurf;": "\u2313", |  | 
| 2321   "prop;": "\u221d", |  | 
| 2322   "propto;": "\u221d", |  | 
| 2323   "prsim;": "\u227e", |  | 
| 2324   "prurel;": "\u22b0", |  | 
| 2325   "pscr;": "\u{01d4c5}", |  | 
| 2326   "psi;": "\u03c8", |  | 
| 2327   "puncsp;": "\u2008", |  | 
| 2328   "qfr;": "\u{01d52e}", |  | 
| 2329   "qint;": "\u2a0c", |  | 
| 2330   "qopf;": "\u{01d562}", |  | 
| 2331   "qprime;": "\u2057", |  | 
| 2332   "qscr;": "\u{01d4c6}", |  | 
| 2333   "quaternions;": "\u210d", |  | 
| 2334   "quatint;": "\u2a16", |  | 
| 2335   "quest;": "?", |  | 
| 2336   "questeq;": "\u225f", |  | 
| 2337   "quot": "\"", |  | 
| 2338   "quot;": "\"", |  | 
| 2339   "rAarr;": "\u21db", |  | 
| 2340   "rArr;": "\u21d2", |  | 
| 2341   "rAtail;": "\u291c", |  | 
| 2342   "rBarr;": "\u290f", |  | 
| 2343   "rHar;": "\u2964", |  | 
| 2344   "race;": "\u223d\u0331", |  | 
| 2345   "racute;": "\u0155", |  | 
| 2346   "radic;": "\u221a", |  | 
| 2347   "raemptyv;": "\u29b3", |  | 
| 2348   "rang;": "\u27e9", |  | 
| 2349   "rangd;": "\u2992", |  | 
| 2350   "range;": "\u29a5", |  | 
| 2351   "rangle;": "\u27e9", |  | 
| 2352   "raquo": "\xbb", |  | 
| 2353   "raquo;": "\xbb", |  | 
| 2354   "rarr;": "\u2192", |  | 
| 2355   "rarrap;": "\u2975", |  | 
| 2356   "rarrb;": "\u21e5", |  | 
| 2357   "rarrbfs;": "\u2920", |  | 
| 2358   "rarrc;": "\u2933", |  | 
| 2359   "rarrfs;": "\u291e", |  | 
| 2360   "rarrhk;": "\u21aa", |  | 
| 2361   "rarrlp;": "\u21ac", |  | 
| 2362   "rarrpl;": "\u2945", |  | 
| 2363   "rarrsim;": "\u2974", |  | 
| 2364   "rarrtl;": "\u21a3", |  | 
| 2365   "rarrw;": "\u219d", |  | 
| 2366   "ratail;": "\u291a", |  | 
| 2367   "ratio;": "\u2236", |  | 
| 2368   "rationals;": "\u211a", |  | 
| 2369   "rbarr;": "\u290d", |  | 
| 2370   "rbbrk;": "\u2773", |  | 
| 2371   "rbrace;": "}", |  | 
| 2372   "rbrack;": "]", |  | 
| 2373   "rbrke;": "\u298c", |  | 
| 2374   "rbrksld;": "\u298e", |  | 
| 2375   "rbrkslu;": "\u2990", |  | 
| 2376   "rcaron;": "\u0159", |  | 
| 2377   "rcedil;": "\u0157", |  | 
| 2378   "rceil;": "\u2309", |  | 
| 2379   "rcub;": "}", |  | 
| 2380   "rcy;": "\u0440", |  | 
| 2381   "rdca;": "\u2937", |  | 
| 2382   "rdldhar;": "\u2969", |  | 
| 2383   "rdquo;": "\u201d", |  | 
| 2384   "rdquor;": "\u201d", |  | 
| 2385   "rdsh;": "\u21b3", |  | 
| 2386   "real;": "\u211c", |  | 
| 2387   "realine;": "\u211b", |  | 
| 2388   "realpart;": "\u211c", |  | 
| 2389   "reals;": "\u211d", |  | 
| 2390   "rect;": "\u25ad", |  | 
| 2391   "reg": "\xae", |  | 
| 2392   "reg;": "\xae", |  | 
| 2393   "rfisht;": "\u297d", |  | 
| 2394   "rfloor;": "\u230b", |  | 
| 2395   "rfr;": "\u{01d52f}", |  | 
| 2396   "rhard;": "\u21c1", |  | 
| 2397   "rharu;": "\u21c0", |  | 
| 2398   "rharul;": "\u296c", |  | 
| 2399   "rho;": "\u03c1", |  | 
| 2400   "rhov;": "\u03f1", |  | 
| 2401   "rightarrow;": "\u2192", |  | 
| 2402   "rightarrowtail;": "\u21a3", |  | 
| 2403   "rightharpoondown;": "\u21c1", |  | 
| 2404   "rightharpoonup;": "\u21c0", |  | 
| 2405   "rightleftarrows;": "\u21c4", |  | 
| 2406   "rightleftharpoons;": "\u21cc", |  | 
| 2407   "rightrightarrows;": "\u21c9", |  | 
| 2408   "rightsquigarrow;": "\u219d", |  | 
| 2409   "rightthreetimes;": "\u22cc", |  | 
| 2410   "ring;": "\u02da", |  | 
| 2411   "risingdotseq;": "\u2253", |  | 
| 2412   "rlarr;": "\u21c4", |  | 
| 2413   "rlhar;": "\u21cc", |  | 
| 2414   "rlm;": "\u200f", |  | 
| 2415   "rmoust;": "\u23b1", |  | 
| 2416   "rmoustache;": "\u23b1", |  | 
| 2417   "rnmid;": "\u2aee", |  | 
| 2418   "roang;": "\u27ed", |  | 
| 2419   "roarr;": "\u21fe", |  | 
| 2420   "robrk;": "\u27e7", |  | 
| 2421   "ropar;": "\u2986", |  | 
| 2422   "ropf;": "\u{01d563}", |  | 
| 2423   "roplus;": "\u2a2e", |  | 
| 2424   "rotimes;": "\u2a35", |  | 
| 2425   "rpar;": ")", |  | 
| 2426   "rpargt;": "\u2994", |  | 
| 2427   "rppolint;": "\u2a12", |  | 
| 2428   "rrarr;": "\u21c9", |  | 
| 2429   "rsaquo;": "\u203a", |  | 
| 2430   "rscr;": "\u{01d4c7}", |  | 
| 2431   "rsh;": "\u21b1", |  | 
| 2432   "rsqb;": "]", |  | 
| 2433   "rsquo;": "\u2019", |  | 
| 2434   "rsquor;": "\u2019", |  | 
| 2435   "rthree;": "\u22cc", |  | 
| 2436   "rtimes;": "\u22ca", |  | 
| 2437   "rtri;": "\u25b9", |  | 
| 2438   "rtrie;": "\u22b5", |  | 
| 2439   "rtrif;": "\u25b8", |  | 
| 2440   "rtriltri;": "\u29ce", |  | 
| 2441   "ruluhar;": "\u2968", |  | 
| 2442   "rx;": "\u211e", |  | 
| 2443   "sacute;": "\u015b", |  | 
| 2444   "sbquo;": "\u201a", |  | 
| 2445   "sc;": "\u227b", |  | 
| 2446   "scE;": "\u2ab4", |  | 
| 2447   "scap;": "\u2ab8", |  | 
| 2448   "scaron;": "\u0161", |  | 
| 2449   "sccue;": "\u227d", |  | 
| 2450   "sce;": "\u2ab0", |  | 
| 2451   "scedil;": "\u015f", |  | 
| 2452   "scirc;": "\u015d", |  | 
| 2453   "scnE;": "\u2ab6", |  | 
| 2454   "scnap;": "\u2aba", |  | 
| 2455   "scnsim;": "\u22e9", |  | 
| 2456   "scpolint;": "\u2a13", |  | 
| 2457   "scsim;": "\u227f", |  | 
| 2458   "scy;": "\u0441", |  | 
| 2459   "sdot;": "\u22c5", |  | 
| 2460   "sdotb;": "\u22a1", |  | 
| 2461   "sdote;": "\u2a66", |  | 
| 2462   "seArr;": "\u21d8", |  | 
| 2463   "searhk;": "\u2925", |  | 
| 2464   "searr;": "\u2198", |  | 
| 2465   "searrow;": "\u2198", |  | 
| 2466   "sect": "\xa7", |  | 
| 2467   "sect;": "\xa7", |  | 
| 2468   "semi;": ";", |  | 
| 2469   "seswar;": "\u2929", |  | 
| 2470   "setminus;": "\u2216", |  | 
| 2471   "setmn;": "\u2216", |  | 
| 2472   "sext;": "\u2736", |  | 
| 2473   "sfr;": "\u{01d530}", |  | 
| 2474   "sfrown;": "\u2322", |  | 
| 2475   "sharp;": "\u266f", |  | 
| 2476   "shchcy;": "\u0449", |  | 
| 2477   "shcy;": "\u0448", |  | 
| 2478   "shortmid;": "\u2223", |  | 
| 2479   "shortparallel;": "\u2225", |  | 
| 2480   "shy": "\xad", |  | 
| 2481   "shy;": "\xad", |  | 
| 2482   "sigma;": "\u03c3", |  | 
| 2483   "sigmaf;": "\u03c2", |  | 
| 2484   "sigmav;": "\u03c2", |  | 
| 2485   "sim;": "\u223c", |  | 
| 2486   "simdot;": "\u2a6a", |  | 
| 2487   "sime;": "\u2243", |  | 
| 2488   "simeq;": "\u2243", |  | 
| 2489   "simg;": "\u2a9e", |  | 
| 2490   "simgE;": "\u2aa0", |  | 
| 2491   "siml;": "\u2a9d", |  | 
| 2492   "simlE;": "\u2a9f", |  | 
| 2493   "simne;": "\u2246", |  | 
| 2494   "simplus;": "\u2a24", |  | 
| 2495   "simrarr;": "\u2972", |  | 
| 2496   "slarr;": "\u2190", |  | 
| 2497   "smallsetminus;": "\u2216", |  | 
| 2498   "smashp;": "\u2a33", |  | 
| 2499   "smeparsl;": "\u29e4", |  | 
| 2500   "smid;": "\u2223", |  | 
| 2501   "smile;": "\u2323", |  | 
| 2502   "smt;": "\u2aaa", |  | 
| 2503   "smte;": "\u2aac", |  | 
| 2504   "smtes;": "\u2aac\ufe00", |  | 
| 2505   "softcy;": "\u044c", |  | 
| 2506   "sol;": "/", |  | 
| 2507   "solb;": "\u29c4", |  | 
| 2508   "solbar;": "\u233f", |  | 
| 2509   "sopf;": "\u{01d564}", |  | 
| 2510   "spades;": "\u2660", |  | 
| 2511   "spadesuit;": "\u2660", |  | 
| 2512   "spar;": "\u2225", |  | 
| 2513   "sqcap;": "\u2293", |  | 
| 2514   "sqcaps;": "\u2293\ufe00", |  | 
| 2515   "sqcup;": "\u2294", |  | 
| 2516   "sqcups;": "\u2294\ufe00", |  | 
| 2517   "sqsub;": "\u228f", |  | 
| 2518   "sqsube;": "\u2291", |  | 
| 2519   "sqsubset;": "\u228f", |  | 
| 2520   "sqsubseteq;": "\u2291", |  | 
| 2521   "sqsup;": "\u2290", |  | 
| 2522   "sqsupe;": "\u2292", |  | 
| 2523   "sqsupset;": "\u2290", |  | 
| 2524   "sqsupseteq;": "\u2292", |  | 
| 2525   "squ;": "\u25a1", |  | 
| 2526   "square;": "\u25a1", |  | 
| 2527   "squarf;": "\u25aa", |  | 
| 2528   "squf;": "\u25aa", |  | 
| 2529   "srarr;": "\u2192", |  | 
| 2530   "sscr;": "\u{01d4c8}", |  | 
| 2531   "ssetmn;": "\u2216", |  | 
| 2532   "ssmile;": "\u2323", |  | 
| 2533   "sstarf;": "\u22c6", |  | 
| 2534   "star;": "\u2606", |  | 
| 2535   "starf;": "\u2605", |  | 
| 2536   "straightepsilon;": "\u03f5", |  | 
| 2537   "straightphi;": "\u03d5", |  | 
| 2538   "strns;": "\xaf", |  | 
| 2539   "sub;": "\u2282", |  | 
| 2540   "subE;": "\u2ac5", |  | 
| 2541   "subdot;": "\u2abd", |  | 
| 2542   "sube;": "\u2286", |  | 
| 2543   "subedot;": "\u2ac3", |  | 
| 2544   "submult;": "\u2ac1", |  | 
| 2545   "subnE;": "\u2acb", |  | 
| 2546   "subne;": "\u228a", |  | 
| 2547   "subplus;": "\u2abf", |  | 
| 2548   "subrarr;": "\u2979", |  | 
| 2549   "subset;": "\u2282", |  | 
| 2550   "subseteq;": "\u2286", |  | 
| 2551   "subseteqq;": "\u2ac5", |  | 
| 2552   "subsetneq;": "\u228a", |  | 
| 2553   "subsetneqq;": "\u2acb", |  | 
| 2554   "subsim;": "\u2ac7", |  | 
| 2555   "subsub;": "\u2ad5", |  | 
| 2556   "subsup;": "\u2ad3", |  | 
| 2557   "succ;": "\u227b", |  | 
| 2558   "succapprox;": "\u2ab8", |  | 
| 2559   "succcurlyeq;": "\u227d", |  | 
| 2560   "succeq;": "\u2ab0", |  | 
| 2561   "succnapprox;": "\u2aba", |  | 
| 2562   "succneqq;": "\u2ab6", |  | 
| 2563   "succnsim;": "\u22e9", |  | 
| 2564   "succsim;": "\u227f", |  | 
| 2565   "sum;": "\u2211", |  | 
| 2566   "sung;": "\u266a", |  | 
| 2567   "sup1": "\xb9", |  | 
| 2568   "sup1;": "\xb9", |  | 
| 2569   "sup2": "\xb2", |  | 
| 2570   "sup2;": "\xb2", |  | 
| 2571   "sup3": "\xb3", |  | 
| 2572   "sup3;": "\xb3", |  | 
| 2573   "sup;": "\u2283", |  | 
| 2574   "supE;": "\u2ac6", |  | 
| 2575   "supdot;": "\u2abe", |  | 
| 2576   "supdsub;": "\u2ad8", |  | 
| 2577   "supe;": "\u2287", |  | 
| 2578   "supedot;": "\u2ac4", |  | 
| 2579   "suphsol;": "\u27c9", |  | 
| 2580   "suphsub;": "\u2ad7", |  | 
| 2581   "suplarr;": "\u297b", |  | 
| 2582   "supmult;": "\u2ac2", |  | 
| 2583   "supnE;": "\u2acc", |  | 
| 2584   "supne;": "\u228b", |  | 
| 2585   "supplus;": "\u2ac0", |  | 
| 2586   "supset;": "\u2283", |  | 
| 2587   "supseteq;": "\u2287", |  | 
| 2588   "supseteqq;": "\u2ac6", |  | 
| 2589   "supsetneq;": "\u228b", |  | 
| 2590   "supsetneqq;": "\u2acc", |  | 
| 2591   "supsim;": "\u2ac8", |  | 
| 2592   "supsub;": "\u2ad4", |  | 
| 2593   "supsup;": "\u2ad6", |  | 
| 2594   "swArr;": "\u21d9", |  | 
| 2595   "swarhk;": "\u2926", |  | 
| 2596   "swarr;": "\u2199", |  | 
| 2597   "swarrow;": "\u2199", |  | 
| 2598   "swnwar;": "\u292a", |  | 
| 2599   "szlig": "\xdf", |  | 
| 2600   "szlig;": "\xdf", |  | 
| 2601   "target;": "\u2316", |  | 
| 2602   "tau;": "\u03c4", |  | 
| 2603   "tbrk;": "\u23b4", |  | 
| 2604   "tcaron;": "\u0165", |  | 
| 2605   "tcedil;": "\u0163", |  | 
| 2606   "tcy;": "\u0442", |  | 
| 2607   "tdot;": "\u20db", |  | 
| 2608   "telrec;": "\u2315", |  | 
| 2609   "tfr;": "\u{01d531}", |  | 
| 2610   "there4;": "\u2234", |  | 
| 2611   "therefore;": "\u2234", |  | 
| 2612   "theta;": "\u03b8", |  | 
| 2613   "thetasym;": "\u03d1", |  | 
| 2614   "thetav;": "\u03d1", |  | 
| 2615   "thickapprox;": "\u2248", |  | 
| 2616   "thicksim;": "\u223c", |  | 
| 2617   "thinsp;": "\u2009", |  | 
| 2618   "thkap;": "\u2248", |  | 
| 2619   "thksim;": "\u223c", |  | 
| 2620   "thorn": "\xfe", |  | 
| 2621   "thorn;": "\xfe", |  | 
| 2622   "tilde;": "\u02dc", |  | 
| 2623   "times": "\xd7", |  | 
| 2624   "times;": "\xd7", |  | 
| 2625   "timesb;": "\u22a0", |  | 
| 2626   "timesbar;": "\u2a31", |  | 
| 2627   "timesd;": "\u2a30", |  | 
| 2628   "tint;": "\u222d", |  | 
| 2629   "toea;": "\u2928", |  | 
| 2630   "top;": "\u22a4", |  | 
| 2631   "topbot;": "\u2336", |  | 
| 2632   "topcir;": "\u2af1", |  | 
| 2633   "topf;": "\u{01d565}", |  | 
| 2634   "topfork;": "\u2ada", |  | 
| 2635   "tosa;": "\u2929", |  | 
| 2636   "tprime;": "\u2034", |  | 
| 2637   "trade;": "\u2122", |  | 
| 2638   "triangle;": "\u25b5", |  | 
| 2639   "triangledown;": "\u25bf", |  | 
| 2640   "triangleleft;": "\u25c3", |  | 
| 2641   "trianglelefteq;": "\u22b4", |  | 
| 2642   "triangleq;": "\u225c", |  | 
| 2643   "triangleright;": "\u25b9", |  | 
| 2644   "trianglerighteq;": "\u22b5", |  | 
| 2645   "tridot;": "\u25ec", |  | 
| 2646   "trie;": "\u225c", |  | 
| 2647   "triminus;": "\u2a3a", |  | 
| 2648   "triplus;": "\u2a39", |  | 
| 2649   "trisb;": "\u29cd", |  | 
| 2650   "tritime;": "\u2a3b", |  | 
| 2651   "trpezium;": "\u23e2", |  | 
| 2652   "tscr;": "\u{01d4c9}", |  | 
| 2653   "tscy;": "\u0446", |  | 
| 2654   "tshcy;": "\u045b", |  | 
| 2655   "tstrok;": "\u0167", |  | 
| 2656   "twixt;": "\u226c", |  | 
| 2657   "twoheadleftarrow;": "\u219e", |  | 
| 2658   "twoheadrightarrow;": "\u21a0", |  | 
| 2659   "uArr;": "\u21d1", |  | 
| 2660   "uHar;": "\u2963", |  | 
| 2661   "uacute": "\xfa", |  | 
| 2662   "uacute;": "\xfa", |  | 
| 2663   "uarr;": "\u2191", |  | 
| 2664   "ubrcy;": "\u045e", |  | 
| 2665   "ubreve;": "\u016d", |  | 
| 2666   "ucirc": "\xfb", |  | 
| 2667   "ucirc;": "\xfb", |  | 
| 2668   "ucy;": "\u0443", |  | 
| 2669   "udarr;": "\u21c5", |  | 
| 2670   "udblac;": "\u0171", |  | 
| 2671   "udhar;": "\u296e", |  | 
| 2672   "ufisht;": "\u297e", |  | 
| 2673   "ufr;": "\u{01d532}", |  | 
| 2674   "ugrave": "\xf9", |  | 
| 2675   "ugrave;": "\xf9", |  | 
| 2676   "uharl;": "\u21bf", |  | 
| 2677   "uharr;": "\u21be", |  | 
| 2678   "uhblk;": "\u2580", |  | 
| 2679   "ulcorn;": "\u231c", |  | 
| 2680   "ulcorner;": "\u231c", |  | 
| 2681   "ulcrop;": "\u230f", |  | 
| 2682   "ultri;": "\u25f8", |  | 
| 2683   "umacr;": "\u016b", |  | 
| 2684   "uml": "\xa8", |  | 
| 2685   "uml;": "\xa8", |  | 
| 2686   "uogon;": "\u0173", |  | 
| 2687   "uopf;": "\u{01d566}", |  | 
| 2688   "uparrow;": "\u2191", |  | 
| 2689   "updownarrow;": "\u2195", |  | 
| 2690   "upharpoonleft;": "\u21bf", |  | 
| 2691   "upharpoonright;": "\u21be", |  | 
| 2692   "uplus;": "\u228e", |  | 
| 2693   "upsi;": "\u03c5", |  | 
| 2694   "upsih;": "\u03d2", |  | 
| 2695   "upsilon;": "\u03c5", |  | 
| 2696   "upuparrows;": "\u21c8", |  | 
| 2697   "urcorn;": "\u231d", |  | 
| 2698   "urcorner;": "\u231d", |  | 
| 2699   "urcrop;": "\u230e", |  | 
| 2700   "uring;": "\u016f", |  | 
| 2701   "urtri;": "\u25f9", |  | 
| 2702   "uscr;": "\u{01d4ca}", |  | 
| 2703   "utdot;": "\u22f0", |  | 
| 2704   "utilde;": "\u0169", |  | 
| 2705   "utri;": "\u25b5", |  | 
| 2706   "utrif;": "\u25b4", |  | 
| 2707   "uuarr;": "\u21c8", |  | 
| 2708   "uuml": "\xfc", |  | 
| 2709   "uuml;": "\xfc", |  | 
| 2710   "uwangle;": "\u29a7", |  | 
| 2711   "vArr;": "\u21d5", |  | 
| 2712   "vBar;": "\u2ae8", |  | 
| 2713   "vBarv;": "\u2ae9", |  | 
| 2714   "vDash;": "\u22a8", |  | 
| 2715   "vangrt;": "\u299c", |  | 
| 2716   "varepsilon;": "\u03f5", |  | 
| 2717   "varkappa;": "\u03f0", |  | 
| 2718   "varnothing;": "\u2205", |  | 
| 2719   "varphi;": "\u03d5", |  | 
| 2720   "varpi;": "\u03d6", |  | 
| 2721   "varpropto;": "\u221d", |  | 
| 2722   "varr;": "\u2195", |  | 
| 2723   "varrho;": "\u03f1", |  | 
| 2724   "varsigma;": "\u03c2", |  | 
| 2725   "varsubsetneq;": "\u228a\ufe00", |  | 
| 2726   "varsubsetneqq;": "\u2acb\ufe00", |  | 
| 2727   "varsupsetneq;": "\u228b\ufe00", |  | 
| 2728   "varsupsetneqq;": "\u2acc\ufe00", |  | 
| 2729   "vartheta;": "\u03d1", |  | 
| 2730   "vartriangleleft;": "\u22b2", |  | 
| 2731   "vartriangleright;": "\u22b3", |  | 
| 2732   "vcy;": "\u0432", |  | 
| 2733   "vdash;": "\u22a2", |  | 
| 2734   "vee;": "\u2228", |  | 
| 2735   "veebar;": "\u22bb", |  | 
| 2736   "veeeq;": "\u225a", |  | 
| 2737   "vellip;": "\u22ee", |  | 
| 2738   "verbar;": "|", |  | 
| 2739   "vert;": "|", |  | 
| 2740   "vfr;": "\u{01d533}", |  | 
| 2741   "vltri;": "\u22b2", |  | 
| 2742   "vnsub;": "\u2282\u20d2", |  | 
| 2743   "vnsup;": "\u2283\u20d2", |  | 
| 2744   "vopf;": "\u{01d567}", |  | 
| 2745   "vprop;": "\u221d", |  | 
| 2746   "vrtri;": "\u22b3", |  | 
| 2747   "vscr;": "\u{01d4cb}", |  | 
| 2748   "vsubnE;": "\u2acb\ufe00", |  | 
| 2749   "vsubne;": "\u228a\ufe00", |  | 
| 2750   "vsupnE;": "\u2acc\ufe00", |  | 
| 2751   "vsupne;": "\u228b\ufe00", |  | 
| 2752   "vzigzag;": "\u299a", |  | 
| 2753   "wcirc;": "\u0175", |  | 
| 2754   "wedbar;": "\u2a5f", |  | 
| 2755   "wedge;": "\u2227", |  | 
| 2756   "wedgeq;": "\u2259", |  | 
| 2757   "weierp;": "\u2118", |  | 
| 2758   "wfr;": "\u{01d534}", |  | 
| 2759   "wopf;": "\u{01d568}", |  | 
| 2760   "wp;": "\u2118", |  | 
| 2761   "wr;": "\u2240", |  | 
| 2762   "wreath;": "\u2240", |  | 
| 2763   "wscr;": "\u{01d4cc}", |  | 
| 2764   "xcap;": "\u22c2", |  | 
| 2765   "xcirc;": "\u25ef", |  | 
| 2766   "xcup;": "\u22c3", |  | 
| 2767   "xdtri;": "\u25bd", |  | 
| 2768   "xfr;": "\u{01d535}", |  | 
| 2769   "xhArr;": "\u27fa", |  | 
| 2770   "xharr;": "\u27f7", |  | 
| 2771   "xi;": "\u03be", |  | 
| 2772   "xlArr;": "\u27f8", |  | 
| 2773   "xlarr;": "\u27f5", |  | 
| 2774   "xmap;": "\u27fc", |  | 
| 2775   "xnis;": "\u22fb", |  | 
| 2776   "xodot;": "\u2a00", |  | 
| 2777   "xopf;": "\u{01d569}", |  | 
| 2778   "xoplus;": "\u2a01", |  | 
| 2779   "xotime;": "\u2a02", |  | 
| 2780   "xrArr;": "\u27f9", |  | 
| 2781   "xrarr;": "\u27f6", |  | 
| 2782   "xscr;": "\u{01d4cd}", |  | 
| 2783   "xsqcup;": "\u2a06", |  | 
| 2784   "xuplus;": "\u2a04", |  | 
| 2785   "xutri;": "\u25b3", |  | 
| 2786   "xvee;": "\u22c1", |  | 
| 2787   "xwedge;": "\u22c0", |  | 
| 2788   "yacute": "\xfd", |  | 
| 2789   "yacute;": "\xfd", |  | 
| 2790   "yacy;": "\u044f", |  | 
| 2791   "ycirc;": "\u0177", |  | 
| 2792   "ycy;": "\u044b", |  | 
| 2793   "yen": "\xa5", |  | 
| 2794   "yen;": "\xa5", |  | 
| 2795   "yfr;": "\u{01d536}", |  | 
| 2796   "yicy;": "\u0457", |  | 
| 2797   "yopf;": "\u{01d56a}", |  | 
| 2798   "yscr;": "\u{01d4ce}", |  | 
| 2799   "yucy;": "\u044e", |  | 
| 2800   "yuml": "\xff", |  | 
| 2801   "yuml;": "\xff", |  | 
| 2802   "zacute;": "\u017a", |  | 
| 2803   "zcaron;": "\u017e", |  | 
| 2804   "zcy;": "\u0437", |  | 
| 2805   "zdot;": "\u017c", |  | 
| 2806   "zeetrf;": "\u2128", |  | 
| 2807   "zeta;": "\u03b6", |  | 
| 2808   "zfr;": "\u{01d537}", |  | 
| 2809   "zhcy;": "\u0436", |  | 
| 2810   "zigrarr;": "\u21dd", |  | 
| 2811   "zopf;": "\u{01d56b}", |  | 
| 2812   "zscr;": "\u{01d4cf}", |  | 
| 2813   "zwj;": "\u200d", |  | 
| 2814   "zwnj;": "\u200c", |  | 
| 2815 }; |  | 
| 2816 |  | 
| 2817 const Map<int, String> replacementCharacters = const { |  | 
| 2818   0x00: "\uFFFD", |  | 
| 2819   0x0d: "\u000D", |  | 
| 2820   0x80: "\u20AC", |  | 
| 2821   0x81: "\u0081", |  | 
| 2822   0x82: "\u201A", |  | 
| 2823   0x83: "\u0192", |  | 
| 2824   0x84: "\u201E", |  | 
| 2825   0x85: "\u2026", |  | 
| 2826   0x86: "\u2020", |  | 
| 2827   0x87: "\u2021", |  | 
| 2828   0x88: "\u02C6", |  | 
| 2829   0x89: "\u2030", |  | 
| 2830   0x8A: "\u0160", |  | 
| 2831   0x8B: "\u2039", |  | 
| 2832   0x8C: "\u0152", |  | 
| 2833   0x8D: "\u008D", |  | 
| 2834   0x8E: "\u017D", |  | 
| 2835   0x8F: "\u008F", |  | 
| 2836   0x90: "\u0090", |  | 
| 2837   0x91: "\u2018", |  | 
| 2838   0x92: "\u2019", |  | 
| 2839   0x93: "\u201C", |  | 
| 2840   0x94: "\u201D", |  | 
| 2841   0x95: "\u2022", |  | 
| 2842   0x96: "\u2013", |  | 
| 2843   0x97: "\u2014", |  | 
| 2844   0x98: "\u02DC", |  | 
| 2845   0x99: "\u2122", |  | 
| 2846   0x9A: "\u0161", |  | 
| 2847   0x9B: "\u203A", |  | 
| 2848   0x9C: "\u0153", |  | 
| 2849   0x9D: "\u009D", |  | 
| 2850   0x9E: "\u017E", |  | 
| 2851   0x9F: "\u0178" |  | 
| 2852 }; |  | 
| 2853 |  | 
| 2854 const Map<String, String> encodings = const { |  | 
| 2855   '437': 'cp437', |  | 
| 2856   '850': 'cp850', |  | 
| 2857   '852': 'cp852', |  | 
| 2858   '855': 'cp855', |  | 
| 2859   '857': 'cp857', |  | 
| 2860   '860': 'cp860', |  | 
| 2861   '861': 'cp861', |  | 
| 2862   '862': 'cp862', |  | 
| 2863   '863': 'cp863', |  | 
| 2864   '865': 'cp865', |  | 
| 2865   '866': 'cp866', |  | 
| 2866   '869': 'cp869', |  | 
| 2867   'ansix341968': 'ascii', |  | 
| 2868   'ansix341986': 'ascii', |  | 
| 2869   'arabic': 'iso8859-6', |  | 
| 2870   'ascii': 'ascii', |  | 
| 2871   'asmo708': 'iso8859-6', |  | 
| 2872   'big5': 'big5', |  | 
| 2873   'big5hkscs': 'big5hkscs', |  | 
| 2874   'chinese': 'gbk', |  | 
| 2875   'cp037': 'cp037', |  | 
| 2876   'cp1026': 'cp1026', |  | 
| 2877   'cp154': 'ptcp154', |  | 
| 2878   'cp367': 'ascii', |  | 
| 2879   'cp424': 'cp424', |  | 
| 2880   'cp437': 'cp437', |  | 
| 2881   'cp500': 'cp500', |  | 
| 2882   'cp775': 'cp775', |  | 
| 2883   'cp819': 'windows-1252', |  | 
| 2884   'cp850': 'cp850', |  | 
| 2885   'cp852': 'cp852', |  | 
| 2886   'cp855': 'cp855', |  | 
| 2887   'cp857': 'cp857', |  | 
| 2888   'cp860': 'cp860', |  | 
| 2889   'cp861': 'cp861', |  | 
| 2890   'cp862': 'cp862', |  | 
| 2891   'cp863': 'cp863', |  | 
| 2892   'cp864': 'cp864', |  | 
| 2893   'cp865': 'cp865', |  | 
| 2894   'cp866': 'cp866', |  | 
| 2895   'cp869': 'cp869', |  | 
| 2896   'cp936': 'gbk', |  | 
| 2897   'cpgr': 'cp869', |  | 
| 2898   'cpis': 'cp861', |  | 
| 2899   'csascii': 'ascii', |  | 
| 2900   'csbig5': 'big5', |  | 
| 2901   'cseuckr': 'cp949', |  | 
| 2902   'cseucpkdfmtjapanese': 'euc_jp', |  | 
| 2903   'csgb2312': 'gbk', |  | 
| 2904   'cshproman8': 'hp-roman8', |  | 
| 2905   'csibm037': 'cp037', |  | 
| 2906   'csibm1026': 'cp1026', |  | 
| 2907   'csibm424': 'cp424', |  | 
| 2908   'csibm500': 'cp500', |  | 
| 2909   'csibm855': 'cp855', |  | 
| 2910   'csibm857': 'cp857', |  | 
| 2911   'csibm860': 'cp860', |  | 
| 2912   'csibm861': 'cp861', |  | 
| 2913   'csibm863': 'cp863', |  | 
| 2914   'csibm864': 'cp864', |  | 
| 2915   'csibm865': 'cp865', |  | 
| 2916   'csibm866': 'cp866', |  | 
| 2917   'csibm869': 'cp869', |  | 
| 2918   'csiso2022jp': 'iso2022_jp', |  | 
| 2919   'csiso2022jp2': 'iso2022_jp_2', |  | 
| 2920   'csiso2022kr': 'iso2022_kr', |  | 
| 2921   'csiso58gb231280': 'gbk', |  | 
| 2922   'csisolatin1': 'windows-1252', |  | 
| 2923   'csisolatin2': 'iso8859-2', |  | 
| 2924   'csisolatin3': 'iso8859-3', |  | 
| 2925   'csisolatin4': 'iso8859-4', |  | 
| 2926   'csisolatin5': 'windows-1254', |  | 
| 2927   'csisolatin6': 'iso8859-10', |  | 
| 2928   'csisolatinarabic': 'iso8859-6', |  | 
| 2929   'csisolatincyrillic': 'iso8859-5', |  | 
| 2930   'csisolatingreek': 'iso8859-7', |  | 
| 2931   'csisolatinhebrew': 'iso8859-8', |  | 
| 2932   'cskoi8r': 'koi8-r', |  | 
| 2933   'csksc56011987': 'cp949', |  | 
| 2934   'cspc775baltic': 'cp775', |  | 
| 2935   'cspc850multilingual': 'cp850', |  | 
| 2936   'cspc862latinhebrew': 'cp862', |  | 
| 2937   'cspc8codepage437': 'cp437', |  | 
| 2938   'cspcp852': 'cp852', |  | 
| 2939   'csptcp154': 'ptcp154', |  | 
| 2940   'csshiftjis': 'shift_jis', |  | 
| 2941   'csunicode11utf7': 'utf-7', |  | 
| 2942   'cyrillic': 'iso8859-5', |  | 
| 2943   'cyrillicasian': 'ptcp154', |  | 
| 2944   'ebcdiccpbe': 'cp500', |  | 
| 2945   'ebcdiccpca': 'cp037', |  | 
| 2946   'ebcdiccpch': 'cp500', |  | 
| 2947   'ebcdiccphe': 'cp424', |  | 
| 2948   'ebcdiccpnl': 'cp037', |  | 
| 2949   'ebcdiccpus': 'cp037', |  | 
| 2950   'ebcdiccpwt': 'cp037', |  | 
| 2951   'ecma114': 'iso8859-6', |  | 
| 2952   'ecma118': 'iso8859-7', |  | 
| 2953   'elot928': 'iso8859-7', |  | 
| 2954   'eucjp': 'euc_jp', |  | 
| 2955   'euckr': 'cp949', |  | 
| 2956   'extendedunixcodepackedformatforjapanese': 'euc_jp', |  | 
| 2957   'gb18030': 'gb18030', |  | 
| 2958   'gb2312': 'gbk', |  | 
| 2959   'gb231280': 'gbk', |  | 
| 2960   'gbk': 'gbk', |  | 
| 2961   'greek': 'iso8859-7', |  | 
| 2962   'greek8': 'iso8859-7', |  | 
| 2963   'hebrew': 'iso8859-8', |  | 
| 2964   'hproman8': 'hp-roman8', |  | 
| 2965   'hzgb2312': 'hz', |  | 
| 2966   'ibm037': 'cp037', |  | 
| 2967   'ibm1026': 'cp1026', |  | 
| 2968   'ibm367': 'ascii', |  | 
| 2969   'ibm424': 'cp424', |  | 
| 2970   'ibm437': 'cp437', |  | 
| 2971   'ibm500': 'cp500', |  | 
| 2972   'ibm775': 'cp775', |  | 
| 2973   'ibm819': 'windows-1252', |  | 
| 2974   'ibm850': 'cp850', |  | 
| 2975   'ibm852': 'cp852', |  | 
| 2976   'ibm855': 'cp855', |  | 
| 2977   'ibm857': 'cp857', |  | 
| 2978   'ibm860': 'cp860', |  | 
| 2979   'ibm861': 'cp861', |  | 
| 2980   'ibm862': 'cp862', |  | 
| 2981   'ibm863': 'cp863', |  | 
| 2982   'ibm864': 'cp864', |  | 
| 2983   'ibm865': 'cp865', |  | 
| 2984   'ibm866': 'cp866', |  | 
| 2985   'ibm869': 'cp869', |  | 
| 2986   'iso2022jp': 'iso2022_jp', |  | 
| 2987   'iso2022jp2': 'iso2022_jp_2', |  | 
| 2988   'iso2022kr': 'iso2022_kr', |  | 
| 2989   'iso646irv1991': 'ascii', |  | 
| 2990   'iso646us': 'ascii', |  | 
| 2991   'iso88591': 'windows-1252', |  | 
| 2992   'iso885910': 'iso8859-10', |  | 
| 2993   'iso8859101992': 'iso8859-10', |  | 
| 2994   'iso885911987': 'windows-1252', |  | 
| 2995   'iso885913': 'iso8859-13', |  | 
| 2996   'iso885914': 'iso8859-14', |  | 
| 2997   'iso8859141998': 'iso8859-14', |  | 
| 2998   'iso885915': 'iso8859-15', |  | 
| 2999   'iso885916': 'iso8859-16', |  | 
| 3000   'iso8859162001': 'iso8859-16', |  | 
| 3001   'iso88592': 'iso8859-2', |  | 
| 3002   'iso885921987': 'iso8859-2', |  | 
| 3003   'iso88593': 'iso8859-3', |  | 
| 3004   'iso885931988': 'iso8859-3', |  | 
| 3005   'iso88594': 'iso8859-4', |  | 
| 3006   'iso885941988': 'iso8859-4', |  | 
| 3007   'iso88595': 'iso8859-5', |  | 
| 3008   'iso885951988': 'iso8859-5', |  | 
| 3009   'iso88596': 'iso8859-6', |  | 
| 3010   'iso885961987': 'iso8859-6', |  | 
| 3011   'iso88597': 'iso8859-7', |  | 
| 3012   'iso885971987': 'iso8859-7', |  | 
| 3013   'iso88598': 'iso8859-8', |  | 
| 3014   'iso885981988': 'iso8859-8', |  | 
| 3015   'iso88599': 'windows-1254', |  | 
| 3016   'iso885991989': 'windows-1254', |  | 
| 3017   'isoceltic': 'iso8859-14', |  | 
| 3018   'isoir100': 'windows-1252', |  | 
| 3019   'isoir101': 'iso8859-2', |  | 
| 3020   'isoir109': 'iso8859-3', |  | 
| 3021   'isoir110': 'iso8859-4', |  | 
| 3022   'isoir126': 'iso8859-7', |  | 
| 3023   'isoir127': 'iso8859-6', |  | 
| 3024   'isoir138': 'iso8859-8', |  | 
| 3025   'isoir144': 'iso8859-5', |  | 
| 3026   'isoir148': 'windows-1254', |  | 
| 3027   'isoir149': 'cp949', |  | 
| 3028   'isoir157': 'iso8859-10', |  | 
| 3029   'isoir199': 'iso8859-14', |  | 
| 3030   'isoir226': 'iso8859-16', |  | 
| 3031   'isoir58': 'gbk', |  | 
| 3032   'isoir6': 'ascii', |  | 
| 3033   'koi8r': 'koi8-r', |  | 
| 3034   'koi8u': 'koi8-u', |  | 
| 3035   'korean': 'cp949', |  | 
| 3036   'ksc5601': 'cp949', |  | 
| 3037   'ksc56011987': 'cp949', |  | 
| 3038   'ksc56011989': 'cp949', |  | 
| 3039   'l1': 'windows-1252', |  | 
| 3040   'l10': 'iso8859-16', |  | 
| 3041   'l2': 'iso8859-2', |  | 
| 3042   'l3': 'iso8859-3', |  | 
| 3043   'l4': 'iso8859-4', |  | 
| 3044   'l5': 'windows-1254', |  | 
| 3045   'l6': 'iso8859-10', |  | 
| 3046   'l8': 'iso8859-14', |  | 
| 3047   'latin1': 'windows-1252', |  | 
| 3048   'latin10': 'iso8859-16', |  | 
| 3049   'latin2': 'iso8859-2', |  | 
| 3050   'latin3': 'iso8859-3', |  | 
| 3051   'latin4': 'iso8859-4', |  | 
| 3052   'latin5': 'windows-1254', |  | 
| 3053   'latin6': 'iso8859-10', |  | 
| 3054   'latin8': 'iso8859-14', |  | 
| 3055   'latin9': 'iso8859-15', |  | 
| 3056   'ms936': 'gbk', |  | 
| 3057   'mskanji': 'shift_jis', |  | 
| 3058   'pt154': 'ptcp154', |  | 
| 3059   'ptcp154': 'ptcp154', |  | 
| 3060   'r8': 'hp-roman8', |  | 
| 3061   'roman8': 'hp-roman8', |  | 
| 3062   'shiftjis': 'shift_jis', |  | 
| 3063   'tis620': 'cp874', |  | 
| 3064   'unicode11utf7': 'utf-7', |  | 
| 3065   'us': 'ascii', |  | 
| 3066   'usascii': 'ascii', |  | 
| 3067   'utf16': 'utf-16', |  | 
| 3068   'utf16be': 'utf-16-be', |  | 
| 3069   'utf16le': 'utf-16-le', |  | 
| 3070   'utf8': 'utf-8', |  | 
| 3071   'windows1250': 'cp1250', |  | 
| 3072   'windows1251': 'cp1251', |  | 
| 3073   'windows1252': 'cp1252', |  | 
| 3074   'windows1253': 'cp1253', |  | 
| 3075   'windows1254': 'cp1254', |  | 
| 3076   'windows1255': 'cp1255', |  | 
| 3077   'windows1256': 'cp1256', |  | 
| 3078   'windows1257': 'cp1257', |  | 
| 3079   'windows1258': 'cp1258', |  | 
| 3080   'windows936': 'gbk', |  | 
| 3081   'x-x-big5': 'big5' |  | 
| 3082 }; |  | 
| OLD | NEW | 
|---|