You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3102 lines
85 KiB

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