/* Copyright (c) 2002 Red Hat Incorporated.
   All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are met:

     Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

     Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

     The name of Red Hat Incorporated may not be used to endorse
     or promote products derived from this software without specific
     prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   ARE DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/* Generated using unicode.txt 3.2 */

static const unsigned char u0[] = {
  0x21, 0x0, 0x2f, 0x3a, 0x0, 0x40, 0x5b, 0x0, 
  0x60, 0x7b, 0x0, 0x7e, 0xa0, 0x0, 0xa9, 0xab, 
  0x0, 0xb4, 0xb6, 0x0, 0xb9, 0xbb, 0x0, 0xbf, 
  0xd7, 0xf7 };
static const unsigned char u2[] = {
  0xb9, 0x0, 0xba, 0xc2, 0x0, 0xcf, 
  0xd2, 0x0, 0xdf, 0xe5, 0x0, 0xed };
static const unsigned char u3[] = { 
  0x00, 0x0, 
  0x44, 0x46, 0x0, 0x4f, 0x60, 0x0, 0x6f, 0x74, 
  0x0, 0x75, 0x7e, 0x84, 0x0, 0x85, 0x87, 0xf6 };
static const unsigned char u4[] = {
  0x82, 0x0, 0x86, 0x88, 0x0, 0x89 };
static const unsigned char u5[] = { 
  0x5a, 0x0, 
  0x5f, 0x89, 0x0, 0x8a, 0x91, 0x0, 0xa1, 0xa3, 
  0x0, 0xb9, 0xbb, 0x0, 0xc4, 0xf3, 0x0, 0xf4 };
static const unsigned char u6[] = { 
  0x0c, 0x1b, 0x1f, 0x4b, 0x0, 0x55, 0x6a, 0x0, 
  0x6d, 0x70, 0xd4, 0xd6, 0x0, 0xe4, 0xe7, 0x0, 
  0xed, 0xfd, 0x0, 0xfe };
static const unsigned char u7[] =  { 
  0x00, 0x0, 0x0d, 0x0f, 
  0x11, 0x30, 0x0, 0x4a, 0xa6, 0x0, 0xb0 };
static const unsigned char u9[] = { 
  0x01, 
  0x0, 0x03, 0x3c, 0x3e, 0x0, 0x4d, 0x51, 0x0, 
  0x54, 0x62, 0x0, 0x65, 0x70, 0x81, 0x0, 0x83, 
  0xbc, 0xbe, 0x0, 0xc4, 0xc7, 0x0, 0xc8, 0xcb, 
  0x0, 0xcd, 0xd7, 0xe2, 0x0, 0xe3, 0xf2, 0x0, 
  0xfa };
static const unsigned char ua[] = {
  0x02, 0x3c, 0x3e, 0x0, 0x42, 0x47, 0x0, 
  0x48, 0x4b, 0x0, 0x4d, 0x70, 0x0, 0x71, 0x81, 
  0x0, 0x83, 0xbc, 0xbe, 0x0, 0xc5, 0xc7, 0x0, 
  0xc9, 0xcb, 0x0, 0xcd };
static const unsigned char ub[] = { 
  0x01, 0x0, 0x03, 0x3c, 
  0x3e, 0x0, 0x43, 0x47, 0x0, 0x48, 0x4b, 0x0, 
  0x4d, 0x56, 0x0, 0x57, 0x70, 0x82, 0xbe, 0x0, 
  0xc2, 0xc6, 0x0, 0xc8, 0xca, 0x0, 0xcd, 0xd7, 
  0xf0, 0x0, 0xf2 };
static const unsigned char uc[] = { 
  0x01, 0x0, 0x03, 0x3e, 0x0, 
  0x44, 0x46, 0x0, 0x48, 0x4a, 0x0, 0x4d, 0x55, 
  0x0, 0x56, 0x82, 0x0, 0x83, 0xbe, 0x0, 0xc4, 
  0xc6, 0x0, 0xc8, 0xca, 0x0, 0xcd, 0xd5, 0x0, 
  0xd6 };
static const unsigned char ud[] = { 
  0x02, 0x0, 0x03, 
  0x3e, 0x0, 0x43, 0x46, 
  0x0, 0x48, 0x4a, 0x0, 0x4d, 0x57, 0x82, 0x0, 
  0x83, 0xca, 0xcf, 0x0, 0xd4, 0xd6, 0xd8, 0x0, 
  0xdf, 0xf2, 0x0, 0xf4 };
static const unsigned char ue[] = { 
  0x2f, 0x3f, 0x46, 0x4f, 
  0x5a, 0x0, 0x5b, 0xb1, 0xb4, 0x0, 0xb9, 0xbb, 
  0x0, 0xbc, 0xc8, 0x0, 0xcd };
static const unsigned char uf[] = { 
  0x01, 0x0, 0x1f, 
  0x2a, 0x0, 0x3f, 0x71, 0x0, 0x87, 0x90, 0x0, 
  0x97, 0x99, 0x0, 0xbc, 0xbe, 0x0, 0xcc, 0xcf };
static const unsigned char u10[] = { 
  0x2c, 0x0, 0x32, 0x36, 0x0, 0x39, 0x4a, 0x0, 
  0x4f, 0x56, 0x0, 0x59, 0xfb };
static const unsigned char u13[] = { 
  0x61, 0x0, 0x68, 
  0x72, 0x0, 0x7c };
static const unsigned char u16[] = { 
  0x6d, 0x0, 0x6e, 0x9b, 0x0, 
  0x9c, 0xeb, 0x0, 0xed };
static const unsigned char u17[] = { 
  0x12, 0x0, 0x14, 0x32, 
  0x0, 0x36, 0x52, 0x0, 0x53, 0x72, 0x0, 0x73, 
  0xb4, 0x0, 0xd6, 0xd8, 0x0, 0xdb };
static const unsigned char u18[] = { 
  0x00, 0x0, 
  0x0e, 0xa9 };
static const unsigned char u1f[] = { 
  0xbd, 0xbf, 0x0, 0xc1, 
  0xcd, 0x0, 0xcf, 0xdd, 0x0, 0xdf, 0xed, 0x0, 0xef, 0xfd, 
  0x0, 0xfe };
static const unsigned char u20[] = { 
  0x07, 0x0c, 0x0, 0x27, 0x2a, 0x0, 
  0x52, 0x57, 0x60, 0x0, 0x63, 0x6a, 0x0, 0x70, 
  0x74, 0x0, 0x7e, 0x80, 0x0, 0x8e, 0xa0, 0x0, 
  0xb1, 0xd0, 0x0, 0xea };
static const unsigned char u21[] = { 
  0x00, 0x0, 0x01, 0x03, 
  0x0, 0x06, 0x08, 0x0, 0x09, 0x14, 0x16, 0x0, 
  0x18, 0x1e, 0x0, 0x23, 0x25, 0x27, 0x2e, 0x32, 
  0x3a, 0x40, 0x0, 0x44, 0x4a, 0x0, 0x4b, 0x53, 
  0x0, 0x5f, 0x90, 0x0, 0xff };
/* u22 is all-punctuation */
static const unsigned char u23[] = { 
  0x00, 0x0, 0xce };
static const unsigned char u24[] = { 
  0x00, 0x0, 0x26, 
  0x40, 0x0, 0x4a, 0x60, 0x0, 0x9b, 0xea, 0x0, 
  0xfe };
/* u25 is all-punctuation */
static const unsigned char u26[] = { 
  0x00, 0x0, 0x13, 
  0x16, 0x0, 0x17, 0x19, 
  0x0, 0x7d, 0x80, 0x0, 0x89 };
static const unsigned char u27[] = { 
  0x01, 0x0, 0x04, 
  0x06, 0x0, 0x09, 0x0c, 0x0, 0x27, 0x29, 0x0, 
  0x4b, 0x4d, 0x4f, 0x0, 0x52, 0x56, 0x58, 0x0, 
  0x5e, 0x61, 0x0, 0x94, 0x98, 0x0, 0xaf, 0xb1, 
  0x0, 0xbe, 0xd0, 0x0, 0xeb, 0xf0, 0x0, 0xff };
/* u28 to u2a is all-punctuation */ 
static const unsigned char u2e[] = { 
  0x80, 0x0, 0x99, 
  0x9b, 0x0, 0xf3 };
static const unsigned char u2f[] = { 
  0x00, 0x0, 
  0xd5, 0xf0, 0x0, 0xfb };
static const unsigned char u30[] = { 
  0x01, 0x0, 0x04, 0x08, 
  0x0, 0x20, 0x2a, 0x0, 0x30, 0x36, 0x0, 0x37, 
  0x3d, 0x0, 0x3f, 0x99, 0x0, 0x9c, 0xa0, 0xfb };
static const unsigned char u31[] = { 
  0x90, 0x0, 0x9f };
static const unsigned char u32[] = { 
  0x00, 0x0, 0x1c, 0x20, 0x0, 
  0x43, 0x51, 0x0, 0x7b, 0x7f, 0x0, 0xcb, 0xd0, 
  0x0, 0xfe };
static const unsigned char u33[] = { 
  0x00, 0x0, 0x76, 0x7b, 0x0, 0xdd, 
  0xe0, 0x0, 0xfe };
static const unsigned char ua4[] = { 
  0x90, 0x0, 0xc6 };
/* ue0 to uf8 are all-punctuation */
static const unsigned char ufb[] = { 
  0x1e, 0x29 };
static const unsigned char ufd[] = { 
  0x3e, 0x0, 0x3f, 0xfc };
static const unsigned char ufe[] = { 
  0x00, 
  0x0, 0x0f, 0x20, 0x0, 0x23, 0x30, 0x0, 0x46, 
  0x49, 0x0, 0x52, 0x54, 0x0, 0x66, 0x68, 0x0, 
  0x6b, 0xff };
static const unsigned char uff[] = { 
  0x01, 0x0, 0x0f, 0x1a, 0x0, 0x20, 
  0x3b, 0x0, 0x40, 0x5b, 0x0, 0x65, 0xe0, 0x0, 
  0xe6, 0xe8, 0x0, 0xee, 0xf9, 0x0, 0xfd };
static const unsigned char u103[] = { 
  0x20, 
  0x0, 0x23 };
static const unsigned char u1d0[] = { 
  0x00, 0x0, 0xf5 }; 
static const unsigned char u1d1[] = { 
  0x00, 0x0, 0x26, 
  0x2a, 0x0, 0xdd };
static const unsigned char u1d6[] = { 
  0xc1, 0xdb, 0xfb };
static const unsigned char u1d7[] = { 
  0x15, 0x35, 
  0x4f, 0x6f, 0x89, 0xa9, 0xc3 };
static const unsigned char ue00[] = { 
  0x01, 0x20, 0x0, 
  0x7f };
/* uf00 to uffe are all punctuation */
static const unsigned char ufff[] = { 
  0x00, 0x0, 0xfd };
/* u1000 to u10fe are all punctuation */
static const unsigned char u10ff[] = { 
  0x00, 0x0, 0xfd };
