#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 "lex.yy.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 123
#define YY_END_OF_BUFFER 124
static yyconst short int yy_acclist[1196] =
    {   0,
      124,  122,  123,  117,  122,  123,  117,  123,  116,  122,
      123,   15,  122,  123,  116,  122,  123,  122,  123,  116,
      122,  123,  122,  123,  116,  122,  123,  122,  123,   23,
      122,  123,   22,  122,  123,  116,  122,  123,  122,  123,
      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  111,  112,  122,  123,
      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  111,  112,  122,  123,
      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  111,  112,  122,  123,

      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  116,  122,  123,  110,
      122,  123,    5,  122,  123,    2,  123,    2,  122,  123,
        4,  122,  123,    7,    9,  122,  123,    7,  123,    9,
      122,  123,    9,  122,  123,   17,  122,  123,   17,  123,
       18,  122,  123,   12,  122,  123,   12,  123,   14,  122,
      123,   14,  122,  123,   10,  122,  123,   11,  122,  123,
      119,  122,  123,  120,  122,  123,  120,  123,  122,  123,
      121,  122,  123,  117,   15,   15,  108,  109,    1,   21,
      115,    6,   22,  111,  112,  111,  112,  111,  112,  111,

      112,  111,  112,  111,  112,  112,  111,  112,  111,  112,
      111,  112,  111,  112,   36,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  112,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  112,  111,  112,  111,  112,   79,  111,
      112,  111,  112,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  112,  111,  112,  111,  112,  112,  112,  111,  112,

      110,    5,    3,    8,   17,   16,   12,  119,  120,  118,
      108,  109,   21,  114,  113,  111,  112,   28,  111,  112,
       29,  111,  112,  111,  112,  111,  112,  111,  112,   33,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,   49,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  112,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,   71,  111,  112,   72,  111,  112,  111,
      112,  112,  111,  112,  111,  112,  111,  112,  112,  111,

      112,   82,  111,  112,  111,  112,  111,  112,  111,  112,
      112,  111,  112,  111,  112,  111,  112,   90,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  112,  111,  112,  111,  112,  111,
      112,  112,  112,  112,  111,  112,   24,   13,   20,   19,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,   57,  111,  112,  112,

      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,   74,
      111,  112,  112,  111,  112,  111,  112,  111,  112,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  112,   87,
      111,  112,  111,  112,  111,  112,   91,  111,  112,  111,
      112,  111,  112,  111,  112,   95,  111,  112,   97,  111,
      112,  111,  112,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  112,  112,  112,  107,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,   32,  111,
      112,  112,  111,  112,  111,  112,  111,  112,   39,  111,

      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,   56,  111,  112,
      112,  112,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  112,  111,  112,   78,  111,  112,  111,  112,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  112,  111,  112,
      112,   99,  111,  112,  111,  112,  111,  112,  112,  111,
      112,  112,  112,  112,   25,   26,  111,  112,  111,  112,

      111,  112,  111,  112,  112,  111,  112,  111,  112,   38,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
       51,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  112,  112,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  112,   76,  111,  112,  111,  112,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  112,
      111,  112,  111,  112,   92,  111,  112,   93,  111,  112,
      112,  111,  112,  112,  100,  111,  112,  111,  112,  112,

      112,  112,  112,  112,  111,  112,  111,  112,  111,  112,
      112,   35,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,   44,  111,  112,   45,  111,  112,  111,  112,
      111,  112,   48,  111,  112,  111,  112,  111,  112,   53,
      111,  112,  111,  112,  111,  112,  112,  112,  112,  111,
      112,  111,  112,   64,  111,  112,   65,  111,  112,  111,
      112,  111,  112,   68,  111,  112,  111,  112,  111,  112,
      111,  112,  112,  111,  112,  112,   81,  111,  112,  111,
      112,   84,  111,  112,   86,  111,  112,  112,  111,  112,
      111,  112,  112,  111,  112,  112,  111,  112,  103,  112,

      112,  112,  112,  112,  111,  112,  111,  112,  111,  112,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,   47,  111,  112,  111,  112,   52,  111,  112,  111,
      112,   55,  111,  112,  112,  112,  112,  112,  111,  112,
       63,  111,  112,   66,  111,  112,   67,  111,  112,  111,
      112,  112,  111,  112,  112,   80,  111,  112,  112,  111,
      112,  112,  111,  112,   89,  111,  112,  112,  111,  112,
      112,  111,  112,  112,  112,  112,  112,  111,  112,  111,
      112,   31,  111,  112,   34,  112,   37,  111,  112,   40,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,

      111,  112,  112,  112,  112,   61,  112,  111,  112,  111,
      112,  112,  111,  112,  112,  112,  111,  112,  112,  111,
      112,   94,  112,  111,  112,  112,  101,  111,  112,  112,
      112,  112,  112,  111,  112,  111,  112,   41,  111,  112,
       42,  111,  112,   43,  111,  112,  111,  112,   50,  111,
      112,  111,  112,  112,  112,  112,   62,  111,  112,  111,
      112,  112,  111,  112,  112,  112,  111,  112,  112,  111,
      112,  111,  112,  112,  104,  112,  112,  112,  112,  111,
      112,   30,  111,  112,   46,  111,  112,  111,  112,  112,
      112,  112,  111,  112,  112,  111,  112,  112,  112,  111,

      112,  112,  111,  112,  111,  112,  112,  112,  112,  112,
       24,   25,  111,  112,  111,  112,  112,  112,  112,   69,
      111,  112,   70,  112,  111,  112,  112,  112,  111,  112,
      112,   88,  111,  112,  111,  112,  112,  112,  112,  112,
      111,  112,   54,  111,  112,   59,  112,  112,   60,  112,
      111,  112,   75,  112,  112,   83,  111,  112,  112,  111,
      112,   96,  112,  112,  112,  106,  112,  111,  112,  112,
       73,  111,  112,  112,  112,  111,  112,  112,  105,  112,
       27,  111,  112,   58,  112,  112,   85,  112,   98,  111,
      112,  102,  112,   77,  112

    } ;

static yyconst short int yy_accept[676] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    2,    4,    7,    9,   12,   15,   18,
       20,   23,   25,   28,   30,   33,   36,   39,   41,   45,
       49,   53,   57,   61,   65,   69,   73,   77,   81,   85,
       89,   93,   97,  101,  105,  109,  113,  117,  120,  123,
      126,  128,  131,  134,  138,  140,  143,  146,  149,  151,
      154,  157,  159,  162,  165,  168,  171,  174,  177,  179,
      181,  184,  184,  185,  186,  187,  187,  188,  188,  189,
      189,  189,  190,  191,  192,  193,  194,  194,  196,  198,
      200,  202,  204,  206,  207,  209,  211,  213,  215,  218,

      220,  222,  224,  226,  228,  230,  232,  234,  236,  237,
      238,  240,  242,  244,  246,  248,  250,  252,  254,  255,
      257,  259,  262,  264,  265,  267,  269,  271,  273,  274,
      276,  278,  280,  282,  284,  286,  288,  290,  292,  293,
      295,  297,  298,  299,  301,  301,  301,  301,  301,  301,
      302,  303,  304,  305,  306,  307,  308,  308,  309,  310,
      311,  311,  312,  313,  313,  313,  314,  315,  316,  318,
      321,  324,  326,  328,  330,  333,  335,  337,  339,  341,
      343,  345,  347,  349,  351,  353,  356,  358,  360,  362,
      364,  366,  368,  369,  370,  372,  374,  376,  378,  380,

      382,  384,  387,  390,  392,  393,  395,  397,  399,  400,
      402,  405,  407,  409,  411,  412,  414,  416,  418,  421,
      423,  425,  427,  429,  431,  433,  435,  436,  438,  440,
      442,  443,  444,  445,  447,  448,  448,  448,  448,  448,
      449,  449,  450,  451,  453,  455,  457,  459,  461,  463,
      465,  467,  469,  471,  473,  475,  477,  479,  481,  483,
      485,  487,  489,  491,  493,  495,  497,  500,  501,  502,
      504,  506,  508,  510,  512,  514,  516,  518,  520,  523,
      524,  526,  528,  530,  531,  533,  535,  537,  539,  540,
      543,  545,  547,  550,  552,  554,  556,  559,  562,  564,

      565,  567,  569,  571,  573,  575,  576,  577,  578,  581,
      581,  581,  581,  581,  583,  585,  587,  589,  592,  593,
      595,  597,  599,  602,  604,  606,  608,  610,  612,  614,
      616,  618,  620,  622,  624,  626,  628,  631,  632,  633,
      634,  636,  638,  640,  642,  644,  646,  648,  650,  652,
      653,  655,  658,  660,  661,  663,  665,  667,  669,  670,
      672,  674,  676,  678,  679,  681,  682,  685,  687,  689,
      690,  692,  693,  694,  695,  696,  696,  696,  696,  699,
      701,  703,  705,  706,  708,  710,  713,  715,  717,  719,
      721,  723,  725,  727,  729,  731,  734,  736,  738,  740,

      742,  743,  744,  745,  747,  749,  751,  753,  755,  757,
      759,  761,  763,  765,  766,  769,  771,  772,  774,  776,
      778,  780,  781,  783,  785,  788,  791,  792,  794,  795,
      798,  800,  801,  802,  803,  804,  805,  805,  805,  805,
      807,  809,  811,  812,  815,  817,  819,  821,  823,  826,
      829,  831,  833,  836,  838,  840,  843,  845,  847,  848,
      849,  850,  852,  854,  857,  860,  862,  864,  867,  869,
      871,  873,  874,  876,  877,  880,  882,  885,  888,  889,
      891,  893,  894,  896,  897,  899,  901,  902,  903,  904,
      905,  905,  905,  905,  907,  909,  911,  912,  914,  916,

      918,  920,  922,  925,  927,  930,  932,  935,  936,  937,
      938,  939,  941,  944,  947,  950,  952,  953,  955,  956,
      959,  960,  962,  963,  965,  968,  969,  971,  972,  974,
      975,  976,  977,  978,  978,  978,  978,  980,  982,  985,
      987,  990,  993,  995,  997,  999, 1001, 1003, 1004, 1005,
     1006, 1008, 1010, 1012, 1013, 1015, 1016, 1017, 1019, 1020,
     1022, 1024, 1026, 1027, 1030, 1031, 1032, 1033, 1034, 1034,
     1034, 1034, 1036, 1038, 1041, 1044, 1047, 1049, 1052, 1054,
     1055, 1056, 1057, 1060, 1062, 1063, 1065, 1066, 1067, 1069,
     1070, 1072, 1074, 1075, 1077, 1078, 1079, 1080, 1080, 1080,

     1080, 1082, 1085, 1088, 1090, 1091, 1092, 1093, 1095, 1096,
     1098, 1099, 1100, 1102, 1103, 1105, 1107, 1108, 1109, 1110,
     1111, 1111, 1113, 1113, 1115, 1117, 1118, 1119, 1120, 1123,
     1125, 1127, 1128, 1129, 1131, 1132, 1135, 1137, 1138, 1139,
     1140, 1141, 1141, 1143, 1146, 1148, 1149, 1151, 1153, 1155,
     1156, 1159, 1160, 1162, 1164, 1165, 1166, 1168, 1168, 1170,
     1171, 1174, 1175, 1176, 1178, 1179, 1181, 1184, 1186, 1187,
     1189, 1192, 1194, 1196, 1196
    } ;

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,
       51,    1,   52,   53,    1,    1,   54,   55,   56,   57,

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

        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    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[79] =
    {   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,    1,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   12,    1,   12
    } ;

static yyconst short int yy_base[691] =
    {   0,
        0,    0,   76,   78,   80,   81,   82,   89,   83,   93,
       96,  106,  844,  833,  116,  119,  822,  821,  177,  126,
     4166,  127,  816,  123, 4166,  134,  805, 4166,  242,  292,
      141,  298,  152,  314,  322,  130,  338,  359,  360,  376,
      382,  397,  410,  437,  440,  462,  463,  495,    0,    0,
     4166, 4166,  811, 4166, 4166,  807,  807,    0,    0,  809,
        0,    0,  787, 4166, 4166, 4166,    0,  160,  191,  104,
     4166,  800,  261,    0,  798,  797,    0,   79,    0,  426,
      793, 4166,  511,  787, 4166,  527,  771,  512,  513,  528,
      529,  544,  550,    0,  561,  567,  578,  589,  595,  611,

      617,  628,  641,  644,  664,  661,  672,  685,  727,  737,
      696,  702,  713,  719,  730,  741,  747,  758,  725,  771,
      774,  787,  795,  725,  798,  811,  822,  835,  720,  851,
      857,  868,  874,  885,  900,  901,  916,  917,  716,  932,
      933,  716,   45,  948,  980,  987,  736,   97,  120,    0,
        0, 4166, 4166,    0, 4166,    0,  750,    0,  291, 4166,
      761,    0,    0,   79,  739,  994, 4166, 4166,  990, 1003,
     1011, 1014, 1027, 1035, 1038, 1051, 1059, 1067, 1075, 1088,
     1096, 1099, 1120, 1121, 1136, 1142, 1153, 1159, 1170, 1176,
     1187, 1198,  707,  693, 1211, 1219, 1222, 1237, 1240, 1243,

     1267, 1261, 1264, 1282,  702, 1285, 1300, 1306,  696, 1317,
     1328, 1334, 1345, 1356,  686, 1367, 1373, 1384, 1390, 1405,
     1406, 1421, 1432, 1438, 1453, 1459,  692, 1470, 1481, 1492,
      675,  686,  681, 1503, 4166, 1542,  697,  143,  158, 4166,
      683, 4166, 4166, 1527, 1528, 1543, 1549, 1564, 1565, 1582,
     1581, 1597, 1603, 1614, 1625, 1643, 1640, 1646, 1661, 1664,
     1667, 1682, 1688, 1699, 1710, 1725, 1731,  664,  668, 1742,
     1748, 1763, 1764, 1779, 1785, 1796, 1809, 1817, 1825,  658,
     1840, 1843, 1856,  670, 1864, 1880, 1879, 1896,  649, 1897,
     1912, 1925, 1933, 1936, 1954, 1951, 1957, 1972, 1975,  648,

     1978, 1993, 1999, 2010, 2016,  660,  649,  660, 2031, 2063,
      283,  280,  305, 2048, 2064, 2072, 2080, 2088,  644, 2096,
     2104, 2117, 2125, 2128, 2146, 2143, 2149, 2164, 2170, 2185,
     2186, 2201, 2216, 2222, 2233, 2239, 2254,  653,  641,  627,
     2255, 2275, 2272, 2293, 2292, 2310, 2309, 2325, 2331,  633,
     2342, 2353, 2359,  623, 2370, 2381, 2387, 2398,  639, 2411,
     2414, 2422, 2435,  616, 2446,  625, 2452, 2467, 2468,  613,
     2483,  607,  604,  610, 4166,  302,  321,   96, 2489, 2504,
     2507, 2515,  610, 2530, 2536, 2547, 2553, 2564, 2570, 2581,
     2592, 2598, 2615, 2621, 2637, 2638, 2653, 2654, 2669, 2675,

      605,  607,  599, 2686, 2692, 2707, 2708, 2728, 2729, 2744,
     2752, 2765, 2773,  604, 2776, 2794,  631, 2791, 2797, 2812,
     2815,  603, 2823, 2838, 2841, 2844,  590, 2859,  574, 2862,
     2865,  588,  576,  574,  583,  581,  317,  309,  328, 2880,
     2883, 2896,  572, 2904, 2917, 2925, 2928, 2941, 2949, 2952,
     2965, 2976, 2973, 2989, 3000, 3011, 3017, 3028,   54,  589,
      564, 3034, 3045, 3056, 3062, 3073, 3079, 3094, 3095, 3110,
     3111,  583, 3126,  566, 3127, 3144, 3147, 3150,  558, 3165,
     3171,  554, 3186,  576, 3192,    0,  555,  559,  536,  566,
      347,  226,  339, 3203, 3209, 3224,  548, 3230, 3241, 3254,

     3262, 3265, 3280, 3283, 3291, 3304, 3307,  531,  525,  525,
      531, 3322, 3328, 3339, 3345, 3356,  516, 3367,  512, 3373,
      511, 3384,  521, 3395, 3401,  517, 3412,  504, 3418,  506,
      507,  520,  466,  325,  465,  348, 3429, 3440, 3451,    0,
     3457, 3468, 3479, 3490, 3496, 3511, 3512,  467,  476,  464,
        0, 3527, 3528,  470, 3544,  450,  462, 3545,  474, 3560,
        0, 3566,  447, 3577,  444,  454,  423,  424,  361, 3616,
      353, 3601, 3602, 3617, 3618, 3633, 3634, 3649, 3650,  430,
      434,  428, 3665, 3673,  421, 3681,  421,  412, 3689,  403,
     3697, 3705,  410,    0,  400,  401,  403,  189, 3737,  519,

     3722, 3723, 3738, 3746,  398,  417,  394, 3759,  398, 3767,
      391,  391, 3770,  383, 3783, 3794,  383,  378,  383,  378,
      371, 4166, 3833, 3818, 3819,  378,  363,  359, 3834,    0,
     3840,  357,  347, 3851,  351, 3857, 3868,  330,  315,  305,
      295,  558, 3884, 3881,    0,  282,    0, 3892,    0,  262,
     3907,  256, 3910,    0,  188,  141,    0, 3954, 3939,  138,
     3940,  120,  105, 3955,   95,    0, 3956,    0,   37,    0,
     3972,    0,    0, 4166, 4017, 4029, 4041, 4053, 4065, 4077,
     4088, 4089, 4093, 4104, 4116, 4128, 4139, 4144, 4149, 4154
    } ;

static yyconst short int yy_def[691] =
    {   0,
      674,    1,  675,  675,  676,  676,  677,  677,  678,  678,
      679,  679,  674,  674,  674,  674,  674,  680,  674,  681,
      674,  674,  674,  674,  674,  674,  674,  674,  674,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,  682,  683,  684,
      674,  674,  674,  674,  674,  674,  674,  685,  685,  674,
      686,  686,  674,  674,  674,  674,  687,  674,  674,   19,
      674,  674,  674,  680,  680,  674,  688,  674,  689,  681,
      681,  674,  674,  674,  674,  674,  674,   29,   29,   29,
       29,   29,   29,  690,   29,   29,   29,   29,   29,   29,

       29,   29,   29,   29,   29,   29,   29,   29,  690,  690,
       29,   29,   29,   29,   29,   29,   29,   29,  690,   29,
       29,   29,   29,  690,   29,   29,   29,   29,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,  690,   29,
       29,  690,  690,   29,  674,  682,  146,  146,  146,  683,
      684,  674,  674,  685,  674,  686,  674,  687,  674,  674,
      674,  688,  689,  674,  674,  674,  674,  674,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,  690,  690,   29,   29,   29,   29,   29,   29,

       29,   29,   29,   29,  690,   29,   29,   29,  690,   29,
       29,   29,   29,   29,  690,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,  690,   29,   29,   29,
      690,  690,  690,   29,  674,  674,  146,  146,  146,  674,
      674,  674,  674,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,  690,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,  690,
       29,   29,   29,  690,   29,   29,   29,   29,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,  690,

       29,   29,   29,   29,   29,  690,  690,  690,   29,  674,
      146,  146,  146,   29,   29,   29,   29,   29,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,  690,  690,  690,
       29,   29,   29,   29,   29,   29,   29,   29,   29,  690,
       29,   29,   29,  690,   29,   29,   29,   29,  690,   29,
       29,   29,   29,  690,   29,  690,   29,   29,   29,  690,
       29,  690,  690,  690,  674,  146,  146,  146,   29,   29,
       29,   29,  690,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,

      690,  690,  690,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,  690,   29,   29,  690,   29,   29,   29,
       29,  690,   29,   29,   29,   29,  690,   29,  690,   29,
       29,  690,  690,  690,  690,  690,  146,  146,  146,   29,
       29,   29,  690,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,  690,  690,
      690,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,  690,   29,  690,   29,   29,   29,   29,  690,   29,
       29,  690,   29,  690,   29,  690,  690,  690,  690,  690,
      146,  146,  146,   29,   29,   29,  690,   29,   29,   29,

       29,   29,   29,   29,   29,   29,   29,  690,  690,  690,
      690,   29,   29,   29,   29,   29,  690,   29,  690,   29,
      690,   29,  690,   29,   29,  690,   29,  690,   29,  690,
      690,  690,  690,  146,  146,  146,   29,   29,   29,  690,
       29,   29,   29,   29,   29,   29,   29,  690,  690,  690,
      690,   29,   29,  690,   29,  690,  690,   29,  690,   29,
      690,   29,  690,   29,  690,  690,  690,  690,  146,  674,
      146,   29,   29,   29,   29,   29,   29,   29,   29,  690,
      690,  690,   29,   29,  690,   29,  690,  690,   29,  690,
       29,   29,  690,  690,  690,  690,  690,  146,  674,  146,

       29,   29,   29,   29,  690,  690,  690,   29,  690,   29,
      690,  690,   29,  690,   29,   29,  690,  690,  690,  690,
      146,  674,  674,   29,   29,  690,  690,  690,   29,  690,
       29,  690,  690,   29,  690,   29,   29,  690,  690,  690,
      690,  146,   29,   29,  690,  690,  690,   29,  690,  690,
       29,  690,   29,  690,  690,  690,  690,  674,   29,  690,
       29,  690,  690,   29,  690,  690,   29,  690,  690,  690,
       29,  690,  690,    0,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674
    } ;

static yyconst short int yy_nxt[4245] =
    {   0,
       14,   15,   16,   15,   17,   18,   19,   20,   21,   14,
       22,   23,   24,   25,   26,   26,   26,   26,   26,   26,
       27,   17,   28,   28,   29,   30,   31,   32,   33,   34,
       35,   36,   37,   36,   36,   36,   38,   39,   40,   41,
       36,   42,   43,   44,   45,   46,   47,   36,   36,   36,
       48,   17,   14,   49,   49,   49,   49,   49,   49,   49,
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
       49,   49,   49,   49,   49,   21,   17,   21,   51,   52,
       51,   52,   55,   55,   59,   62,   53,   60,   53,   56,
       56,   59,   57,   57,   60,   62,  508,   68,   69,   68,

       76,  232,   70,   63,  242,  673,   64,   68,   69,   68,
      243,  674,   70,   63,  233,  509,   64,   73,   73,   73,
       73,   73,   73,   72,  439,  674,   72,   80,   80,   80,
       72,   78,   85,   72,   72,  147,  147,   82,  238,   80,
       80,   83,   83,   83,   83,   83,   83,   86,   86,   86,
       86,   86,   86,   86,  672,   88,  674,  239,   65,  147,
       66,  159,  159,  159,  670,   88,   88,   88,   65,   88,
       66,   28,  100,   71,   88,  312,  101,   88,   88,  102,
       88,   28,  147,   71,   72,   88,  669,   88,  104,  105,
      313,   88,  159,  159,  159,  668,   88,  147,   76,  106,

      666,   77,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   77,  621,  147,   78,
       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
       79,   79,   88,  665,  535,   88,   88,   88,   88,   88,
       88,   88,   73,   73,   73,  147,   88,   89,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   90,   88,   91,
       88,   92,   88,   88,   88,   88,   93,   88,   88,   88,
       88,   88,  159,  159,  159,   94,   94,   94,   94,   94,

       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,   88,  376,  147,
       95,  663,  147,   88,   96,  377,  103,   88,   97,   88,
       98,   88,  662,   88,  437,   88,   88,   88,  107,   88,
       99,  147,   88,  491,  147,  438,  660,   88,  147,   88,
      378,   88,  492,   88,  657,  108,  147,   88,   88,   88,
      147,   88,  111,   88,  147,  112,   88,  147,  569,  493,
      656,  534,  571,   88,  113,  114,  655,   88,  147,  109,
      115,  536,   88,  116,   88,   88,  147,  147,  600,  654,
      110,  117,  147,  598,   88,   88,   88,   88,   88,   88,

      147,  120,  121,   88,  118,  122,  125,   88,  642,  126,
      147,   88,  652,   88,  650,  123,  649,  127,  647,   88,
       88,   88,   88,  128,  646,  130,   88,   80,   80,   80,
      124,  119,   88,  164,   88,   88,   88,  645,  131,   80,
       80,   88,  132,  641,  640,   88,  639,   88,  638,   88,
      129,  635,  633,  133,   88,  135,  632,  630,  134,  628,
      627,  136,   88,  626,  620,   88,  570,  570,  570,  619,
      618,  617,   88,  614,   88,   88,   88,  140,  137,   88,
      612,   88,  611,  141,   88,  138,  609,   88,   88,  607,
      606,  605,  597,  596,  139,  144,  595,   88,   88,   88,

       88,   88,   88,  594,  147,  142,   88,   88,  145,  145,
      145,  145,  145,  145,  145,  593,  590,  588,  587,  146,
      623,  623,  623,  143,  166,  166,  166,  166,  166,  166,
      166,  585,  582,  581,  148,  580,  568,   88,   88,  149,
       86,   86,   86,   86,   86,   86,   86,   88,   88,   88,
       88,   88,   88,   88,   88,  169,   88,   88,  147,  658,
      658,  658,  567,  170,   88,   88,   88,   88,   88,   88,
      566,  565,   88,   88,  563,   88,  561,  171,  559,   88,
      557,   88,  556,  172,  554,   88,   88,   88,   88,   88,
      551,  174,   88,  173,   88,  550,   88,  147,   88,  549,

       88,  548,   88,   88,   88,   88,   88,  540,  533,  532,
      175,   88,  531,   88,   88,   88,  530,  176,  528,  526,
       88,  523,   88,  521,   88,  519,   88,  177,   88,  511,
       88,  510,   88,   88,   88,  178,   88,  497,  490,   88,
      489,  180,   88,  488,  487,  486,   88,  484,   88,  179,
       88,  482,   88,   88,   88,   88,   88,  479,  474,  472,
      461,   88,  460,   88,  181,  182,   88,   88,  459,  184,
      183,  443,   88,  436,  435,  434,   88,  432,   88,   88,
       88,   88,  429,   88,  427,   88,   88,  188,   88,   88,
      185,  186,  422,  417,  414,  403,   88,   88,   88,   88,

      189,   88,  402,   88,  190,   88,  401,  191,  187,   88,
       88,   88,  383,  195,  374,  373,   88,  372,  366,  359,
       88,   88,   88,  192,   88,  354,  350,   88,  339,   88,
      196,   88,  338,   88,  160,   88,  311,   88,   88,   88,
       88,   88,  308,  307,   88,  198,   88,  306,   88,  300,
       88,  289,  197,  284,   88,   88,   88,   88,   88,  280,
      269,  199,  200,   88,  268,   88,   88,   88,  201,   88,
      243,  241,   88,  240,   88,  147,   88,  231,   88,  227,
       88,  215,   88,   88,  203,   88,   88,  209,  202,  205,
      194,   88,  193,  204,  168,   88,   88,   88,  167,   88,

      165,  161,   88,  160,  206,  160,   88,  157,   88,   88,
       88,   88,   88,   88,  155,   88,   85,  207,   88,  153,
       88,  152,   88,   88,   88,   87,   88,   84,   75,   72,
       88,   88,   88,   88,   88,   88,   88,   88,  208,   88,
       72,  210,   88,  674,  674,  674,   88,   88,   88,  674,
       88,  674,  674,  674,  674,   88,  211,   88,  674,   88,
       88,   88,  674,  213,  674,  674,  212,  214,  674,  674,
       88,  674,   88,  674,   88,  216,   88,  674,  674,   88,
      674,  674,   88,  674,  674,  674,  217,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  218,  674,   88,

      219,   88,  674,   88,  674,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  223,  221,  674,  220,   88,  674,
       88,  674,  222,  674,   88,   88,   88,  674,  674,   88,
      674,  224,  674,  674,  674,   88,   88,   88,   88,   88,
       88,   88,   88,  674,   88,   88,  674,  674,  674,  674,
      674,   88,   88,   88,   88,   88,  226,   88,   88,  229,
      225,   88,  230,  674,  228,  674,  674,   88,   88,   88,
       88,   88,   88,   88,  674,  674,   88,   88,  674,  674,
      674,  674,  674,   88,  674,   88,  674,   88,  236,  236,
      236,  234,   88,  145,  145,  145,  145,  145,  145,  145,

      674,  674,  674,  674,  674,  674,  674,  166,  166,  166,
      166,  166,  166,  166,  674,   88,  674,  674,  244,  674,
      674,  674,  674,  674,  674,   88,  237,   88,   88,   88,
      674,  235,  674,  245,   88,  674,   88,  674,   88,   88,
       88,  674,   88,  674,  674,  674,   88,   88,   88,  246,
       88,   88,   88,   88,  674,   88,  674,  674,   88,  674,
       88,  674,   88,   88,   88,  247,   88,  248,  674,  674,
       88,   88,   88,   88,   88,   88,   88,   88,  674,   88,
      674,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,  674,   88,  249,  250,   88,   88,  674,   88,  674,

       88,  674,   88,   88,   88,  674,   88,  252,  251,  674,
       88,   88,   88,   88,   88,  674,  674,  674,  674,   88,
      674,   88,  674,   88,   88,   88,  674,   88,  674,  674,
      253,   88,   88,   88,   88,  254,   88,  674,   88,  674,
       88,  255,  256,   88,  257,   88,   88,  674,  674,  259,
      674,  674,  258,  674,  674,   88,   88,   88,   88,   88,
       88,   88,  674,  674,   88,   88,  674,   88,  674,  674,
      674,   88,  674,   88,  260,   88,  674,   88,   88,   88,
       88,   88,  674,  674,   88,  674,   88,  262,   88,  261,
       88,  674,   88,  674,   88,   88,   88,   88,   88,  674,

      674,   88,  674,   88,  265,  263,  674,   88,  264,   88,
      674,   88,   88,   88,   88,   88,  674,  674,  674,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  266,
      674,   88,  674,   88,  267,   88,   88,   88,  674,  674,
      674,  674,   88,  674,   88,  674,   88,   88,   88,  674,
       88,  674,  674,  270,   88,   88,  271,  272,   88,   88,
      273,   88,   88,   88,  674,   88,   88,  674,   88,  674,
      674,  276,  274,  674,   88,   88,   88,   88,   88,   88,
       88,   88,   88,  275,   88,  277,   88,   88,  674,   88,
      674,  674,   88,  674,  674,  674,   88,  674,   88,   88,

       88,   88,   88,   88,   88,   88,   88,   88,  278,  674,
       88,   88,  674,  281,  674,  674,  674,  279,  674,   88,
       88,   88,   88,  674,   88,   88,   88,  674,  282,   88,
      674,   88,  674,  674,  674,   88,  674,   88,  283,   88,
      674,   88,   88,   88,   88,   88,  674,  674,  674,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,   88,
      285,   88,  674,   88,  674,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  674,  674,  286,  674,   88,  674,
       88,   88,   88,  674,   88,  674,  674,  287,  674,   88,
      674,   88,   88,   88,  674,   88,  674,  291,   88,  674,

       88,  288,  290,  674,   88,  674,   88,  674,   88,   88,
       88,   88,   88,  674,  674,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  674,   88,  674,   88,  292,   88,
       88,   88,  674,  293,   88,  674,  674,  674,  294,  674,
       88,   88,   88,   88,   88,   88,   88,  674,  674,   88,
       88,  674,  674,  674,  674,  674,   88,   88,   88,  674,
       88,  674,  674,   88,  295,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  296,   88,   88,   88,   88,  674,
      297,  298,   88,  674,   88,  674,  674,  299,   88,  674,
       88,  674,   88,  674,   88,   88,   88,   88,   88,  674,

      674,  674,  674,   88,  674,   88,   88,   88,  301,   88,
      302,  305,  674,  674,   88,  303,   88,   88,   88,  674,
       88,  674,  674,  674,  304,   88,  674,   88,   88,   88,
      674,   88,  674,  674,  309,  674,   88,  674,   88,  674,
       88,  674,   88,  236,  236,  236,  674,   88,  674,  674,
      674,  674,   88,   88,  674,  310,  310,  310,  310,  310,
      310,  310,   88,   88,  314,   88,   88,   88,   88,  315,
      674,   88,   88,  674,   88,  316,  674,  674,   88,  674,
       88,  674,   88,  674,   88,  317,   88,   88,   88,   88,
       88,  674,  674,   88,  674,  674,  674,  674,  674,   88,

       88,  318,   88,   88,   88,  321,   88,   88,   88,   88,
      320,  674,  674,  674,  674,  674,   88,   88,   88,   88,
       88,   88,   88,  322,  674,   88,   88,  674,   88,  674,
      674,  674,   88,  674,   88,  319,   88,  674,   88,   88,
       88,   88,   88,  674,  674,  323,  674,   88,  674,   88,
       88,   88,  324,   88,  674,  674,  674,  674,   88,  674,
       88,  674,   88,  674,   88,   88,  325,  326,   88,   88,
      674,   88,  674,  674,  674,   88,  674,   88,   88,   88,
       88,   88,   88,  328,  327,   88,   88,   88,  329,   88,
       88,  330,   88,  674,  674,  331,   88,  674,   88,   88,

       88,   88,   88,   88,   88,   88,   88,   88,   88,  674,
      674,   88,  674,   88,  674,  674,  674,   88,  674,   88,
      333,  332,  674,   88,   88,   88,   88,   88,  674,  674,
      674,  674,   88,  674,   88,   88,   88,  674,   88,  674,
      334,  674,  674,   88,  674,   88,  674,  335,  674,   88,
       88,  336,  674,  337,   88,  674,   88,  674,  674,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,  674,   88,  674,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,   88,   88,
      674,  341,   88,  674,  674,  342,  674,  674,   88,   88,

       88,   88,   88,   88,   88,  343,  674,   88,   88,  345,
       88,  674,  340,  674,   88,  674,   88,  674,   88,  674,
       88,   88,   88,  344,   88,  348,  346,  674,  674,   88,
      674,   88,  674,   88,   88,   88,  674,  347,  674,  674,
       88,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  349,
       88,   88,   88,  674,   88,   88,  351,  674,   88,   88,
      674,  674,  674,  674,  674,   88,  674,   88,   88,   88,
       88,   88,   88,  674,   88,  674,  352,   88,  674,   88,
      356,   88,  355,   88,  353,   88,  674,  674,  674,   88,

       88,   88,  674,   88,   88,   88,  674,  357,   88,  674,
      674,  674,  674,  674,   88,   88,   88,   88,   88,   88,
      358,   88,   88,   88,   88,  674,  674,  674,  674,  674,
      674,   88,   88,   88,   88,   88,   88,   88,  674,  674,
       88,   88,  674,  674,  674,  674,  674,   88,  674,   88,
       88,   88,  674,  361,  674,  360,   88,  674,   88,  674,
       88,   88,   88,  674,   88,  674,  674,  674,   88,   88,
       88,   88,   88,  362,  674,   88,   88,   88,  363,   88,
       88,  674,   88,  674,  674,  365,   88,  674,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   88,   88,  674,

       88,   88,  674,   88,  674,  674,  674,   88,  674,   88,
       88,   88,   88,   88,   88,  367,   88,   88,   88,   88,
      674,  364,   88,  674,   88,  674,  674,  369,   88,  674,
       88,  674,   88,  674,   88,   88,   88,  368,   88,  674,
      674,   88,  674,   88,  674,   88,  674,   88,  674,   88,
      674,   88,  674,   88,   88,   88,   88,  674,  371,  674,
       88,  674,  674,  674,  674,  674,   88,  674,   88,  674,
       88,  370,  674,   88,  674,   88,  310,  310,  310,  310,
      310,  310,  310,   88,  674,   88,  674,   88,  380,   88,
      674,  379,   88,  674,  674,  674,  674,   88,  381,   88,

      674,   88,  674,   88,  382,   88,  674,   88,   88,   88,
      674,   88,  674,   88,  375,   88,   88,   88,  674,   88,
      384,   88,  674,   88,   88,   88,  674,   88,  674,   88,
      385,   88,   88,   88,  674,   88,  674,  674,  674,   88,
       88,   88,   88,   88,  674,  386,  674,  674,   88,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  674,
       88,   88,   88,   88,   88,  387,  674,   88,   88,   88,
      388,   88,   88,  674,   88,  389,  674,  674,   88,  674,
       88,   88,   88,   88,  390,   88,   88,   88,   88,   88,
       88,  674,  391,   88,  674,   88,  392,  393,  674,   88,

      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  394,   88,  674,  674,  674,  674,  674,
       88,   88,   88,   88,   88,   88,   88,  395,  674,   88,
       88,  674,  674,  674,  674,  674,   88,  674,   88,  674,
       88,   88,  397,  674,  396,   88,  674,   88,  674,  674,
      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  674,   88,  398,   88,  674,   88,  674,
       88,  674,   88,  674,   88,  399,  400,   88,   88,   88,
       88,  674,  674,   88,  674,  674,  674,  404,  674,   88,
       88,   88,   88,   88,   88,  674,  674,   88,   88,   88,

       88,  405,  674,  406,  674,  674,  674,   88,  674,   88,
       88,   88,   88,  674,   88,  407,   88,   88,   88,   88,
      408,  674,  674,  674,  674,  674,  674,   88,   88,  409,
       88,   88,   88,  674,   88,   88,   88,   88,  410,  674,
      674,  413,  674,  412,   88,   88,   88,   88,   88,   88,
       88,  411,  674,   88,   88,  674,   88,  674,  674,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,  674,  674,  674,   88,  674,   88,   88,   88,
      674,   88,  674,  674,   88,  415,   88,  674,   88,  674,
       88,  674,   88,  674,   88,   88,  416,   88,   88,  674,

      674,  674,  674,   88,  674,   88,   88,   88,  674,   88,
      674,  418,   88,  419,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,  420,   88,   88,  674,  674,  674,
      674,   88,  674,   88,  674,   88,   88,   88,  674,   88,
      674,  421,   88,  423,  674,  674,   88,   88,   88,   88,
       88,  424,  425,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  674,  674,  674,   88,  674,  674,  674,
       88,   88,   88,  674,   88,  674,  674,   88,  428,   88,
      674,   88,  426,   88,  674,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  674,  430,   88,  674,  674,  674,

      674,  674,   88,   88,   88,   88,   88,   88,   88,  431,
      674,   88,   88,  674,   88,  674,  674,  674,   88,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
      440,  441,   88,   88,  674,  674,  674,  674,  674,   88,
       88,   88,   88,   88,   88,  674,   88,  674,   88,  674,
       88,   88,   88,  433,   88,   88,  674,  674,  442,   88,
      674,   88,  674,  674,  674,   88,  674,  444,  674,   88,
      674,   88,   88,   88,   88,   88,  674,  674,   88,  445,
       88,  446,   88,  674,   88,  674,   88,  674,   88,   88,
       88,   88,   88,  674,  674,   88,  447,   88,  674,   88,

      674,   88,  674,   88,  674,   88,   88,  448,   88,   88,
      674,  674,  674,  674,   88,  674,   88,   88,   88,  450,
       88,  674,  674,   88,  449,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,  674,  674,
       88,  451,   88,  452,  674,  674,   88,  674,  453,  674,
       88,  674,   88,  674,   88,  674,   88,  674,   88,   88,
       88,  454,   88,   88,  674,   88,  674,  674,  674,  674,
      674,  674,   88,   88,   88,   88,   88,   88,   88,   88,
      674,   88,   88,  674,  674,  455,  674,  674,   88,   88,
       88,   88,   88,   88,   88,  674,  456,   88,   88,  458,

       88,  457,  674,  674,   88,  674,   88,  674,   88,  674,
       88,   88,   88,   88,   88,  462,  674,   88,  674,   88,
      674,   88,  674,   88,  463,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  464,  674,   88,  674,  674,  674,
      674,  674,   88,   88,   88,   88,   88,   88,  674,  674,
      465,   88,   88,   88,   88,  467,  466,  674,  674,  674,
      674,  674,  674,   88,   88,   88,   88,   88,   88,   88,
      674,  674,   88,   88,  674,  674,  674,   88,  674,   88,
      469,   88,  674,   88,  674,  468,  674,   88,   88,   88,
       88,   88,  674,  674,  674,  674,   88,  674,   88,  674,

       88,   88,   88,  674,   88,  471,  674,  470,   88,   88,
       88,   88,   88,   88,  674,   88,   88,   88,  473,   88,
       88,  674,   88,  674,  674,  674,   88,  674,  475,   88,
       88,   88,   88,   88,  476,   88,   88,   88,   88,  674,
       88,   88,  674,  478,  674,  674,  674,   88,   88,   88,
       88,   88,   88,  674,   88,  477,   88,  674,   88,   88,
       88,  674,   88,   88,  481,  674,   88,   88,  480,   88,
      674,  674,  674,   88,  674,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   88,  483,   88,   88,  674,
       88,  674,  674,  674,   88,  674,   88,   88,   88,   88,

       88,   88,   88,   88,   88,   88,   88,  485,   88,   88,
      674,  674,  674,  674,  674,   88,  674,   88,   88,   88,
       88,   88,   88,  494,   88,  674,  495,   88,  496,   88,
      674,   88,  674,   88,  674,   88,  674,  674,  674,   88,
       88,   88,   88,   88,  674,  498,  674,  674,   88,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  674,
       88,   88,  499,   88,   88,  500,   88,   88,  674,   88,
      674,  674,   88,  501,   88,  674,   88,   88,   88,  674,
       88,  674,  674,  674,   88,   88,   88,   88,   88,   88,
       88,   88,  674,   88,  674,  674,   88,  502,   88,  674,

       88,   88,   88,  503,   88,  674,  674,  674,   88,   88,
       88,   88,   88,   88,   88,   88,  674,   88,  674,  674,
       88,  674,  674,  674,   88,   88,   88,  674,   88,  674,
      674,  674,  504,   88,  674,   88,   88,   88,  674,   88,
      674,  674,  506,  505,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  674,  674,   88,
      674,   88,  674,  507,  674,   88,  512,   88,  674,   88,
       88,   88,   88,   88,  674,  674,  674,  674,   88,  674,
       88,   88,   88,  674,   88,  674,  674,   88,  513,   88,
      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,

       88,   88,  674,  674,   88,  674,   88,  515,   88,  674,
       88,  674,   88,  674,   88,  514,   88,   88,   88,   88,
       88,  516,  674,   88,  674,  674,  674,  674,  674,   88,
       88,   88,   88,   88,   88,   88,   88,  674,   88,   88,
      674,  674,  674,  674,  674,   88,   88,   88,  518,   88,
       88,   88,   88,  674,   88,   88,  674,  674,  674,  674,
      674,  520,   88,   88,   88,   88,   88,  674,  674,   88,
       88,   88,   88,  522,  674,   88,  674,  674,  674,   88,
      517,   88,   88,   88,   88,   88,   88,   88,   88,   88,
       88,   88,  674,  524,   88,  674,   88,  674,  674,  525,

       88,  674,   88,  674,   88,  674,   88,  674,   88,   88,
       88,   88,  674,  537,  527,   88,  529,   88,  674,  674,
      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  674,   88,  674,   88,  674,   88,  674,
       88,  538,   88,  674,   88,  674,   88,   88,   88,   88,
      539,  674,  674,   88,  674,   88,  674,  674,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,   88,   88,
      674,  541,  674,  674,   88,  674,   88,  674,   88,   88,
       88,  674,  543,  674,  542,   88,  674,   88,  674,   88,
       88,   88,  674,   88,  674,  674,  674,   88,   88,  544,

       88,   88,   88,  545,   88,   88,   88,  674,   88,   88,
      674,  546,  674,  674,  674,   88,   88,   88,   88,   88,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,   88,  674,  674,   88,  547,  674,  674,   88,
      674,   88,   88,   88,   88,  674,   88,   88,   88,  674,
      552,   88,  674,   88,  674,  674,  674,   88,  674,   88,
      674,   88,  674,   88,   88,   88,   88,   88,  674,  674,
       88,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,   88,   88,   88,   88,  674,  674,  674,  674,   88,
      674,   88,   88,   88,  674,   88,  555,  674,   88,  553,

       88,  674,   88,  674,   88,  560,   88,  674,   88,   88,
       88,   88,   88,  674,  674,  674,  558,   88,  674,   88,
       88,   88,  674,   88,  674,  674,   88,  674,   88,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,  674,   88,  674,   88,  674,   88,  674,  562,
      674,   88,  674,  564,   88,   88,   88,   88,  674,  674,
      674,  674,   88,  674,   88,   88,   88,  674,   88,  674,
      674,  572,  674,   88,  674,   88,   88,   88,  573,   88,
      674,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  674,  674,  674,

      674,   88,  674,   88,   88,   88,  575,   88,  674,  674,
      574,  674,   88,  674,   88,   88,   88,  674,   88,  674,
      576,   88,  674,   88,  674,   88,  674,   88,  674,   88,
      674,   88,  674,  577,   88,   88,   88,   88,  578,  674,
       88,  674,  674,  674,  674,  674,   88,  579,   88,   88,
       88,   88,   88,   88,  674,   88,   88,  674,  674,  674,
      584,  674,   88,   88,   88,   88,   88,   88,  583,   88,
       88,   88,   88,  674,  674,  674,  586,  674,  674,   88,
       88,   88,  589,   88,   88,   88,  674,  674,   88,   88,
      674,   88,  674,  674,  674,   88,  674,   88,  591,   88,

      674,   88,   88,   88,   88,   88,  674,  674,  674,  592,
       88,  674,   88,  674,   88,  674,   88,  570,  570,  570,
      674,   88,  674,  674,  674,  674,   88,   88,  674,  599,
      599,  599,  599,  599,  599,  599,   88,   88,   88,  602,
       88,   88,   88,   88,  674,   88,   88,  674,  674,  601,
      674,  674,   88,   88,   88,   88,   88,   88,   88,   88,
      674,   88,   88,  674,  674,  674,  674,  674,   88,   88,
       88,   88,   88,   88,   88,   88,  603,   88,   88,  674,
      674,  674,  604,  674,   88,   88,   88,   88,   88,   88,
       88,  674,  674,   88,   88,  674,  674,  674,   88,  674,

       88,  674,   88,  674,   88,  674,   88,  674,   88,   88,
       88,  608,   88,  674,   88,  674,   88,   88,  610,  674,
       88,  613,   88,  674,   88,   88,   88,  674,   88,  615,
       88,  674,   88,   88,   88,  674,   88,  616,  674,  674,
       88,   88,   88,  674,   88,  674,  674,   88,   88,   88,
      599,  599,  599,  599,  599,  599,  599,   88,   88,  624,
       88,   88,   88,   88,  674,  674,   88,   88,  674,  674,
      674,   88,  674,   88,  674,   88,  674,   88,  674,  674,
      674,   88,   88,   88,   88,   88,  674,  674,  622,  625,
       88,  674,   88,  674,   88,   88,  629,  674,   88,  631,

      674,  674,   88,   88,   88,   88,   88,   88,   88,   88,
      636,   88,  674,  634,   88,  674,  674,  674,   88,   88,
       88,  674,   88,  637,  674,  674,  674,   88,  674,   88,
      674,   88,  674,   88,  623,  623,  623,  674,   88,  674,
      674,  674,  674,   88,   88,  674,  599,  599,  599,  599,
      599,  599,  599,   88,   88,   88,   88,   88,   88,   88,
      674,  643,   88,   88,  674,   88,  674,  644,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,   88,   88,
      674,  674,   88,  648,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  674,  674,  651,

      653,   88,  674,   88,  674,   88,   88,   88,  659,   88,
      674,  674,   88,  674,  674,  674,   88,   88,   88,   88,
       88,   88,  674,   88,  674,   88,  674,   88,   88,   88,
      674,   88,   88,  674,  674,   88,   88,  674,  664,  674,
      661,  674,   88,  674,   88,   88,   88,   88,  674,   88,
      674,   88,  674,  674,   88,  658,  658,  658,  674,  674,
      674,  674,  674,  674,   88,   88,  674,  599,  599,  599,
      599,  599,  599,  599,   88,   88,   88,   88,   88,   88,
       88,   88,  674,   88,   88,  674,  667,  674,  674,  674,
       88,   88,   88,   88,   88,   88,  671,   88,  674,   88,

       88,  674,  674,  674,  674,  674,  674,   88,  674,   88,
      674,   88,  674,  674,  674,  674,   88,   50,   50,   50,
       50,   50,   50,   50,   50,   50,   50,   50,   50,   54,
       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
       54,   58,   58,   58,   58,   58,   58,   58,   58,   58,
       58,   58,   58,   61,   61,   61,   61,   61,   61,   61,
       61,   61,   61,   61,   61,   67,   67,   67,   67,   67,
       67,   67,   67,   67,   67,   67,   67,   74,   74,   74,
      674,   74,   74,   74,   74,   74,   74,   74,   74,   81,
       81,  674,  674,   81,  674,   81,  147,  674,  147,  150,

      150,  674,  150,  150,  151,  151,  674,  151,  151,  151,
      674,  151,  151,  151,  151,  151,  154,  154,  154,  674,
      154,  154,  154,  154,  154,  154,  154,  154,  156,  156,
      156,  156,  156,  156,  156,  156,  674,  156,  156,  158,
      674,  674,  158,  674,  158,  158,  158,  158,  158,  158,
      162,  162,  674,  162,  162,  163,  163,  674,  163,  163,
       94,   94,  674,   94,   94,   13,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,

      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674
    } ;

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

       78,  143,   11,    9,  164,  669,    9,   12,   12,   12,
      164,   70,   12,   10,  143,  459,   10,   15,   15,   15,
       16,   16,   16,   15,  378,   70,   16,   20,   20,   20,
       24,   78,   24,   20,   22,  378,  148,   22,  148,   20,
       20,   22,   22,   22,   22,   22,   22,   26,   26,   26,
       26,   26,   26,   26,  665,   36,   70,  149,    9,  149,
        9,   68,   68,   68,  663,   36,   31,   36,   10,   36,
       10,   11,   31,   11,   36,  238,   31,   33,   31,   31,
       31,   12,  238,   12,   19,   31,  662,   33,   33,   33,
      239,   33,   69,   69,   69,  660,   33,  239,   19,   33,

      656,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,  598,  598,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   29,  655,  492,   29,   29,   29,   29,   29,
       29,   29,   73,   73,   73,  492,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,  159,  159,  159,   29,   29,   29,   29,   29,

       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   30,  311,  312,
       30,  652,  311,   32,   30,  312,   32,   30,   30,   30,
       30,   30,  650,   32,  376,   32,   30,   32,   34,   34,
       30,  376,   32,  437,  313,  377,  646,   35,  438,   34,
      313,   34,  438,   34,  641,   34,  437,   35,   34,   35,
      377,   35,   37,   37,  534,   37,   35,  439,  534,  439,
      640,  491,  536,   37,   37,   37,  639,   37,  493,   35,
       37,  493,   37,   38,   38,   39,  491,  536,  571,  638,
       35,   38,  571,  569,   38,   39,   38,   39,   38,   39,

      569,   40,   40,   38,   39,   40,   41,   41,  621,   41,
      621,   40,  635,   40,  633,   40,  632,   41,  628,   41,
       40,   41,   42,   41,  627,   42,   41,   80,   80,   80,
       40,   39,   42,   80,   42,   43,   42,  626,   43,   80,
       80,   42,   43,  620,  619,   43,  618,   43,  617,   43,
       41,  614,  612,   43,   43,   44,  611,  609,   43,  607,
      606,   44,   44,  605,  597,   45,  535,  535,  535,  596,
      595,  593,   44,  590,   44,   45,   44,   45,   44,   45,
      588,   44,  587,   45,   45,   44,  585,   46,   47,  582,
      581,  580,  568,  567,   44,   47,  566,   46,   47,   46,

       47,   46,   47,  565,  535,   45,   46,   47,   48,   48,
       48,   48,   48,   48,   48,  563,  559,  557,  556,   48,
      600,  600,  600,   46,   83,   83,   83,   83,   83,   83,
       83,  554,  550,  549,   48,  548,  533,   88,   89,   48,
       86,   86,   86,   86,   86,   86,   86,   88,   89,   88,
       89,   88,   89,   90,   91,   89,   88,   89,  600,  642,
      642,  642,  532,   90,   91,   90,   91,   90,   91,   92,
      531,  530,   90,   91,  528,   93,  526,   91,  523,   92,
      521,   92,  519,   92,  517,   93,   95,   93,   92,   93,
      511,   95,   96,   93,   93,  510,   95,  642,   95,  509,

       95,  508,   96,   97,   96,   95,   96,  497,  490,  489,
       96,   96,  488,   97,   98,   97,  487,   97,  484,  482,
       99,  479,   97,  474,   98,  472,   98,   98,   98,  461,
       99,  460,   99,   98,   99,  100,  100,  443,  436,   99,
      435,  101,  101,  434,  433,  432,  100,  429,  100,  100,
      100,  427,  101,  102,  101,  100,  101,  422,  417,  414,
      403,  101,  402,  102,  102,  102,  103,  102,  401,  104,
      103,  383,  102,  374,  373,  372,  103,  370,  103,  104,
      103,  104,  366,  104,  364,  103,  106,  106,  104,  105,
      105,  105,  359,  354,  350,  340,  106,  107,  106,  105,

      106,  105,  339,  105,  106,  106,  338,  107,  105,  107,
      108,  107,  319,  111,  308,  307,  107,  306,  300,  289,
      108,  111,  108,  108,  108,  284,  280,  112,  269,  108,
      112,  111,  268,  111,  241,  111,  237,  112,  113,  112,
      111,  112,  233,  232,  114,  114,  112,  231,  113,  227,
      113,  215,  113,  209,  114,  115,  114,  113,  114,  205,
      194,  114,  114,  114,  193,  115,  116,  115,  115,  115,
      165,  161,  117,  157,  115,  147,  116,  142,  116,  139,
      116,  129,  117,  118,  117,  116,  117,  124,  116,  119,
      110,  117,  109,  118,   87,  118,  120,  118,   84,  121,

       81,   76,  118,   75,  120,   72,  120,   63,  120,  121,
      120,  121,  122,  121,   60,  120,   57,  121,  121,   56,
      123,   53,  122,  125,  122,   27,  122,   23,   18,   17,
      123,  122,  123,  125,  123,  125,  126,  125,  123,  123,
       14,  125,  125,   13,    0,    0,  126,  127,  126,    0,
      126,    0,    0,    0,    0,  126,  126,  127,    0,  127,
      128,  127,    0,  128,    0,    0,  127,  128,    0,    0,
      128,    0,  128,    0,  128,  130,  130,    0,    0,  128,
        0,    0,  131,    0,    0,    0,  130,    0,  130,    0,
      130,    0,  131,  132,  131,  130,  131,  131,    0,  133,

      131,  131,    0,  132,    0,  132,    0,  132,    0,  133,
      134,  133,  132,  133,  135,  133,    0,  132,  133,    0,
      134,    0,  134,    0,  134,  135,  136,    0,    0,  134,
        0,  136,    0,    0,    0,  135,  136,  135,  136,  135,
      136,  137,  138,    0,  135,  136,    0,    0,    0,    0,
        0,  137,  138,  137,  138,  137,  138,  140,  141,  141,
      137,  138,  141,    0,  140,    0,    0,  140,  141,  140,
      141,  140,  141,  144,    0,    0,  140,  141,    0,    0,
        0,    0,    0,  144,    0,  144,    0,  144,  146,  146,
      146,  144,  144,  145,  145,  145,  145,  145,  145,  145,

      146,  146,  146,  146,  146,  146,  146,  166,  166,  166,
      166,  166,  166,  166,    0,  169,    0,    0,  169,    0,
        0,    0,    0,    0,    0,  169,  146,  169,  170,  169,
        0,  145,    0,  169,  169,    0,  171,    0,  170,  172,
      170,    0,  170,    0,    0,    0,  171,  170,  171,  172,
      171,  172,  173,  172,    0,  171,    0,    0,  172,    0,
      174,    0,  173,  175,  173,  173,  173,  174,    0,    0,
      174,  173,  174,  175,  174,  175,  176,  175,    0,  174,
        0,    0,  175,    0,  177,    0,  176,    0,  176,    0,
      176,    0,  178,  176,  177,  176,  177,    0,  177,    0,

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

        0,  190,    0,  188,  190,  189,    0,  189,  189,  189,
        0,  190,  191,  190,  189,  190,    0,    0,    0,    0,
      190,    0,  191,  192,  191,    0,  191,    0,    0,  191,
        0,  191,    0,  192,  192,  192,  195,  192,    0,    0,
        0,    0,  192,    0,  196,    0,  195,  197,  195,    0,
      195,    0,    0,  195,  196,  195,  196,  197,  196,  197,
      197,  197,  198,  196,    0,  199,  197,    0,  200,    0,
        0,  200,  198,    0,  198,  199,  198,  199,  200,  199,
      200,  198,  200,  199,  199,  201,  202,  200,    0,  203,
        0,    0,  201,    0,    0,    0,  202,    0,  202,  203,

      202,  203,  201,  203,  201,  202,  201,  204,  203,    0,
      206,  201,    0,  206,    0,    0,    0,  204,    0,  204,
      206,  204,  206,    0,  206,  207,  204,    0,  207,  206,
        0,  208,    0,    0,    0,  207,    0,  207,  208,  207,
        0,  208,  210,  208,  207,  208,    0,    0,    0,    0,
      208,    0,  210,  211,  210,    0,  210,    0,    0,  212,
      210,  210,    0,  211,    0,  211,    0,  211,    0,  212,
      213,  212,  211,  212,    0,    0,  212,    0,  212,    0,
      213,  214,  213,    0,  213,    0,    0,  213,    0,  213,
        0,  214,  216,  214,    0,  214,    0,  217,  217,    0,

      214,  214,  216,    0,  216,    0,  216,    0,  217,  218,
      217,  216,  217,    0,    0,  219,    0,  217,    0,  218,
        0,  218,    0,  218,    0,  219,    0,  219,  218,  219,
      220,  221,    0,  220,  219,    0,    0,    0,  221,    0,
      220,  221,  220,  221,  220,  221,  222,    0,    0,  220,
      221,    0,    0,    0,    0,    0,  222,  223,  222,    0,
      222,    0,    0,  224,  222,  222,    0,  223,    0,  223,
        0,  223,    0,  224,  223,  224,  223,  224,  225,    0,
      224,  225,  224,    0,  226,    0,    0,  226,  225,    0,
      225,    0,  225,    0,  226,  228,  226,  225,  226,    0,

        0,    0,    0,  226,    0,  228,  229,  228,  228,  228,
      228,  230,    0,    0,  228,  228,  229,  230,  229,    0,
      229,    0,    0,    0,  229,  229,    0,  230,  234,  230,
        0,  230,    0,    0,  234,    0,  230,    0,  234,    0,
      234,    0,  234,  236,  236,  236,    0,  234,    0,    0,
        0,    0,  244,  245,    0,  236,  236,  236,  236,  236,
      236,  236,  244,  245,  244,  245,  244,  245,  246,  245,
        0,  244,  245,    0,  247,  246,    0,    0,  246,    0,
      246,    0,  246,    0,  247,  247,  247,  246,  247,  248,
      249,    0,    0,  247,    0,    0,    0,    0,    0,  248,

      249,  248,  249,  248,  249,  251,  251,  250,  248,  249,
      250,    0,    0,    0,    0,    0,  251,  250,  251,  250,
      251,  250,  252,  252,    0,  251,  250,    0,  253,    0,
        0,    0,  252,    0,  252,  249,  252,    0,  253,  254,
      253,  252,  253,    0,    0,  253,    0,  253,    0,  254,
      255,  254,  254,  254,    0,    0,    0,    0,  254,    0,
      255,    0,  255,    0,  255,  257,  255,  256,  256,  255,
        0,  258,    0,    0,    0,  257,    0,  257,  256,  257,
      256,  258,  256,  258,  257,  258,  259,  256,  259,  260,
      258,  260,  261,    0,    0,  261,  259,    0,  259,  260,

      259,  260,  261,  260,  261,  259,  261,  262,  260,    0,
        0,  261,    0,  263,    0,    0,    0,  262,    0,  262,
      263,  262,    0,  263,  264,  263,  262,  263,    0,    0,
        0,    0,  263,    0,  264,  265,  264,    0,  264,    0,
      264,    0,    0,  264,    0,  265,    0,  265,    0,  265,
      266,  265,    0,  266,  265,    0,  267,    0,    0,    0,
      266,    0,  266,    0,  266,    0,  267,  270,  267,  266,
      267,    0,    0,  271,    0,  267,    0,  270,    0,  270,
        0,  270,    0,  271,    0,  271,  270,  271,  272,  273,
        0,  271,  271,    0,    0,  272,    0,    0,  272,  273,

      272,  273,  272,  273,  274,  273,    0,  272,  273,  275,
      275,    0,  270,    0,  274,    0,  274,    0,  274,    0,
      275,  276,  275,  274,  275,  277,  276,    0,    0,  275,
        0,  276,    0,  276,  277,  276,    0,  276,    0,    0,
      276,    0,  278,    0,  277,    0,  277,    0,  277,    0,
      279,    0,  278,  277,  278,    0,  278,    0,    0,  278,
      279,  278,  279,    0,  279,  281,  281,    0,  282,  279,
        0,    0,    0,    0,    0,  281,    0,  281,  282,  281,
      282,  283,  282,    0,  281,    0,  282,  282,    0,  285,
      286,  283,  285,  283,  283,  283,    0,    0,    0,  285,

      283,  285,    0,  285,  287,  286,    0,  287,  285,    0,
        0,    0,    0,    0,  287,  286,  287,  286,  287,  286,
      288,  288,  290,  287,  286,    0,    0,    0,    0,    0,
        0,  288,  290,  288,  290,  288,  290,  291,    0,    0,
      288,  290,    0,    0,    0,    0,    0,  291,    0,  291,
      292,  291,    0,  292,    0,  291,  291,    0,  293,    0,
      292,  294,  292,    0,  292,    0,    0,    0,  293,  292,
      293,  294,  293,  294,    0,  294,  296,  293,  295,  295,
      294,    0,  297,    0,    0,  299,  296,    0,  296,  295,
      296,  295,  297,  295,  297,  296,  297,  298,  295,    0,

      299,  297,    0,  301,    0,    0,    0,  298,    0,  298,
      299,  298,  299,  301,  299,  301,  298,  301,  302,  299,
        0,  296,  301,    0,  303,    0,    0,  303,  302,    0,
      302,    0,  302,    0,  303,  304,  303,  302,  303,    0,
        0,  305,    0,  303,    0,  304,    0,  304,    0,  304,
        0,  305,    0,  305,  304,  305,  309,    0,  305,    0,
      305,    0,    0,    0,    0,    0,  309,    0,  309,    0,
      309,  304,    0,  314,    0,  309,  310,  310,  310,  310,
      310,  310,  310,  314,    0,  314,    0,  314,  315,  315,
        0,  314,  314,    0,    0,    0,    0,  316,  316,  315,

        0,  315,    0,  315,  317,  317,    0,  316,  315,  316,
        0,  316,    0,  318,  310,  317,  316,  317,    0,  317,
      320,  320,    0,  318,  317,  318,    0,  318,    0,  321,
      321,  320,  318,  320,    0,  320,    0,    0,    0,  321,
      320,  321,  322,  321,    0,  322,    0,    0,  321,    0,
      323,    0,  322,  324,  322,    0,  322,    0,    0,    0,
      323,  322,  323,  324,  323,  324,    0,  324,  326,  323,
      325,  325,  324,    0,  327,  326,    0,    0,  326,    0,
      326,  325,  326,  325,  327,  325,  327,  326,  327,  328,
      325,    0,  328,  327,    0,  329,  328,  329,    0,  328,

        0,  328,    0,  328,    0,  329,    0,  329,  328,  329,
      330,  331,    0,  330,  329,    0,    0,    0,    0,    0,
      330,  331,  330,  331,  330,  331,  332,  331,    0,  330,
      331,    0,    0,    0,    0,    0,  332,    0,  332,    0,
      332,  333,  333,    0,  332,  332,    0,  334,    0,    0,
        0,  333,    0,  333,    0,  333,    0,  334,  335,  334,
      333,  334,    0,    0,  336,  334,  334,    0,  335,    0,
      335,    0,  335,    0,  336,  335,  336,  335,  336,  337,
      341,    0,    0,  336,    0,    0,    0,  341,    0,  337,
      341,  337,  341,  337,  341,    0,    0,  343,  337,  341,

      342,  342,    0,  342,    0,    0,    0,  343,    0,  343,
      342,  343,  342,    0,  342,  343,  343,  345,  344,  342,
      344,    0,    0,    0,    0,    0,    0,  345,  344,  345,
      344,  345,  344,    0,  347,  346,  345,  344,  346,    0,
        0,  349,    0,  348,  347,  346,  347,  346,  347,  346,
      348,  347,    0,  347,  346,    0,  349,    0,    0,    0,
      348,    0,  348,    0,  348,    0,  349,  351,  349,  348,
      349,    0,    0,    0,    0,  349,    0,  351,  352,  351,
        0,  351,    0,    0,  353,  351,  351,    0,  352,    0,
      352,    0,  352,    0,  353,  355,  353,  352,  353,    0,

        0,    0,    0,  353,    0,  355,  356,  355,    0,  355,
        0,  355,  357,  356,  355,    0,  356,    0,  356,    0,
      356,    0,  357,  358,  357,  356,  357,    0,    0,    0,
        0,  357,    0,  358,    0,  358,  360,  358,    0,  361,
        0,  358,  358,  360,    0,    0,  360,  362,  360,  361,
      360,  361,  362,  361,    0,  360,    0,  362,  361,  362,
      363,  362,    0,    0,    0,    0,  362,    0,    0,    0,
      363,  365,  363,    0,  363,    0,    0,  367,  365,  363,
        0,  365,  363,  365,    0,  365,    0,  367,    0,  367,
      365,  367,  368,  369,    0,  368,  367,    0,    0,    0,

        0,    0,  368,  369,  368,  369,  368,  369,  371,  369,
        0,  368,  369,    0,  379,    0,    0,    0,  371,    0,
      371,    0,  371,    0,  379,    0,  379,  371,  379,  380,
      380,  381,  381,  379,    0,    0,    0,    0,    0,  380,
      382,  380,  381,  380,  381,    0,  381,    0,  380,    0,
      382,  381,  382,  371,  382,  384,    0,    0,  382,  382,
        0,  385,    0,    0,    0,  384,    0,  384,    0,  384,
        0,  385,  386,  385,  384,  385,    0,    0,  387,  385,
      385,  387,  386,    0,  386,    0,  386,    0,  387,  388,
      387,  386,  387,    0,    0,  389,  388,  387,    0,  388,

        0,  388,    0,  388,    0,  389,  390,  389,  388,  389,
        0,    0,    0,    0,  389,    0,  390,  391,  390,  391,
      390,    0,    0,  392,  390,  390,    0,  391,    0,  391,
        0,  391,    0,  392,    0,  392,  391,  392,    0,    0,
      393,  392,  392,  393,    0,    0,  394,    0,  394,    0,
      393,    0,  393,    0,  393,    0,  394,    0,  394,  393,
      394,  395,  395,  396,    0,  394,    0,    0,    0,    0,
        0,    0,  395,  396,  395,  396,  395,  396,  397,  398,
        0,  395,  396,    0,    0,  397,    0,    0,  397,  398,
      397,  398,  397,  398,  399,    0,  398,  397,  398,  400,

      400,  399,    0,    0,  399,    0,  399,    0,  399,    0,
      400,  404,  400,  399,  400,  404,    0,  405,    0,  400,
        0,  404,    0,  404,  405,  404,    0,  405,    0,  405,
      404,  405,  406,  407,  406,    0,  405,    0,    0,    0,
        0,    0,  406,  407,  406,  407,  406,  407,    0,    0,
      407,  406,  407,  408,  409,  409,  408,    0,    0,    0,
        0,    0,    0,  408,  409,  408,  409,  408,  409,  410,
        0,    0,  408,  409,    0,    0,    0,  411,    0,  410,
      411,  410,    0,  410,    0,  410,    0,  411,  410,  411,
      412,  411,    0,    0,    0,    0,  411,    0,  413,    0,

      412,  415,  412,    0,  412,  413,    0,  412,  413,  412,
      413,  415,  413,  415,    0,  415,  418,  413,  416,  416,
      415,    0,  419,    0,    0,    0,  418,    0,  418,  416,
      418,  416,  419,  416,  419,  418,  419,  420,  416,    0,
      421,  419,    0,  421,    0,    0,    0,  420,  423,  420,
      421,  420,  421,    0,  421,  420,  420,    0,  423,  421,
      423,    0,  423,  424,  424,    0,  425,  423,  423,  426,
        0,    0,    0,  424,    0,  424,  425,  424,  425,  426,
      425,  426,  424,  426,  428,  425,  428,  430,  426,    0,
      431,    0,    0,    0,  428,    0,  428,  430,  428,  430,

      431,  430,  431,  428,  431,  440,  430,  431,  441,  431,
        0,    0,    0,    0,    0,  440,    0,  440,  441,  440,
      441,  442,  441,  440,  440,    0,  441,  441,  442,  444,
        0,  442,    0,  442,    0,  442,    0,    0,    0,  444,
      442,  444,  445,  444,    0,  445,    0,    0,  444,    0,
      446,    0,  445,  447,  445,    0,  445,    0,    0,    0,
      446,  445,  446,  447,  446,  447,  448,  447,    0,  446,
        0,    0,  447,  448,  449,    0,  448,  450,  448,    0,
      448,    0,    0,    0,  449,  448,  449,  450,  449,  450,
      451,  450,    0,  449,    0,    0,  450,  451,  453,    0,

      451,  452,  451,  452,  451,    0,    0,    0,  453,  451,
      453,  452,  453,  452,  454,  452,    0,  453,    0,    0,
      452,    0,    0,    0,  454,  455,  454,    0,  454,    0,
        0,    0,  454,  454,    0,  455,  456,  455,    0,  455,
        0,    0,  457,  455,  455,    0,  456,    0,  456,    0,
      456,    0,  457,  458,  457,  456,  457,    0,    0,  462,
        0,  457,    0,  458,    0,  458,  462,  458,    0,  462,
      463,  462,  458,  462,    0,    0,    0,    0,  462,    0,
      463,  464,  463,    0,  463,    0,    0,  465,  463,  463,
        0,  464,    0,  464,    0,  464,    0,  465,  466,  465,

      464,  465,    0,    0,  467,    0,  465,  467,  466,    0,
      466,    0,  466,    0,  467,  466,  467,  466,  467,  468,
      469,  469,    0,  467,    0,    0,    0,    0,    0,  468,
      469,  468,  469,  468,  469,  470,  471,    0,  468,  469,
        0,    0,    0,    0,    0,  470,  471,  470,  471,  470,
      471,  473,  475,    0,  470,  471,    0,    0,    0,    0,
        0,  473,  475,  473,  475,  473,  475,    0,    0,  476,
      473,  475,  477,  476,    0,  478,    0,    0,    0,  476,
      470,  476,  477,  476,  477,  478,  477,  478,  476,  478,
      480,  477,    0,  480,  478,    0,  481,    0,    0,  481,

      480,    0,  480,    0,  480,    0,  481,    0,  481,  480,
      481,  483,    0,  494,  483,  481,  485,  485,    0,    0,
        0,  483,    0,  483,    0,  483,    0,  485,  494,  485,
      483,  485,    0,    0,  495,    0,  485,    0,  494,    0,
      494,  495,  494,    0,  495,    0,  495,  494,  495,  496,
      496,    0,    0,  495,    0,  498,    0,    0,    0,  496,
        0,  496,    0,  496,    0,  498,  499,  498,  496,  498,
        0,  498,    0,    0,  498,    0,  499,    0,  499,  500,
      499,    0,  500,    0,  499,  499,    0,  501,    0,  500,
      502,  500,    0,  500,    0,    0,    0,  501,  500,  501,

      502,  501,  502,  502,  502,  503,  501,    0,  504,  502,
        0,  504,    0,    0,    0,  503,  505,  503,  504,  503,
      504,    0,  504,    0,  503,    0,  505,  504,  505,  506,
      505,    0,  507,    0,    0,  505,  506,    0,    0,  506,
        0,  506,  507,  506,  507,    0,  507,  512,  506,    0,
      512,  507,    0,  513,    0,    0,    0,  512,    0,  512,
        0,  512,    0,  513,  514,  513,  512,  513,    0,    0,
      515,    0,  513,    0,  514,    0,  514,    0,  514,    0,
      515,  516,  515,  514,  515,    0,    0,    0,    0,  515,
        0,  516,  518,  516,    0,  516,  518,    0,  520,  516,

      516,    0,  518,    0,  518,  524,  518,    0,  520,  522,
      520,  518,  520,    0,    0,    0,  522,  520,    0,  522,
      524,  522,    0,  522,    0,    0,  525,    0,  522,    0,
      524,    0,  524,    0,  524,    0,  525,  527,  525,  524,
      525,    0,    0,  529,    0,  525,    0,  527,    0,  527,
        0,  527,    0,  529,  537,  529,  527,  529,    0,    0,
        0,    0,  529,    0,  537,  538,  537,    0,  537,    0,
        0,  537,    0,  537,    0,  538,  539,  538,  538,  538,
        0,    0,  541,    0,  538,    0,  539,    0,  539,    0,
      539,    0,  541,  542,  541,  539,  541,    0,    0,    0,

        0,  541,    0,  542,  543,  542,  543,  542,    0,    0,
      542,    0,  542,    0,  543,  544,  543,    0,  543,    0,
      544,  545,    0,  543,    0,  544,    0,  544,    0,  544,
        0,  545,    0,  545,  544,  545,  546,  547,  546,    0,
      545,    0,    0,    0,    0,    0,  546,  547,  546,  547,
      546,  547,  552,  553,    0,  546,  547,    0,    0,    0,
      553,    0,  552,  553,  552,  553,  552,  553,  552,  555,
      558,  552,  553,    0,    0,    0,  555,    0,    0,  555,
      558,  555,  558,  555,  558,  560,    0,    0,  555,  558,
        0,  562,    0,    0,    0,  560,    0,  560,  560,  560,

        0,  562,  564,  562,  560,  562,    0,    0,    0,  562,
      562,    0,  564,    0,  564,    0,  564,  570,  570,  570,
        0,  564,    0,    0,    0,    0,  572,  573,    0,  570,
      570,  570,  570,  570,  570,  570,  572,  573,  572,  573,
      572,  573,  574,  575,    0,  572,  573,    0,    0,  572,
        0,    0,  574,  575,  574,  575,  574,  575,  576,  577,
        0,  574,  575,    0,    0,    0,    0,    0,  576,  577,
      576,  577,  576,  577,  578,  579,  577,  576,  577,    0,
        0,    0,  579,    0,  578,  579,  578,  579,  578,  579,
      583,    0,    0,  578,  579,    0,    0,    0,  584,    0,

      583,    0,  583,    0,  583,    0,  586,    0,  584,  583,
      584,  584,  584,    0,  589,    0,  586,  584,  586,    0,
      586,  589,  591,    0,  589,  586,  589,    0,  589,  591,
      592,    0,  591,  589,  591,    0,  591,  592,    0,    0,
      592,  591,  592,    0,  592,    0,    0,  601,  602,  592,
      599,  599,  599,  599,  599,  599,  599,  601,  602,  601,
      602,  601,  602,  603,    0,    0,  601,  602,    0,    0,
        0,  604,    0,  603,    0,  603,    0,  603,    0,    0,
        0,  604,  603,  604,  608,  604,    0,    0,  599,  604,
      604,    0,  610,    0,  608,  613,  608,    0,  608,  610,

        0,    0,  610,  608,  610,  613,  610,  613,  615,  613,
      615,  610,    0,  613,  613,    0,    0,    0,  615,  616,
      615,    0,  615,  616,    0,    0,    0,  615,    0,  616,
        0,  616,    0,  616,  623,  623,  623,    0,  616,    0,
        0,    0,    0,  624,  625,    0,  623,  623,  623,  623,
      623,  623,  623,  624,  625,  624,  625,  624,  625,  629,
        0,  624,  624,  625,    0,  631,    0,  625,    0,  629,
        0,  629,    0,  629,    0,  631,  634,  631,  629,  631,
        0,    0,  636,  631,  631,    0,  634,    0,  634,    0,
      634,    0,  636,  637,  636,  634,  636,    0,    0,  634,

      637,  636,    0,  637,    0,  637,  644,  637,  643,  643,
        0,    0,  637,    0,    0,    0,  644,  648,  644,  643,
      644,  643,    0,  643,    0,  644,    0,  648,  643,  648,
        0,  648,  651,    0,    0,  653,  648,    0,  653,    0,
      648,    0,  651,    0,  651,  653,  651,  653,    0,  653,
        0,  651,    0,    0,  653,  658,  658,  658,    0,    0,
        0,    0,    0,    0,  659,  661,    0,  658,  658,  658,
      658,  658,  658,  658,  659,  661,  659,  661,  659,  661,
      664,  667,    0,  659,  661,    0,  659,    0,    0,    0,
      664,  667,  664,  667,  664,  667,  664,  671,    0,  664,

      667,    0,    0,    0,    0,    0,    0,  671,    0,  671,
        0,  671,    0,    0,    0,    0,  671,  675,  675,  675,
      675,  675,  675,  675,  675,  675,  675,  675,  675,  676,
      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
      676,  677,  677,  677,  677,  677,  677,  677,  677,  677,
      677,  677,  677,  678,  678,  678,  678,  678,  678,  678,
      678,  678,  678,  678,  678,  679,  679,  679,  679,  679,
      679,  679,  679,  679,  679,  679,  679,  680,  680,  680,
        0,  680,  680,  680,  680,  680,  680,  680,  680,  681,
      681,    0,    0,  681,    0,  681,  682,    0,  682,  683,

      683,    0,  683,  683,  684,  684,    0,  684,  684,  684,
        0,  684,  684,  684,  684,  684,  685,  685,  685,    0,
      685,  685,  685,  685,  685,  685,  685,  685,  686,  686,
      686,  686,  686,  686,  686,  686,    0,  686,  686,  687,
        0,    0,  687,    0,  687,  687,  687,  687,  687,  687,
      688,  688,    0,  688,  688,  689,  689,    0,  689,  689,
      690,  690,    0,  690,  690,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,

      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[123] =
    {   0,
      101,  104,  106,  107,  108,  111,  113,  114,  115,  127,
      134,  141,  147,  156,  164,  172,  173,  175,  194,  200,
      207,  214,  221,  231,  265,  272,  273,  274,  275,  283,
      284,  285,  286,  287,  292,  293,  294,  295,  296,  297,
      298,  299,  300,  301,  302,  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,  343,  344,  345,
      346,  347,  348,  349,  350,  351,  352,  353,  354,  355,
      356,  357,  358,  359,  360,  361,  362,  363,  364,  365,

      366,  367,  372,  373,  378,  379,  380,  383,  389,  396,
      405,  416,  422,  424,  425,  427,  429,  431,  444,  450,
      456,  464
    } ;

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

#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 asn1_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_NO_UNPUT 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 with_syntax 5

/* Newline */
/* White-space */
#line 1806 "lex.yy.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 99 "asn1p_l.l"


#line 1960 "lex.yy.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 >= 675 )
					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] != 4166 );

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

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

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

case 7:
YY_RULE_SETUP
#line 113 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 114 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 115 "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 127 "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 134 "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 141 "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 147 "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 156 "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 164 "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 172 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 173 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 175 "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 194 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 20:
YY_RULE_SETUP
#line 200 "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 21:
YY_RULE_SETUP
#line 207 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 214 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 23:
YY_RULE_SETUP
#line 221 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
/*
	 * Tags
	 */
case 24:
YY_RULE_SETUP
#line 231 "asn1p_l.l"
{
		char *p;
		memset(&asn1p_lval.a_tag, 0, sizeof(asn1p_lval.a_tag));
		switch(yytext[1]) {
		case 'U':
			asn1p_lval.a_tag.tag_class = TC_UNIVERSAL;
			p = yytext + sizeof("UNIVERSAL") + 1;
			break;
		case 'A':
			asn1p_lval.a_tag.tag_class = TC_APPLICATION;
			p = yytext + sizeof("APPLICATION") + 1;
			break;
		case 'P':
			asn1p_lval.a_tag.tag_class = TC_PRIVATE;
			p = yytext + sizeof("PRIVATE") + 1;
			break;
		default:
			assert(yytext[1] >= '0' && yytext[1] <= '9');
			asn1p_lval.a_tag.tag_class = TC_CONTEXT_SPECIFIC;
			p = yytext + 1;
			break;
		}
		asn1p_lval.a_tag.tag_value = asn1p_atoi(p);
		if(*p == '0' && asn1p_lval.a_tag.tag_value) {
			fprintf(stderr,
			"Tag value at line %d "
			"cannot start with zero "
			"and have multiple digits: \"%s\"\n",
			yylineno, yytext);
			return -1;
		}
		return TOK_tag;
	}
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
{
		fprintf(stderr,
			"Unsupported tag syntax at line %d: \"%s\"\n",
			yylineno, yytext);
		return -1;
	}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 272 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 27:
YY_RULE_SETUP
#line 273 "asn1p_l.l"
return TOK_ABSTRACT_SYNTAX;
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 274 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 275 "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 30:
YY_RULE_SETUP
#line 283 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 31:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 302 "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 46:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 339 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 340 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 341 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 344 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 345 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 346 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 347 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 348 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 349 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 350 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 351 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 352 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 353 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 354 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 355 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 356 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 357 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 359 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 360 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 361 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 362 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 363 "asn1p_l.l"
return TOK_TYPE_IDENTIFIER;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 364 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 365 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 366 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 367 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 372 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 373 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 378 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 379 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 380 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 383 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 389 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 396 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 111:
YY_RULE_SETUP
#line 405 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_objectclassreference;
	}
	YY_BREAK
/*
	 * typereference, modulereference
	 * NOTE: TOK_objectclassreference must be combined
	 * with this token to produce true typereference.
	 */
case 112:
YY_RULE_SETUP
#line 416 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 422 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 424 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 425 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 427 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 429 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 431 "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 119:
YY_RULE_SETUP
#line 444 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 120:
YY_RULE_SETUP
#line 450 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 456 "asn1p_l.l"
{
				yy_pop_state();
				return '}';
			}
	YY_BREAK

case 122:
YY_RULE_SETUP
#line 464 "asn1p_l.l"
{
		fprintf(stderr,
			"Unexpected token at line %d: \"%s\"\n",
			yylineno, yytext);
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yy_top_state();		/* Just to use this function. */
		yyterminate();
		yy_fatal_error("Unexpected token");
		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(with_syntax):
#line 476 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 483 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 2902 "lex.yy.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 >= 675 )
				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 >= 675 )
			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 == 674);
	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 483 "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);
}

/*
 * 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 asn1_integer_t
asn1p_atoi(char *ptr) {
	asn1_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;
}

