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

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

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

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5

#include <stdio.h>


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


#ifdef __cplusplus

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

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

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

#else	/* ! __cplusplus */

#if __STDC__

#define YY_USE_PROTOS
#define YY_USE_CONST

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

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

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


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

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

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

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

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

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

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

#define YY_END_OF_BUFFER_CHAR 0

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

typedef struct yy_buffer_state *YY_BUFFER_STATE;

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

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

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

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

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

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

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


struct yy_buffer_state
	{
	FILE *yy_input_file;

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

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

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

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

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

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

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

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

static YY_BUFFER_STATE yy_current_buffer = 0;

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


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

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


int yyleng;

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

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

void yyrestart YY_PROTO(( FILE *input_file ));

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

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

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

#define yy_new_buffer yy_create_buffer

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

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

#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)


#define YY_USES_REJECT

#define yywrap() 1
#define YY_SKIP_YYWRAP

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

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

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

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

#define YY_NUM_RULES 132
#define YY_END_OF_BUFFER 133
static yyconst short int yy_acclist[1291] =
    {   0,
      133,  131,  132,  125,  131,  132,  125,  132,  124,  131,
      132,   15,  131,  132,  124,  131,  132,  131,  132,  124,
      131,  132,  131,  132,  124,  131,  132,  131,  132,   29,
      131,  132,   28,  131,  132,  124,  131,  132,  131,  132,
      119,  120,  131,  132,  119,  120,  131,  132,  119,  120,
      131,  132,  119,  120,  131,  132,  119,  120,  131,  132,
      119,  120,  131,  132,  119,  120,  131,  132,  119,  120,
      131,  132,  119,  120,  131,  132,  119,  120,  131,  132,
      119,  120,  131,  132,  119,  120,  131,  132,  119,  120,
      131,  132,  119,  120,  131,  132,  119,  120,  131,  132,

      119,  120,  131,  132,  119,  120,  131,  132,  119,  120,
      131,  132,  119,  120,  131,  132,  124,  131,  132,  130,
      131,  132,  118,  131,  132,  124,  130,  131,  132,    5,
      131,  132,    2,  132,    2,  131,  132,    4,  131,  132,
        7,    9,  131,  132,    7,  132,    9,  131,  132,    9,
      131,  132,   17,  131,  132,   17,  132,   18,  131,  132,
       12,  131,  132,   12,  132,   14,  131,  132,   14,  131,
      132,   10,  131,  132,   11,  131,  132,   21,   23,  131,
      132,   23,  131,  132,   24,  132,   21,   22,   23,  131,
      132,   21,   22,   23,  131,  132,  127,  131,  132,  128,

      131,  132,  128,  132,  131,  132,  129,  131,  132,  125,
       15,   15,  116,  117,    1,   27,  123,    6,   28,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  119,  120,  119,  120,  119,  120,
       42,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  119,  120,   87,  119,  120,  119,  120,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  120,  119,

      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  120,  119,  120,
      119,  120,  120,  120,  119,  120,  118,    5,    3,    8,
       17,   16,   12,   21,   21,   22,   21,   22,  127,  128,
      126,  116,  117,   27,  122,  121,  119,  120,   34,  119,
      120,   35,  119,  120,  119,  120,  119,  120,  119,  120,
       39,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,   56,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  120,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,   79,  119,  120,   80,  119,  120,
      119,  120,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,   90,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  119,  120,  119,  120,   98,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  120,  120,  120,  119,  120,   30,   13,   21,
       22,   20,   21,   22,   26,   25,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   64,  119,  120,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   82,  119,  120,  120,  119,
      120,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,   95,  119,  120,  119,  120,
      119,  120,   99,  119,  120,  119,  120,  119,  120,  119,
      120,  103,  119,  120,  105,  119,  120,  119,  120,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  120,  120,  115,  119,  120,   21,   22,  119,  120,
      119,  120,  119,  120,  119,  120,   38,  119,  120,  120,
      119,  120,  119,  120,  119,  120,   45,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   63,  119,  120,  120,  120,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  119,  120,   86,  119,  120,  119,  120,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  120,  119,  120,
      120,  107,  119,  120,  119,  120,  119,  120,  120,  119,
      120,  120,  120,  120,   31,   21,   22,   32,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  119,  120,  119,
      120,   44,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,   58,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,   84,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      100,  119,  120,  101,  119,  120,  120,  119,  120,  120,
      108,  119,  120,  119,  120,  120,  120,  120,  120,  120,
       21,   22,  119,  120,  119,  120,  119,  120,  120,   41,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
       50,  119,  120,   51,  119,  120,  119,  120,  119,  120,
       54,  119,  120,  119,  120,  119,  120,  119,  120,   60,
      119,  120,  119,  120,  119,  120,  120,  120,  120,  119,

      120,  119,  120,   71,  119,  120,   72,  119,  120,  119,
      120,  119,  120,  119,  120,   76,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  120,   89,  119,
      120,  119,  120,   92,  119,  120,   94,  119,  120,  120,
      119,  120,  119,  120,  120,  119,  120,  120,  119,  120,
      111,  120,  120,  120,  120,  120,   21,   22,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   53,  119,  120,  119,  120,
      119,  120,   59,  119,  120,  119,  120,   62,  119,  120,
      120,  120,  120,  120,  119,  120,   70,  119,  120,   73,

      119,  120,   74,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  120,   88,  119,  120,  120,  119,  120,  120,
      119,  120,   97,  119,  120,  120,  119,  120,  120,  119,
      120,  120,  120,  120,  120,   21,   22,  119,  120,  119,
      120,   37,  119,  120,   40,  120,   43,  119,  120,   46,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  120,  120,   68,  120,  119,
      120,  119,  120,  119,  120,  120,  119,  120,  120,  120,
      119,  120,  120,  119,  120,  102,  120,  119,  120,  120,
      109,  119,  120,  120,  120,  120,  120,   21,  119,  120,

      119,  120,   47,  119,  120,   48,  119,  120,   49,  119,
      120,  119,  120,  119,  120,   57,  119,  120,  119,  120,
      120,  120,  120,   69,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  120,  120,  119,  120,  120,  119,  120,
      119,  120,  120,  112,  120,  120,  120,  120,   21,  119,
      120,   36,  119,  120,   52,  119,  120,  119,  120,  119,
      120,  120,  120,  120,  119,  120,  119,  120,  120,  119,
      120,  120,  120,  119,  120,  120,  119,  120,  119,  120,
      120,  120,  120,  120,   30,   31,   21,  119,  120,  119,
      120,  119,  120,  120,  120,  120,   75,  119,  120,   77,

      119,  120,   78,  120,  119,  120,  120,  120,  119,  120,
      120,   96,  119,  120,  119,  120,  120,  120,  120,  120,
       21,  119,  120,  119,  120,   61,  119,  120,   66,  120,
      120,   67,  120,  119,  120,   83,  120,  120,   91,  119,
      120,  120,  119,  120,  104,  120,  120,  120,  114,  120,
       21,  119,  120,  119,  120,  120,   81,  119,  120,  120,
      120,  119,  120,  120,  113,  120,   21,   33,  119,  120,
      119,  120,   65,  120,  120,   93,  120,  106,  119,  120,
      110,  120,   21,   55,  119,  120,   85,  120,   19,   21
    } ;

static yyconst short int yy_accept[722] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    2,    4,    7,    9,   12,
       15,   18,   20,   23,   25,   28,   30,   33,   36,   39,
       41,   45,   49,   53,   57,   61,   65,   69,   73,   77,
       81,   85,   89,   93,   97,  101,  105,  109,  113,  117,
      120,  123,  126,  130,  133,  135,  138,  141,  145,  147,
      150,  153,  156,  158,  161,  164,  166,  169,  172,  175,
      178,  182,  185,  187,  192,  197,  200,  203,  205,  207,
      210,  210,  211,  212,  213,  213,  214,  214,  215,  215,
      215,  216,  217,  218,  219,  220,  220,  222,  224,  226,

      228,  230,  232,  233,  235,  237,  239,  241,  244,  246,
      248,  250,  252,  254,  256,  258,  260,  262,  263,  264,
      266,  268,  270,  272,  274,  276,  278,  280,  281,  283,
      285,  288,  290,  291,  293,  295,  297,  299,  300,  302,
      304,  306,  308,  310,  312,  314,  316,  318,  319,  321,
      323,  324,  325,  327,  327,  327,  327,  327,  327,  328,
      329,  330,  331,  332,  333,  334,  334,  335,  337,  339,
      340,  341,  342,  342,  343,  344,  344,  344,  345,  346,
      347,  349,  352,  355,  357,  359,  361,  364,  366,  368,
      370,  372,  374,  376,  378,  380,  382,  384,  387,  389,

      391,  393,  395,  397,  399,  400,  401,  403,  405,  407,
      409,  411,  413,  415,  418,  421,  423,  424,  426,  428,
      430,  431,  433,  436,  438,  440,  442,  443,  445,  447,
      449,  452,  454,  456,  458,  460,  462,  464,  466,  467,
      469,  471,  473,  474,  475,  476,  478,  479,  479,  479,
      479,  479,  480,  482,  485,  485,  486,  487,  489,  491,
      493,  495,  497,  499,  501,  503,  505,  507,  509,  511,
      513,  515,  517,  519,  521,  523,  525,  527,  529,  531,
      533,  536,  537,  538,  540,  542,  544,  546,  548,  550,
      552,  554,  556,  559,  560,  562,  564,  566,  567,  569,

      571,  573,  575,  576,  579,  581,  583,  586,  588,  590,
      592,  595,  598,  600,  601,  603,  605,  607,  609,  611,
      612,  613,  614,  617,  617,  617,  617,  617,  619,  621,
      623,  625,  627,  630,  631,  633,  635,  637,  640,  642,
      644,  646,  648,  650,  652,  654,  656,  658,  660,  662,
      664,  666,  669,  670,  671,  672,  674,  676,  678,  680,
      682,  684,  686,  688,  690,  692,  693,  695,  698,  700,
      701,  703,  705,  707,  709,  710,  712,  714,  716,  718,
      719,  721,  722,  725,  727,  729,  730,  732,  733,  734,
      735,  736,  736,  736,  736,  738,  741,  743,  745,  747,

      748,  750,  752,  755,  757,  759,  761,  763,  765,  767,
      769,  771,  773,  775,  778,  780,  782,  784,  786,  787,
      788,  789,  791,  793,  795,  797,  799,  801,  803,  805,
      807,  809,  811,  812,  815,  817,  818,  820,  822,  824,
      826,  827,  829,  831,  834,  837,  838,  840,  841,  844,
      846,  847,  848,  849,  850,  851,  851,  851,  851,  853,
      855,  857,  859,  860,  863,  865,  867,  869,  871,  874,
      877,  879,  881,  884,  886,  888,  890,  893,  895,  897,
      898,  899,  900,  902,  904,  907,  910,  912,  914,  916,
      919,  921,  923,  925,  926,  928,  929,  932,  934,  937,

      940,  941,  943,  945,  946,  948,  949,  951,  953,  954,
      955,  956,  957,  957,  957,  957,  959,  961,  963,  965,
      966,  968,  970,  972,  974,  976,  979,  981,  983,  986,
      988,  991,  992,  993,  994,  995,  997, 1000, 1003, 1006,
     1008, 1010, 1011, 1013, 1014, 1017, 1018, 1020, 1021, 1023,
     1026, 1027, 1029, 1030, 1032, 1033, 1034, 1035, 1036, 1036,
     1036, 1036, 1038, 1040, 1042, 1045, 1047, 1050, 1053, 1055,
     1057, 1059, 1061, 1063, 1065, 1066, 1067, 1068, 1070, 1072,
     1074, 1076, 1077, 1079, 1080, 1081, 1083, 1084, 1086, 1088,
     1090, 1091, 1094, 1095, 1096, 1097, 1098, 1098, 1098, 1098,

     1099, 1101, 1103, 1106, 1109, 1112, 1114, 1116, 1119, 1121,
     1122, 1123, 1124, 1127, 1129, 1131, 1132, 1134, 1135, 1136,
     1138, 1139, 1141, 1143, 1144, 1146, 1147, 1148, 1149, 1149,
     1149, 1149, 1150, 1152, 1155, 1158, 1160, 1162, 1163, 1164,
     1165, 1167, 1169, 1170, 1172, 1173, 1174, 1176, 1177, 1179,
     1181, 1182, 1183, 1184, 1185, 1185, 1187, 1187, 1188, 1190,
     1192, 1194, 1195, 1196, 1197, 1200, 1203, 1205, 1207, 1208,
     1209, 1211, 1212, 1215, 1217, 1218, 1219, 1220, 1221, 1221,
     1222, 1224, 1226, 1229, 1231, 1232, 1234, 1236, 1238, 1239,
     1242, 1243, 1245, 1247, 1248, 1249, 1251, 1251, 1252, 1254,

     1256, 1257, 1260, 1261, 1262, 1264, 1265, 1267, 1268, 1271,
     1273, 1275, 1276, 1278, 1281, 1283, 1284, 1287, 1289, 1291,
     1291
    } ;

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[740] =
    {   0,
        0,    0,   76,   78,   80,   81,   82,   89,   83,   93,
      171,  249,  109,  120,  961,  952,   95,   98,  951,  948,
      320,  117, 4484,  118,  933,  100, 4484,  125,  923, 4484,
      385,  176,  194,  120,  239,  267,  435,  163,  293,  441,
      191,  259,  463,  471,  484,  500,  508,  270,  521,  553,
      935,    0,  933,    0, 4484, 4484,  926, 4484, 4484,  922,
      922,    0,    0,  924,    0,    0,  902, 4484, 4484, 4484,
        0, 4484, 4484,  598,  675,    0,  148,  151,  182, 4484,
      915,  160,    0,  913,  912,    0,  135,    0,  573,  908,
     4484,  226,  902, 4484,  598,  886,  556,  597,  598,  618,

      619,  634,    0,  664,  667,  680,  693,  704,  720,  728,
      741,  744,  757,  772,  778,  775,  793,  842,  852,  808,
      811,  819,  834,  845,  856,  862,  873,  840,  886,  889,
      902,  910,  840,  913,  926,  937,  950,  835,  966,  972,
      983,  989, 1000, 1015, 1016, 1031, 1032,  831, 1047, 1048,
      831,   48, 1063, 1095, 1102,  851,   88,  128,    0,    0,
     4484, 4484,    0, 4484,    0,  865,    0,  849,  253,    0,
      264, 4484,  875,    0,    0,   83,  848,  611, 4484, 4484,
     1099, 1100, 1115, 1123, 1126, 1141, 1144, 1147, 1162, 1168,
     1179, 1185, 1196, 1207, 1223, 1229, 1240, 1246, 1257, 1263,

     1274, 1280, 1291, 1302,  818,  807, 1315, 1323, 1326, 1341,
     1344, 1347, 1371, 1365, 1368, 1386,  815, 1389, 1404, 1410,
      811, 1421, 1432, 1438, 1449, 1460,  802, 1471, 1477, 1488,
     1494, 1509, 1510, 1525, 1536, 1542, 1557, 1563,  809, 1574,
     1585, 1596,  793,  807,  801, 1607, 4484, 1646,  822,  178,
      250, 4484,  109,  820,  802, 4484, 4484, 1631, 1632, 1647,
     1653, 1668, 1669, 1686, 1685, 1701, 1707, 1718, 1729, 1747,
     1744, 1750, 1765, 1768, 1771, 1786, 1792, 1803, 1814, 1829,
     1835,  783,  789, 1846, 1852, 1867, 1868, 1883, 1889, 1904,
     1907, 1915, 1928,  774, 1936, 1939, 1952,  786, 1960, 1976,

     1975, 1992,  770, 1993, 2008, 2021, 2029, 2032, 2050, 2047,
     2053, 2068, 2071,  768, 2074, 2089, 2095, 2106, 2112,  778,
      768,  775, 2127, 2159,  170,  151,  242,  200, 2144, 2160,
     2168, 2176, 2184,  759, 2192, 2200, 2213, 2221, 2224, 2242,
     2239, 2245, 2260, 2266, 2281, 2282, 2297, 2312, 2318, 2329,
     2335, 2350,  773,  763,  755, 2351, 2371, 2368, 2389, 2388,
     2404, 2410, 2421, 2432, 2443,  759, 2449, 2460, 2466,  738,
     2477, 2488, 2494, 2505,  753, 2518, 2521, 2529, 2542,  737,
     2553,  745, 2559, 2574, 2575,  731, 2590,  725,  721,  727,
     4484,  280,  297,  294,  231, 2596, 2611, 2614, 2622,  728,

     2637, 2643, 2654, 2660, 2671, 2677, 2688, 2699, 2705, 2722,
     2728, 2739, 2745, 2756, 2762, 2773, 2779, 2795,  724,  731,
      723, 2796, 2811, 2817, 2828, 2834, 2849, 2855, 2866, 2881,
     2887, 2898,  720, 2909, 2915,  747, 2926, 2932, 2943, 2956,
      716, 2964, 2979, 2982, 2985,  707, 3000,  689, 3003, 3006,
      704,  692,  687,  697,  693,  271,  295,  301,  712, 3021,
     3024, 3037,  682, 3045, 3058, 3066, 3069, 3082, 3090, 3093,
     3106, 3117, 3114, 3130, 3138, 3141, 3154, 3162, 3165,  124,
      704,  677, 3178, 3186, 3189, 3202, 3210, 3223, 3231, 3234,
     3251, 3254, 3257,  698, 3272,  681, 3275, 3288, 3296, 3304,

      673, 3317, 3325,  658, 3338,  680, 3346,    0,  660,  667,
      643,  672,  438,  368,  366,  286, 3349, 3362, 3370,  654,
     3378, 3386, 3399, 3407, 3410, 3425, 3431, 3446, 3428, 3452,
     3463,  639,  633,  630,  634, 3469, 3480, 3486, 3497, 3503,
     3514,  623, 3525,  620, 3531,  619, 3542,  619, 3553, 3559,
      613, 3570,  600, 3576,  603,  604,  623,  594,  300,  466,
      447,  360, 3587, 3598, 3609,    0, 3615, 3626, 3637, 3648,
     3654, 3669, 3672, 3675,  593,  603,  584,    0, 3690, 3698,
     3713,  590, 3714,  579,  591, 3729,  603, 3737,    0, 3745,
      572, 3758,  579,  589,  531,  528,  443, 3797,  454,  568,

     3782, 3783, 3798, 3799, 3814, 3815, 3830, 3836, 3847,  529,
      533,  527, 3853, 3864, 3875,  520, 3881,  523,  515, 3892,
      512, 3898, 3909,  518,    0,  508,  496,  498,  397, 3941,
      560,  517, 3926, 3927, 3942, 3943, 3958,  489,  507,  484,
     3969, 3975,  483, 3990,  475,  477, 3993,  468, 3996, 4013,
      469,  462,  468,  461,  424, 4484, 4052,  485, 4037, 4048,
     4059,  461,  456,  455, 4065, 4076,    0, 4087,  454,  444,
     4098,  440, 4104, 4115,  438,  434,  429,  432,  732,  441,
     4131, 4128, 4139,    0,  419,    0, 4152,    0,  411, 4155,
      399, 4170,    0,  372,  347,    0, 4209,  330, 4194, 4205,

      258, 4211,  227,  214, 4222,  177,    0,  180, 4233, 4239,
        0,  138,    0, 4250,    0,  134, 4256,    0,    0, 4484,
     4301, 4313, 4325, 4337, 4349, 4361, 4373, 4384, 4385, 4389,
     4400, 4412, 4424, 4435, 4446, 4457, 4462, 4467, 4472
    } ;

static yyconst short int yy_def[740] =
    {   0,
      720,    1,  721,  721,  722,  722,  723,  723,  724,  724,
      725,  725,  726,  726,  720,  720,  720,  720,  720,  727,
      720,  728,  720,  720,  720,  720,  720,  720,  720,  720,
      720,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,  729,
      720,  730,  720,  731,  720,  720,  720,  720,  720,  720,
      720,  732,  732,  720,  733,  733,  720,  720,  720,  720,
      734,  720,  720,  735,  735,  736,  720,  720,   21,  720,
      720,  720,  727,  727,  720,  737,  720,  738,  728,  728,
      720,  720,  720,  720,  720,  720,   31,   31,   31,   31,

       31,   31,  739,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,  739,  739,   31,
       31,   31,   31,   31,   31,   31,   31,  739,   31,   31,
       31,   31,  739,   31,   31,   31,   31,  739,   31,   31,
       31,   31,   31,   31,   31,   31,   31,  739,   31,   31,
      739,  739,   31,  720,  729,  155,  155,  155,  730,  731,
      720,  720,  732,  720,  733,  720,  734,   75,   75,  736,
      720,  720,  720,  737,  738,  720,  720,  720,  720,  720,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,

       31,   31,   31,   31,  739,  739,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,  739,   31,   31,   31,
      739,   31,   31,   31,   31,   31,  739,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,  739,   31,
       31,   31,  739,  739,  739,   31,  720,  720,  155,  155,
      155,  720,   75,   75,  720,  720,  720,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,  739,  739,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,  739,   31,   31,   31,  739,   31,   31,

       31,   31,  739,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,  739,   31,   31,   31,   31,   31,  739,
      739,  739,   31,  720,  155,  155,  155,   75,   31,   31,
       31,   31,   31,  739,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,  739,  739,  739,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,  739,   31,   31,   31,  739,
       31,   31,   31,   31,  739,   31,   31,   31,   31,  739,
       31,  739,   31,   31,   31,  739,   31,  739,  739,  739,
      720,  155,  155,  155,   75,   31,   31,   31,   31,  739,

       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,  739,  739,
      739,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,  739,   31,   31,  739,   31,   31,   31,   31,
      739,   31,   31,   31,   31,  739,   31,  739,   31,   31,
      739,  739,  739,  739,  739,  155,  155,  155,   75,   31,
       31,   31,  739,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,  739,
      739,  739,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,  739,   31,  739,   31,   31,   31,   31,

      739,   31,   31,  739,   31,  739,   31,  739,  739,  739,
      739,  739,  155,  155,  155,   75,   31,   31,   31,  739,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,  739,  739,  739,  739,   31,   31,   31,   31,   31,
       31,  739,   31,  739,   31,  739,   31,  739,   31,   31,
      739,   31,  739,   31,  739,  739,  739,  739,  155,  155,
      155,   75,   31,   31,   31,  739,   31,   31,   31,   31,
       31,   31,   31,   31,  739,  739,  739,  739,   31,   31,
       31,  739,   31,  739,  739,   31,  739,   31,  739,   31,
      739,   31,  739,  739,  739,  739,  155,  720,  155,  734,

       31,   31,   31,   31,   31,   31,   31,   31,   31,  739,
      739,  739,   31,   31,   31,  739,   31,  739,  739,   31,
      739,   31,   31,  739,  739,  739,  739,  739,  155,  720,
      155,  734,   31,   31,   31,   31,   31,  739,  739,  739,
       31,   31,  739,   31,  739,  739,   31,  739,   31,   31,
      739,  739,  739,  739,  155,  720,  720,  734,   31,   31,
       31,  739,  739,  739,   31,   31,  739,   31,  739,  739,
       31,  739,   31,   31,  739,  739,  739,  739,  155,  734,
       31,   31,   31,  739,  739,  739,   31,  739,  739,   31,
      739,   31,  739,  739,  739,  739,  720,  734,   31,   31,

      739,   31,  739,  739,   31,  739,  739,  734,   31,   31,
      739,  739,  739,   31,  739,  734,   31,  739,  734,    0,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720
    } ;

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

       82,   82,   81,   67,  244,   81,   68,   81,  256,   94,
       77,   78,   77,   67,  257,   79,   68,  245,   89,   89,
       89,   77,   78,   77,   81,   81,   79,  156,   91,  250,
       89,   89,   92,   92,   92,   92,   92,   92,   95,   95,
       95,   95,   95,   95,   95,   97,  168,  328,  112,  171,
      171,  171,  171,  171,  171,   97,   85,   97,   69,   97,
       70,   82,   82,   82,   97,  251,  532,  156,   69,  719,
       70,   71,   72,   73,   72,   71,   71,   71,   71,   71,
       71,   71,   71,   71,   30,  533,   80,   87,   97,  720,
      156,   71,   71,   71,   71,   30,  393,   80,   97,   75,

       97,   97,   97,  720,  104,  392,  718,   97,  105,  156,
      326,   97,  106,   97,  107,   97,   97,  156,  716,   97,
       97,   71,   71,   71,  108,  109,   97,  395,   97,  110,
       97,   97,  111,   97,  720,  127,  715,  168,   97,  178,
      178,  178,  178,  178,  178,  178,   72,   71,   72,   71,
       72,   73,   72,   71,   71,   71,   71,   71,   71,   71,
       71,   71,  128,  459,   97,  171,  171,  171,  168,   71,
       71,   71,   71,  713,   97,  113,  114,   75,   97,  253,
      254,  156,  327,   97,  129,  130,  115,  394,  131,  156,
      168,  116,   97,  712,   97,   97,   97,  513,  132,   71,

       71,   71,   97,   97,   97,   97,   97,   97,  117,   97,
      156,   97,  456,  133,   97,  711,  562,  120,   97,  156,
      121,  457,  458,  168,   72,   71,   72,   81,   97,  122,
      123,  152,   97,  156,  156,  124,  156,   97,  514,  156,
      156,   85,  515,  597,   86,   86,   86,   86,   86,   86,
       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
      600,  708,   87,   88,   88,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   97,  560,  168,   97,   97,

       97,   97,   97,   97,   97,  156,  707,  156,  561,   97,
       98,   97,   97,   97,   97,   97,   97,   97,   97,   97,
       99,   97,  100,   97,  101,   97,   97,   97,   97,  102,
       97,   97,   97,   97,   97,  655,  156,  706,  103,  103,
      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
       97,  679,  559,  156,  704,  125,   97,  598,  598,  598,
       97,  599,   97,  126,   97,  629,   97,  156,   97,   97,
       97,  703,  156,  701,  698,   97,  156,  134,   97,  631,
      135,  696,  118,  156,  695,  694,   97,  693,  136,  139,

       97,  691,   97,  119,  137,  156,   97,   97,   97,   97,
       97,  689,  140,  688,  686,   97,  141,  685,  144,   97,
      684,   97,  680,   97,  145,   97,  678,  142,   97,  677,
      676,  138,  143,   97,  675,   97,  672,   97,  670,   97,
      669,  146,  667,   97,   97,  149,   97,   97,  147,  664,
      663,  150,   97,  153,  662,  658,   97,  148,   97,  654,
       97,  657,  657,  657,  653,   97,  154,  154,  154,  154,
      154,  154,  154,  151,   89,   89,   89,  155,  652,  651,
      176,   97,  648,  646,  645,  643,   89,   89,  640,  639,
      638,   97,  157,   97,  632,   97,  628,  158,  167,  156,

       97,  627,  167,  167,  167,  167,  167,  167,  167,  167,
      167,   95,   95,   95,   95,   95,   95,   95,  167,  167,
      167,  167,   97,   97,  178,  178,  178,  178,  178,  178,
      178,  626,   97,  182,   97,   97,   97,   97,  625,  181,
      624,   97,   97,   97,   97,  621,  619,  618,  167,  167,
      167,  616,  612,   97,   97,   97,   97,   97,  184,   97,
      611,  610,   97,   97,  596,  595,  183,  594,  593,   97,
      591,   97,  589,   97,  167,  167,  587,  185,   97,  167,
      167,  167,  167,  167,  167,  167,  167,  167,  585,   97,
      584,  582,   97,  578,  186,  167,  167,  167,  167,   97,

      577,   97,   97,   97,   97,   97,   97,  576,   97,  575,
      187,   97,  169,  566,  558,   97,  557,   97,   97,  188,
      556,  555,  553,  551,   97,  167,  167,  167,   97,   97,
       97,  189,   97,  697,  697,  697,  548,   97,  546,   97,
      544,   97,  535,   97,  190,   97,  534,  520,   97,  516,
      512,  167,  192,   97,  511,   97,  510,   97,  191,   97,
      509,  508,  506,   97,   97,   97,   97,   97,  504,   97,
      501,  156,   97,  195,  496,  494,   97,  193,  194,   97,
       97,   97,  196,   97,  482,   97,  481,  480,   97,  463,
      455,  454,   97,  453,   97,  451,   97,   97,  197,  198,

       97,   97,  448,   97,  200,  446,  441,   97,  436,   97,
      203,   97,   97,   97,   97,   97,  199,  201,   97,   97,
      433,  202,   97,  421,  420,  207,  419,  400,   97,  390,
       97,  204,   97,   97,  389,  388,   97,   97,  382,  208,
      375,  370,  366,   97,   97,   97,   97,   97,   97,  354,
       97,  353,   97,  172,   97,   97,   97,  168,  209,   97,
      210,  325,  322,   97,  321,  320,  314,  303,  298,   97,
       97,   97,  294,   97,  283,  282,  211,  212,   97,  257,
       97,   97,   97,  213,   97,  255,  168,   97,  252,   97,
      156,   97,  243,   97,  239,   97,  227,   97,   97,  215,

       97,   97,  221,  214,  217,  206,   97,  205,  216,  180,
       97,   97,   97,  179,   97,  177,  173,   97,  172,  218,
      172,   97,  166,   97,   97,   97,   97,   97,   97,  164,
       97,   94,  219,   97,  162,   97,  161,   97,   97,   97,
       81,   97,   81,   96,   93,   97,   97,   97,   97,   97,
       97,   97,   97,  220,   97,   84,  222,   97,   81,   81,
      720,   97,   97,   97,  720,   97,  720,  720,  720,  720,
       97,  223,   97,  720,   97,   97,   97,  720,  225,  720,
      720,  224,  226,  720,  720,   97,  720,   97,  720,   97,
      228,   97,  720,  720,   97,  720,  720,   97,  720,  720,

      720,  229,  720,   97,  720,   97,  720,   97,   97,   97,
       97,   97,  230,  720,   97,  231,   97,  720,   97,  720,
       97,  720,   97,  720,   97,   97,   97,   97,   97,  235,
      233,  720,  232,   97,  720,   97,  720,  234,  720,   97,
       97,   97,  720,  720,   97,  720,  236,  720,  720,  720,
       97,   97,   97,   97,   97,   97,   97,   97,  720,   97,
       97,  720,  720,  720,  720,  720,   97,   97,   97,   97,
       97,  238,   97,   97,  241,  237,   97,  242,  720,  240,
      720,  720,   97,   97,   97,   97,   97,   97,   97,  720,
      720,   97,   97,  720,  720,  720,  720,  720,   97,  720,

       97,  720,   97,  248,  248,  248,  246,   97,  154,  154,
      154,  154,  154,  154,  154,  720,  720,  720,  720,  720,
      720,  720,  720,  720,   97,   97,  720,  258,  720,  720,
      720,  720,  720,  720,   97,   97,   97,   97,   97,   97,
       97,  249,  259,   97,   97,  720,  247,  720,   97,  720,
       97,   97,   97,  720,   97,  720,  720,  720,  260,   97,
       97,   97,   97,   97,  261,   97,   97,   97,  720,   97,
       97,  720,   97,  262,  720,  720,   97,  720,   97,   97,
       97,   97,   97,   97,   97,   97,   97,   97,   97,  263,
      720,   97,  720,   97,  720,  720,  720,  264,  720,   97,

      720,   97,  720,   97,   97,   97,   97,   97,  720,  265,
       97,  266,   97,  720,   97,  720,   97,  720,   97,  720,
       97,   97,   97,   97,   97,  720,  720,  267,  720,   97,
      720,   97,   97,   97,  720,  268,  720,  720,  720,  720,
       97,  720,   97,  720,   97,  720,   97,  271,   97,  269,
      270,   97,  720,  720,   97,  272,  720,  273,   97,  720,
       97,  720,   97,  720,   97,   97,   97,   97,   97,  720,
      720,   97,  720,   97,  720,   97,  720,   97,  274,   97,
      720,   97,   97,   97,   97,   97,  720,  720,   97,  720,
       97,  276,   97,  275,   97,  720,   97,  720,   97,   97,

       97,   97,   97,  720,  720,   97,  720,   97,  279,  277,
      720,   97,  278,   97,  720,   97,   97,   97,   97,   97,
      720,  720,  720,  720,   97,  720,   97,   97,   97,  720,
       97,  720,  720,  280,  720,   97,  720,   97,  281,   97,
       97,   97,  720,  720,  720,  720,   97,  720,   97,  720,
       97,   97,   97,  720,   97,  720,  720,  284,   97,   97,
      285,  286,   97,   97,  287,   97,   97,   97,  720,   97,
       97,  720,   97,  720,  720,  290,  288,  720,   97,   97,
       97,   97,   97,   97,   97,   97,   97,  289,   97,  291,
       97,   97,  720,   97,  720,  720,   97,  720,  720,  720,

       97,  720,   97,   97,   97,   97,   97,   97,   97,   97,
       97,   97,  292,  720,   97,   97,  720,  295,  720,  720,
      720,  293,  720,   97,   97,   97,   97,  720,   97,   97,
       97,  720,  296,   97,  720,   97,  720,  720,  720,   97,
      720,   97,  297,   97,  720,   97,   97,   97,   97,   97,
      720,  720,  720,  720,   97,  720,   97,   97,   97,  720,
       97,  720,  720,   97,  299,   97,  720,   97,  720,   97,
      720,   97,  720,   97,   97,   97,   97,   97,  720,  720,
      300,  720,   97,  720,   97,   97,   97,  720,   97,  720,
      720,  301,  720,   97,  720,   97,   97,   97,  720,   97,

      720,  305,   97,  720,   97,  302,  304,  720,   97,  720,
       97,  720,   97,   97,   97,   97,   97,  720,  720,   97,
      720,   97,  720,   97,  720,   97,  720,   97,  720,   97,
      720,   97,  306,   97,   97,   97,  720,  307,   97,  720,
      720,  720,  308,  720,   97,   97,   97,   97,   97,   97,
       97,  720,  720,   97,   97,  720,  720,  720,  720,  720,
       97,   97,   97,  720,   97,  720,  720,   97,  309,   97,
      720,   97,  720,   97,  720,   97,  720,   97,  310,   97,
       97,   97,   97,  720,  311,  312,   97,  720,   97,  720,
      720,  313,   97,  720,   97,  720,   97,  720,   97,   97,

       97,   97,   97,  720,  720,  720,  720,   97,  720,   97,
       97,   97,  315,   97,  316,  319,  720,  720,   97,  317,
       97,   97,   97,  720,   97,  720,  720,  720,  318,   97,
      720,   97,   97,   97,  720,   97,  720,  720,  323,  720,
       97,  720,   97,  720,   97,  720,   97,  248,  248,  248,
      720,   97,  720,  720,  720,  720,   97,   97,  720,  324,
      324,  324,  324,  324,  324,  324,   97,   97,  329,   97,
       97,   97,   97,  330,  720,   97,   97,  720,   97,  331,
      720,  720,   97,  720,   97,  720,   97,  720,   97,  332,
       97,   97,   97,   97,   97,  720,  720,   97,  720,  720,

      720,  720,  720,   97,   97,  333,   97,   97,   97,  336,
       97,   97,   97,   97,  335,  720,  720,  720,  720,  720,
       97,   97,   97,   97,   97,   97,   97,  337,  720,   97,
       97,  720,   97,  720,  720,  720,   97,  720,   97,  334,
       97,  720,   97,   97,   97,   97,   97,  720,  720,  338,
      720,   97,  720,   97,   97,   97,  339,   97,  720,  720,
      720,  720,   97,  720,   97,  720,   97,  720,   97,   97,
      340,  341,   97,   97,  720,   97,  720,  720,  720,   97,
      720,   97,   97,   97,   97,   97,   97,  343,  342,   97,
       97,   97,  344,   97,   97,  345,   97,  720,  720,  346,

       97,  720,   97,   97,   97,   97,   97,   97,   97,   97,
       97,   97,   97,  720,  720,   97,  720,   97,  720,  720,
      720,   97,  720,   97,  348,  347,  720,   97,   97,   97,
       97,   97,  720,  720,  720,  720,   97,  720,   97,   97,
       97,  720,   97,  720,  349,  720,  720,   97,  720,   97,
      720,  350,  720,   97,   97,  351,  720,  352,   97,  720,
       97,  720,  720,  720,   97,  720,   97,  720,   97,  720,
       97,   97,   97,   97,   97,  720,  720,   97,  720,   97,
      720,   97,  720,   97,  720,   97,  720,   97,  720,   97,
       97,   97,   97,   97,  720,  356,   97,  720,  720,  357,

      720,  720,   97,   97,   97,   97,   97,   97,   97,  358,
      720,   97,   97,  360,   97,  720,  355,  720,   97,  720,
       97,  720,   97,  364,   97,  720,   97,  359,   97,   97,
      361,  720,   97,   97,  362,  720,  720,  720,  720,   97,
       97,   97,   97,   97,   97,  363,   97,  720,   97,  720,
       97,   97,   97,   97,   97,  720,  720,  365,  720,   97,
      720,   97,  367,   97,   97,   97,  720,   97,  720,  720,
      720,   97,   97,   97,   97,   97,   97,   97,   97,  720,
       97,  720,  368,   97,  720,   97,  372,   97,  371,   97,
      369,   97,  720,  720,  720,   97,   97,   97,  720,   97,

       97,   97,  720,  373,   97,  720,  720,  720,  720,  720,
       97,   97,   97,   97,   97,   97,  374,   97,   97,   97,
       97,  720,  720,  720,  720,  720,  720,   97,   97,   97,
       97,   97,   97,   97,  720,  720,   97,   97,  720,  720,
      720,  720,  720,   97,  720,   97,   97,   97,  720,  377,
      720,  376,   97,  720,   97,  720,   97,   97,   97,  720,
       97,  720,  720,  720,   97,   97,   97,   97,   97,  378,
      720,   97,   97,   97,  379,   97,   97,  720,   97,  720,
      720,  381,   97,  720,   97,   97,   97,   97,   97,   97,
       97,   97,   97,   97,   97,  720,   97,   97,  720,   97,

      720,  720,  720,   97,  720,   97,   97,   97,   97,   97,
       97,  383,   97,   97,   97,   97,  720,  380,   97,  720,
       97,  720,  720,  385,   97,  720,   97,  720,   97,  720,
       97,   97,   97,  384,   97,  720,  720,   97,  720,   97,
      720,   97,  720,   97,  720,   97,  720,   97,  720,   97,
       97,   97,   97,  720,  387,  720,   97,  720,  720,  720,
      720,  720,   97,  720,   97,  720,   97,  386,  720,   97,
      720,   97,  324,  324,  324,  324,  324,  324,  324,   97,
      720,   97,  720,   97,  397,   97,  720,  396,   97,  720,
      720,  720,  720,   97,  398,   97,  720,   97,  720,   97,

      399,   97,  720,   97,   97,   97,  720,   97,  720,   97,
      391,   97,   97,   97,  720,   97,  401,   97,  720,   97,
       97,   97,  720,   97,  720,   97,  402,   97,   97,   97,
      720,   97,  720,  720,  720,   97,   97,   97,   97,   97,
      720,  403,  720,  720,   97,  720,   97,  720,   97,   97,
       97,  720,   97,  720,  720,  720,   97,   97,   97,   97,
       97,  404,  720,   97,   97,   97,  405,   97,   97,  720,
       97,  406,  720,  720,   97,  720,   97,   97,   97,   97,
      407,   97,   97,   97,   97,   97,   97,  720,  408,   97,
      720,   97,  409,  410,  720,   97,  720,   97,  720,   97,

      720,   97,  720,   97,   97,   97,   97,   97,  720,  411,
       97,  720,  720,  412,  720,  720,   97,   97,   97,   97,
       97,   97,   97,  413,  720,   97,   97,  720,  720,  720,
      720,  720,   97,  720,   97,  720,   97,   97,  415,  720,
      414,   97,  720,   97,  720,  720,  720,   97,  720,   97,
      720,   97,  720,   97,   97,   97,   97,   97,  720,  720,
       97,  416,   97,  720,   97,  720,   97,  720,   97,  720,
       97,  417,  418,   97,   97,   97,   97,  720,  720,   97,
      720,  720,  720,  422,  720,   97,   97,   97,   97,   97,
       97,  720,  720,   97,   97,   97,   97,  423,  720,  424,

      720,  720,  720,   97,  720,   97,   97,   97,   97,  720,
       97,  425,   97,   97,   97,   97,  426,  720,  720,  720,
      720,  720,  720,   97,   97,  427,   97,   97,   97,   97,
      720,  720,   97,   97,  720,   97,  720,  720,  429,   97,
      720,   97,  720,   97,  720,   97,   97,   97,  428,   97,
      431,  720,  720,  432,   97,  720,   97,   97,   97,  720,
       97,  720,  720,  430,  720,   97,  720,   97,   97,   97,
      720,   97,  720,  720,   97,  720,   97,  720,   97,  720,
       97,  720,   97,  720,   97,   97,   97,   97,   97,  720,
      720,   97,  434,   97,  720,   97,  720,   97,  720,   97,

      720,   97,   97,  435,   97,   97,  720,  720,  720,  720,
       97,  720,   97,   97,   97,  720,   97,  720,  437,   97,
      438,   97,  720,   97,  720,   97,  720,   97,  720,   97,
       97,  439,   97,   97,  720,  720,  720,  720,   97,  720,
       97,  720,   97,   97,   97,  720,   97,  720,  440,   97,
      442,  720,  720,   97,   97,   97,   97,   97,  443,  444,
       97,  720,   97,  720,   97,   97,   97,   97,   97,  720,
      720,  720,  720,   97,  720,  720,  720,   97,   97,   97,
      720,   97,  720,  720,   97,  447,   97,  720,   97,  445,
       97,  720,   97,  720,   97,  720,   97,   97,   97,   97,

       97,  720,  449,   97,  720,  720,  720,  720,  720,   97,
       97,   97,   97,   97,   97,   97,  450,  720,   97,   97,
      720,   97,  720,  720,  720,   97,  720,   97,  720,   97,
      720,   97,  720,   97,   97,   97,   97,  460,  461,   97,
       97,  720,  720,  720,  720,  720,   97,   97,   97,   97,
       97,   97,  720,   97,  720,   97,  720,   97,   97,   97,
      452,   97,   97,  720,  720,  462,   97,  720,   97,  720,
      720,  720,   97,  720,  464,  720,   97,  720,   97,   97,
       97,   97,   97,  720,  720,   97,  465,   97,  466,   97,
      720,   97,  720,   97,  720,   97,   97,   97,   97,   97,

      720,  720,   97,  467,   97,  720,   97,  720,   97,  720,
       97,  720,   97,   97,  468,   97,   97,  720,  720,  720,
      720,   97,  720,   97,   97,   97,  470,   97,  720,  720,
       97,  469,   97,  720,   97,  720,   97,  720,   97,  720,
       97,  720,   97,   97,   97,  720,  720,   97,  471,   97,
      472,  720,  720,   97,  720,  473,  720,   97,  720,   97,
      720,   97,  720,   97,   97,   97,   97,   97,  720,  475,
       97,  720,   97,  720,   97,  720,  474,  720,   97,  720,
       97,   97,   97,   97,   97,  720,  720,   97,  720,   97,
      720,   97,  720,   97,  476,   97,  720,   97,   97,   97,

       97,   97,  720,  720,   97,  720,   97,  720,   97,  720,
       97,  478,   97,  720,   97,  477,   97,   97,   97,  479,
       97,   97,  720,   97,  720,  483,  720,  720,  720,  720,
       97,   97,   97,   97,   97,   97,   97,  720,  720,   97,
       97,  720,   97,  484,  485,  720,   97,  720,   97,  720,
       97,  720,   97,   97,   97,   97,   97,  720,  720,   97,
      720,   97,  487,   97,  720,   97,  720,   97,  720,   97,
      486,   97,   97,   97,   97,  488,  720,  720,   97,  720,
       97,  489,  720,  720,   97,  720,   97,  720,   97,  720,
       97,   97,   97,   97,   97,  720,  720,  720,  720,   97,

      720,   97,  720,   97,  720,   97,   97,  490,  720,  491,
       97,  720,   97,  720,  720,  720,   97,  720,   97,  720,
       97,  720,   97,   97,   97,   97,   97,  720,  720,  492,
      493,   97,  720,   97,   97,   97,  720,   97,  720,  495,
       97,  720,   97,  720,   97,  720,   97,  720,   97,  720,
       97,   97,   97,   97,   97,  720,  720,   97,  720,   97,
      720,   97,  720,  497,  720,   97,  720,   97,   97,  498,
       97,   97,  720,  720,  720,  720,   97,  720,   97,  720,
       97,   97,   97,  720,  500,  720,  499,   97,  720,   97,
      720,   97,  720,   97,  720,   97,  720,  720,  720,   97,

       97,   97,  720,   97,   97,  503,  720,   97,   97,  502,
       97,  720,  720,  720,   97,  720,   97,   97,   97,   97,
       97,   97,   97,   97,   97,   97,   97,  505,   97,   97,
      720,   97,  720,  720,  720,   97,  720,   97,   97,   97,
       97,   97,   97,   97,   97,   97,   97,   97,  507,   97,
       97,  720,  720,  720,  720,  720,   97,  720,   97,   97,
       97,   97,   97,   97,  517,   97,  720,  518,   97,  519,
       97,  720,   97,  720,   97,  720,   97,  720,  720,  720,
       97,   97,   97,   97,   97,  720,  521,  720,  720,   97,
      720,   97,  720,   97,   97,   97,  720,   97,  720,  720,

      720,   97,   97,  522,   97,   97,  523,   97,   97,  720,
       97,  720,  720,   97,  524,   97,  720,   97,   97,   97,
      720,   97,  720,  720,  720,   97,   97,   97,   97,   97,
       97,   97,   97,  720,   97,  720,  720,   97,  525,   97,
      720,   97,   97,   97,  526,   97,  720,  720,  720,   97,
       97,   97,   97,   97,   97,   97,   97,  720,   97,  720,
      527,   97,  720,   97,  720,   97,   97,   97,  720,   97,
      720,  720,  720,   97,   97,   97,   97,   97,   97,   97,
       97,  528,   97,  720,  529,   97,  720,  530,  720,   97,
       97,   97,  720,   97,  720,  720,  720,   97,   97,   97,

      531,   97,   97,   97,   97,  720,   97,  720,  720,   97,
      536,   97,  720,   97,   97,   97,  720,   97,  720,  720,
      720,   97,   97,   97,   97,   97,   97,   97,   97,  537,
       97,  720,  720,   97,  720,   97,  720,   97,  720,   97,
      720,   97,  720,  720,  720,   97,   97,   97,   97,   97,
      720,  539,  538,  720,   97,  720,   97,  720,   97,   97,
       97,  720,   97,  720,  720,  720,   97,   97,   97,   97,
       97,   97,  720,   97,  540,   97,   97,  541,   97,   97,
      720,  720,   97,  720,  720,  720,   97,  720,   97,   97,
       97,   97,   97,   97,  543,   97,   97,   97,   97,  720,

       97,   97,  720,  720,  720,  720,  720,  545,  720,   97,
       97,   97,   97,   97,   97,  720,   97,  547,  720,   97,
      720,   97,  720,   97,  542,   97,  720,   97,  720,   97,
      720,   97,   97,   97,  720,   97,  720,  720,  720,   97,
       97,   97,   97,   97,  720,  549,  720,  720,   97,  720,
       97,  720,   97,  550,   97,  720,   97,  720,  720,  563,
       97,   97,   97,   97,   97,  720,  552,  720,  720,   97,
      554,   97,  720,   97,   97,   97,  720,   97,  720,  720,
      720,   97,   97,   97,   97,   97,   97,   97,   97,  720,
       97,  720,  720,   97,  564,   97,  565,   97,  720,   97,

      720,   97,  720,   97,  720,   97,   97,   97,  720,   97,
      720,   97,  720,   97,   97,   97,  720,   97,  720,  567,
      720,   97,   97,   97,   97,   97,  720,  569,  720,  568,
       97,  720,   97,  720,   97,   97,   97,  720,   97,  720,
      720,  572,   97,   97,  570,   97,   97,   97,  571,   97,
       97,   97,  720,   97,   97,  720,   97,  720,  720,  720,
       97,  720,   97,   97,   97,   97,   97,   97,   97,   97,
       97,   97,   97,  720,  573,   97,  720,   97,  720,  720,
      720,   97,  720,   97,  574,   97,  720,   97,   97,   97,
       97,   97,  720,  720,   97,  720,   97,  579,   97,  720,

       97,  720,   97,  720,   97,   97,   97,   97,   97,  720,
      720,   97,  720,   97,  720,   97,  720,   97,  720,   97,
      720,   97,   97,   97,   97,   97,  720,  720,   97,  720,
       97,  720,   97,  720,   97,  580,   97,  720,   97,   97,
       97,   97,   97,  720,  720,  720,  720,   97,  720,   97,
       97,   97,  720,   97,  583,  720,   97,  581,   97,  720,
       97,  720,   97,  588,   97,  720,   97,   97,   97,   97,
       97,  720,  720,  720,  586,   97,  720,   97,   97,   97,
      720,   97,  720,  720,   97,  720,   97,  720,   97,  720,
       97,  720,   97,  720,   97,   97,   97,   97,   97,  720,

      720,   97,  720,   97,  720,   97,  720,  590,  720,   97,
      720,  592,   97,   97,   97,   97,  720,  720,  720,  720,
       97,  720,   97,   97,   97,  720,   97,  720,  720,  601,
      720,   97,  720,   97,   97,   97,  602,   97,  720,  720,
       97,  720,   97,  720,   97,  720,   97,  720,   97,  720,
       97,   97,   97,   97,   97,  720,  720,  720,  720,   97,
      720,   97,   97,   97,  604,   97,  720,  720,  603,  720,
       97,  720,   97,   97,   97,  720,   97,  720,  605,   97,
      720,   97,  720,   97,  720,   97,  720,   97,  720,   97,
      720,  606,   97,   97,   97,  607,  720,   97,   97,  608,

       97,  720,  720,  720,   97,  720,   97,   97,   97,   97,
      609,   97,   97,   97,   97,   97,   97,  720,  720,   97,
      720,  720,  720,   97,  720,   97,  720,   97,  720,   97,
      720,  613,  720,   97,   97,   97,  614,   97,   97,   97,
      720,  720,   97,  720,  720,  615,  617,  720,   97,   97,
       97,   97,   97,   97,   97,  720,  720,   97,   97,  720,
      720,  720,   97,  720,   97,  720,  620,  720,   97,  720,
       97,  720,   97,   97,   97,  622,   97,  720,  720,  720,
       97,   97,   97,   97,   97,  720,  720,  720,  623,   97,
      720,  720,  720,   97,  720,   97,  720,   97,  598,  598,

      598,  720,   97,  720,  720,  720,  720,   97,   97,  720,
      630,  630,  630,  630,  630,  630,  630,   97,   97,   97,
      634,   97,   97,   97,   97,  720,   97,   97,  720,  720,
      633,  720,  720,   97,   97,   97,   97,   97,   97,   97,
       97,  720,   97,   97,  720,  720,  720,  720,  720,   97,
       97,   97,   97,   97,   97,   97,  720,  635,   97,   97,
      720,   97,  720,  720,  720,   97,  720,   97,  636,   97,
      720,   97,   97,   97,   97,   97,  720,  720,   97,  637,
       97,  720,   97,  720,   97,  720,   97,  720,   97,   97,
       97,   97,   97,  720,  720,  720,  720,   97,  720,   97,

       97,  641,  720,   97,  720,  720,   97,  720,   97,  720,
       97,  720,   97,  642,   97,  720,   97,   97,  644,   97,
       97,  720,  720,   97,  647,   97,  720,   97,  720,   97,
      649,   97,  720,   97,   97,   97,   97,   97,  720,  720,
      720,  650,   97,  720,   97,  720,   97,  720,   97,  720,
      720,   97,   97,   97,  630,  630,  630,  630,  630,  630,
      630,   97,   97,  659,   97,   97,   97,   97,   97,  720,
       97,   97,  720,  720,  720,  720,  720,   97,   97,   97,
      660,   97,   97,   97,  720,  720,   97,   97,  720,  720,
      720,  720,  656,   97,   97,   97,  720,   97,  720,  720,

       97,  661,   97,  720,   97,  720,   97,  720,   97,  720,
       97,  665,  666,   97,   97,   97,  720,  720,   97,   97,
      720,   97,  668,  673,  720,   97,  720,   97,   97,   97,
       97,   97,   97,   97,   97,   97,  671,   97,   97,  720,
       97,  720,  674,  720,  720,  720,  720,  720,   97,  720,
       97,  720,   97,  657,  657,  657,  720,   97,  720,  720,
      720,  720,   97,  720,  720,  630,  630,  630,  630,  630,
      630,  630,   97,   97,   97,  720,   97,  720,  720,  720,
      681,   97,  720,   97,   97,   97,  720,   97,  720,  720,
       97,  682,   97,  720,   97,  720,   97,  720,   97,  720,

       97,   97,   97,   97,   97,  720,  720,  683,  720,   97,
      720,   97,   97,   97,  720,   97,  720,  720,  720,  720,
       97,  720,   97,   97,   97,  720,   97,  720,  720,   97,
      687,   97,  720,   97,  720,   97,  720,   97,  720,   97,
       97,   97,   97,   97,  720,  720,  690,  692,   97,  720,
       97,  720,   97,   97,   97,  699,   97,  720,  720,   97,
      720,  720,  720,   97,   97,   97,   97,   97,   97,  700,
       97,  720,   97,  720,   97,   97,   97,   97,   97,  720,
       97,  720,  720,   97,  720,  720,  720,   97,  720,   97,
       97,   97,   97,  720,   97,   97,   97,  720,  705,   97,

      702,  720,  720,  720,  720,   97,  720,   97,  720,   97,
      697,  697,  697,  720,   97,  720,  720,  720,  720,   97,
      720,  720,  630,  630,  630,  630,  630,  630,  630,   97,
       97,   97,  720,   97,  720,  720,   97,  720,   97,  720,
       97,  709,   97,  710,   97,  720,   97,   97,   97,   97,
       97,  720,  720,  720,  720,   97,  720,   97,   97,   97,
      720,   97,  720,  714,   97,  720,   97,  720,   97,  720,
       97,  720,   97,  720,  717,   97,   97,   97,   97,  720,
      720,   97,  720,   97,  720,   97,  720,   97,  720,   97,
      720,   97,  720,   97,   97,   97,  720,  720,  720,  720,

       97,   54,   54,   54,   54,   54,   54,   54,   54,   54,
       54,   54,   54,   58,   58,   58,   58,   58,   58,   58,
       58,   58,   58,   58,   58,   62,   62,   62,   62,   62,
       62,   62,   62,   62,   62,   62,   62,   65,   65,   65,
       65,   65,   65,   65,   65,   65,   65,   65,   65,   74,
       74,   74,   74,   74,   74,   74,   74,   74,   74,   74,
       74,   76,   76,   76,   76,   76,   76,   76,   76,   76,
       76,   76,   76,   83,   83,   83,  720,   83,   83,   83,
       83,   83,   83,   83,   83,   90,   90,  720,  720,   90,
      720,   90,  156,  720,  156,  159,  159,  720,  159,  159,

      160,  160,  720,  160,  160,  160,  720,  160,  160,  160,
      160,  160,  163,  163,  163,  720,  163,  163,  163,  163,
      163,  163,  163,  163,  165,  165,  165,  165,  165,  165,
      165,  165,  720,  165,  165,  167,  720,  720,  167,  167,
      167,  167,  167,  167,  167,  167,  168,  720,  720,  168,
      168,  168,  168,  168,  168,  168,  168,  170,  720,  720,
      170,  720,  170,  170,  170,  170,  170,  170,  174,  174,
      720,  174,  174,  175,  175,  720,  175,  175,  103,  103,
      720,  103,  103,   15,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,

      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720
    } ;

static yyconst short int yy_chk[4563] =
    {   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,   17,   17,   17,   18,

       18,   18,   17,    9,  152,   18,    9,   26,  176,   26,
       13,   13,   13,   10,  176,   13,   10,  152,   22,   22,
       22,   14,   14,   14,   22,   24,   14,  157,   24,  157,
       22,   22,   24,   24,   24,   24,   24,   24,   28,   28,
       28,   28,   28,   28,   28,   34,  253,  253,   34,   77,
       77,   77,   78,   78,   78,   34,   87,   34,    9,   34,
        9,   82,   82,   82,   34,  158,  480,  158,   10,  716,
       10,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   13,  480,   13,   87,   38,   79,
      326,   11,   11,   11,   11,   14,  326,   14,   38,   11,

       38,   32,   38,   79,   32,  325,  712,   38,   32,  325,
      250,   32,   32,   32,   32,   32,   41,  250,  708,   33,
       32,   11,   11,   11,   32,   33,   41,  328,   41,   33,
       41,   33,   33,   33,   79,   41,  706,  328,   33,   92,
       92,   92,   92,   92,   92,   92,   11,   11,   11,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   41,  395,   35,  171,  171,  171,  395,   12,
       12,   12,   12,  704,   35,   35,   35,   12,   35,  169,
      169,  327,  251,   35,   42,   42,   35,  327,   42,  251,
      169,   36,   36,  703,   42,   48,   42,  456,   42,   12,

       12,   12,   36,   42,   36,   48,   36,   48,   36,   48,
      456,   36,  392,   42,   48,  701,  516,   39,   39,  392,
       39,  393,  394,  516,   12,   12,   12,   21,   39,   39,
       39,   48,   39,  394,  457,   39,  393,   39,  457,  559,
      458,   21,  458,  559,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
      562,  698,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   31,  514,  562,   31,   31,

       31,   31,   31,   31,   31,  515,  695,  514,  515,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,  629,  629,  694,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       37,  655,  513,  655,  691,   40,   40,  560,  560,  560,
       37,  561,   37,   40,   37,  597,   40,  513,   40,   37,
       40,  689,  597,  685,  680,   40,  561,   43,   43,  599,
       43,  678,   37,  599,  677,  676,   44,  675,   43,   44,

       43,  672,   43,   37,   43,  560,   44,   43,   44,   45,
       44,  670,   45,  669,  664,   44,   45,  663,   46,   45,
      662,   45,  658,   45,   46,   46,  654,   45,   45,  653,
      652,   43,   45,   47,  651,   46,  648,   46,  646,   46,
      645,   46,  643,   47,   46,   47,   49,   47,   46,  640,
      639,   47,   47,   49,  638,  632,   49,   46,   49,  628,
       49,  631,  631,  631,  627,   49,   50,   50,   50,   50,
       50,   50,   50,   47,   89,   89,   89,   50,  626,  624,
       89,   97,  621,  619,  618,  616,   89,   89,  612,  611,
      610,   97,   50,   97,  600,   97,  596,   50,   74,  631,

       97,  595,   74,   74,   74,   74,   74,   74,   74,   74,
       74,   95,   95,   95,   95,   95,   95,   95,   74,   74,
       74,   74,   98,   99,  178,  178,  178,  178,  178,  178,
      178,  594,   98,   99,   98,   99,   98,   99,  593,   98,
      591,   98,   99,  100,  101,  587,  585,  584,   74,   74,
       74,  582,  577,  100,  101,  100,  101,  100,  101,  102,
      576,  575,  100,  101,  558,  557,  100,  556,  555,  102,
      553,  102,  551,  102,   74,   75,  548,  102,  102,   75,
       75,   75,   75,   75,   75,   75,   75,   75,  546,  104,
      544,  542,  105,  535,  104,   75,   75,   75,   75,  104,

      534,  104,  105,  104,  105,  106,  105,  533,  104,  532,
      105,  105,   75,  520,  512,  106,  511,  106,  107,  106,
      510,  509,  506,  504,  106,   75,   75,   75,  107,  108,
      107,  107,  107,  679,  679,  679,  501,  107,  496,  108,
      494,  108,  482,  108,  109,  109,  481,  463,  108,  459,
      455,   75,  110,  110,  454,  109,  453,  109,  109,  109,
      452,  451,  448,  110,  109,  110,  111,  110,  446,  112,
      441,  679,  110,  112,  436,  433,  111,  111,  111,  112,
      111,  112,  113,  112,  421,  111,  420,  419,  112,  400,
      390,  389,  113,  388,  113,  386,  113,  114,  114,  114,

      116,  113,  382,  115,  115,  380,  375,  114,  370,  114,
      116,  114,  116,  115,  116,  115,  114,  115,  117,  116,
      366,  115,  115,  355,  354,  120,  353,  334,  117,  322,
      117,  117,  117,  120,  321,  320,  121,  117,  314,  121,
      303,  298,  294,  120,  122,  120,  121,  120,  121,  283,
      121,  282,  120,  255,  122,  121,  122,  254,  122,  123,
      123,  249,  245,  122,  244,  243,  239,  227,  221,  123,
      124,  123,  217,  123,  206,  205,  123,  123,  123,  177,
      124,  125,  124,  124,  124,  173,  168,  126,  166,  124,
      156,  125,  151,  125,  148,  125,  138,  126,  127,  126,

      125,  126,  133,  125,  128,  119,  126,  118,  127,   96,
      127,  129,  127,   93,  130,   90,   85,  127,   84,  129,
       81,  129,   67,  129,  130,  129,  130,  131,  130,   64,
      129,   61,  130,  130,   60,  132,   57,  131,  134,  131,
       53,  131,   51,   29,   25,  132,  131,  132,  134,  132,
      134,  135,  134,  132,  132,   20,  134,  134,   19,   16,
       15,  135,  136,  135,    0,  135,    0,    0,    0,    0,
      135,  135,  136,    0,  136,  137,  136,    0,  137,    0,
        0,  136,  137,    0,    0,  137,    0,  137,    0,  137,
      139,  139,    0,    0,  137,    0,    0,  140,    0,    0,

        0,  139,    0,  139,    0,  139,    0,  140,  141,  140,
      139,  140,  140,    0,  142,  140,  140,    0,  141,    0,
      141,    0,  141,    0,  142,  143,  142,  141,  142,  144,
      142,    0,  141,  142,    0,  143,    0,  143,    0,  143,
      144,  145,    0,    0,  143,    0,  145,    0,    0,    0,
      144,  145,  144,  145,  144,  145,  146,  147,    0,  144,
      145,    0,    0,    0,    0,    0,  146,  147,  146,  147,
      146,  147,  149,  150,  150,  146,  147,  150,    0,  149,
        0,    0,  149,  150,  149,  150,  149,  150,  153,    0,
        0,  149,  150,    0,    0,    0,    0,    0,  153,    0,

      153,    0,  153,  155,  155,  155,  153,  153,  154,  154,
      154,  154,  154,  154,  154,  155,  155,  155,  155,  155,
      155,  155,    0,    0,  181,  182,    0,  181,    0,    0,
        0,    0,    0,    0,  181,  182,  181,  182,  181,  182,
      183,  155,  181,  181,  182,    0,  154,    0,  184,    0,
      183,  185,  183,    0,  183,    0,    0,    0,  184,  183,
      184,  185,  184,  185,  185,  185,  186,  184,    0,  187,
      185,    0,  188,  186,    0,    0,  186,    0,  186,  187,
      186,  187,  188,  187,  188,  186,  188,  189,  187,  188,
        0,  188,    0,  190,    0,    0,    0,  189,    0,  189,

        0,  189,    0,  190,  191,  190,  189,  190,    0,  190,
      192,  191,  190,    0,  191,    0,  191,    0,  191,    0,
      192,  193,  192,  191,  192,    0,    0,  192,    0,  192,
        0,  193,  194,  193,    0,  193,    0,    0,    0,    0,
      193,    0,  194,    0,  194,    0,  194,  195,  195,  194,
      194,  194,    0,    0,  196,  195,    0,  196,  195,    0,
      195,    0,  195,    0,  196,  197,  196,  195,  196,    0,
        0,  198,    0,  196,    0,  197,    0,  197,  197,  197,
        0,  198,  199,  198,  197,  198,    0,    0,  200,    0,
      198,  200,  199,  199,  199,    0,  199,    0,  200,  201,

      200,  199,  200,    0,    0,  202,    0,  200,  202,  201,
        0,  201,  201,  201,    0,  202,  203,  202,  201,  202,
        0,    0,    0,    0,  202,    0,  203,  204,  203,    0,
      203,    0,    0,  203,    0,  203,    0,  204,  204,  204,
      207,  204,    0,    0,    0,    0,  204,    0,  208,    0,
      207,  209,  207,    0,  207,    0,    0,  207,  208,  207,
      208,  209,  208,  209,  209,  209,  210,  208,    0,  211,
      209,    0,  212,    0,    0,  212,  210,    0,  210,  211,
      210,  211,  212,  211,  212,  210,  212,  211,  211,  213,
      214,  212,    0,  215,    0,    0,  213,    0,    0,    0,

      214,    0,  214,  215,  214,  215,  213,  215,  213,  214,
      213,  216,  215,    0,  218,  213,    0,  218,    0,    0,
        0,  216,    0,  216,  218,  216,  218,    0,  218,  219,
      216,    0,  219,  218,    0,  220,    0,    0,    0,  219,
        0,  219,  220,  219,    0,  220,  222,  220,  219,  220,
        0,    0,    0,    0,  220,    0,  222,  223,  222,    0,
      222,    0,    0,  224,  222,  222,    0,  223,    0,  223,
        0,  223,    0,  224,  225,  224,  223,  224,    0,    0,
      224,    0,  224,    0,  225,  226,  225,    0,  225,    0,
        0,  225,    0,  225,    0,  226,  228,  226,    0,  226,

        0,  229,  229,    0,  226,  226,  228,    0,  228,    0,
      228,    0,  229,  230,  229,  228,  229,    0,    0,  231,
        0,  229,    0,  230,    0,  230,    0,  230,    0,  231,
        0,  231,  230,  231,  232,  233,    0,  232,  231,    0,
        0,    0,  233,    0,  232,  233,  232,  233,  232,  233,
      234,    0,    0,  232,  233,    0,    0,    0,    0,    0,
      234,  235,  234,    0,  234,    0,    0,  236,  234,  234,
        0,  235,    0,  235,    0,  235,    0,  236,  235,  236,
      235,  236,  237,    0,  236,  237,  236,    0,  238,    0,
        0,  238,  237,    0,  237,    0,  237,    0,  238,  240,

      238,  237,  238,    0,    0,    0,    0,  238,    0,  240,
      241,  240,  240,  240,  240,  242,    0,    0,  240,  240,
      241,  242,  241,    0,  241,    0,    0,    0,  241,  241,
        0,  242,  246,  242,    0,  242,    0,    0,  246,    0,
      242,    0,  246,    0,  246,    0,  246,  248,  248,  248,
        0,  246,    0,    0,    0,    0,  258,  259,    0,  248,
      248,  248,  248,  248,  248,  248,  258,  259,  258,  259,
      258,  259,  260,  259,    0,  258,  259,    0,  261,  260,
        0,    0,  260,    0,  260,    0,  260,    0,  261,  261,
      261,  260,  261,  262,  263,    0,    0,  261,    0,    0,

        0,    0,    0,  262,  263,  262,  263,  262,  263,  265,
      265,  264,  262,  263,  264,    0,    0,    0,    0,    0,
      265,  264,  265,  264,  265,  264,  266,  266,    0,  265,
      264,    0,  267,    0,    0,    0,  266,    0,  266,  263,
      266,    0,  267,  268,  267,  266,  267,    0,    0,  267,
        0,  267,    0,  268,  269,  268,  268,  268,    0,    0,
        0,    0,  268,    0,  269,    0,  269,    0,  269,  271,
      269,  270,  270,  269,    0,  272,    0,    0,    0,  271,
        0,  271,  270,  271,  270,  272,  270,  272,  271,  272,
      273,  270,  273,  274,  272,  274,  275,    0,    0,  275,

      273,    0,  273,  274,  273,  274,  275,  274,  275,  273,
      275,  276,  274,    0,    0,  275,    0,  277,    0,    0,
        0,  276,    0,  276,  277,  276,    0,  277,  278,  277,
      276,  277,    0,    0,    0,    0,  277,    0,  278,  279,
      278,    0,  278,    0,  278,    0,    0,  278,    0,  279,
        0,  279,    0,  279,  280,  279,    0,  280,  279,    0,
      281,    0,    0,    0,  280,    0,  280,    0,  280,    0,
      281,  284,  281,  280,  281,    0,    0,  285,    0,  281,
        0,  284,    0,  284,    0,  284,    0,  285,    0,  285,
      284,  285,  286,  287,    0,  285,  285,    0,    0,  286,

        0,    0,  286,  287,  286,  287,  286,  287,  288,  287,
        0,  286,  287,  289,  289,    0,  284,    0,  288,    0,
      288,    0,  288,  291,  289,    0,  289,  288,  289,  290,
      289,    0,  291,  289,  290,    0,    0,    0,    0,  290,
      292,  290,  291,  290,  291,  290,  291,    0,  290,    0,
      292,  291,  292,  293,  292,    0,    0,  292,    0,  292,
        0,  295,  295,  293,  296,  293,    0,  293,    0,    0,
        0,  295,  293,  295,  296,  295,  296,  297,  296,    0,
      295,    0,  296,  296,    0,  299,  300,  297,  299,  297,
      297,  297,    0,    0,    0,  299,  297,  299,    0,  299,

      301,  300,    0,  301,  299,    0,    0,    0,    0,    0,
      301,  300,  301,  300,  301,  300,  302,  302,  304,  301,
      300,    0,    0,    0,    0,    0,    0,  302,  304,  302,
      304,  302,  304,  305,    0,    0,  302,  304,    0,    0,
        0,    0,    0,  305,    0,  305,  306,  305,    0,  306,
        0,  305,  305,    0,  307,    0,  306,  308,  306,    0,
      306,    0,    0,    0,  307,  306,  307,  308,  307,  308,
        0,  308,  310,  307,  309,  309,  308,    0,  311,    0,
        0,  313,  310,    0,  310,  309,  310,  309,  311,  309,
      311,  310,  311,  312,  309,    0,  313,  311,    0,  315,

        0,    0,    0,  312,    0,  312,  313,  312,  313,  315,
      313,  315,  312,  315,  316,  313,    0,  310,  315,    0,
      317,    0,    0,  317,  316,    0,  316,    0,  316,    0,
      317,  318,  317,  316,  317,    0,    0,  319,    0,  317,
        0,  318,    0,  318,    0,  318,    0,  319,    0,  319,
      318,  319,  323,    0,  319,    0,  319,    0,    0,    0,
        0,    0,  323,    0,  323,    0,  323,  318,    0,  329,
        0,  323,  324,  324,  324,  324,  324,  324,  324,  329,
        0,  329,    0,  329,  330,  330,    0,  329,  329,    0,
        0,    0,    0,  331,  331,  330,    0,  330,    0,  330,

      332,  332,    0,  331,  330,  331,    0,  331,    0,  333,
      324,  332,  331,  332,    0,  332,  335,  335,    0,  333,
      332,  333,    0,  333,    0,  336,  336,  335,  333,  335,
        0,  335,    0,    0,    0,  336,  335,  336,  337,  336,
        0,  337,    0,    0,  336,    0,  338,    0,  337,  339,
      337,    0,  337,    0,    0,    0,  338,  337,  338,  339,
      338,  339,    0,  339,  341,  338,  340,  340,  339,    0,
      342,  341,    0,    0,  341,    0,  341,  340,  341,  340,
      342,  340,  342,  341,  342,  343,  340,    0,  343,  342,
        0,  344,  343,  344,    0,  343,    0,  343,    0,  343,

        0,  344,    0,  344,  343,  344,  345,  346,    0,  345,
      344,    0,    0,  345,    0,    0,  345,  346,  345,  346,
      345,  346,  347,  346,    0,  345,  346,    0,    0,    0,
        0,    0,  347,    0,  347,    0,  347,  348,  348,    0,
      347,  347,    0,  349,    0,    0,    0,  348,    0,  348,
        0,  348,    0,  349,  350,  349,  348,  349,    0,    0,
      351,  349,  349,    0,  350,    0,  350,    0,  350,    0,
      351,  350,  351,  350,  351,  352,  356,    0,    0,  351,
        0,    0,    0,  356,    0,  352,  356,  352,  356,  352,
      356,    0,    0,  358,  352,  356,  357,  357,    0,  357,

        0,    0,    0,  358,    0,  358,  357,  358,  357,    0,
      357,  358,  358,  360,  359,  357,  359,    0,    0,    0,
        0,    0,    0,  360,  359,  360,  359,  360,  359,  361,
        0,    0,  360,  359,    0,  362,    0,    0,  362,  361,
        0,  361,    0,  361,    0,  362,  363,  362,  361,  362,
      364,    0,    0,  365,  362,    0,  363,  364,  363,    0,
      363,    0,    0,  363,    0,  363,    0,  364,  365,  364,
        0,  364,    0,    0,  367,    0,  364,    0,  365,    0,
      365,    0,  365,    0,  367,  368,  367,  365,  367,    0,
        0,  369,  367,  367,    0,  368,    0,  368,    0,  368,

        0,  369,  371,  369,  368,  369,    0,    0,    0,    0,
      369,    0,  371,  372,  371,    0,  371,    0,  371,  373,
      372,  371,    0,  372,    0,  372,    0,  372,    0,  373,
      374,  373,  372,  373,    0,    0,    0,    0,  373,    0,
      374,    0,  374,  376,  374,    0,  377,    0,  374,  374,
      376,    0,    0,  376,  378,  376,  377,  376,  377,  378,
      377,    0,  376,    0,  378,  377,  378,  379,  378,    0,
        0,    0,    0,  378,    0,    0,    0,  379,  381,  379,
        0,  379,    0,    0,  383,  381,  379,    0,  381,  379,
      381,    0,  381,    0,  383,    0,  383,  381,  383,  384,

      385,    0,  384,  383,    0,    0,    0,    0,    0,  384,
      385,  384,  385,  384,  385,  387,  385,    0,  384,  385,
        0,  396,    0,    0,    0,  387,    0,  387,    0,  387,
        0,  396,    0,  396,  387,  396,  397,  397,  398,  398,
      396,    0,    0,    0,    0,    0,  397,  399,  397,  398,
      397,  398,    0,  398,    0,  397,    0,  399,  398,  399,
      387,  399,  401,    0,    0,  399,  399,    0,  402,    0,
        0,    0,  401,    0,  401,    0,  401,    0,  402,  403,
      402,  401,  402,    0,    0,  404,  402,  402,  404,  403,
        0,  403,    0,  403,    0,  404,  405,  404,  403,  404,

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

      414,  415,    0,    0,  417,    0,  415,    0,  416,    0,
      416,  417,  416,    0,  417,  416,  417,  416,  417,  418,
      418,  422,    0,  417,    0,  422,    0,    0,    0,    0,
      418,  422,  418,  422,  418,  422,  423,    0,    0,  418,
      422,    0,  424,  423,  424,    0,  423,    0,  423,    0,
      423,    0,  424,  425,  424,  423,  424,    0,    0,  426,
        0,  424,  426,  425,    0,  425,    0,  425,    0,  426,
      425,  426,  425,  426,  427,  427,    0,    0,  426,    0,
      428,  428,    0,    0,  427,    0,  427,    0,  427,    0,
      428,  429,  428,  427,  428,    0,    0,    0,    0,  428,

        0,  429,    0,  429,    0,  429,  430,  429,    0,  430,
      429,    0,  431,    0,    0,    0,  430,    0,  430,    0,
      430,    0,  431,  432,  431,  430,  431,    0,    0,  431,
      432,  431,    0,  432,  434,  432,    0,  432,    0,  435,
      435,    0,  432,    0,  434,    0,  434,    0,  434,    0,
      435,  437,  435,  434,  435,    0,    0,  438,    0,  435,
        0,  437,    0,  437,    0,  437,    0,  438,  439,  438,
      437,  438,    0,    0,    0,    0,  438,    0,  439,    0,
      439,  440,  439,    0,  440,    0,  439,  439,    0,  442,
        0,  440,    0,  440,    0,  440,    0,    0,    0,  442,

      440,  442,    0,  442,  443,  443,    0,  444,  442,  442,
      445,    0,    0,    0,  443,    0,  443,  444,  443,  444,
      445,  444,  445,  443,  445,  447,  444,  447,  449,  445,
        0,  450,    0,    0,    0,  447,    0,  447,  449,  447,
      449,  450,  449,  450,  447,  450,  460,  449,  450,  461,
      450,    0,    0,    0,    0,    0,  460,    0,  460,  461,
      460,  461,  462,  461,  460,  460,    0,  461,  461,  462,
      464,    0,  462,    0,  462,    0,  462,    0,    0,    0,
      464,  462,  464,  465,  464,    0,  465,    0,    0,  464,
        0,  466,    0,  465,  467,  465,    0,  465,    0,    0,

        0,  466,  465,  466,  467,  466,  467,  468,  467,    0,
      466,    0,    0,  467,  468,  469,    0,  468,  470,  468,
        0,  468,    0,    0,    0,  469,  468,  469,  470,  469,
      470,  471,  470,    0,  469,    0,    0,  470,  471,  473,
        0,  471,  472,  471,  472,  471,    0,    0,    0,  473,
      471,  473,  472,  473,  472,  474,  472,    0,  473,    0,
      474,  472,    0,  475,    0,  474,  476,  474,    0,  474,
        0,    0,    0,  475,  474,  475,  476,  475,  476,  477,
      476,  475,  475,    0,  476,  476,    0,  478,    0,  477,
      479,  477,    0,  477,    0,    0,    0,  478,  477,  478,

      479,  478,  479,  483,  479,    0,  478,    0,    0,  479,
      483,  484,    0,  483,  485,  483,    0,  483,    0,    0,
        0,  484,  483,  484,  485,  484,  485,  486,  485,  484,
      484,    0,    0,  485,    0,  487,    0,  486,    0,  486,
        0,  486,    0,    0,    0,  487,  486,  487,  488,  487,
        0,  488,  487,    0,  487,    0,  489,    0,  488,  490,
      488,    0,  488,    0,    0,    0,  489,  488,  489,  490,
      489,  490,    0,  490,  489,  489,  491,  491,  490,  492,
        0,    0,  493,    0,    0,    0,  491,    0,  491,  492,
      491,  492,  493,  492,  493,  491,  493,  495,  492,    0,

      497,  493,    0,    0,    0,    0,    0,  495,    0,  495,
      497,  495,  497,  498,  497,    0,  495,  498,    0,  497,
        0,  499,    0,  498,  492,  498,    0,  498,    0,  500,
        0,  499,  498,  499,    0,  499,    0,    0,    0,  500,
      499,  500,  502,  500,    0,  502,    0,    0,  500,    0,
      503,    0,  502,  503,  502,    0,  502,    0,    0,  517,
      503,  502,  503,  505,  503,    0,  505,    0,    0,  503,
      507,  507,    0,  505,  517,  505,    0,  505,    0,    0,
        0,  507,  505,  507,  517,  507,  517,  518,  517,    0,
      507,    0,    0,  517,  518,  519,  519,  518,    0,  518,

        0,  518,    0,  521,    0,  519,  518,  519,    0,  519,
        0,  522,    0,  521,  519,  521,    0,  521,    0,  521,
        0,  522,  521,  522,  523,  522,    0,  523,    0,  522,
      522,    0,  524,    0,  523,  525,  523,    0,  523,    0,
        0,  527,  524,  523,  524,  525,  524,  525,  525,  525,
      526,  524,    0,  529,  525,    0,  527,    0,    0,    0,
      526,    0,  526,  529,  526,  529,  527,  529,  527,  526,
      527,  528,  529,    0,  528,  527,    0,  530,    0,    0,
        0,  528,    0,  528,  530,  528,    0,  530,  531,  530,
      528,  530,    0,    0,  536,    0,  530,  536,  531,    0,

      531,    0,  531,    0,  536,  537,  536,  531,  536,    0,
        0,  538,    0,  536,    0,  537,    0,  537,    0,  537,
        0,  538,  539,  538,  537,  538,    0,    0,  540,    0,
      538,    0,  539,    0,  539,  540,  539,    0,  540,  541,
      540,  539,  540,    0,    0,    0,    0,  540,    0,  541,
      543,  541,    0,  541,  543,    0,  545,  541,  541,    0,
      543,    0,  543,  549,  543,    0,  545,  547,  545,  543,
      545,    0,    0,    0,  547,  545,    0,  547,  549,  547,
        0,  547,    0,    0,  550,    0,  547,    0,  549,    0,
      549,    0,  549,    0,  550,  552,  550,  549,  550,    0,

        0,  554,    0,  550,    0,  552,    0,  552,    0,  552,
        0,  554,  563,  554,  552,  554,    0,    0,    0,    0,
      554,    0,  563,  564,  563,    0,  563,    0,    0,  563,
        0,  563,    0,  564,  565,  564,  564,  564,    0,    0,
      567,    0,  564,    0,  565,    0,  565,    0,  565,    0,
      567,  568,  567,  565,  567,    0,    0,    0,    0,  567,
        0,  568,  569,  568,  569,  568,    0,    0,  568,    0,
      568,    0,  569,  570,  569,    0,  569,    0,  570,  571,
        0,  569,    0,  570,    0,  570,    0,  570,    0,  571,
        0,  571,  570,  571,  572,  572,    0,  573,  571,  573,

      574,    0,    0,    0,  572,    0,  572,  573,  572,  573,
      574,  573,  574,  572,  574,  579,  573,    0,    0,  574,
        0,    0,    0,  580,    0,  579,    0,  579,    0,  579,
        0,  579,    0,  580,  579,  580,  580,  580,  581,  583,
        0,    0,  580,    0,    0,  581,  583,    0,  581,  583,
      581,  583,  581,  583,  586,    0,    0,  581,  583,    0,
        0,    0,  588,    0,  586,    0,  586,    0,  586,    0,
      590,    0,  588,  586,  588,  588,  588,    0,    0,    0,
      590,  588,  590,  592,  590,    0,    0,    0,  590,  590,
        0,    0,    0,  592,    0,  592,    0,  592,  598,  598,

      598,    0,  592,    0,    0,    0,    0,  601,  602,    0,
      598,  598,  598,  598,  598,  598,  598,  601,  602,  601,
      602,  601,  602,  603,  604,    0,  601,  602,    0,    0,
      601,    0,    0,  603,  604,  603,  604,  603,  604,  605,
      606,    0,  603,  604,    0,    0,    0,    0,    0,  605,
      606,  605,  606,  605,  606,  607,    0,  606,  605,  606,
        0,  608,    0,    0,    0,  607,    0,  607,  607,  607,
        0,  608,  609,  608,  607,  608,    0,    0,  613,  609,
      608,    0,  609,    0,  609,    0,  609,    0,  613,  614,
      613,  609,  613,    0,    0,    0,    0,  613,    0,  614,

      615,  614,    0,  614,    0,    0,  617,    0,  614,    0,
      615,    0,  615,  615,  615,    0,  617,  620,  617,  615,
      617,    0,    0,  622,  620,  617,    0,  620,    0,  620,
      622,  620,    0,  622,  623,  622,  620,  622,    0,    0,
        0,  623,  622,    0,  623,    0,  623,    0,  623,    0,
        0,  633,  634,  623,  630,  630,  630,  630,  630,  630,
      630,  633,  634,  633,  634,  633,  634,  635,  636,    0,
      633,  634,    0,    0,    0,    0,    0,  635,  636,  635,
      636,  635,  636,  637,    0,    0,  635,  636,    0,    0,
        0,    0,  630,  637,  641,  637,    0,  637,    0,    0,

      642,  637,  637,    0,  641,    0,  641,    0,  641,    0,
      642,  641,  642,  641,  642,  644,    0,    0,  647,  642,
        0,  649,  644,  649,    0,  644,    0,  644,  647,  644,
      647,  649,  647,  649,  644,  649,  647,  647,  650,    0,
      649,    0,  650,    0,    0,    0,    0,    0,  650,    0,
      650,    0,  650,  657,  657,  657,    0,  650,    0,    0,
        0,    0,  659,    0,    0,  657,  657,  657,  657,  657,
      657,  657,  659,  660,  659,    0,  659,    0,    0,    0,
      659,  659,    0,  660,  661,  660,    0,  660,    0,    0,
      665,  660,  660,    0,  661,    0,  661,    0,  661,    0,

      665,  666,  665,  661,  665,    0,    0,  661,    0,  665,
        0,  666,  668,  666,    0,  666,    0,    0,    0,    0,
      666,    0,  668,  671,  668,    0,  668,    0,    0,  673,
      668,  668,    0,  671,    0,  671,    0,  671,    0,  673,
      674,  673,  671,  673,    0,    0,  671,  674,  673,    0,
      674,    0,  674,  682,  674,  681,  681,    0,    0,  674,
        0,    0,    0,  682,  683,  682,  681,  682,  681,  682,
      681,    0,  682,    0,  683,  681,  683,  687,  683,    0,
      690,    0,    0,  683,    0,    0,    0,  687,    0,  687,
      690,  687,  690,    0,  690,  692,  687,    0,  692,  690,

      687,    0,    0,    0,    0,  692,    0,  692,    0,  692,
      697,  697,  697,    0,  692,    0,    0,    0,    0,  699,
        0,    0,  697,  697,  697,  697,  697,  697,  697,  699,
      700,  699,    0,  699,    0,    0,  702,    0,  699,    0,
      700,  699,  700,  700,  700,    0,  702,  705,  702,  700,
      702,    0,    0,    0,    0,  702,    0,  705,  709,  705,
        0,  705,    0,  705,  710,    0,  705,    0,  709,    0,
      709,    0,  709,    0,  710,  714,  710,  709,  710,    0,
        0,  717,    0,  710,    0,  714,    0,  714,    0,  714,
        0,  717,    0,  717,  714,  717,    0,    0,    0,    0,

      717,  721,  721,  721,  721,  721,  721,  721,  721,  721,
      721,  721,  721,  722,  722,  722,  722,  722,  722,  722,
      722,  722,  722,  722,  722,  723,  723,  723,  723,  723,
      723,  723,  723,  723,  723,  723,  723,  724,  724,  724,
      724,  724,  724,  724,  724,  724,  724,  724,  724,  725,
      725,  725,  725,  725,  725,  725,  725,  725,  725,  725,
      725,  726,  726,  726,  726,  726,  726,  726,  726,  726,
      726,  726,  726,  727,  727,  727,    0,  727,  727,  727,
      727,  727,  727,  727,  727,  728,  728,    0,    0,  728,
        0,  728,  729,    0,  729,  730,  730,    0,  730,  730,

      731,  731,    0,  731,  731,  731,    0,  731,  731,  731,
      731,  731,  732,  732,  732,    0,  732,  732,  732,  732,
      732,  732,  732,  732,  733,  733,  733,  733,  733,  733,
      733,  733,    0,  733,  733,  734,    0,    0,  734,  734,
      734,  734,  734,  734,  734,  734,  735,    0,    0,  735,
      735,  735,  735,  735,  735,  735,  735,  736,    0,    0,
      736,    0,  736,  736,  736,  736,  736,  736,  737,  737,
        0,  737,  737,  738,  738,    0,  738,  738,  739,  739,
        0,  739,  739,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,

      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
      720,  720
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[132] =
    {   0,
      103,  106,  108,  109,  110,  113,  115,  116,  117,  129,
      136,  143,  149,  158,  166,  174,  175,  177,  196,  202,
      203,  204,  205,  206,  209,  215,  222,  229,  236,  246,
      280,  287,  288,  289,  290,  298,  299,  300,  301,  302,
      307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
      317,  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,  368,  369,  370,  371,  372,  373,  374,

      375,  376,  377,  378,  379,  380,  381,  382,  383,  384,
      389,  390,  395,  396,  397,  400,  406,  413,  422,  433,
      439,  441,  442,  444,  446,  448,  461,  467,  473,  480,
      482
    } ;

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

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

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

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

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

int asn1p_lexer_pedantic_1990 = 0;
int asn1p_lexer_types_year = 0;
int asn1p_lexer_constructs_year = 0;
static int _check_dashes(char *ptr);
static 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_STACK_USED 1
/* Performance penalty is OK */
/* Controlled from within application */
#define dash_comment 1

#define cpp_comment 2

#define quoted 3

#define opaque 4

#define encoding_control 5

#define with_syntax 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define YY_RULE_SETUP \
	YY_USER_ACTION

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

#line 101 "asn1p_l.l"


#line 2060 "asn1p_l.c"

	if ( yy_init )
		{
		yy_init = 0;

#ifdef YY_USER_INIT
		YY_USER_INIT;
#endif

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

		if ( ! yyin )
			yyin = stdin;

		if ( ! yyout )
			yyout = stdout;

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

		yy_load_buffer_state();
		}

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

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

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

		yy_current_state = yy_start;
		yy_state_ptr = yy_state_buf;
		*yy_state_ptr++ = yy_current_state;
yy_match:
		do
			{
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
				{
				yy_current_state = (int) yy_def[yy_current_state];
				if ( yy_current_state >= 721 )
					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] != 4484 );

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 < 132 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 132 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 133 )
				fprintf( stderr, "--(end of buffer or a NUL)\n" );
			else
				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
			}

		switch ( yy_act )
	{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
#line 103 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

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

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

case 7:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 116 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 117 "asn1p_l.l"
/* Eat */
	YY_BREAK

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

case 10:
YY_RULE_SETUP
#line 129 "asn1p_l.l"
{
			yy_push_state(opaque);
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 11:
YY_RULE_SETUP
#line 136 "asn1p_l.l"
{
			yy_pop_state();
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 143 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 149 "asn1p_l.l"
{
			fprintf(stderr,
				"ASN.1 Parser syncronization failure: "
				"\"%s\" at line %d must not appear "
				"inside value definition\n",
				yytext, yylineno);
			return -1;
		}
	YY_BREAK
case 14:
YY_RULE_SETUP
#line 158 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

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

case 16:
YY_RULE_SETUP
#line 174 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 175 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 177 "asn1p_l.l"
{
			yy_pop_state();
			/* Do not append last quote:
			// QAPPEND(yytext, yyleng); */

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

			return TOK_cstring;
		}
	YY_BREAK


case 19:
YY_RULE_SETUP
#line 196 "asn1p_l.l"
{
			const char *s = "ENCODING-CONTROL";
			const char *p = s + sizeof("ENCODING-CONTROL") - 2;
			for(; p >= s; p--) unput(*p);
			yy_pop_state();
		}
	YY_BREAK
case 20:
YY_RULE_SETUP
#line 202 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 203 "asn1p_l.l"

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

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

	YY_BREAK

case 25:
YY_RULE_SETUP
#line 209 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 215 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_bstring;
	}
	YY_BREAK
case 27:
YY_RULE_SETUP
#line 222 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 229 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 236 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
/*
	 * Tags
	 */
case 30:
YY_RULE_SETUP
#line 246 "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 31:
YY_RULE_SETUP
#line 280 "asn1p_l.l"
{
		fprintf(stderr,
			"Unsupported tag syntax at line %d: \"%s\"\n",
			yylineno, yytext);
		return -1;
	}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 288 "asn1p_l.l"
return TOK_ABSTRACT_SYNTAX;
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 290 "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 36:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 317 "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 52:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 339 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 340 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 341 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 344 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 345 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 346 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 347 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 348 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 349 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 350 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 351 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 352 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 353 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 354 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 355 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 356 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 357 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 359 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 360 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 361 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 362 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 363 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 364 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 365 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 366 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 367 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 368 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 369 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 370 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 371 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 372 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 373 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 374 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 375 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 376 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 377 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 378 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 379 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 380 "asn1p_l.l"
return TOK_TYPE_IDENTIFIER;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 381 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 382 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 383 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 384 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 389 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 390 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 395 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 396 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 397 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 400 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 406 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 413 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 119:
YY_RULE_SETUP
#line 422 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_capitalreference;
	}
	YY_BREAK
/*
	 * typereference, modulereference
	 * NOTE: TOK_objectclassreference must be combined
	 * with this token to produce true typereference.
	 */
case 120:
YY_RULE_SETUP
#line 433 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 439 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 441 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 442 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK
case 124:
YY_RULE_SETUP
#line 444 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 125:
YY_RULE_SETUP
#line 446 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 448 "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 127:
YY_RULE_SETUP
#line 461 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 467 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 473 "asn1p_l.l"
{
				yy_pop_state();
				return '}';
			}
	YY_BREAK

case 130:
YY_RULE_SETUP
#line 480 "asn1p_l.l"
return yytext[0];	/* Union, Intersection */
	YY_BREAK
case 131:
YY_RULE_SETUP
#line 482 "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(encoding_control):
case YY_STATE_EOF(with_syntax):
#line 494 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 501 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3055 "asn1p_l.c"

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

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

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

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

			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;

			yy_current_state = yy_get_previous_state();

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

			yy_next_state = yy_try_NUL_trans( yy_current_state );

			yy_bp = yytext_ptr + YY_MORE_ADJ;

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

			else
				{
				yy_cp = yy_c_buf_p;
				goto yy_find_action;
				}
			}

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

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

					yy_act = YY_STATE_EOF(YY_START);
					goto do_action;
					}

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

			case EOB_ACT_CONTINUE_SCAN:
				yy_c_buf_p =
					yytext_ptr + yy_amount_of_matched_text;

				yy_current_state = yy_get_previous_state();

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

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

				yy_current_state = yy_get_previous_state();

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

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


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

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

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

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

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

	/* Try to read more data. */

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

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

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

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

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

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

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

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

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

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

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

			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];

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

		if ( num_to_read > YY_READ_BUF_SIZE )
			num_to_read = YY_READ_BUF_SIZE;

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

		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

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

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

	else
		ret_val = EOB_ACT_CONTINUE_SCAN;

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

	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];

	return ret_val;
	}


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

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

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

	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
		{
		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
			{
			yy_current_state = (int) yy_def[yy_current_state];
			if ( yy_current_state >= 721 )
				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 >= 721 )
			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 == 720);
	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 501 "asn1p_l.l"


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

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

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

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

	assert(*ptr != '-');

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

	return 0;
}

static 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;
}

