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.

2947 lines
82 KiB

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