#!python

# This generates a java source file by taking each method that has a
# parameters (String s, int off, int end) and generating a copy that
# takes (char[] s, int off, int end).

# Fix emacs syntax highlighting "

src = r"""
// Copyright (C) 2011 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.autoesc;

import java.io.IOException;
import java.io.Writer;

import javax.annotation.Nullable;

/** HTML contains utilities for dealing with HTML contexts. */
class HTML {
  /** Returns s[off:end] but with any HTML entities decoded. */
  static String unescapeString(String s, int off, int end) /*DONT_DUPE;*/ {
    String d = maybeUnescape(s, off, end);
    return d == null ? s.substring(off, end) : d;
  }

  /**
   * Returns s[off:end] as a string but with any entitied decoded
   * or null if no decoding needed.
   */
  static @Nullable String maybeUnescape(String s, int offset, int end) {
    int off = offset;
    int amp = off;
    while (amp < end && s.charAt(amp) != '&') { ++amp; }
    if (amp == end) {
      return null;
    }
    StringBuilder sb = new StringBuilder(end - off);
    CharsUtil.append(sb, s, off, amp);
    off = amp;
    do {
      int entityEnd = amp + 1;
      int limit = Math.min(entityEnd + 32, end); // no entities over length 32.
      if (entityEnd < end && s.charAt(entityEnd) == '#') {
        ++entityEnd;
      }
      for (; entityEnd < limit; ++entityEnd) {
        char ch = s.charAt(entityEnd);
        if (!(('A' <= ch && ch <= 'Z')
               || ('a' <= ch && ch <= 'z')
               || ('0' <= ch && ch <= '9'))) {
          break;
        }
      }
      CharsUtil.append(sb, s, off, amp);
      if (decodeEntityOnto(s, amp+1, entityEnd, sb)) {
        if (entityEnd < end && s.charAt(entityEnd) == ';') { ++entityEnd; }
      }
      amp = off = entityEnd;
      for (; amp < end; ++amp) {
        if (s.charAt(amp) == '&') { break; }
      }
    } while (amp < end);
    CharsUtil.append(sb, s, off, end);
    return sb.toString();
  }

  /**
   * Decodes any entity (the name or # and digits excl. ampersand or semicolon)
   * in s[off:end] onto sb.
   * @return true if a valid entity was found.
   */
  private static boolean decodeEntityOnto(
      String s, int off, int end, StringBuilder sb) {
    if (end == off) {
      sb.append('&');
      return false;
    }
    if (s.charAt(off) == '#' && off + 1 < end) {
      // Decode numeric entity.
      char ch = s.charAt(off+1);
      numericEntity: do {
        int rune = 0;
        if (off + 2 < end && (ch == 'x' || ch == 'X')) {
          for (int i = off + 2; i < end; ++i) {
            rune <<= 4;
            ch = s.charAt(i);
            if ('0' <= ch && ch <= '9') {
              rune |= (ch - '0');
            } else if ('A' <= ch && ch <= 'F') {
              rune |= (ch - 'A' + 10);
            } else if ('a' <= ch && ch <= 'f') {
              rune |= (ch - 'a' + 10);
            } else {
              break numericEntity;
            }
          }
        }  else {
          for (int i = off + 1; i < end; ++i) {
            rune *= 10;
            ch = s.charAt(i);
            if ('0' <= ch && ch <= '9') {
              rune += (ch - '0');
            } else {
              break numericEntity;
            }
          }
        }
        if (0 <= rune && rune <= Character.MAX_CODE_POINT) {
          sb.appendCodePoint(rune);
          return true;
        }
      } while (false);
    } else {
      String repl = ENTITIES.get(s, off, end);
      if (repl != null) {
        sb.append(repl);
        return true;
      }
    }
    sb.append('&');
    CharsUtil.append(sb, s, off, end);
    return false;
  }

  static final ReplacementTable REPLACEMENT_TABLE = new ReplacementTable()
      .add('`', "&#96;")
      .add('<', "&lt;")
      .add('>', "&gt;")
      .add('+', "&#43;")
      .add('\'', "&#39;")
      .add('&', "&amp;")
      .add('"', "&#34;")
      // Most HTML5 parsing states treat NUL as an error case and replace it
      // with U+FFFD, the replacement character.
      .add((char) 0, "\ufffd");

  static final ReplacementTable NORM_REPLACEMENT_TABLE
      = new ReplacementTable(REPLACEMENT_TABLE)
      .add('&', null);

  private static final ReplacementTable NORM_BASIC_REPLACEMENT_TABLE
      = new ReplacementTable(NORM_REPLACEMENT_TABLE)
      .add('\'', null)
      .add('"', null);

  /** escapeOnto escapes for inclusion in HTML text. */
  static void escapeOnto(@Nullable Object o, Writer out) throws IOException {
    String safe = ContentType.Markup.derefSafeContent(o);
    if (safe != null) {
      out.write(safe);
      return;
    }
    REPLACEMENT_TABLE.escapeOnto(o, out);
  }

  /** escapeOnto escapes for inclusion in HTML text. */
  static void escapeOnto(String s, int off, int end, Writer out)
      throws IOException {
    REPLACEMENT_TABLE.escapeOnto(s, off, end, out);
  }

  /**
   * normalizeOnto escapes for inclusion in HTML text but does not break
   * existing entities.
   */
  static void normalizeOnto(@Nullable Object o, Writer out) throws IOException {
    String safe = ContentType.Markup.derefSafeContent(o);
    if (safe != null) {
      out.write(safe);
      return;
    }
    NORM_REPLACEMENT_TABLE.escapeOnto(o, out);
  }

  /**
   * normalizeOnto escapes for inclusion in HTML text but does not break
   * existing entities.
   */
  static void normalizeOnto(String s, int off, int end, Writer out)
      throws IOException {
    NORM_REPLACEMENT_TABLE.escapeOnto(s, off, end, out);
  }

  /** escapeRCDATAOnto escapes for inclusion in an RCDATA element body. */
  static void escapeRCDATAOnto(@Nullable Object o, Writer out)
      throws IOException {
    String safe = ContentType.Markup.derefSafeContent(o);
    if (safe != null) {
      // Normalize the content so that an RCDATA tag, like a
      // {@code <textarea>} will not be ended prematurely if safe contains
      // tag-like content including {@code "</textarea>"}.
      NORM_REPLACEMENT_TABLE.escapeOnto(safe, out);
      return;
    }
    REPLACEMENT_TABLE.escapeOnto(o, out);
  }

  /**
   * filterNameOnto accepts valid parts of an HTML attribute or tag name or
   * a known-safe HTML attribute.
   * @return context
   */
  static int filterNameOnto(@Nullable Object o, Writer out, int context)
      throws IOException {
    String safe = ContentType.Attr.derefSafeContent(o);
    if (safe != null) {
      if (Context.state(context) == Context.State.TagName) { out.write(' '); }
      NORM_BASIC_REPLACEMENT_TABLE.escapeOnto(safe, out);
      return context;
    }
    String s = ReplacementTable.toString(o);
    return filterNameOnto(s, 0, s.length(), out, context);
  }

  static int filterNameOnto(
      String s, int off, int end, Writer out, int context)
      throws IOException {
    if (off == end || end - off >= 64) {
      // Avoid violation of structure preservation and reject long identifiers.
      // <input checked {{K}}={{V}}>.
      // Without this, if {{K}} is empty then {{V}} is the value of
      // checked, but otherwise {{V}} is the value of the attribute
      // named {{K}}.
      out.write("ZautoescZ");
      return context;
    }
    ContentType type = Context.state(context) != Context.State.TagName
        // JS if we saw the "on" prefix already.
        ? (Context.attr(context) == Context.Attr.Script ? ContentType.JS
           : Attr.attrType(s, off, end))
        : ContentType.Plain;
    for (int i = off; i < end; ++i) {
      char ch = s.charAt(i);
      if (!(('0' <= ch && ch <= '9')
            || ('A' <= ch && ch <= 'Z')
            || ('a' <= ch && ch <= 'z'))) {
        out.write("ZautoescZ");
        return context;
      }
    }
    int attr;
    switch (type) {
      case Plain: attr = Context.Attr.None; break;
      case CSS: attr = Context.Attr.Style; break;
      case JS: attr = Context.Attr.Script; break;
      case URL: attr = Context.Attr.URL; break;
      default:
        out.write("ZautoescZ");
        return context;
    }
    out.write(s, off, end - off);
    return Context.attr(context, attr);
  }

  private static final Trie<String> ENTITIES
    = Trie.<String>builder()
      .put("AElig",                           "\u00C6")
      .put("AMP",                             "\u0026")
      .put("Aacute",                          "\u00C1")
      .put("Abreve",                          "\u0102")
      .put("Acirc",                           "\u00C2")
      .put("Acy",                             "\u0410")
      .put("Afr",                             "\ud835\udd04")
      .put("Agrave",                          "\u00C0")
      .put("Alpha",                           "\u0391")
      .put("Amacr",                           "\u0100")
      .put("And",                             "\u2A53")
      .put("Aogon",                           "\u0104")
      .put("Aopf",                            "\ud835\udd38")
      .put("ApplyFunction",                   "\u2061")
      .put("Aring",                           "\u00C5")
      .put("Ascr",                            "\ud835\udc9c")
      .put("Assign",                          "\u2254")
      .put("Atilde",                          "\u00C3")
      .put("Auml",                            "\u00C4")
      .put("Backslash",                       "\u2216")
      .put("Barv",                            "\u2AE7")
      .put("Barwed",                          "\u2306")
      .put("Bcy",                             "\u0411")
      .put("Because",                         "\u2235")
      .put("Bernoullis",                      "\u212C")
      .put("Beta",                            "\u0392")
      .put("Bfr",                             "\ud835\udd05")
      .put("Bopf",                            "\ud835\udd39")
      .put("Breve",                           "\u02D8")
      .put("Bscr",                            "\u212C")
      .put("Bumpeq",                          "\u224E")
      .put("CHcy",                            "\u0427")
      .put("COPY",                            "\u00A9")
      .put("Cacute",                          "\u0106")
      .put("Cap",                             "\u22D2")
      .put("CapitalDifferentialD",            "\u2145")
      .put("Cayleys",                         "\u212D")
      .put("Ccaron",                          "\u010C")
      .put("Ccedil",                          "\u00C7")
      .put("Ccirc",                           "\u0108")
      .put("Cconint",                         "\u2230")
      .put("Cdot",                            "\u010A")
      .put("Cedilla",                         "\u00B8")
      .put("CenterDot",                       "\u00B7")
      .put("Cfr",                             "\u212D")
      .put("Chi",                             "\u03A7")
      .put("CircleDot",                       "\u2299")
      .put("CircleMinus",                     "\u2296")
      .put("CirclePlus",                      "\u2295")
      .put("CircleTimes",                     "\u2297")
      .put("ClockwiseContourIntegral",        "\u2232")
      .put("CloseCurlyDoubleQuote",           "\u201D")
      .put("CloseCurlyQuote",                 "\u2019")
      .put("Colon",                           "\u2237")
      .put("Colone",                          "\u2A74")
      .put("Congruent",                       "\u2261")
      .put("Conint",                          "\u222F")
      .put("ContourIntegral",                 "\u222E")
      .put("Copf",                            "\u2102")
      .put("Coproduct",                       "\u2210")
      .put("CounterClockwiseContourIntegral", "\u2233")
      .put("Cross",                           "\u2A2F")
      .put("Cscr",                            "\ud835\udc9e")
      .put("Cup",                             "\u22D3")
      .put("CupCap",                          "\u224D")
      .put("DD",                              "\u2145")
      .put("DDotrahd",                        "\u2911")
      .put("DJcy",                            "\u0402")
      .put("DScy",                            "\u0405")
      .put("DZcy",                            "\u040F")
      .put("Dagger",                          "\u2021")
      .put("Darr",                            "\u21A1")
      .put("Dashv",                           "\u2AE4")
      .put("Dcaron",                          "\u010E")
      .put("Dcy",                             "\u0414")
      .put("Del",                             "\u2207")
      .put("Delta",                           "\u0394")
      .put("Dfr",                             "\ud835\udd07")
      .put("DiacriticalAcute",                "\u00B4")
      .put("DiacriticalDot",                  "\u02D9")
      .put("DiacriticalDoubleAcute",          "\u02DD")
      .put("DiacriticalGrave",                "\u0060")
      .put("DiacriticalTilde",                "\u02DC")
      .put("Diamond",                         "\u22C4")
      .put("DifferentialD",                   "\u2146")
      .put("Dopf",                            "\ud835\udd3b")
      .put("Dot",                             "\u00A8")
      .put("DotDot",                          "\u20DC")
      .put("DotEqual",                        "\u2250")
      .put("DoubleContourIntegral",           "\u222F")
      .put("DoubleDot",                       "\u00A8")
      .put("DoubleDownArrow",                 "\u21D3")
      .put("DoubleLeftArrow",                 "\u21D0")
      .put("DoubleLeftRightArrow",            "\u21D4")
      .put("DoubleLeftTee",                   "\u2AE4")
      .put("DoubleLongLeftArrow",             "\u27F8")
      .put("DoubleLongLeftRightArrow",        "\u27FA")
      .put("DoubleLongRightArrow",            "\u27F9")
      .put("DoubleRightArrow",                "\u21D2")
      .put("DoubleRightTee",                  "\u22A8")
      .put("DoubleUpArrow",                   "\u21D1")
      .put("DoubleUpDownArrow",               "\u21D5")
      .put("DoubleVerticalBar",               "\u2225")
      .put("DownArrow",                       "\u2193")
      .put("DownArrowBar",                    "\u2913")
      .put("DownArrowUpArrow",                "\u21F5")
      .put("DownBreve",                       "\u0311")
      .put("DownLeftRightVector",             "\u2950")
      .put("DownLeftTeeVector",               "\u295E")
      .put("DownLeftVector",                  "\u21BD")
      .put("DownLeftVectorBar",               "\u2956")
      .put("DownRightTeeVector",              "\u295F")
      .put("DownRightVector",                 "\u21C1")
      .put("DownRightVectorBar",              "\u2957")
      .put("DownTee",                         "\u22A4")
      .put("DownTeeArrow",                    "\u21A7")
      .put("Downarrow",                       "\u21D3")
      .put("Dscr",                            "\ud835\udc9f")
      .put("Dstrok",                          "\u0110")
      .put("ENG",                             "\u014A")
      .put("ETH",                             "\u00D0")
      .put("Eacute",                          "\u00C9")
      .put("Ecaron",                          "\u011A")
      .put("Ecirc",                           "\u00CA")
      .put("Ecy",                             "\u042D")
      .put("Edot",                            "\u0116")
      .put("Efr",                             "\ud835\udd08")
      .put("Egrave",                          "\u00C8")
      .put("Element",                         "\u2208")
      .put("Emacr",                           "\u0112")
      .put("EmptySmallSquare",                "\u25FB")
      .put("EmptyVerySmallSquare",            "\u25AB")
      .put("Eogon",                           "\u0118")
      .put("Eopf",                            "\ud835\udd3c")
      .put("Epsilon",                         "\u0395")
      .put("Equal",                           "\u2A75")
      .put("EqualTilde",                      "\u2242")
      .put("Equilibrium",                     "\u21CC")
      .put("Escr",                            "\u2130")
      .put("Esim",                            "\u2A73")
      .put("Eta",                             "\u0397")
      .put("Euml",                            "\u00CB")
      .put("Exists",                          "\u2203")
      .put("ExponentialE",                    "\u2147")
      .put("Fcy",                             "\u0424")
      .put("Ffr",                             "\ud835\udd09")
      .put("FilledSmallSquare",               "\u25FC")
      .put("FilledVerySmallSquare",           "\u25AA")
      .put("Fopf",                            "\ud835\udd3d")
      .put("ForAll",                          "\u2200")
      .put("Fouriertrf",                      "\u2131")
      .put("Fscr",                            "\u2131")
      .put("GJcy",                            "\u0403")
      .put("GT",                              "\u003E")
      .put("Gamma",                           "\u0393")
      .put("Gammad",                          "\u03DC")
      .put("Gbreve",                          "\u011E")
      .put("Gcedil",                          "\u0122")
      .put("Gcirc",                           "\u011C")
      .put("Gcy",                             "\u0413")
      .put("Gdot",                            "\u0120")
      .put("Gfr",                             "\ud835\udd0a")
      .put("Gg",                              "\u22D9")
      .put("Gopf",                            "\ud835\udd3e")
      .put("GreaterEqual",                    "\u2265")
      .put("GreaterEqualLess",                "\u22DB")
      .put("GreaterFullEqual",                "\u2267")
      .put("GreaterGreater",                  "\u2AA2")
      .put("GreaterLess",                     "\u2277")
      .put("GreaterSlantEqual",               "\u2A7E")
      .put("GreaterTilde",                    "\u2273")
      .put("Gscr",                            "\ud835\udca2")
      .put("Gt",                              "\u226B")
      .put("HARDcy",                          "\u042A")
      .put("Hacek",                           "\u02C7")
      .put("Hat",                             "\u005E")
      .put("Hcirc",                           "\u0124")
      .put("Hfr",                             "\u210C")
      .put("HilbertSpace",                    "\u210B")
      .put("Hopf",                            "\u210D")
      .put("HorizontalLine",                  "\u2500")
      .put("Hscr",                            "\u210B")
      .put("Hstrok",                          "\u0126")
      .put("HumpDownHump",                    "\u224E")
      .put("HumpEqual",                       "\u224F")
      .put("IEcy",                            "\u0415")
      .put("IJlig",                           "\u0132")
      .put("IOcy",                            "\u0401")
      .put("Iacute",                          "\u00CD")
      .put("Icirc",                           "\u00CE")
      .put("Icy",                             "\u0418")
      .put("Idot",                            "\u0130")
      .put("Ifr",                             "\u2111")
      .put("Igrave",                          "\u00CC")
      .put("Im",                              "\u2111")
      .put("Imacr",                           "\u012A")
      .put("ImaginaryI",                      "\u2148")
      .put("Implies",                         "\u21D2")
      .put("Int",                             "\u222C")
      .put("Integral",                        "\u222B")
      .put("Intersection",                    "\u22C2")
      .put("InvisibleComma",                  "\u2063")
      .put("InvisibleTimes",                  "\u2062")
      .put("Iogon",                           "\u012E")
      .put("Iopf",                            "\ud835\udd40")
      .put("Iota",                            "\u0399")
      .put("Iscr",                            "\u2110")
      .put("Itilde",                          "\u0128")
      .put("Iukcy",                           "\u0406")
      .put("Iuml",                            "\u00CF")
      .put("Jcirc",                           "\u0134")
      .put("Jcy",                             "\u0419")
      .put("Jfr",                             "\ud835\udd0d")
      .put("Jopf",                            "\ud835\udd41")
      .put("Jscr",                            "\ud835\udca5")
      .put("Jsercy",                          "\u0408")
      .put("Jukcy",                           "\u0404")
      .put("KHcy",                            "\u0425")
      .put("KJcy",                            "\u040C")
      .put("Kappa",                           "\u039A")
      .put("Kcedil",                          "\u0136")
      .put("Kcy",                             "\u041A")
      .put("Kfr",                             "\ud835\udd0e")
      .put("Kopf",                            "\ud835\udd42")
      .put("Kscr",                            "\ud835\udca6")
      .put("LJcy",                            "\u0409")
      .put("LT",                              "\u003C")
      .put("Lacute",                          "\u0139")
      .put("Lambda",                          "\u039B")
      .put("Lang",                            "\u27EA")
      .put("Laplacetrf",                      "\u2112")
      .put("Larr",                            "\u219E")
      .put("Lcaron",                          "\u013D")
      .put("Lcedil",                          "\u013B")
      .put("Lcy",                             "\u041B")
      .put("LeftAngleBracket",                "\u27E8")
      .put("LeftArrow",                       "\u2190")
      .put("LeftArrowBar",                    "\u21E4")
      .put("LeftArrowRightArrow",             "\u21C6")
      .put("LeftCeiling",                     "\u2308")
      .put("LeftDoubleBracket",               "\u27E6")
      .put("LeftDownTeeVector",               "\u2961")
      .put("LeftDownVector",                  "\u21C3")
      .put("LeftDownVectorBar",               "\u2959")
      .put("LeftFloor",                       "\u230A")
      .put("LeftRightArrow",                  "\u2194")
      .put("LeftRightVector",                 "\u294E")
      .put("LeftTee",                         "\u22A3")
      .put("LeftTeeArrow",                    "\u21A4")
      .put("LeftTeeVector",                   "\u295A")
      .put("LeftTriangle",                    "\u22B2")
      .put("LeftTriangleBar",                 "\u29CF")
      .put("LeftTriangleEqual",               "\u22B4")
      .put("LeftUpDownVector",                "\u2951")
      .put("LeftUpTeeVector",                 "\u2960")
      .put("LeftUpVector",                    "\u21BF")
      .put("LeftUpVectorBar",                 "\u2958")
      .put("LeftVector",                      "\u21BC")
      .put("LeftVectorBar",                   "\u2952")
      .put("Leftarrow",                       "\u21D0")
      .put("Leftrightarrow",                  "\u21D4")
      .put("LessEqualGreater",                "\u22DA")
      .put("LessFullEqual",                   "\u2266")
      .put("LessGreater",                     "\u2276")
      .put("LessLess",                        "\u2AA1")
      .put("LessSlantEqual",                  "\u2A7D")
      .put("LessTilde",                       "\u2272")
      .put("Lfr",                             "\ud835\udd0f")
      .put("Ll",                              "\u22D8")
      .put("Lleftarrow",                      "\u21DA")
      .put("Lmidot",                          "\u013F")
      .put("LongLeftArrow",                   "\u27F5")
      .put("LongLeftRightArrow",              "\u27F7")
      .put("LongRightArrow",                  "\u27F6")
      .put("Longleftarrow",                   "\u27F8")
      .put("Longleftrightarrow",              "\u27FA")
      .put("Longrightarrow",                  "\u27F9")
      .put("Lopf",                            "\ud835\udd43")
      .put("LowerLeftArrow",                  "\u2199")
      .put("LowerRightArrow",                 "\u2198")
      .put("Lscr",                            "\u2112")
      .put("Lsh",                             "\u21B0")
      .put("Lstrok",                          "\u0141")
      .put("Lt",                              "\u226A")
      .put("Map",                             "\u2905")
      .put("Mcy",                             "\u041C")
      .put("MediumSpace",                     "\u205F")
      .put("Mellintrf",                       "\u2133")
      .put("Mfr",                             "\ud835\udd10")
      .put("MinusPlus",                       "\u2213")
      .put("Mopf",                            "\ud835\udd44")
      .put("Mscr",                            "\u2133")
      .put("Mu",                              "\u039C")
      .put("NJcy",                            "\u040A")
      .put("Nacute",                          "\u0143")
      .put("Ncaron",                          "\u0147")
      .put("Ncedil",                          "\u0145")
      .put("Ncy",                             "\u041D")
      .put("NegativeMediumSpace",             "\u200B")
      .put("NegativeThickSpace",              "\u200B")
      .put("NegativeThinSpace",               "\u200B")
      .put("NegativeVeryThinSpace",           "\u200B")
      .put("NestedGreaterGreater",            "\u226B")
      .put("NestedLessLess",                  "\u226A")
      .put("NewLine",                         "\n")
      .put("Nfr",                             "\ud835\udd11")
      .put("NoBreak",                         "\u2060")
      .put("NonBreakingSpace",                "\u00A0")
      .put("Nopf",                            "\u2115")
      .put("Not",                             "\u2AEC")
      .put("NotCongruent",                    "\u2262")
      .put("NotCupCap",                       "\u226D")
      .put("NotDoubleVerticalBar",            "\u2226")
      .put("NotElement",                      "\u2209")
      .put("NotEqual",                        "\u2260")
      .put("NotEqualTilde",                   "\u2242\u0338")
      .put("NotExists",                       "\u2204")
      .put("NotGreater",                      "\u226F")
      .put("NotGreaterEqual",                 "\u2271")
      .put("NotGreaterFullEqual",             "\u2267\u0338")
      .put("NotGreaterGreater",               "\u226B\u0338")
      .put("NotGreaterLess",                  "\u2279")
      .put("NotGreaterSlantEqual",            "\u2A7E\u0338")
      .put("NotGreaterTilde",                 "\u2275")
      .put("NotHumpDownHump",                 "\u224E\u0338")
      .put("NotHumpEqual",                    "\u224F\u0338")
      .put("NotLeftTriangle",                 "\u22EA")
      .put("NotLeftTriangleBar",              "\u29CF\u0338")
      .put("NotLeftTriangleEqual",            "\u22EC")
      .put("NotLess",                         "\u226E")
      .put("NotLessEqual",                    "\u2270")
      .put("NotLessGreater",                  "\u2278")
      .put("NotLessLess",                     "\u226A\u0338")
      .put("NotLessSlantEqual",               "\u2A7D\u0338")
      .put("NotLessTilde",                    "\u2274")
      .put("NotNestedGreaterGreater",         "\u2AA2\u0338")
      .put("NotNestedLessLess",               "\u2AA1\u0338")
      .put("NotPrecedes",                     "\u2280")
      .put("NotPrecedesEqual",                "\u2AAF\u0338")
      .put("NotPrecedesSlantEqual",           "\u22E0")
      .put("NotReverseElement",               "\u220C")
      .put("NotRightTriangle",                "\u22EB")
      .put("NotRightTriangleBar",             "\u29D0\u0338")
      .put("NotRightTriangleEqual",           "\u22ED")
      .put("NotSquareSubset",                 "\u228F\u0338")
      .put("NotSquareSubsetEqual",            "\u22E2")
      .put("NotSquareSuperset",               "\u2290\u0338")
      .put("NotSquareSupersetEqual",          "\u22E3")
      .put("NotSubset",                       "\u2282\u20D2")
      .put("NotSubsetEqual",                  "\u2288")
      .put("NotSucceeds",                     "\u2281")
      .put("NotSucceedsEqual",                "\u2AB0\u0338")
      .put("NotSucceedsSlantEqual",           "\u22E1")
      .put("NotSucceedsTilde",                "\u227F\u0338")
      .put("NotSuperset",                     "\u2283\u20D2")
      .put("NotSupersetEqual",                "\u2289")
      .put("NotTilde",                        "\u2241")
      .put("NotTildeEqual",                   "\u2244")
      .put("NotTildeFullEqual",               "\u2247")
      .put("NotTildeTilde",                   "\u2249")
      .put("NotVerticalBar",                  "\u2224")
      .put("Nscr",                            "\ud835\udca9")
      .put("Ntilde",                          "\u00D1")
      .put("Nu",                              "\u039D")
      .put("OElig",                           "\u0152")
      .put("Oacute",                          "\u00D3")
      .put("Ocirc",                           "\u00D4")
      .put("Ocy",                             "\u041E")
      .put("Odblac",                          "\u0150")
      .put("Ofr",                             "\ud835\udd12")
      .put("Ograve",                          "\u00D2")
      .put("Omacr",                           "\u014C")
      .put("Omega",                           "\u03A9")
      .put("Omicron",                         "\u039F")
      .put("Oopf",                            "\ud835\udd46")
      .put("OpenCurlyDoubleQuote",            "\u201C")
      .put("OpenCurlyQuote",                  "\u2018")
      .put("Or",                              "\u2A54")
      .put("Oscr",                            "\ud835\udcaa")
      .put("Oslash",                          "\u00D8")
      .put("Otilde",                          "\u00D5")
      .put("Otimes",                          "\u2A37")
      .put("Ouml",                            "\u00D6")
      .put("OverBar",                         "\u203E")
      .put("OverBrace",                       "\u23DE")
      .put("OverBracket",                     "\u23B4")
      .put("OverParenthesis",                 "\u23DC")
      .put("PartialD",                        "\u2202")
      .put("Pcy",                             "\u041F")
      .put("Pfr",                             "\ud835\udd13")
      .put("Phi",                             "\u03A6")
      .put("Pi",                              "\u03A0")
      .put("PlusMinus",                       "\u00B1")
      .put("Poincareplane",                   "\u210C")
      .put("Popf",                            "\u2119")
      .put("Pr",                              "\u2ABB")
      .put("Precedes",                        "\u227A")
      .put("PrecedesEqual",                   "\u2AAF")
      .put("PrecedesSlantEqual",              "\u227C")
      .put("PrecedesTilde",                   "\u227E")
      .put("Prime",                           "\u2033")
      .put("Product",                         "\u220F")
      .put("Proportion",                      "\u2237")
      .put("Proportional",                    "\u221D")
      .put("Pscr",                            "\ud835\udcab")
      .put("Psi",                             "\u03A8")
      .put("QUOT",                            "\"")
      .put("Qfr",                             "\ud835\udd14")
      .put("Qopf",                            "\u211A")
      .put("Qscr",                            "\ud835\udcac")
      .put("RBarr",                           "\u2910")
      .put("REG",                             "\u00AE")
      .put("Racute",                          "\u0154")
      .put("Rang",                            "\u27EB")
      .put("Rarr",                            "\u21A0")
      .put("Rarrtl",                          "\u2916")
      .put("Rcaron",                          "\u0158")
      .put("Rcedil",                          "\u0156")
      .put("Rcy",                             "\u0420")
      .put("Re",                              "\u211C")
      .put("ReverseElement",                  "\u220B")
      .put("ReverseEquilibrium",              "\u21CB")
      .put("ReverseUpEquilibrium",            "\u296F")
      .put("Rfr",                             "\u211C")
      .put("Rho",                             "\u03A1")
      .put("RightAngleBracket",               "\u27E9")
      .put("RightArrow",                      "\u2192")
      .put("RightArrowBar",                   "\u21E5")
      .put("RightArrowLeftArrow",             "\u21C4")
      .put("RightCeiling",                    "\u2309")
      .put("RightDoubleBracket",              "\u27E7")
      .put("RightDownTeeVector",              "\u295D")
      .put("RightDownVector",                 "\u21C2")
      .put("RightDownVectorBar",              "\u2955")
      .put("RightFloor",                      "\u230B")
      .put("RightTee",                        "\u22A2")
      .put("RightTeeArrow",                   "\u21A6")
      .put("RightTeeVector",                  "\u295B")
      .put("RightTriangle",                   "\u22B3")
      .put("RightTriangleBar",                "\u29D0")
      .put("RightTriangleEqual",              "\u22B5")
      .put("RightUpDownVector",               "\u294F")
      .put("RightUpTeeVector",                "\u295C")
      .put("RightUpVector",                   "\u21BE")
      .put("RightUpVectorBar",                "\u2954")
      .put("RightVector",                     "\u21C0")
      .put("RightVectorBar",                  "\u2953")
      .put("Rightarrow",                      "\u21D2")
      .put("Ropf",                            "\u211D")
      .put("RoundImplies",                    "\u2970")
      .put("Rrightarrow",                     "\u21DB")
      .put("Rscr",                            "\u211B")
      .put("Rsh",                             "\u21B1")
      .put("RuleDelayed",                     "\u29F4")
      .put("SHCHcy",                          "\u0429")
      .put("SHcy",                            "\u0428")
      .put("SOFTcy",                          "\u042C")
      .put("Sacute",                          "\u015A")
      .put("Sc",                              "\u2ABC")
      .put("Scaron",                          "\u0160")
      .put("Scedil",                          "\u015E")
      .put("Scirc",                           "\u015C")
      .put("Scy",                             "\u0421")
      .put("Sfr",                             "\ud835\udd16")
      .put("ShortDownArrow",                  "\u2193")
      .put("ShortLeftArrow",                  "\u2190")
      .put("ShortRightArrow",                 "\u2192")
      .put("ShortUpArrow",                    "\u2191")
      .put("Sigma",                           "\u03A3")
      .put("SmallCircle",                     "\u2218")
      .put("Sopf",                            "\ud835\udd4a")
      .put("Sqrt",                            "\u221A")
      .put("Square",                          "\u25A1")
      .put("SquareIntersection",              "\u2293")
      .put("SquareSubset",                    "\u228F")
      .put("SquareSubsetEqual",               "\u2291")
      .put("SquareSuperset",                  "\u2290")
      .put("SquareSupersetEqual",             "\u2292")
      .put("SquareUnion",                     "\u2294")
      .put("Sscr",                            "\ud835\udcae")
      .put("Star",                            "\u22C6")
      .put("Sub",                             "\u22D0")
      .put("Subset",                          "\u22D0")
      .put("SubsetEqual",                     "\u2286")
      .put("Succeeds",                        "\u227B")
      .put("SucceedsEqual",                   "\u2AB0")
      .put("SucceedsSlantEqual",              "\u227D")
      .put("SucceedsTilde",                   "\u227F")
      .put("SuchThat",                        "\u220B")
      .put("Sum",                             "\u2211")
      .put("Sup",                             "\u22D1")
      .put("Superset",                        "\u2283")
      .put("SupersetEqual",                   "\u2287")
      .put("Supset",                          "\u22D1")
      .put("THORN",                           "\u00DE")
      .put("TRADE",                           "\u2122")
      .put("TSHcy",                           "\u040B")
      .put("TScy",                            "\u0426")
      .put("Tab",                             "\u0009")
      .put("Tau",                             "\u03A4")
      .put("Tcaron",                          "\u0164")
      .put("Tcedil",                          "\u0162")
      .put("Tcy",                             "\u0422")
      .put("Tfr",                             "\ud835\udd17")
      .put("Therefore",                       "\u2234")
      .put("Theta",                           "\u0398")
      .put("ThickSpace",                      "\u205F\u200A")
      .put("ThinSpace",                       "\u2009")
      .put("Tilde",                           "\u223C")
      .put("TildeEqual",                      "\u2243")
      .put("TildeFullEqual",                  "\u2245")
      .put("TildeTilde",                      "\u2248")
      .put("Topf",                            "\ud835\udd4b")
      .put("TripleDot",                       "\u20DB")
      .put("Tscr",                            "\ud835\udcaf")
      .put("Tstrok",                          "\u0166")
      .put("Uacute",                          "\u00DA")
      .put("Uarr",                            "\u219F")
      .put("Uarrocir",                        "\u2949")
      .put("Ubrcy",                           "\u040E")
      .put("Ubreve",                          "\u016C")
      .put("Ucirc",                           "\u00DB")
      .put("Ucy",                             "\u0423")
      .put("Udblac",                          "\u0170")
      .put("Ufr",                             "\ud835\udd18")
      .put("Ugrave",                          "\u00D9")
      .put("Umacr",                           "\u016A")
      .put("UnderBar",                        "\u005F")
      .put("UnderBrace",                      "\u23DF")
      .put("UnderBracket",                    "\u23B5")
      .put("UnderParenthesis",                "\u23DD")
      .put("Union",                           "\u22C3")
      .put("UnionPlus",                       "\u228E")
      .put("Uogon",                           "\u0172")
      .put("Uopf",                            "\ud835\udd4c")
      .put("UpArrow",                         "\u2191")
      .put("UpArrowBar",                      "\u2912")
      .put("UpArrowDownArrow",                "\u21C5")
      .put("UpDownArrow",                     "\u2195")
      .put("UpEquilibrium",                   "\u296E")
      .put("UpTee",                           "\u22A5")
      .put("UpTeeArrow",                      "\u21A5")
      .put("Uparrow",                         "\u21D1")
      .put("Updownarrow",                     "\u21D5")
      .put("UpperLeftArrow",                  "\u2196")
      .put("UpperRightArrow",                 "\u2197")
      .put("Upsi",                            "\u03D2")
      .put("Upsilon",                         "\u03A5")
      .put("Uring",                           "\u016E")
      .put("Uscr",                            "\ud835\udcb0")
      .put("Utilde",                          "\u0168")
      .put("Uuml",                            "\u00DC")
      .put("VDash",                           "\u22AB")
      .put("Vbar",                            "\u2AEB")
      .put("Vcy",                             "\u0412")
      .put("Vdash",                           "\u22A9")
      .put("Vdashl",                          "\u2AE6")
      .put("Vee",                             "\u22C1")
      .put("Verbar",                          "\u2016")
      .put("Vert",                            "\u2016")
      .put("VerticalBar",                     "\u2223")
      .put("VerticalLine",                    "\u007C")
      .put("VerticalSeparator",               "\u2758")
      .put("VerticalTilde",                   "\u2240")
      .put("VeryThinSpace",                   "\u200A")
      .put("Vfr",                             "\ud835\udd19")
      .put("Vopf",                            "\ud835\udd4d")
      .put("Vscr",                            "\ud835\udcb1")
      .put("Vvdash",                          "\u22AA")
      .put("Wcirc",                           "\u0174")
      .put("Wedge",                           "\u22C0")
      .put("Wfr",                             "\ud835\udd1a")
      .put("Wopf",                            "\ud835\udd4e")
      .put("Wscr",                            "\ud835\udcb2")
      .put("Xfr",                             "\ud835\udd1b")
      .put("Xi",                              "\u039E")
      .put("Xopf",                            "\ud835\udd4f")
      .put("Xscr",                            "\ud835\udcb3")
      .put("YAcy",                            "\u042F")
      .put("YIcy",                            "\u0407")
      .put("YUcy",                            "\u042E")
      .put("Yacute",                          "\u00DD")
      .put("Ycirc",                           "\u0176")
      .put("Ycy",                             "\u042B")
      .put("Yfr",                             "\ud835\udd1c")
      .put("Yopf",                            "\ud835\udd50")
      .put("Yscr",                            "\ud835\udcb4")
      .put("Yuml",                            "\u0178")
      .put("ZHcy",                            "\u0416")
      .put("Zacute",                          "\u0179")
      .put("Zcaron",                          "\u017D")
      .put("Zcy",                             "\u0417")
      .put("Zdot",                            "\u017B")
      .put("ZeroWidthSpace",                  "\u200B")
      .put("Zeta",                            "\u0396")
      .put("Zfr",                             "\u2128")
      .put("Zopf",                            "\u2124")
      .put("Zscr",                            "\ud835\udcb5")
      .put("aacute",                          "\u00E1")
      .put("abreve",                          "\u0103")
      .put("ac",                              "\u223E")
      .put("acE",                             "\u223E\u0333")
      .put("acd",                             "\u223F")
      .put("acirc",                           "\u00E2")
      .put("acute",                           "\u00B4")
      .put("acy",                             "\u0430")
      .put("aelig",                           "\u00E6")
      .put("af",                              "\u2061")
      .put("afr",                             "\ud835\udd1e")
      .put("agrave",                          "\u00E0")
      .put("alefsym",                         "\u2135")
      .put("aleph",                           "\u2135")
      .put("alpha",                           "\u03B1")
      .put("amacr",                           "\u0101")
      .put("amalg",                           "\u2A3F")
      .put("amp",                             "\u0026")
      .put("and",                             "\u2227")
      .put("andand",                          "\u2A55")
      .put("andd",                            "\u2A5C")
      .put("andslope",                        "\u2A58")
      .put("andv",                            "\u2A5A")
      .put("ang",                             "\u2220")
      .put("ange",                            "\u29A4")
      .put("angle",                           "\u2220")
      .put("angmsd",                          "\u2221")
      .put("angmsdaa",                        "\u29A8")
      .put("angmsdab",                        "\u29A9")
      .put("angmsdac",                        "\u29AA")
      .put("angmsdad",                        "\u29AB")
      .put("angmsdae",                        "\u29AC")
      .put("angmsdaf",                        "\u29AD")
      .put("angmsdag",                        "\u29AE")
      .put("angmsdah",                        "\u29AF")
      .put("angrt",                           "\u221F")
      .put("angrtvb",                         "\u22BE")
      .put("angrtvbd",                        "\u299D")
      .put("angsph",                          "\u2222")
      .put("angst",                           "\u00C5")
      .put("angzarr",                         "\u237C")
      .put("aogon",                           "\u0105")
      .put("aopf",                            "\ud835\udd52")
      .put("ap",                              "\u2248")
      .put("apE",                             "\u2A70")
      .put("apacir",                          "\u2A6F")
      .put("ape",                             "\u224A")
      .put("apid",                            "\u224B")
      .put("apos",                            "\u0027")
      .put("approx",                          "\u2248")
      .put("approxeq",                        "\u224A")
      .put("aring",                           "\u00E5")
      .put("ascr",                            "\ud835\udcb6")
      .put("ast",                             "\u002A")
      .put("asymp",                           "\u2248")
      .put("asympeq",                         "\u224D")
      .put("atilde",                          "\u00E3")
      .put("auml",                            "\u00E4")
      .put("awconint",                        "\u2233")
      .put("awint",                           "\u2A11")
      .put("bNot",                            "\u2AED")
      .put("backcong",                        "\u224C")
      .put("backepsilon",                     "\u03F6")
      .put("backprime",                       "\u2035")
      .put("backsim",                         "\u223D")
      .put("backsimeq",                       "\u22CD")
      .put("barvee",                          "\u22BD")
      .put("barwed",                          "\u2305")
      .put("barwedge",                        "\u2305")
      .put("bbrk",                            "\u23B5")
      .put("bbrktbrk",                        "\u23B6")
      .put("bcong",                           "\u224C")
      .put("bcy",                             "\u0431")
      .put("bdquo",                           "\u201E")
      .put("becaus",                          "\u2235")
      .put("because",                         "\u2235")
      .put("bemptyv",                         "\u29B0")
      .put("bepsi",                           "\u03F6")
      .put("bernou",                          "\u212C")
      .put("beta",                            "\u03B2")
      .put("beth",                            "\u2136")
      .put("between",                         "\u226C")
      .put("bfr",                             "\ud835\udd1f")
      .put("bigcap",                          "\u22C2")
      .put("bigcirc",                         "\u25EF")
      .put("bigcup",                          "\u22C3")
      .put("bigodot",                         "\u2A00")
      .put("bigoplus",                        "\u2A01")
      .put("bigotimes",                       "\u2A02")
      .put("bigsqcup",                        "\u2A06")
      .put("bigstar",                         "\u2605")
      .put("bigtriangledown",                 "\u25BD")
      .put("bigtriangleup",                   "\u25B3")
      .put("biguplus",                        "\u2A04")
      .put("bigvee",                          "\u22C1")
      .put("bigwedge",                        "\u22C0")
      .put("bkarow",                          "\u290D")
      .put("blacklozenge",                    "\u29EB")
      .put("blacksquare",                     "\u25AA")
      .put("blacktriangle",                   "\u25B4")
      .put("blacktriangledown",               "\u25BE")
      .put("blacktriangleleft",               "\u25C2")
      .put("blacktriangleright",              "\u25B8")
      .put("blank",                           "\u2423")
      .put("blk12",                           "\u2592")
      .put("blk14",                           "\u2591")
      .put("blk34",                           "\u2593")
      .put("block",                           "\u2588")
      .put("bne",                             "\u003D\u20E5")
      .put("bnequiv",                         "\u2261\u20E5")
      .put("bnot",                            "\u2310")
      .put("bopf",                            "\ud835\udd53")
      .put("bot",                             "\u22A5")
      .put("bottom",                          "\u22A5")
      .put("bowtie",                          "\u22C8")
      .put("boxDL",                           "\u2557")
      .put("boxDR",                           "\u2554")
      .put("boxDl",                           "\u2556")
      .put("boxDr",                           "\u2553")
      .put("boxH",                            "\u2550")
      .put("boxHD",                           "\u2566")
      .put("boxHU",                           "\u2569")
      .put("boxHd",                           "\u2564")
      .put("boxHu",                           "\u2567")
      .put("boxUL",                           "\u255D")
      .put("boxUR",                           "\u255A")
      .put("boxUl",                           "\u255C")
      .put("boxUr",                           "\u2559")
      .put("boxV",                            "\u2551")
      .put("boxVH",                           "\u256C")
      .put("boxVL",                           "\u2563")
      .put("boxVR",                           "\u2560")
      .put("boxVh",                           "\u256B")
      .put("boxVl",                           "\u2562")
      .put("boxVr",                           "\u255F")
      .put("boxbox",                          "\u29C9")
      .put("boxdL",                           "\u2555")
      .put("boxdR",                           "\u2552")
      .put("boxdl",                           "\u2510")
      .put("boxdr",                           "\u250C")
      .put("boxh",                            "\u2500")
      .put("boxhD",                           "\u2565")
      .put("boxhU",                           "\u2568")
      .put("boxhd",                           "\u252C")
      .put("boxhu",                           "\u2534")
      .put("boxminus",                        "\u229F")
      .put("boxplus",                         "\u229E")
      .put("boxtimes",                        "\u22A0")
      .put("boxuL",                           "\u255B")
      .put("boxuR",                           "\u2558")
      .put("boxul",                           "\u2518")
      .put("boxur",                           "\u2514")
      .put("boxv",                            "\u2502")
      .put("boxvH",                           "\u256A")
      .put("boxvL",                           "\u2561")
      .put("boxvR",                           "\u255E")
      .put("boxvh",                           "\u253C")
      .put("boxvl",                           "\u2524")
      .put("boxvr",                           "\u251C")
      .put("bprime",                          "\u2035")
      .put("breve",                           "\u02D8")
      .put("brvbar",                          "\u00A6")
      .put("bscr",                            "\ud835\udcb7")
      .put("bsemi",                           "\u204F")
      .put("bsim",                            "\u223D")
      .put("bsime",                           "\u22CD")
      .put("bsol",                            "\\")
      .put("bsolb",                           "\u29C5")
      .put("bsolhsub",                        "\u27C8")
      .put("bull",                            "\u2022")
      .put("bullet",                          "\u2022")
      .put("bump",                            "\u224E")
      .put("bumpE",                           "\u2AAE")
      .put("bumpe",                           "\u224F")
      .put("bumpeq",                          "\u224F")
      .put("cacute",                          "\u0107")
      .put("cap",                             "\u2229")
      .put("capand",                          "\u2A44")
      .put("capbrcup",                        "\u2A49")
      .put("capcap",                          "\u2A4B")
      .put("capcup",                          "\u2A47")
      .put("capdot",                          "\u2A40")
      .put("caps",                            "\u2229\uFE00")
      .put("caret",                           "\u2041")
      .put("caron",                           "\u02C7")
      .put("ccaps",                           "\u2A4D")
      .put("ccaron",                          "\u010D")
      .put("ccedil",                          "\u00E7")
      .put("ccirc",                           "\u0109")
      .put("ccups",                           "\u2A4C")
      .put("ccupssm",                         "\u2A50")
      .put("cdot",                            "\u010B")
      .put("cedil",                           "\u00B8")
      .put("cemptyv",                         "\u29B2")
      .put("cent",                            "\u00A2")
      .put("centerdot",                       "\u00B7")
      .put("cfr",                             "\ud835\udd20")
      .put("chcy",                            "\u0447")
      .put("check",                           "\u2713")
      .put("checkmark",                       "\u2713")
      .put("chi",                             "\u03C7")
      .put("cir",                             "\u25CB")
      .put("cirE",                            "\u29C3")
      .put("circ",                            "\u02C6")
      .put("circeq",                          "\u2257")
      .put("circlearrowleft",                 "\u21BA")
      .put("circlearrowright",                "\u21BB")
      .put("circledR",                        "\u00AE")
      .put("circledS",                        "\u24C8")
      .put("circledast",                      "\u229B")
      .put("circledcirc",                     "\u229A")
      .put("circleddash",                     "\u229D")
      .put("cire",                            "\u2257")
      .put("cirfnint",                        "\u2A10")
      .put("cirmid",                          "\u2AEF")
      .put("cirscir",                         "\u29C2")
      .put("clubs",                           "\u2663")
      .put("clubsuit",                        "\u2663")
      .put("colon",                           "\u003A")
      .put("colone",                          "\u2254")
      .put("coloneq",                         "\u2254")
      .put("comma",                           "\u002C")
      .put("commat",                          "\u0040")
      .put("comp",                            "\u2201")
      .put("compfn",                          "\u2218")
      .put("complement",                      "\u2201")
      .put("complexes",                       "\u2102")
      .put("cong",                            "\u2245")
      .put("congdot",                         "\u2A6D")
      .put("conint",                          "\u222E")
      .put("copf",                            "\ud835\udd54")
      .put("coprod",                          "\u2210")
      .put("copy",                            "\u00A9")
      .put("copysr",                          "\u2117")
      .put("crarr",                           "\u21B5")
      .put("cross",                           "\u2717")
      .put("cscr",                            "\ud835\udcb8")
      .put("csub",                            "\u2ACF")
      .put("csube",                           "\u2AD1")
      .put("csup",                            "\u2AD0")
      .put("csupe",                           "\u2AD2")
      .put("ctdot",                           "\u22EF")
      .put("cudarrl",                         "\u2938")
      .put("cudarrr",                         "\u2935")
      .put("cuepr",                           "\u22DE")
      .put("cuesc",                           "\u22DF")
      .put("cularr",                          "\u21B6")
      .put("cularrp",                         "\u293D")
      .put("cup",                             "\u222A")
      .put("cupbrcap",                        "\u2A48")
      .put("cupcap",                          "\u2A46")
      .put("cupcup",                          "\u2A4A")
      .put("cupdot",                          "\u228D")
      .put("cupor",                           "\u2A45")
      .put("cups",                            "\u222A\uFE00")
      .put("curarr",                          "\u21B7")
      .put("curarrm",                         "\u293C")
      .put("curlyeqprec",                     "\u22DE")
      .put("curlyeqsucc",                     "\u22DF")
      .put("curlyvee",                        "\u22CE")
      .put("curlywedge",                      "\u22CF")
      .put("curren",                          "\u00A4")
      .put("curvearrowleft",                  "\u21B6")
      .put("curvearrowright",                 "\u21B7")
      .put("cuvee",                           "\u22CE")
      .put("cuwed",                           "\u22CF")
      .put("cwconint",                        "\u2232")
      .put("cwint",                           "\u2231")
      .put("cylcty",                          "\u232D")
      .put("dArr",                            "\u21D3")
      .put("dHar",                            "\u2965")
      .put("dagger",                          "\u2020")
      .put("daleth",                          "\u2138")
      .put("darr",                            "\u2193")
      .put("dash",                            "\u2010")
      .put("dashv",                           "\u22A3")
      .put("dbkarow",                         "\u290F")
      .put("dblac",                           "\u02DD")
      .put("dcaron",                          "\u010F")
      .put("dcy",                             "\u0434")
      .put("dd",                              "\u2146")
      .put("ddagger",                         "\u2021")
      .put("ddarr",                           "\u21CA")
      .put("ddotseq",                         "\u2A77")
      .put("deg",                             "\u00B0")
      .put("delta",                           "\u03B4")
      .put("demptyv",                         "\u29B1")
      .put("dfisht",                          "\u297F")
      .put("dfr",                             "\ud835\udd21")
      .put("dharl",                           "\u21C3")
      .put("dharr",                           "\u21C2")
      .put("diam",                            "\u22C4")
      .put("diamond",                         "\u22C4")
      .put("diamondsuit",                     "\u2666")
      .put("diams",                           "\u2666")
      .put("die",                             "\u00A8")
      .put("digamma",                         "\u03DD")
      .put("disin",                           "\u22F2")
      .put("div",                             "\u00F7")
      .put("divide",                          "\u00F7")
      .put("divideontimes",                   "\u22C7")
      .put("divonx",                          "\u22C7")
      .put("djcy",                            "\u0452")
      .put("dlcorn",                          "\u231E")
      .put("dlcrop",                          "\u230D")
      .put("dollar",                          "\u0024")
      .put("dopf",                            "\ud835\udd55")
      .put("dot",                             "\u02D9")
      .put("doteq",                           "\u2250")
      .put("doteqdot",                        "\u2251")
      .put("dotminus",                        "\u2238")
      .put("dotplus",                         "\u2214")
      .put("dotsquare",                       "\u22A1")
      .put("doublebarwedge",                  "\u2306")
      .put("downarrow",                       "\u2193")
      .put("downdownarrows",                  "\u21CA")
      .put("downharpoonleft",                 "\u21C3")
      .put("downharpoonright",                "\u21C2")
      .put("drbkarow",                        "\u2910")
      .put("drcorn",                          "\u231F")
      .put("drcrop",                          "\u230C")
      .put("dscr",                            "\ud835\udcb9")
      .put("dscy",                            "\u0455")
      .put("dsol",                            "\u29F6")
      .put("dstrok",                          "\u0111")
      .put("dtdot",                           "\u22F1")
      .put("dtri",                            "\u25BF")
      .put("dtrif",                           "\u25BE")
      .put("duarr",                           "\u21F5")
      .put("duhar",                           "\u296F")
      .put("dwangle",                         "\u29A6")
      .put("dzcy",                            "\u045F")
      .put("dzigrarr",                        "\u27FF")
      .put("eDDot",                           "\u2A77")
      .put("eDot",                            "\u2251")
      .put("eacute",                          "\u00E9")
      .put("easter",                          "\u2A6E")
      .put("ecaron",                          "\u011B")
      .put("ecir",                            "\u2256")
      .put("ecirc",                           "\u00EA")
      .put("ecolon",                          "\u2255")
      .put("ecy",                             "\u044D")
      .put("edot",                            "\u0117")
      .put("ee",                              "\u2147")
      .put("efDot",                           "\u2252")
      .put("efr",                             "\ud835\udd22")
      .put("eg",                              "\u2A9A")
      .put("egrave",                          "\u00E8")
      .put("egs",                             "\u2A96")
      .put("egsdot",                          "\u2A98")
      .put("el",                              "\u2A99")
      .put("elinters",                        "\u23E7")
      .put("ell",                             "\u2113")
      .put("els",                             "\u2A95")
      .put("elsdot",                          "\u2A97")
      .put("emacr",                           "\u0113")
      .put("empty",                           "\u2205")
      .put("emptyset",                        "\u2205")
      .put("emptyv",                          "\u2205")
      .put("emsp",                            "\u2003")
      .put("emsp13",                          "\u2004")
      .put("emsp14",                          "\u2005")
      .put("eng",                             "\u014B")
      .put("ensp",                            "\u2002")
      .put("eogon",                           "\u0119")
      .put("eopf",                            "\ud835\udd56")
      .put("epar",                            "\u22D5")
      .put("eparsl",                          "\u29E3")
      .put("eplus",                           "\u2A71")
      .put("epsi",                            "\u03B5")
      .put("epsilon",                         "\u03B5")
      .put("epsiv",                           "\u03F5")
      .put("eqcirc",                          "\u2256")
      .put("eqcolon",                         "\u2255")
      .put("eqsim",                           "\u2242")
      .put("eqslantgtr",                      "\u2A96")
      .put("eqslantless",                     "\u2A95")
      .put("equals",                          "\u003D")
      .put("equest",                          "\u225F")
      .put("equiv",                           "\u2261")
      .put("equivDD",                         "\u2A78")
      .put("eqvparsl",                        "\u29E5")
      .put("erDot",                           "\u2253")
      .put("erarr",                           "\u2971")
      .put("escr",                            "\u212F")
      .put("esdot",                           "\u2250")
      .put("esim",                            "\u2242")
      .put("eta",                             "\u03B7")
      .put("eth",                             "\u00F0")
      .put("euml",                            "\u00EB")
      .put("euro",                            "\u20AC")
      .put("excl",                            "\u0021")
      .put("exist",                           "\u2203")
      .put("expectation",                     "\u2130")
      .put("exponentiale",                    "\u2147")
      .put("fallingdotseq",                   "\u2252")
      .put("fcy",                             "\u0444")
      .put("female",                          "\u2640")
      .put("ffilig",                          "\uFB03")
      .put("fflig",                           "\uFB00")
      .put("ffllig",                          "\uFB04")
      .put("ffr",                             "\ud835\udd23")
      .put("filig",                           "\uFB01")
      .put("fjlig",                           "\u0066\u006A")
      .put("flat",                            "\u266D")
      .put("fllig",                           "\uFB02")
      .put("fltns",                           "\u25B1")
      .put("fnof",                            "\u0192")
      .put("fopf",                            "\ud835\udd57")
      .put("forall",                          "\u2200")
      .put("fork",                            "\u22D4")
      .put("forkv",                           "\u2AD9")
      .put("fpartint",                        "\u2A0D")
      .put("frac12",                          "\u00BD")
      .put("frac13",                          "\u2153")
      .put("frac14",                          "\u00BC")
      .put("frac15",                          "\u2155")
      .put("frac16",                          "\u2159")
      .put("frac18",                          "\u215B")
      .put("frac23",                          "\u2154")
      .put("frac25",                          "\u2156")
      .put("frac34",                          "\u00BE")
      .put("frac35",                          "\u2157")
      .put("frac38",                          "\u215C")
      .put("frac45",                          "\u2158")
      .put("frac56",                          "\u215A")
      .put("frac58",                          "\u215D")
      .put("frac78",                          "\u215E")
      .put("frasl",                           "\u2044")
      .put("frown",                           "\u2322")
      .put("fscr",                            "\ud835\udcbb")
      .put("gE",                              "\u2267")
      .put("gEl",                             "\u2A8C")
      .put("gacute",                          "\u01F5")
      .put("gamma",                           "\u03B3")
      .put("gammad",                          "\u03DD")
      .put("gap",                             "\u2A86")
      .put("gbreve",                          "\u011F")
      .put("gcirc",                           "\u011D")
      .put("gcy",                             "\u0433")
      .put("gdot",                            "\u0121")
      .put("ge",                              "\u2265")
      .put("gel",                             "\u22DB")
      .put("geq",                             "\u2265")
      .put("geqq",                            "\u2267")
      .put("geqslant",                        "\u2A7E")
      .put("ges",                             "\u2A7E")
      .put("gescc",                           "\u2AA9")
      .put("gesdot",                          "\u2A80")
      .put("gesdoto",                         "\u2A82")
      .put("gesdotol",                        "\u2A84")
      .put("gesl",                            "\u22DB\uFE00")
      .put("gesles",                          "\u2A94")
      .put("gfr",                             "\ud835\udd24")
      .put("gg",                              "\u226B")
      .put("ggg",                             "\u22D9")
      .put("gimel",                           "\u2137")
      .put("gjcy",                            "\u0453")
      .put("gl",                              "\u2277")
      .put("glE",                             "\u2A92")
      .put("gla",                             "\u2AA5")
      .put("glj",                             "\u2AA4")
      .put("gnE",                             "\u2269")
      .put("gnap",                            "\u2A8A")
      .put("gnapprox",                        "\u2A8A")
      .put("gne",                             "\u2A88")
      .put("gneq",                            "\u2A88")
      .put("gneqq",                           "\u2269")
      .put("gnsim",                           "\u22E7")
      .put("gopf",                            "\ud835\udd58")
      .put("grave",                           "\u0060")
      .put("gscr",                            "\u210A")
      .put("gsim",                            "\u2273")
      .put("gsime",                           "\u2A8E")
      .put("gsiml",                           "\u2A90")
      .put("gt",                              "\u003E")
      .put("gtcc",                            "\u2AA7")
      .put("gtcir",                           "\u2A7A")
      .put("gtdot",                           "\u22D7")
      .put("gtlPar",                          "\u2995")
      .put("gtquest",                         "\u2A7C")
      .put("gtrapprox",                       "\u2A86")
      .put("gtrarr",                          "\u2978")
      .put("gtrdot",                          "\u22D7")
      .put("gtreqless",                       "\u22DB")
      .put("gtreqqless",                      "\u2A8C")
      .put("gtrless",                         "\u2277")
      .put("gtrsim",                          "\u2273")
      .put("gvertneqq",                       "\u2269\uFE00")
      .put("gvnE",                            "\u2269\uFE00")
      .put("hArr",                            "\u21D4")
      .put("hairsp",                          "\u200A")
      .put("half",                            "\u00BD")
      .put("hamilt",                          "\u210B")
      .put("hardcy",                          "\u044A")
      .put("harr",                            "\u2194")
      .put("harrcir",                         "\u2948")
      .put("harrw",                           "\u21AD")
      .put("hbar",                            "\u210F")
      .put("hcirc",                           "\u0125")
      .put("hearts",                          "\u2665")
      .put("heartsuit",                       "\u2665")
      .put("hellip",                          "\u2026")
      .put("hercon",                          "\u22B9")
      .put("hfr",                             "\ud835\udd25")
      .put("hksearow",                        "\u2925")
      .put("hkswarow",                        "\u2926")
      .put("hoarr",                           "\u21FF")
      .put("homtht",                          "\u223B")
      .put("hookleftarrow",                   "\u21A9")
      .put("hookrightarrow",                  "\u21AA")
      .put("hopf",                            "\ud835\udd59")
      .put("horbar",                          "\u2015")
      .put("hscr",                            "\ud835\udcbd")
      .put("hslash",                          "\u210F")
      .put("hstrok",                          "\u0127")
      .put("hybull",                          "\u2043")
      .put("hyphen",                          "\u2010")
      .put("iacute",                          "\u00ED")
      .put("ic",                              "\u2063")
      .put("icirc",                           "\u00EE")
      .put("icy",                             "\u0438")
      .put("iecy",                            "\u0435")
      .put("iexcl",                           "\u00A1")
      .put("iff",                             "\u21D4")
      .put("ifr",                             "\ud835\udd26")
      .put("igrave",                          "\u00EC")
      .put("ii",                              "\u2148")
      .put("iiiint",                          "\u2A0C")
      .put("iiint",                           "\u222D")
      .put("iinfin",                          "\u29DC")
      .put("iiota",                           "\u2129")
      .put("ijlig",                           "\u0133")
      .put("imacr",                           "\u012B")
      .put("image",                           "\u2111")
      .put("imagline",                        "\u2110")
      .put("imagpart",                        "\u2111")
      .put("imath",                           "\u0131")
      .put("imof",                            "\u22B7")
      .put("imped",                           "\u01B5")
      .put("in",                              "\u2208")
      .put("incare",                          "\u2105")
      .put("infin",                           "\u221E")
      .put("infintie",                        "\u29DD")
      .put("inodot",                          "\u0131")
      .put("int",                             "\u222B")
      .put("intcal",                          "\u22BA")
      .put("integers",                        "\u2124")
      .put("intercal",                        "\u22BA")
      .put("intlarhk",                        "\u2A17")
      .put("intprod",                         "\u2A3C")
      .put("iocy",                            "\u0451")
      .put("iogon",                           "\u012F")
      .put("iopf",                            "\ud835\udd5a")
      .put("iota",                            "\u03B9")
      .put("iprod",                           "\u2A3C")
      .put("iquest",                          "\u00BF")
      .put("iscr",                            "\ud835\udcbe")
      .put("isin",                            "\u2208")
      .put("isinE",                           "\u22F9")
      .put("isindot",                         "\u22F5")
      .put("isins",                           "\u22F4")
      .put("isinsv",                          "\u22F3")
      .put("isinv",                           "\u2208")
      .put("it",                              "\u2062")
      .put("itilde",                          "\u0129")
      .put("iukcy",                           "\u0456")
      .put("iuml",                            "\u00EF")
      .put("jcirc",                           "\u0135")
      .put("jcy",                             "\u0439")
      .put("jfr",                             "\ud835\udd27")
      .put("jmath",                           "\u0237")
      .put("jopf",                            "\ud835\udd5b")
      .put("jscr",                            "\ud835\udcbf")
      .put("jsercy",                          "\u0458")
      .put("jukcy",                           "\u0454")
      .put("kappa",                           "\u03BA")
      .put("kappav",                          "\u03F0")
      .put("kcedil",                          "\u0137")
      .put("kcy",                             "\u043A")
      .put("kfr",                             "\ud835\udd28")
      .put("kgreen",                          "\u0138")
      .put("khcy",                            "\u0445")
      .put("kjcy",                            "\u045C")
      .put("kopf",                            "\ud835\udd5c")
      .put("kscr",                            "\ud835\udcc0")
      .put("lAarr",                           "\u21DA")
      .put("lArr",                            "\u21D0")
      .put("lAtail",                          "\u291B")
      .put("lBarr",                           "\u290E")
      .put("lE",                              "\u2266")
      .put("lEg",                             "\u2A8B")
      .put("lHar",                            "\u2962")
      .put("lacute",                          "\u013A")
      .put("laemptyv",                        "\u29B4")
      .put("lagran",                          "\u2112")
      .put("lambda",                          "\u03BB")
      .put("lang",                            "\u27E8")
      .put("langd",                           "\u2991")
      .put("langle",                          "\u27E8")
      .put("lap",                             "\u2A85")
      .put("laquo",                           "\u00AB")
      .put("larr",                            "\u2190")
      .put("larrb",                           "\u21E4")
      .put("larrbfs",                         "\u291F")
      .put("larrfs",                          "\u291D")
      .put("larrhk",                          "\u21A9")
      .put("larrlp",                          "\u21AB")
      .put("larrpl",                          "\u2939")
      .put("larrsim",                         "\u2973")
      .put("larrtl",                          "\u21A2")
      .put("lat",                             "\u2AAB")
      .put("latail",                          "\u2919")
      .put("late",                            "\u2AAD")
      .put("lates",                           "\u2AAD\uFE00")
      .put("lbarr",                           "\u290C")
      .put("lbbrk",                           "\u2772")
      .put("lbrace",                          "\u007B")
      .put("lbrack",                          "\u005B")
      .put("lbrke",                           "\u298B")
      .put("lbrksld",                         "\u298F")
      .put("lbrkslu",                         "\u298D")
      .put("lcaron",                          "\u013E")
      .put("lcedil",                          "\u013C")
      .put("lceil",                           "\u2308")
      .put("lcub",                            "\u007B")
      .put("lcy",                             "\u043B")
      .put("ldca",                            "\u2936")
      .put("ldquo",                           "\u201C")
      .put("ldquor",                          "\u201E")
      .put("ldrdhar",                         "\u2967")
      .put("ldrushar",                        "\u294B")
      .put("ldsh",                            "\u21B2")
      .put("le",                              "\u2264")
      .put("leftarrow",                       "\u2190")
      .put("leftarrowtail",                   "\u21A2")
      .put("leftharpoondown",                 "\u21BD")
      .put("leftharpoonup",                   "\u21BC")
      .put("leftleftarrows",                  "\u21C7")
      .put("leftrightarrow",                  "\u2194")
      .put("leftrightarrows",                 "\u21C6")
      .put("leftrightharpoons",               "\u21CB")
      .put("leftrightsquigarrow",             "\u21AD")
      .put("leftthreetimes",                  "\u22CB")
      .put("leg",                             "\u22DA")
      .put("leq",                             "\u2264")
      .put("leqq",                            "\u2266")
      .put("leqslant",                        "\u2A7D")
      .put("les",                             "\u2A7D")
      .put("lescc",                           "\u2AA8")
      .put("lesdot",                          "\u2A7F")
      .put("lesdoto",                         "\u2A81")
      .put("lesdotor",                        "\u2A83")
      .put("lesg",                            "\u22DA\uFE00")
      .put("lesges",                          "\u2A93")
      .put("lessapprox",                      "\u2A85")
      .put("lessdot",                         "\u22D6")
      .put("lesseqgtr",                       "\u22DA")
      .put("lesseqqgtr",                      "\u2A8B")
      .put("lessgtr",                         "\u2276")
      .put("lesssim",                         "\u2272")
      .put("lfisht",                          "\u297C")
      .put("lfloor",                          "\u230A")
      .put("lfr",                             "\ud835\udd29")
      .put("lg",                              "\u2276")
      .put("lgE",                             "\u2A91")
      .put("lhard",                           "\u21BD")
      .put("lharu",                           "\u21BC")
      .put("lharul",                          "\u296A")
      .put("lhblk",                           "\u2584")
      .put("ljcy",                            "\u0459")
      .put("ll",                              "\u226A")
      .put("llarr",                           "\u21C7")
      .put("llcorner",                        "\u231E")
      .put("llhard",                          "\u296B")
      .put("lltri",                           "\u25FA")
      .put("lmidot",                          "\u0140")
      .put("lmoust",                          "\u23B0")
      .put("lmoustache",                      "\u23B0")
      .put("lnE",                             "\u2268")
      .put("lnap",                            "\u2A89")
      .put("lnapprox",                        "\u2A89")
      .put("lne",                             "\u2A87")
      .put("lneq",                            "\u2A87")
      .put("lneqq",                           "\u2268")
      .put("lnsim",                           "\u22E6")
      .put("loang",                           "\u27EC")
      .put("loarr",                           "\u21FD")
      .put("lobrk",                           "\u27E6")
      .put("longleftarrow",                   "\u27F5")
      .put("longleftrightarrow",              "\u27F7")
      .put("longmapsto",                      "\u27FC")
      .put("longrightarrow",                  "\u27F6")
      .put("looparrowleft",                   "\u21AB")
      .put("looparrowright",                  "\u21AC")
      .put("lopar",                           "\u2985")
      .put("lopf",                            "\ud835\udd5d")
      .put("loplus",                          "\u2A2D")
      .put("lotimes",                         "\u2A34")
      .put("lowast",                          "\u2217")
      .put("lowbar",                          "\u005F")
      .put("loz",                             "\u25CA")
      .put("lozenge",                         "\u25CA")
      .put("lozf",                            "\u29EB")
      .put("lpar",                            "\u0028")
      .put("lparlt",                          "\u2993")
      .put("lrarr",                           "\u21C6")
      .put("lrcorner",                        "\u231F")
      .put("lrhar",                           "\u21CB")
      .put("lrhard",                          "\u296D")
      .put("lrm",                             "\u200E")
      .put("lrtri",                           "\u22BF")
      .put("lsaquo",                          "\u2039")
      .put("lscr",                            "\ud835\udcc1")
      .put("lsh",                             "\u21B0")
      .put("lsim",                            "\u2272")
      .put("lsime",                           "\u2A8D")
      .put("lsimg",                           "\u2A8F")
      .put("lsqb",                            "\u005B")
      .put("lsquo",                           "\u2018")
      .put("lsquor",                          "\u201A")
      .put("lstrok",                          "\u0142")
      .put("lt",                              "\u003C")
      .put("ltcc",                            "\u2AA6")
      .put("ltcir",                           "\u2A79")
      .put("ltdot",                           "\u22D6")
      .put("lthree",                          "\u22CB")
      .put("ltimes",                          "\u22C9")
      .put("ltlarr",                          "\u2976")
      .put("ltquest",                         "\u2A7B")
      .put("ltrPar",                          "\u2996")
      .put("ltri",                            "\u25C3")
      .put("ltrie",                           "\u22B4")
      .put("ltrif",                           "\u25C2")
      .put("lurdshar",                        "\u294A")
      .put("luruhar",                         "\u2966")
      .put("lvertneqq",                       "\u2268\uFE00")
      .put("lvnE",                            "\u2268\uFE00")
      .put("mDDot",                           "\u223A")
      .put("macr",                            "\u00AF")
      .put("male",                            "\u2642")
      .put("malt",                            "\u2720")
      .put("maltese",                         "\u2720")
      .put("map",                             "\u21A6")
      .put("mapsto",                          "\u21A6")
      .put("mapstodown",                      "\u21A7")
      .put("mapstoleft",                      "\u21A4")
      .put("mapstoup",                        "\u21A5")
      .put("marker",                          "\u25AE")
      .put("mcomma",                          "\u2A29")
      .put("mcy",                             "\u043C")
      .put("mdash",                           "\u2014")
      .put("measuredangle",                   "\u2221")
      .put("mfr",                             "\ud835\udd2a")
      .put("mho",                             "\u2127")
      .put("micro",                           "\u00B5")
      .put("mid",                             "\u2223")
      .put("midast",                          "\u002A")
      .put("midcir",                          "\u2AF0")
      .put("middot",                          "\u00B7")
      .put("minus",                           "\u2212")
      .put("minusb",                          "\u229F")
      .put("minusd",                          "\u2238")
      .put("minusdu",                         "\u2A2A")
      .put("mlcp",                            "\u2ADB")
      .put("mldr",                            "\u2026")
      .put("mnplus",                          "\u2213")
      .put("models",                          "\u22A7")
      .put("mopf",                            "\ud835\udd5e")
      .put("mp",                              "\u2213")
      .put("mscr",                            "\ud835\udcc2")
      .put("mstpos",                          "\u223E")
      .put("mu",                              "\u03BC")
      .put("multimap",                        "\u22B8")
      .put("mumap",                           "\u22B8")
      .put("nGg",                             "\u22D9\u0338")
      .put("nGt",                             "\u226B\u20D2")
      .put("nGtv",                            "\u226B\u0338")
      .put("nLeftarrow",                      "\u21CD")
      .put("nLeftrightarrow",                 "\u21CE")
      .put("nLl",                             "\u22D8\u0338")
      .put("nLt",                             "\u226A\u20D2")
      .put("nLtv",                            "\u226A\u0338")
      .put("nRightarrow",                     "\u21CF")
      .put("nVDash",                          "\u22AF")
      .put("nVdash",                          "\u22AE")
      .put("nabla",                           "\u2207")
      .put("nacute",                          "\u0144")
      .put("nang",                            "\u2220\u20D2")
      .put("nap",                             "\u2249")
      .put("napE",                            "\u2A70\u0338")
      .put("napid",                           "\u224B\u0338")
      .put("napos",                           "\u0149")
      .put("napprox",                         "\u2249")
      .put("natur",                           "\u266E")
      .put("natural",                         "\u266E")
      .put("naturals",                        "\u2115")
      .put("nbsp",                            "\u00A0")
      .put("nbump",                           "\u224E\u0338")
      .put("nbumpe",                          "\u224F\u0338")
      .put("ncap",                            "\u2A43")
      .put("ncaron",                          "\u0148")
      .put("ncedil",                          "\u0146")
      .put("ncong",                           "\u2247")
      .put("ncongdot",                        "\u2A6D\u0338")
      .put("ncup",                            "\u2A42")
      .put("ncy",                             "\u043D")
      .put("ndash",                           "\u2013")
      .put("ne",                              "\u2260")
      .put("neArr",                           "\u21D7")
      .put("nearhk",                          "\u2924")
      .put("nearr",                           "\u2197")
      .put("nearrow",                         "\u2197")
      .put("nedot",                           "\u2250\u0338")
      .put("nequiv",                          "\u2262")
      .put("nesear",                          "\u2928")
      .put("nesim",                           "\u2242\u0338")
      .put("nexist",                          "\u2204")
      .put("nexists",                         "\u2204")
      .put("nfr",                             "\ud835\udd2b")
      .put("ngE",                             "\u2267\u0338")
      .put("nge",                             "\u2271")
      .put("ngeq",                            "\u2271")
      .put("ngeqq",                           "\u2267\u0338")
      .put("ngeqslant",                       "\u2A7E\u0338")
      .put("nges",                            "\u2A7E\u0338")
      .put("ngsim",                           "\u2275")
      .put("ngt",                             "\u226F")
      .put("ngtr",                            "\u226F")
      .put("nhArr",                           "\u21CE")
      .put("nharr",                           "\u21AE")
      .put("nhpar",                           "\u2AF2")
      .put("ni",                              "\u220B")
      .put("nis",                             "\u22FC")
      .put("nisd",                            "\u22FA")
      .put("niv",                             "\u220B")
      .put("njcy",                            "\u045A")
      .put("nlArr",                           "\u21CD")
      .put("nlE",                             "\u2266\u0338")
      .put("nlarr",                           "\u219A")
      .put("nldr",                            "\u2025")
      .put("nle",                             "\u2270")
      .put("nleftarrow",                      "\u219A")
      .put("nleftrightarrow",                 "\u21AE")
      .put("nleq",                            "\u2270")
      .put("nleqq",                           "\u2266\u0338")
      .put("nleqslant",                       "\u2A7D\u0338")
      .put("nles",                            "\u2A7D\u0338")
      .put("nless",                           "\u226E")
      .put("nlsim",                           "\u2274")
      .put("nlt",                             "\u226E")
      .put("nltri",                           "\u22EA")
      .put("nltrie",                          "\u22EC")
      .put("nmid",                            "\u2224")
      .put("nopf",                            "\ud835\udd5f")
      .put("not",                             "\u00AC")
      .put("notin",                           "\u2209")
      .put("notinE",                          "\u22F9\u0338")
      .put("notindot",                        "\u22F5\u0338")
      .put("notinva",                         "\u2209")
      .put("notinvb",                         "\u22F7")
      .put("notinvc",                         "\u22F6")
      .put("notni",                           "\u220C")
      .put("notniva",                         "\u220C")
      .put("notnivb",                         "\u22FE")
      .put("notnivc",                         "\u22FD")
      .put("npar",                            "\u2226")
      .put("nparallel",                       "\u2226")
      .put("nparsl",                          "\u2AFD\u20E5")
      .put("npart",                           "\u2202\u0338")
      .put("npolint",                         "\u2A14")
      .put("npr",                             "\u2280")
      .put("nprcue",                          "\u22E0")
      .put("npre",                            "\u2AAF\u0338")
      .put("nprec",                           "\u2280")
      .put("npreceq",                         "\u2AAF\u0338")
      .put("nrArr",                           "\u21CF")
      .put("nrarr",                           "\u219B")
      .put("nrarrc",                          "\u2933\u0338")
      .put("nrarrw",                          "\u219D\u0338")
      .put("nrightarrow",                     "\u219B")
      .put("nrtri",                           "\u22EB")
      .put("nrtrie",                          "\u22ED")
      .put("nsc",                             "\u2281")
      .put("nsccue",                          "\u22E1")
      .put("nsce",                            "\u2AB0\u0338")
      .put("nscr",                            "\ud835\udcc3")
      .put("nshortmid",                       "\u2224")
      .put("nshortparallel",                  "\u2226")
      .put("nsim",                            "\u2241")
      .put("nsime",                           "\u2244")
      .put("nsimeq",                          "\u2244")
      .put("nsmid",                           "\u2224")
      .put("nspar",                           "\u2226")
      .put("nsqsube",                         "\u22E2")
      .put("nsqsupe",                         "\u22E3")
      .put("nsub",                            "\u2284")
      .put("nsubE",                           "\u2AC5\u0338")
      .put("nsube",                           "\u2288")
      .put("nsubset",                         "\u2282\u20D2")
      .put("nsubseteq",                       "\u2288")
      .put("nsubseteqq",                      "\u2AC5\u0338")
      .put("nsucc",                           "\u2281")
      .put("nsucceq",                         "\u2AB0\u0338")
      .put("nsup",                            "\u2285")
      .put("nsupE",                           "\u2AC6\u0338")
      .put("nsupe",                           "\u2289")
      .put("nsupset",                         "\u2283\u20D2")
      .put("nsupseteq",                       "\u2289")
      .put("nsupseteqq",                      "\u2AC6\u0338")
      .put("ntgl",                            "\u2279")
      .put("ntilde",                          "\u00F1")
      .put("ntlg",                            "\u2278")
      .put("ntriangleleft",                   "\u22EA")
      .put("ntrianglelefteq",                 "\u22EC")
      .put("ntriangleright",                  "\u22EB")
      .put("ntrianglerighteq",                "\u22ED")
      .put("nu",                              "\u03BD")
      .put("num",                             "\u0023")
      .put("numero",                          "\u2116")
      .put("numsp",                           "\u2007")
      .put("nvDash",                          "\u22AD")
      .put("nvHarr",                          "\u2904")
      .put("nvap",                            "\u224D\u20D2")
      .put("nvdash",                          "\u22AC")
      .put("nvge",                            "\u2265\u20D2")
      .put("nvgt",                            "\u003E\u20D2")
      .put("nvinfin",                         "\u29DE")
      .put("nvlArr",                          "\u2902")
      .put("nvle",                            "\u2264\u20D2")
      .put("nvlt",                            "\u003C\u20D2")
      .put("nvltrie",                         "\u22B4\u20D2")
      .put("nvrArr",                          "\u2903")
      .put("nvrtrie",                         "\u22B5\u20D2")
      .put("nvsim",                           "\u223C\u20D2")
      .put("nwArr",                           "\u21D6")
      .put("nwarhk",                          "\u2923")
      .put("nwarr",                           "\u2196")
      .put("nwarrow",                         "\u2196")
      .put("nwnear",                          "\u2927")
      .put("oS",                              "\u24C8")
      .put("oacute",                          "\u00F3")
      .put("oast",                            "\u229B")
      .put("ocir",                            "\u229A")
      .put("ocirc",                           "\u00F4")
      .put("ocy",                             "\u043E")
      .put("odash",                           "\u229D")
      .put("odblac",                          "\u0151")
      .put("odiv",                            "\u2A38")
      .put("odot",                            "\u2299")
      .put("odsold",                          "\u29BC")
      .put("oelig",                           "\u0153")
      .put("ofcir",                           "\u29BF")
      .put("ofr",                             "\ud835\udd2c")
      .put("ogon",                            "\u02DB")
      .put("ograve",                          "\u00F2")
      .put("ogt",                             "\u29C1")
      .put("ohbar",                           "\u29B5")
      .put("ohm",                             "\u03A9")
      .put("oint",                            "\u222E")
      .put("olarr",                           "\u21BA")
      .put("olcir",                           "\u29BE")
      .put("olcross",                         "\u29BB")
      .put("oline",                           "\u203E")
      .put("olt",                             "\u29C0")
      .put("omacr",                           "\u014D")
      .put("omega",                           "\u03C9")
      .put("omicron",                         "\u03BF")
      .put("omid",                            "\u29B6")
      .put("ominus",                          "\u2296")
      .put("oopf",                            "\ud835\udd60")
      .put("opar",                            "\u29B7")
      .put("operp",                           "\u29B9")
      .put("oplus",                           "\u2295")
      .put("or",                              "\u2228")
      .put("orarr",                           "\u21BB")
      .put("ord",                             "\u2A5D")
      .put("order",                           "\u2134")
      .put("orderof",                         "\u2134")
      .put("ordf",                            "\u00AA")
      .put("ordm",                            "\u00BA")
      .put("origof",                          "\u22B6")
      .put("oror",                            "\u2A56")
      .put("orslope",                         "\u2A57")
      .put("orv",                             "\u2A5B")
      .put("oscr",                            "\u2134")
      .put("oslash",                          "\u00F8")
      .put("osol",                            "\u2298")
      .put("otilde",                          "\u00F5")
      .put("otimes",                          "\u2297")
      .put("otimesas",                        "\u2A36")
      .put("ouml",                            "\u00F6")
      .put("ovbar",                           "\u233D")
      .put("par",                             "\u2225")
      .put("para",                            "\u00B6")
      .put("parallel",                        "\u2225")
      .put("parsim",                          "\u2AF3")
      .put("parsl",                           "\u2AFD")
      .put("part",                            "\u2202")
      .put("pcy",                             "\u043F")
      .put("percnt",                          "\u0025")
      .put("period",                          "\u002E")
      .put("permil",                          "\u2030")
      .put("perp",                            "\u22A5")
      .put("pertenk",                         "\u2031")
      .put("pfr",                             "\ud835\udd2d")
      .put("phi",                             "\u03C6")
      .put("phiv",                            "\u03D5")
      .put("phmmat",                          "\u2133")
      .put("phone",                           "\u260E")
      .put("pi",                              "\u03C0")
      .put("pitchfork",                       "\u22D4")
      .put("piv",                             "\u03D6")
      .put("planck",                          "\u210F")
      .put("planckh",                         "\u210E")
      .put("plankv",                          "\u210F")
      .put("plus",                            "\u002B")
      .put("plusacir",                        "\u2A23")
      .put("plusb",                           "\u229E")
      .put("pluscir",                         "\u2A22")
      .put("plusdo",                          "\u2214")
      .put("plusdu",                          "\u2A25")
      .put("pluse",                           "\u2A72")
      .put("plusmn",                          "\u00B1")
      .put("plussim",                         "\u2A26")
      .put("plustwo",                         "\u2A27")
      .put("pm",                              "\u00B1")
      .put("pointint",                        "\u2A15")
      .put("popf",                            "\ud835\udd61")
      .put("pound",                           "\u00A3")
      .put("pr",                              "\u227A")
      .put("prE",                             "\u2AB3")
      .put("prap",                            "\u2AB7")
      .put("prcue",                           "\u227C")
      .put("pre",                             "\u2AAF")
      .put("prec",                            "\u227A")
      .put("precapprox",                      "\u2AB7")
      .put("preccurlyeq",                     "\u227C")
      .put("preceq",                          "\u2AAF")
      .put("precnapprox",                     "\u2AB9")
      .put("precneqq",                        "\u2AB5")
      .put("precnsim",                        "\u22E8")
      .put("precsim",                         "\u227E")
      .put("prime",                           "\u2032")
      .put("primes",                          "\u2119")
      .put("prnE",                            "\u2AB5")
      .put("prnap",                           "\u2AB9")
      .put("prnsim",                          "\u22E8")
      .put("prod",                            "\u220F")
      .put("profalar",                        "\u232E")
      .put("profline",                        "\u2312")
      .put("profsurf",                        "\u2313")
      .put("prop",                            "\u221D")
      .put("propto",                          "\u221D")
      .put("prsim",                           "\u227E")
      .put("prurel",                          "\u22B0")
      .put("pscr",                            "\ud835\udcc5")
      .put("psi",                             "\u03C8")
      .put("puncsp",                          "\u2008")
      .put("qfr",                             "\ud835\udd2e")
      .put("qint",                            "\u2A0C")
      .put("qopf",                            "\ud835\udd62")
      .put("qprime",                          "\u2057")
      .put("qscr",                            "\ud835\udcc6")
      .put("quaternions",                     "\u210D")
      .put("quatint",                         "\u2A16")
      .put("quest",                           "\u003F")
      .put("questeq",                         "\u225F")
      .put("quot",                            "\"")
      .put("rAarr",                           "\u21DB")
      .put("rArr",                            "\u21D2")
      .put("rAtail",                          "\u291C")
      .put("rBarr",                           "\u290F")
      .put("rHar",                            "\u2964")
      .put("race",                            "\u223D\u0331")
      .put("racute",                          "\u0155")
      .put("radic",                           "\u221A")
      .put("raemptyv",                        "\u29B3")
      .put("rang",                            "\u27E9")
      .put("rangd",                           "\u2992")
      .put("range",                           "\u29A5")
      .put("rangle",                          "\u27E9")
      .put("raquo",                           "\u00BB")
      .put("rarr",                            "\u2192")
      .put("rarrap",                          "\u2975")
      .put("rarrb",                           "\u21E5")
      .put("rarrbfs",                         "\u2920")
      .put("rarrc",                           "\u2933")
      .put("rarrfs",                          "\u291E")
      .put("rarrhk",                          "\u21AA")
      .put("rarrlp",                          "\u21AC")
      .put("rarrpl",                          "\u2945")
      .put("rarrsim",                         "\u2974")
      .put("rarrtl",                          "\u21A3")
      .put("rarrw",                           "\u219D")
      .put("ratail",                          "\u291A")
      .put("ratio",                           "\u2236")
      .put("rationals",                       "\u211A")
      .put("rbarr",                           "\u290D")
      .put("rbbrk",                           "\u2773")
      .put("rbrace",                          "\u007D")
      .put("rbrack",                          "\u005D")
      .put("rbrke",                           "\u298C")
      .put("rbrksld",                         "\u298E")
      .put("rbrkslu",                         "\u2990")
      .put("rcaron",                          "\u0159")
      .put("rcedil",                          "\u0157")
      .put("rceil",                           "\u2309")
      .put("rcub",                            "\u007D")
      .put("rcy",                             "\u0440")
      .put("rdca",                            "\u2937")
      .put("rdldhar",                         "\u2969")
      .put("rdquo",                           "\u201D")
      .put("rdquor",                          "\u201D")
      .put("rdsh",                            "\u21B3")
      .put("real",                            "\u211C")
      .put("realine",                         "\u211B")
      .put("realpart",                        "\u211C")
      .put("reals",                           "\u211D")
      .put("rect",                            "\u25AD")
      .put("reg",                             "\u00AE")
      .put("rfisht",                          "\u297D")
      .put("rfloor",                          "\u230B")
      .put("rfr",                             "\ud835\udd2f")
      .put("rhard",                           "\u21C1")
      .put("rharu",                           "\u21C0")
      .put("rharul",                          "\u296C")
      .put("rho",                             "\u03C1")
      .put("rhov",                            "\u03F1")
      .put("rightarrow",                      "\u2192")
      .put("rightarrowtail",                  "\u21A3")
      .put("rightharpoondown",                "\u21C1")
      .put("rightharpoonup",                  "\u21C0")
      .put("rightleftarrows",                 "\u21C4")
      .put("rightleftharpoons",               "\u21CC")
      .put("rightrightarrows",                "\u21C9")
      .put("rightsquigarrow",                 "\u219D")
      .put("rightthreetimes",                 "\u22CC")
      .put("ring",                            "\u02DA")
      .put("risingdotseq",                    "\u2253")
      .put("rlarr",                           "\u21C4")
      .put("rlhar",                           "\u21CC")
      .put("rlm",                             "\u200F")
      .put("rmoust",                          "\u23B1")
      .put("rmoustache",                      "\u23B1")
      .put("rnmid",                           "\u2AEE")
      .put("roang",                           "\u27ED")
      .put("roarr",                           "\u21FE")
      .put("robrk",                           "\u27E7")
      .put("ropar",                           "\u2986")
      .put("ropf",                            "\ud835\udd63")
      .put("roplus",                          "\u2A2E")
      .put("rotimes",                         "\u2A35")
      .put("rpar",                            "\u0029")
      .put("rpargt",                          "\u2994")
      .put("rppolint",                        "\u2A12")
      .put("rrarr",                           "\u21C9")
      .put("rsaquo",                          "\u203A")
      .put("rscr",                            "\ud835\udcc7")
      .put("rsh",                             "\u21B1")
      .put("rsqb",                            "\u005D")
      .put("rsquo",                           "\u2019")
      .put("rsquor",                          "\u2019")
      .put("rthree",                          "\u22CC")
      .put("rtimes",                          "\u22CA")
      .put("rtri",                            "\u25B9")
      .put("rtrie",                           "\u22B5")
      .put("rtrif",                           "\u25B8")
      .put("rtriltri",                        "\u29CE")
      .put("ruluhar",                         "\u2968")
      .put("rx",                              "\u211E")
      .put("sacute",                          "\u015B")
      .put("sbquo",                           "\u201A")
      .put("sc",                              "\u227B")
      .put("scE",                             "\u2AB4")
      .put("scap",                            "\u2AB8")
      .put("scaron",                          "\u0161")
      .put("sccue",                           "\u227D")
      .put("sce",                             "\u2AB0")
      .put("scedil",                          "\u015F")
      .put("scirc",                           "\u015D")
      .put("scnE",                            "\u2AB6")
      .put("scnap",                           "\u2ABA")
      .put("scnsim",                          "\u22E9")
      .put("scpolint",                        "\u2A13")
      .put("scsim",                           "\u227F")
      .put("scy",                             "\u0441")
      .put("sdot",                            "\u22C5")
      .put("sdotb",                           "\u22A1")
      .put("sdote",                           "\u2A66")
      .put("seArr",                           "\u21D8")
      .put("searhk",                          "\u2925")
      .put("searr",                           "\u2198")
      .put("searrow",                         "\u2198")
      .put("sect",                            "\u00A7")
      .put("semi",                            "\u003B")
      .put("seswar",                          "\u2929")
      .put("setminus",                        "\u2216")
      .put("setmn",                           "\u2216")
      .put("sext",                            "\u2736")
      .put("sfr",                             "\ud835\udd30")
      .put("sfrown",                          "\u2322")
      .put("sharp",                           "\u266F")
      .put("shchcy",                          "\u0449")
      .put("shcy",                            "\u0448")
      .put("shortmid",                        "\u2223")
      .put("shortparallel",                   "\u2225")
      .put("shy",                             "\u00AD")
      .put("sigma",                           "\u03C3")
      .put("sigmaf",                          "\u03C2")
      .put("sigmav",                          "\u03C2")
      .put("sim",                             "\u223C")
      .put("simdot",                          "\u2A6A")
      .put("sime",                            "\u2243")
      .put("simeq",                           "\u2243")
      .put("simg",                            "\u2A9E")
      .put("simgE",                           "\u2AA0")
      .put("siml",                            "\u2A9D")
      .put("simlE",                           "\u2A9F")
      .put("simne",                           "\u2246")
      .put("simplus",                         "\u2A24")
      .put("simrarr",                         "\u2972")
      .put("slarr",                           "\u2190")
      .put("smallsetminus",                   "\u2216")
      .put("smashp",                          "\u2A33")
      .put("smeparsl",                        "\u29E4")
      .put("smid",                            "\u2223")
      .put("smile",                           "\u2323")
      .put("smt",                             "\u2AAA")
      .put("smte",                            "\u2AAC")
      .put("smtes",                           "\u2AAC\uFE00")
      .put("softcy",                          "\u044C")
      .put("sol",                             "\u002F")
      .put("solb",                            "\u29C4")
      .put("solbar",                          "\u233F")
      .put("sopf",                            "\ud835\udd64")
      .put("spades",                          "\u2660")
      .put("spadesuit",                       "\u2660")
      .put("spar",                            "\u2225")
      .put("sqcap",                           "\u2293")
      .put("sqcaps",                          "\u2293\uFE00")
      .put("sqcup",                           "\u2294")
      .put("sqcups",                          "\u2294\uFE00")
      .put("sqsub",                           "\u228F")
      .put("sqsube",                          "\u2291")
      .put("sqsubset",                        "\u228F")
      .put("sqsubseteq",                      "\u2291")
      .put("sqsup",                           "\u2290")
      .put("sqsupe",                          "\u2292")
      .put("sqsupset",                        "\u2290")
      .put("sqsupseteq",                      "\u2292")
      .put("squ",                             "\u25A1")
      .put("square",                          "\u25A1")
      .put("squarf",                          "\u25AA")
      .put("squf",                            "\u25AA")
      .put("srarr",                           "\u2192")
      .put("sscr",                            "\ud835\udcc8")
      .put("ssetmn",                          "\u2216")
      .put("ssmile",                          "\u2323")
      .put("sstarf",                          "\u22C6")
      .put("star",                            "\u2606")
      .put("starf",                           "\u2605")
      .put("straightepsilon",                 "\u03F5")
      .put("straightphi",                     "\u03D5")
      .put("strns",                           "\u00AF")
      .put("sub",                             "\u2282")
      .put("subE",                            "\u2AC5")
      .put("subdot",                          "\u2ABD")
      .put("sube",                            "\u2286")
      .put("subedot",                         "\u2AC3")
      .put("submult",                         "\u2AC1")
      .put("subnE",                           "\u2ACB")
      .put("subne",                           "\u228A")
      .put("subplus",                         "\u2ABF")
      .put("subrarr",                         "\u2979")
      .put("subset",                          "\u2282")
      .put("subseteq",                        "\u2286")
      .put("subseteqq",                       "\u2AC5")
      .put("subsetneq",                       "\u228A")
      .put("subsetneqq",                      "\u2ACB")
      .put("subsim",                          "\u2AC7")
      .put("subsub",                          "\u2AD5")
      .put("subsup",                          "\u2AD3")
      .put("succ",                            "\u227B")
      .put("succapprox",                      "\u2AB8")
      .put("succcurlyeq",                     "\u227D")
      .put("succeq",                          "\u2AB0")
      .put("succnapprox",                     "\u2ABA")
      .put("succneqq",                        "\u2AB6")
      .put("succnsim",                        "\u22E9")
      .put("succsim",                         "\u227F")
      .put("sum",                             "\u2211")
      .put("sung",                            "\u266A")
      .put("sup",                             "\u2283")
      .put("sup1",                            "\u00B9")
      .put("sup2",                            "\u00B2")
      .put("sup3",                            "\u00B3")
      .put("supE",                            "\u2AC6")
      .put("supdot",                          "\u2ABE")
      .put("supdsub",                         "\u2AD8")
      .put("supe",                            "\u2287")
      .put("supedot",                         "\u2AC4")
      .put("suphsol",                         "\u27C9")
      .put("suphsub",                         "\u2AD7")
      .put("suplarr",                         "\u297B")
      .put("supmult",                         "\u2AC2")
      .put("supnE",                           "\u2ACC")
      .put("supne",                           "\u228B")
      .put("supplus",                         "\u2AC0")
      .put("supset",                          "\u2283")
      .put("supseteq",                        "\u2287")
      .put("supseteqq",                       "\u2AC6")
      .put("supsetneq",                       "\u228B")
      .put("supsetneqq",                      "\u2ACC")
      .put("supsim",                          "\u2AC8")
      .put("supsub",                          "\u2AD4")
      .put("supsup",                          "\u2AD6")
      .put("swArr",                           "\u21D9")
      .put("swarhk",                          "\u2926")
      .put("swarr",                           "\u2199")
      .put("swarrow",                         "\u2199")
      .put("swnwar",                          "\u292A")
      .put("szlig",                           "\u00DF")
      .put("target",                          "\u2316")
      .put("tau",                             "\u03C4")
      .put("tbrk",                            "\u23B4")
      .put("tcaron",                          "\u0165")
      .put("tcedil",                          "\u0163")
      .put("tcy",                             "\u0442")
      .put("tdot",                            "\u20DB")
      .put("telrec",                          "\u2315")
      .put("tfr",                             "\ud835\udd31")
      .put("there4",                          "\u2234")
      .put("therefore",                       "\u2234")
      .put("theta",                           "\u03B8")
      .put("thetasym",                        "\u03D1")
      .put("thetav",                          "\u03D1")
      .put("thickapprox",                     "\u2248")
      .put("thicksim",                        "\u223C")
      .put("thinsp",                          "\u2009")
      .put("thkap",                           "\u2248")
      .put("thksim",                          "\u223C")
      .put("thorn",                           "\u00FE")
      .put("tilde",                           "\u02DC")
      .put("times",                           "\u00D7")
      .put("timesb",                          "\u22A0")
      .put("timesbar",                        "\u2A31")
      .put("timesd",                          "\u2A30")
      .put("tint",                            "\u222D")
      .put("toea",                            "\u2928")
      .put("top",                             "\u22A4")
      .put("topbot",                          "\u2336")
      .put("topcir",                          "\u2AF1")
      .put("topf",                            "\ud835\udd65")
      .put("topfork",                         "\u2ADA")
      .put("tosa",                            "\u2929")
      .put("tprime",                          "\u2034")
      .put("trade",                           "\u2122")
      .put("triangle",                        "\u25B5")
      .put("triangledown",                    "\u25BF")
      .put("triangleleft",                    "\u25C3")
      .put("trianglelefteq",                  "\u22B4")
      .put("triangleq",                       "\u225C")
      .put("triangleright",                   "\u25B9")
      .put("trianglerighteq",                 "\u22B5")
      .put("tridot",                          "\u25EC")
      .put("trie",                            "\u225C")
      .put("triminus",                        "\u2A3A")
      .put("triplus",                         "\u2A39")
      .put("trisb",                           "\u29CD")
      .put("tritime",                         "\u2A3B")
      .put("trpezium",                        "\u23E2")
      .put("tscr",                            "\ud835\udcc9")
      .put("tscy",                            "\u0446")
      .put("tshcy",                           "\u045B")
      .put("tstrok",                          "\u0167")
      .put("twixt",                           "\u226C")
      .put("twoheadleftarrow",                "\u219E")
      .put("twoheadrightarrow",               "\u21A0")
      .put("uArr",                            "\u21D1")
      .put("uHar",                            "\u2963")
      .put("uacute",                          "\u00FA")
      .put("uarr",                            "\u2191")
      .put("ubrcy",                           "\u045E")
      .put("ubreve",                          "\u016D")
      .put("ucirc",                           "\u00FB")
      .put("ucy",                             "\u0443")
      .put("udarr",                           "\u21C5")
      .put("udblac",                          "\u0171")
      .put("udhar",                           "\u296E")
      .put("ufisht",                          "\u297E")
      .put("ufr",                             "\ud835\udd32")
      .put("ugrave",                          "\u00F9")
      .put("uharl",                           "\u21BF")
      .put("uharr",                           "\u21BE")
      .put("uhblk",                           "\u2580")
      .put("ulcorn",                          "\u231C")
      .put("ulcorner",                        "\u231C")
      .put("ulcrop",                          "\u230F")
      .put("ultri",                           "\u25F8")
      .put("umacr",                           "\u016B")
      .put("uml",                             "\u00A8")
      .put("uogon",                           "\u0173")
      .put("uopf",                            "\ud835\udd66")
      .put("uparrow",                         "\u2191")
      .put("updownarrow",                     "\u2195")
      .put("upharpoonleft",                   "\u21BF")
      .put("upharpoonright",                  "\u21BE")
      .put("uplus",                           "\u228E")
      .put("upsi",                            "\u03C5")
      .put("upsih",                           "\u03D2")
      .put("upsilon",                         "\u03C5")
      .put("upuparrows",                      "\u21C8")
      .put("urcorn",                          "\u231D")
      .put("urcorner",                        "\u231D")
      .put("urcrop",                          "\u230E")
      .put("uring",                           "\u016F")
      .put("urtri",                           "\u25F9")
      .put("uscr",                            "\ud835\udcca")
      .put("utdot",                           "\u22F0")
      .put("utilde",                          "\u0169")
      .put("utri",                            "\u25B5")
      .put("utrif",                           "\u25B4")
      .put("uuarr",                           "\u21C8")
      .put("uuml",                            "\u00FC")
      .put("uwangle",                         "\u29A7")
      .put("vArr",                            "\u21D5")
      .put("vBar",                            "\u2AE8")
      .put("vBarv",                           "\u2AE9")
      .put("vDash",                           "\u22A8")
      .put("vangrt",                          "\u299C")
      .put("varepsilon",                      "\u03F5")
      .put("varkappa",                        "\u03F0")
      .put("varnothing",                      "\u2205")
      .put("varphi",                          "\u03D5")
      .put("varpi",                           "\u03D6")
      .put("varpropto",                       "\u221D")
      .put("varr",                            "\u2195")
      .put("varrho",                          "\u03F1")
      .put("varsigma",                        "\u03C2")
      .put("varsubsetneq",                    "\u228A\uFE00")
      .put("varsubsetneqq",                   "\u2ACB\uFE00")
      .put("varsupsetneq",                    "\u228B\uFE00")
      .put("varsupsetneqq",                   "\u2ACC\uFE00")
      .put("vartheta",                        "\u03D1")
      .put("vartriangleleft",                 "\u22B2")
      .put("vartriangleright",                "\u22B3")
      .put("vcy",                             "\u0432")
      .put("vdash",                           "\u22A2")
      .put("vee",                             "\u2228")
      .put("veebar",                          "\u22BB")
      .put("veeeq",                           "\u225A")
      .put("vellip",                          "\u22EE")
      .put("verbar",                          "\u007C")
      .put("vert",                            "\u007C")
      .put("vfr",                             "\ud835\udd33")
      .put("vltri",                           "\u22B2")
      .put("vnsub",                           "\u2282\u20D2")
      .put("vnsup",                           "\u2283\u20D2")
      .put("vopf",                            "\ud835\udd67")
      .put("vprop",                           "\u221D")
      .put("vrtri",                           "\u22B3")
      .put("vscr",                            "\ud835\udccb")
      .put("vsubnE",                          "\u2ACB\uFE00")
      .put("vsubne",                          "\u228A\uFE00")
      .put("vsupnE",                          "\u2ACC\uFE00")
      .put("vsupne",                          "\u228B\uFE00")
      .put("vzigzag",                         "\u299A")
      .put("wcirc",                           "\u0175")
      .put("wedbar",                          "\u2A5F")
      .put("wedge",                           "\u2227")
      .put("wedgeq",                          "\u2259")
      .put("weierp",                          "\u2118")
      .put("wfr",                             "\ud835\udd34")
      .put("wopf",                            "\ud835\udd68")
      .put("wp",                              "\u2118")
      .put("wr",                              "\u2240")
      .put("wreath",                          "\u2240")
      .put("wscr",                            "\ud835\udccc")
      .put("xcap",                            "\u22C2")
      .put("xcirc",                           "\u25EF")
      .put("xcup",                            "\u22C3")
      .put("xdtri",                           "\u25BD")
      .put("xfr",                             "\ud835\udd35")
      .put("xhArr",                           "\u27FA")
      .put("xharr",                           "\u27F7")
      .put("xi",                              "\u03BE")
      .put("xlArr",                           "\u27F8")
      .put("xlarr",                           "\u27F5")
      .put("xmap",                            "\u27FC")
      .put("xnis",                            "\u22FB")
      .put("xodot",                           "\u2A00")
      .put("xopf",                            "\ud835\udd69")
      .put("xoplus",                          "\u2A01")
      .put("xotime",                          "\u2A02")
      .put("xrArr",                           "\u27F9")
      .put("xrarr",                           "\u27F6")
      .put("xscr",                            "\ud835\udccd")
      .put("xsqcup",                          "\u2A06")
      .put("xuplus",                          "\u2A04")
      .put("xutri",                           "\u25B3")
      .put("xvee",                            "\u22C1")
      .put("xwedge",                          "\u22C0")
      .put("yacute",                          "\u00FD")
      .put("yacy",                            "\u044F")
      .put("ycirc",                           "\u0177")
      .put("ycy",                             "\u044B")
      .put("yen",                             "\u00A5")
      .put("yfr",                             "\ud835\udd36")
      .put("yicy",                            "\u0457")
      .put("yopf",                            "\ud835\udd6a")
      .put("yscr",                            "\ud835\udcce")
      .put("yucy",                            "\u044E")
      .put("yuml",                            "\u00FF")
      .put("zacute",                          "\u017A")
      .put("zcaron",                          "\u017E")
      .put("zcy",                             "\u0437")
      .put("zdot",                            "\u017C")
      .put("zeetrf",                          "\u2128")
      .put("zeta",                            "\u03B6")
      .put("zfr",                             "\ud835\udd37")
      .put("zhcy",                            "\u0436")
      .put("zigrarr",                         "\u21DD")
      .put("zopf",                            "\ud835\udd6b")
      .put("zscr",                            "\ud835\udccf")
      .put("zwj",                             "\u200D")
      .put("zwnj",                            "\u200C")
      .build();

}
"""  # Fix emacs syntax highlighting "

import dupe_methods
print dupe_methods.dupe(src)

c2f3d61e1a521f4e9351fbb260504c44c984344f
#!python

# This generates a java source file by taking each method that has a
# parameters (String s, int off, int end) and generating a copy that
# takes (char[] s, int off, int end).

# Fix emacs syntax highlighting "

src = r"""
// Copyright (C) 2011 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.autoesc;

import java.io.IOException;
import java.io.Writer;

import javax.annotation.Nullable;

/** HTML contains utilities for dealing with HTML contexts. */
class HTML {
  /** Returns s[off:end] but with any HTML entities decoded. */
  static String unescapeString(String s, int off, int end) /*DONT_DUPE;*/ {
    String d = maybeUnescape(s, off, end);
    return d == null ? s.substring(off, end) : d;
  }

  /**
   * Returns s[off:end] as a string but with any entitied decoded
   * or null if no decoding needed.
   */
  static @Nullable String maybeUnescape(String s, int offset, int end) {
    int off = offset;
    int amp = off;
    while (amp < end && s.charAt(amp) != '&') { ++amp; }
    if (amp == end) {
      return null;
    }
    StringBuilder sb = new StringBuilder(end - off);
    CharsUtil.append(sb, s, off, amp);
    off = amp;
    do {
      int entityEnd = amp + 1;
      int limit = Math.min(entityEnd + 32, end); // no entities over length 32.
      if (entityEnd < end && s.charAt(entityEnd) == '#') {
        ++entityEnd;
      }
      for (; entityEnd < limit; ++entityEnd) {
        char ch = s.charAt(entityEnd);
        if (!(('A' <= ch && ch <= 'Z')
               || ('a' <= ch && ch <= 'z')
               || ('0' <= ch && ch <= '9'))) {
          break;
        }
      }
      CharsUtil.append(sb, s, off, amp);
      if (decodeEntityOnto(s, amp+1, entityEnd, sb)) {
        if (entityEnd < end && s.charAt(entityEnd) == ';') { ++entityEnd; }
      }
      amp = off = entityEnd;
      for (; amp < end; ++amp) {
        if (s.charAt(amp) == '&') { break; }
      }
    } while (amp < end);
    CharsUtil.append(sb, s, off, end);
    return sb.toString();
  }

  /**
   * Decodes any entity (the name or # and digits excl. ampersand or semicolon)
   * in s[off:end] onto sb.
   * @return true if a valid entity was found.
   */
  private static boolean decodeEntityOnto(
      String s, int off, int end, StringBuilder sb) {
    if (end == off) {
      sb.append('&');
      return false;
    }
    if (s.charAt(off) == '#' && off + 1 < end) {
      // Decode numeric entity.
      char ch = s.charAt(off+1);
      numericEntity: do {
        int rune = 0;
        if (off + 2 < end && (ch == 'x' || ch == 'X')) {
          for (int i = off + 2; i < end; ++i) {
            rune <<= 4;
            ch = s.charAt(i);
            if ('0' <= ch && ch <= '9') {
              rune |= (ch - '0');
            } else if ('A' <= ch && ch <= 'F') {
              rune |= (ch - 'A' + 10);
            } else if ('a' <= ch && ch <= 'f') {
              rune |= (ch - 'a' + 10);
            } else {
              break numericEntity;
            }
          }
        }  else {
          for (int i = off + 1; i < end; ++i) {
            rune *= 10;
            ch = s.charAt(i);
            if ('0' <= ch && ch <= '9') {
              rune += (ch - '0');
            } else {
              break numericEntity;
            }
          }
        }
        if (0 <= rune && rune <= Character.MAX_CODE_POINT) {
          sb.appendCodePoint(rune);
          return true;
        }
      } while (false);
    } else {
      String repl = ENTITIES.get(s, off, end);
      if (repl != null) {
        sb.append(repl);
        return true;
      }
    }
    sb.append('&');
    CharsUtil.append(sb, s, off, end);
    return false;
  }

  static final ReplacementTable REPLACEMENT_TABLE = new ReplacementTable()
      .add('`', "&#96;")
      .add('<', "&lt;")
      .add('>', "&gt;")
      .add('+', "&#43;")
      .add('\'', "&#39;")
      .add('&', "&amp;")
      .add('"', "&#34;")
      // Most HTML5 parsing states treat NUL as an error case and replace it
      // with U+FFFD, the replacement character.
      .add((char) 0, "\ufffd");

  static final ReplacementTable NORM_REPLACEMENT_TABLE
      = new ReplacementTable(REPLACEMENT_TABLE)
      .add('&', null);

  private static final ReplacementTable NORM_BASIC_REPLACEMENT_TABLE
      = new ReplacementTable(NORM_REPLACEMENT_TABLE)
      .add('\'', null)
      .add('"', null);

  /** escapeOnto escapes for inclusion in HTML text. */
  static void escapeOnto(@Nullable Object o, Writer out) throws IOException {
    String safe = ContentType.Markup.derefSafeContent(o);
    if (safe != null) {
      out.write(safe);
      return;
    }
    REPLACEMENT_TABLE.escapeOnto(o, out);
  }

  /** escapeOnto escapes for inclusion in HTML text. */
  static void escapeOnto(String s, int off, int end, Writer out)
      throws IOException {
    REPLACEMENT_TABLE.escapeOnto(s, off, end, out);
  }

  /**
   * normalizeOnto escapes for inclusion in HTML text but does not break
   * existing entities.
   */
  static void normalizeOnto(@Nullable Object o, Writer out) throws IOException {
    String safe = ContentType.Markup.derefSafeContent(o);
    if (safe != null) {
      out.write(safe);
      return;
    }
    NORM_REPLACEMENT_TABLE.escapeOnto(o, out);
  }

  /**
   * normalizeOnto escapes for inclusion in HTML text but does not break
   * existing entities.
   */
  static void normalizeOnto(String s, int off, int end, Writer out)
      throws IOException {
    NORM_REPLACEMENT_TABLE.escapeOnto(s, off, end, out);
  }

  /** escapeRCDATAOnto escapes for inclusion in an RCDATA element body. */
  static void escapeRCDATAOnto(@Nullable Object o, Writer out)
      throws IOException {
    String safe = ContentType.Markup.derefSafeContent(o);
    if (safe != null) {
      // Normalize the content so that an RCDATA tag, like a
      // {@code <textarea>} will not be ended prematurely if safe contains
      // tag-like content including {@code "</textarea>"}.
      NORM_REPLACEMENT_TABLE.escapeOnto(safe, out);
      return;
    }
    REPLACEMENT_TABLE.escapeOnto(o, out);
  }

  /**
   * filterNameOnto accepts valid parts of an HTML attribute or tag name or
   * a known-safe HTML attribute.
   * @return context
   */
  static int filterNameOnto(@Nullable Object o, Writer out, int context)
      throws IOException {
    String safe = ContentType.Attr.derefSafeContent(o);
    if (safe != null) {
      if (Context.state(context) == Context.State.TagName) { out.write(' '); }
      NORM_BASIC_REPLACEMENT_TABLE.escapeOnto(safe, out);
      return context;
    }
    String s = ReplacementTable.toString(o);
    return filterNameOnto(s, 0, s.length(), out, context);
  }

  static int filterNameOnto(
      String s, int off, int end, Writer out, int context)
      throws IOException {
    if (off == end || end - off >= 64) {
      // Avoid violation of structure preservation and reject long identifiers.
      // <input checked {{K}}={{V}}>.
      // Without this, if {{K}} is empty then {{V}} is the value of
      // checked, but otherwise {{V}} is the value of the attribute
      // named {{K}}.
      out.write("ZautoescZ");
      return context;
    }
    ContentType type = Context.state(context) != Context.State.TagName
        // JS if we saw the "on" prefix already.
        ? (Context.attr(context) == Context.Attr.Script ? ContentType.JS
           : Attr.attrType(s, off, end))
        : ContentType.Plain;
    for (int i = off; i < end; ++i) {
      char ch = s.charAt(i);
      if (!(('0' <= ch && ch <= '9')
            || ('A' <= ch && ch <= 'Z')
            || ('a' <= ch && ch <= 'z'))) {
        out.write("ZautoescZ");
        return context;
      }
    }
    int attr;
    switch (type) {
      case Plain: attr = Context.Attr.None; break;
      case CSS: attr = Context.Attr.Style; break;
      case JS: attr = Context.Attr.Script; break;
      case URL: attr = Context.Attr.URL; break;
      default:
        out.write("ZautoescZ");
        return context;
    }
    out.write(s, off, end - off);
    return Context.attr(context, attr);
  }

  private static final Trie<String> ENTITIES
    = Trie.<String>builder()
      .put("AElig",                           "\u00C6")
      .put("AMP",                             "\u0026")
      .put("Aacute",                          "\u00C1")
      .put("Abreve",                          "\u0102")
      .put("Acirc",                           "\u00C2")
      .put("Acy",                             "\u0410")
      .put("Afr",                             "\ud835\udd04")
      .put("Agrave",                          "\u00C0")
      .put("Alpha",                           "\u0391")
      .put("Amacr",                           "\u0100")
      .put("And",                             "\u2A53")
      .put("Aogon",                           "\u0104")
      .put("Aopf",                            "\ud835\udd38")
      .put("ApplyFunction",                   "\u2061")
      .put("Aring",                           "\u00C5")
      .put("Ascr",                            "\ud835\udc9c")
      .put("Assign",                          "\u2254")
      .put("Atilde",                          "\u00C3")
      .put("Auml",                            "\u00C4")
      .put("Backslash",                       "\u2216")
      .put("Barv",                            "\u2AE7")
      .put("Barwed",                          "\u2306")
      .put("Bcy",                             "\u0411")
      .put("Because",                         "\u2235")
      .put("Bernoullis",                      "\u212C")
      .put("Beta",                            "\u0392")
      .put("Bfr",                             "\ud835\udd05")
      .put("Bopf",                            "\ud835\udd39")
      .put("Breve",                           "\u02D8")
      .put("Bscr",                            "\u212C")
      .put("Bumpeq",                          "\u224E")
      .put("CHcy",                            "\u0427")
      .put("COPY",                            "\u00A9")
      .put("Cacute",                          "\u0106")
      .put("Cap",                             "\u22D2")
      .put("CapitalDifferentialD",            "\u2145")
      .put("Cayleys",                         "\u212D")
      .put("Ccaron",                          "\u010C")
      .put("Ccedil",                          "\u00C7")
      .put("Ccirc",                           "\u0108")
      .put("Cconint",                         "\u2230")
      .put("Cdot",                            "\u010A")
      .put("Cedilla",                         "\u00B8")
      .put("CenterDot",                       "\u00B7")
      .put("Cfr",                             "\u212D")
      .put("Chi",                             "\u03A7")
      .put("CircleDot",                       "\u2299")
      .put("CircleMinus",                     "\u2296")
      .put("CirclePlus",                      "\u2295")
      .put("CircleTimes",                     "\u2297")
      .put("ClockwiseContourIntegral",        "\u2232")
      .put("CloseCurlyDoubleQuote",           "\u201D")
      .put("CloseCurlyQuote",                 "\u2019")
      .put("Colon",                           "\u2237")
      .put("Colone",                          "\u2A74")
      .put("Congruent",                       "\u2261")
      .put("Conint",                          "\u222F")
      .put("ContourIntegral",                 "\u222E")
      .put("Copf",                            "\u2102")
      .put("Coproduct",                       "\u2210")
      .put("CounterClockwiseContourIntegral", "\u2233")
      .put("Cross",                           "\u2A2F")
      .put("Cscr",                            "\ud835\udc9e")
      .put("Cup",                             "\u22D3")
      .put("CupCap",                          "\u224D")
      .put("DD",                              "\u2145")
      .put("DDotrahd",                        "\u2911")
      .put("DJcy",                            "\u0402")
      .put("DScy",                            "\u0405")
      .put("DZcy",                            "\u040F")
      .put("Dagger",                          "\u2021")
      .put("Darr",                            "\u21A1")
      .put("Dashv",                           "\u2AE4")
      .put("Dcaron",                          "\u010E")
      .put("Dcy",                             "\u0414")
      .put("Del",                             "\u2207")
      .put("Delta",                           "\u0394")
      .put("Dfr",                             "\ud835\udd07")
      .put("DiacriticalAcute",                "\u00B4")
      .put("DiacriticalDot",                  "\u02D9")
      .put("DiacriticalDoubleAcute",          "\u02DD")
      .put("DiacriticalGrave",                "\u0060")
      .put("DiacriticalTilde",                "\u02DC")
      .put("Diamond",                         "\u22C4")
      .put("DifferentialD",                   "\u2146")
      .put("Dopf",                            "\ud835\udd3b")
      .put("Dot",                             "\u00A8")
      .put("DotDot",                          "\u20DC")
      .put("DotEqual",                        "\u2250")
      .put("DoubleContourIntegral",           "\u222F")
      .put("DoubleDot",                       "\u00A8")
      .put("DoubleDownArrow",                 "\u21D3")
      .put("DoubleLeftArrow",                 "\u21D0")
      .put("DoubleLeftRightArrow",            "\u21D4")
      .put("DoubleLeftTee",                   "\u2AE4")
      .put("DoubleLongLeftArrow",             "\u27F8")
      .put("DoubleLongLeftRightArrow",        "\u27FA")
      .put("DoubleLongRightArrow",            "\u27F9")
      .put("DoubleRightArrow",                "\u21D2")
      .put("DoubleRightTee",                  "\u22A8")
      .put("DoubleUpArrow",                   "\u21D1")
      .put("DoubleUpDownArrow",               "\u21D5")
      .put("DoubleVerticalBar",               "\u2225")
      .put("DownArrow",                       "\u2193")
      .put("DownArrowBar",                    "\u2913")
      .put("DownArrowUpArrow",                "\u21F5")
      .put("DownBreve",                       "\u0311")
      .put("DownLeftRightVector",             "\u2950")
      .put("DownLeftTeeVector",               "\u295E")
      .put("DownLeftVector",                  "\u21BD")
      .put("DownLeftVectorBar",               "\u2956")
      .put("DownRightTeeVector",              "\u295F")
      .put("DownRightVector",                 "\u21C1")
      .put("DownRightVectorBar",              "\u2957")
      .put("DownTee",                         "\u22A4")
      .put("DownTeeArrow",                    "\u21A7")
      .put("Downarrow",                       "\u21D3")
      .put("Dscr",                            "\ud835\udc9f")
      .put("Dstrok",                          "\u0110")
      .put("ENG",                             "\u014A")
      .put("ETH",                             "\u00D0")
      .put("Eacute",                          "\u00C9")
      .put("Ecaron",                          "\u011A")
      .put("Ecirc",                           "\u00CA")
      .put("Ecy",                             "\u042D")
      .put("Edot",                            "\u0116")
      .put("Efr",                             "\ud835\udd08")
      .put("Egrave",                          "\u00C8")
      .put("Element",                         "\u2208")
      .put("Emacr",                           "\u0112")
      .put("EmptySmallSquare",                "\u25FB")
      .put("EmptyVerySmallSquare",            "\u25AB")
      .put("Eogon",                           "\u0118")
      .put("Eopf",                            "\ud835\udd3c")
      .put("Epsilon",                         "\u0395")
      .put("Equal",                           "\u2A75")
      .put("EqualTilde",                      "\u2242")
      .put("Equilibrium",                     "\u21CC")
      .put("Escr",                            "\u2130")
      .put("Esim",                            "\u2A73")
      .put("Eta",                             "\u0397")
      .put("Euml",                            "\u00CB")
      .put("Exists",                          "\u2203")
      .put("ExponentialE",                    "\u2147")
      .put("Fcy",                             "\u0424")
      .put("Ffr",                             "\ud835\udd09")
      .put("FilledSmallSquare",               "\u25FC")
      .put("FilledVerySmallSquare",           "\u25AA")
      .put("Fopf",                            "\ud835\udd3d")
      .put("ForAll",                          "\u2200")
      .put("Fouriertrf",                      "\u2131")
      .put("Fscr",                            "\u2131")
      .put("GJcy",                            "\u0403")
      .put("GT",                              "\u003E")
      .put("Gamma",                           "\u0393")
      .put("Gammad",                          "\u03DC")
      .put("Gbreve",                          "\u011E")
      .put("Gcedil",                          "\u0122")
      .put("Gcirc",                           "\u011C")
      .put("Gcy",                             "\u0413")
      .put("Gdot",                            "\u0120")
      .put("Gfr",                             "\ud835\udd0a")
      .put("Gg",                              "\u22D9")
      .put("Gopf",                            "\ud835\udd3e")
      .put("GreaterEqual",                    "\u2265")
      .put("GreaterEqualLess",                "\u22DB")
      .put("GreaterFullEqual",                "\u2267")
      .put("GreaterGreater",                  "\u2AA2")
      .put("GreaterLess",                     "\u2277")
      .put("GreaterSlantEqual",               "\u2A7E")
      .put("GreaterTilde",                    "\u2273")
      .put("Gscr",                            "\ud835\udca2")
      .put("Gt",                              "\u226B")
      .put("HARDcy",                          "\u042A")
      .put("Hacek",                           "\u02C7")
      .put("Hat",                             "\u005E")
      .put("Hcirc",                           "\u0124")
      .put("Hfr",                             "\u210C")
      .put("HilbertSpace",                    "\u210B")
      .put("Hopf",                            "\u210D")
      .put("HorizontalLine",                  "\u2500")
      .put("Hscr",                            "\u210B")
      .put("Hstrok",                          "\u0126")
      .put("HumpDownHump",                    "\u224E")
      .put("HumpEqual",                       "\u224F")
      .put("IEcy",                            "\u0415")
      .put("IJlig",                           "\u0132")
      .put("IOcy",                            "\u0401")
      .put("Iacute",                          "\u00CD")
      .put("Icirc",                           "\u00CE")
      .put("Icy",                             "\u0418")
      .put("Idot",                            "\u0130")
      .put("Ifr",                             "\u2111")
      .put("Igrave",                          "\u00CC")
      .put("Im",                              "\u2111")
      .put("Imacr",                           "\u012A")
      .put("ImaginaryI",                      "\u2148")
      .put("Implies",                         "\u21D2")
      .put("Int",                             "\u222C")
      .put("Integral",                        "\u222B")
      .put("Intersection",                    "\u22C2")
      .put("InvisibleComma",                  "\u2063")
      .put("InvisibleTimes",                  "\u2062")
      .put("Iogon",                           "\u012E")
      .put("Iopf",                            "\ud835\udd40")
      .put("Iota",                            "\u0399")
      .put("Iscr",                            "\u2110")
      .put("Itilde",                          "\u0128")
      .put("Iukcy",                           "\u0406")
      .put("Iuml",                            "\u00CF")
      .put("Jcirc",                           "\u0134")
      .put("Jcy",                             "\u0419")
      .put("Jfr",                             "\ud835\udd0d")
      .put("Jopf",                            "\ud835\udd41")
      .put("Jscr",                            "\ud835\udca5")
      .put("Jsercy",                          "\u0408")
      .put("Jukcy",                           "\u0404")
      .put("KHcy",                            "\u0425")
      .put("KJcy",                            "\u040C")
      .put("Kappa",                           "\u039A")
      .put("Kcedil",                          "\u0136")
      .put("Kcy",                             "\u041A")
      .put("Kfr",                             "\ud835\udd0e")
      .put("Kopf",                            "\ud835\udd42")
      .put("Kscr",                            "\ud835\udca6")
      .put("LJcy",                            "\u0409")
      .put("LT",                              "\u003C")
      .put("Lacute",                          "\u0139")
      .put("Lambda",                          "\u039B")
      .put("Lang",                            "\u27EA")
      .put("Laplacetrf",                      "\u2112")
      .put("Larr",                            "\u219E")
      .put("Lcaron",                          "\u013D")
      .put("Lcedil",                          "\u013B")
      .put("Lcy",                             "\u041B")
      .put("LeftAngleBracket",                "\u27E8")
      .put("LeftArrow",                       "\u2190")
      .put("LeftArrowBar",                    "\u21E4")
      .put("LeftArrowRightArrow",             "\u21C6")
      .put("LeftCeiling",                     "\u2308")
      .put("LeftDoubleBracket",               "\u27E6")
      .put("LeftDownTeeVector",               "\u2961")
      .put("LeftDownVector",                  "\u21C3")
      .put("LeftDownVectorBar",               "\u2959")
      .put("LeftFloor",                       "\u230A")
      .put("LeftRightArrow",                  "\u2194")
      .put("LeftRightVector",                 "\u294E")
      .put("LeftTee",                         "\u22A3")
      .put("LeftTeeArrow",                    "\u21A4")
      .put("LeftTeeVector",                   "\u295A")
      .put("LeftTriangle",                    "\u22B2")
      .put("LeftTriangleBar",                 "\u29CF")
      .put("LeftTriangleEqual",               "\u22B4")
      .put("LeftUpDownVector",                "\u2951")
      .put("LeftUpTeeVector",                 "\u2960")
      .put("LeftUpVector",                    "\u21BF")
      .put("LeftUpVectorBar",                 "\u2958")
      .put("LeftVector",                      "\u21BC")
      .put("LeftVectorBar",                   "\u2952")
      .put("Leftarrow",                       "\u21D0")
      .put("Leftrightarrow",                  "\u21D4")
      .put("LessEqualGreater",                "\u22DA")
      .put("LessFullEqual",                   "\u2266")
      .put("LessGreater",                     "\u2276")
      .put("LessLess",                        "\u2AA1")
      .put("LessSlantEqual",                  "\u2A7D")
      .put("LessTilde",                       "\u2272")
      .put("Lfr",                             "\ud835\udd0f")
      .put("Ll",                              "\u22D8")
      .put("Lleftarrow",                      "\u21DA")
      .put("Lmidot",                          "\u013F")
      .put("LongLeftArrow",                   "\u27F5")
      .put("LongLeftRightArrow",              "\u27F7")
      .put("LongRightArrow",                  "\u27F6")
      .put("Longleftarrow",                   "\u27F8")
      .put("Longleftrightarrow",              "\u27FA")
      .put("Longrightarrow",                  "\u27F9")
      .put("Lopf",                            "\ud835\udd43")
      .put("LowerLeftArrow",                  "\u2199")
      .put("LowerRightArrow",                 "\u2198")
      .put("Lscr",                            "\u2112")
      .put("Lsh",                             "\u21B0")
      .put("Lstrok",                          "\u0141")
      .put("Lt",                              "\u226A")
      .put("Map",                             "\u2905")
      .put("Mcy",                             "\u041C")
      .put("MediumSpace",                     "\u205F")
      .put("Mellintrf",                       "\u2133")
      .put("Mfr",                             "\ud835\udd10")
      .put("MinusPlus",                       "\u2213")
      .put("Mopf",                            "\ud835\udd44")
      .put("Mscr",                            "\u2133")
      .put("Mu",                              "\u039C")
      .put("NJcy",                            "\u040A")
      .put("Nacute",                          "\u0143")
      .put("Ncaron",                          "\u0147")
      .put("Ncedil",                          "\u0145")
      .put("Ncy",                             "\u041D")
      .put("NegativeMediumSpace",             "\u200B")
      .put("NegativeThickSpace",              "\u200B")
      .put("NegativeThinSpace",               "\u200B")
      .put("NegativeVeryThinSpace",           "\u200B")
      .put("NestedGreaterGreater",            "\u226B")
      .put("NestedLessLess",                  "\u226A")
      .put("NewLine",                         "\n")
      .put("Nfr",                             "\ud835\udd11")
      .put("NoBreak",                         "\u2060")
      .put("NonBreakingSpace",                "\u00A0")
      .put("Nopf",                            "\u2115")
      .put("Not",                             "\u2AEC")
      .put("NotCongruent",                    "\u2262")
      .put("NotCupCap",                       "\u226D")
      .put("NotDoubleVerticalBar",            "\u2226")
      .put("NotElement",                      "\u2209")
      .put("NotEqual",                        "\u2260")
      .put("NotEqualTilde",                   "\u2242\u0338")
      .put("NotExists",                       "\u2204")
      .put("NotGreater",                      "\u226F")
      .put("NotGreaterEqual",                 "\u2271")
      .put("NotGreaterFullEqual",             "\u2267\u0338")
      .put("NotGreaterGreater",               "\u226B\u0338")
      .put("NotGreaterLess",                  "\u2279")
      .put("NotGreaterSlantEqual",            "\u2A7E\u0338")
      .put("NotGreaterTilde",                 "\u2275")
      .put("NotHumpDownHump",                 "\u224E\u0338")
      .put("NotHumpEqual",                    "\u224F\u0338")
      .put("NotLeftTriangle",                 "\u22EA")
      .put("NotLeftTriangleBar",              "\u29CF\u0338")
      .put("NotLeftTriangleEqual",            "\u22EC")
      .put("NotLess",                         "\u226E")
      .put("NotLessEqual",                    "\u2270")
      .put("NotLessGreater",                  "\u2278")
      .put("NotLessLess",                     "\u226A\u0338")
      .put("NotLessSlantEqual",               "\u2A7D\u0338")
      .put("NotLessTilde",                    "\u2274")
      .put("NotNestedGreaterGreater",         "\u2AA2\u0338")
      .put("NotNestedLessLess",               "\u2AA1\u0338")
      .put("NotPrecedes",                     "\u2280")
      .put("NotPrecedesEqual",                "\u2AAF\u0338")
      .put("NotPrecedesSlantEqual",           "\u22E0")
      .put("NotReverseElement",               "\u220C")
      .put("NotRightTriangle",                "\u22EB")
      .put("NotRightTriangleBar",             "\u29D0\u0338")
      .put("NotRightTriangleEqual",           "\u22ED")
      .put("NotSquareSubset",                 "\u228F\u0338")
      .put("NotSquareSubsetEqual",            "\u22E2")
      .put("NotSquareSuperset",               "\u2290\u0338")
      .put("NotSquareSupersetEqual",          "\u22E3")
      .put("NotSubset",                       "\u2282\u20D2")
      .put("NotSubsetEqual",                  "\u2288")
      .put("NotSucceeds",                     "\u2281")
      .put("NotSucceedsEqual",                "\u2AB0\u0338")
      .put("NotSucceedsSlantEqual",           "\u22E1")
      .put("NotSucceedsTilde",                "\u227F\u0338")
      .put("NotSuperset",                     "\u2283\u20D2")
      .put("NotSupersetEqual",                "\u2289")
      .put("NotTilde",                        "\u2241")
      .put("NotTildeEqual",                   "\u2244")
      .put("NotTildeFullEqual",               "\u2247")
      .put("NotTildeTilde",                   "\u2249")
      .put("NotVerticalBar",                  "\u2224")
      .put("Nscr",                            "\ud835\udca9")
      .put("Ntilde",                          "\u00D1")
      .put("Nu",                              "\u039D")
      .put("OElig",                           "\u0152")
      .put("Oacute",                          "\u00D3")
      .put("Ocirc",                           "\u00D4")
      .put("Ocy",                             "\u041E")
      .put("Odblac",                          "\u0150")
      .put("Ofr",                             "\ud835\udd12")
      .put("Ograve",                          "\u00D2")
      .put("Omacr",                           "\u014C")
      .put("Omega",                           "\u03A9")
      .put("Omicron",                         "\u039F")
      .put("Oopf",                            "\ud835\udd46")
      .put("OpenCurlyDoubleQuote",            "\u201C")
      .put("OpenCurlyQuote",                  "\u2018")
      .put("Or",                              "\u2A54")
      .put("Oscr",                            "\ud835\udcaa")
      .put("Oslash",                          "\u00D8")
      .put("Otilde",                          "\u00D5")
      .put("Otimes",                          "\u2A37")
      .put("Ouml",                            "\u00D6")
      .put("OverBar",                         "\u203E")
      .put("OverBrace",                       "\u23DE")
      .put("OverBracket",                     "\u23B4")
      .put("OverParenthesis",                 "\u23DC")
      .put("PartialD",                        "\u2202")
      .put("Pcy",                             "\u041F")
      .put("Pfr",                             "\ud835\udd13")
      .put("Phi",                             "\u03A6")
      .put("Pi",                              "\u03A0")
      .put("PlusMinus",                       "\u00B1")
      .put("Poincareplane",                   "\u210C")
      .put("Popf",                            "\u2119")
      .put("Pr",                              "\u2ABB")
      .put("Precedes",                        "\u227A")
      .put("PrecedesEqual",                   "\u2AAF")
      .put("PrecedesSlantEqual",              "\u227C")
      .put("PrecedesTilde",                   "\u227E")
      .put("Prime",                           "\u2033")
      .put("Product",                         "\u220F")
      .put("Proportion",                      "\u2237")
      .put("Proportional",                    "\u221D")
      .put("Pscr",                            "\ud835\udcab")
      .put("Psi",                             "\u03A8")
      .put("QUOT",                            "\"")
      .put("Qfr",                             "\ud835\udd14")
      .put("Qopf",                            "\u211A")
      .put("Qscr",                            "\ud835\udcac")
      .put("RBarr",                           "\u2910")
      .put("REG",                             "\u00AE")
      .put("Racute",                          "\u0154")
      .put("Rang",                            "\u27EB")
      .put("Rarr",                            "\u21A0")
      .put("Rarrtl",                          "\u2916")
      .put("Rcaron",                          "\u0158")
      .put("Rcedil",                          "\u0156")
      .put("Rcy",                             "\u0420")
      .put("Re",                              "\u211C")
      .put("ReverseElement",                  "\u220B")
      .put("ReverseEquilibrium",              "\u21CB")
      .put("ReverseUpEquilibrium",            "\u296F")
      .put("Rfr",                             "\u211C")
      .put("Rho",                             "\u03A1")
      .put("RightAngleBracket",               "\u27E9")
      .put("RightArrow",                      "\u2192")
      .put("RightArrowBar",                   "\u21E5")
      .put("RightArrowLeftArrow",             "\u21C4")
      .put("RightCeiling",                    "\u2309")
      .put("RightDoubleBracket",              "\u27E7")
      .put("RightDownTeeVector",              "\u295D")
      .put("RightDownVector",                 "\u21C2")
      .put("RightDownVectorBar",              "\u2955")
      .put("RightFloor",                      "\u230B")
      .put("RightTee",                        "\u22A2")
      .put("RightTeeArrow",                   "\u21A6")
      .put("RightTeeVector",                  "\u295B")
      .put("RightTriangle",                   "\u22B3")
      .put("RightTriangleBar",                "\u29D0")
      .put("RightTriangleEqual",              "\u22B5")
      .put("RightUpDownVector",               "\u294F")
      .put("RightUpTeeVector",                "\u295C")
      .put("RightUpVector",                   "\u21BE")
      .put("RightUpVectorBar",                "\u2954")
      .put("RightVector",                     "\u21C0")
      .put("RightVectorBar",                  "\u2953")
      .put("Rightarrow",                      "\u21D2")
      .put("Ropf",                            "\u211D")
      .put("RoundImplies",                    "\u2970")
      .put("Rrightarrow",                     "\u21DB")
      .put("Rscr",                            "\u211B")
      .put("Rsh",                             "\u21B1")
      .put("RuleDelayed",                     "\u29F4")
      .put("SHCHcy",                          "\u0429")
      .put("SHcy",                            "\u0428")
      .put("SOFTcy",                          "\u042C")
      .put("Sacute",                          "\u015A")
      .put("Sc",                              "\u2ABC")
      .put("Scaron",                          "\u0160")
      .put("Scedil",                          "\u015E")
      .put("Scirc",                           "\u015C")
      .put("Scy",                             "\u0421")
      .put("Sfr",                             "\ud835\udd16")
      .put("ShortDownArrow",                  "\u2193")
      .put("ShortLeftArrow",                  "\u2190")
      .put("ShortRightArrow",                 "\u2192")
      .put("ShortUpArrow",                    "\u2191")
      .put("Sigma",                           "\u03A3")
      .put("SmallCircle",                     "\u2218")
      .put("Sopf",                            "\ud835\udd4a")
      .put("Sqrt",                            "\u221A")
      .put("Square",                          "\u25A1")
      .put("SquareIntersection",              "\u2293")
      .put("SquareSubset",                    "\u228F")
      .put("SquareSubsetEqual",               "\u2291")
      .put("SquareSuperset",                  "\u2290")
      .put("SquareSupersetEqual",             "\u2292")
      .put("SquareUnion",                     "\u2294")
      .put("Sscr",                            "\ud835\udcae")
      .put("Star",                            "\u22C6")
      .put("Sub",                             "\u22D0")
      .put("Subset",                          "\u22D0")
      .put("SubsetEqual",                     "\u2286")
      .put("Succeeds",                        "\u227B")
      .put("SucceedsEqual",                   "\u2AB0")
      .put("SucceedsSlantEqual",              "\u227D")
      .put("SucceedsTilde",                   "\u227F")
      .put("SuchThat",                        "\u220B")
      .put("Sum",                             "\u2211")
      .put("Sup",                             "\u22D1")
      .put("Superset",                        "\u2283")
      .put("SupersetEqual",                   "\u2287")
      .put("Supset",                          "\u22D1")
      .put("THORN",                           "\u00DE")
      .put("TRADE",                           "\u2122")
      .put("TSHcy",                           "\u040B")
      .put("TScy",                            "\u0426")
      .put("Tab",                             "\u0009")
      .put("Tau",                             "\u03A4")
      .put("Tcaron",                          "\u0164")
      .put("Tcedil",                          "\u0162")
      .put("Tcy",                             "\u0422")
      .put("Tfr",                             "\ud835\udd17")
      .put("Therefore",                       "\u2234")
      .put("Theta",                           "\u0398")
      .put("ThickSpace",                      "\u205F\u200A")
      .put("ThinSpace",                       "\u2009")
      .put("Tilde",                           "\u223C")
      .put("TildeEqual",                      "\u2243")
      .put("TildeFullEqual",                  "\u2245")
      .put("TildeTilde",                      "\u2248")
      .put("Topf",                            "\ud835\udd4b")
      .put("TripleDot",                       "\u20DB")
      .put("Tscr",                            "\ud835\udcaf")
      .put("Tstrok",                          "\u0166")
      .put("Uacute",                          "\u00DA")
      .put("Uarr",                            "\u219F")
      .put("Uarrocir",                        "\u2949")
      .put("Ubrcy",                           "\u040E")
      .put("Ubreve",                          "\u016C")
      .put("Ucirc",                           "\u00DB")
      .put("Ucy",                             "\u0423")
      .put("Udblac",                          "\u0170")
      .put("Ufr",                             "\ud835\udd18")
      .put("Ugrave",                          "\u00D9")
      .put("Umacr",                           "\u016A")
      .put("UnderBar",                        "\u005F")
      .put("UnderBrace",                      "\u23DF")
      .put("UnderBracket",                    "\u23B5")
      .put("UnderParenthesis",                "\u23DD")
      .put("Union",                           "\u22C3")
      .put("UnionPlus",                       "\u228E")
      .put("Uogon",                           "\u0172")
      .put("Uopf",                            "\ud835\udd4c")
      .put("UpArrow",                         "\u2191")
      .put("UpArrowBar",                      "\u2912")
      .put("UpArrowDownArrow",                "\u21C5")
      .put("UpDownArrow",                     "\u2195")
      .put("UpEquilibrium",                   "\u296E")
      .put("UpTee",                           "\u22A5")
      .put("UpTeeArrow",                      "\u21A5")
      .put("Uparrow",                         "\u21D1")
      .put("Updownarrow",                     "\u21D5")
      .put("UpperLeftArrow",                  "\u2196")
      .put("UpperRightArrow",                 "\u2197")
      .put("Upsi",                            "\u03D2")
      .put("Upsilon",                         "\u03A5")
      .put("Uring",                           "\u016E")
      .put("Uscr",                            "\ud835\udcb0")
      .put("Utilde",                          "\u0168")
      .put("Uuml",                            "\u00DC")
      .put("VDash",                           "\u22AB")
      .put("Vbar",                            "\u2AEB")
      .put("Vcy",                             "\u0412")
      .put("Vdash",                           "\u22A9")
      .put("Vdashl",                          "\u2AE6")
      .put("Vee",                             "\u22C1")
      .put("Verbar",                          "\u2016")
      .put("Vert",                            "\u2016")
      .put("VerticalBar",                     "\u2223")
      .put("VerticalLine",                    "\u007C")
      .put("VerticalSeparator",               "\u2758")
      .put("VerticalTilde",                   "\u2240")
      .put("VeryThinSpace",                   "\u200A")
      .put("Vfr",                             "\ud835\udd19")
      .put("Vopf",                            "\ud835\udd4d")
      .put("Vscr",                            "\ud835\udcb1")
      .put("Vvdash",                          "\u22AA")
      .put("Wcirc",                           "\u0174")
      .put("Wedge",                           "\u22C0")
      .put("Wfr",                             "\ud835\udd1a")
      .put("Wopf",                            "\ud835\udd4e")
      .put("Wscr",                            "\ud835\udcb2")
      .put("Xfr",                             "\ud835\udd1b")
      .put("Xi",                              "\u039E")
      .put("Xopf",                            "\ud835\udd4f")
      .put("Xscr",                            "\ud835\udcb3")
      .put("YAcy",                            "\u042F")
      .put("YIcy",                            "\u0407")
      .put("YUcy",                            "\u042E")
      .put("Yacute",                          "\u00DD")
      .put("Ycirc",                           "\u0176")
      .put("Ycy",                             "\u042B")
      .put("Yfr",                             "\ud835\udd1c")
      .put("Yopf",                            "\ud835\udd50")
      .put("Yscr",                            "\ud835\udcb4")
      .put("Yuml",                            "\u0178")
      .put("ZHcy",                            "\u0416")
      .put("Zacute",                          "\u0179")
      .put("Zcaron",                          "\u017D")
      .put("Zcy",                             "\u0417")
      .put("Zdot",                            "\u017B")
      .put("ZeroWidthSpace",                  "\u200B")
      .put("Zeta",                            "\u0396")
      .put("Zfr",                             "\u2128")
      .put("Zopf",                            "\u2124")
      .put("Zscr",                            "\ud835\udcb5")
      .put("aacute",                          "\u00E1")
      .put("abreve",                          "\u0103")
      .put("ac",                              "\u223E")
      .put("acE",                             "\u223E\u0333")
      .put("acd",                             "\u223F")
      .put("acirc",                           "\u00E2")
      .put("acute",                           "\u00B4")
      .put("acy",                             "\u0430")
      .put("aelig",                           "\u00E6")
      .put("af",                              "\u2061")
      .put("afr",                             "\ud835\udd1e")
      .put("agrave",                          "\u00E0")
      .put("alefsym",                         "\u2135")
      .put("aleph",                           "\u2135")
      .put("alpha",                           "\u03B1")
      .put("amacr",                           "\u0101")
      .put("amalg",                           "\u2A3F")
      .put("amp",                             "\u0026")
      .put("and",                             "\u2227")
      .put("andand",                          "\u2A55")
      .put("andd",                            "\u2A5C")
      .put("andslope",                        "\u2A58")
      .put("andv",                            "\u2A5A")
      .put("ang",                             "\u2220")
      .put("ange",                            "\u29A4")
      .put("angle",                           "\u2220")
      .put("angmsd",                          "\u2221")
      .put("angmsdaa",                        "\u29A8")
      .put("angmsdab",                        "\u29A9")
      .put("angmsdac",                        "\u29AA")
      .put("angmsdad",                        "\u29AB")
      .put("angmsdae",                        "\u29AC")
      .put("angmsdaf",                        "\u29AD")
      .put("angmsdag",                        "\u29AE")
      .put("angmsdah",                        "\u29AF")
      .put("angrt",                           "\u221F")
      .put("angrtvb",                         "\u22BE")
      .put("angrtvbd",                        "\u299D")
      .put("angsph",                          "\u2222")
      .put("angst",                           "\u00C5")
      .put("angzarr",                         "\u237C")
      .put("aogon",                           "\u0105")
      .put("aopf",                            "\ud835\udd52")
      .put("ap",                              "\u2248")
      .put("apE",                             "\u2A70")
      .put("apacir",                          "\u2A6F")
      .put("ape",                             "\u224A")
      .put("apid",                            "\u224B")
      .put("apos",                            "\u0027")
      .put("approx",                          "\u2248")
      .put("approxeq",                        "\u224A")
      .put("aring",                           "\u00E5")
      .put("ascr",                            "\ud835\udcb6")
      .put("ast",                             "\u002A")
      .put("asymp",                           "\u2248")
      .put("asympeq",                         "\u224D")
      .put("atilde",                          "\u00E3")
      .put("auml",                            "\u00E4")
      .put("awconint",                        "\u2233")
      .put("awint",                           "\u2A11")
      .put("bNot",                            "\u2AED")
      .put("backcong",                        "\u224C")
      .put("backepsilon",                     "\u03F6")
      .put("backprime",                       "\u2035")
      .put("backsim",                         "\u223D")
      .put("backsimeq",                       "\u22CD")
      .put("barvee",                          "\u22BD")
      .put("barwed",                          "\u2305")
      .put("barwedge",                        "\u2305")
      .put("bbrk",                            "\u23B5")
      .put("bbrktbrk",                        "\u23B6")
      .put("bcong",                           "\u224C")
      .put("bcy",                             "\u0431")
      .put("bdquo",                           "\u201E")
      .put("becaus",                          "\u2235")
      .put("because",                         "\u2235")
      .put("bemptyv",                         "\u29B0")
      .put("bepsi",                           "\u03F6")
      .put("bernou",                          "\u212C")
      .put("beta",                            "\u03B2")
      .put("beth",                            "\u2136")
      .put("between",                         "\u226C")
      .put("bfr",                             "\ud835\udd1f")
      .put("bigcap",                          "\u22C2")
      .put("bigcirc",                         "\u25EF")
      .put("bigcup",                          "\u22C3")
      .put("bigodot",                         "\u2A00")
      .put("bigoplus",                        "\u2A01")
      .put("bigotimes",                       "\u2A02")
      .put("bigsqcup",                        "\u2A06")
      .put("bigstar",                         "\u2605")
      .put("bigtriangledown",                 "\u25BD")
      .put("bigtriangleup",                   "\u25B3")
      .put("biguplus",                        "\u2A04")
      .put("bigvee",                          "\u22C1")
      .put("bigwedge",                        "\u22C0")
      .put("bkarow",                          "\u290D")
      .put("blacklozenge",                    "\u29EB")
      .put("blacksquare",                     "\u25AA")
      .put("blacktriangle",                   "\u25B4")
      .put("blacktriangledown",               "\u25BE")
      .put("blacktriangleleft",               "\u25C2")
      .put("blacktriangleright",              "\u25B8")
      .put("blank",                           "\u2423")
      .put("blk12",                           "\u2592")
      .put("blk14",                           "\u2591")
      .put("blk34",                           "\u2593")
      .put("block",                           "\u2588")
      .put("bne",                             "\u003D\u20E5")
      .put("bnequiv",                         "\u2261\u20E5")
      .put("bnot",                            "\u2310")
      .put("bopf",                            "\ud835\udd53")
      .put("bot",                             "\u22A5")
      .put("bottom",                          "\u22A5")
      .put("bowtie",                          "\u22C8")
      .put("boxDL",                           "\u2557")
      .put("boxDR",                           "\u2554")
      .put("boxDl",                           "\u2556")
      .put("boxDr",                           "\u2553")
      .put("boxH",                            "\u2550")
      .put("boxHD",                           "\u2566")
      .put("boxHU",                           "\u2569")
      .put("boxHd",                           "\u2564")
      .put("boxHu",                           "\u2567")
      .put("boxUL",                           "\u255D")
      .put("boxUR",                           "\u255A")
      .put("boxUl",                           "\u255C")
      .put("boxUr",                           "\u2559")
      .put("boxV",                            "\u2551")
      .put("boxVH",                           "\u256C")
      .put("boxVL",                           "\u2563")
      .put("boxVR",                           "\u2560")
      .put("boxVh",                           "\u256B")
      .put("boxVl",                           "\u2562")
      .put("boxVr",                           "\u255F")
      .put("boxbox",                          "\u29C9")
      .put("boxdL",                           "\u2555")
      .put("boxdR",                           "\u2552")
      .put("boxdl",                           "\u2510")
      .put("boxdr",                           "\u250C")
      .put("boxh",                            "\u2500")
      .put("boxhD",                           "\u2565")
      .put("boxhU",                           "\u2568")
      .put("boxhd",                           "\u252C")
      .put("boxhu",                           "\u2534")
      .put("boxminus",                        "\u229F")
      .put("boxplus",                         "\u229E")
      .put("boxtimes",                        "\u22A0")
      .put("boxuL",                           "\u255B")
      .put("boxuR",                           "\u2558")
      .put("boxul",                           "\u2518")
      .put("boxur",                           "\u2514")
      .put("boxv",                            "\u2502")
      .put("boxvH",                           "\u256A")
      .put("boxvL",                           "\u2561")
      .put("boxvR",                           "\u255E")
      .put("boxvh",                           "\u253C")
      .put("boxvl",                           "\u2524")
      .put("boxvr",                           "\u251C")
      .put("bprime",                          "\u2035")
      .put("breve",                           "\u02D8")
      .put("brvbar",                          "\u00A6")
      .put("bscr",                            "\ud835\udcb7")
      .put("bsemi",                           "\u204F")
      .put("bsim",                            "\u223D")
      .put("bsime",                           "\u22CD")
      .put("bsol",                            "\\")
      .put("bsolb",                           "\u29C5")
      .put("bsolhsub",                        "\u27C8")
      .put("bull",                            "\u2022")
      .put("bullet",                          "\u2022")
      .put("bump",                            "\u224E")
      .put("bumpE",                           "\u2AAE")
      .put("bumpe",                           "\u224F")
      .put("bumpeq",                          "\u224F")
      .put("cacute",                          "\u0107")
      .put("cap",                             "\u2229")
      .put("capand",                          "\u2A44")
      .put("capbrcup",                        "\u2A49")
      .put("capcap",                          "\u2A4B")
      .put("capcup",                          "\u2A47")
      .put("capdot",                          "\u2A40")
      .put("caps",                            "\u2229\uFE00")
      .put("caret",                           "\u2041")
      .put("caron",                           "\u02C7")
      .put("ccaps",                           "\u2A4D")
      .put("ccaron",                          "\u010D")
      .put("ccedil",                          "\u00E7")
      .put("ccirc",                           "\u0109")
      .put("ccups",                           "\u2A4C")
      .put("ccupssm",                         "\u2A50")
      .put("cdot",                            "\u010B")
      .put("cedil",                           "\u00B8")
      .put("cemptyv",                         "\u29B2")
      .put("cent",                            "\u00A2")
      .put("centerdot",                       "\u00B7")
      .put("cfr",                             "\ud835\udd20")
      .put("chcy",                            "\u0447")
      .put("check",                           "\u2713")
      .put("checkmark",                       "\u2713")
      .put("chi",                             "\u03C7")
      .put("cir",                             "\u25CB")
      .put("cirE",                            "\u29C3")
      .put("circ",                            "\u02C6")
      .put("circeq",                          "\u2257")
      .put("circlearrowleft",                 "\u21BA")
      .put("circlearrowright",                "\u21BB")
      .put("circledR",                        "\u00AE")
      .put("circledS",                        "\u24C8")
      .put("circledast",                      "\u229B")
      .put("circledcirc",                     "\u229A")
      .put("circleddash",                     "\u229D")
      .put("cire",                            "\u2257")
      .put("cirfnint",                        "\u2A10")
      .put("cirmid",                          "\u2AEF")
      .put("cirscir",                         "\u29C2")
      .put("clubs",                           "\u2663")
      .put("clubsuit",                        "\u2663")
      .put("colon",                           "\u003A")
      .put("colone",                          "\u2254")
      .put("coloneq",                         "\u2254")
      .put("comma",                           "\u002C")
      .put("commat",                          "\u0040")
      .put("comp",                            "\u2201")
      .put("compfn",                          "\u2218")
      .put("complement",                      "\u2201")
      .put("complexes",                       "\u2102")
      .put("cong",                            "\u2245")
      .put("congdot",                         "\u2A6D")
      .put("conint",                          "\u222E")
      .put("copf",                            "\ud835\udd54")
      .put("coprod",                          "\u2210")
      .put("copy",                            "\u00A9")
      .put("copysr",                          "\u2117")
      .put("crarr",                           "\u21B5")
      .put("cross",                           "\u2717")
      .put("cscr",                            "\ud835\udcb8")
      .put("csub",                            "\u2ACF")
      .put("csube",                           "\u2AD1")
      .put("csup",                            "\u2AD0")
      .put("csupe",                           "\u2AD2")
      .put("ctdot",                           "\u22EF")
      .put("cudarrl",                         "\u2938")
      .put("cudarrr",                         "\u2935")
      .put("cuepr",                           "\u22DE")
      .put("cuesc",                           "\u22DF")
      .put("cularr",                          "\u21B6")
      .put("cularrp",                         "\u293D")
      .put("cup",                             "\u222A")
      .put("cupbrcap",                        "\u2A48")
      .put("cupcap",                          "\u2A46")
      .put("cupcup",                          "\u2A4A")
      .put("cupdot",                          "\u228D")
      .put("cupor",                           "\u2A45")
      .put("cups",                            "\u222A\uFE00")
      .put("curarr",                          "\u21B7")
      .put("curarrm",                         "\u293C")
      .put("curlyeqprec",                     "\u22DE")
      .put("curlyeqsucc",                     "\u22DF")
      .put("curlyvee",                        "\u22CE")
      .put("curlywedge",                      "\u22CF")
      .put("curren",                          "\u00A4")
      .put("curvearrowleft",                  "\u21B6")
      .put("curvearrowright",                 "\u21B7")
      .put("cuvee",                           "\u22CE")
      .put("cuwed",                           "\u22CF")
      .put("cwconint",                        "\u2232")
      .put("cwint",                           "\u2231")
      .put("cylcty",                          "\u232D")
      .put("dArr",                            "\u21D3")
      .put("dHar",                            "\u2965")
      .put("dagger",                          "\u2020")
      .put("daleth",                          "\u2138")
      .put("darr",                            "\u2193")
      .put("dash",                            "\u2010")
      .put("dashv",                           "\u22A3")
      .put("dbkarow",                         "\u290F")
      .put("dblac",                           "\u02DD")
      .put("dcaron",                          "\u010F")
      .put("dcy",                             "\u0434")
      .put("dd",                              "\u2146")
      .put("ddagger",                         "\u2021")
      .put("ddarr",                           "\u21CA")
      .put("ddotseq",                         "\u2A77")
      .put("deg",                             "\u00B0")
      .put("delta",                           "\u03B4")
      .put("demptyv",                         "\u29B1")
      .put("dfisht",                          "\u297F")
      .put("dfr",                             "\ud835\udd21")
      .put("dharl",                           "\u21C3")
      .put("dharr",                           "\u21C2")
      .put("diam",                            "\u22C4")
      .put("diamond",                         "\u22C4")
      .put("diamondsuit",                     "\u2666")
      .put("diams",                           "\u2666")
      .put("die",                             "\u00A8")
      .put("digamma",                         "\u03DD")
      .put("disin",                           "\u22F2")
      .put("div",                             "\u00F7")
      .put("divide",                          "\u00F7")
      .put("divideontimes",                   "\u22C7")
      .put("divonx",                          "\u22C7")
      .put("djcy",                            "\u0452")
      .put("dlcorn",                          "\u231E")
      .put("dlcrop",                          "\u230D")
      .put("dollar",                          "\u0024")
      .put("dopf",                            "\ud835\udd55")
      .put("dot",                             "\u02D9")
      .put("doteq",                           "\u2250")
      .put("doteqdot",                        "\u2251")
      .put("dotminus",                        "\u2238")
      .put("dotplus",                         "\u2214")
      .put("dotsquare",                       "\u22A1")
      .put("doublebarwedge",                  "\u2306")
      .put("downarrow",                       "\u2193")
      .put("downdownarrows",                  "\u21CA")
      .put("downharpoonleft",                 "\u21C3")
      .put("downharpoonright",                "\u21C2")
      .put("drbkarow",                        "\u2910")
      .put("drcorn",                          "\u231F")
      .put("drcrop",                          "\u230C")
      .put("dscr",                            "\ud835\udcb9")
      .put("dscy",                            "\u0455")
      .put("dsol",                            "\u29F6")
      .put("dstrok",                          "\u0111")
      .put("dtdot",                           "\u22F1")
      .put("dtri",                            "\u25BF")
      .put("dtrif",                           "\u25BE")
      .put("duarr",                           "\u21F5")
      .put("duhar",                           "\u296F")
      .put("dwangle",                         "\u29A6")
      .put("dzcy",                            "\u045F")
      .put("dzigrarr",                        "\u27FF")
      .put("eDDot",                           "\u2A77")
      .put("eDot",                            "\u2251")
      .put("eacute",                          "\u00E9")
      .put("easter",                          "\u2A6E")
      .put("ecaron",                          "\u011B")
      .put("ecir",                            "\u2256")
      .put("ecirc",                           "\u00EA")
      .put("ecolon",                          "\u2255")
      .put("ecy",                             "\u044D")
      .put("edot",                            "\u0117")
      .put("ee",                              "\u2147")
      .put("efDot",                           "\u2252")
      .put("efr",                             "\ud835\udd22")
      .put("eg",                              "\u2A9A")
      .put("egrave",                          "\u00E8")
      .put("egs",                             "\u2A96")
      .put("egsdot",                          "\u2A98")
      .put("el",                              "\u2A99")
      .put("elinters",                        "\u23E7")
      .put("ell",                             "\u2113")
      .put("els",                             "\u2A95")
      .put("elsdot",                          "\u2A97")
      .put("emacr",                           "\u0113")
      .put("empty",                           "\u2205")
      .put("emptyset",                        "\u2205")
      .put("emptyv",                          "\u2205")
      .put("emsp",                            "\u2003")
      .put("emsp13",                          "\u2004")
      .put("emsp14",                          "\u2005")
      .put("eng",                             "\u014B")
      .put("ensp",                            "\u2002")
      .put("eogon",                           "\u0119")
      .put("eopf",                            "\ud835\udd56")
      .put("epar",                            "\u22D5")
      .put("eparsl",                          "\u29E3")
      .put("eplus",                           "\u2A71")
      .put("epsi",                            "\u03B5")
      .put("epsilon",                         "\u03B5")
      .put("epsiv",                           "\u03F5")
      .put("eqcirc",                          "\u2256")
      .put("eqcolon",                         "\u2255")
      .put("eqsim",                           "\u2242")
      .put("eqslantgtr",                      "\u2A96")
      .put("eqslantless",                     "\u2A95")
      .put("equals",                          "\u003D")
      .put("equest",                          "\u225F")
      .put("equiv",                           "\u2261")
      .put("equivDD",                         "\u2A78")
      .put("eqvparsl",                        "\u29E5")
      .put("erDot",                           "\u2253")
      .put("erarr",                           "\u2971")
      .put("escr",                            "\u212F")
      .put("esdot",                           "\u2250")
      .put("esim",                            "\u2242")
      .put("eta",                             "\u03B7")
      .put("eth",                             "\u00F0")
      .put("euml",                            "\u00EB")
      .put("euro",                            "\u20AC")
      .put("excl",                            "\u0021")
      .put("exist",                           "\u2203")
      .put("expectation",                     "\u2130")
      .put("exponentiale",                    "\u2147")
      .put("fallingdotseq",                   "\u2252")
      .put("fcy",                             "\u0444")
      .put("female",                          "\u2640")
      .put("ffilig",                          "\uFB03")
      .put("fflig",                           "\uFB00")
      .put("ffllig",                          "\uFB04")
      .put("ffr",                             "\ud835\udd23")
      .put("filig",                           "\uFB01")
      .put("fjlig",                           "\u0066\u006A")
      .put("flat",                            "\u266D")
      .put("fllig",                           "\uFB02")
      .put("fltns",                           "\u25B1")
      .put("fnof",                            "\u0192")
      .put("fopf",                            "\ud835\udd57")
      .put("forall",                          "\u2200")
      .put("fork",                            "\u22D4")
      .put("forkv",                           "\u2AD9")
      .put("fpartint",                        "\u2A0D")
      .put("frac12",                          "\u00BD")
      .put("frac13",                          "\u2153")
      .put("frac14",                          "\u00BC")
      .put("frac15",                          "\u2155")
      .put("frac16",                          "\u2159")
      .put("frac18",                          "\u215B")
      .put("frac23",                          "\u2154")
      .put("frac25",                          "\u2156")
      .put("frac34",                          "\u00BE")
      .put("frac35",                          "\u2157")
      .put("frac38",                          "\u215C")
      .put("frac45",                          "\u2158")
      .put("frac56",                          "\u215A")
      .put("frac58",                          "\u215D")
      .put("frac78",                          "\u215E")
      .put("frasl",                           "\u2044")
      .put("frown",                           "\u2322")
      .put("fscr",                            "\ud835\udcbb")
      .put("gE",                              "\u2267")
      .put("gEl",                             "\u2A8C")
      .put("gacute",                          "\u01F5")
      .put("gamma",                           "\u03B3")
      .put("gammad",                          "\u03DD")
      .put("gap",                             "\u2A86")
      .put("gbreve",                          "\u011F")
      .put("gcirc",                           "\u011D")
      .put("gcy",                             "\u0433")
      .put("gdot",                            "\u0121")
      .put("ge",                              "\u2265")
      .put("gel",                             "\u22DB")
      .put("geq",                             "\u2265")
      .put("geqq",                            "\u2267")
      .put("geqslant",                        "\u2A7E")
      .put("ges",                             "\u2A7E")
      .put("gescc",                           "\u2AA9")
      .put("gesdot",                          "\u2A80")
      .put("gesdoto",                         "\u2A82")
      .put("gesdotol",                        "\u2A84")
      .put("gesl",                            "\u22DB\uFE00")
      .put("gesles",                          "\u2A94")
      .put("gfr",                             "\ud835\udd24")
      .put("gg",                              "\u226B")
      .put("ggg",                             "\u22D9")
      .put("gimel",                           "\u2137")
      .put("gjcy",                            "\u0453")
      .put("gl",                              "\u2277")
      .put("glE",                             "\u2A92")
      .put("gla",                             "\u2AA5")
      .put("glj",                             "\u2AA4")
      .put("gnE",                             "\u2269")
      .put("gnap",                            "\u2A8A")
      .put("gnapprox",                        "\u2A8A")
      .put("gne",                             "\u2A88")
      .put("gneq",                            "\u2A88")
      .put("gneqq",                           "\u2269")
      .put("gnsim",                           "\u22E7")
      .put("gopf",                            "\ud835\udd58")
      .put("grave",                           "\u0060")
      .put("gscr",                            "\u210A")
      .put("gsim",                            "\u2273")
      .put("gsime",                           "\u2A8E")
      .put("gsiml",                           "\u2A90")
      .put("gt",                              "\u003E")
      .put("gtcc",                            "\u2AA7")
      .put("gtcir",                           "\u2A7A")
      .put("gtdot",                           "\u22D7")
      .put("gtlPar",                          "\u2995")
      .put("gtquest",                         "\u2A7C")
      .put("gtrapprox",                       "\u2A86")
      .put("gtrarr",                          "\u2978")
      .put("gtrdot",                          "\u22D7")
      .put("gtreqless",                       "\u22DB")
      .put("gtreqqless",                      "\u2A8C")
      .put("gtrless",                         "\u2277")
      .put("gtrsim",                          "\u2273")
      .put("gvertneqq",                       "\u2269\uFE00")
      .put("gvnE",                            "\u2269\uFE00")
      .put("hArr",                            "\u21D4")
      .put("hairsp",                          "\u200A")
      .put("half",                            "\u00BD")
      .put("hamilt",                          "\u210B")
      .put("hardcy",                          "\u044A")
      .put("harr",                            "\u2194")
      .put("harrcir",                         "\u2948")
      .put("harrw",                           "\u21AD")
      .put("hbar",                            "\u210F")
      .put("hcirc",                           "\u0125")
      .put("hearts",                          "\u2665")
      .put("heartsuit",                       "\u2665")
      .put("hellip",                          "\u2026")
      .put("hercon",                          "\u22B9")
      .put("hfr",                             "\ud835\udd25")
      .put("hksearow",                        "\u2925")
      .put("hkswarow",                        "\u2926")
      .put("hoarr",                           "\u21FF")
      .put("homtht",                          "\u223B")
      .put("hookleftarrow",                   "\u21A9")
      .put("hookrightarrow",                  "\u21AA")
      .put("hopf",                            "\ud835\udd59")
      .put("horbar",                          "\u2015")
      .put("hscr",                            "\ud835\udcbd")
      .put("hslash",                          "\u210F")
      .put("hstrok",                          "\u0127")
      .put("hybull",                          "\u2043")
      .put("hyphen",                          "\u2010")
      .put("iacute",                          "\u00ED")
      .put("ic",                              "\u2063")
      .put("icirc",                           "\u00EE")
      .put("icy",                             "\u0438")
      .put("iecy",                            "\u0435")
      .put("iexcl",                           "\u00A1")
      .put("iff",                             "\u21D4")
      .put("ifr",                             "\ud835\udd26")
      .put("igrave",                          "\u00EC")
      .put("ii",                              "\u2148")
      .put("iiiint",                          "\u2A0C")
      .put("iiint",                           "\u222D")
      .put("iinfin",                          "\u29DC")
      .put("iiota",                           "\u2129")
      .put("ijlig",                           "\u0133")
      .put("imacr",                           "\u012B")
      .put("image",                           "\u2111")
      .put("imagline",                        "\u2110")
      .put("imagpart",                        "\u2111")
      .put("imath",                           "\u0131")
      .put("imof",                            "\u22B7")
      .put("imped",                           "\u01B5")
      .put("in",                              "\u2208")
      .put("incare",                          "\u2105")
      .put("infin",                           "\u221E")
      .put("infintie",                        "\u29DD")
      .put("inodot",                          "\u0131")
      .put("int",                             "\u222B")
      .put("intcal",                          "\u22BA")
      .put("integers",                        "\u2124")
      .put("intercal",                        "\u22BA")
      .put("intlarhk",                        "\u2A17")
      .put("intprod",                         "\u2A3C")
      .put("iocy",                            "\u0451")
      .put("iogon",                           "\u012F")
      .put("iopf",                            "\ud835\udd5a")
      .put("iota",                            "\u03B9")
      .put("iprod",                           "\u2A3C")
      .put("iquest",                          "\u00BF")
      .put("iscr",                            "\ud835\udcbe")
      .put("isin",                            "\u2208")
      .put("isinE",                           "\u22F9")
      .put("isindot",                         "\u22F5")
      .put("isins",                           "\u22F4")
      .put("isinsv",                          "\u22F3")
      .put("isinv",                           "\u2208")
      .put("it",                              "\u2062")
      .put("itilde",                          "\u0129")
      .put("iukcy",                           "\u0456")
      .put("iuml",                            "\u00EF")
      .put("jcirc",                           "\u0135")
      .put("jcy",                             "\u0439")
      .put("jfr",                             "\ud835\udd27")
      .put("jmath",                           "\u0237")
      .put("jopf",                            "\ud835\udd5b")
      .put("jscr",                            "\ud835\udcbf")
      .put("jsercy",                          "\u0458")
      .put("jukcy",                           "\u0454")
      .put("kappa",                           "\u03BA")
      .put("kappav",                          "\u03F0")
      .put("kcedil",                          "\u0137")
      .put("kcy",                             "\u043A")
      .put("kfr",                             "\ud835\udd28")
      .put("kgreen",                          "\u0138")
      .put("khcy",                            "\u0445")
      .put("kjcy",                            "\u045C")
      .put("kopf",                            "\ud835\udd5c")
      .put("kscr",                            "\ud835\udcc0")
      .put("lAarr",                           "\u21DA")
      .put("lArr",                            "\u21D0")
      .put("lAtail",                          "\u291B")
      .put("lBarr",                           "\u290E")
      .put("lE",                              "\u2266")
      .put("lEg",                             "\u2A8B")
      .put("lHar",                            "\u2962")
      .put("lacute",                          "\u013A")
      .put("laemptyv",                        "\u29B4")
      .put("lagran",                          "\u2112")
      .put("lambda",                          "\u03BB")
      .put("lang",                            "\u27E8")
      .put("langd",                           "\u2991")
      .put("langle",                          "\u27E8")
      .put("lap",                             "\u2A85")
      .put("laquo",                           "\u00AB")
      .put("larr",                            "\u2190")
      .put("larrb",                           "\u21E4")
      .put("larrbfs",                         "\u291F")
      .put("larrfs",                          "\u291D")
      .put("larrhk",                          "\u21A9")
      .put("larrlp",                          "\u21AB")
      .put("larrpl",                          "\u2939")
      .put("larrsim",                         "\u2973")
      .put("larrtl",                          "\u21A2")
      .put("lat",                             "\u2AAB")
      .put("latail",                          "\u2919")
      .put("late",                            "\u2AAD")
      .put("lates",                           "\u2AAD\uFE00")
      .put("lbarr",                           "\u290C")
      .put("lbbrk",                           "\u2772")
      .put("lbrace",                          "\u007B")
      .put("lbrack",                          "\u005B")
      .put("lbrke",                           "\u298B")
      .put("lbrksld",                         "\u298F")
      .put("lbrkslu",                         "\u298D")
      .put("lcaron",                          "\u013E")
      .put("lcedil",                          "\u013C")
      .put("lceil",                           "\u2308")
      .put("lcub",                            "\u007B")
      .put("lcy",                             "\u043B")
      .put("ldca",                            "\u2936")
      .put("ldquo",                           "\u201C")
      .put("ldquor",                          "\u201E")
      .put("ldrdhar",                         "\u2967")
      .put("ldrushar",                        "\u294B")
      .put("ldsh",                            "\u21B2")
      .put("le",                              "\u2264")
      .put("leftarrow",                       "\u2190")
      .put("leftarrowtail",                   "\u21A2")
      .put("leftharpoondown",                 "\u21BD")
      .put("leftharpoonup",                   "\u21BC")
      .put("leftleftarrows",                  "\u21C7")
      .put("leftrightarrow",                  "\u2194")
      .put("leftrightarrows",                 "\u21C6")
      .put("leftrightharpoons",               "\u21CB")
      .put("leftrightsquigarrow",             "\u21AD")
      .put("leftthreetimes",                  "\u22CB")
      .put("leg",                             "\u22DA")
      .put("leq",                             "\u2264")
      .put("leqq",                            "\u2266")
      .put("leqslant",                        "\u2A7D")
      .put("les",                             "\u2A7D")
      .put("lescc",                           "\u2AA8")
      .put("lesdot",                          "\u2A7F")
      .put("lesdoto",                         "\u2A81")
      .put("lesdotor",                        "\u2A83")
      .put("lesg",                            "\u22DA\uFE00")
      .put("lesges",                          "\u2A93")
      .put("lessapprox",                      "\u2A85")
      .put("lessdot",                         "\u22D6")
      .put("lesseqgtr",                       "\u22DA")
      .put("lesseqqgtr",                      "\u2A8B")
      .put("lessgtr",                         "\u2276")
      .put("lesssim",                         "\u2272")
      .put("lfisht",                          "\u297C")
      .put("lfloor",                          "\u230A")
      .put("lfr",                             "\ud835\udd29")
      .put("lg",                              "\u2276")
      .put("lgE",                             "\u2A91")
      .put("lhard",                           "\u21BD")
      .put("lharu",                           "\u21BC")
      .put("lharul",                          "\u296A")
      .put("lhblk",                           "\u2584")
      .put("ljcy",                            "\u0459")
      .put("ll",                              "\u226A")
      .put("llarr",                           "\u21C7")
      .put("llcorner",                        "\u231E")
      .put("llhard",                          "\u296B")
      .put("lltri",                           "\u25FA")
      .put("lmidot",                          "\u0140")
      .put("lmoust",                          "\u23B0")
      .put("lmoustache",                      "\u23B0")
      .put("lnE",                             "\u2268")
      .put("lnap",                            "\u2A89")
      .put("lnapprox",                        "\u2A89")
      .put("lne",                             "\u2A87")
      .put("lneq",                            "\u2A87")
      .put("lneqq",                           "\u2268")
      .put("lnsim",                           "\u22E6")
      .put("loang",                           "\u27EC")
      .put("loarr",                           "\u21FD")
      .put("lobrk",                           "\u27E6")
      .put("longleftarrow",                   "\u27F5")
      .put("longleftrightarrow",              "\u27F7")
      .put("longmapsto",                      "\u27FC")
      .put("longrightarrow",                  "\u27F6")
      .put("looparrowleft",                   "\u21AB")
      .put("looparrowright",                  "\u21AC")
      .put("lopar",                           "\u2985")
      .put("lopf",                            "\ud835\udd5d")
      .put("loplus",                          "\u2A2D")
      .put("lotimes",                         "\u2A34")
      .put("lowast",                          "\u2217")
      .put("lowbar",                          "\u005F")
      .put("loz",                             "\u25CA")
      .put("lozenge",                         "\u25CA")
      .put("lozf",                            "\u29EB")
      .put("lpar",                            "\u0028")
      .put("lparlt",                          "\u2993")
      .put("lrarr",                           "\u21C6")
      .put("lrcorner",                        "\u231F")
      .put("lrhar",                           "\u21CB")
      .put("lrhard",                          "\u296D")
      .put("lrm",                             "\u200E")
      .put("lrtri",                           "\u22BF")
      .put("lsaquo",                          "\u2039")
      .put("lscr",                            "\ud835\udcc1")
      .put("lsh",                             "\u21B0")
      .put("lsim",                            "\u2272")
      .put("lsime",                           "\u2A8D")
      .put("lsimg",                           "\u2A8F")
      .put("lsqb",                            "\u005B")
      .put("lsquo",                           "\u2018")
      .put("lsquor",                          "\u201A")
      .put("lstrok",                          "\u0142")
      .put("lt",                              "\u003C")
      .put("ltcc",                            "\u2AA6")
      .put("ltcir",                           "\u2A79")
      .put("ltdot",                           "\u22D6")
      .put("lthree",                          "\u22CB")
      .put("ltimes",                          "\u22C9")
      .put("ltlarr",                          "\u2976")
      .put("ltquest",                         "\u2A7B")
      .put("ltrPar",                          "\u2996")
      .put("ltri",                            "\u25C3")
      .put("ltrie",                           "\u22B4")
      .put("ltrif",                           "\u25C2")
      .put("lurdshar",                        "\u294A")
      .put("luruhar",                         "\u2966")
      .put("lvertneqq",                       "\u2268\uFE00")
      .put("lvnE",                            "\u2268\uFE00")
      .put("mDDot",                           "\u223A")
      .put("macr",                            "\u00AF")
      .put("male",                            "\u2642")
      .put("malt",                            "\u2720")
      .put("maltese",                         "\u2720")
      .put("map",                             "\u21A6")
      .put("mapsto",                          "\u21A6")
      .put("mapstodown",                      "\u21A7")
      .put("mapstoleft",                      "\u21A4")
      .put("mapstoup",                        "\u21A5")
      .put("marker",                          "\u25AE")
      .put("mcomma",                          "\u2A29")
      .put("mcy",                             "\u043C")
      .put("mdash",                           "\u2014")
      .put("measuredangle",                   "\u2221")
      .put("mfr",                             "\ud835\udd2a")
      .put("mho",                             "\u2127")
      .put("micro",                           "\u00B5")
      .put("mid",                             "\u2223")
      .put("midast",                          "\u002A")
      .put("midcir",                          "\u2AF0")
      .put("middot",                          "\u00B7")
      .put("minus",                           "\u2212")
      .put("minusb",                          "\u229F")
      .put("minusd",                          "\u2238")
      .put("minusdu",                         "\u2A2A")
      .put("mlcp",                            "\u2ADB")
      .put("mldr",                            "\u2026")
      .put("mnplus",                          "\u2213")
      .put("models",                          "\u22A7")
      .put("mopf",                            "\ud835\udd5e")
      .put("mp",                              "\u2213")
      .put("mscr",                            "\ud835\udcc2")
      .put("mstpos",                          "\u223E")
      .put("mu",                              "\u03BC")
      .put("multimap",                        "\u22B8")
      .put("mumap",                           "\u22B8")
      .put("nGg",                             "\u22D9\u0338")
      .put("nGt",                             "\u226B\u20D2")
      .put("nGtv",                            "\u226B\u0338")
      .put("nLeftarrow",                      "\u21CD")
      .put("nLeftrightarrow",                 "\u21CE")
      .put("nLl",                             "\u22D8\u0338")
      .put("nLt",                             "\u226A\u20D2")
      .put("nLtv",                            "\u226A\u0338")
      .put("nRightarrow",                     "\u21CF")
      .put("nVDash",                          "\u22AF")
      .put("nVdash",                          "\u22AE")
      .put("nabla",                           "\u2207")
      .put("nacute",                          "\u0144")
      .put("nang",                            "\u2220\u20D2")
      .put("nap",                             "\u2249")
      .put("napE",                            "\u2A70\u0338")
      .put("napid",                           "\u224B\u0338")
      .put("napos",                           "\u0149")
      .put("napprox",                         "\u2249")
      .put("natur",                           "\u266E")
      .put("natural",                         "\u266E")
      .put("naturals",                        "\u2115")
      .put("nbsp",                            "\u00A0")
      .put("nbump",                           "\u224E\u0338")
      .put("nbumpe",                          "\u224F\u0338")
      .put("ncap",                            "\u2A43")
      .put("ncaron",                          "\u0148")
      .put("ncedil",                          "\u0146")
      .put("ncong",                           "\u2247")
      .put("ncongdot",                        "\u2A6D\u0338")
      .put("ncup",                            "\u2A42")
      .put("ncy",                             "\u043D")
      .put("ndash",                           "\u2013")
      .put("ne",                              "\u2260")
      .put("neArr",                           "\u21D7")
      .put("nearhk",                          "\u2924")
      .put("nearr",                           "\u2197")
      .put("nearrow",                         "\u2197")
      .put("nedot",                           "\u2250\u0338")
      .put("nequiv",                          "\u2262")
      .put("nesear",                          "\u2928")
      .put("nesim",                           "\u2242\u0338")
      .put("nexist",                          "\u2204")
      .put("nexists",                         "\u2204")
      .put("nfr",                             "\ud835\udd2b")
      .put("ngE",                             "\u2267\u0338")
      .put("nge",                             "\u2271")
      .put("ngeq",                            "\u2271")
      .put("ngeqq",                           "\u2267\u0338")
      .put("ngeqslant",                       "\u2A7E\u0338")
      .put("nges",                            "\u2A7E\u0338")
      .put("ngsim",                           "\u2275")
      .put("ngt",                             "\u226F")
      .put("ngtr",                            "\u226F")
      .put("nhArr",                           "\u21CE")
      .put("nharr",                           "\u21AE")
      .put("nhpar",                           "\u2AF2")
      .put("ni",                              "\u220B")
      .put("nis",                             "\u22FC")
      .put("nisd",                            "\u22FA")
      .put("niv",                             "\u220B")
      .put("njcy",                            "\u045A")
      .put("nlArr",                           "\u21CD")
      .put("nlE",                             "\u2266\u0338")
      .put("nlarr",                           "\u219A")
      .put("nldr",                            "\u2025")
      .put("nle",                             "\u2270")
      .put("nleftarrow",                      "\u219A")
      .put("nleftrightarrow",                 "\u21AE")
      .put("nleq",                            "\u2270")
      .put("nleqq",                           "\u2266\u0338")
      .put("nleqslant",                       "\u2A7D\u0338")
      .put("nles",                            "\u2A7D\u0338")
      .put("nless",                           "\u226E")
      .put("nlsim",                           "\u2274")
      .put("nlt",                             "\u226E")
      .put("nltri",                           "\u22EA")
      .put("nltrie",                          "\u22EC")
      .put("nmid",                            "\u2224")
      .put("nopf",                            "\ud835\udd5f")
      .put("not",                             "\u00AC")
      .put("notin",                           "\u2209")
      .put("notinE",                          "\u22F9\u0338")
      .put("notindot",                        "\u22F5\u0338")
      .put("notinva",                         "\u2209")
      .put("notinvb",                         "\u22F7")
      .put("notinvc",                         "\u22F6")
      .put("notni",                           "\u220C")
      .put("notniva",                         "\u220C")
      .put("notnivb",                         "\u22FE")
      .put("notnivc",                         "\u22FD")
      .put("npar",                            "\u2226")
      .put("nparallel",                       "\u2226")
      .put("nparsl",                          "\u2AFD\u20E5")
      .put("npart",                           "\u2202\u0338")
      .put("npolint",                         "\u2A14")
      .put("npr",                             "\u2280")
      .put("nprcue",                          "\u22E0")
      .put("npre",                            "\u2AAF\u0338")
      .put("nprec",                           "\u2280")
      .put("npreceq",                         "\u2AAF\u0338")
      .put("nrArr",                           "\u21CF")
      .put("nrarr",                           "\u219B")
      .put("nrarrc",                          "\u2933\u0338")
      .put("nrarrw",                          "\u219D\u0338")
      .put("nrightarrow",                     "\u219B")
      .put("nrtri",                           "\u22EB")
      .put("nrtrie",                          "\u22ED")
      .put("nsc",                             "\u2281")
      .put("nsccue",                          "\u22E1")
      .put("nsce",                            "\u2AB0\u0338")
      .put("nscr",                            "\ud835\udcc3")
      .put("nshortmid",                       "\u2224")
      .put("nshortparallel",                  "\u2226")
      .put("nsim",                            "\u2241")
      .put("nsime",                           "\u2244")
      .put("nsimeq",                          "\u2244")
      .put("nsmid",                           "\u2224")
      .put("nspar",                           "\u2226")
      .put("nsqsube",                         "\u22E2")
      .put("nsqsupe",                         "\u22E3")
      .put("nsub",                            "\u2284")
      .put("nsubE",                           "\u2AC5\u0338")
      .put("nsube",                           "\u2288")
      .put("nsubset",                         "\u2282\u20D2")
      .put("nsubseteq",                       "\u2288")
      .put("nsubseteqq",                      "\u2AC5\u0338")
      .put("nsucc",                           "\u2281")
      .put("nsucceq",                         "\u2AB0\u0338")
      .put("nsup",                            "\u2285")
      .put("nsupE",                           "\u2AC6\u0338")
      .put("nsupe",                           "\u2289")
      .put("nsupset",                         "\u2283\u20D2")
      .put("nsupseteq",                       "\u2289")
      .put("nsupseteqq",                      "\u2AC6\u0338")
      .put("ntgl",                            "\u2279")
      .put("ntilde",                          "\u00F1")
      .put("ntlg",                            "\u2278")
      .put("ntriangleleft",                   "\u22EA")
      .put("ntrianglelefteq",                 "\u22EC")
      .put("ntriangleright",                  "\u22EB")
      .put("ntrianglerighteq",                "\u22ED")
      .put("nu",                              "\u03BD")
      .put("num",                             "\u0023")
      .put("numero",                          "\u2116")
      .put("numsp",                           "\u2007")
      .put("nvDash",                          "\u22AD")
      .put("nvHarr",                          "\u2904")
      .put("nvap",                            "\u224D\u20D2")
      .put("nvdash",                          "\u22AC")
      .put("nvge",                            "\u2265\u20D2")
      .put("nvgt",                            "\u003E\u20D2")
      .put("nvinfin",                         "\u29DE")
      .put("nvlArr",                          "\u2902")
      .put("nvle",                            "\u2264\u20D2")
      .put("nvlt",                            "\u003C\u20D2")
      .put("nvltrie",                         "\u22B4\u20D2")
      .put("nvrArr",                          "\u2903")
      .put("nvrtrie",                         "\u22B5\u20D2")
      .put("nvsim",                           "\u223C\u20D2")
      .put("nwArr",                           "\u21D6")
      .put("nwarhk",                          "\u2923")
      .put("nwarr",                           "\u2196")
      .put("nwarrow",                         "\u2196")
      .put("nwnear",                          "\u2927")
      .put("oS",                              "\u24C8")
      .put("oacute",                          "\u00F3")
      .put("oast",                            "\u229B")
      .put("ocir",                            "\u229A")
      .put("ocirc",                           "\u00F4")
      .put("ocy",                             "\u043E")
      .put("odash",                           "\u229D")
      .put("odblac",                          "\u0151")
      .put("odiv",                            "\u2A38")
      .put("odot",                            "\u2299")
      .put("odsold",                          "\u29BC")
      .put("oelig",                           "\u0153")
      .put("ofcir",                           "\u29BF")
      .put("ofr",                             "\ud835\udd2c")
      .put("ogon",                            "\u02DB")
      .put("ograve",                          "\u00F2")
      .put("ogt",                             "\u29C1")
      .put("ohbar",                           "\u29B5")
      .put("ohm",                             "\u03A9")
      .put("oint",                            "\u222E")
      .put("olarr",                           "\u21BA")
      .put("olcir",                           "\u29BE")
      .put("olcross",                         "\u29BB")
      .put("oline",                           "\u203E")
      .put("olt",                             "\u29C0")
      .put("omacr",                           "\u014D")
      .put("omega",                           "\u03C9")
      .put("omicron",                         "\u03BF")
      .put("omid",                            "\u29B6")
      .put("ominus",                          "\u2296")
      .put("oopf",                            "\ud835\udd60")
      .put("opar",                            "\u29B7")
      .put("operp",                           "\u29B9")
      .put("oplus",                           "\u2295")
      .put("or",                              "\u2228")
      .put("orarr",                           "\u21BB")
      .put("ord",                             "\u2A5D")
      .put("order",                           "\u2134")
      .put("orderof",                         "\u2134")
      .put("ordf",                            "\u00AA")
      .put("ordm",                            "\u00BA")
      .put("origof",                          "\u22B6")
      .put("oror",                            "\u2A56")
      .put("orslope",                         "\u2A57")
      .put("orv",                             "\u2A5B")
      .put("oscr",                            "\u2134")
      .put("oslash",                          "\u00F8")
      .put("osol",                            "\u2298")
      .put("otilde",                          "\u00F5")
      .put("otimes",                          "\u2297")
      .put("otimesas",                        "\u2A36")
      .put("ouml",                            "\u00F6")
      .put("ovbar",                           "\u233D")
      .put("par",                             "\u2225")
      .put("para",                            "\u00B6")
      .put("parallel",                        "\u2225")
      .put("parsim",                          "\u2AF3")
      .put("parsl",                           "\u2AFD")
      .put("part",                            "\u2202")
      .put("pcy",                             "\u043F")
      .put("percnt",                          "\u0025")
      .put("period",                          "\u002E")
      .put("permil",                          "\u2030")
      .put("perp",                            "\u22A5")
      .put("pertenk",                         "\u2031")
      .put("pfr",                             "\ud835\udd2d")
      .put("phi",                             "\u03C6")
      .put("phiv",                            "\u03D5")
      .put("phmmat",                          "\u2133")
      .put("phone",                           "\u260E")
      .put("pi",                              "\u03C0")
      .put("pitchfork",                       "\u22D4")
      .put("piv",                             "\u03D6")
      .put("planck",                          "\u210F")
      .put("planckh",                         "\u210E")
      .put("plankv",                          "\u210F")
      .put("plus",                            "\u002B")
      .put("plusacir",                        "\u2A23")
      .put("plusb",                           "\u229E")
      .put("pluscir",                         "\u2A22")
      .put("plusdo",                          "\u2214")
      .put("plusdu",                          "\u2A25")
      .put("pluse",                           "\u2A72")
      .put("plusmn",                          "\u00B1")
      .put("plussim",                         "\u2A26")
      .put("plustwo",                         "\u2A27")
      .put("pm",                              "\u00B1")
      .put("pointint",                        "\u2A15")
      .put("popf",                            "\ud835\udd61")
      .put("pound",                           "\u00A3")
      .put("pr",                              "\u227A")
      .put("prE",                             "\u2AB3")
      .put("prap",                            "\u2AB7")
      .put("prcue",                           "\u227C")
      .put("pre",                             "\u2AAF")
      .put("prec",                            "\u227A")
      .put("precapprox",                      "\u2AB7")
      .put("preccurlyeq",                     "\u227C")
      .put("preceq",                          "\u2AAF")
      .put("precnapprox",                     "\u2AB9")
      .put("precneqq",                        "\u2AB5")
      .put("precnsim",                        "\u22E8")
      .put("precsim",                         "\u227E")
      .put("prime",                           "\u2032")
      .put("primes",                          "\u2119")
      .put("prnE",                            "\u2AB5")
      .put("prnap",                           "\u2AB9")
      .put("prnsim",                          "\u22E8")
      .put("prod",                            "\u220F")
      .put("profalar",                        "\u232E")
      .put("profline",                        "\u2312")
      .put("profsurf",                        "\u2313")
      .put("prop",                            "\u221D")
      .put("propto",                          "\u221D")
      .put("prsim",                           "\u227E")
      .put("prurel",                          "\u22B0")
      .put("pscr",                            "\ud835\udcc5")
      .put("psi",                             "\u03C8")
      .put("puncsp",                          "\u2008")
      .put("qfr",                             "\ud835\udd2e")
      .put("qint",                            "\u2A0C")
      .put("qopf",                            "\ud835\udd62")
      .put("qprime",                          "\u2057")
      .put("qscr",                            "\ud835\udcc6")
      .put("quaternions",                     "\u210D")
      .put("quatint",                         "\u2A16")
      .put("quest",                           "\u003F")
      .put("questeq",                         "\u225F")
      .put("quot",                            "\"")
      .put("rAarr",                           "\u21DB")
      .put("rArr",                            "\u21D2")
      .put("rAtail",                          "\u291C")
      .put("rBarr",                           "\u290F")
      .put("rHar",                            "\u2964")
      .put("race",                            "\u223D\u0331")
      .put("racute",                          "\u0155")
      .put("radic",                           "\u221A")
      .put("raemptyv",                        "\u29B3")
      .put("rang",                            "\u27E9")
      .put("rangd",                           "\u2992")
      .put("range",                           "\u29A5")
      .put("rangle",                          "\u27E9")
      .put("raquo",                           "\u00BB")
      .put("rarr",                            "\u2192")
      .put("rarrap",                          "\u2975")
      .put("rarrb",                           "\u21E5")
      .put("rarrbfs",                         "\u2920")
      .put("rarrc",                           "\u2933")
      .put("rarrfs",                          "\u291E")
      .put("rarrhk",                          "\u21AA")
      .put("rarrlp",                          "\u21AC")
      .put("rarrpl",                          "\u2945")
      .put("rarrsim",                         "\u2974")
      .put("rarrtl",                          "\u21A3")
      .put("rarrw",                           "\u219D")
      .put("ratail",                          "\u291A")
      .put("ratio",                           "\u2236")
      .put("rationals",                       "\u211A")
      .put("rbarr",                           "\u290D")
      .put("rbbrk",                           "\u2773")
      .put("rbrace",                          "\u007D")
      .put("rbrack",                          "\u005D")
      .put("rbrke",                           "\u298C")
      .put("rbrksld",                         "\u298E")
      .put("rbrkslu",                         "\u2990")
      .put("rcaron",                          "\u0159")
      .put("rcedil",                          "\u0157")
      .put("rceil",                           "\u2309")
      .put("rcub",                            "\u007D")
      .put("rcy",                             "\u0440")
      .put("rdca",                            "\u2937")
      .put("rdldhar",                         "\u2969")
      .put("rdquo",                           "\u201D")
      .put("rdquor",                          "\u201D")
      .put("rdsh",                            "\u21B3")
      .put("real",                            "\u211C")
      .put("realine",                         "\u211B")
      .put("realpart",                        "\u211C")
      .put("reals",                           "\u211D")
      .put("rect",                            "\u25AD")
      .put("reg",                             "\u00AE")
      .put("rfisht",                          "\u297D")
      .put("rfloor",                          "\u230B")
      .put("rfr",                             "\ud835\udd2f")
      .put("rhard",                           "\u21C1")
      .put("rharu",                           "\u21C0")
      .put("rharul",                          "\u296C")
      .put("rho",                             "\u03C1")
      .put("rhov",                            "\u03F1")
      .put("rightarrow",                      "\u2192")
      .put("rightarrowtail",                  "\u21A3")
      .put("rightharpoondown",                "\u21C1")
      .put("rightharpoonup",                  "\u21C0")
      .put("rightleftarrows",                 "\u21C4")
      .put("rightleftharpoons",               "\u21CC")
      .put("rightrightarrows",                "\u21C9")
      .put("rightsquigarrow",                 "\u219D")
      .put("rightthreetimes",                 "\u22CC")
      .put("ring",                            "\u02DA")
      .put("risingdotseq",                    "\u2253")
      .put("rlarr",                           "\u21C4")
      .put("rlhar",                           "\u21CC")
      .put("rlm",                             "\u200F")
      .put("rmoust",                          "\u23B1")
      .put("rmoustache",                      "\u23B1")
      .put("rnmid",                           "\u2AEE")
      .put("roang",                           "\u27ED")
      .put("roarr",                           "\u21FE")
      .put("robrk",                           "\u27E7")
      .put("ropar",                           "\u2986")
      .put("ropf",                            "\ud835\udd63")
      .put("roplus",                          "\u2A2E")
      .put("rotimes",                         "\u2A35")
      .put("rpar",                            "\u0029")
      .put("rpargt",                          "\u2994")
      .put("rppolint",                        "\u2A12")
      .put("rrarr",                           "\u21C9")
      .put("rsaquo",                          "\u203A")
      .put("rscr",                            "\ud835\udcc7")
      .put("rsh",                             "\u21B1")
      .put("rsqb",                            "\u005D")
      .put("rsquo",                           "\u2019")
      .put("rsquor",                          "\u2019")
      .put("rthree",                          "\u22CC")
      .put("rtimes",                          "\u22CA")
      .put("rtri",                            "\u25B9")
      .put("rtrie",                           "\u22B5")
      .put("rtrif",                           "\u25B8")
      .put("rtriltri",                        "\u29CE")
      .put("ruluhar",                         "\u2968")
      .put("rx",                              "\u211E")
      .put("sacute",                          "\u015B")
      .put("sbquo",                           "\u201A")
      .put("sc",                              "\u227B")
      .put("scE",                             "\u2AB4")
      .put("scap",                            "\u2AB8")
      .put("scaron",                          "\u0161")
      .put("sccue",                           "\u227D")
      .put("sce",                             "\u2AB0")
      .put("scedil",                          "\u015F")
      .put("scirc",                           "\u015D")
      .put("scnE",                            "\u2AB6")
      .put("scnap",                           "\u2ABA")
      .put("scnsim",                          "\u22E9")
      .put("scpolint",                        "\u2A13")
      .put("scsim",                           "\u227F")
      .put("scy",                             "\u0441")
      .put("sdot",                            "\u22C5")
      .put("sdotb",                           "\u22A1")
      .put("sdote",                           "\u2A66")
      .put("seArr",                           "\u21D8")
      .put("searhk",                          "\u2925")
      .put("searr",                           "\u2198")
      .put("searrow",                         "\u2198")
      .put("sect",                            "\u00A7")
      .put("semi",                            "\u003B")
      .put("seswar",                          "\u2929")
      .put("setminus",                        "\u2216")
      .put("setmn",                           "\u2216")
      .put("sext",                            "\u2736")
      .put("sfr",                             "\ud835\udd30")
      .put("sfrown",                          "\u2322")
      .put("sharp",                           "\u266F")
      .put("shchcy",                          "\u0449")
      .put("shcy",                            "\u0448")
      .put("shortmid",                        "\u2223")
      .put("shortparallel",                   "\u2225")
      .put("shy",                             "\u00AD")
      .put("sigma",                           "\u03C3")
      .put("sigmaf",                          "\u03C2")
      .put("sigmav",                          "\u03C2")
      .put("sim",                             "\u223C")
      .put("simdot",                          "\u2A6A")
      .put("sime",                            "\u2243")
      .put("simeq",                           "\u2243")
      .put("simg",                            "\u2A9E")
      .put("simgE",                           "\u2AA0")
      .put("siml",                            "\u2A9D")
      .put("simlE",                           "\u2A9F")
      .put("simne",                           "\u2246")
      .put("simplus",                         "\u2A24")
      .put("simrarr",                         "\u2972")
      .put("slarr",                           "\u2190")
      .put("smallsetminus",                   "\u2216")
      .put("smashp",                          "\u2A33")
      .put("smeparsl",                        "\u29E4")
      .put("smid",                            "\u2223")
      .put("smile",                           "\u2323")
      .put("smt",                             "\u2AAA")
      .put("smte",                            "\u2AAC")
      .put("smtes",                           "\u2AAC\uFE00")
      .put("softcy",                          "\u044C")
      .put("sol",                             "\u002F")
      .put("solb",                            "\u29C4")
      .put("solbar",                          "\u233F")
      .put("sopf",                            "\ud835\udd64")
      .put("spades",                          "\u2660")
      .put("spadesuit",                       "\u2660")
      .put("spar",                            "\u2225")
      .put("sqcap",                           "\u2293")
      .put("sqcaps",                          "\u2293\uFE00")
      .put("sqcup",                           "\u2294")
      .put("sqcups",                          "\u2294\uFE00")
      .put("sqsub",                           "\u228F")
      .put("sqsube",                          "\u2291")
      .put("sqsubset",                        "\u228F")
      .put("sqsubseteq",                      "\u2291")
      .put("sqsup",                           "\u2290")
      .put("sqsupe",                          "\u2292")
      .put("sqsupset",                        "\u2290")
      .put("sqsupseteq",                      "\u2292")
      .put("squ",                             "\u25A1")
      .put("square",                          "\u25A1")
      .put("squarf",                          "\u25AA")
      .put("squf",                            "\u25AA")
      .put("srarr",                           "\u2192")
      .put("sscr",                            "\ud835\udcc8")
      .put("ssetmn",                          "\u2216")
      .put("ssmile",                          "\u2323")
      .put("sstarf",                          "\u22C6")
      .put("star",                            "\u2606")
      .put("starf",                           "\u2605")
      .put("straightepsilon",                 "\u03F5")
      .put("straightphi",                     "\u03D5")
      .put("strns",                           "\u00AF")
      .put("sub",                             "\u2282")
      .put("subE",                            "\u2AC5")
      .put("subdot",                          "\u2ABD")
      .put("sube",                            "\u2286")
      .put("subedot",                         "\u2AC3")
      .put("submult",                         "\u2AC1")
      .put("subnE",                           "\u2ACB")
      .put("subne",                           "\u228A")
      .put("subplus",                         "\u2ABF")
      .put("subrarr",                         "\u2979")
      .put("subset",                          "\u2282")
      .put("subseteq",                        "\u2286")
      .put("subseteqq",                       "\u2AC5")
      .put("subsetneq",                       "\u228A")
      .put("subsetneqq",                      "\u2ACB")
      .put("subsim",                          "\u2AC7")
      .put("subsub",                          "\u2AD5")
      .put("subsup",                          "\u2AD3")
      .put("succ",                            "\u227B")
      .put("succapprox",                      "\u2AB8")
      .put("succcurlyeq",                     "\u227D")
      .put("succeq",                          "\u2AB0")
      .put("succnapprox",                     "\u2ABA")
      .put("succneqq",                        "\u2AB6")
      .put("succnsim",                        "\u22E9")
      .put("succsim",                         "\u227F")
      .put("sum",                             "\u2211")
      .put("sung",                            "\u266A")
      .put("sup",                             "\u2283")
      .put("sup1",                            "\u00B9")
      .put("sup2",                            "\u00B2")
      .put("sup3",                            "\u00B3")
      .put("supE",                            "\u2AC6")
      .put("supdot",                          "\u2ABE")
      .put("supdsub",                         "\u2AD8")
      .put("supe",                            "\u2287")
      .put("supedot",                         "\u2AC4")
      .put("suphsol",                         "\u27C9")
      .put("suphsub",                         "\u2AD7")
      .put("suplarr",                         "\u297B")
      .put("supmult",                         "\u2AC2")
      .put("supnE",                           "\u2ACC")
      .put("supne",                           "\u228B")
      .put("supplus",                         "\u2AC0")
      .put("supset",                          "\u2283")
      .put("supseteq",                        "\u2287")
      .put("supseteqq",                       "\u2AC6")
      .put("supsetneq",                       "\u228B")
      .put("supsetneqq",                      "\u2ACC")
      .put("supsim",                          "\u2AC8")
      .put("supsub",                          "\u2AD4")
      .put("supsup",                          "\u2AD6")
      .put("swArr",                           "\u21D9")
      .put("swarhk",                          "\u2926")
      .put("swarr",                           "\u2199")
      .put("swarrow",                         "\u2199")
      .put("swnwar",                          "\u292A")
      .put("szlig",                           "\u00DF")
      .put("target",                          "\u2316")
      .put("tau",                             "\u03C4")
      .put("tbrk",                            "\u23B4")
      .put("tcaron",                          "\u0165")
      .put("tcedil",                          "\u0163")
      .put("tcy",                             "\u0442")
      .put("tdot",                            "\u20DB")
      .put("telrec",                          "\u2315")
      .put("tfr",                             "\ud835\udd31")
      .put("there4",                          "\u2234")
      .put("therefore",                       "\u2234")
      .put("theta",                           "\u03B8")
      .put("thetasym",                        "\u03D1")
      .put("thetav",                          "\u03D1")
      .put("thickapprox",                     "\u2248")
      .put("thicksim",                        "\u223C")
      .put("thinsp",                          "\u2009")
      .put("thkap",                           "\u2248")
      .put("thksim",                          "\u223C")
      .put("thorn",                           "\u00FE")
      .put("tilde",                           "\u02DC")
      .put("times",                           "\u00D7")
      .put("timesb",                          "\u22A0")
      .put("timesbar",                        "\u2A31")
      .put("timesd",                          "\u2A30")
      .put("tint",                            "\u222D")
      .put("toea",                            "\u2928")
      .put("top",                             "\u22A4")
      .put("topbot",                          "\u2336")
      .put("topcir",                          "\u2AF1")
      .put("topf",                            "\ud835\udd65")
      .put("topfork",                         "\u2ADA")
      .put("tosa",                            "\u2929")
      .put("tprime",                          "\u2034")
      .put("trade",                           "\u2122")
      .put("triangle",                        "\u25B5")
      .put("triangledown",                    "\u25BF")
      .put("triangleleft",                    "\u25C3")
      .put("trianglelefteq",                  "\u22B4")
      .put("triangleq",                       "\u225C")
      .put("triangleright",                   "\u25B9")
      .put("trianglerighteq",                 "\u22B5")
      .put("tridot",                          "\u25EC")
      .put("trie",                            "\u225C")
      .put("triminus",                        "\u2A3A")
      .put("triplus",                         "\u2A39")
      .put("trisb",                           "\u29CD")
      .put("tritime",                         "\u2A3B")
      .put("trpezium",                        "\u23E2")
      .put("tscr",                            "\ud835\udcc9")
      .put("tscy",                            "\u0446")
      .put("tshcy",                           "\u045B")
      .put("tstrok",                          "\u0167")
      .put("twixt",                           "\u226C")
      .put("twoheadleftarrow",                "\u219E")
      .put("twoheadrightarrow",               "\u21A0")
      .put("uArr",                            "\u21D1")
      .put("uHar",                            "\u2963")
      .put("uacute",                          "\u00FA")
      .put("uarr",                            "\u2191")
      .put("ubrcy",                           "\u045E")
      .put("ubreve",                          "\u016D")
      .put("ucirc",                           "\u00FB")
      .put("ucy",                             "\u0443")
      .put("udarr",                           "\u21C5")
      .put("udblac",                          "\u0171")
      .put("udhar",                           "\u296E")
      .put("ufisht",                          "\u297E")
      .put("ufr",                             "\ud835\udd32")
      .put("ugrave",                          "\u00F9")
      .put("uharl",                           "\u21BF")
      .put("uharr",                           "\u21BE")
      .put("uhblk",                           "\u2580")
      .put("ulcorn",                          "\u231C")
      .put("ulcorner",                        "\u231C")
      .put("ulcrop",                          "\u230F")
      .put("ultri",                           "\u25F8")
      .put("umacr",                           "\u016B")
      .put("uml",                             "\u00A8")
      .put("uogon",                           "\u0173")
      .put("uopf",                            "\ud835\udd66")
      .put("uparrow",                         "\u2191")
      .put("updownarrow",                     "\u2195")
      .put("upharpoonleft",                   "\u21BF")
      .put("upharpoonright",                  "\u21BE")
      .put("uplus",                           "\u228E")
      .put("upsi",                            "\u03C5")
      .put("upsih",                           "\u03D2")
      .put("upsilon",                         "\u03C5")
      .put("upuparrows",                      "\u21C8")
      .put("urcorn",                          "\u231D")
      .put("urcorner",                        "\u231D")
      .put("urcrop",                          "\u230E")
      .put("uring",                           "\u016F")
      .put("urtri",                           "\u25F9")
      .put("uscr",                            "\ud835\udcca")
      .put("utdot",                           "\u22F0")
      .put("utilde",                          "\u0169")
      .put("utri",                            "\u25B5")
      .put("utrif",                           "\u25B4")
      .put("uuarr",                           "\u21C8")
      .put("uuml",                            "\u00FC")
      .put("uwangle",                         "\u29A7")
      .put("vArr",                            "\u21D5")
      .put("vBar",                            "\u2AE8")
      .put("vBarv",                           "\u2AE9")
      .put("vDash",                           "\u22A8")
      .put("vangrt",                          "\u299C")
      .put("varepsilon",                      "\u03F5")
      .put("varkappa",                        "\u03F0")
      .put("varnothing",                      "\u2205")
      .put("varphi",                          "\u03D5")
      .put("varpi",                           "\u03D6")
      .put("varpropto",                       "\u221D")
      .put("varr",                            "\u2195")
      .put("varrho",                          "\u03F1")
      .put("varsigma",                        "\u03C2")
      .put("varsubsetneq",                    "\u228A\uFE00")
      .put("varsubsetneqq",                   "\u2ACB\uFE00")
      .put("varsupsetneq",                    "\u228B\uFE00")
      .put("varsupsetneqq",                   "\u2ACC\uFE00")
      .put("vartheta",                        "\u03D1")
      .put("vartriangleleft",                 "\u22B2")
      .put("vartriangleright",                "\u22B3")
      .put("vcy",                             "\u0432")
      .put("vdash",                           "\u22A2")
      .put("vee",                             "\u2228")
      .put("veebar",                          "\u22BB")
      .put("veeeq",                           "\u225A")
      .put("vellip",                          "\u22EE")
      .put("verbar",                          "\u007C")
      .put("vert",                            "\u007C")
      .put("vfr",                             "\ud835\udd33")
      .put("vltri",                           "\u22B2")
      .put("vnsub",                           "\u2282\u20D2")
      .put("vnsup",                           "\u2283\u20D2")
      .put("vopf",                            "\ud835\udd67")
      .put("vprop",                           "\u221D")
      .put("vrtri",                           "\u22B3")
      .put("vscr",                            "\ud835\udccb")
      .put("vsubnE",                          "\u2ACB\uFE00")
      .put("vsubne",                          "\u228A\uFE00")
      .put("vsupnE",                          "\u2ACC\uFE00")
      .put("vsupne",                          "\u228B\uFE00")
      .put("vzigzag",                         "\u299A")
      .put("wcirc",                           "\u0175")
      .put("wedbar",                          "\u2A5F")
      .put("wedge",                           "\u2227")
      .put("wedgeq",                          "\u2259")
      .put("weierp",                          "\u2118")
      .put("wfr",                             "\ud835\udd34")
      .put("wopf",                            "\ud835\udd68")
      .put("wp",                              "\u2118")
      .put("wr",                              "\u2240")
      .put("wreath",                          "\u2240")
      .put("wscr",                            "\ud835\udccc")
      .put("xcap",                            "\u22C2")
      .put("xcirc",                           "\u25EF")
      .put("xcup",                            "\u22C3")
      .put("xdtri",                           "\u25BD")
      .put("xfr",                             "\ud835\udd35")
      .put("xhArr",                           "\u27FA")
      .put("xharr",                           "\u27F7")
      .put("xi",                              "\u03BE")
      .put("xlArr",                           "\u27F8")
      .put("xlarr",                           "\u27F5")
      .put("xmap",                            "\u27FC")
      .put("xnis",                            "\u22FB")
      .put("xodot",                           "\u2A00")
      .put("xopf",                            "\ud835\udd69")
      .put("xoplus",                          "\u2A01")
      .put("xotime",                          "\u2A02")
      .put("xrArr",                           "\u27F9")
      .put("xrarr",                           "\u27F6")
      .put("xscr",                            "\ud835\udccd")
      .put("xsqcup",                          "\u2A06")
      .put("xuplus",                          "\u2A04")
      .put("xutri",                           "\u25B3")
      .put("xvee",                            "\u22C1")
      .put("xwedge",                          "\u22C0")
      .put("yacute",                          "\u00FD")
      .put("yacy",                            "\u044F")
      .put("ycirc",                           "\u0177")
      .put("ycy",                             "\u044B")
      .put("yen",                             "\u00A5")
      .put("yfr",                             "\ud835\udd36")
      .put("yicy",                            "\u0457")
      .put("yopf",                            "\ud835\udd6a")
      .put("yscr",                            "\ud835\udcce")
      .put("yucy",                            "\u044E")
      .put("yuml",                            "\u00FF")
      .put("zacute",                          "\u017A")
      .put("zcaron",                          "\u017E")
      .put("zcy",                             "\u0437")
      .put("zdot",                            "\u017C")
      .put("zeetrf",                          "\u2128")
      .put("zeta",                            "\u03B6")
      .put("zfr",                             "\ud835\udd37")
      .put("zhcy",                            "\u0436")
      .put("zigrarr",                         "\u21DD")
      .put("zopf",                            "\ud835\udd6b")
      .put("zscr",                            "\ud835\udccf")
      .put("zwj",                             "\u200D")
      .put("zwnj",                            "\u200C")
      .build();

}
"""  # Fix emacs syntax highlighting "

import dupe_methods
print dupe_methods.dupe(src)
