#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 129
#define YY_END_OF_BUFFER 130
static yyconst short int yy_acclist[1261] =
    {   0,
      130,  128,  129,  121,  128,  129,  121,  129,  122,  128,
      129,   15,  128,  129,  122,  128,  129,  128,  129,  122,
      128,  129,  128,  129,  122,  128,  129,  128,  129,   29,
      128,  129,   28,  128,  129,  122,  128,  129,  128,  129,
      116,  117,  128,  129,  116,  117,  128,  129,  116,  117,
      128,  129,  116,  117,  128,  129,  116,  117,  128,  129,
      116,  117,  128,  129,  116,  117,  128,  129,  116,  117,
      128,  129,  116,  117,  128,  129,  116,  117,  128,  129,
      116,  117,  128,  129,  116,  117,  128,  129,  116,  117,
      128,  129,  116,  117,  128,  129,  116,  117,  128,  129,

      116,  117,  128,  129,  116,  117,  128,  129,  116,  117,
      128,  129,  116,  117,  128,  129,  127,  128,  129,  115,
      128,  129,  122,  127,  128,  129,    5,  128,  129,    2,
      129,    2,  128,  129,    4,  128,  129,    7,    9,  128,
      129,    7,  129,    9,  128,  129,    9,  128,  129,   17,
      128,  129,   17,  129,   18,  128,  129,   12,  128,  129,
       12,  129,   14,  128,  129,   14,  128,  129,   10,  128,
      129,   11,  128,  129,   21,   23,  128,  129,   23,  128,
      129,   24,  129,   21,   22,   23,  128,  129,   21,   22,
       23,  128,  129,  124,  128,  129,  125,  128,  129,  125,

      129,  128,  129,  126,  128,  129,  121,   15,   15,  113,
      114,    1,   27,  120,    6,   28,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  117,  116,
      117,  116,  117,  116,  117,  116,  117,   39,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  117,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  117,  116,  117,  116,
      117,   84,  116,  117,  116,  117,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  117,  116,  117,  116,  117,

      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  117,  116,  117,  116,  117,  117,
      117,  116,  117,  115,    5,    3,    8,   17,   16,   12,
       21,   21,   22,   21,   22,  124,  125,  123,  113,  114,
       27,  119,  118,  116,  117,   31,  116,  117,   32,  116,
      117,  116,  117,  116,  117,  116,  117,   36,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
       53,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  117,  117,  116,  117,  116,

      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,   76,  116,  117,   77,  116,  117,  116,  117,  117,
      116,  117,  116,  117,  116,  117,  117,  116,  117,   87,
      116,  117,  116,  117,  116,  117,  116,  117,  117,  116,
      117,  116,  117,  116,  117,   95,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  117,  116,  117,  116,  117,  116,  117,  117,
      117,  117,  116,  117,   13,   21,   22,   20,   21,   22,
       26,   25,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,

      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,   61,  116,  117,  117,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,   79,
      116,  117,  117,  116,  117,  116,  117,  116,  117,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  117,   92,
      116,  117,  116,  117,  116,  117,   96,  116,  117,  116,
      117,  116,  117,  116,  117,  100,  116,  117,  102,  116,
      117,  116,  117,  117,  116,  117,  116,  117,  116,  117,

      116,  117,  116,  117,  117,  117,  117,  112,  116,  117,
       21,   22,  116,  117,  116,  117,  116,  117,   35,  116,
      117,  117,  116,  117,  116,  117,  116,  117,   42,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,   60,  116,  117,
      117,  117,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  117,  116,  117,   83,  116,  117,  116,
      117,  117,  116,  117,  116,  117,  116,  117,  116,  117,

      117,  116,  117,  116,  117,  116,  117,  116,  117,  117,
      116,  117,  117,  104,  116,  117,  116,  117,  116,  117,
      117,  116,  117,  117,  117,  117,   21,   22,   30,  116,
      117,  116,  117,  116,  117,  117,  116,  117,  116,  117,
       41,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,   55,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  117,  117,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  117,

       81,  116,  117,  116,  117,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  117,  116,  117,  116,  117,   97,
      116,  117,   98,  116,  117,  117,  116,  117,  117,  105,
      116,  117,  116,  117,  117,  117,  117,  117,  117,   21,
       22,  116,  117,  116,  117,  117,   38,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,   47,  116,  117,
       48,  116,  117,  116,  117,  116,  117,   51,  116,  117,
      116,  117,  116,  117,  116,  117,   57,  116,  117,  116,
      117,  116,  117,  117,  117,  117,  116,  117,  116,  117,
       68,  116,  117,   69,  116,  117,  116,  117,  116,  117,

      116,  117,   73,  116,  117,  116,  117,  116,  117,  116,
      117,  117,  116,  117,  117,   86,  116,  117,  116,  117,
       89,  116,  117,   91,  116,  117,  117,  116,  117,  116,
      117,  117,  116,  117,  117,  116,  117,  108,  117,  117,
      117,  117,  117,   21,   22,  116,  117,  116,  117,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
       50,  116,  117,  116,  117,  116,  117,   56,  116,  117,
      116,  117,   59,  116,  117,  117,  117,  117,  117,  116,
      117,   67,  116,  117,   70,  116,  117,   71,  116,  117,
      116,  117,  116,  117,  117,  116,  117,  117,   85,  116,

      117,  117,  116,  117,  117,  116,  117,   94,  116,  117,
      117,  116,  117,  117,  116,  117,  117,  117,  117,  117,
       21,   22,  116,  117,   34,  116,  117,   37,  117,   40,
      116,  117,   43,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  117,  117,  117,
       65,  117,  116,  117,  116,  117,  116,  117,  117,  116,
      117,  117,  117,  116,  117,  117,  116,  117,   99,  117,
      116,  117,  117,  106,  116,  117,  117,  117,  117,  117,
       21,  116,  117,   44,  116,  117,  116,  117,   46,  116,
      117,  116,  117,  116,  117,   54,  116,  117,  116,  117,

      117,  117,  117,   66,  116,  117,  116,  117,  116,  117,
      117,  116,  117,  117,  117,  116,  117,  117,  116,  117,
      116,  117,  117,  109,  117,  117,  117,  117,   21,   33,
      116,  117,   45,  116,  117,   49,  116,  117,  116,  117,
      116,  117,  117,  117,  117,  116,  117,  116,  117,  117,
      116,  117,  117,  117,  116,  117,  117,  116,  117,  116,
      117,  117,  117,  117,  117,   21,  116,  117,  116,  117,
      117,  117,  117,   72,  116,  117,   74,  116,  117,   75,
      117,  116,  117,  117,  117,  116,  117,  117,   93,  116,
      117,  116,  117,  117,  117,  117,  117,   21,  116,  117,

       58,  116,  117,   63,  117,  117,   64,  117,  116,  117,
       80,  117,  117,   88,  116,  117,  117,  116,  117,  101,
      117,  117,  117,  111,  117,   21,  116,  117,  117,   78,
      116,  117,  117,  117,  116,  117,  117,  110,  117,   21,
      116,  117,   62,  117,  117,   90,  117,  103,  116,  117,
      107,  117,   21,   52,  116,  117,   82,  117,   19,   21
    } ;

static yyconst short int yy_accept[672] =
    {   0,
        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,  127,  130,  132,  135,  138,  142,  144,  147,
      150,  153,  155,  158,  161,  163,  166,  169,  172,  175,
      179,  182,  184,  189,  194,  197,  200,  202,  204,  207,
      207,  208,  209,  210,  210,  211,  211,  212,  212,  212,
      213,  214,  215,  216,  217,  217,  219,  221,  223,  225,

      227,  229,  230,  232,  234,  236,  238,  241,  243,  245,
      247,  249,  251,  253,  255,  257,  259,  260,  261,  263,
      265,  267,  269,  271,  273,  275,  277,  278,  280,  282,
      285,  287,  288,  290,  292,  294,  296,  297,  299,  301,
      303,  305,  307,  309,  311,  313,  315,  316,  318,  320,
      321,  322,  324,  325,  326,  327,  328,  329,  330,  331,
      331,  332,  334,  336,  337,  338,  339,  339,  340,  341,
      341,  341,  342,  343,  344,  346,  349,  352,  354,  356,
      358,  361,  363,  365,  367,  369,  371,  373,  375,  377,
      379,  381,  384,  386,  388,  390,  392,  394,  396,  397,

      398,  400,  402,  404,  406,  408,  410,  412,  415,  418,
      420,  421,  423,  425,  427,  428,  430,  433,  435,  437,
      439,  440,  442,  444,  446,  449,  451,  453,  455,  457,
      459,  461,  463,  464,  466,  468,  470,  471,  472,  473,
      475,  476,  478,  481,  481,  482,  483,  485,  487,  489,
      491,  493,  495,  497,  499,  501,  503,  505,  507,  509,
      511,  513,  515,  517,  519,  521,  523,  525,  527,  530,
      531,  532,  534,  536,  538,  540,  542,  544,  546,  548,
      550,  553,  554,  556,  558,  560,  561,  563,  565,  567,
      569,  570,  573,  575,  577,  580,  582,  584,  586,  589,

      592,  594,  595,  597,  599,  601,  603,  605,  606,  607,
      608,  611,  613,  615,  617,  619,  622,  623,  625,  627,
      629,  632,  634,  636,  638,  640,  642,  644,  646,  648,
      650,  652,  654,  656,  658,  661,  662,  663,  664,  666,
      668,  670,  672,  674,  676,  678,  680,  682,  684,  685,
      687,  690,  692,  693,  695,  697,  699,  701,  702,  704,
      706,  708,  710,  711,  713,  714,  717,  719,  721,  722,
      724,  725,  726,  727,  729,  732,  734,  736,  737,  739,
      741,  744,  746,  748,  750,  752,  754,  756,  758,  760,
      762,  764,  767,  769,  771,  773,  775,  776,  777,  778,

      780,  782,  784,  786,  788,  790,  792,  794,  796,  798,
      800,  801,  804,  806,  807,  809,  811,  813,  815,  816,
      818,  820,  823,  826,  827,  829,  830,  833,  835,  836,
      837,  838,  839,  840,  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,  935,
      936,  938,  940,  941,  942,  943,  944,  946,  948,  950,
      951,  953,  955,  957,  959,  961,  964,  966,  968,  971,

      973,  976,  977,  978,  979,  980,  982,  985,  988,  991,
      993,  995,  996,  998,  999, 1002, 1003, 1005, 1006, 1008,
     1011, 1012, 1014, 1015, 1017, 1018, 1019, 1020, 1021, 1023,
     1025, 1028, 1030, 1033, 1036, 1038, 1040, 1042, 1044, 1046,
     1048, 1049, 1050, 1051, 1053, 1055, 1057, 1059, 1060, 1062,
     1063, 1064, 1066, 1067, 1069, 1071, 1073, 1074, 1077, 1078,
     1079, 1080, 1081, 1082, 1084, 1087, 1089, 1092, 1094, 1096,
     1099, 1101, 1102, 1103, 1104, 1107, 1109, 1111, 1112, 1114,
     1115, 1116, 1118, 1119, 1121, 1123, 1124, 1126, 1127, 1128,
     1129, 1130, 1133, 1136, 1139, 1141, 1143, 1144, 1145, 1146,

     1148, 1150, 1151, 1153, 1154, 1155, 1157, 1158, 1160, 1162,
     1163, 1164, 1165, 1166, 1167, 1169, 1171, 1172, 1173, 1174,
     1177, 1180, 1182, 1184, 1185, 1186, 1188, 1189, 1192, 1194,
     1195, 1196, 1197, 1198, 1199, 1201, 1204, 1206, 1207, 1209,
     1211, 1213, 1214, 1217, 1218, 1220, 1222, 1223, 1224, 1226,
     1227, 1229, 1230, 1233, 1234, 1235, 1237, 1238, 1240, 1241,
     1243, 1245, 1246, 1248, 1251, 1253, 1254, 1257, 1259, 1261,
     1261
    } ;

static yyconst int yy_ec[256] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
        4,    4,    4,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    2,    5,    6,    1,    1,    1,    7,    8,    9,
        9,   10,    1,    9,   11,   12,   13,   14,   15,   16,
       16,   17,   18,   19,   16,   20,   16,   21,   22,   23,
       24,    1,    1,    9,   25,   26,   27,   28,   29,   30,
       31,   32,   33,   34,   35,   36,   37,   38,   39,   40,
       41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
        9,    1,   51,   52,    1,    1,   53,   54,   55,   56,

       57,   58,   59,   60,   61,   62,   58,   63,   64,   65,
       66,   67,   58,   68,   69,   70,   71,   72,   58,   73,
       58,   74,   75,   76,   77,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,

        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    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[78] =
    {   0,
        1,    2,    3,    3,    1,    4,    5,    6,    1,    1,
        7,    1,    1,    8,    8,    8,    8,    8,    8,    8,
        9,    1,    1,    9,    8,    8,    8,    8,    8,    8,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
        1,    1,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   11,    1,   11
    } ;

static yyconst short int yy_base[689] =
    {   0,
        0,    0,   75,   77,   79,   80,   81,   88,   82,   92,
      169,  246,  108,  119,  797,  777,   94,   97,  775,  774,
      316,  116, 4266,  117,  767,   99, 4266,  124,  751, 4266,
      380,  173,  191,  120,  236,  254,  269,  188,  275,  430,
      431,  447,  453,  468,  474,  490,  498,  514,  515,  762,
        0,  760,    0, 4266, 4266,  756, 4266, 4266,  753,  754,
        0,    0,  757,    0,    0,  740, 4266, 4266, 4266,    0,
     4266, 4266,  575,  651,    0,  148,  151,  256, 4266,  746,
      159,    0,  745,  743,    0,   95,    0,  325,  739, 4266,
      223,  733, 4266,  550,  715,  564,  565,  580,  593,  596,

      609,    0,  640,  643,  656,  669,  680,  696,  704,  717,
      720,  733,  748,  754,  751,  769,  673,  684,  784,  787,
      795,  810,  821,  832,  838,  849,  669,  862,  865,  878,
      886,  669,  889,  902,  913,  926,  667,  942,  948,  959,
      965,  976,  991,  992, 1007, 1008,  663, 1023, 1024,  663,
       58, 1039,    0,    0, 4266, 4266,    0, 4266,    0,  699,
        0,  681,  159,    0,  201, 4266,  706,    0,    0,  163,
      683, 1071, 4266, 4266, 1066, 1067, 1082, 1083, 1098, 1106,
     1109, 1122, 1130, 1138, 1146, 1159, 1167, 1170, 1191, 1192,
     1207, 1213, 1224, 1230, 1241, 1247, 1258, 1269,  656,  645,

     1282, 1290, 1293, 1308, 1311, 1314, 1338, 1332, 1335, 1353,
      654, 1356, 1371, 1377,  653, 1388, 1399, 1405, 1416, 1427,
      639, 1438, 1444, 1455, 1461, 1476, 1477, 1492, 1503, 1509,
     1524, 1530,  643, 1541, 1552, 1563,  627,  641,  636, 1574,
     4266,  162,  655,  640, 4266, 4266, 1585, 1591, 1602, 1608,
     1619, 1625, 1641, 1642, 1657, 1665, 1673, 1689, 1686, 1697,
     1710, 1713, 1728, 1734, 1745, 1751, 1762, 1777, 1783,  622,
      626, 1794, 1800, 1815, 1816, 1831, 1837, 1852, 1855, 1863,
     1876,  616, 1884, 1887, 1900,  622, 1908, 1924, 1923, 1940,
      600, 1941, 1956, 1969, 1977, 1980, 1998, 1995, 2001, 2016,

     2019,  598, 2022, 2037, 2040, 2048, 2061,  610,  599,  601,
     2072,  187, 2085, 2088, 2106, 2109,  582, 2112, 2129, 2132,
     2140, 2153, 2161, 2169, 2182, 2190, 2203, 2211, 2219, 2227,
     2242, 2248, 2259, 2265, 2280,  595,  585,  576, 2281, 2301,
     2298, 2319, 2318, 2334, 2340, 2351, 2362, 2373,  582, 2379,
     2390, 2396,  570, 2407, 2418, 2424, 2435,  586, 2448, 2451,
     2459, 2472,  569, 2483,  573, 2489, 2504, 2505,  564, 2520,
      556,  553,  558,  227, 2526, 2542, 2548,  556, 2559, 2565,
     2576, 2582, 2598, 2599, 2614, 2625, 2631, 2648, 2654, 2665,
     2671, 2682, 2688, 2699, 2705, 2721,  552,  559,  552, 2722,

     2737, 2743, 2754, 2760, 2775, 2781, 2792, 2807, 2813, 2824,
      557, 2835, 2841,  583, 2852, 2858, 2869, 2882,  553, 2890,
     2905, 2908, 2911,  534, 2926,  521, 2929, 2932,  536,  524,
      520,  522,  521,  539, 2947, 2960,  509, 2963, 2978, 2984,
     2995, 3001, 3012, 3018, 3029, 3040, 3046, 3057, 3063, 3074,
     3085, 3091, 3102,  105,  530,  507, 3108, 3119, 3130, 3136,
     3147, 3153, 3168, 3169, 3184, 3190, 3201,  528, 3207,  505,
     3218, 3229, 3235, 3246,  498, 3252, 3267,  493, 3273,  514,
     3289,    0,  495,  496,  473,  502,  251, 3290, 3305,  485,
     3311, 3322, 3333, 3339, 3350, 3356, 3372, 3371, 3387, 3388,

     3403,  467,  459,  461,  470, 3409, 3420, 3426, 3437, 3443,
     3454,  459, 3465,  455, 3471,  453, 3482,  463, 3493, 3499,
      458, 3510,  441, 3516,  440,  436,  453,  420,  196, 3527,
     3533,    0, 3544, 3550, 3565, 3566, 3581, 3582, 3597, 3598,
      420,  429,  416,    0, 3613, 3621, 3636,  421, 3637,  412,
      417, 3652,  422, 3660,    0, 3668,  396, 3681,  403,  418,
      390,  391,  431, 3684, 3692, 3705, 3708, 3716, 3729, 3737,
     3745,  371,  375,  343, 3753, 3761, 3769,  338, 3777,  341,
      333, 3785,  323, 3793, 3801,  331,    0,  297,  268,  274,
      295, 3809, 3817, 3825, 3833, 3841,  267,  287,  265, 3854,

     3862,  266, 3870,  254,  256, 3878,  248, 3891, 3894,  245,
      238,  243,  237,  255, 3902, 3915,  232,  227,  228, 3918,
     3931,    0, 3939,  227,  218, 3942,  222, 3959, 3960,  218,
      210,  201,  204,  217, 3975, 3976,    0,  171,    0, 3992,
        0,  162, 3993,  154, 4010,    0,  151,  149,    0,  146,
     4018,  127, 4026,  102,  105, 4034,   86,    0,   90, 4042,
        0,   40,    0, 4055,    0,   68, 4058,    0,    0, 4266,
     4103, 4114, 4125, 4136, 4147, 4158, 4169, 4179, 4181, 4191,
     4202, 4213, 4223, 4233, 4243, 4247, 4251, 4255
    } ;

static yyconst short int yy_def[689] =
    {   0,
      670,    1,  671,  671,  672,  672,  673,  673,  674,  674,
      675,  675,  676,  676,  670,  670,  670,  670,  670,  677,
      670,  678,  670,  670,  670,  670,  670,  670,  670,  670,
      670,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,  670,
      679,  670,  680,  670,  670,  670,  670,  670,  670,  670,
      681,  681,  670,  682,  682,  670,  670,  670,  670,  683,
      670,  670,  684,  684,  685,  670,  670,   21,  670,  670,
      670,  677,  677,  670,  686,  670,  687,  678,  678,  670,
      670,  670,  670,  670,  670,   31,   31,   31,   31,   31,

       31,  688,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,  688,  688,   31,   31,
       31,   31,   31,   31,   31,   31,  688,   31,   31,   31,
       31,  688,   31,   31,   31,   31,  688,   31,   31,   31,
       31,   31,   31,   31,   31,   31,  688,   31,   31,  688,
      688,   31,  679,  680,  670,  670,  681,  670,  682,  670,
      683,   74,   74,  685,  670,  670,  670,  686,  687,  670,
      670,  670,  670,  670,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,  688,  688,

       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
      688,   31,   31,   31,  688,   31,   31,   31,   31,   31,
      688,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,  688,   31,   31,   31,  688,  688,  688,   31,
      670,   74,   74,  670,  670,  670,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,  688,
      688,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,  688,   31,   31,   31,  688,   31,   31,   31,   31,
      688,   31,   31,   31,   31,   31,   31,   31,   31,   31,

       31,  688,   31,   31,   31,   31,   31,  688,  688,  688,
       31,   74,   31,   31,   31,   31,  688,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,  688,  688,  688,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,  688,   31,
       31,   31,  688,   31,   31,   31,   31,  688,   31,   31,
       31,   31,  688,   31,  688,   31,   31,   31,  688,   31,
      688,  688,  688,   74,   31,   31,   31,  688,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,  688,  688,  688,   31,

       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
      688,   31,   31,  688,   31,   31,   31,   31,  688,   31,
       31,   31,   31,  688,   31,  688,   31,   31,  688,  688,
      688,  688,  688,   74,   31,   31,  688,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,  688,  688,  688,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,  688,   31,  688,
       31,   31,   31,   31,  688,   31,   31,  688,   31,  688,
       31,  688,  688,  688,  688,  688,   74,   31,   31,  688,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,

       31,  688,  688,  688,  688,   31,   31,   31,   31,   31,
       31,  688,   31,  688,   31,  688,   31,  688,   31,   31,
      688,   31,  688,   31,  688,  688,  688,  688,   74,   31,
       31,  688,   31,   31,   31,   31,   31,   31,   31,   31,
      688,  688,  688,  688,   31,   31,   31,  688,   31,  688,
      688,   31,  688,   31,  688,   31,  688,   31,  688,  688,
      688,  688,  683,   31,   31,   31,   31,   31,   31,   31,
       31,  688,  688,  688,   31,   31,   31,  688,   31,  688,
      688,   31,  688,   31,   31,  688,  688,  688,  688,  688,
      683,   31,   31,   31,   31,   31,  688,  688,  688,   31,

       31,  688,   31,  688,  688,   31,  688,   31,   31,  688,
      688,  688,  688,  683,   31,   31,  688,  688,  688,   31,
       31,  688,   31,  688,  688,   31,  688,   31,   31,  688,
      688,  688,  688,  683,   31,   31,  688,  688,  688,   31,
      688,  688,   31,  688,   31,  688,  688,  688,  688,  683,
       31,  688,   31,  688,  688,   31,  688,  688,  683,   31,
      688,  688,  688,   31,  688,  683,   31,  688,  683,    0,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670
    } ;

static yyconst short int yy_nxt[4344] =
    {   0,
       16,   17,   18,   17,   19,   20,   21,   22,   23,   16,
       24,   25,   26,   27,   28,   28,   28,   28,   28,   28,
       29,   19,   30,   30,   31,   32,   33,   34,   35,   36,
       37,   38,   39,   38,   38,   38,   40,   41,   42,   43,
       38,   44,   45,   46,   47,   48,   49,   38,   38,   38,
       19,   50,   51,   51,   51,   51,   51,   51,   51,   51,
       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
       51,   51,   51,   51,   23,   52,   23,   54,   55,   54,
       55,   58,   58,   62,   65,   56,   63,   56,   59,   59,
       62,   60,   60,   63,   65,   81,   81,   81,   81,   81,

       81,   80,   66,  669,   80,   67,   80,  668,   93,   76,
       77,   76,   66,  238,   78,   67,   84,   88,   88,   88,
       76,   77,   76,   80,   80,   78,  239,   90,  666,   88,
       88,   91,   91,   91,   91,   91,   91,   94,   94,   94,
       94,   94,   94,   94,  665,   96,   86,  502,  111,  165,
      165,  165,  165,  165,  165,   96,   68,   96,   69,   96,
       81,   81,   81,  663,   96,  503,   68,  662,   69,   70,
       71,   72,   71,   70,   70,   70,   70,   70,   70,   70,
       70,   70,   30,  661,   79,  242,  243,  659,  245,   70,
       70,   70,   70,   30,  246,   79,  162,   74,   96,  162,

      312,  103,  165,  165,  165,  104,  563,  658,   96,  105,
       96,  106,   96,   96,  374,  657,   96,   96,  655,   70,
       70,  107,  108,   96,  162,   96,  109,   96,   96,  110,
       96,  654,   96,  162,  652,   96,  172,  172,  172,  172,
      172,  172,  172,   71,   70,   71,   70,   71,   72,   71,
       70,   70,   70,   70,   70,   70,   70,   70,   70,  434,
      650,   96,  649,  670,  162,  648,   70,   70,   70,   70,
      647,   96,  112,  113,   74,   96,  646,  670,  115,   96,
       96,  529,  644,  114,  642,  641,  639,  638,  162,   96,
      637,   96,  634,   96,   96,  116,   70,   70,   96,  119,

       96,  633,  120,  632,   96,  631,   96,  670,   96,  630,
       96,  121,  122,   96,   96,  627,  625,  123,  624,   96,
       71,   70,   71,   80,  622,  117,   88,   88,   88,  619,
      618,  617,  170,  614,  613,  612,  118,   84,   88,   88,
       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
       85,   85,   85,   85,   85,   85,  611,   86,   87,   87,
       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
       96,  610,  607,   96,   96,   96,   96,   96,   96,   96,

      605,  604,  602,  599,   96,   97,   96,   96,   96,   96,
       96,   96,   96,   96,   96,   98,   96,   99,   96,  100,
       96,   96,   96,   96,  101,   96,   96,   96,   96,   96,
      598,  597,  102,  102,  102,  102,  102,  102,  102,  102,
      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
      102,  102,  102,  102,  124,   96,   96,  591,  590,  589,
      588,  587,  125,  586,  583,   96,   96,   96,   96,   96,
       96,  581,  128,  129,   96,  126,  130,  133,   96,  580,
      134,  578,   96,  574,   96,  573,  131,  572,  135,  562,
       96,   96,   96,   96,  136,  561,  138,   96,  560,   96,

      132,  127,  139,   96,  559,   96,  140,   96,  143,   96,
      557,   96,   96,   96,  144,   96,  555,  141,   96,  553,
      137,  551,  142,   96,  550,   96,  548,   96,  544,   96,
      543,  145,  542,   96,   96,  148,  541,   96,  146,   96,
       96,  149,   96,  532,  528,  527,  147,  152,  526,   96,
       96,   96,   96,   96,   96,  525,  523,  521,   96,   96,
      518,  516,  150,   94,   94,   94,   94,   94,   94,   94,
      514,  505,  504,  490,  151,  161,  487,  486,  485,  161,
      161,  161,  161,  161,  161,  161,  161,  161,  484,   96,
       96,  483,  482,  480,  478,  161,  161,  161,  161,   96,

       96,   96,   96,   96,   96,   96,  475,  175,   96,   96,
      470,  468,  456,  455,  454,  176,  437,   96,   96,   96,
      433,   96,  432,  431,   96,  161,  161,  429,   96,  426,
       96,   96,   96,   96,   96,  178,  424,   96,  419,  414,
       96,  177,  411,  399,   96,  398,   96,  397,   96,  378,
      161,  161,  179,   96,  373,  161,  161,  161,  161,  161,
      161,  161,  161,  161,  372,   96,  371,  365,   96,  358,
      180,  161,  161,  161,  161,   96,  353,   96,   96,   96,
       96,   96,   96,  349,   96,  337,  181,   96,  163,  336,
      166,   96,  162,   96,   96,  182,  310,  309,  308,  302,

       96,  161,  161,  291,   96,   96,   96,  183,   96,  286,
      282,  271,  270,   96,  246,   96,  244,   96,  162,   96,
      184,   96,  241,  237,   96,  233,  161,  221,  186,   96,
      215,   96,  211,   96,  185,   96,  200,  199,  174,   96,
       96,   96,   96,   96,  173,   96,  171,  167,   96,  189,
      166,  166,   96,  187,  188,   96,   96,   96,  190,   96,
      160,   96,  158,   93,   96,  156,  155,   80,   96,   80,
       96,   95,   96,   96,  191,  192,   96,   96,   92,   96,
      194,   83,   80,   96,   80,   96,  197,   96,   96,   96,
       96,   96,  193,  195,   96,   96,  670,  196,   96,  670,

      670,  201,  670,  670,   96,  670,   96,  198,   96,   96,
      670,  670,   96,   96,  670,  202,  670,  670,  670,   96,
       96,   96,   96,   96,   96,  670,   96,  670,   96,  670,
       96,   96,   96,  670,  203,   96,  204,  670,  670,   96,
      670,  670,  670,  670,  670,   96,   96,   96,  670,   96,
      670,  670,  205,  206,   96,  670,   96,   96,   96,  207,
       96,  670,  670,   96,  670,   96,  670,   96,  670,   96,
      670,   96,  670,   96,   96,  209,   96,   96,  670,  208,
      670,  670,   96,  670,  210,  670,   96,   96,   96,  670,
       96,  670,  670,   96,  670,  212,  670,   96,  670,   96,

       96,   96,   96,   96,   96,  670,   96,  670,  213,   96,
      670,   96,  670,   96,   96,   96,  670,   96,  670,  670,
      670,   96,   96,   96,   96,   96,   96,   96,   96,  214,
       96,  670,  216,   96,  670,  670,  670,   96,   96,   96,
      670,   96,  670,  670,  670,  670,   96,  217,   96,  670,
       96,   96,   96,  670,  219,  670,  670,  218,  220,  670,
      670,   96,  670,   96,  670,   96,  222,   96,  670,  670,
       96,  670,  670,   96,  670,  670,  670,  223,  670,   96,
      670,   96,  670,   96,   96,   96,   96,   96,  224,  670,
       96,  225,   96,  670,   96,  670,   96,  670,   96,  670,

       96,   96,   96,   96,   96,  229,  227,  670,  226,   96,
      670,   96,  670,  228,  670,   96,   96,   96,  670,  670,
       96,  670,  230,  670,  670,  670,   96,   96,   96,   96,
       96,   96,   96,   96,  670,   96,   96,  670,  670,  670,
      670,  670,   96,   96,   96,   96,   96,  232,   96,   96,
      235,  231,   96,  236,  670,  234,  670,  670,   96,   96,
       96,   96,   96,   96,   96,  670,  670,   96,   96,  670,
      670,  670,  670,  670,   96,  670,   96,  670,   96,  670,
      670,  670,  240,   96,  172,  172,  172,  172,  172,  172,
      172,   96,   96,  670,  247,  670,  670,  670,  670,  670,

      670,   96,   96,   96,   96,   96,   96,   96,   96,  670,
       96,   96,  670,  670,  670,  670,  670,   96,  248,   96,
       96,   96,   96,   96,  670,  670,   96,   96,  670,  670,
      670,   96,  670,   96,   96,   96,  249,   96,  250,  670,
      670,   96,   96,   96,   96,   96,   96,   96,   96,  670,
       96,  670,  670,   96,  670,   96,  670,   96,  670,   96,
      670,   96,  670,   96,  251,  252,   96,   96,  670,   96,
      670,   96,  670,   96,   96,   96,  670,   96,  254,  253,
      670,   96,   96,   96,   96,   96,  670,  670,  670,  670,
       96,  670,   96,  670,   96,   96,   96,  670,   96,  670,

      670,  255,   96,   96,   96,   96,  256,   96,  670,   96,
      670,   96,  257,  258,   96,  259,   96,   96,  670,  670,
      261,  670,  670,  260,  670,  670,   96,   96,   96,   96,
       96,   96,   96,  670,  670,   96,   96,  670,   96,  670,
      670,  670,   96,  670,   96,  262,   96,  670,   96,   96,
       96,   96,   96,  670,  670,   96,  670,   96,  264,   96,
      263,   96,  670,   96,  670,   96,   96,   96,   96,   96,
      670,  670,   96,  670,   96,  267,  265,  670,   96,  266,
       96,  670,   96,   96,   96,   96,   96,  670,  670,  670,
      670,   96,  670,   96,   96,   96,  670,   96,  670,  670,

      268,  670,   96,  670,   96,  269,   96,   96,   96,  670,
      670,  670,  670,   96,  670,   96,  670,   96,   96,   96,
      670,   96,  670,  670,  272,   96,   96,  273,  274,   96,
       96,  275,   96,   96,   96,  670,   96,   96,  670,   96,
      670,  670,  278,  276,  670,   96,   96,   96,   96,   96,
       96,   96,   96,   96,  277,   96,  279,   96,   96,  670,
       96,  670,  670,   96,  670,  670,  670,   96,  670,   96,
       96,   96,   96,   96,   96,   96,   96,   96,   96,  280,
      670,   96,   96,  670,  283,  670,  670,  670,  281,  670,
       96,   96,   96,   96,  670,   96,   96,   96,  670,  284,

       96,  670,   96,  670,  670,  670,   96,  670,   96,  285,
       96,  670,   96,   96,   96,   96,   96,  670,  670,  670,
      670,   96,  670,   96,   96,   96,  670,   96,  670,  670,
       96,  287,   96,  670,   96,  670,   96,  670,   96,  670,
       96,   96,   96,   96,   96,  670,  670,  288,  670,   96,
      670,   96,   96,   96,  670,   96,  670,  670,  289,  670,
       96,  670,   96,   96,   96,  670,   96,  670,  293,   96,
      670,   96,  290,  292,  670,   96,  670,   96,  670,   96,
       96,   96,   96,   96,  670,  670,   96,  670,   96,  670,
       96,  670,   96,  670,   96,  670,   96,  670,   96,  294,

       96,   96,   96,  670,  295,   96,  670,  670,  670,  296,
      670,   96,   96,   96,   96,   96,   96,   96,  670,  670,
       96,   96,  670,  670,  670,  670,  670,   96,   96,   96,
      670,   96,  670,  670,   96,  297,   96,  670,   96,  670,
       96,  670,   96,  670,   96,  298,   96,   96,   96,   96,
      670,  299,  300,   96,  670,   96,  670,  670,  301,   96,
      670,   96,  670,   96,  670,   96,   96,   96,   96,   96,
      670,  670,  670,  670,   96,  670,   96,   96,   96,  303,
       96,  304,  307,  670,  670,   96,  305,   96,   96,   96,
      670,   96,  670,  670,  670,  306,   96,  670,   96,   96,

       96,  670,   96,  670,  670,  311,  670,   96,  670,   96,
       96,   96,  670,   96,  670,  670,   96,  670,   96,  670,
       96,  670,  313,  314,   96,  670,   96,   96,   96,   96,
       96,  670,  670,   96,  670,   96,  670,   96,  315,   96,
      670,   96,  670,   96,   96,  316,   96,   96,  670,  670,
       96,  670,   96,  318,   96,  670,   96,  670,   96,  670,
       96,  670,   96,   96,   96,  319,   96,   96,  320,   96,
      670,  670,  670,  670,  670,  670,   96,   96,   96,   96,
       96,   96,   96,  670,  670,   96,   96,  670,  317,  670,
       96,  670,   96,  670,   96,  670,   96,  670,   96,  321,

       96,   96,   96,  322,   96,  670,  670,  670,   96,   96,
       96,   96,   96,  324,   96,  670,  323,   96,  670,  670,
      670,   96,   96,   96,   96,   96,   96,  670,   96,  670,
      325,  670,   96,   96,  326,   96,   96,  327,   96,  670,
      328,   96,  670,  670,  670,   96,  670,   96,   96,   96,
       96,  670,   96,   96,   96,  670,  329,   96,  670,   96,
      670,  670,  670,   96,  670,   96,  670,   96,  670,   96,
       96,   96,   96,  330,  670,  670,   96,  331,   96,  670,
       96,  670,   96,  670,   96,  670,   96,   96,   96,   96,
       96,  670,  332,  670,  670,   96,  670,   96,  670,  333,

      670,   96,   96,  334,  670,  335,   96,  670,   96,  670,
      670,  670,   96,  670,   96,  670,   96,  670,   96,   96,
       96,   96,   96,  670,  670,   96,  670,   96,  670,   96,
      670,   96,  670,   96,  670,   96,  670,   96,   96,   96,
       96,   96,  670,  339,   96,  670,  670,  340,  670,  670,
       96,   96,   96,   96,   96,   96,   96,  341,  670,   96,
       96,  343,   96,  338,  670,  670,   96,  670,   96,  670,
       96,  347,   96,  670,   96,  342,   96,   96,  344,  670,
       96,   96,  345,  670,  670,  670,  670,   96,   96,   96,
       96,   96,   96,  346,   96,  670,   96,  670,   96,   96,

       96,   96,   96,  670,  670,  348,  670,   96,  670,   96,
      350,   96,   96,   96,  670,   96,  670,  670,  670,   96,
       96,   96,   96,   96,   96,   96,   96,  670,   96,  670,
      351,   96,  670,   96,  355,   96,  354,   96,  352,   96,
      670,  670,  670,   96,   96,   96,  670,   96,   96,   96,
      670,  356,   96,  670,  670,  670,  670,  670,   96,   96,
       96,   96,   96,   96,  357,   96,   96,   96,   96,  670,
      670,  670,  670,  670,  670,   96,   96,   96,   96,   96,
       96,   96,  670,  670,   96,   96,  670,  670,  670,  670,
      670,   96,  670,   96,   96,   96,  670,  360,  670,  359,

       96,  670,   96,  670,   96,   96,   96,  670,   96,  670,
      670,  670,   96,   96,   96,   96,   96,  361,  670,   96,
       96,   96,  362,   96,   96,  670,   96,  670,  670,  364,
       96,  670,   96,   96,   96,   96,   96,   96,   96,   96,
       96,   96,   96,  670,   96,   96,  670,   96,  670,  670,
      670,   96,  670,   96,   96,   96,   96,   96,   96,  366,
       96,   96,   96,   96,  363,   96,   96,  670,  368,  670,
      670,  670,   96,   96,   96,   96,   96,   96,  670,   96,
      670,  367,  670,   96,   96,   96,   96,   96,  670,  670,
      670,  670,   96,  670,  670,  670,   96,   96,   96,  670,

       96,  670,  670,  370,  670,   96,  670,   96,  369,   96,
       96,   96,  670,   96,  376,  670,   96,  670,  670,  670,
       96,  670,   96,   96,   96,   96,  670,   96,  375,   96,
      377,   96,   96,  670,   96,  670,  379,   96,  670,  670,
      670,   96,  670,   96,   96,   96,   96,   96,   96,   96,
       96,   96,  670,   96,   96,  380,   96,   96,  670,  670,
      381,  670,  670,  670,   96,   96,   96,   96,   96,   96,
      670,   96,  670,   96,  670,   96,   96,   96,   96,   96,
      670,  670,  670,  670,   96,  670,   96,  670,   96,  670,
      382,  670,   96,  670,   96,  670,   96,   96,   96,  670,

       96,  384,  383,  670,   96,   96,   96,   96,   96,  670,
      670,  670,  670,   96,  670,   96,  670,  385,  386,   96,
      670,   96,  387,  670,  670,   96,   96,   96,   96,   96,
      388,  670,  670,  670,   96,  670,   96,  670,   96,  389,
       96,  670,   96,  390,   96,  670,   96,   96,   96,  670,
       96,  670,   96,  670,   96,   96,   96,  670,   96,  670,
      391,  670,   96,   96,   96,  670,   96,   96,  393,  670,
      392,   96,  670,   96,  670,  670,  670,   96,  670,   96,
      670,   96,  670,   96,   96,   96,   96,   96,  670,  670,
       96,  394,   96,  670,   96,  670,   96,  670,   96,  670,

       96,  395,  396,   96,   96,   96,   96,  670,  670,   96,
      670,  670,  670,  400,  670,   96,   96,   96,   96,   96,
       96,  670,  670,   96,   96,   96,   96,  401,  670,  402,
      670,  670,  670,   96,  670,   96,   96,   96,   96,  670,
       96,  403,   96,   96,   96,   96,  404,  670,  670,  670,
      670,  670,  670,   96,   96,  405,   96,   96,   96,   96,
      670,  670,   96,   96,  670,   96,  670,  670,  407,   96,
      670,   96,  670,   96,  670,   96,   96,   96,  406,   96,
      409,  670,  670,  410,   96,  670,   96,   96,   96,  670,
       96,  670,  670,  408,  670,   96,  670,   96,   96,   96,

      670,   96,  670,  670,   96,  670,   96,  670,   96,  670,
       96,  670,   96,  670,   96,   96,   96,   96,   96,  670,
      670,   96,  412,   96,  670,   96,  670,   96,  670,   96,
      670,   96,   96,  413,   96,   96,  670,  670,  670,  670,
       96,  670,   96,   96,   96,  670,   96,  670,  415,   96,
      416,   96,  670,   96,  670,   96,  670,   96,  670,   96,
       96,  417,   96,   96,  670,  670,  670,  670,   96,  670,
       96,  670,   96,   96,   96,  670,   96,  670,  418,   96,
      420,  670,  670,   96,   96,   96,   96,   96,  421,  422,
       96,  670,   96,  670,   96,   96,   96,   96,   96,  670,

      670,  670,  670,   96,  670,  670,  670,   96,   96,   96,
      670,   96,  670,  670,   96,  425,   96,  670,   96,  423,
       96,  670,   96,  670,   96,  670,   96,   96,   96,   96,
       96,  670,  427,   96,  670,  670,  670,  670,  670,   96,
       96,   96,   96,   96,   96,   96,  428,  670,   96,   96,
      670,   96,  670,  670,  670,   96,  670,   96,  670,   96,
      670,   96,  670,   96,   96,   96,  435,   96,  670,  670,
       96,  670,  670,   96,  670,  670,  670,   96,  670,   96,
      670,   96,  670,   96,   96,   96,   96,   96,  670,  430,
       96,  436,   96,  670,   96,  670,  438,  670,   96,  670,

       96,   96,   96,   96,   96,  670,  670,   96,  439,   96,
      440,   96,  670,   96,  670,   96,  670,   96,  670,   96,
       96,   96,  441,   96,   96,  670,   96,  670,  670,  670,
      670,  670,  670,   96,   96,   96,  442,   96,   96,   96,
      670,  670,   96,   96,  670,  670,  670,  670,  670,   96,
       96,   96,  444,   96,  670,  670,   96,  443,   96,  670,
       96,  670,   96,  670,   96,  670,   96,  670,   96,   96,
       96,  670,  670,   96,  445,   96,  446,  670,  670,   96,
      670,  447,  670,   96,  670,   96,  670,   96,  670,   96,
       96,   96,   96,   96,  670,  449,   96,  670,   96,  670,

       96,  670,  448,  670,   96,  670,   96,   96,   96,   96,
       96,  670,  670,   96,  670,   96,  670,   96,  670,   96,
      450,   96,  670,   96,   96,   96,   96,   96,  670,  670,
       96,  670,   96,  670,   96,  670,   96,  452,   96,  670,
       96,  451,   96,   96,   96,  453,   96,   96,  670,   96,
      670,  457,  670,  670,  670,  670,   96,   96,   96,   96,
       96,   96,   96,  670,  670,   96,   96,  670,   96,  458,
      459,  670,   96,  670,   96,  670,   96,  670,   96,   96,
       96,   96,   96,  670,  670,   96,  670,   96,  461,   96,
      670,   96,  670,   96,  670,   96,  460,   96,   96,   96,

       96,  462,  670,  670,   96,  670,   96,  463,  670,  670,
       96,  670,   96,  670,   96,  670,   96,   96,   96,   96,
       96,  670,  670,  670,  670,   96,  670,   96,  670,   96,
      670,   96,   96,  464,  670,  465,   96,  670,   96,  670,
      670,  670,   96,  670,   96,  670,   96,  670,   96,   96,
       96,   96,   96,  670,  670,  466,  467,   96,  670,   96,
       96,   96,  670,   96,  670,  469,   96,  670,   96,  670,
       96,  670,   96,  670,   96,  670,   96,   96,   96,   96,
       96,  670,  670,   96,  670,   96,  670,   96,  670,  471,
      670,   96,  670,   96,   96,  472,   96,   96,  670,  670,

      670,  670,   96,  670,   96,  670,   96,   96,   96,  670,
      474,  670,  473,   96,  670,   96,  670,   96,  670,   96,
      670,   96,  670,  670,  670,   96,   96,   96,  670,   96,
       96,  477,  670,   96,   96,  476,   96,  670,  670,  670,
       96,  670,   96,   96,   96,   96,   96,   96,   96,   96,
       96,   96,   96,  479,   96,   96,  670,   96,  670,  670,
      670,   96,  670,   96,   96,   96,   96,   96,   96,   96,
       96,   96,   96,   96,  481,  670,   96,  670,  670,  670,
      670,  670,   96,  670,   96,   96,   96,  670,   96,  670,
      488,   96,  489,  670,  670,   96,  670,   96,   96,   96,

       96,  670,   96,   96,   96,  670,  491,   96,  670,   96,
      670,  670,  670,   96,  670,   96,  670,   96,  670,   96,
       96,  492,   96,   96,  670,  670,   96,  493,   96,  670,
       96,  670,   96,  494,   96,  670,   96,   96,   96,   96,
       96,  670,  670,   96,  670,   96,  670,   96,  670,   96,
      670,   96,  670,   96,   96,   96,   96,   96,  670,  670,
      670,  495,   96,  670,   96,   96,   96,  496,   96,  670,
      670,   96,  670,   96,  670,   96,  670,   96,  670,   96,
      670,   96,   96,   96,   96,   96,  670,  497,   96,  670,
       96,  670,   96,  670,   96,  670,   96,  670,   96,   96,

       96,   96,   96,  670,  670,  670,  498,   96,  670,   96,
       96,   96,  670,   96,  670,  670,  500,  499,   96,  670,
       96,  670,   96,  670,   96,  670,   96,   96,   96,   96,
       96,  670,  670,   96,  670,   96,  670,  501,  670,   96,
      506,   96,  670,   96,   96,   96,   96,   96,  670,  670,
      670,  670,   96,  670,   96,   96,   96,  670,   96,  670,
      670,   96,  507,   96,  670,   96,  670,   96,  670,   96,
      670,   96,   96,   96,   96,   96,  670,  670,   96,  670,
       96,  509,   96,  670,   96,  670,   96,  670,   96,  508,
       96,   96,   96,   96,   96,  670,  670,   96,  670,  670,

      670,  670,  670,   96,   96,   96,   96,   96,   96,   96,
      511,  510,   96,   96,  670,   96,  670,  670,  670,   96,
      670,   96,  670,   96,  670,   96,   96,   96,   96,   96,
      670,  670,   96,  670,   96,  670,   96,  670,  513,  670,
       96,  670,  515,   96,   96,   96,   96,  670,  670,  670,
      670,   96,  670,   96,   96,   96,  670,   96,  517,  512,
       96,  670,   96,  670,   96,  670,   96,  670,   96,  670,
       96,   96,   96,   96,   96,  670,  670,   96,  670,   96,
      519,   96,  670,   96,  670,   96,  670,   96,  670,   96,
       96,   96,   96,  670,  670,  520,   96,  670,   96,  670,

      670,  522,   96,  670,   96,  670,   96,  670,   96,  670,
       96,   96,   96,  524,   96,   96,  670,   96,  670,  670,
      670,  670,  530,  670,   96,   96,   96,   96,   96,   96,
       96,  531,  670,   96,   96,  670,   96,  670,  670,  670,
       96,  670,   96,  670,   96,  670,   96,   96,   96,   96,
       96,  670,  533,  670,  670,   96,  670,   96,   96,   96,
      670,   96,  670,  670,   96,  534,   96,  670,   96,  670,
      535,  670,   96,  670,   96,   96,  536,   96,   96,  670,
      670,   96,  538,   96,  670,   96,  670,   96,  537,   96,
      670,   96,  670,   96,   96,   96,   96,   96,  670,  539,

       96,  670,  670,  670,  670,  670,   96,   96,   96,   96,
       96,   96,   96,   96,  670,   96,   96,  670,  670,  670,
      540,  670,   96,   96,   96,   96,   96,   96,   96,  670,
      670,   96,   96,  670,   96,  670,  670,  545,   96,  670,
       96,  670,   96,  670,   96,   96,   96,   96,   96,  670,
      670,   96,  670,   96,  670,   96,  670,   96,  670,   96,
      670,   96,   96,   96,   96,   96,  670,  670,   96,  670,
       96,  670,   96,  670,   96,  546,   96,  670,   96,   96,
       96,   96,   96,  670,  670,  670,  670,   96,  670,   96,
       96,   96,  670,   96,  549,  670,   96,  547,   96,  670,

       96,  670,   96,  554,   96,  670,   96,   96,   96,   96,
       96,  670,  670,  670,  552,   96,  670,   96,   96,   96,
      670,   96,  670,  670,   96,  670,   96,  670,   96,  670,
       96,  670,   96,  670,   96,   96,   96,   96,   96,  670,
      670,   96,  670,   96,  670,   96,  670,  556,  670,   96,
      670,  558,   96,   96,   96,   96,  670,  670,   96,  670,
       96,  670,   96,  670,   96,  564,   96,  670,   96,   96,
       96,   96,   96,  670,  670,   96,  670,   96,  670,   96,
      670,   96,  670,   96,  670,   96,  670,   96,   96,   96,
       96,   96,  565,  566,   96,  670,  567,  670,  670,  670,

       96,   96,   96,   96,   96,   96,   96,   96,  569,   96,
       96,  670,  670,  670,  670,  670,   96,   96,  568,   96,
       96,   96,   96,   96,  570,   96,   96,  670,  670,  670,
      670,  670,   96,  571,   96,   96,   96,   96,   96,  670,
      670,   96,   96,  670,  670,  670,   96,  670,   96,  670,
       96,  670,   96,  670,  575,  670,   96,   96,   96,  576,
       96,   96,   96,  670,  670,   96,  670,  670,  577,  579,
      670,   96,   96,   96,   96,   96,   96,   96,  670,  670,
       96,   96,  670,  670,  670,   96,  670,   96,  670,  582,
      670,   96,  670,   96,  670,   96,   96,   96,  584,   96,

      670,  670,  670,   96,   96,   96,   96,   96,  670,   96,
      670,  585,   96,  670,  670,  670,   96,   96,   96,   96,
       96,  592,  670,   96,  670,   96,  670,   96,   96,   96,
       96,   96,  593,   96,  670,  670,   96,  670,  670,  670,
       96,   96,   96,   96,   96,   96,  670,   96,  670,   96,
      670,   96,   96,   96,   96,   96,  670,  670,  594,  670,
       96,  670,   96,  670,   96,  670,   96,  595,   96,  670,
       96,  670,   96,   96,   96,  670,   96,  596,   96,  670,
       96,   96,   96,  670,   96,  670,   96,  670,   96,   96,
       96,  670,   96,  670,   96,  670,   96,   96,  600,  670,

       96,  670,   96,  670,   96,   96,   96,  601,   96,  670,
       96,  670,   96,   96,  603,  670,   96,  606,   96,  670,
       96,   96,   96,  670,   96,  608,   96,  670,   96,   96,
       96,  670,   96,  609,   96,  670,   96,   96,   96,  670,
       96,  670,   96,  670,   96,   96,   96,  670,   96,  670,
       96,  670,   96,   96,   96,  670,   96,  670,   96,  670,
       96,   96,   96,  670,   96,  670,   96,  670,   96,   96,
      615,  670,   96,  670,  670,  670,   96,   96,   96,   96,
       96,  670,  670,  670,  616,   96,  670,   96,  670,   96,
      670,   96,  670,   96,  670,   96,  620,   96,   96,  621,

      670,   96,  623,   96,  670,   96,   96,   96,  670,   96,
      670,  670,  670,   96,   96,   96,   96,   96,  628,   96,
      670,  626,   96,  629,  670,  670,   96,   96,   96,   96,
       96,   96,  670,   96,  670,   96,  670,   96,   96,   96,
       96,   96,  670,   96,  670,  635,   96,  670,  670,  670,
       96,  670,   96,   96,   96,   96,   96,   96,  670,   96,
      670,  670,   96,  636,   96,  670,   96,   96,   96,  670,
       96,  670,  670,  670,   96,   96,   96,   96,   96,   96,
      670,   96,  640,   96,   96,   96,   96,  670,  670,  670,
      643,  670,  645,  670,   96,   96,   96,   96,   96,   96,

       96,   96,  670,   96,   96,  670,  670,  670,  670,  670,
       96,   96,   96,   96,   96,   96,  651,   96,   96,   96,
       96,  670,  670,  670,  670,  670,  670,   96,   96,   96,
       96,   96,   96,  670,  670,   96,   96,   96,  656,  670,
      653,  670,  670,   96,  670,   96,  670,   96,  670,   96,
      670,   96,  670,   96,   96,   96,  660,   96,  670,   96,
      670,   96,   96,   96,  670,   96,  670,   96,  670,   96,
       96,   96,  670,   96,  670,  664,  670,  667,   96,   96,
       96,   96,  670,   96,  670,  670,   96,  670,  670,  670,
       96,  670,   96,   96,   96,   96,  670,   96,  670,   96,

      670,  670,   96,   53,   53,   53,   53,   53,   53,   53,
       53,   53,   53,   53,   57,   57,   57,   57,   57,   57,
       57,   57,   57,   57,   57,   61,   61,   61,   61,   61,
       61,   61,   61,   61,   61,   61,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   73,   73,   73,
       73,   73,   73,   73,   73,   73,   73,   73,   75,   75,
       75,   75,   75,   75,   75,   75,   75,   75,   75,   82,
       82,   82,  670,   82,   82,   82,   82,   82,   82,   82,
       89,   89,  670,  670,   89,  670,   89,  153,  153,  670,
      153,  154,  154,  670,  154,  154,  154,  670,  154,  154,

      154,  154,  157,  157,  157,  670,  157,  157,  157,  157,
      157,  157,  157,  159,  159,  159,  159,  159,  159,  159,
      159,  670,  159,  161,  670,  670,  161,  161,  161,  161,
      161,  161,  161,  162,  670,  670,  162,  162,  162,  162,
      162,  162,  162,  164,  670,  670,  164,  670,  164,  164,
      164,  164,  164,  168,  168,  670,  168,  169,  169,  670,
      169,  102,  102,  670,  102,   15,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,

      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670
    } ;

static yyconst short int yy_chk[4344] =
    {   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,    3,    3,    4,
        4,    5,    6,    7,    9,    3,    7,    4,    5,    6,
        8,    5,    6,    8,   10,   17,   17,   17,   18,   18,

       18,   17,    9,  666,   18,    9,   26,  662,   26,   13,
       13,   13,   10,  151,   13,   10,   86,   22,   22,   22,
       14,   14,   14,   22,   24,   14,  151,   24,  659,   22,
       22,   24,   24,   24,   24,   24,   24,   28,   28,   28,
       28,   28,   28,   28,  657,   34,   86,  454,   34,   76,
       76,   76,   77,   77,   77,   34,    9,   34,    9,   34,
       81,   81,   81,  655,   34,  454,   10,  654,   10,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   13,  652,   13,  163,  163,  650,  170,   11,
       11,   11,   11,   14,  170,   14,  163,   11,   32,  242,

      242,   32,  165,  165,  165,   32,  529,  648,   32,   32,
       32,   32,   32,   38,  312,  647,   33,   32,  644,   11,
       11,   32,   33,   38,  312,   38,   33,   38,   33,   33,
       33,  642,   38,  529,  638,   33,   91,   91,   91,   91,
       91,   91,   91,   11,   11,   11,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,  374,
      634,   35,  633,   78,  374,  632,   12,   12,   12,   12,
      631,   35,   35,   35,   12,   35,  630,   78,   36,   36,
       35,  487,  627,   35,  625,  624,  619,  618,  487,   36,
      617,   36,  614,   36,   37,   36,   12,   12,   36,   39,

       39,  613,   39,  612,   37,  611,   37,   78,   37,  610,
       39,   39,   39,   37,   39,  607,  605,   39,  604,   39,
       12,   12,   12,   21,  602,   37,   88,   88,   88,  599,
      598,  597,   88,  591,  590,  589,   37,   21,   88,   88,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,  588,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       31,  586,  583,   31,   31,   31,   31,   31,   31,   31,

      581,  580,  578,  574,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
      573,  572,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   40,   40,   41,  563,  562,  561,
      560,  559,   40,  557,  553,   40,   41,   40,   41,   40,
       41,  551,   42,   42,   40,   41,   42,   43,   43,  550,
       43,  548,   42,  543,   42,  542,   42,  541,   43,  528,
       43,   42,   43,   44,   43,  527,   44,   43,  526,   45,

       42,   41,   45,   44,  525,   44,   45,   44,   46,   45,
      523,   45,   44,   45,   46,   46,  521,   45,   45,  518,
       43,  516,   45,   47,  514,   46,  512,   46,  505,   46,
      504,   46,  503,   47,   46,   47,  502,   47,   46,   48,
       49,   47,   47,  490,  486,  485,   46,   49,  484,   48,
       49,   48,   49,   48,   49,  483,  480,  478,   48,   49,
      475,  470,   47,   94,   94,   94,   94,   94,   94,   94,
      468,  456,  455,  437,   48,   73,  434,  433,  432,   73,
       73,   73,   73,   73,   73,   73,   73,   73,  431,   96,
       97,  430,  429,  426,  424,   73,   73,   73,   73,   96,

       97,   96,   97,   96,   97,   98,  419,   97,   96,   97,
      414,  411,  399,  398,  397,   98,  378,   98,   99,   98,
      373,  100,  372,  371,   98,   73,   73,  369,   99,  365,
       99,  100,   99,  100,  101,  100,  363,   99,  358,  353,
      100,   99,  349,  338,  101,  337,  101,  336,  101,  317,
       73,   74,  101,  101,  310,   74,   74,   74,   74,   74,
       74,   74,   74,   74,  309,  103,  308,  302,  104,  291,
      103,   74,   74,   74,   74,  103,  286,  103,  104,  103,
      104,  105,  104,  282,  103,  271,  104,  104,   74,  270,
      244,  105,  243,  105,  106,  105,  239,  238,  237,  233,

      105,   74,   74,  221,  106,  107,  106,  106,  106,  215,
      211,  200,  199,  106,  171,  107,  167,  107,  162,  107,
      108,  108,  160,  150,  107,  147,   74,  137,  109,  109,
      132,  108,  127,  108,  108,  108,  118,  117,   95,  109,
      108,  109,  110,  109,   92,  111,   89,   84,  109,  111,
       83,   80,  110,  110,  110,  111,  110,  111,  112,  111,
       66,  110,   63,   60,  111,   59,   56,   52,  112,   50,
      112,   29,  112,  113,  113,  113,  115,  112,   25,  114,
      114,   20,   19,  113,   16,  113,  115,  113,  115,  114,
      115,  114,  113,  114,  116,  115,   15,  114,  114,    0,

        0,  119,    0,    0,  116,    0,  116,  116,  116,  119,
        0,    0,  120,  116,    0,  120,    0,    0,    0,  119,
      121,  119,  120,  119,  120,    0,  120,    0,  119,    0,
      121,  120,  121,    0,  121,  122,  122,    0,    0,  121,
        0,    0,    0,    0,    0,  122,  123,  122,    0,  122,
        0,    0,  122,  122,  122,    0,  123,  124,  123,  123,
      123,    0,    0,  125,    0,  123,    0,  124,    0,  124,
        0,  124,    0,  125,  126,  125,  124,  125,    0,  124,
        0,    0,  125,    0,  126,    0,  126,  128,  126,    0,
      129,    0,    0,  126,    0,  128,    0,  128,    0,  128,

      129,  128,  129,  130,  129,    0,  128,    0,  129,  129,
        0,  131,    0,  130,  133,  130,    0,  130,    0,    0,
        0,  131,  130,  131,  133,  131,  133,  134,  133,  131,
      131,    0,  133,  133,    0,    0,    0,  134,  135,  134,
        0,  134,    0,    0,    0,    0,  134,  134,  135,    0,
      135,  136,  135,    0,  136,    0,    0,  135,  136,    0,
        0,  136,    0,  136,    0,  136,  138,  138,    0,    0,
      136,    0,    0,  139,    0,    0,    0,  138,    0,  138,
        0,  138,    0,  139,  140,  139,  138,  139,  139,    0,
      141,  139,  139,    0,  140,    0,  140,    0,  140,    0,

      141,  142,  141,  140,  141,  143,  141,    0,  140,  141,
        0,  142,    0,  142,    0,  142,  143,  144,    0,    0,
      142,    0,  144,    0,    0,    0,  143,  144,  143,  144,
      143,  144,  145,  146,    0,  143,  144,    0,    0,    0,
        0,    0,  145,  146,  145,  146,  145,  146,  148,  149,
      149,  145,  146,  149,    0,  148,    0,    0,  148,  149,
      148,  149,  148,  149,  152,    0,    0,  148,  149,    0,
        0,    0,    0,    0,  152,    0,  152,    0,  152,    0,
        0,    0,  152,  152,  172,  172,  172,  172,  172,  172,
      172,  175,  176,    0,  175,    0,    0,    0,    0,    0,

        0,  175,  176,  175,  176,  175,  176,  177,  178,    0,
      175,  176,    0,    0,    0,    0,    0,  177,  178,  177,
      178,  177,  178,  179,    0,    0,  177,  178,    0,    0,
        0,  180,    0,  179,  181,  179,  179,  179,  180,    0,
        0,  180,  179,  180,  181,  180,  181,  182,  181,    0,
      180,    0,    0,  181,    0,  183,    0,  182,    0,  182,
        0,  182,    0,  184,  182,  183,  182,  183,    0,  183,
        0,  185,    0,  184,  183,  184,    0,  184,  185,  184,
        0,  185,  184,  185,  186,  185,    0,    0,    0,    0,
      185,    0,  187,    0,  186,  188,  186,    0,  186,    0,

        0,  186,  187,  186,  187,  188,  187,  188,    0,  188,
        0,  187,  188,  188,  188,  189,  189,  190,    0,    0,
      190,    0,    0,  189,    0,    0,  189,  190,  189,  190,
      189,  190,  191,    0,    0,  189,  190,    0,  192,    0,
        0,    0,  191,    0,  191,  191,  191,    0,  192,  193,
      192,  191,  192,    0,    0,  194,    0,  192,  194,  193,
      193,  193,    0,  193,    0,  194,  195,  194,  193,  194,
        0,    0,  196,    0,  194,  196,  195,    0,  195,  195,
      195,    0,  196,  197,  196,  195,  196,    0,    0,    0,
        0,  196,    0,  197,  198,  197,    0,  197,    0,    0,

      197,    0,  197,    0,  198,  198,  198,  201,  198,    0,
        0,    0,    0,  198,    0,  202,    0,  201,  203,  201,
        0,  201,    0,    0,  201,  202,  201,  202,  203,  202,
      203,  203,  203,  204,  202,    0,  205,  203,    0,  206,
        0,    0,  206,  204,    0,  204,  205,  204,  205,  206,
      205,  206,  204,  206,  205,  205,  207,  208,  206,    0,
      209,    0,    0,  207,    0,    0,    0,  208,    0,  208,
      209,  208,  209,  207,  209,  207,  208,  207,  210,  209,
        0,  212,  207,    0,  212,    0,    0,    0,  210,    0,
      210,  212,  210,  212,    0,  212,  213,  210,    0,  213,

      212,    0,  214,    0,    0,    0,  213,    0,  213,  214,
      213,    0,  214,  216,  214,  213,  214,    0,    0,    0,
        0,  214,    0,  216,  217,  216,    0,  216,    0,    0,
      218,  216,  216,    0,  217,    0,  217,    0,  217,    0,
      218,  219,  218,  217,  218,    0,    0,  218,    0,  218,
        0,  219,  220,  219,    0,  219,    0,    0,  219,    0,
      219,    0,  220,  222,  220,    0,  220,    0,  223,  223,
        0,  220,  220,  222,    0,  222,    0,  222,    0,  223,
      224,  223,  222,  223,    0,    0,  225,    0,  223,    0,
      224,    0,  224,    0,  224,    0,  225,    0,  225,  224,

      225,  226,  227,    0,  226,  225,    0,    0,    0,  227,
        0,  226,  227,  226,  227,  226,  227,  228,    0,    0,
      226,  227,    0,    0,    0,    0,    0,  228,  229,  228,
        0,  228,    0,    0,  230,  228,  228,    0,  229,    0,
      229,    0,  229,    0,  230,  229,  230,  229,  230,  231,
        0,  230,  231,  230,    0,  232,    0,    0,  232,  231,
        0,  231,    0,  231,    0,  232,  234,  232,  231,  232,
        0,    0,    0,    0,  232,    0,  234,  235,  234,  234,
      234,  234,  236,    0,    0,  234,  234,  235,  236,  235,
        0,  235,    0,    0,    0,  235,  235,    0,  236,  240,

      236,    0,  236,    0,    0,  240,    0,  236,    0,  240,
      247,  240,    0,  240,    0,    0,  248,    0,  240,    0,
      247,    0,  247,  248,  247,    0,  248,  249,  248,  247,
      248,    0,    0,  250,    0,  248,    0,  249,  249,  249,
        0,  249,    0,  250,  251,  250,  249,  250,    0,    0,
      252,    0,  250,  252,  251,    0,  251,    0,  251,    0,
      252,    0,  252,  251,  252,  253,  253,  254,  254,  252,
        0,    0,    0,    0,    0,    0,  253,  254,  253,  254,
      253,  254,  255,    0,    0,  253,  254,    0,  251,    0,
      256,    0,  255,    0,  255,    0,  255,    0,  257,  255,

      256,  255,  256,  256,  256,    0,    0,    0,  257,  256,
      257,  259,  257,  258,  258,    0,  257,  257,    0,    0,
        0,  259,  260,  259,  258,  259,  258,    0,  258,    0,
      259,    0,  260,  258,  260,  261,  260,  261,  262,    0,
      262,  260,    0,    0,    0,  261,    0,  261,  262,  261,
      262,    0,  262,  263,  261,    0,  263,  262,    0,  264,
        0,    0,    0,  263,    0,  263,    0,  263,    0,  264,
      265,  264,  263,  264,    0,    0,  266,  265,  264,    0,
      265,    0,  265,    0,  265,    0,  266,  267,  266,  265,
      266,    0,  266,    0,    0,  266,    0,  267,    0,  267,

        0,  267,  268,  267,    0,  268,  267,    0,  269,    0,
        0,    0,  268,    0,  268,    0,  268,    0,  269,  272,
      269,  268,  269,    0,    0,  273,    0,  269,    0,  272,
        0,  272,    0,  272,    0,  273,    0,  273,  272,  273,
      274,  275,    0,  273,  273,    0,    0,  274,    0,    0,
      274,  275,  274,  275,  274,  275,  276,  275,    0,  274,
      275,  277,  277,  272,    0,    0,  276,    0,  276,    0,
      276,  279,  277,    0,  277,  276,  277,  278,  277,    0,
      279,  277,  278,    0,    0,    0,    0,  278,  280,  278,
      279,  278,  279,  278,  279,    0,  278,    0,  280,  279,

      280,  281,  280,    0,    0,  280,    0,  280,    0,  283,
      283,  281,  284,  281,    0,  281,    0,    0,    0,  283,
      281,  283,  284,  283,  284,  285,  284,    0,  283,    0,
      284,  284,    0,  287,  288,  285,  287,  285,  285,  285,
        0,    0,    0,  287,  285,  287,    0,  287,  289,  288,
        0,  289,  287,    0,    0,    0,    0,    0,  289,  288,
      289,  288,  289,  288,  290,  290,  292,  289,  288,    0,
        0,    0,    0,    0,    0,  290,  292,  290,  292,  290,
      292,  293,    0,    0,  290,  292,    0,    0,    0,    0,
        0,  293,    0,  293,  294,  293,    0,  294,    0,  293,

      293,    0,  295,    0,  294,  296,  294,    0,  294,    0,
        0,    0,  295,  294,  295,  296,  295,  296,    0,  296,
      298,  295,  297,  297,  296,    0,  299,    0,    0,  301,
      298,    0,  298,  297,  298,  297,  299,  297,  299,  298,
      299,  300,  297,    0,  301,  299,    0,  303,    0,    0,
        0,  300,    0,  300,  301,  300,  301,  303,  301,  303,
      300,  303,  304,  301,  298,  305,  303,    0,  305,    0,
        0,    0,  304,  306,  304,  305,  304,  305,    0,  305,
        0,  304,    0,  306,  305,  306,  307,  306,    0,    0,
        0,    0,  306,    0,    0,    0,  307,  311,  307,    0,

      307,    0,    0,  307,    0,  307,    0,  311,  306,  311,
      313,  311,    0,  314,  314,    0,  311,    0,    0,    0,
      313,    0,  313,  314,  313,  314,    0,  314,  313,  313,
      315,  315,  314,    0,  316,    0,  318,  318,    0,    0,
        0,  315,    0,  315,  316,  315,  316,  318,  316,  318,
      315,  318,    0,  316,  319,  319,  318,  320,    0,    0,
      320,    0,    0,    0,  319,  321,  319,  320,  319,  320,
        0,  320,    0,  319,    0,  321,  320,  321,  322,  321,
        0,    0,    0,    0,  321,    0,  323,    0,  322,    0,
      322,    0,  322,    0,  324,    0,  323,  322,  323,    0,

      323,  324,  323,    0,  324,  323,  324,  325,  324,    0,
        0,    0,    0,  324,    0,  326,    0,  325,  326,  325,
        0,  325,  326,    0,    0,  326,  325,  326,  327,  326,
      327,    0,    0,    0,  326,    0,  328,    0,  327,  328,
      327,    0,  327,  328,  329,    0,  328,  327,  328,    0,
      328,    0,  330,    0,  329,  328,  329,    0,  329,    0,
      329,    0,  330,  329,  330,    0,  330,  331,  331,    0,
      330,  330,    0,  332,    0,    0,    0,  331,    0,  331,
        0,  331,    0,  332,  333,  332,  331,  332,    0,    0,
      334,  332,  332,    0,  333,    0,  333,    0,  333,    0,

      334,  333,  334,  333,  334,  335,  339,    0,    0,  334,
        0,    0,    0,  339,    0,  335,  339,  335,  339,  335,
      339,    0,    0,  341,  335,  339,  340,  340,    0,  340,
        0,    0,    0,  341,    0,  341,  340,  341,  340,    0,
      340,  341,  341,  343,  342,  340,  342,    0,    0,    0,
        0,    0,    0,  343,  342,  343,  342,  343,  342,  344,
        0,    0,  343,  342,    0,  345,    0,    0,  345,  344,
        0,  344,    0,  344,    0,  345,  346,  345,  344,  345,
      347,    0,    0,  348,  345,    0,  346,  347,  346,    0,
      346,    0,    0,  346,    0,  346,    0,  347,  348,  347,

        0,  347,    0,    0,  350,    0,  347,    0,  348,    0,
      348,    0,  348,    0,  350,  351,  350,  348,  350,    0,
        0,  352,  350,  350,    0,  351,    0,  351,    0,  351,
        0,  352,  354,  352,  351,  352,    0,    0,    0,    0,
      352,    0,  354,  355,  354,    0,  354,    0,  354,  356,
      355,  354,    0,  355,    0,  355,    0,  355,    0,  356,
      357,  356,  355,  356,    0,    0,    0,    0,  356,    0,
      357,    0,  357,  359,  357,    0,  360,    0,  357,  357,
      359,    0,    0,  359,  361,  359,  360,  359,  360,  361,
      360,    0,  359,    0,  361,  360,  361,  362,  361,    0,

        0,    0,    0,  361,    0,    0,    0,  362,  364,  362,
        0,  362,    0,    0,  366,  364,  362,    0,  364,  362,
      364,    0,  364,    0,  366,    0,  366,  364,  366,  367,
      368,    0,  367,  366,    0,    0,    0,    0,    0,  367,
      368,  367,  368,  367,  368,  370,  368,    0,  367,  368,
        0,  375,    0,    0,    0,  370,    0,  370,    0,  370,
        0,  375,    0,  375,  370,  375,  376,  376,    0,    0,
      375,    0,    0,  377,    0,    0,    0,  376,    0,  376,
        0,  376,    0,  377,  379,  377,  376,  377,    0,  370,
      380,  377,  377,    0,  379,    0,  379,    0,  379,    0,

      380,  381,  380,  379,  380,    0,    0,  382,  380,  380,
      382,  381,    0,  381,    0,  381,    0,  382,    0,  382,
      381,  382,  383,  383,  384,    0,  382,    0,    0,    0,
        0,    0,    0,  383,  384,  383,  384,  383,  384,  385,
        0,    0,  383,  384,    0,    0,    0,    0,    0,  385,
      386,  385,  386,  385,    0,    0,  387,  385,  385,    0,
      386,    0,  386,    0,  386,    0,  387,    0,  387,  386,
      387,    0,    0,  388,  387,  387,  388,    0,    0,  389,
        0,  389,    0,  388,    0,  388,    0,  388,    0,  389,
      390,  389,  388,  389,    0,  391,  391,    0,  389,    0,

      390,    0,  390,    0,  390,    0,  391,  392,  391,  390,
      391,    0,    0,  393,    0,  391,    0,  392,    0,  392,
      393,  392,    0,  393,  394,  393,  392,  393,    0,    0,
      395,    0,  393,    0,  394,    0,  394,  395,  394,    0,
      395,  394,  395,  394,  395,  396,  396,  400,    0,  395,
        0,  400,    0,    0,    0,    0,  396,  400,  396,  400,
      396,  400,  401,    0,    0,  396,  400,    0,  402,  401,
      402,    0,  401,    0,  401,    0,  401,    0,  402,  403,
      402,  401,  402,    0,    0,  404,    0,  402,  404,  403,
        0,  403,    0,  403,    0,  404,  403,  404,  403,  404,

      405,  405,    0,    0,  404,    0,  406,  406,    0,    0,
      405,    0,  405,    0,  405,    0,  406,  407,  406,  405,
      406,    0,    0,    0,    0,  406,    0,  407,    0,  407,
        0,  407,  408,  407,    0,  408,  407,    0,  409,    0,
        0,    0,  408,    0,  408,    0,  408,    0,  409,  410,
      409,  408,  409,    0,    0,  409,  410,  409,    0,  410,
      412,  410,    0,  410,    0,  413,  413,    0,  410,    0,
      412,    0,  412,    0,  412,    0,  413,  415,  413,  412,
      413,    0,    0,  416,    0,  413,    0,  415,    0,  415,
        0,  415,    0,  416,  417,  416,  415,  416,    0,    0,

        0,    0,  416,    0,  417,    0,  417,  418,  417,    0,
      418,    0,  417,  417,    0,  420,    0,  418,    0,  418,
        0,  418,    0,    0,    0,  420,  418,  420,    0,  420,
      421,  421,    0,  422,  420,  420,  423,    0,    0,    0,
      421,    0,  421,  422,  421,  422,  423,  422,  423,  421,
      423,  425,  422,  425,  427,  423,    0,  428,    0,    0,
        0,  425,    0,  425,  427,  425,  427,  428,  427,  428,
      425,  428,  435,  427,  428,    0,  428,    0,    0,    0,
        0,    0,  435,    0,  435,  436,  435,    0,  438,    0,
      435,  435,  436,    0,    0,  436,    0,  436,  438,  436,

      438,    0,  438,  439,  436,    0,  439,  438,    0,  440,
        0,    0,    0,  439,    0,  439,    0,  439,    0,  440,
      441,  440,  439,  440,    0,    0,  442,  441,  440,    0,
      441,    0,  441,  442,  441,    0,  442,  443,  442,  441,
      442,    0,    0,  444,    0,  442,    0,  443,    0,  443,
        0,  443,    0,  444,  445,  444,  443,  444,    0,    0,
        0,  445,  444,    0,  445,  446,  445,  446,  445,    0,
        0,  447,    0,  445,    0,  446,    0,  446,    0,  446,
        0,  447,  448,  447,  446,  447,    0,  448,  449,    0,
      447,    0,  448,    0,  448,    0,  448,    0,  449,  450,

      449,  448,  449,    0,    0,    0,  449,  449,    0,  450,
      451,  450,    0,  450,    0,    0,  452,  450,  450,    0,
      451,    0,  451,    0,  451,    0,  452,  453,  452,  451,
      452,    0,    0,  457,    0,  452,    0,  453,    0,  453,
      457,  453,    0,  457,  458,  457,  453,  457,    0,    0,
        0,    0,  457,    0,  458,  459,  458,    0,  458,    0,
        0,  460,  458,  458,    0,  459,    0,  459,    0,  459,
        0,  460,  461,  460,  459,  460,    0,    0,  462,    0,
      460,  462,  461,    0,  461,    0,  461,    0,  462,  461,
      462,  461,  462,  463,  464,    0,    0,  462,    0,    0,

        0,    0,    0,  463,  464,  463,  464,  463,  464,  465,
      465,  463,  463,  464,    0,  466,    0,    0,    0,  465,
        0,  465,    0,  465,    0,  466,  467,  466,  465,  466,
        0,    0,  469,    0,  466,    0,  467,    0,  467,    0,
      467,    0,  469,  471,  469,  467,  469,    0,    0,    0,
        0,  469,    0,  471,  472,  471,    0,  471,  472,  466,
      473,    0,  471,    0,  472,    0,  472,    0,  472,    0,
      473,  474,  473,  472,  473,    0,    0,  476,    0,  473,
      476,  474,    0,  474,    0,  474,    0,  476,    0,  476,
      474,  476,  477,    0,    0,  477,  476,    0,  479,    0,

        0,  479,  477,    0,  477,    0,  477,    0,  479,    0,
      479,  477,  479,  481,  481,  488,    0,  479,    0,    0,
        0,    0,  488,    0,  481,  488,  481,  488,  481,  488,
      489,  489,    0,  481,  488,    0,  491,    0,    0,    0,
      489,    0,  489,    0,  489,    0,  491,  492,  491,  489,
      491,    0,  491,    0,    0,  491,    0,  492,  493,  492,
        0,  492,    0,    0,  494,  492,  492,    0,  493,    0,
      493,    0,  493,    0,  494,  495,  494,  493,  494,    0,
        0,  496,  497,  494,    0,  495,    0,  495,  495,  495,
        0,  496,    0,  496,  495,  496,  498,  497,    0,  498,

      496,    0,    0,    0,    0,    0,  498,  497,  498,  497,
      498,  497,  499,  500,    0,  498,  497,    0,    0,    0,
      500,    0,  499,  500,  499,  500,  499,  500,  501,    0,
        0,  499,  500,    0,  506,    0,    0,  506,  501,    0,
      501,    0,  501,    0,  506,  507,  506,  501,  506,    0,
        0,  508,    0,  506,    0,  507,    0,  507,    0,  507,
        0,  508,  509,  508,  507,  508,    0,    0,  510,    0,
      508,    0,  509,    0,  509,  510,  509,    0,  510,  511,
      510,  509,  510,    0,    0,    0,    0,  510,    0,  511,
      513,  511,    0,  511,  513,    0,  515,  511,  511,    0,

      513,    0,  513,  519,  513,    0,  515,  517,  515,  513,
      515,    0,    0,    0,  517,  515,    0,  517,  519,  517,
        0,  517,    0,    0,  520,    0,  517,    0,  519,    0,
      519,    0,  519,    0,  520,  522,  520,  519,  520,    0,
        0,  524,    0,  520,    0,  522,    0,  522,    0,  522,
        0,  524,  530,  524,  522,  524,    0,    0,  531,    0,
      524,    0,  530,    0,  530,  530,  530,    0,  531,  533,
      531,  530,  531,    0,    0,  534,    0,  531,    0,  533,
        0,  533,    0,  533,    0,  534,    0,  534,  533,  534,
      535,  536,  534,  535,  534,    0,  536,    0,    0,    0,

      535,  536,  535,  536,  535,  536,  537,  538,  538,  535,
      536,    0,    0,    0,    0,    0,  537,  538,  537,  538,
      537,  538,  539,  540,  539,  537,  538,    0,    0,    0,
        0,    0,  539,  540,  539,  540,  539,  540,  545,    0,
        0,  539,  540,    0,    0,    0,  546,    0,  545,    0,
      545,    0,  545,    0,  545,    0,  546,  545,  546,  546,
      546,  547,  549,    0,    0,  546,    0,    0,  547,  549,
        0,  547,  549,  547,  549,  547,  549,  552,    0,    0,
      547,  549,    0,    0,    0,  554,    0,  552,    0,  552,
        0,  552,    0,  556,    0,  554,  552,  554,  554,  554,

        0,    0,    0,  556,  554,  556,  558,  556,    0,  564,
        0,  556,  556,    0,    0,    0,  558,  565,  558,  564,
      558,  564,    0,  564,    0,  558,    0,  565,  564,  565,
      566,  565,  566,  567,    0,    0,  565,    0,    0,    0,
      566,  568,  566,  567,  566,  567,    0,  567,    0,  566,
        0,  568,  567,  568,  569,  568,    0,    0,  568,    0,
      568,    0,  570,    0,  569,    0,  569,  569,  569,    0,
      571,    0,  570,  569,  570,    0,  570,  571,  575,    0,
      571,  570,  571,    0,  571,    0,  576,    0,  575,  571,
      575,    0,  575,    0,  577,    0,  576,  575,  576,    0,

      576,    0,  579,    0,  577,  576,  577,  577,  577,    0,
      582,    0,  579,  577,  579,    0,  579,  582,  584,    0,
      582,  579,  582,    0,  582,  584,  585,    0,  584,  582,
      584,    0,  584,  585,  592,    0,  585,  584,  585,    0,
      585,    0,  593,    0,  592,  585,  592,    0,  592,    0,
      594,    0,  593,  592,  593,    0,  593,    0,  595,    0,
      594,  593,  594,    0,  594,    0,  596,    0,  595,  594,
      595,    0,  595,    0,    0,    0,  596,  595,  596,  600,
      596,    0,    0,    0,  596,  596,    0,  601,    0,  600,
        0,  600,    0,  600,    0,  603,  600,  601,  600,  601,

        0,  601,  603,  606,    0,  603,  601,  603,    0,  603,
        0,    0,    0,  606,  603,  606,  608,  606,  608,  609,
        0,  606,  606,  609,    0,    0,  608,  615,  608,  609,
      608,  609,    0,  609,    0,  608,    0,  615,  609,  615,
      616,  615,    0,  620,    0,  615,  615,    0,    0,    0,
      616,    0,  616,  620,  616,  620,  621,  620,    0,  616,
        0,    0,  620,  616,  623,    0,  621,  626,  621,    0,
      621,    0,    0,    0,  623,  621,  623,  626,  623,  626,
        0,  626,  623,  623,  628,  629,  626,    0,    0,    0,
      626,    0,  629,    0,  628,  629,  628,  629,  628,  629,

      635,  636,    0,  628,  629,    0,    0,    0,    0,    0,
      635,  636,  635,  636,  635,  636,  635,  640,  643,  635,
      636,    0,    0,    0,    0,    0,    0,  640,  643,  640,
      643,  640,  643,    0,    0,  645,  640,  643,  645,    0,
      640,    0,    0,  651,    0,  645,    0,  645,    0,  645,
        0,  653,    0,  651,  645,  651,  651,  651,    0,  656,
        0,  653,  651,  653,    0,  653,    0,  660,    0,  656,
      653,  656,    0,  656,    0,  656,    0,  660,  656,  660,
      664,  660,    0,  667,    0,    0,  660,    0,    0,    0,
      664,    0,  664,  667,  664,  667,    0,  667,    0,  664,

        0,    0,  667,  671,  671,  671,  671,  671,  671,  671,
      671,  671,  671,  671,  672,  672,  672,  672,  672,  672,
      672,  672,  672,  672,  672,  673,  673,  673,  673,  673,
      673,  673,  673,  673,  673,  673,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  675,  675,  675,
      675,  675,  675,  675,  675,  675,  675,  675,  676,  676,
      676,  676,  676,  676,  676,  676,  676,  676,  676,  677,
      677,  677,    0,  677,  677,  677,  677,  677,  677,  677,
      678,  678,    0,    0,  678,    0,  678,  679,  679,    0,
      679,  680,  680,    0,  680,  680,  680,    0,  680,  680,

      680,  680,  681,  681,  681,    0,  681,  681,  681,  681,
      681,  681,  681,  682,  682,  682,  682,  682,  682,  682,
      682,    0,  682,  683,    0,    0,  683,  683,  683,  683,
      683,  683,  683,  684,    0,    0,  684,  684,  684,  684,
      684,  684,  684,  685,    0,    0,  685,    0,  685,  685,
      685,  685,  685,  686,  686,    0,  686,  687,  687,    0,
      687,  688,  688,    0,  688,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,

      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670,  670,  670,  670,  670,  670,  670,  670,
      670,  670,  670
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[129] =
    {   0,
      103,  106,  108,  109,  110,  113,  115,  116,  117,  129,
      136,  143,  149,  158,  166,  174,  175,  177,  196,  202,
      203,  204,  205,  206,  209,  215,  222,  229,  236,  243,
      247,  248,  256,  257,  258,  259,  260,  265,  266,  267,
      268,  269,  270,  271,  272,  273,  274,  275,  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,  338,  339,  340,  341,  342,  347,  348,  353,
      354,  355,  358,  364,  371,  380,  391,  397,  399,  400,
      402,  404,  406,  419,  425,  431,  438,  440
    } ;

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 int _check_dashes(char *ptr);
static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */

/*
 * 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))

/*
 * Make sure that the label is compliant with the naming rules.
 */
#define	CHECK_DASHES	do {				\
	if(_check_dashes(yytext)) {			\
		fprintf(stderr,				\
		"%s: Identifier format invalid: "	\
		"Improper dash location\n", yytext);	\
		return -1;				\
	} } while(0)

/*
 * 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 cpp_comment 2

#define quoted 3

#define opaque 4

#define encoding_control 5

#define with_syntax 6

/* Newline */
/* White-space */
#line 1836 "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 101 "asn1p_l.l"


#line 1990 "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 >= 671 )
					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] != 4266 );

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 < 129 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 129 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 130 )
				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_RULE_SETUP
#line 103 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

case 2:
YY_RULE_SETUP
#line 106 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 3:
YY_RULE_SETUP
#line 108 "asn1p_l.l"
yy_pop_state();	/* End of comment */
	YY_BREAK
case 4:
YY_RULE_SETUP
#line 109 "asn1p_l.l"
/* Eat single dash */
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 110 "asn1p_l.l"
/* Eat */
	YY_BREAK

case 6:
YY_RULE_SETUP
#line 113 "asn1p_l.l"
yy_push_state(cpp_comment);
	YY_BREAK

case 7:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 116 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 117 "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 10:
YY_RULE_SETUP
#line 129 "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 11:
YY_RULE_SETUP
#line 136 "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 12:
YY_RULE_SETUP
#line 143 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 149 "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 14:
YY_RULE_SETUP
#line 158 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

case 15:
YY_RULE_SETUP
#line 166 "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 16:
YY_RULE_SETUP
#line 174 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 175 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 177 "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 19:
YY_RULE_SETUP
#line 196 "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 20:
YY_RULE_SETUP
#line 202 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 203 "asn1p_l.l"

	YY_BREAK
case 22:
YY_RULE_SETUP
#line 204 "asn1p_l.l"

	YY_BREAK
case 23:
YY_RULE_SETUP
#line 205 "asn1p_l.l"
/* Eat everything else */
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 206 "asn1p_l.l"

	YY_BREAK

case 25:
YY_RULE_SETUP
#line 209 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 215 "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 27:
YY_RULE_SETUP
#line 222 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 229 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 236 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 243 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
/*
ABSTRACT-SYNTAX		return TOK_ABSTRACT_SYNTAX;
	*/
case 31:
YY_RULE_SETUP
#line 247 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 248 "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 33:
YY_RULE_SETUP
#line 256 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 257 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 258 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 259 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 260 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 266 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 267 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 268 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 269 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 270 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 271 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 272 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 273 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 274 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 275 "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 49:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 288 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 290 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 291 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 303 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 304 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 305 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 306 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
return TOK_TYPE_IDENTIFIER;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 339 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 340 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 341 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 347 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 348 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 353 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 354 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 355 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 364 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 371 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 116:
YY_RULE_SETUP
#line 380 "asn1p_l.l"
{
		CHECK_DASHES;
		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 117:
YY_RULE_SETUP
#line 391 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 397 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 119:
YY_RULE_SETUP
#line 399 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 120:
YY_RULE_SETUP
#line 400 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 402 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 404 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 406 "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 124:
YY_RULE_SETUP
#line 419 "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 425 "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 431 "asn1p_l.l"
{
				yy_pop_state();
				return '}';
			}
	YY_BREAK

case 127:
YY_RULE_SETUP
#line 438 "asn1p_l.l"
return yytext[0];	/* Union, Intersection */
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 440 "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(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 453 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 460 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 2934 "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 >= 671 )
				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 >= 671 )
			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 == 670);
	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 460 "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);
}

/*
 * Check that a token does not end with dash and does not contain
 * several dashes in succession.
 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
 * "end-", "vustom--value" are INVALID
 */
static int
_check_dashes(char *ptr) {
	int prev_dash = 0;

	assert(*ptr != '-');

	for(;; ptr++) {
		switch(*ptr) {
		case '-':
			if(prev_dash++)	/* No double dashes */
				return -1;
			continue;
		case '\0':
			if(prev_dash)	/* No dashes at the end */
				return -1;
			break;
		default:
			prev_dash = 0;
			continue;
		}
		break;
	}

	return 0;
}

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 vendor.",
			ptr, yylineno);
		errno = ERANGE;	/* Restore potentially clobbered errno */
	}

	return value;
}

