/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
 * WARNING                                                         WARNING
 * WARNING - This file is generated automatically - Do Not Edit  - WARNING
 * WARNING                                                         WARNING
 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
 */

#ifndef ASN_CODESETS_H
#define ASN_CODESETS_H

#include <limits.h>

#define IA52Local(c) IA52Local_table[c]
#define Local2IA5(c) Local2IA5_table[c-CHAR_MIN]
#define printableStringCharacterLocal(c) printableStringCharacterLocal_table[c-CHAR_MIN]
#define printableStringCharacterIA5(c) printableStringCharacterIA5_table[c]

#ifdef DEFINE_CODESET_TABLES
/* This table maps IA5 characters into local 'C' characters.     */
/* IA5 characters that have no single-byte local representation  */
/* map to -1.                                                    */
int IA52Local_table[256] = {
   0,
   1,
   2,
   3,
   4,
   5,
   6,
   7,
   8,
   9,
   10,
   11,
   12,
   13,
   14,
   15,
   16,
   17,
   18,
   19,
   20,
   21,
   22,
   23,
   24,
   25,
   26,
   27,
   28,
   29,
   30,
   31,
   32,
   33,
   34,
   35,
   36,
   37,
   38,
   39,
   40,
   41,
   42,
   43,
   44,
   45,
   46,
   47,
   48,
   49,
   50,
   51,
   52,
   53,
   54,
   55,
   56,
   57,
   58,
   59,
   60,
   61,
   62,
   63,
   64,
   65,
   66,
   67,
   68,
   69,
   70,
   71,
   72,
   73,
   74,
   75,
   76,
   77,
   78,
   79,
   80,
   81,
   82,
   83,
   84,
   85,
   86,
   87,
   88,
   89,
   90,
   91,
   92,
   93,
   94,
   95,
   96,
   97,
   98,
   99,
   100,
   101,
   102,
   103,
   104,
   105,
   106,
   107,
   108,
   109,
   110,
   111,
   112,
   113,
   114,
   115,
   116,
   117,
   118,
   119,
   120,
   121,
   122,
   123,
   124,
   125,
   126,
   127,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1
};


/* This table maps local 'C' characters into IA5 characters.     */
/* 'C' characters that have no corresponding IA5 representation  */
/* map to -1.                                                    */
int Local2IA5_table[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,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -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,
   2,
   3,
   4,
   5,
   6,
   7,
   8,
   9,
   10,
   11,
   12,
   13,
   14,
   15,
   16,
   17,
   18,
   19,
   20,
   21,
   22,
   23,
   24,
   25,
   26,
   27,
   28,
   29,
   30,
   31,
   32,
   33,
   34,
   35,
   36,
   37,
   38,
   39,
   40,
   41,
   42,
   43,
   44,
   45,
   46,
   47,
   48,
   49,
   50,
   51,
   52,
   53,
   54,
   55,
   56,
   57,
   58,
   59,
   60,
   61,
   62,
   63,
   64,
   65,
   66,
   67,
   68,
   69,
   70,
   71,
   72,
   73,
   74,
   75,
   76,
   77,
   78,
   79,
   80,
   81,
   82,
   83,
   84,
   85,
   86,
   87,
   88,
   89,
   90,
   91,
   92,
   93,
   94,
   95,
   96,
   97,
   98,
   99,
   100,
   101,
   102,
   103,
   104,
   105,
   106,
   107,
   108,
   109,
   110,
   111,
   112,
   113,
   114,
   115,
   116,
   117,
   118,
   119,
   120,
   121,
   122,
   123,
   124,
   125,
   126,
   127
};

bool printableStringCharacterIA5_table[256] = {
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  true,  // ' '
  false,
  false,
  false,
  false,
  false,
  false,
  true,  // '''
  true,  // '('
  true,  // ')'
  false,
  true,  // '+'
  true,  // ','
  true,  // '-'
  true,  // '.'
  true,  // '/'
  true,  // '0'
  true,  // '1'
  true,  // '2'
  true,  // '3'
  true,  // '4'
  true,  // '5'
  true,  // '6'
  true,  // '7'
  true,  // '8'
  true,  // '9'
  true,  // ':'
  false,
  false,
  false,
  false,
  true,  // '?'
  false,
  true,  // 'A'
  true,  // 'B'
  true,  // 'C'
  true,  // 'D'
  true,  // 'E'
  true,  // 'F'
  true,  // 'G'
  true,  // 'H'
  true,  // 'I'
  true,  // 'J'
  true,  // 'K'
  true,  // 'L'
  true,  // 'M'
  true,  // 'N'
  true,  // 'O'
  true,  // 'P'
  true,  // 'Q'
  true,  // 'R'
  true,  // 'S'
  true,  // 'T'
  true,  // 'U'
  true,  // 'V'
  true,  // 'W'
  true,  // 'X'
  true,  // 'Y'
  true,  // 'Z'
  false,
  false,
  false,
  false,
  false,
  false,
  true,  // 'a'
  true,  // 'b'
  true,  // 'c'
  true,  // 'd'
  true,  // 'e'
  true,  // 'f'
  true,  // 'g'
  true,  // 'h'
  true,  // 'i'
  true,  // 'j'
  true,  // 'k'
  true,  // 'l'
  true,  // 'm'
  true,  // 'n'
  true,  // 'o'
  true,  // 'p'
  true,  // 'q'
  true,  // 'r'
  true,  // 's'
  true,  // 't'
  true,  // 'u'
  true,  // 'v'
  true,  // 'w'
  true,  // 'x'
  true,  // 'y'
  true,  // 'z'
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false
};

bool printableStringCharacterLocal_table[256] = {
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  false,
  true,  // ' '
  false,
  false,
  false,
  false,
  false,
  false,
  true,  // '''
  true,  // '('
  true,  // ')'
  false,
  true,  // '+'
  true,  // ','
  true,  // '-'
  true,  // '.'
  true,  // '/'
  true,  // '0'
  true,  // '1'
  true,  // '2'
  true,  // '3'
  true,  // '4'
  true,  // '5'
  true,  // '6'
  true,  // '7'
  true,  // '8'
  true,  // '9'
  true,  // ':'
  false,
  false,
  false,
  false,
  true,  // '?'
  false,
  true,  // 'A'
  true,  // 'B'
  true,  // 'C'
  true,  // 'D'
  true,  // 'E'
  true,  // 'F'
  true,  // 'G'
  true,  // 'H'
  true,  // 'I'
  true,  // 'J'
  true,  // 'K'
  true,  // 'L'
  true,  // 'M'
  true,  // 'N'
  true,  // 'O'
  true,  // 'P'
  true,  // 'Q'
  true,  // 'R'
  true,  // 'S'
  true,  // 'T'
  true,  // 'U'
  true,  // 'V'
  true,  // 'W'
  true,  // 'X'
  true,  // 'Y'
  true,  // 'Z'
  false,
  false,
  false,
  false,
  false,
  false,
  true,  // 'a'
  true,  // 'b'
  true,  // 'c'
  true,  // 'd'
  true,  // 'e'
  true,  // 'f'
  true,  // 'g'
  true,  // 'h'
  true,  // 'i'
  true,  // 'j'
  true,  // 'k'
  true,  // 'l'
  true,  // 'm'
  true,  // 'n'
  true,  // 'o'
  true,  // 'p'
  true,  // 'q'
  true,  // 'r'
  true,  // 's'
  true,  // 't'
  true,  // 'u'
  true,  // 'v'
  true,  // 'w'
  true,  // 'x'
  true,  // 'y'
  true,  // 'z'
  false,
  false,
  false,
  false,
  false
};

#else
extern int Local2IA5_table[];
extern int IA52Local_table[];
extern bool printableStringCharacterIA5_table[];
extern bool printableStringCharacterLocal_table[];
#endif
#endif
