#define yy_create_buffer asn1p__create_buffer
#define yy_delete_buffer asn1p__delete_buffer
#define yy_scan_buffer asn1p__scan_buffer
#define yy_scan_string asn1p__scan_string
#define yy_scan_bytes asn1p__scan_bytes
#define yy_flex_debug asn1p__flex_debug
#define yy_init_buffer asn1p__init_buffer
#define yy_flush_buffer asn1p__flush_buffer
#define yy_load_buffer_state asn1p__load_buffer_state
#define yy_switch_to_buffer asn1p__switch_to_buffer
#define yyin asn1p_in
#define yyleng asn1p_leng
#define yylex asn1p_lex
#define yyout asn1p_out
#define yyrestart asn1p_restart
#define yytext asn1p_text
#define yylineno asn1p_lineno

#line 20 "asn1p_l.c"
/* A lexical scanner generated by flex */

/* Scanner skeleton version:
 * $Header$
 */

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5

#include <stdio.h>


/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif


#ifdef __cplusplus

#include <stdlib.h>
#include <unistd.h>

/* Use prototypes in function declarations. */
#define YY_USE_PROTOS

/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST

#else	/* ! __cplusplus */

#if __STDC__

#define YY_USE_PROTOS
#define YY_USE_CONST

#endif	/* __STDC__ */
#endif	/* ! __cplusplus */

#ifdef __TURBOC__
 #pragma warn -rch
 #pragma warn -use
#include <io.h>
#include <stdlib.h>
#define YY_USE_CONST
#define YY_USE_PROTOS
#endif

#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif


#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
#endif

/* Returned upon end-of-file. */
#define YY_NULL 0

/* Promotes a possibly negative, possibly signed char to an unsigned
 * integer for use as an array index.  If the signed char is negative,
 * we want to instead treat it as an 8-bit unsigned char, hence the
 * double cast.
 */
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)

/* Enter a start condition.  This macro really ought to take a parameter,
 * but we do it the disgusting crufty way forced on us by the ()-less
 * definition of BEGIN.
 */
#define BEGIN yy_start = 1 + 2 *

/* Translate the current start state into a value that can be later handed
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
 * compatibility.
 */
#define YY_START ((yy_start - 1) / 2)
#define YYSTATE YY_START

/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)

/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE yyrestart( yyin )

#define YY_END_OF_BUFFER_CHAR 0

/* Size of default input buffer. */
#define YY_BUF_SIZE 16384

typedef struct yy_buffer_state *YY_BUFFER_STATE;

extern int yyleng;
extern FILE *yyin, *yyout;

#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2

/* The funky do-while in the following #define is used to turn the definition
 * int a single C statement (which needs a semi-colon terminator).  This
 * avoids problems with code like:
 *
 * 	if ( condition_holds )
 *		yyless( 5 );
 *	else
 *		do_something_else();
 *
 * Prior to using the do-while the compiler would get upset at the
 * "else" because it interpreted the "if" statement as being all
 * done when it reached the ';' after the yyless() call.
 */

/* Return all but the first 'n' matched characters back to the input stream. */

#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		*yy_cp = yy_hold_char; \
		YY_RESTORE_YY_MORE_OFFSET \
		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
		} \
	while ( 0 )

#define unput(c) yyunput( c, yytext_ptr )

/* The following is because we cannot portably get our hands on size_t
 * (without autoconf's help, which isn't available because we want
 * flex-generated scanners to compile on their own).
 */
typedef unsigned int yy_size_t;


struct yy_buffer_state
	{
	FILE *yy_input_file;

	char *yy_ch_buf;		/* input buffer */
	char *yy_buf_pos;		/* current position in input buffer */

	/* Size of input buffer in bytes, not including room for EOB
	 * characters.
	 */
	yy_size_t yy_buf_size;

	/* Number of characters read into yy_ch_buf, not including EOB
	 * characters.
	 */
	int yy_n_chars;

	/* Whether we "own" the buffer - i.e., we know we created it,
	 * and can realloc() it to grow it, and should free() it to
	 * delete it.
	 */
	int yy_is_our_buffer;

	/* Whether this is an "interactive" input source; if so, and
	 * if we're using stdio for input, then we want to use getc()
	 * instead of fread(), to make sure we stop fetching input after
	 * each newline.
	 */
	int yy_is_interactive;

	/* Whether we're considered to be at the beginning of a line.
	 * If so, '^' rules will be active on the next match, otherwise
	 * not.
	 */
	int yy_at_bol;

	/* Whether to try to fill the input buffer when we reach the
	 * end of it.
	 */
	int yy_fill_buffer;

	int yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
	/* When an EOF's been seen but there's still some text to process
	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
	 * shouldn't try reading from the input source any more.  We might
	 * still have a bunch of tokens to match, though, because of
	 * possible backing-up.
	 *
	 * When we actually see the EOF, we change the status to "new"
	 * (via yyrestart()), so that the user can continue scanning by
	 * just pointing yyin at a new input file.
	 */
#define YY_BUFFER_EOF_PENDING 2
	};

static YY_BUFFER_STATE yy_current_buffer = 0;

/* We provide macros for accessing buffer states in case in the
 * future we want to put the buffer states in a more general
 * "scanner state".
 */
#define YY_CURRENT_BUFFER yy_current_buffer


/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;

static int yy_n_chars;		/* number of characters read into yy_ch_buf */


int yyleng;

/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
static int yy_init = 1;		/* whether we need to initialize */
static int yy_start = 0;	/* start state number */

/* Flag which is used to allow yywrap()'s to do buffer switches
 * instead of setting up a fresh yyin.  A bit of a hack ...
 */
static int yy_did_buffer_switch_on_eof;

void yyrestart YY_PROTO(( FILE *input_file ));

void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
void yy_load_buffer_state YY_PROTO(( void ));
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )

YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));

static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
static void yy_flex_free YY_PROTO(( void * ));

#define yy_new_buffer yy_create_buffer

#define yy_set_interactive(is_interactive) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_is_interactive = is_interactive; \
	}

#define yy_set_bol(at_bol) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_at_bol = at_bol; \
	}

#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)


#define YY_USES_REJECT

#define yywrap() 1
#define YY_SKIP_YYWRAP

#define FLEX_DEBUG
typedef unsigned char YY_CHAR;
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
typedef int yy_state_type;

#define FLEX_DEBUG
extern int yylineno;
int yylineno = 1;
extern char *yytext;
#define yytext_ptr yytext

static yy_state_type yy_get_previous_state YY_PROTO(( void ));
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
static int yy_get_next_buffer YY_PROTO(( void ));
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));

/* Done after the current pattern has been matched and before the
 * corresponding action - sets up yytext.
 */
#define YY_DO_BEFORE_ACTION \
	yytext_ptr = yy_bp; \
	yyleng = (int) (yy_cp - yy_bp); \
	yy_hold_char = *yy_cp; \
	*yy_cp = '\0'; \
	yy_c_buf_p = yy_cp;

#define YY_NUM_RULES 133
#define YY_END_OF_BUFFER 134
static yyconst short int yy_acclist[1240] =
    {   0,
      134,  132,  133,  127,  132,  133,  127,  133,  130,  132,
      133,   19,  132,  133,  130,  132,  133,  132,  133,  130,
      132,  133,  132,  133,  130,  132,  133,  132,  133,   33,
      132,  133,   32,  132,  133,  130,  132,  133,  132,  133,
      119,  120,  132,  133,  119,  120,  132,  133,  119,  120,
      132,  133,  119,  120,  132,  133,  119,  120,  132,  133,
      119,  120,  132,  133,  119,  120,  132,  133,  119,  120,
      132,  133,  119,  120,  132,  133,  119,  120,  132,  133,
      119,  120,  132,  133,  119,  120,  132,  133,  119,  120,
      132,  133,  119,  120,  132,  133,  119,  120,  132,  133,

      119,  120,  132,  133,  119,  120,  132,  133,  119,  120,
      132,  133,  119,  120,  132,  133,  118,  132,  133,  130,
      132,  133,    9,  132,  133,    6,  133,    6,  132,  133,
        8,  132,  133,    8,  132,  133,   11,   13,  132,  133,
       11,  133,   13,  132,  133,   13,  132,  133,   13,  132,
      133,   21,  132,  133,   21,  133,   22,  132,  133,   16,
      132,  133,   16,  133,   18,  132,  133,   18,  132,  133,
       14,  132,  133,   15,  132,  133,   25,   27,  132,  133,
       27,  132,  133,   28,  133,   25,   26,   27,  132,  133,
       25,   26,   27,  132,  133,  124,  132,  133,  125,  132,

      133,  125,  133,  132,  133,  126,  132,  133,  127,   19,
       19,  116,  117,    5,   31,  123,   10,   32,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  119,  120,  119,  120,  119,  120,   43,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  120,  119,
      120,  119,  120,   88,  119,  120,  119,  120,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  120,  119,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,  120,
      120,  119,  120,  118,    9,    7,    7,   12,   21,   20,
       16,   25,   25,   26,   25,   26,  124,  125,  131,  116,
      117,   31,  122,  121,  119,  120,  120,  119,  120,   35,
      119,  120,   36,  119,  120,  119,  120,  119,  120,  119,
      120,   40,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,   57,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,

      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   80,  119,  120,   81,  119,
      120,  119,  120,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,   91,  119,  120,  119,  120,  119,  120,
      119,  120,  120,  119,  120,  119,  120,  119,  120,   99,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,  119,
      120,  120,  120,  120,  119,  120,  118,    3,   17,   25,
       26,   24,   25,   26,  116,  117,   30,   29,    2,    1,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,   65,  119,  120,  120,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,   83,  119,  120,
      120,  119,  120,  119,  120,  119,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,   96,  119,  120,
      119,  120,  119,  120,  100,  119,  120,  119,  120,  119,
      120,  119,  120,  104,  119,  120,  106,  119,  120,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  120,  120,  115,  119,  120,    3,   25,   26,  119,
      120,  119,  120,  119,  120,   39,  119,  120,  120,  119,
      120,  119,  120,  119,  120,   46,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,   64,  119,  120,  120,  120,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,   87,  119,  120,  119,  120,  120,  119,

      120,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  120,  107,  119,  120,  119,
      120,  119,  120,  120,  119,  120,  120,  120,  120,  128,
       25,   26,   34,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  119,  120,   45,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,   59,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  120,  120,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,

      120,  120,   85,  119,  120,  119,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  101,  119,  120,  102,  119,  120,  120,  120,  108,
      119,  120,  119,  120,  120,  120,  120,  120,  120,   25,
       26,  119,  120,  119,  120,  120,   42,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,   51,  119,  120,
       52,  119,  120,  119,  120,  119,  120,   55,  119,  120,
      119,  120,  119,  120,  119,  120,   61,  119,  120,  119,
      120,  119,  120,  120,  120,  120,  119,  120,  119,  120,
       72,  119,  120,   73,  119,  120,  119,  120,  119,  120,

      119,  120,   77,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  120,   90,  119,  120,  119,  120,
       93,  119,  120,   95,  119,  120,  120,  119,  120,  119,
      120,  120,  120,  119,  120,  111,  120,  120,  120,  120,
      120,   25,   26,  119,  120,  119,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,   54,  119,
      120,  119,  120,  119,  120,   60,  119,  120,  119,  120,
       63,  119,  120,  120,  120,  120,  120,  119,  120,   71,
      119,  120,   74,  119,  120,   75,  119,  120,  119,  120,
      119,  120,  120,  119,  120,  120,   89,  119,  120,  120,

      119,  120,  120,  119,  120,   98,  119,  120,  120,  120,
      119,  120,  120,  120,  120,  120,   25,   26,  119,  120,
       38,  119,  120,   41,  120,   44,  119,  120,   47,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  120,  120,   69,  120,  119,  120,  119,  120,
      119,  120,  120,  119,  120,  120,  120,  119,  120,  120,
      103,  120,  120,  109,  119,  120,  120,  120,  120,  120,
      129,   25,  119,  120,   48,  119,  120,  119,  120,   50,
      119,  120,  119,  120,  119,  120,   58,  119,  120,  119,
      120,  120,  120,  120,   70,  119,  120,  119,  120,  119,

      120,  120,  119,  120,  120,  120,  119,  120,  120,  119,
      120,  120,  112,  120,  120,  120,  120,   25,   37,  119,
      120,   49,  119,  120,   53,  119,  120,  119,  120,  119,
      120,  120,  120,  120,  119,  120,  119,  120,  120,  119,
      120,  120,  120,  119,  120,  120,  119,  120,  120,  120,
      120,  120,   25,  119,  120,  119,  120,  120,  120,  120,
       76,  119,  120,   78,  119,  120,   79,  120,  119,  120,
      120,  120,  119,  120,  120,   97,  119,  120,  120,  120,
      120,  120,   25,  119,  120,   62,  119,  120,   67,  120,
      120,   68,  120,  119,  120,   84,  120,  120,   92,  119,

      120,  120,  105,  120,  120,  120,  114,  120,   25,  119,
      120,  120,   82,  119,  120,  120,  120,  120,  113,  120,
       25,  119,  120,   66,  120,  120,   94,  120,  110,  120,
       25,   56,  119,  120,   86,  120,   23,   25,    4
    } ;

static yyconst short int yy_accept[727] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    2,    4,    7,
        9,   12,   15,   18,   20,   23,   25,   28,   30,   33,
       36,   39,   41,   45,   49,   53,   57,   61,   65,   69,
       73,   77,   81,   85,   89,   93,   97,  101,  105,  109,
      113,  117,  120,  123,  126,  128,  131,  134,  137,  141,
      143,  146,  149,  152,  155,  157,  160,  163,  165,  168,
      171,  174,  177,  181,  184,  186,  191,  196,  199,  202,
      204,  206,  209,  209,  210,  211,  212,  212,  213,  213,
      214,  214,  214,  215,  216,  217,  218,  219,  219,  219,

      221,  223,  225,  227,  229,  231,  232,  234,  236,  238,
      240,  243,  245,  247,  249,  251,  253,  255,  257,  259,
      261,  262,  263,  265,  267,  269,  271,  273,  275,  277,
      279,  280,  282,  284,  287,  289,  290,  292,  294,  296,
      298,  299,  301,  303,  305,  307,  309,  311,  313,  315,
      316,  318,  320,  321,  322,  324,  324,  325,  325,  325,
      325,  326,  327,  328,  329,  330,  331,  332,  332,  333,
      335,  337,  338,  339,  340,  340,  340,  341,  341,  342,
      342,  342,  342,  342,  343,  344,  345,  347,  348,  350,
      353,  356,  358,  360,  360,  362,  365,  367,  369,  371,

      373,  375,  377,  379,  381,  383,  385,  388,  390,  392,
      394,  396,  398,  400,  401,  402,  404,  406,  408,  410,
      412,  414,  416,  419,  422,  424,  425,  427,  429,  431,
      432,  434,  437,  439,  441,  443,  444,  446,  448,  450,
      453,  455,  457,  459,  461,  463,  465,  466,  468,  470,
      472,  473,  474,  475,  477,  478,  478,  478,  479,  480,
      482,  485,  485,  486,  487,  488,  489,  490,  491,  491,
      491,  491,  493,  495,  497,  499,  501,  503,  505,  507,
      509,  511,  513,  515,  517,  519,  521,  523,  525,  527,
      529,  531,  533,  535,  538,  539,  540,  542,  544,  546,

      548,  550,  552,  554,  556,  558,  561,  562,  564,  566,
      568,  569,  571,  573,  575,  577,  578,  581,  583,  585,
      588,  590,  592,  594,  597,  600,  601,  603,  605,  607,
      609,  611,  612,  613,  614,  617,  617,  617,  617,  617,
      618,  620,  620,  622,  624,  626,  629,  630,  632,  634,
      636,  639,  641,  643,  645,  647,  649,  651,  653,  655,
      657,  659,  661,  663,  665,  668,  669,  670,  671,  673,
      675,  677,  679,  681,  683,  685,  687,  689,  691,  692,
      694,  697,  699,  700,  702,  702,  704,  706,  707,  709,
      711,  713,  715,  716,  717,  720,  722,  724,  725,  727,

      728,  729,  730,  730,  730,  731,  733,  733,  736,  738,
      740,  741,  743,  745,  748,  750,  752,  754,  756,  758,
      760,  762,  764,  766,  768,  771,  773,  775,  777,  779,
      780,  781,  782,  784,  786,  788,  790,  792,  794,  796,
      798,  800,  802,  802,  803,  806,  808,  809,  811,  813,
      815,  817,  818,  820,  822,  825,  828,  829,  830,  833,
      835,  836,  837,  838,  839,  840,  840,  840,  842,  842,
      844,  846,  847,  850,  852,  854,  856,  858,  861,  864,
      866,  868,  871,  873,  875,  877,  880,  882,  884,  885,
      886,  887,  889,  891,  894,  897,  899,  901,  903,  906,

      908,  910,  912,  913,  915,  916,  919,  921,  924,  927,
      928,  930,  932,  933,  934,  936,  938,  939,  940,  941,
      942,  942,  944,  944,  946,  948,  949,  951,  953,  955,
      957,  959,  962,  964,  966,  969,  971,  974,  975,  976,
      977,  978,  980,  983,  986,  989,  991,  993,  994,  996,
      997, 1000, 1001, 1003, 1004, 1006, 1009, 1010, 1011, 1013,
     1014, 1015, 1016, 1017, 1017, 1017, 1019, 1019, 1021, 1024,
     1026, 1029, 1032, 1034, 1036, 1038, 1038, 1040, 1042, 1043,
     1044, 1045, 1047, 1049, 1051, 1053, 1054, 1056, 1057, 1058,
     1060, 1061, 1061, 1063, 1064, 1067, 1068, 1069, 1070, 1071,

     1071, 1072, 1073, 1073, 1075, 1078, 1080, 1083, 1085, 1087,
     1090, 1092, 1093, 1094, 1095, 1098, 1100, 1102, 1103, 1105,
     1106, 1107, 1109, 1110, 1112, 1113, 1115, 1116, 1117, 1118,
     1119, 1119, 1122, 1125, 1128, 1130, 1132, 1133, 1134, 1135,
     1137, 1139, 1140, 1142, 1143, 1144, 1146, 1147, 1149, 1150,
     1151, 1152, 1153, 1154, 1154, 1156, 1158, 1159, 1160, 1161,
     1164, 1167, 1169, 1171, 1172, 1173, 1175, 1176, 1179, 1180,
     1181, 1182, 1183, 1184, 1184, 1186, 1189, 1191, 1192, 1194,
     1196, 1198, 1199, 1202, 1203, 1205, 1206, 1207, 1209, 1210,
     1210, 1212, 1213, 1216, 1217, 1218, 1219, 1221, 1222, 1222,

     1224, 1226, 1227, 1229, 1231, 1232, 1232, 1235, 1237, 1239,
     1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239,
     1239, 1239, 1239, 1239, 1240, 1240
    } ;

static yyconst int yy_ec[256] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
        4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    2,    6,    7,    1,    1,    1,    8,    9,   10,
       10,   11,    1,   12,   13,   14,   15,   16,   17,   18,
       18,   19,   20,   21,   18,   22,   23,   24,   25,   26,
       27,   28,    1,   10,   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,
       10,    1,   55,   56,    1,    1,   57,   58,   59,   60,

       61,   62,   63,   64,   65,   66,   62,   67,   68,   69,
       70,   71,   62,   72,   73,   74,   75,   76,   62,   77,
       62,   78,   79,   80,   81,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,

        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1
    } ;

static yyconst int yy_meta[82] =
    {   0,
        1,    2,    3,    4,    4,    1,    5,    6,    7,    1,
        1,    1,    8,    1,    1,    9,    9,    9,    9,    9,
        9,    9,    9,   10,    1,    1,   10,    1,   11,   11,
       11,   11,   11,   11,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,    1,    1,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   13,    1,
       14
    } ;

static yyconst short int yy_base[752] =
    {   0,
        0,    0,   79,   82,   85,   96,   91,   93,   90,  100,
       88,  102,  183,  264,  120,  133, 1529, 1519,  140,  148,
     1518, 1516,  337,  156, 4350,  157, 1507,  102, 4350,  201,
     1495, 4350,  403,  200,  263,  281,  206,  287,  452,   90,
      308,  458,  185,  474,  496,  497,  514,  531,  534,  549,
      557, 1505,  605,    0, 4350, 4350, 1504, 1503, 4350, 4350,
     1500, 1503, 4350,    0,    0, 1492,    0,    0, 1472, 4350,
     4350, 4350,    0, 4350, 4350,  628,  708,    0,  200,  278,
      276, 4350, 1488,  356,    0, 1486, 1484, 1465,   91, 1464,
      642, 1466,  101,  644, 1457, 4350,  652, 1442,  732,  646,

      647,  662,  698,  663,  697, 1454,  713,  726,  729,  737,
      781,  784,  802,  799,  815,  823,  838,  844,  841,  859,
      187,   97,  874,  877,  885,  900,  911,  922,  928,  939,
      158,  952,  955,  968,  976,  169,  979,  992, 1003, 1016,
      219, 1032, 1038, 1049, 1055, 1066, 1077, 1083, 1094,  241,
     1100, 1116,  239,  274, 1115,    0, 1453, 1164, 1176, 1188,
        0, 4350, 1452, 4350,    0, 4350,    0, 1437,    0, 1416,
      322,    0,  425, 4350, 1443,    0, 1441,    0, 1440,  110,
     1415,  297,  119, 1154, 4350, 4350, 1199, 1434, 1183, 1184,
     1199, 1200, 1248, 1432, 1256, 1259, 1272, 1280, 1288, 1296,

     1309, 1317, 1320, 1341, 1342, 1357, 1363, 1374, 1380, 1391,
     1397, 1408, 1419,  200,  215, 1432, 1440, 1443, 1458, 1461,
     1464, 1490, 1482, 1493, 1506,  281, 1514, 1527, 1535,  302,
     1538, 1551, 1559, 1567, 1575,  244, 1588, 1591, 1599, 1612,
     1620, 1628, 1636, 1649, 1657, 1670,  445, 1678, 1694, 1695,
      155,  470,  352, 1710, 1431, 1753, 1761, 1430, 4350,  113,
     1400, 1381, 1419, 1415, 4350, 4350, 4350, 4350,  486,  293,
     1379, 1755, 1756, 1771, 1777, 1788, 1794, 1810, 1811, 1826,
     1834, 1842, 1858, 1855, 1866, 1879, 1882, 1897, 1903, 1914,
     1920, 1931, 1946, 1952,  246,  232, 1963, 1969, 1984, 1985,

     2000, 2006, 2021, 2024, 2032, 2045,  418, 2053, 2056, 2069,
      105, 2077, 2090, 2098, 2106,  446, 2114, 2122, 2135, 2143,
     2146, 2164, 2161, 2167, 2182,  496, 2185, 2188, 2203, 2209,
     2220,  472,  322,  193, 2226, 2274, 2296, 2318, 2330, 1412,
      309, 1377, 2314, 2329, 2345, 2342,  471, 2363, 2366, 2369,
     2384, 2387, 2395, 2408, 2416, 2429, 2440, 2446, 2457, 2468,
     2483, 2489, 2500, 2506, 2521,  498,  484,  497, 2522, 2542,
     2539, 2560, 2559, 2575, 2581, 2592, 2605, 2616,  516, 2613,
     2629, 2637,  521, 2645,  480, 2653, 2666,  502, 2679, 2682,
     2690, 2703,  540,  535, 2714, 2720, 2731,  522, 2742,  544,

      537,  499,  677, 2785, 4350,  563, 1400, 2769, 2785, 2782,
      552, 2793, 2806, 2809, 2826, 2832, 2843, 2849, 2864, 2870,
     2887, 2893, 2904, 2910, 2921, 2927, 2938, 2944, 2960,  618,
      559,  635, 2961, 2976, 2982, 2993, 2999, 3014, 3020, 3031,
     3046, 3052,  620,  571, 3063, 3079,  296, 3076, 1369, 3087,
     3100,  591, 3108, 3123, 3126, 3129,  665,  508, 3144, 3147,
      589,  688,  711,  700,  759, 3195, 3207, 1367, 1377, 3191,
     3204,  685, 3207, 3222, 3228, 3239, 3245, 3256, 3262, 3273,
     3284, 3290, 3301, 3307, 3318, 3329, 3335, 3346,  684,  573,
      713, 3352, 3363, 3374, 3380, 3391, 3397, 3412, 3413, 3428,

     3434, 1360,  697, 3445,  774, 3451, 1364, 3462, 3473,  716,
     3479, 3494,  804,  772, 3500, 1383,  841,  575,  739,  805,
     3543,  780,    0, 3537, 3538,  799, 3553, 3561, 3564, 3577,
     3585, 3593, 3601, 3614, 3622, 3630, 3638,  763,  834,  821,
      837, 3651, 3659, 3662, 3675, 3683, 3686,  825, 1361,  848,
     3699,  823, 1357,  863, 3720, 3707,  896,  864, 3723,  866,
      853,  885,  915, 3771, 1035,  120, 1346, 3755, 3766, 1376,
     3772, 3783, 3789, 3804, 3805,  926, 3820, 3821,  878,  900,
      930, 1375, 3836, 3844, 3859,  898, 1343,  933,  932, 1337,
      920,  313, 1364,  943, 3860,  923,  960,  952,  963, 1232,

     4350, 1345, 1313, 3875, 3876, 3891, 3892, 3907, 1320, 3908,
     3923,  965,  845,  998, 3929, 3940, 3951,  924, 1313, 1001,
      987, 1317,  974, 1315, 1037, 1335, 1016, 1042, 1044, 1303,
     1273, 3957, 3968, 3974, 1301, 3985,  962, 1057, 1000, 3996,
     4002, 1098, 1305, 1031, 1064, 1293, 1079, 1295, 1051, 1118,
     1126, 1109, 1283, 1245, 1263, 4017, 1099, 1166, 1139, 4018,
     4033, 1296, 1239, 1140, 1062, 1231, 1188,    0, 1232, 1239,
     1225, 1268, 1235, 1221, 1209, 4034, 1241, 1060, 1234, 1193,
     1207, 1141,    0, 1237, 1206, 1238, 1272, 1205, 1171, 1075,
     1092, 1128,    0, 1209, 1302, 1310, 1075, 1041, 1010, 1027,

     1041, 1208, 1038,  971,  940,  791,    0,  843,    0,  691,
      590,  542,  569,  452,  454,  434,  412,  357,  267,  296,
      697,  150,  118, 4350, 4350, 4083, 4097, 4111, 4125, 4139,
     4153, 4167, 4180, 4184, 4196, 4210, 4224, 4236, 4248, 4260,
     4265, 4270, 4274, 4279, 4283, 4287, 4291, 4303, 4310, 4322,
     4335
    } ;

static yyconst short int yy_def[752] =
    {   0,
      725,    1,  726,  726,  726,  726,  727,  727,  728,  728,
      729,  729,  730,  730,  731,  731,  725,  725,  725,  725,
      725,  732,  725,  733,  725,  725,  725,  725,  725,  725,
      725,  725,  725,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  734,  725,  735,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  736,  736,  725,  737,  737,  725,  725,
      725,  725,  738,  725,  725,  739,  739,  740,  725,  725,
       23,  725,  725,  725,  732,  732,  725,  741,  725,  742,
      733,  733,  725,  725,  725,  725,  725,  725,  743,   33,

       33,   33,   33,   33,   33,  744,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
      744,  744,   33,   33,   33,   33,   33,   33,   33,   33,
      744,   33,   33,   33,   33,  744,   33,   33,   33,   33,
      744,   33,   33,   33,   33,   33,   33,   33,   33,  744,
       33,   33,  744,  744,   33,  745,  734,  725,  725,  725,
      735,  725,  725,  725,  736,  725,  737,  725,  738,   77,
       77,  740,  725,  725,  725,  746,  741,  747,  742,  725,
      725,  748,  725,  725,  725,  725,  743,  749,   33,   33,
       33,   33,   33,  749,   33,   33,   33,   33,   33,   33,

       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,  744,  744,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,  744,   33,   33,   33,  744,
       33,   33,   33,   33,   33,  744,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  744,   33,   33,   33,
      744,  744,  744,   33,  745,  725,  725,  725,  725,   77,
       77,  725,  746,  747,  725,  725,  725,  725,  748,  725,
      725,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  744,  744,   33,   33,   33,   33,

       33,   33,   33,   33,   33,   33,  744,   33,   33,   33,
      744,   33,   33,   33,   33,  744,   33,   33,   33,   33,
       33,   33,   33,   33,   33,  744,   33,   33,   33,   33,
       33,  744,  744,  744,   33,  725,  725,  725,  725,  725,
       77,  725,   33,   33,   33,   33,  744,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,  744,  744,  744,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  744,   33,
       33,   33,  744,   33,  187,   33,   33,  744,   33,   33,
       33,   33,  744,  744,   33,   33,   33,  744,   33,  744,

      744,  744,  725,  725,  725,   77,  725,   33,   33,   33,
      744,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,  744,
      744,  744,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,  187,  744,   33,   33,  744,   33,  187,   33,
       33,  744,   33,   33,   33,   33,  744,  744,   33,   33,
      744,  744,  744,  744,  744,  725,  725,   77,  725,   33,
       33,  744,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  744,  744,
      744,   33,   33,   33,   33,   33,   33,   33,   33,   33,

       33,  187,  744,   33,  744,   33,  187,   33,   33,  744,
       33,   33,  744,  744,   33,  744,  744,  744,  744,  744,
      725,   77,  750,   33,   33,  744,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  744,  744,  744,
      744,   33,   33,   33,   33,   33,   33,  744,  187,  744,
       33,  744,  187,  744,   33,   33,  744,  744,   33,  744,
      744,  744,  744,  725,  751,   77,  725,   33,   33,  744,
       33,   33,   33,   33,   33,  187,   33,   33,  744,  744,
      744,  744,   33,   33,   33,  744,  187,  744,  744,  187,
      744,  187,  744,  744,   33,  744,  744,  744,  744,  725,

      725,  738,  725,   33,   33,   33,   33,   33,  187,   33,
       33,  744,  744,  744,   33,   33,   33,  744,  187,  744,
      744,  187,  744,  187,  744,  744,  744,  744,  744,  738,
      725,   33,   33,   33,  187,   33,  744,  744,  744,   33,
       33,  744,  187,  744,  744,  187,  744,  187,  744,  744,
      744,  744,  738,  725,  187,   33,  744,  744,  744,   33,
       33,  744,  187,  744,  744,  187,  744,  187,  744,  744,
      744,  744,  738,  725,  187,   33,  744,  744,  744,  187,
      744,  744,  187,  744,  744,  744,  744,  744,  738,  725,
      187,  744,  187,  744,  744,  744,  744,  738,  725,  187,

      744,  744,  744,  744,  738,  725,  187,  744,  738,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,    0,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725
    } ;

static yyconst short int yy_nxt[4432] =
    {   0,
       18,   19,   20,   19,   19,   21,   22,   23,   24,   25,
       18,   25,   26,   27,   28,   29,   30,   30,   30,   30,
       30,   30,   30,   31,   21,   32,   32,   18,   33,   34,
       35,   36,   37,   38,   39,   40,   41,   40,   40,   40,
       42,   43,   44,   45,   40,   46,   47,   48,   49,   50,
       51,   40,   40,   40,   21,   21,   52,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   53,   21,
       25,   55,   56,   56,   55,   56,   56,   55,   56,   56,
       68,   57,   65,   60,   57,   60,   66,   58,   55,   56,

       56,   61,   65,   61,   68,   62,   66,   62,   58,  194,
       83,   69,   96,  182,   70,   87,   63,  194,   63,  100,
      270,   79,   80,   79,   79,   69,  183,   81,   70,  100,
      724,  100,  602,  100,   79,   80,   79,   79,  100,  265,
       81,   84,   84,   84,   84,  266,   89,  271,   83,   84,
       84,   84,   84,  215,  170,  341,   83,   91,   91,   91,
       91,  170,  723,  383,   83,   83,   71,  194,   72,   93,
      194,   91,   91,   94,   94,   94,   94,   94,   94,   94,
       71,  194,   72,   73,   74,   75,   74,   74,   73,   73,
       73,   73,   73,   73,   73,   73,   73,   73,   32,  194,

       82,  173,  173,  173,  173,  194,   73,   73,   73,   73,
       73,   32,  194,   82,  100,   77,   97,   97,   97,   97,
       97,   97,   97,   97,  100,  226,  100,  194,  100,  100,
      332,  194,  107,  130,  230,  100,  108,   73,   73,  100,
      109,  100,  110,  100,  194,  100,  116,  117,  100,  100,
      402,  194,  111,  194,  100,  214,  194,  118,  194,  131,
      295,   74,   73,   74,   73,   74,   75,   74,   74,   73,
       73,   73,   73,   73,   73,   73,   73,   73,   73,  173,
      173,  173,  173,  236,  725,  296,  194,   73,   73,   73,
       73,   73,  100,  194,  270,  367,   77,  721,  112,  268,

      725,  268,  113,  251,  100,  114,  100,  247,  194,  269,
      100,  100,  316,  115,  194,  119,  100,  366,   73,   73,
      100,  271,  100,  722,  100,  725,  100,  505,  100,  100,
      100,  725,  120,  252,  194,  100,  123,  100,  720,  124,
      406,  307,   74,   73,   74,   83,  253,  100,  125,  126,
      170,  100,  260,  261,  127,  624,  100,   84,   84,   84,
       84,   87,  311,  170,  194,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
       88,  401,   89,   90,   90,   90,   90,   90,   90,   90,

       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
       90,   90,   90,   90,   90,   99,  334,  719,  100,  100,
      100,  100,  100,  100,  100,  100,  173,  173,  173,  173,
      194,  100,  101,  100,  100,  100,  100,  100,  100,  100,
      100,  100,  102,  100,  103,  100,  104,  100,  100,  100,
      100,  105,  100,  100,  100,  100,  100,  194,  194,  106,
      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
      106,  100,  194,  194,  194,  718,  128,  100,  268,  379,
      268,  100,  725,  100,  129,  100,  194,  100,  269,  100,

      100,  100,  717,  132,  133,  326,  100,  134,  194,  194,
      194,  194,  121,  100,  194,  100,  449,  135,  716,  388,
      194,  715,  100,  122,  137,  100,  100,  138,  194,  142,
      333,  136,  400,  194,  194,  139,  100,  100,  100,  100,
      100,  140,  411,  100,  100,  100,  143,  194,  431,  194,
      144,  147,  194,  100,  430,  100,  194,  100,  452,  148,
      100,  145,  100,  100,  194,  465,  146,  141,  432,  394,
      100,  194,  100,  100,  100,  151,  149,  100,  100,  100,
      444,  152,  100,  194,  514,  194,  100,  194,  100,  461,
      100,  150,  100,  155,  447,  458,  100,  100,  100,  468,

      100,  194,  153,  194,  170,  100,  158,  158,  158,  158,
      464,  457,  714,  154,  713,  463,  472,  490,  712,  540,
      159,  159,  159,  159,  159,  159,  160,  160,  169,  503,
      194,  561,  725,  169,  169,  169,  169,  169,  169,  169,
      169,  169,  169,   91,   91,   91,   91,  194,  510,  516,
      180,  169,  169,  169,  169,  169,  502,   91,   91,  184,
      184,  184,  184,  184,  184,  184,  184,   97,   97,   97,
       97,   97,   97,   97,   97,  100,  100,  194,  403,  403,
      403,  403,  169,  169,  489,  100,  100,  100,  100,  100,
      100,  100,  100,  189,  100,  100,  194,  194,  721,  491,

      194,  190,  100,  100,  100,  100,  192,  169,  169,  194,
      100,  100,  194,  169,  169,  169,  169,  169,  169,  169,
      169,  169,  169,  194,  722,  194,  100,  100,  194,  513,
      538,  169,  169,  169,  169,  169,  100,  100,  100,  100,
      100,  100,  100,  550,  193,  100,  100,  195,  539,  171,
      191,  194,  100,  526,  100,  100,  100,  405,  100,  517,
      519,  100,  169,  169,  711,  100,  100,  100,  100,  100,
      100,  194,  197,  196,  100,  194,  100,  100,  100,  198,
      100,  541,  554,  518,  194,  100,  194,  169,  188,  188,
      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,

      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
      100,  194,  199,  100,  566,  562,  194,  194,  558,  520,
      100,  170,  100,  100,  100,  100,  200,  100,  100,  100,
      201,  100,  100,  194,  552,  194,  579,  194,  100,  202,
      203,  100,  100,  100,  100,  100,  194,  100,  204,  194,
      100,  563,  205,  194,  100,  194,  100,  194,  100,  710,
      194,  570,  100,  100,  100,  194,  100,  100,  206,  207,
      100,  100,  557,  100,  209,  194,  194,  100,  194,  100,
      212,  100,  100,  100,  100,  100,  208,  210,  100,  100,
      194,  211,  100,  216,  581,  589,  586,  194,  100,  582,

      100,  213,  100,  100,  638,  560,  100,  100,  194,  217,
      194,  580,  194,  100,  100,  100,  100,  100,  100,  597,
      100,  588,  100,  591,  100,  100,  100,  194,  218,  100,
      219,  598,  194,  100,  596,  194,  194,  594,  725,  100,
      100,  100,  194,  100,  194,  194,  220,  221,  100,  612,
      100,  100,  100,  222,  100,  194,  609,  100,  593,  100,
      613,  100,  618,  100,  194,  100,  623,  100,  100,  224,
      100,  100,  194,  223,  194,  194,  100,  194,  225,  709,
      100,  100,  100,  194,  100,  626,  194,  100,  599,  227,
      621,  100,  642,  100,  100,  100,  100,  100,  100,  194,

      100,  614,  228,  100,  620,  100,  627,  100,  100,  100,
      194,  100,  194,  194,  625,  100,  100,  100,  100,  100,
      100,  100,  100,  229,  100,  628,  231,  100,  194,  637,
      657,  100,  100,  100,  629,  100,  600,  600,  600,  600,
      100,  232,  100,  194,  100,  100,  100,  647,  234,  194,
      194,  233,  235,  194,  194,  100,  194,  100,  645,  100,
      237,  100,  639,  194,  100,  644,  707,  100,  659,  194,
      706,  238,  194,  100,  194,  100,  194,  100,  100,  100,
      100,  100,  239,  705,  100,  240,  100,  194,  100,  650,
      100,  194,  100,  244,  100,  100,  100,  100,  100,  664,

      242,  649,  241,  100,  658,  100,  100,  243,  652,  100,
      194,  194,  100,  651,  100,  601,  100,  245,  100,  669,
      100,  194,  100,  100,  100,  100,  100,  692,  665,  100,
      194,  100,  682,  100,  700,  100,  248,  100,  194,  100,
      194,  100,  246,  100,  100,  100,  249,  699,  100,  250,
      667,  194,  194,  194,  100,  100,  100,  100,  100,  100,
      662,  677,  254,  100,  100,  158,  158,  158,  158,  184,
      184,  184,  184,  184,  184,  184,  184,  672,  194,  159,
      159,  159,  159,  159,  159,  160,  160,  256,  701,  670,
      671,  160,  160,  160,  160,  160,  160,  160,  160,  257,

      194,  679,  681,  160,  160,  160,  160,  160,  160,  160,
      160,   99,  100,  100,  694,  272,  698,  194,  194,  194,
      194,  194,  100,  100,  100,  100,  100,  100,  100,  100,
      678,  100,  100,  600,  600,  600,  600,  194,  100,  273,
      100,  100,  100,  100,  194,  693,  194,  100,  100,  194,
      194,  194,  684,  194,  691,  188,  188,  188,  188,  188,
      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
      188,  188,  188,  188,  188,  188,  188,  100,  702,  708,
      194,  690,  689,  683,  194,  100,  680,  100,  100,  100,
      274,  100,  275,  687,  685,  100,  100,  100,  100,  100,

      100,  100,  100,  686,  100,  695,  696,  100,  194,  100,
      675,  100,  601,  100,  194,  100,  674,  100,  276,  277,
      100,  100,  194,  100,  673,  100,  668,  100,  100,  100,
      688,  100,  279,  278,  697,  100,  100,  100,  100,  100,
      666,  663,  655,  654,  100,  653,  100,  194,  100,  100,
      100,  648,  100,  646,  643,  280,  100,  100,  100,  100,
      281,  100,  635,  100,  703,  100,  282,  283,  100,  284,
      100,  100,  704,  631,  286,  630,  194,  285,  622,  619,
      100,  100,  100,  100,  100,  100,  100,  194,  194,  100,
      100,  603,  100,  590,  587,  194,  100,  553,  100,  287,

      100,  549,  100,  100,  100,  100,  100,  523,  522,  100,
      507,  100,  289,  100,  288,  100,  469,  100,  407,  100,
      100,  100,  100,  100,  340,  342,  100,  178,  100,  292,
      290,  176,  100,  291,  100,  174,  100,  100,  100,  100,
      100,  170,  340,  156,  725,  100,  194,  100,  100,  100,
      266,  100,  178,  176,  293,  262,  100,  170,  100,  294,
      100,  100,  100,  259,  258,  156,  194,  100,  186,  100,
      185,  100,  100,  100,  181,  100,  178,  176,  297,  100,
      100,  298,  299,  100,  100,  300,  100,  100,  100,  175,
      100,  100,  174,  100,  174,  168,  303,  301,  166,  100,

      100,  100,  100,  100,  100,  100,  100,  100,  302,  100,
      304,  100,  100,   96,  164,  163,  162,  156,   98,  100,
       95,  100,  100,  100,   86,  100,   83,   83,  725,  100,
      100,  100,  100,  100,  100,  100,  100,  725,  100,  725,
      725,  305,  725,  100,  725,  306,  308,  100,  725,  100,
      725,  725,  725,  100,  100,  100,  100,  100,  725,  309,
      725,  725,  100,  725,  100,  725,  100,  100,  100,  725,
      100,  310,  725,  725,  100,  100,  100,  100,  100,  100,
      100,  100,  725,  100,  725,  312,  100,  725,  100,  725,
      100,  725,  100,  725,  100,  725,  100,  725,  100,  100,

      100,  725,  100,  725,  100,  313,  100,  100,  100,  725,
      100,  725,  725,  314,  100,  100,  100,  100,  100,  318,
      100,  725,  725,  100,  315,  725,  725,  317,  100,  100,
      100,  100,  100,  725,  100,  725,  100,  725,  100,  100,
      100,  100,  100,  725,  725,  725,  725,  319,  725,  100,
      725,  100,  320,  100,  725,  100,  725,  100,  725,  100,
      100,  100,  725,  100,  321,  100,  725,  100,  100,  100,
      725,  100,  725,  725,  725,  100,  100,  100,  100,  100,
      725,  725,  725,  322,  100,  725,  100,  725,  100,  725,
      100,  725,  100,  725,  725,  323,  100,  100,  100,  100,

      100,  725,  325,  324,  725,  100,  725,  100,  725,  100,
      725,  100,  725,  100,  725,  725,  331,  100,  100,  100,
      327,  100,  328,  100,  100,  725,  100,  329,  725,  725,
      725,  725,  725,  100,  100,  100,  100,  100,  100,  100,
      725,  330,  100,  100,  725,  335,  725,  725,  725,  100,
      725,  100,  725,  100,  336,  336,  336,  336,  100,  725,
      725,  725,  338,  338,  338,  338,  725,  725,  337,  337,
      337,  337,  337,  337,  337,  337,  339,  339,  339,  339,
      339,  339,  339,  339,  100,  100,  725,  725,  725,  725,
      725,  725,  344,  725,  100,  100,  343,  100,  100,  100,

      100,  725,  725,  100,  100,  725,  100,  725,  725,  725,
      100,  345,  100,  725,  100,  725,  100,  100,  346,  100,
      100,  725,  725,  100,  725,  100,  348,  100,  725,  100,
      725,  100,  725,  100,  725,  100,  100,  100,  349,  100,
      100,  350,  100,  725,  725,  725,  725,  725,  725,  100,
      100,  100,  100,  100,  100,  100,  725,  725,  100,  100,
      725,  347,  725,  100,  725,  100,  725,  100,  725,  100,
      725,  100,  351,  100,  100,  100,  352,  100,  725,  725,
      725,  100,  100,  100,  100,  100,  354,  100,  725,  353,
      100,  725,  725,  725,  100,  100,  100,  100,  100,  100,

      725,  100,  725,  355,  725,  100,  100,  356,  100,  100,
      357,  100,  725,  358,  100,  725,  725,  725,  100,  725,
      100,  100,  100,  100,  725,  100,  100,  100,  725,  359,
      100,  725,  100,  725,  725,  725,  100,  725,  100,  725,
      100,  725,  100,  100,  100,  100,  360,  725,  725,  100,
      361,  100,  725,  100,  725,  100,  725,  100,  725,  100,
      100,  100,  100,  100,  725,  362,  725,  725,  100,  725,
      100,  725,  363,  725,  100,  100,  364,  725,  365,  100,
      725,  100,  725,  725,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  100,  100,  725,  725,  100,  725,

      100,  725,  100,  725,  100,  725,  100,  725,  100,  725,
      100,  100,  100,  100,  100,  725,  369,  100,  725,  725,
      370,  725,  725,  100,  100,  100,  100,  100,  100,  100,
      371,  725,  100,  100,  373,  100,  368,  725,  725,  100,
      725,  100,  377,  100,  725,  100,  725,  100,  372,  100,
      100,  374,  725,  100,  100,  375,  725,  725,  725,  725,
      100,  100,  100,  100,  100,  100,  376,  100,  725,  100,
      725,  100,  100,  100,  100,  100,  725,  725,  378,  725,
      100,  725,  100,  380,  100,  100,  100,  725,  100,  725,
      725,  725,  100,  100,  100,  100,  100,  100,  100,  100,

      725,  100,  385,  381,  100,  725,  100,  725,  100,  384,
      100,  382,  100,  725,  725,  725,  100,  100,  100,  100,
      100,  725,  725,  725,  725,  100,  725,  100,  725,  100,
      386,  100,  725,  100,  387,  100,  725,  100,  100,  100,
      725,  100,  725,  100,  725,  100,  100,  100,  725,  100,
      725,  100,  725,  100,  100,  100,  725,  100,  725,  725,
      725,  100,  100,  100,  100,  100,  725,  390,  725,  389,
      100,  725,  100,  725,  100,  100,  100,  725,  100,  725,
      725,  725,  100,  100,  100,  100,  100,  391,  725,  100,
      100,  100,  392,  100,  100,  725,  100,  725,  725,  725,

      100,  725,  100,  100,  100,  100,  100,  100,  100,  100,
      100,  100,  100,  725,  100,  100,  725,  100,  725,  725,
      725,  100,  725,  100,  100,  100,  395,  100,  100,  100,
      100,  100,  100,  100,  393,  397,  396,  725,  100,  725,
      725,  725,  100,  725,  100,  725,  100,  725,  100,  100,
      100,  100,  100,  725,  725,  100,  725,  100,  725,  100,
      725,  100,  725,  100,  725,  100,  399,  100,  100,  100,
      725,  725,  725,  398,  100,  336,  336,  336,  336,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  337,
      337,  337,  337,  337,  337,  337,  337,  403,  403,  403,

      403,  725,  725,  725,  725,  725,  725,  404,  725,  725,
      725,  337,  337,  337,  337,  337,  337,  337,  337,  338,
      338,  338,  338,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  339,  339,  339,  339,  339,  339,  339,
      339,  404,  725,  100,  725,  339,  339,  339,  339,  339,
      339,  339,  339,  100,  725,  100,  725,  100,  100,  409,
      725,  408,  100,  725,  725,  725,  725,  725,  100,  725,
      100,  100,  100,  410,  100,  725,  405,  100,  725,  725,
      725,  100,  725,  100,  100,  100,  100,  725,  100,  725,
      100,  412,  100,  100,  725,  100,  413,  725,  100,  725,

      725,  414,  100,  725,  100,  100,  100,  100,  100,  100,
      100,  100,  100,  100,  100,  725,  100,  100,  725,  725,
      725,  725,  725,  100,  100,  100,  100,  100,  415,  725,
      100,  725,  100,  725,  100,  100,  100,  100,  100,  725,
      416,  725,  725,  100,  417,  100,  725,  100,  725,  100,
      725,  100,  725,  725,  725,  418,  100,  100,  100,  100,
      725,  419,  725,  725,  100,  420,  725,  725,  100,  100,
      100,  421,  100,  725,  725,  100,  725,  100,  422,  100,
      725,  100,  423,  100,  725,  100,  100,  100,  100,  100,
      725,  725,  725,  725,  100,  725,  100,  100,  100,  725,

      100,  725,  424,  725,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  426,  725,  425,  100,  725,  100,  725,
      725,  725,  100,  725,  100,  725,  100,  725,  100,  100,
      100,  100,  100,  725,  725,  100,  427,  100,  725,  100,
      725,  100,  725,  100,  725,  100,  428,  429,  100,  100,
      100,  100,  725,  725,  100,  725,  725,  725,  433,  725,
      100,  100,  100,  100,  100,  100,  725,  725,  100,  100,
      100,  100,  434,  725,  435,  725,  725,  725,  100,  725,
      100,  100,  100,  100,  725,  100,  436,  100,  100,  100,
      100,  437,  725,  725,  725,  725,  725,  725,  100,  100,

      438,  100,  100,  100,  100,  725,  725,  100,  100,  725,
      100,  725,  725,  440,  100,  725,  100,  725,  100,  725,
      100,  100,  100,  439,  100,  442,  725,  725,  443,  100,
      725,  100,  725,  100,  100,  100,  725,  725,  441,  725,
      100,  725,  100,  725,  100,  100,  100,  725,  100,  725,
      725,  725,  100,  100,  100,  100,  100,  100,  100,  100,
      445,  100,  725,  725,  100,  725,  100,  725,  100,  725,
      100,  725,  100,  725,  100,  725,  100,  100,  446,  725,
      100,  725,  100,  725,  100,  100,  100,  725,  100,  725,
      448,  725,  100,  100,  450,  100,  100,  725,  725,  725,

      725,  100,  725,  725,  725,  100,  725,  100,  100,  100,
      725,  100,  725,  451,  100,  453,  725,  725,  100,  100,
      100,  100,  100,  454,  455,  100,  725,  100,  725,  100,
      100,  100,  100,  100,  725,  725,  725,  725,  100,  725,
      725,  725,  100,  100,  100,  725,  100,  725,  725,  100,
      725,  100,  459,  100,  456,  100,  725,  100,  725,  100,
      100,  100,  100,  100,  725,  725,  725,  725,  100,  725,
      100,  100,  100,  725,  100,  725,  460,  725,  725,  100,
      725,  100,  725,  100,  725,  100,  466,  466,  466,  466,
      100,  725,  725,  725,  725,  725,  725,  725,  100,  725,

      467,  467,  467,  467,  467,  467,  467,  467,  100,  725,
      100,  100,  100,  470,  100,  462,  725,  100,  725,  725,
      725,  100,  100,  100,  100,  100,  100,  725,  100,  471,
      100,  725,  100,  100,  473,  100,  100,  725,  100,  725,
      725,  100,  725,  725,  725,  100,  725,  100,  100,  100,
      100,  725,  100,  474,  100,  100,  725,  100,  475,  725,
      476,  100,  725,  725,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  100,  100,  725,  725,  100,  725,
      100,  725,  100,  725,  477,  725,  100,  725,  100,  725,
      100,  100,  100,  100,  725,  479,  478,  100,  725,  100,

      725,  725,  725,  100,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  725,  725,  100,  480,  100,  481,
      725,  725,  100,  725,  482,  725,  100,  725,  100,  725,
      100,  725,  100,  100,  100,  100,  100,  725,  484,  100,
      725,  100,  725,  100,  725,  483,  725,  100,  725,  100,
      100,  100,  100,  100,  725,  725,  100,  725,  100,  725,
      100,  725,  100,  485,  100,  725,  100,  100,  100,  100,
      100,  725,  725,  100,  725,  100,  725,  100,  725,  100,
      487,  100,  725,  100,  486,  100,  100,  100,  488,  100,
      100,  725,  100,  725,  492,  725,  725,  725,  725,  100,

      100,  100,  100,  100,  100,  100,  725,  725,  100,  100,
      725,  100,  493,  494,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  100,  100,  725,  725,  100,  725,
      100,  496,  100,  725,  100,  725,  100,  725,  100,  495,
      100,  100,  100,  100,  497,  725,  725,  100,  725,  100,
      498,  725,  725,  100,  725,  100,  725,  100,  725,  100,
      100,  100,  100,  100,  725,  725,  725,  725,  100,  725,
      100,  725,  100,  725,  100,  100,  499,  725,  500,  100,
      725,  100,  725,  725,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  100,  100,  725,  725,  501,  725,

      100,  725,  100,  725,  100,  100,  100,  504,  100,  725,
      725,  100,  725,  725,  725,  100,  100,  506,  100,  100,
      100,  725,  100,  725,  100,  725,  100,  100,  100,  100,
      100,  725,  509,  725,  508,  100,  725,  100,  725,  100,
      725,  100,  725,  100,  725,  725,  725,  100,  100,  100,
      725,  100,  100,  512,  725,  100,  100,  511,  100,  725,
      725,  725,  100,  725,  100,  100,  100,  100,  100,  100,
      100,  100,  100,  100,  100,  725,  100,  100,  725,  725,
      725,  725,  725,  100,  725,  100,  100,  100,  100,  725,
      100,  725,  100,  515,  725,  100,  466,  466,  466,  466,

      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      467,  467,  467,  467,  467,  467,  467,  467,  521,  725,
      100,  725,  467,  467,  467,  467,  467,  467,  467,  467,
      100,  725,  100,  100,  100,  725,  100,  725,  524,  100,
      525,  725,  725,  100,  725,  100,  100,  100,  100,  725,
      100,  100,  100,  725,  527,  100,  725,  100,  725,  725,
      725,  100,  725,  100,  725,  100,  725,  100,  100,  528,
      100,  100,  725,  725,  100,  529,  100,  725,  100,  725,
      100,  530,  100,  725,  100,  100,  100,  100,  100,  725,
      725,  100,  725,  100,  725,  100,  725,  100,  725,  100,

      725,  100,  100,  100,  100,  100,  725,  725,  725,  531,
      100,  725,  100,  100,  100,  532,  100,  725,  725,  100,
      725,  100,  725,  100,  725,  100,  725,  100,  725,  100,
      100,  100,  100,  100,  725,  533,  100,  725,  100,  725,
      100,  725,  100,  725,  100,  725,  100,  100,  100,  100,
      100,  725,  725,  725,  534,  100,  725,  100,  100,  100,
      725,  100,  725,  725,  536,  535,  100,  725,  100,  725,
      100,  725,  100,  725,  100,  100,  100,  100,  100,  725,
      725,  100,  725,  100,  725,  537,  725,  100,  542,  100,
      725,  100,  100,  100,  100,  100,  725,  725,  725,  725,

      100,  725,  100,  100,  100,  725,  100,  725,  725,  100,
      543,  100,  725,  100,  725,  100,  725,  100,  725,  100,
      100,  100,  100,  100,  725,  725,  100,  725,  100,  545,
      100,  725,  100,  725,  100,  725,  100,  544,  100,  100,
      100,  100,  100,  725,  725,  100,  725,  725,  725,  725,
      725,  100,  100,  100,  100,  100,  100,  100,  547,  546,
      100,  100,  725,  100,  725,  725,  725,  100,  725,  100,
      725,  100,  725,  100,  100,  100,  100,  100,  725,  725,
      100,  725,  100,  725,  551,  725,  100,  725,  100,  725,
      100,  100,  100,  100,  100,  725,  725,  725,  725,  100,

      725,  100,  100,  100,  725,  100,  725,  548,  100,  725,
      100,  555,  100,  725,  100,  725,  100,  725,  100,  725,
      100,  100,  100,  100,  725,  725,  556,  100,  559,  100,
      725,  725,  725,  100,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  564,  564,  564,  564,  100,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  565,  565,
      565,  565,  565,  565,  565,  565,  100,  100,  569,  725,
      725,  725,  725,  568,  725,  725,  100,  100,  100,  100,
      100,  100,  100,  725,  725,  100,  100,  725,  725,  725,
      100,  725,  100,  100,  100,  725,  100,  725,  571,  725,

      100,  100,  100,  100,  100,  573,  100,  100,  572,  100,
      725,  725,  100,  576,  100,  725,  100,  725,  574,  725,
      100,  725,  100,  725,  100,  100,  100,  575,  100,  725,
      100,  725,  100,  100,  100,  725,  100,  725,  725,  725,
      100,  100,  100,  100,  100,  725,  577,  725,  725,  100,
      725,  100,  725,  100,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  725,  100,  578,  100,  725,  100,
      100,  100,  725,  100,  725,  725,  725,  100,  100,  100,
      100,  100,  725,  583,  725,  725,  100,  725,  100,  725,
      100,  100,  100,  725,  100,  725,  725,  725,  100,  100,

      100,  100,  100,  100,  100,  100,  725,  100,  725,  725,
      100,  725,  100,  725,  100,  100,  100,  725,  100,  584,
      725,  725,  100,  100,  100,  100,  100,  100,  100,  100,
      725,  100,  592,  585,  100,  725,  100,  725,  100,  725,
      100,  725,  100,  725,  725,  725,  100,  100,  100,  100,
      100,  725,  100,  725,  725,  100,  725,  725,  725,  100,
      725,  100,  595,  100,  100,  725,  100,  725,  100,  725,
      725,  100,  564,  564,  564,  564,  725,  725,  725,  725,
      725,  725,  725,  725,  100,  725,  565,  565,  565,  565,
      565,  565,  565,  565,  100,  100,  100,  604,  100,  725,

      725,  100,  725,  100,  725,  100,  725,  100,  725,  100,
      725,  100,  100,  100,  100,  100,  725,  725,  100,  725,
      100,  606,  100,  725,  100,  725,  100,  725,  100,  605,
      100,  100,  100,  100,  100,  725,  725,  100,  607,  725,
      725,  725,  725,  100,  100,  100,  608,  100,  100,  100,
      100,  610,  100,  100,  725,  725,  725,  725,  725,  100,
      611,  100,  100,  100,  100,  100,  725,  725,  100,  100,
      725,  725,  725,  100,  725,  100,  725,  100,  725,  100,
      725,  615,  725,  100,  100,  100,  616,  100,  100,  100,
      725,  725,  100,  725,  725,  617,  725,  725,  100,  100,

      100,  100,  100,  100,  100,  100,  725,  100,  100,  725,
      725,  725,  725,  725,  100,  100,  632,  100,  100,  100,
      100,  100,  633,  100,  100,  725,  725,  725,  725,  725,
      100,  100,  100,  100,  100,  100,  100,  100,  725,  100,
      100,  725,  725,  725,  725,  725,  100,  100,  100,  100,
      100,  100,  100,  634,  725,  100,  100,  725,  100,  636,
      725,  725,  100,  725,  100,  725,  100,  725,  100,  100,
      100,  100,  100,  725,  725,  725,  725,  100,  725,  100,
      100,  640,  725,  100,  725,  725,  100,  725,  100,  725,
      100,  725,  100,  641,  100,  725,  100,  100,  100,  100,

      100,  725,  725,  100,  725,  100,  725,  100,  725,  100,
      725,  100,  725,  100,  100,  100,  100,  100,  725,  725,
      725,  725,  100,  725,  100,  100,  100,  725,  100,  725,
      725,  100,  656,  100,  725,  100,  725,  100,  725,  100,
      725,  100,  660,  661,  100,  100,  100,  100,  725,  725,
      100,  725,  725,  725,  725,  725,  100,  100,  100,  100,
      100,  100,  100,  100,  725,  100,  100,  725,  725,  676,
      725,  725,  100,  100,  100,  100,  100,  100,  725,  725,
      725,  100,  100,   54,   54,   54,   54,   54,   54,   54,
       54,   54,   54,   54,   54,   54,   54,   59,   59,   59,

       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
       59,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   67,   67,   67,   67,   67,
       67,   67,   67,   67,   67,   67,   67,   67,   67,   76,
       76,   76,   76,   76,   76,   76,   76,   76,   76,   76,
       76,   76,   76,   78,   78,   78,   78,   78,   78,   78,
       78,   78,   78,   78,   78,   78,   78,   85,   85,   85,
       85,  725,   85,   85,   85,   85,   85,   85,   85,   85,
       85,   92,   92,   92,  725,  725,   92,  725,   92,  725,
       92,  157,  157,  725,  157,  157,  161,  161,  725,  725,

      161,  161,  161,  725,  161,  161,  161,  161,  161,  161,
      165,  165,  165,  165,  725,  165,  165,  165,  165,  165,
      165,  165,  165,  165,  167,  167,  167,  167,  167,  167,
      167,  167,  167,  725,  167,  167,  169,  725,  725,  725,
      169,  169,  169,  169,  169,  169,  169,  169,  170,  725,
      725,  725,  170,  170,  170,  170,  170,  170,  170,  170,
      172,  725,  725,  725,  172,  725,  172,  172,  172,  172,
      172,  172,  177,  177,  725,  177,  177,  179,  179,  725,
      179,  179,  187,  725,  187,  187,  106,  106,  725,  106,
      106,  255,  725,  255,  255,  263,  725,  263,  263,  264,

      725,  264,  264,  267,  267,  267,  267,  267,  267,  267,
      267,  267,  267,  267,  267,  267,  267,  188,  188,  725,
      188,  188,  567,  567,  725,  567,  567,  567,  567,  567,
      567,  567,  567,  567,  567,  567,  565,  565,  565,  725,
      725,  725,  725,  565,  725,  725,  725,  725,  565,   17,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,

      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725
    } ;

static yyconst short int yy_chk[4432] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    3,    3,    3,    4,    4,    4,    5,    5,    5,
       11,    3,    9,    7,    4,    8,    9,    5,    6,    6,

        6,    7,   10,    8,   12,    7,   10,    8,    6,  122,
       28,   11,   28,   93,   11,   89,    7,  311,    8,   40,
      183,   15,   15,   15,   15,   12,   93,   15,   12,   40,
      723,   40,  566,   40,   16,   16,   16,   16,   40,  180,
       16,   19,   19,   19,   19,  180,   89,  183,   19,   20,
       20,   20,   20,  122,  260,  260,   20,   24,   24,   24,
       24,  566,  722,  311,   24,   26,   11,  251,   11,   26,
      131,   24,   24,   26,   26,   26,   26,   26,   26,   26,
       12,  136,   12,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   15,  121,

       15,   79,   79,   79,   79,  334,   13,   13,   13,   13,
       13,   16,  214,   16,   43,   13,   30,   30,   30,   30,
       30,   30,   30,   30,   43,  131,   43,  215,   43,   34,
      251,  141,   34,   43,  136,   37,   34,   13,   13,   34,
       34,   34,   34,   34,  296,   37,   37,   37,   34,   37,
      334,  153,   34,  150,   37,  121,  236,   37,  295,   43,
      214,   13,   13,   13,   14,   14,   14,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   80,
       80,   80,   80,  141,   81,  215,  154,   14,   14,   14,
       14,   14,   35,  226,  270,  296,   14,  720,   35,  182,

       81,  182,   35,  153,   35,   35,   35,  150,  447,  182,
       36,   35,  236,   36,  230,   38,   38,  295,   14,   14,
       36,  270,   36,  720,   36,  592,   38,  447,   38,   36,
       38,   81,   38,  154,  333,   38,   41,   41,  719,   41,
      341,  226,   14,   14,   14,   23,  154,   41,   41,   41,
      341,   41,  171,  171,   41,  592,   41,   84,   84,   84,
       84,   23,  230,  171,  253,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,  333,   23,   23,   23,   23,   23,   23,   23,   23,

       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   33,  253,  718,   33,   33,
       33,   33,   33,   33,   33,   33,  173,  173,  173,  173,
      307,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  247,  316,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   39,  252,  347,  332,  717,   42,   42,  269,  307,
      269,   39,  385,   39,   42,   39,  367,   42,  269,   42,

       39,   42,  716,   44,   44,  247,   42,   44,  326,  368,
      366,  402,   39,   44,  388,   44,  385,   44,  715,  316,
      458,  714,   44,   39,   45,   45,   46,   45,  379,   46,
      252,   44,  332,  383,  398,   45,   46,   45,   46,   45,
       46,   45,  347,   47,   45,   46,   47,  394,  367,  401,
       47,   48,  393,   47,  366,   47,  400,   47,  388,   48,
       48,   47,   47,   49,  411,  402,   47,   45,  368,  326,
       48,  431,   48,   49,   48,   49,   48,   49,   50,   48,
      379,   49,   49,  444,  458,  490,   51,  518,   50,  398,
       50,   48,   50,   51,  383,  394,   51,   50,   51,  406,

       51,  461,   49,  452,  406,   51,   53,   53,   53,   53,
      401,  393,  713,   50,  712,  400,  411,  431,  711,  490,
       53,   53,   53,   53,   53,   53,   53,   53,   76,  444,
      430,  518,  443,   76,   76,   76,   76,   76,   76,   76,
       76,   76,   76,   91,   91,   91,   91,  432,  452,  461,
       91,   76,   76,   76,   76,   76,  443,   91,   91,   94,
       94,   94,   94,   94,   94,   94,   94,   97,   97,   97,
       97,   97,   97,   97,   97,  100,  101,  457,  403,  403,
      403,  403,   76,   76,  430,  100,  101,  100,  101,  100,
      101,  102,  104,  101,  100,  101,  489,  472,  721,  432,

      462,  102,  104,  102,  104,  102,  104,   76,   77,  503,
      102,  104,  464,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,  463,  721,  491,  105,  103,  510,  457,
      489,   77,   77,   77,   77,   77,  105,  103,  105,  103,
      105,  103,  107,  503,  105,  105,  103,  107,  489,   77,
      103,  519,  107,  472,  107,  108,  107,  403,  109,  462,
      464,  107,   77,   77,  710,  108,  110,  108,  109,  108,
      109,  465,  109,  108,  108,  538,  110,  109,  110,  110,
      110,  491,  510,  463,  514,  110,  505,   77,   99,   99,
       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,

       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
      111,  526,  112,  112,  522,  519,  513,  520,  514,  465,
      111,  522,  111,  112,  111,  112,  112,  112,  114,  111,
      113,  113,  112,  540,  505,  552,  538,  548,  114,  114,
      114,  113,  114,  113,  115,  113,  539,  114,  115,  541,
      113,  520,  116,  517,  115,  708,  115,  613,  115,  706,
      550,  526,  116,  115,  116,  561,  116,  117,  117,  117,
      119,  116,  513,  118,  118,  554,  558,  117,  560,  117,
      119,  117,  119,  118,  119,  118,  117,  118,  120,  119,
      579,  118,  118,  123,  540,  552,  548,  562,  120,  541,

      120,  120,  120,  123,  613,  517,  124,  120,  557,  124,
      586,  539,  580,  123,  125,  123,  124,  123,  124,  561,
      124,  550,  123,  554,  125,  124,  125,  563,  125,  126,
      126,  562,  591,  125,  560,  596,  618,  558,  576,  126,
      127,  126,  581,  126,  589,  588,  126,  126,  126,  579,
      127,  128,  127,  127,  127,  594,  576,  129,  557,  127,
      580,  128,  586,  128,  598,  128,  591,  129,  130,  129,
      128,  129,  597,  128,  637,  599,  129,  612,  130,  705,
      130,  132,  130,  704,  133,  596,  623,  130,  563,  132,
      589,  132,  618,  132,  133,  132,  133,  134,  133,  621,

      132,  581,  133,  133,  588,  135,  597,  134,  137,  134,
      614,  134,  639,  620,  594,  135,  134,  135,  137,  135,
      137,  138,  137,  135,  135,  598,  137,  137,  627,  612,
      637,  138,  139,  138,  599,  138,  565,  565,  565,  565,
      138,  138,  139,  644,  139,  140,  139,  623,  140,  625,
      703,  139,  140,  701,  628,  140,  629,  140,  621,  140,
      142,  142,  614,  649,  140,  620,  700,  143,  639,  638,
      699,  142,  678,  142,  665,  142,  645,  143,  144,  143,
      142,  143,  143,  698,  145,  143,  143,  697,  144,  627,
      144,  647,  144,  147,  145,  146,  145,  144,  145,  644,

      145,  625,  144,  145,  638,  146,  147,  146,  629,  146,
      642,  657,  148,  628,  146,  565,  147,  148,  147,  649,
      147,  652,  148,  149,  148,  147,  148,  678,  645,  151,
      650,  148,  665,  149,  691,  149,  151,  149,  651,  151,
      692,  151,  149,  151,  155,  152,  152,  690,  151,  152,
      647,  659,  664,  682,  155,  152,  155,  152,  155,  152,
      642,  657,  155,  155,  152,  158,  158,  158,  158,  184,
      184,  184,  184,  184,  184,  184,  184,  652,  658,  158,
      158,  158,  158,  158,  158,  158,  158,  159,  692,  650,
      651,  159,  159,  159,  159,  159,  159,  159,  159,  160,

      667,  659,  664,  160,  160,  160,  160,  160,  160,  160,
      160,  187,  189,  190,  682,  189,  689,  688,  685,  681,
      702,  694,  189,  190,  189,  190,  189,  190,  191,  192,
      658,  189,  190,  600,  600,  600,  600,  671,  191,  192,
      191,  192,  191,  192,  669,  680,  679,  191,  192,  684,
      686,  670,  667,  677,  675,  187,  187,  187,  187,  187,
      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
      187,  187,  187,  187,  187,  187,  187,  193,  694,  702,
      672,  674,  673,  666,  687,  195,  663,  193,  196,  193,
      193,  193,  195,  671,  669,  195,  193,  195,  196,  195,

      196,  197,  196,  670,  195,  684,  686,  196,  662,  198,
      655,  197,  600,  197,  695,  197,  654,  199,  197,  198,
      197,  198,  696,  198,  653,  200,  648,  199,  198,  199,
      672,  199,  200,  199,  687,  200,  199,  200,  201,  200,
      646,  643,  635,  631,  200,  630,  202,  626,  201,  203,
      201,  624,  201,  622,  619,  201,  202,  201,  202,  203,
      202,  203,  609,  203,  695,  202,  203,  203,  203,  204,
      204,  205,  696,  603,  205,  602,  593,  204,  590,  587,
      204,  205,  204,  205,  204,  205,  206,  582,  570,  204,
      205,  567,  207,  553,  549,  516,  206,  507,  206,  206,

      206,  502,  207,  208,  207,  206,  207,  469,  468,  209,
      449,  207,  209,  208,  208,  208,  407,  208,  342,  209,
      210,  209,  208,  209,  340,  271,  211,  264,  209,  211,
      210,  263,  210,  210,  210,  262,  211,  212,  211,  210,
      211,  261,  258,  255,  194,  211,  188,  212,  213,  212,
      181,  212,  179,  177,  212,  175,  212,  170,  213,  213,
      213,  216,  213,  168,  163,  157,  106,  213,   98,  217,
       95,  216,  218,  216,   92,  216,   90,   88,  216,  217,
      216,  217,  218,  217,  218,  218,  218,  219,  217,   87,
      220,  218,   86,  221,   83,   69,  221,  219,   66,  219,

      220,  219,  220,  221,  220,  221,  219,  221,  220,  220,
      222,  223,  221,   62,   61,   58,   57,   52,   31,  222,
       27,  223,  224,  223,   22,  223,   21,   18,   17,  222,
      223,  222,  224,  222,  224,  225,  224,    0,  222,    0,
        0,  224,    0,  227,    0,  225,  227,  225,    0,  225,
        0,    0,    0,  227,  225,  227,  228,  227,    0,  228,
        0,    0,  227,    0,  229,    0,  228,  231,  228,    0,
      228,  229,    0,    0,  229,  228,  229,  231,  229,  231,
      232,  231,    0,  229,    0,  231,  231,    0,  233,    0,
      232,    0,  232,    0,  232,    0,  234,    0,  233,  232,

      233,    0,  233,    0,  235,  233,  234,  233,  234,    0,
      234,    0,    0,  234,  235,  234,  235,  237,  235,  238,
      238,    0,    0,  235,  235,    0,    0,  237,  239,  237,
      238,  237,  238,    0,  238,    0,  237,    0,  239,  238,
      239,  240,  239,    0,    0,    0,    0,  239,    0,  241,
        0,  240,  241,  240,    0,  240,    0,  242,    0,  241,
      240,  241,    0,  241,  242,  243,    0,  242,  241,  242,
        0,  242,    0,    0,    0,  243,  242,  243,  244,  243,
        0,    0,    0,  243,  243,    0,  245,    0,  244,    0,
      244,    0,  244,    0,    0,  244,  245,  244,  245,  246,

      245,    0,  246,  245,    0,  245,    0,  248,    0,  246,
        0,  246,    0,  246,    0,    0,  250,  248,  246,  248,
      248,  248,  248,  249,  250,    0,  248,  248,    0,    0,
        0,    0,    0,  249,  250,  249,  250,  249,  250,  254,
        0,  249,  249,  250,    0,  254,    0,    0,    0,  254,
        0,  254,    0,  254,  256,  256,  256,  256,  254,    0,
        0,    0,  257,  257,  257,  257,    0,    0,  256,  256,
      256,  256,  256,  256,  256,  256,  257,  257,  257,  257,
      257,  257,  257,  257,  272,  273,    0,    0,    0,    0,
        0,    0,  273,    0,  272,  273,  272,  273,  272,  273,

      274,    0,    0,  272,  273,    0,  275,    0,    0,    0,
      274,  274,  274,    0,  274,    0,  275,  276,  275,  274,
      275,    0,    0,  277,    0,  275,  277,  276,    0,  276,
        0,  276,    0,  277,    0,  277,  276,  277,  278,  278,
      279,  279,  277,    0,    0,    0,    0,    0,    0,  278,
      279,  278,  279,  278,  279,  280,    0,    0,  278,  279,
        0,  276,    0,  281,    0,  280,    0,  280,    0,  280,
        0,  282,  280,  281,  280,  281,  281,  281,    0,    0,
        0,  282,  281,  282,  284,  282,  283,  283,    0,  282,
      282,    0,    0,    0,  284,  285,  284,  283,  284,  283,

        0,  283,    0,  284,    0,  285,  283,  285,  286,  285,
      286,  287,    0,  287,  285,    0,    0,    0,  286,    0,
      286,  287,  286,  287,    0,  287,  288,  286,    0,  288,
      287,    0,  289,    0,    0,    0,  288,    0,  288,    0,
      288,    0,  289,  290,  289,  288,  289,    0,    0,  291,
      290,  289,    0,  290,    0,  290,    0,  290,    0,  291,
      292,  291,  290,  291,    0,  291,    0,    0,  291,    0,
      292,    0,  292,    0,  292,  293,  292,    0,  293,  292,
        0,  294,    0,    0,    0,  293,    0,  293,    0,  293,
        0,  294,  297,  294,  293,  294,    0,    0,  298,    0,

      294,    0,  297,    0,  297,    0,  297,    0,  298,    0,
      298,  297,  298,  299,  300,    0,  298,  298,    0,    0,
      299,    0,    0,  299,  300,  299,  300,  299,  300,  301,
      300,    0,  299,  300,  302,  302,  297,    0,    0,  301,
        0,  301,  304,  301,    0,  302,    0,  302,  301,  302,
      303,  302,    0,  304,  302,  303,    0,    0,    0,    0,
      303,  305,  303,  304,  303,  304,  303,  304,    0,  303,
        0,  305,  304,  305,  306,  305,    0,    0,  305,    0,
      305,    0,  308,  308,  306,  309,  306,    0,  306,    0,
        0,    0,  308,  306,  308,  309,  308,  309,  310,  309,

        0,  308,  313,  309,  309,    0,  312,    0,  310,  312,
      310,  310,  310,    0,    0,    0,  312,  310,  312,  313,
      312,    0,    0,    0,    0,  312,    0,  314,    0,  313,
      314,  313,    0,  313,  315,  315,    0,  314,  313,  314,
        0,  314,    0,  317,    0,  315,  314,  315,    0,  315,
        0,  318,    0,  317,  315,  317,    0,  317,    0,    0,
        0,  318,  317,  318,  319,  318,    0,  319,    0,  318,
      318,    0,  320,    0,  319,  321,  319,    0,  319,    0,
        0,    0,  320,  319,  320,  321,  320,  321,    0,  321,
      323,  320,  322,  322,  321,    0,  324,    0,    0,    0,

      323,    0,  323,  322,  323,  322,  324,  322,  324,  323,
      324,  325,  322,    0,  327,  324,    0,  328,    0,    0,
        0,  325,    0,  325,  327,  325,  327,  328,  327,  328,
      325,  328,  329,  327,  323,  329,  328,    0,  330,    0,
        0,    0,  329,    0,  329,    0,  329,    0,  330,  331,
      330,  329,  330,    0,    0,  335,    0,  330,    0,  331,
        0,  331,    0,  331,    0,  335,  331,  335,  331,  335,
        0,    0,    0,  330,  335,  336,  336,  336,  336,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,  336,
      336,  336,  336,  336,  336,  336,  336,  337,  337,  337,

      337,    0,    0,    0,    0,    0,    0,  337,    0,    0,
        0,  337,  337,  337,  337,  337,  337,  337,  337,  338,
      338,  338,  338,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,  338,  338,  338,  338,  338,  338,  338,
      338,  339,    0,  343,    0,  339,  339,  339,  339,  339,
      339,  339,  339,  343,    0,  343,    0,  343,  344,  344,
        0,  343,  343,    0,    0,    0,    0,    0,  344,    0,
      344,  346,  344,  345,  345,    0,  337,  344,    0,    0,
        0,  346,    0,  346,  345,  346,  345,    0,  345,    0,
      346,  348,  348,  345,    0,  349,  349,    0,  350,    0,

        0,  350,  348,    0,  348,  349,  348,  349,  350,  349,
      350,  348,  350,  351,  349,    0,  352,  350,    0,    0,
        0,    0,    0,  351,  353,  351,  352,  351,  352,    0,
      352,    0,  351,    0,  353,  352,  353,  354,  353,    0,
      353,    0,    0,  353,  354,  355,    0,  354,    0,  354,
        0,  354,    0,    0,    0,  355,  354,  355,  356,  355,
        0,  356,    0,    0,  355,  356,    0,    0,  356,  357,
      356,  357,  356,    0,    0,  358,    0,  356,  358,  357,
        0,  357,  358,  357,    0,  358,  359,  358,  357,  358,
        0,    0,    0,    0,  358,    0,  359,  360,  359,    0,

      359,    0,  359,    0,    0,  359,    0,  360,    0,  360,
        0,  360,  361,  361,    0,  360,  360,    0,  362,    0,
        0,    0,  361,    0,  361,    0,  361,    0,  362,  363,
      362,  361,  362,    0,    0,  364,  362,  362,    0,  363,
        0,  363,    0,  363,    0,  364,  363,  364,  363,  364,
      365,  369,    0,    0,  364,    0,    0,    0,  369,    0,
      365,  369,  365,  369,  365,  369,    0,    0,  371,  365,
      369,  370,  370,    0,  370,    0,    0,    0,  371,    0,
      371,  370,  371,  370,    0,  370,  371,  371,  373,  372,
      370,  372,    0,    0,    0,    0,    0,    0,  373,  372,

      373,  372,  373,  372,  374,    0,    0,  373,  372,    0,
      375,    0,    0,  375,  374,    0,  374,    0,  374,    0,
      375,  376,  375,  374,  375,  377,    0,    0,  378,  375,
        0,  376,    0,  376,  377,  376,    0,    0,  376,    0,
      376,    0,  380,    0,  377,  378,  377,    0,  377,    0,
        0,    0,  380,  377,  380,  378,  380,  378,  381,  378,
      380,  380,    0,    0,  378,    0,  382,    0,  381,    0,
      381,    0,  381,    0,  384,    0,  382,  381,  382,    0,
      382,    0,  386,    0,  384,  382,  384,    0,  384,    0,
      384,    0,  386,  384,  386,  387,  386,    0,    0,    0,

        0,  386,    0,    0,    0,  387,    0,  387,  389,  387,
        0,  390,    0,  387,  387,  389,    0,    0,  389,  391,
      389,  390,  389,  390,  391,  390,    0,  389,    0,  391,
      390,  391,  392,  391,    0,    0,    0,    0,  391,    0,
        0,    0,  392,  395,  392,    0,  392,    0,    0,  396,
        0,  392,  396,  395,  392,  395,    0,  395,    0,  396,
      397,  396,  395,  396,    0,    0,    0,    0,  396,    0,
      397,  399,  397,    0,  397,    0,  397,    0,    0,  397,
        0,  399,    0,  399,    0,  399,  404,  404,  404,  404,
      399,    0,    0,    0,    0,    0,    0,    0,  408,    0,

      404,  404,  404,  404,  404,  404,  404,  404,  408,    0,
      408,  410,  408,  409,  409,  399,    0,  408,    0,    0,
        0,  410,  412,  410,  409,  410,  409,    0,  409,  410,
      410,    0,  412,  409,  412,  413,  412,    0,  414,    0,
        0,  412,    0,    0,    0,  413,    0,  413,  414,  413,
      414,    0,  414,  413,  413,  415,    0,  414,  415,    0,
      416,  416,    0,    0,    0,  415,    0,  415,    0,  415,
        0,  416,  417,  416,  415,  416,    0,    0,  418,    0,
      416,    0,  417,    0,  417,    0,  417,    0,  418,    0,
      418,  417,  418,  419,    0,  419,  418,  418,    0,  420,

        0,    0,    0,  419,    0,  419,    0,  419,    0,  420,
        0,  420,  419,  420,    0,    0,  421,  420,  420,  421,
        0,    0,  422,    0,  422,    0,  421,    0,  421,    0,
      421,    0,  422,  423,  422,  421,  422,    0,  424,  424,
        0,  422,    0,  423,    0,  423,    0,  423,    0,  424,
      425,  424,  423,  424,    0,    0,  426,    0,  424,    0,
      425,    0,  425,  426,  425,    0,  426,  427,  426,  425,
      426,    0,    0,  428,    0,  426,    0,  427,    0,  427,
      428,  427,    0,  428,  427,  428,  427,  428,  429,  429,
      433,    0,  428,    0,  433,    0,    0,    0,    0,  429,

      433,  429,  433,  429,  433,  434,    0,    0,  429,  433,
        0,  435,  434,  435,    0,  434,    0,  434,    0,  434,
        0,  435,  436,  435,  434,  435,    0,    0,  437,    0,
      435,  437,  436,    0,  436,    0,  436,    0,  437,  436,
      437,  436,  437,  438,  438,    0,    0,  437,    0,  439,
      439,    0,    0,  438,    0,  438,    0,  438,    0,  439,
      440,  439,  438,  439,    0,    0,    0,    0,  439,    0,
      440,    0,  440,    0,  440,  441,  440,    0,  441,  440,
        0,  442,    0,    0,    0,  441,    0,  441,    0,  441,
        0,  442,  445,  442,  441,  442,    0,    0,  442,    0,

      442,    0,  445,    0,  445,  448,  445,  446,  446,    0,
        0,  445,    0,    0,    0,  448,  450,  448,  446,  448,
      446,    0,  446,    0,  448,    0,  450,  446,  450,  451,
      450,    0,  451,    0,  450,  450,    0,  453,    0,  451,
        0,  451,    0,  451,    0,    0,    0,  453,  451,  453,
        0,  453,  454,  454,    0,  455,  453,  453,  456,    0,
        0,    0,  454,    0,  454,  455,  454,  455,  456,  455,
      456,  454,  456,  459,  455,    0,  460,  456,    0,    0,
        0,    0,    0,  459,    0,  459,  460,  459,  460,    0,
      460,    0,  459,  460,    0,  460,  466,  466,  466,  466,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
      466,  466,  466,  466,  466,  466,  466,  466,  467,    0,
      470,    0,  467,  467,  467,  467,  467,  467,  467,  467,
      470,    0,  470,  471,  470,    0,  473,    0,  470,  470,
      471,    0,    0,  471,    0,  471,  473,  471,  473,    0,
      473,  474,  471,    0,  474,  473,    0,  475,    0,    0,
        0,  474,    0,  474,    0,  474,    0,  475,  476,  475,
      474,  475,    0,    0,  477,  476,  475,    0,  476,    0,
      476,  477,  476,    0,  477,  478,  477,  476,  477,    0,
        0,  479,    0,  477,    0,  478,    0,  478,    0,  478,

        0,  479,  480,  479,  478,  479,    0,    0,    0,  480,
      479,    0,  480,  481,  480,  481,  480,    0,    0,  482,
        0,  480,    0,  481,    0,  481,    0,  481,    0,  482,
      483,  482,  481,  482,    0,  483,  484,    0,  482,    0,
      483,    0,  483,    0,  483,    0,  484,  485,  484,  483,
      484,    0,    0,    0,  484,  484,    0,  485,  486,  485,
        0,  485,    0,    0,  487,  485,  485,    0,  486,    0,
      486,    0,  486,    0,  487,  488,  487,  486,  487,    0,
        0,  492,    0,  487,    0,  488,    0,  488,  492,  488,
        0,  492,  493,  492,  488,  492,    0,    0,    0,    0,

      492,    0,  493,  494,  493,    0,  493,    0,    0,  495,
      493,  493,    0,  494,    0,  494,    0,  494,    0,  495,
      496,  495,  494,  495,    0,    0,  497,    0,  495,  497,
      496,    0,  496,    0,  496,    0,  497,  496,  497,  496,
      497,  498,  499,    0,    0,  497,    0,    0,    0,    0,
        0,  498,  499,  498,  499,  498,  499,  500,  500,  498,
      498,  499,    0,  501,    0,    0,    0,  500,    0,  500,
        0,  500,    0,  501,  504,  501,  500,  501,    0,    0,
      506,    0,  501,    0,  504,    0,  504,    0,  504,    0,
      506,  508,  506,  504,  506,    0,    0,    0,    0,  506,

        0,  508,  509,  508,    0,  508,    0,  501,  511,    0,
      508,  511,  509,    0,  509,    0,  509,    0,  511,    0,
      511,  509,  511,  512,    0,    0,  512,  511,  515,  515,
        0,    0,    0,  512,    0,  512,    0,  512,    0,  515,
        0,  515,  512,  515,  521,  521,  521,  521,  515,    0,
        0,    0,    0,    0,    0,    0,    0,    0,  521,  521,
      521,  521,  521,  521,  521,  521,  524,  525,  525,    0,
        0,    0,    0,  524,    0,    0,  524,  525,  524,  525,
      524,  525,  527,    0,    0,  524,  525,    0,    0,    0,
      528,    0,  527,  529,  527,    0,  527,    0,  527,    0,

      528,  527,  528,  529,  528,  529,  530,  529,  528,  528,
        0,    0,  529,  533,  531,    0,  530,    0,  530,    0,
      530,    0,  532,    0,  531,  530,  531,  531,  531,    0,
      533,    0,  532,  531,  532,    0,  532,    0,    0,    0,
      533,  532,  533,  534,  533,    0,  534,    0,    0,  533,
        0,  535,    0,  534,    0,  534,    0,  534,    0,  536,
        0,  535,  534,  535,    0,  535,  536,  537,    0,  536,
      535,  536,    0,  536,    0,    0,    0,  537,  536,  537,
      542,  537,    0,  542,    0,    0,  537,    0,  543,    0,
      542,  544,  542,    0,  542,    0,    0,    0,  543,  542,

      543,  544,  543,  544,  545,  544,    0,  543,    0,    0,
      544,    0,  546,    0,  545,  547,  545,    0,  545,  546,
        0,    0,  546,  545,  546,  547,  546,  547,  551,  547,
        0,  546,  555,  547,  547,    0,  556,    0,  551,    0,
      551,    0,  551,    0,    0,    0,  556,  551,  556,  555,
      556,    0,  559,    0,    0,  556,    0,    0,    0,  555,
        0,  555,  559,  555,  559,    0,  559,    0,  555,    0,
        0,  559,  564,  564,  564,  564,    0,    0,    0,    0,
        0,    0,    0,    0,  568,    0,  564,  564,  564,  564,
      564,  564,  564,  564,  568,  569,  568,  568,  568,    0,

        0,  571,    0,  568,    0,  569,    0,  569,    0,  569,
        0,  571,  572,  571,  569,  571,    0,    0,  573,    0,
      571,  573,  572,    0,  572,    0,  572,    0,  573,  572,
      573,  572,  573,  574,  575,    0,    0,  573,  574,    0,
        0,    0,    0,  574,  575,  574,  575,  574,  575,  577,
      578,  577,  574,  575,    0,    0,    0,    0,    0,  577,
      578,  577,  578,  577,  578,  583,    0,    0,  577,  578,
        0,    0,    0,  584,    0,  583,    0,  583,    0,  583,
        0,  583,    0,  584,  583,  584,  584,  584,  585,  595,
        0,    0,  584,    0,    0,  585,    0,    0,  585,  595,

      585,  595,  585,  595,  604,  605,    0,  585,  595,    0,
        0,    0,    0,    0,  604,  605,  604,  605,  604,  605,
      606,  607,  606,  604,  605,    0,    0,    0,    0,    0,
      606,  607,  606,  607,  606,  607,  608,  610,    0,  606,
      607,    0,    0,    0,    0,    0,  608,  610,  608,  610,
      608,  610,  611,  608,    0,  608,  610,    0,  615,  611,
        0,    0,  611,    0,  611,    0,  611,    0,  615,  616,
      615,  611,  615,    0,    0,    0,    0,  615,    0,  616,
      617,  616,    0,  616,    0,    0,  632,    0,  616,    0,
      617,    0,  617,  617,  617,    0,  632,  633,  632,  617,

      632,    0,    0,  634,    0,  632,    0,  633,    0,  633,
        0,  633,    0,  634,  636,  634,  633,  634,    0,    0,
        0,    0,  634,    0,  636,  640,  636,    0,  636,    0,
        0,  641,  636,  636,    0,  640,    0,  640,    0,  640,
        0,  641,  640,  641,  640,  641,  656,  660,    0,    0,
      641,    0,    0,    0,    0,    0,  656,  660,  656,  660,
      656,  660,  661,  676,    0,  656,  660,    0,    0,  656,
        0,    0,  661,  676,  661,  676,  661,  676,    0,    0,
        0,  661,  676,  726,  726,  726,  726,  726,  726,  726,
      726,  726,  726,  726,  726,  726,  726,  727,  727,  727,

      727,  727,  727,  727,  727,  727,  727,  727,  727,  727,
      727,  728,  728,  728,  728,  728,  728,  728,  728,  728,
      728,  728,  728,  728,  728,  729,  729,  729,  729,  729,
      729,  729,  729,  729,  729,  729,  729,  729,  729,  730,
      730,  730,  730,  730,  730,  730,  730,  730,  730,  730,
      730,  730,  730,  731,  731,  731,  731,  731,  731,  731,
      731,  731,  731,  731,  731,  731,  731,  732,  732,  732,
      732,    0,  732,  732,  732,  732,  732,  732,  732,  732,
      732,  733,  733,  733,    0,    0,  733,    0,  733,    0,
      733,  734,  734,    0,  734,  734,  735,  735,    0,    0,

      735,  735,  735,    0,  735,  735,  735,  735,  735,  735,
      736,  736,  736,  736,    0,  736,  736,  736,  736,  736,
      736,  736,  736,  736,  737,  737,  737,  737,  737,  737,
      737,  737,  737,    0,  737,  737,  738,    0,    0,    0,
      738,  738,  738,  738,  738,  738,  738,  738,  739,    0,
        0,    0,  739,  739,  739,  739,  739,  739,  739,  739,
      740,    0,    0,    0,  740,    0,  740,  740,  740,  740,
      740,  740,  741,  741,    0,  741,  741,  742,  742,    0,
      742,  742,  743,    0,  743,  743,  744,  744,    0,  744,
      744,  745,    0,  745,  745,  746,    0,  746,  746,  747,

        0,  747,  747,  748,  748,  748,  748,  748,  748,  748,
      748,  748,  748,  748,  748,  748,  748,  749,  749,    0,
      749,  749,  750,  750,    0,  750,  750,  750,  750,  750,
      750,  750,  750,  750,  750,  750,  751,  751,  751,    0,
        0,    0,    0,  751,    0,    0,    0,    0,  751,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,

      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[133] =
    {   0,
       94,   95,   97,  100,  102,  105,  107,  108,  109,  112,
      114,  115,  116,  128,  135,  142,  148,  157,  165,  173,
      174,  176,  195,  201,  202,  203,  204,  205,  208,  214,
      221,  228,  235,  242,  243,  244,  252,  253,  254,  255,
      256,  261,  262,  263,  264,  265,  266,  267,  268,  269,
      270,  271,  280,  281,  282,  283,  284,  285,  286,  287,
      288,  289,  290,  291,  292,  293,  294,  295,  296,  297,
      298,  299,  300,  301,  302,  303,  304,  305,  306,  307,
      308,  309,  310,  311,  312,  313,  314,  315,  316,  317,
      318,  319,  320,  321,  322,  323,  324,  325,  326,  327,

      328,  329,  330,  331,  332,  333,  334,  335,  336,  337,
      342,  343,  348,  349,  350,  353,  358,  364,  372,  382,
      387,  389,  390,  394,  400,  406,  414,  417,  442,  486,
      488,  499
    } ;

static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
static char *yy_full_match;
static int yy_lp;
#define REJECT \
{ \
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
yy_cp = yy_full_match; /* restore poss. backed-over text */ \
++yy_lp; \
goto find_rule; \
}
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "asn1p_l.l"
#define INITIAL 0
#line 2 "asn1p_l.l"

#include <string.h>
#include <errno.h>
#include <assert.h>

#include "asn1parser.h"
#include "asn1p_y.h"

int asn1p_lex(void);
void asn1p_lexer_hack_push_opaque_state(void);		/* Used in .y */
void asn1p_lexer_hack_enable_with_syntax(void);		/* Used in .y */
void asn1p_lexer_hack_push_encoding_control(void);	/* Used in .y */

#define	YY_FATAL_ERROR(msg)	do {			\
		fprintf(stderr,				\
			"lexer error at line %d, "	\
			"text \"%s\"\n",		\
			yylineno, yytext);		\
		exit(1);				\
	} while(0)

int asn1p_lexer_pedantic_1990 = 0;
int asn1p_lexer_types_year = 0;
int asn1p_lexer_constructs_year = 0;
static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */

int asn1p_as_pointer;

/*
 * Check that the type is defined in the year of the standard choosen.
 */
#define	TYPE_LIFETIME(fyr, lyr)				\
	(!asn1p_lexer_types_year			\
	|| (fyr && fyr <= asn1p_lexer_types_year)	\
	|| (lyr && lyr  > asn1p_lexer_types_year))

/*
 * Check the the construction (or concept, i.e. CLASS) is defined in
 * a given year.
 */
#define	CONSTRUCT_LIFETIME(fyr, lyr)			\
	(!asn1p_lexer_constructs_year			\
	|| (fyr && fyr <= asn1p_lexer_constructs_year)	\
	|| (lyr && lyr  > asn1p_lexer_constructs_year))

/*
 * Append quoted string.
 */
#define	QAPPEND(text, tlen)	do {				\
		char *prev_text = asn1p_lval.tv_opaque.buf;	\
		int prev_len = asn1p_lval.tv_opaque.len;	\
		char *p;					\
								\
		p = malloc((tlen) + prev_len + 1);		\
		if(p == NULL) return -1;			\
								\
		if(prev_text) memcpy(p, prev_text, prev_len);	\
		memcpy(p + prev_len, text, tlen);		\
		p[prev_len + (tlen)] = '\0';			\
								\
		free(asn1p_lval.tv_opaque.buf);			\
		asn1p_lval.tv_opaque.buf = p;			\
		asn1p_lval.tv_opaque.len = (tlen) + prev_len;	\
	} while(0)

#define YY_NEVER_INTERACTIVE 1
#define YY_NO_INPUT 1
#define YY_STACK_USED 1
/* Performance penalty is OK */
/* Controlled from within application */
#define dash_comment 1

#define idash_comment 2

#define cpp_comment 3

#define quoted 4

#define opaque 5

#define encoding_control 6

#define with_syntax 7

/* Newline */
/* White-space */
#line 1870 "asn1p_l.c"

/* Macros after this point can all be overridden by user definitions in
 * section 1.
 */

#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void ));
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif

#ifndef YY_NO_UNPUT
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif

#ifndef yytext_ptr
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif

#ifdef YY_NEED_STRLEN
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
#endif

#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
#endif
#endif

#if YY_STACK_USED
static int yy_start_stack_ptr = 0;
static int yy_start_stack_depth = 0;
static int *yy_start_stack = 0;
#ifndef YY_NO_PUSH_STATE
static void yy_push_state YY_PROTO(( int new_state ));
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state YY_PROTO(( void ));
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state YY_PROTO(( void ));
#endif

#else
#define YY_NO_PUSH_STATE 1
#define YY_NO_POP_STATE 1
#define YY_NO_TOP_STATE 1
#endif

#ifdef YY_MALLOC_DECL
YY_MALLOC_DECL
#else
#if __STDC__
#ifndef __cplusplus
#include <stdlib.h>
#endif
#else
/* Just try to get by without declaring the routines.  This will fail
 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
 * or sizeof(void*) != sizeof(int).
 */
#endif
#endif

/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#endif

/* Copy whatever the last rule matched to the standard output. */

#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
 * we now use fwrite().
 */
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#endif

/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
 * is returned in "result".
 */
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
	if ( yy_current_buffer->yy_is_interactive ) \
		{ \
		int c = '*', n; \
		for ( n = 0; n < max_size && \
			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
			buf[n] = (char) c; \
		if ( c == '\n' ) \
			buf[n++] = (char) c; \
		if ( c == EOF && ferror( yyin ) ) \
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
		result = n; \
		} \
	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
		  && ferror( yyin ) ) \
		YY_FATAL_ERROR( "input in flex scanner failed" );
#endif

/* No semi-colon after return; correct usage is to write "yyterminate();" -
 * we don't want an extra ';' after the "return" because that will cause
 * some compilers to complain about unreachable statements.
 */
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif

/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif

/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif

/* Default declaration of generated scanner - a define so the user can
 * easily add parameters.
 */
#ifndef YY_DECL
#define YY_DECL int yylex YY_PROTO(( void ))
#endif

/* Code executed at the beginning of each rule, after yytext and yyleng
 * have been set up.
 */
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif

/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif

#define YY_RULE_SETUP \
	YY_USER_ACTION

YY_DECL
	{
	register yy_state_type yy_current_state;
	register char *yy_cp, *yy_bp;
	register int yy_act;

#line 92 "asn1p_l.l"


#line 2024 "asn1p_l.c"

	if ( yy_init )
		{
		yy_init = 0;

#ifdef YY_USER_INIT
		YY_USER_INIT;
#endif

		if ( ! yy_start )
			yy_start = 1;	/* first start state */

		if ( ! yyin )
			yyin = stdin;

		if ( ! yyout )
			yyout = stdout;

		if ( ! yy_current_buffer )
			yy_current_buffer =
				yy_create_buffer( yyin, YY_BUF_SIZE );

		yy_load_buffer_state();
		}

	while ( 1 )		/* loops until end-of-file is reached */
		{
		yy_cp = yy_c_buf_p;

		/* Support of yytext. */
		*yy_cp = yy_hold_char;

		/* yy_bp points to the position in yy_ch_buf of the start of
		 * the current run.
		 */
		yy_bp = yy_cp;

		yy_current_state = yy_start;
		yy_state_ptr = yy_state_buf;
		*yy_state_ptr++ = yy_current_state;
yy_match:
		do
			{
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
				{
				yy_current_state = (int) yy_def[yy_current_state];
				if ( yy_current_state >= 726 )
					yy_c = yy_meta[(unsigned int) yy_c];
				}
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
			*yy_state_ptr++ = yy_current_state;
			++yy_cp;
			}
		while ( yy_base[yy_current_state] != 4350 );

yy_find_action:
		yy_current_state = *--yy_state_ptr;
		yy_lp = yy_accept[yy_current_state];
find_rule: /* we branch to this label when backing up */
		for ( ; ; ) /* until we find what rule we matched */
			{
			if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
				{
				yy_act = yy_acclist[yy_lp];
					{
					yy_full_match = yy_cp;
					break;
					}
				}
			--yy_cp;
			yy_current_state = *--yy_state_ptr;
			yy_lp = yy_accept[yy_current_state];
			}

		YY_DO_BEFORE_ACTION;

		if ( yy_act != YY_END_OF_BUFFER )
			{
			int yyl;
			for ( yyl = 0; yyl < yyleng; ++yyl )
				if ( yytext[yyl] == '\n' )
					++yylineno;
			}

do_action:	/* This label is used only to access EOF actions. */

		if ( yy_flex_debug )
			{
			if ( yy_act == 0 )
				fprintf( stderr, "--scanner backing up\n" );
			else if ( yy_act < 133 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 133 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 134 )
				fprintf( stderr, "--(end of buffer or a NUL)\n" );
			else
				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
			}

		switch ( yy_act )
	{ /* beginning of action switch */
case 1:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 94 "asn1p_l.l"
/* Immediately terminated long comment */
	YY_BREAK
case 2:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 95 "asn1p_l.l"
yy_push_state(idash_comment);	/* Incorrect, but acceptable */
	YY_BREAK

case 3:
YY_RULE_SETUP
#line 97 "asn1p_l.l"
yy_pop_state(); /* Acceptable end of comment */
	YY_BREAK

case 4:
YY_RULE_SETUP
#line 100 "asn1p_l.l"
asn1p_as_pointer = 1;
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 102 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

case 6:
YY_RULE_SETUP
#line 105 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 7:
YY_RULE_SETUP
#line 107 "asn1p_l.l"
yy_pop_state();	/* End of comment */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 108 "asn1p_l.l"
/* Eat single dash */
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 109 "asn1p_l.l"
/* Eat */
	YY_BREAK

case 10:
YY_RULE_SETUP
#line 112 "asn1p_l.l"
yy_push_state(cpp_comment);
	YY_BREAK

case 11:
YY_RULE_SETUP
#line 114 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 116 "asn1p_l.l"
/* Eat */
	YY_BREAK

/*
	 * This is state is being set from corresponding .y module when
	 * higher-level data is necessary to make proper parsing of the
	 * underlying data. Thus, we enter the <opaque> state and save
	 * everything for later processing.
	 */

case 14:
YY_RULE_SETUP
#line 128 "asn1p_l.l"
{
			yy_push_state(opaque);
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 15:
YY_RULE_SETUP
#line 135 "asn1p_l.l"
{
			yy_pop_state();
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 16:
YY_RULE_SETUP
#line 142 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 148 "asn1p_l.l"
{
			fprintf(stderr,
				"ASN.1 Parser syncronization failure: "
				"\"%s\" at line %d must not appear "
				"inside value definition\n",
				yytext, yylineno);
			return -1;
		}
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 157 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

case 19:
YY_RULE_SETUP
#line 165 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = 0;
			asn1p_lval.tv_opaque.len = 0;
			QAPPEND(yytext+1, yyleng-1);
			yy_push_state(quoted);
		}
	YY_BREAK

case 20:
YY_RULE_SETUP
#line 173 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 174 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 176 "asn1p_l.l"
{
			yy_pop_state();
			/* Do not append last quote:
			// QAPPEND(yytext, yyleng); */

			if(asn1p_lexer_pedantic_1990
			&& strchr(yytext, '\n')) {
				fprintf(stderr, "%s: "
				"Newlines are prohibited by ASN.1:1990\n",
				asn1p_lval.tv_opaque.buf);
				return -1;
			}

			return TOK_cstring;
		}
	YY_BREAK


case 23:
YY_RULE_SETUP
#line 195 "asn1p_l.l"
{
			const char *s = "ENCODING-CONTROL";
			const char *p = s + sizeof("ENCODING-CONTROL") - 2;
			for(; p >= s; p--) unput(*p);
			yy_pop_state();
		}
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 201 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 202 "asn1p_l.l"

	YY_BREAK
case 26:
YY_RULE_SETUP
#line 203 "asn1p_l.l"

	YY_BREAK
case 27:
YY_RULE_SETUP
#line 204 "asn1p_l.l"
/* Eat everything else */
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 205 "asn1p_l.l"

	YY_BREAK

case 29:
YY_RULE_SETUP
#line 208 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 214 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_bstring;
	}
	YY_BREAK
case 31:
YY_RULE_SETUP
#line 221 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 228 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 235 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 242 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 243 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 244 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_ANY;	
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				REJECT;
			}
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 252 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 253 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 254 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 255 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 256 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 261 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 262 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 263 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 264 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 266 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 267 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 268 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 269 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 270 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 271 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_DEFINED;
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				/* Deprecated since */
				REJECT;
			}
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 280 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 281 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 282 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 283 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 288 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 290 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 291 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 303 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 304 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 305 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 306 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 348 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 349 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 350 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 353 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 364 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 119:
YY_RULE_SETUP
#line 372 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_capitalreference;
	}
	YY_BREAK
/*
	 * typereference, modulereference
	 * NOTE: TOK_objectclassreference must be combined
	 * with this token to produce true typereference.
	 */
case 120:
YY_RULE_SETUP
#line 382 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 387 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 389 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 390 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK

case 124:
YY_RULE_SETUP
#line 394 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 125:
YY_RULE_SETUP
#line 400 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 406 "asn1p_l.l"
{
				yy_pop_state();
				return '}';
			}
	YY_BREAK

case 127:
YY_RULE_SETUP
#line 414 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 417 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = asn1p_atoi(p); break; }
		if(v1 < 0 || v1 > 7) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..7 range for Tuple's TableColumn\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 15) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..15 range for Tuple's TableRow\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 4) + v2;
		return TOK_tuple;
	}
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 442 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v3 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v4 = asn1p_atoi(p); break; }
		if(v1 < 0 || v1 > 127) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..127 range for Quadruple's Group\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Plane\n",
				yytext, yylineno);
			return -1;
		}
		if(v3 < 0 || v3 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Row\n",
				yytext, yylineno);
			return -1;
		}
		if(v4 < 0 || v4 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Cell\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
		return TOK_quadruple;
	}
	YY_BREAK
case 130:
YY_RULE_SETUP
#line 486 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 131:
YY_RULE_SETUP
#line 488 "asn1p_l.l"
{
		if(TYPE_LIFETIME(1994, 0))
			fprintf(stderr, "ERROR: ");
		fprintf(stderr,
		"Symbol '%c' at line %d is prohibited "
		"by ASN.1:1994 and ASN.1:1997\n",
			yytext[0], yylineno);
		if(TYPE_LIFETIME(1994, 0))
			return -1;
	}
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 499 "asn1p_l.l"
{
		fprintf(stderr,
			"Unexpected token at line %d: \"%s\"\n",
			yylineno, yytext);
		while(YYSTATE != INITIAL)
			yy_pop_state();
		if(0) {
			yy_top_state();	/* Just to use this function. */
			yy_fatal_error("Parse error");
		}
		return -1;
}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(dash_comment):
case YY_STATE_EOF(idash_comment):
case YY_STATE_EOF(cpp_comment):
case YY_STATE_EOF(quoted):
case YY_STATE_EOF(opaque):
case YY_STATE_EOF(encoding_control):
case YY_STATE_EOF(with_syntax):
#line 512 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 133:
YY_RULE_SETUP
#line 519 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3053 "asn1p_l.c"

	case YY_END_OF_BUFFER:
		{
		/* Amount of text matched not including the EOB char. */
		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;

		/* Undo the effects of YY_DO_BEFORE_ACTION. */
		*yy_cp = yy_hold_char;
		YY_RESTORE_YY_MORE_OFFSET

		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
			{
			/* We're scanning a new file or input source.  It's
			 * possible that this happened because the user
			 * just pointed yyin at a new source and called
			 * yylex().  If so, then we have to assure
			 * consistency between yy_current_buffer and our
			 * globals.  Here is the right place to do so, because
			 * this is the first action (other than possibly a
			 * back-up) that will match for the new input source.
			 */
			yy_n_chars = yy_current_buffer->yy_n_chars;
			yy_current_buffer->yy_input_file = yyin;
			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
			}

		/* Note that here we test for yy_c_buf_p "<=" to the position
		 * of the first EOB in the buffer, since yy_c_buf_p will
		 * already have been incremented past the NUL character
		 * (since all states make transitions on EOB to the
		 * end-of-buffer state).  Contrast this with the test
		 * in input().
		 */
		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			{ /* This was really a NUL. */
			yy_state_type yy_next_state;

			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;

			yy_current_state = yy_get_previous_state();

			/* Okay, we're now positioned to make the NUL
			 * transition.  We couldn't have
			 * yy_get_previous_state() go ahead and do it
			 * for us because it doesn't know how to deal
			 * with the possibility of jamming (and we don't
			 * want to build jamming into it because then it
			 * will run more slowly).
			 */

			yy_next_state = yy_try_NUL_trans( yy_current_state );

			yy_bp = yytext_ptr + YY_MORE_ADJ;

			if ( yy_next_state )
				{
				/* Consume the NUL. */
				yy_cp = ++yy_c_buf_p;
				yy_current_state = yy_next_state;
				goto yy_match;
				}

			else
				{
				yy_cp = yy_c_buf_p;
				goto yy_find_action;
				}
			}

		else switch ( yy_get_next_buffer() )
			{
			case EOB_ACT_END_OF_FILE:
				{
				yy_did_buffer_switch_on_eof = 0;

				if ( yywrap() )
					{
					/* Note: because we've taken care in
					 * yy_get_next_buffer() to have set up
					 * yytext, we can now set up
					 * yy_c_buf_p so that if some total
					 * hoser (like flex itself) wants to
					 * call the scanner after we return the
					 * YY_NULL, it'll still work - another
					 * YY_NULL will get returned.
					 */
					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;

					yy_act = YY_STATE_EOF(YY_START);
					goto do_action;
					}

				else
					{
					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
					}
				break;
				}

			case EOB_ACT_CONTINUE_SCAN:
				yy_c_buf_p =
					yytext_ptr + yy_amount_of_matched_text;

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_match;

			case EOB_ACT_LAST_MATCH:
				yy_c_buf_p =
				&yy_current_buffer->yy_ch_buf[yy_n_chars];

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_find_action;
			}
		break;
		}

	default:
		YY_FATAL_ERROR(
			"fatal flex scanner internal error--no action found" );
	} /* end of action switch */
		} /* end of scanning one token */
	} /* end of yylex */


/* yy_get_next_buffer - try to read in a new buffer
 *
 * Returns a code representing an action:
 *	EOB_ACT_LAST_MATCH -
 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
 *	EOB_ACT_END_OF_FILE - end of file
 */

static int yy_get_next_buffer()
	{
	register char *dest = yy_current_buffer->yy_ch_buf;
	register char *source = yytext_ptr;
	register int number_to_move, i;
	int ret_val;

	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
		YY_FATAL_ERROR(
		"fatal flex scanner internal error--end of buffer missed" );

	if ( yy_current_buffer->yy_fill_buffer == 0 )
		{ /* Don't try to fill the buffer, so this is an EOF. */
		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
			{
			/* We matched a single character, the EOB, so
			 * treat this as a final EOF.
			 */
			return EOB_ACT_END_OF_FILE;
			}

		else
			{
			/* We matched some text prior to the EOB, first
			 * process it.
			 */
			return EOB_ACT_LAST_MATCH;
			}
		}

	/* Try to read more data. */

	/* First move last chars to start of buffer. */
	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;

	for ( i = 0; i < number_to_move; ++i )
		*(dest++) = *(source++);

	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
		/* don't do the read, it's not guaranteed to return an EOF,
		 * just force an EOF
		 */
		yy_current_buffer->yy_n_chars = yy_n_chars = 0;

	else
		{
		int num_to_read =
			yy_current_buffer->yy_buf_size - number_to_move - 1;

		while ( num_to_read <= 0 )
			{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
			YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else

			/* just a shorter name for the current buffer */
			YY_BUFFER_STATE b = yy_current_buffer;

			int yy_c_buf_p_offset =
				(int) (yy_c_buf_p - b->yy_ch_buf);

			if ( b->yy_is_our_buffer )
				{
				int new_size = b->yy_buf_size * 2;

				if ( new_size <= 0 )
					b->yy_buf_size += b->yy_buf_size / 8;
				else
					b->yy_buf_size *= 2;

				b->yy_ch_buf = (char *)
					/* Include room in for 2 EOB chars. */
					yy_flex_realloc( (void *) b->yy_ch_buf,
							 b->yy_buf_size + 2 );
				}
			else
				/* Can't grow it, we don't own it. */
				b->yy_ch_buf = 0;

			if ( ! b->yy_ch_buf )
				YY_FATAL_ERROR(
				"fatal error - scanner input buffer overflow" );

			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];

			num_to_read = yy_current_buffer->yy_buf_size -
						number_to_move - 1;
#endif
			}

		if ( num_to_read > YY_READ_BUF_SIZE )
			num_to_read = YY_READ_BUF_SIZE;

		/* Read in more data. */
		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
			yy_n_chars, num_to_read );

		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	if ( yy_n_chars == 0 )
		{
		if ( number_to_move == YY_MORE_ADJ )
			{
			ret_val = EOB_ACT_END_OF_FILE;
			yyrestart( yyin );
			}

		else
			{
			ret_val = EOB_ACT_LAST_MATCH;
			yy_current_buffer->yy_buffer_status =
				YY_BUFFER_EOF_PENDING;
			}
		}

	else
		ret_val = EOB_ACT_CONTINUE_SCAN;

	yy_n_chars += number_to_move;
	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;

	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];

	return ret_val;
	}


/* yy_get_previous_state - get the state just before the EOB char was reached */

static yy_state_type yy_get_previous_state()
	{
	register yy_state_type yy_current_state;
	register char *yy_cp;

	yy_current_state = yy_start;
	yy_state_ptr = yy_state_buf;
	*yy_state_ptr++ = yy_current_state;

	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
		{
		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
			{
			yy_current_state = (int) yy_def[yy_current_state];
			if ( yy_current_state >= 726 )
				yy_c = yy_meta[(unsigned int) yy_c];
			}
		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
		*yy_state_ptr++ = yy_current_state;
		}

	return yy_current_state;
	}


/* yy_try_NUL_trans - try to make a transition on the NUL character
 *
 * synopsis
 *	next_state = yy_try_NUL_trans( current_state );
 */

#ifdef YY_USE_PROTOS
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
#else
static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
	{
	register int yy_is_jam;

	register YY_CHAR yy_c = 1;
	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
		{
		yy_current_state = (int) yy_def[yy_current_state];
		if ( yy_current_state >= 726 )
			yy_c = yy_meta[(unsigned int) yy_c];
		}
	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
	yy_is_jam = (yy_current_state == 725);
	if ( ! yy_is_jam )
		*yy_state_ptr++ = yy_current_state;

	return yy_is_jam ? 0 : yy_current_state;
	}


#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
register char *yy_bp;
#endif
	{
	register char *yy_cp = yy_c_buf_p;

	/* undo effects of setting up yytext */
	*yy_cp = yy_hold_char;

	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
		{ /* need to shift things up to make room */
		/* +2 for EOB chars. */
		register int number_to_move = yy_n_chars + 2;
		register char *dest = &yy_current_buffer->yy_ch_buf[
					yy_current_buffer->yy_buf_size + 2];
		register char *source =
				&yy_current_buffer->yy_ch_buf[number_to_move];

		while ( source > yy_current_buffer->yy_ch_buf )
			*--dest = *--source;

		yy_cp += (int) (dest - source);
		yy_bp += (int) (dest - source);
		yy_current_buffer->yy_n_chars =
			yy_n_chars = yy_current_buffer->yy_buf_size;

		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
			YY_FATAL_ERROR( "flex scanner push-back overflow" );
		}

	*--yy_cp = (char) c;

	if ( c == '\n' )
		--yylineno;

	yytext_ptr = yy_bp;
	yy_hold_char = *yy_cp;
	yy_c_buf_p = yy_cp;
	}
#endif	/* ifndef YY_NO_UNPUT */


#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
	{
	int c;

	*yy_c_buf_p = yy_hold_char;

	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
		{
		/* yy_c_buf_p now points to the character we want to return.
		 * If this occurs *before* the EOB characters, then it's a
		 * valid NUL; if not, then we've hit the end of the buffer.
		 */
		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			/* This was really a NUL. */
			*yy_c_buf_p = '\0';

		else
			{ /* need more input */
			int offset = yy_c_buf_p - yytext_ptr;
			++yy_c_buf_p;

			switch ( yy_get_next_buffer() )
				{
				case EOB_ACT_LAST_MATCH:
					/* This happens because yy_g_n_b()
					 * sees that we've accumulated a
					 * token and flags that we need to
					 * try matching the token before
					 * proceeding.  But for input(),
					 * there's no matching to consider.
					 * So convert the EOB_ACT_LAST_MATCH
					 * to EOB_ACT_END_OF_FILE.
					 */

					/* Reset buffer status. */
					yyrestart( yyin );

					/* fall through */

				case EOB_ACT_END_OF_FILE:
					{
					if ( yywrap() )
						return EOF;

					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
#ifdef __cplusplus
					return yyinput();
#else
					return input();
#endif
					}

				case EOB_ACT_CONTINUE_SCAN:
					yy_c_buf_p = yytext_ptr + offset;
					break;
				}
			}
		}

	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
	*yy_c_buf_p = '\0';	/* preserve yytext */
	yy_hold_char = *++yy_c_buf_p;

	if ( c == '\n' )
		++yylineno;

	return c;
	}


#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
#else
void yyrestart( input_file )
FILE *input_file;
#endif
	{
	if ( ! yy_current_buffer )
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );

	yy_init_buffer( yy_current_buffer, input_file );
	yy_load_buffer_state();
	}


#ifdef YY_USE_PROTOS
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
#else
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
	{
	if ( yy_current_buffer == new_buffer )
		return;

	if ( yy_current_buffer )
		{
		/* Flush out information for old buffer. */
		*yy_c_buf_p = yy_hold_char;
		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	yy_current_buffer = new_buffer;
	yy_load_buffer_state();

	/* We don't actually know whether we did this switch during
	 * EOF (yywrap()) processing, but the only time this flag
	 * is looked at is after yywrap() is called, so it's safe
	 * to go ahead and always set it.
	 */
	yy_did_buffer_switch_on_eof = 1;
	}


#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
	{
	yy_n_chars = yy_current_buffer->yy_n_chars;
	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
	yyin = yy_current_buffer->yy_input_file;
	yy_hold_char = *yy_c_buf_p;
	}


#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
#else
YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
	{
	YY_BUFFER_STATE b;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_buf_size = size;

	/* yy_ch_buf has to be 2 characters longer than the size given because
	 * we need to put in 2 end-of-buffer characters.
	 */
	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
	if ( ! b->yy_ch_buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_is_our_buffer = 1;

	yy_init_buffer( b, file );

	return b;
	}


#ifdef YY_USE_PROTOS
void yy_delete_buffer( YY_BUFFER_STATE b )
#else
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
	{
	if ( ! b )
		return;

	if ( b == yy_current_buffer )
		yy_current_buffer = (YY_BUFFER_STATE) 0;

	if ( b->yy_is_our_buffer )
		yy_flex_free( (void *) b->yy_ch_buf );

	yy_flex_free( (void *) b );
	}


#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
extern int isatty YY_PROTO(( int ));
#endif
#endif

#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
#else
void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif


	{
	yy_flush_buffer( b );

	b->yy_input_file = file;
	b->yy_fill_buffer = 1;

#if YY_ALWAYS_INTERACTIVE
	b->yy_is_interactive = 1;
#else
#if YY_NEVER_INTERACTIVE
	b->yy_is_interactive = 0;
#else
	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
#endif
#endif
	}


#ifdef YY_USE_PROTOS
void yy_flush_buffer( YY_BUFFER_STATE b )
#else
void yy_flush_buffer( b )
YY_BUFFER_STATE b;
#endif

	{
	if ( ! b )
		return;

	b->yy_n_chars = 0;

	/* We always need two end-of-buffer characters.  The first causes
	 * a transition to the end-of-buffer state.  The second causes
	 * a jam in that state.
	 */
	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;

	b->yy_buf_pos = &b->yy_ch_buf[0];

	b->yy_at_bol = 1;
	b->yy_buffer_status = YY_BUFFER_NEW;

	if ( b == yy_current_buffer )
		yy_load_buffer_state();
	}


#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
#else
YY_BUFFER_STATE yy_scan_buffer( base, size )
char *base;
yy_size_t size;
#endif
	{
	YY_BUFFER_STATE b;

	if ( size < 2 ||
	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
	     base[size-1] != YY_END_OF_BUFFER_CHAR )
		/* They forgot to leave room for the EOB's. */
		return 0;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );

	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
	b->yy_buf_pos = b->yy_ch_buf = base;
	b->yy_is_our_buffer = 0;
	b->yy_input_file = 0;
	b->yy_n_chars = b->yy_buf_size;
	b->yy_is_interactive = 0;
	b->yy_at_bol = 1;
	b->yy_fill_buffer = 0;
	b->yy_buffer_status = YY_BUFFER_NEW;

	yy_switch_to_buffer( b );

	return b;
	}
#endif


#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
#else
YY_BUFFER_STATE yy_scan_string( yy_str )
yyconst char *yy_str;
#endif
	{
	int len;
	for ( len = 0; yy_str[len]; ++len )
		;

	return yy_scan_bytes( yy_str, len );
	}
#endif


#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
#else
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
yyconst char *bytes;
int len;
#endif
	{
	YY_BUFFER_STATE b;
	char *buf;
	yy_size_t n;
	int i;

	/* Get memory for full buffer, including space for trailing EOB's. */
	n = len + 2;
	buf = (char *) yy_flex_alloc( n );
	if ( ! buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );

	for ( i = 0; i < len; ++i )
		buf[i] = bytes[i];

	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;

	b = yy_scan_buffer( buf, n );
	if ( ! b )
		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );

	/* It's okay to grow etc. this buffer, and we should throw it
	 * away when we're done.
	 */
	b->yy_is_our_buffer = 1;

	return b;
	}
#endif


#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
static void yy_push_state( int new_state )
#else
static void yy_push_state( new_state )
int new_state;
#endif
	{
	if ( yy_start_stack_ptr >= yy_start_stack_depth )
		{
		yy_size_t new_size;

		yy_start_stack_depth += YY_START_STACK_INCR;
		new_size = yy_start_stack_depth * sizeof( int );

		if ( ! yy_start_stack )
			yy_start_stack = (int *) yy_flex_alloc( new_size );

		else
			yy_start_stack = (int *) yy_flex_realloc(
					(void *) yy_start_stack, new_size );

		if ( ! yy_start_stack )
			YY_FATAL_ERROR(
			"out of memory expanding start-condition stack" );
		}

	yy_start_stack[yy_start_stack_ptr++] = YY_START;

	BEGIN(new_state);
	}
#endif


#ifndef YY_NO_POP_STATE
static void yy_pop_state()
	{
	if ( --yy_start_stack_ptr < 0 )
		YY_FATAL_ERROR( "start-condition stack underflow" );

	BEGIN(yy_start_stack[yy_start_stack_ptr]);
	}
#endif


#ifndef YY_NO_TOP_STATE
static int yy_top_state()
	{
	return yy_start_stack[yy_start_stack_ptr - 1];
	}
#endif

#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif

#ifdef YY_USE_PROTOS
static void yy_fatal_error( yyconst char msg[] )
#else
static void yy_fatal_error( msg )
char msg[];
#endif
	{
	(void) fprintf( stderr, "%s\n", msg );
	exit( YY_EXIT_FAILURE );
	}



/* Redefine yyless() so it works in section 3 code. */

#undef yyless
#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		yytext[yyleng] = yy_hold_char; \
		yy_c_buf_p = yytext + n; \
		yy_hold_char = *yy_c_buf_p; \
		*yy_c_buf_p = '\0'; \
		yyleng = n; \
		} \
	while ( 0 )


/* Internal utility routines. */

#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
#else
static void yy_flex_strncpy( s1, s2, n )
char *s1;
yyconst char *s2;
int n;
#endif
	{
	register int i;
	for ( i = 0; i < n; ++i )
		s1[i] = s2[i];
	}
#endif

#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( yyconst char *s )
#else
static int yy_flex_strlen( s )
yyconst char *s;
#endif
	{
	register int n;
	for ( n = 0; s[n]; ++n )
		;

	return n;
	}
#endif


#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
#else
static void *yy_flex_alloc( size )
yy_size_t size;
#endif
	{
	return (void *) malloc( size );
	}

#ifdef YY_USE_PROTOS
static void *yy_flex_realloc( void *ptr, yy_size_t size )
#else
static void *yy_flex_realloc( ptr, size )
void *ptr;
yy_size_t size;
#endif
	{
	/* The cast to (char *) in the following accommodates both
	 * implementations that use char* generic pointers, and those
	 * that use void* generic pointers.  It works with the latter
	 * because both ANSI C and C++ allow castless assignment from
	 * any pointer type to void*, and deal with argument conversions
	 * as though doing an assignment.
	 */
	return (void *) realloc( (char *) ptr, size );
	}

#ifdef YY_USE_PROTOS
static void yy_flex_free( void *ptr )
#else
static void yy_flex_free( ptr )
void *ptr;
#endif
	{
	free( ptr );
	}

#if YY_MAIN
int main()
	{
	yylex();
	return 0;
	}
#endif
#line 519 "asn1p_l.l"


/*
 * Very dirty but wonderful hack allowing to rule states from within .y file.
 */
void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }

/*
 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
 */
void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }

/* Yet another */
void asn1p_lexer_hack_push_encoding_control() {
	yy_push_state(encoding_control);
}

static asn1c_integer_t
asn1p_atoi(char *ptr) {
	asn1c_integer_t value;
	errno = 0;	/* Clear the error code */

	if(sizeof(value) <= sizeof(int)) {
		value = strtol(ptr, 0, 10);
	} else {
#ifdef	HAVE_STRTOIMAX
		value = strtoimax(ptr, 0, 10);
#elif	HAVE_STRTOLL
		value = strtoll(ptr, 0, 10);
#else
		value = strtol(ptr, 0, 10);
#endif
	}

	if(errno == ERANGE) {
		fprintf(stderr,
			"Value \"%s\" at line %d is too large "
			"for this compiler! Please contact the asn1c author.\n",
			ptr, yylineno);
		errno = ERANGE;	/* Restore potentially clobbered errno */
	}

	return value;
}

