/* ANSI-C code produced by gperf version 3.0.3 */
/* Command-line: gperf -a -L ANSI-C -C -G -c -o -t --includes --key-positions='*' -N findEntity -D -s 2  */

#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
/* The character set is not based on ISO-646.  */
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
#endif


/*
     Copyright (C) 1999 Lars Knoll (knoll@mpi-hd.mpg.de)
     Copyright (C) 2002, 2003, 2004, 2005 Apple Inc. All rights reserved.
  
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
     License as published by the Free Software Foundation; either
     version 2 of the License, or (at your option) any later version.
  
     This library is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     Library General Public License for more details.
  
     You should have received a copy of the GNU Library General Public License
     along with this library; see the file COPYING.LIB.  If not, write to
     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
     Boston, MA 02110-1301, USA.
  
  ----------------------------------------------------------------------------
  
    HTMLEntityNames.gperf: input file to generate a hash table for entities
    HTMLEntityNames.c: DO NOT EDIT! generated by the command
    "gperf -a -L "ANSI-C" -C -G -c -o -t -k '*' -NfindEntity -D -s 2 HTMLEntityNames.gperf > entities.c"   
    from HTMLEntityNames.gperf 
*/
struct Entity {
    const char *name;
    int code;
};
#include <string.h>

#define TOTAL_KEYWORDS 262
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 8
#define MIN_HASH_VALUE 28
#define MAX_HASH_VALUE 1091
/* maximum key range = 1064, duplicates = 0 */

#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static unsigned int
hash (register const char *str, register unsigned int len)
{
  static const unsigned short asso_values[] =
    {
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,   15,
        50,   20,    0, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092,  135,  145,   85,    0,   55,
        65,    5,    5,  140, 1092,   30,   20,    5,   15,   70,
        50,   40,   30,    5,   60,   95,   40, 1092,   25,   20,
        35, 1092, 1092, 1092, 1092, 1092, 1092,   85,   20,   25,
        35,    0,  250,  150,  315,   10,  410,    5,  105,  140,
         0,   40,   10,  215,   10,   50,   15,    5,   80,   15,
         5,  120,   10,    5, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
      1092, 1092, 1092, 1092, 1092, 1092, 1092
    };
  register int hval = len;

  switch (hval)
    {
      default:
        hval += asso_values[(unsigned char)str[7]];
      /*FALLTHROUGH*/
      case 7:
        hval += asso_values[(unsigned char)str[6]];
      /*FALLTHROUGH*/
      case 6:
        hval += asso_values[(unsigned char)str[5]];
      /*FALLTHROUGH*/
      case 5:
        hval += asso_values[(unsigned char)str[4]];
      /*FALLTHROUGH*/
      case 4:
        hval += asso_values[(unsigned char)str[3]];
      /*FALLTHROUGH*/
      case 3:
        hval += asso_values[(unsigned char)str[2]];
      /*FALLTHROUGH*/
      case 2:
        hval += asso_values[(unsigned char)str[1]+1];
      /*FALLTHROUGH*/
      case 1:
        hval += asso_values[(unsigned char)str[0]];
        break;
    }
  return hval;
}

static const struct Entity wordlist[] =
  {
    {"not", 0x00ac},
    {"phi", 0x03c6},
    {"nsup", 0x2285},
    {"psi", 0x03c8},
    {"isin", 0x2208},
    {"notin", 0x2209},
    {"there4", 0x2234},
    {"tau", 0x03c4},
    {"nsub", 0x2284},
    {"chi", 0x03c7},
    {"uarr", 0x2191},
    {"rarr", 0x2192},
    {"cap", 0x2229},
    {"part", 0x2202},
    {"rho", 0x03c1},
    {"emsp", 0x2003},
    {"pound", 0x00a3},
    {"int", 0x222b},
    {"eacute", 0x00e9},
    {"Phi", 0x03a6},
    {"uacute", 0x00fa},
    {"Psi", 0x03a8},
    {"darr", 0x2193},
    {"thorn", 0x00fe},
    {"iacute", 0x00ed},
    {"nu", 0x03bd},
    {"Rho", 0x03a1},
    {"ecirc", 0x00ea},
    {"Mu", 0x039c},
    {"Tau", 0x03a4},
    {"nbsp", 0x00a0},
    {"ucirc", 0x00fb},
    {"Yacute", 0x00dd},
    {"or", 0x2228},
    {"eta", 0x03b7},
    {"icirc", 0x00ee},
    {"iquest", 0x00bf},
    {"Nu", 0x039d},
    {"amp", 38},
    {"thinsp", 0x2009},
    {"GT", 62},
    {"REG", 0x00ae},
    {"ensp", 0x2002},
    {"radic", 0x221a},
    {"Chi", 0x03a7},
    {"sdot", 0x22c5},
    {"equiv", 0x2261},
    {"oacute", 0x00f3},
    {"lt", 60},
    {"uml", 0x00a8},
    {"prop", 0x221d},
    {"LT", 60},
    {"cup", 0x222a},
    {"iota", 0x03b9},
    {"ocirc", 0x00f4},
    {"Eacute", 0x00c9},
    {"loz", 0x25ca},
    {"para", 0x00b6},
    {"theta", 0x03b8},
    {"curren", 0x00a4},
    {"omicron", 0x03bf},
    {"euro", 0x20ac},
    {"kappa", 0x03ba},
    {"prod", 0x220f},
    {"Ecirc", 0x00ca},
    {"Oacute", 0x00d3},
    {"sup", 0x2283},
    {"supe", 0x2287},
    {"acute", 0x00b4},
    {"Eta", 0x0397},
    {"larr", 0x2190},
    {"empty", 0x2205},
    {"sub", 0x2282},
    {"sube", 0x2286},
    {"Ocirc", 0x00d4},
    {"aacute", 0x00e1},
    {"gt", 62},
    {"ETH", 0x00d0},
    {"sup1", 0x00b9},
    {"Kappa", 0x039a},
    {"ntilde", 0x00f1},
    {"Omicron", 0x039f},
    {"and", 0x2227},
    {"sup3", 0x00b3},
    {"rceil", 0x2309},
    {"Uacute", 0x00da},
    {"copy", 0x00a9},
    {"acirc", 0x00e2},
    {"uArr", 0x21d1},
    {"Theta", 0x0398},
    {"Ntilde", 0x00d1},
    {"rArr", 0x21d2},
    {"Ucirc", 0x00db},
    {"Scaron", 0x0160},
    {"shy", 0x00ad},
    {"rang", 0x3009},
    {"crarr", 0x21b5},
    {"cong", 0x2245},
    {"trade", 0x2122},
    {"yacute", 0x00fd},
    {"sup2", 0x00b2},
    {"oline", 0x203e},
    {"macr", 0x00af},
    {"exist", 0x2203},
    {"otilde", 0x00f5},
    {"AMP", 38},
    {"dArr", 0x21d3},
    {"Aacute", 0x00c1},
    {"COPY", 0x00a9},
    {"Iacute", 0x00cd},
    {"QUOT", 34},
    {"prime", 0x2032},
    {"ccedil", 0x00e7},
    {"Acirc", 0x00c2},
    {"mu", 0x03bc},
    {"Icirc", 0x00ce},
    {"scaron", 0x0161},
    {"Otilde", 0x00d5},
    {"nabla", 0x2207},
    {"clubs", 0x2663},
    {"atilde", 0x00e3},
    {"supl", 0x00b9},
    {"image", 0x2111},
    {"otimes", 0x2297},
    {"ne", 0x2260},
    {"Iota", 0x0399},
    {"Prime", 0x2033},
    {"lceil", 0x2308},
    {"ordm", 0x00ba},
    {"brvbar", 0x00a6},
    {"sum", 0x2211},
    {"lArr", 0x21d0},
    {"rdquo", 0x201d},
    {"Ccedil", 0x00c7},
    {"ang", 0x2220},
    {"lang", 0x3008},
    {"omega", 0x03c9},
    {"perp", 0x22a5},
    {"bdquo", 0x201e},
    {"lowast", 0x2217},
    {"rsquo", 0x2019},
    {"rlm", 0x200f},
    {"cent", 0x00a2},
    {"raquo", 0x00bb},
    {"Atilde", 0x00c3},
    {"lrm", 0x200e},
    {"aring", 0x00e5},
    {"weierp", 0x2118},
    {"Omega", 0x03a9},
    {"bull", 0x2022},
    {"infin", 0x221e},
    {"percnt", 0x0025},
    {"THORN", 0x00de},
    {"eth", 0x00f0},
    {"szlig", 0x00df},
    {"Lambda", 0x039b},
    {"euml", 0x00eb},
    {"uuml", 0x00fc},
    {"Dagger", 0x2021},
    {"iuml", 0x00ef},
    {"sbquo", 0x201a},
    {"sect", 0x00a7},
    {"Yuml", 0x0178},
    {"Aring", 0x00c5},
    {"plusmn", 0x00b1},
    {"quot", 34},
    {"le", 0x2264},
    {"harr", 0x2194},
    {"rfloor", 0x230b},
    {"zeta", 0x03b6},
    {"ouml", 0x00f6},
    {"ldquo", 0x201c},
    {"dagger", 0x2020},
    {"yen", 0x00a5},
    {"beta", 0x03b2},
    {"asymp", 0x2248},
    {"rsaquo", 0x203a},
    {"ordf", 0x00aa},
    {"Euml", 0x00cb},
    {"lsquo", 0x2018},
    {"Zeta", 0x0396},
    {"laquo", 0x00ab},
    {"apos", 0x0027},
    {"Gamma", 0x0393},
    {"Ouml", 0x00d6},
    {"iexcl", 0x00a1},
    {"ge", 0x2265},
    {"OElig", 0x0152},
    {"lambda", 0x03bb},
    {"ni", 0x220b},
    {"reg", 0x00ae},
    {"auml", 0x00e4},
    {"xi", 0x03be},
    {"oplus", 0x2295},
    {"pi", 0x03c0},
    {"Uuml", 0x00dc},
    {"epsilon", 0x03b5},
    {"zwj", 0x200d},
    {"zwnj", 0x200c},
    {"cedil", 0x00b8},
    {"frac14", 0x00bc},
    {"upsilon", 0x03c5},
    {"frac34", 0x00be},
    {"Xi", 0x039e},
    {"deg", 0x00b0},
    {"spades", 0x2660},
    {"thetasym", 0x03d1},
    {"yuml", 0x00ff},
    {"real", 0x211c},
    {"ndash", 0x2013},
    {"lfloor", 0x230a},
    {"Delta", 0x0394},
    {"Pi", 0x03a0},
    {"Auml", 0x00c4},
    {"Iuml", 0x00cf},
    {"AElig", 0x00c6},
    {"lsaquo", 0x2039},
    {"circ", 0x02c6},
    {"frac12", 0x00bd},
    {"Epsilon", 0x0395},
    {"hArr", 0x21d4},
    {"delta", 0x03b4},
    {"egrave", 0x00e8},
    {"Beta", 0x0392},
    {"ugrave", 0x00f9},
    {"piv", 0x03d6},
    {"igrave", 0x00ec},
    {"Upsilon", 0x03a5},
    {"permil", 0x2030},
    {"ograve", 0x00f2},
    {"gamma", 0x03b3},
    {"frasl", 0x2044},
    {"Egrave", 0x00c8},
    {"oelig", 0x0153},
    {"Ograve", 0x00d2},
    {"tilde", 0x02dc},
    {"forall", 0x2200},
    {"divide", 0x00f7},
    {"agrave", 0x00e0},
    {"fnof", 0x0192},
    {"Ugrave", 0x00d9},
    {"mdash", 0x2014},
    {"upsih", 0x03d2},
    {"sim", 0x223c},
    {"aelig", 0x00e6},
    {"minus", 0x2212},
    {"oslash", 0x00f8},
    {"times", 0x00d7},
    {"micro", 0x00b5},
    {"Agrave", 0x00c0},
    {"Igrave", 0x00cc},
    {"alpha", 0x03b1},
    {"Oslash", 0x00d8},
    {"middot", 0x00b7},
    {"Alpha", 0x0391},
    {"diams", 0x2666},
    {"hearts", 0x2665},
    {"alefsym", 0x2135},
    {"Sigma", 0x03a3},
    {"hellip", 0x2026},
    {"sigma", 0x03c3},
    {"sigmaf", 0x03c2}
  };

static const short lookup[] =
  {
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,
     -1,  -1,  -1,   1,   2,  -1,  -1,  -1,   3,   4,
      5,   6,  -1,   7,   8,  -1,  -1,  -1,   9,  10,
     -1,  -1,  -1,  -1,  11,  -1,  -1,  -1,  12,  13,
     -1,  -1,  -1,  14,  15,  16,  -1,  -1,  17,  -1,
     -1,  18,  -1,  19,  -1,  -1,  20,  -1,  21,  22,
     23,  24,  25,  26,  -1,  27,  -1,  28,  29,  30,
     31,  32,  33,  34,  -1,  35,  36,  37,  38,  -1,
     -1,  39,  40,  41,  42,  43,  -1,  -1,  44,  45,
     46,  47,  48,  49,  50,  -1,  -1,  51,  52,  -1,
     -1,  -1,  -1,  -1,  53,  54,  55,  -1,  56,  57,
     58,  59,  60,  -1,  61,  62,  -1,  -1,  -1,  63,
     64,  65,  -1,  66,  67,  68,  -1,  -1,  69,  70,
     71,  -1,  -1,  72,  73,  74,  75,  76,  77,  78,
     79,  80,  81,  82,  83,  84,  85,  -1,  -1,  86,
     87,  -1,  -1,  -1,  88,  89,  90,  -1,  -1,  91,
     92,  93,  -1,  94,  95,  96,  -1,  -1,  -1,  97,
     98,  99,  -1,  -1, 100, 101,  -1,  -1,  -1, 102,
    103, 104,  -1, 105, 106,  -1, 107,  -1,  -1, 108,
     -1, 109,  -1,  -1, 110, 111, 112,  -1,  -1,  -1,
    113,  -1, 114,  -1,  -1, 115, 116,  -1,  -1,  -1,
     -1, 117,  -1,  -1,  -1, 118,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1, 119, 120,  -1,  -1, 121,
    122, 123, 124,  -1, 125, 126,  -1,  -1,  -1,  -1,
    127,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 128,
     -1, 129,  -1, 130, 131, 132, 133,  -1, 134, 135,
    136,  -1,  -1,  -1, 137, 138, 139,  -1,  -1,  -1,
    140,  -1,  -1, 141, 142, 143, 144,  -1, 145,  -1,
    146, 147,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
    148,  -1,  -1,  -1, 149, 150, 151,  -1,  -1,  -1,
    152,  -1,  -1, 153,  -1, 154, 155,  -1,  -1, 156,
     -1,  -1,  -1,  -1, 157,  -1, 158,  -1,  -1, 159,
    160,  -1,  -1,  -1, 161,  -1,  -1,  -1,  -1, 162,
    163, 164,  -1,  -1, 165,  -1,  -1, 166,  -1, 167,
     -1, 168,  -1,  -1, 169,  -1,  -1,  -1,  -1, 170,
    171, 172,  -1, 173, 174, 175, 176,  -1,  -1, 177,
     -1,  -1,  -1,  -1, 178, 179,  -1,  -1,  -1, 180,
    181,  -1,  -1,  -1, 182, 183,  -1,  -1,  -1, 184,
    185,  -1, 186,  -1,  -1, 187,  -1,  -1,  -1,  -1,
     -1, 188, 189, 190, 191,  -1,  -1, 192,  -1,  -1,
    193,  -1, 194,  -1, 195,  -1,  -1, 196, 197, 198,
    199, 200, 201,  -1,  -1,  -1, 202, 203, 204,  -1,
     -1, 205,  -1, 206,  -1,  -1,  -1,  -1,  -1, 207,
     -1,  -1,  -1,  -1, 208, 209, 210,  -1,  -1,  -1,
    211,  -1, 212,  -1, 213,  -1,  -1,  -1,  -1, 214,
    215, 216,  -1,  -1, 217,  -1,  -1,  -1,  -1,  -1,
     -1, 218, 219,  -1, 220,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1, 221, 222,  -1,  -1, 223,
     -1, 224,  -1, 225,  -1,  -1, 226,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1, 227,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1, 228,  -1,  -1,  -1,  -1, 229,  -1,  -1,  -1,
    230,  -1,  -1,  -1,  -1, 231,  -1,  -1,  -1,  -1,
     -1, 232,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
    233,  -1,  -1,  -1,  -1,  -1, 234,  -1,  -1,  -1,
    235, 236,  -1,  -1,  -1,  -1, 237,  -1,  -1,  -1,
     -1, 238,  -1,  -1, 239,  -1,  -1,  -1,  -1,  -1,
     -1, 240,  -1,  -1,  -1, 241,  -1,  -1,  -1,  -1,
    242,  -1,  -1, 243,  -1, 244,  -1,  -1,  -1,  -1,
    245,  -1,  -1,  -1,  -1,  -1, 246,  -1,  -1,  -1,
    247,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
    248, 249,  -1,  -1,  -1,  -1, 250,  -1,  -1,  -1,
    251,  -1,  -1,  -1,  -1,  -1, 252,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1, 253,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
    254,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1, 255,  -1,  -1,  -1,  -1,
     -1, 256,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1, 257,  -1,  -1, 258,  -1,  -1,  -1,  -1,
     -1, 259,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
    260,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
     -1, 261
  };

#ifdef __GNUC__
__inline
#ifdef __GNUC_STDC_INLINE__
__attribute__ ((__gnu_inline__))
#endif
#endif
const struct Entity *
findEntity (register const char *str, register unsigned int len)
{
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      register int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= 0)
        {
          register int index = lookup[key];

          if (index >= 0)
            {
              register const char *s = wordlist[index].name;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
                return &wordlist[index];
            }
        }
    }
  return 0;
}

