#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 134
#define YY_END_OF_BUFFER 135
static yyconst short int yy_acclist[1267] =
    {   0,
      135,  133,  134,  128,  133,  134,  128,  134,  131,  133,
      134,   19,  133,  134,  131,  133,  134,  133,  134,  131,
      133,  134,  133,  134,  131,  133,  134,  133,  134,   33,
      133,  134,   32,  133,  134,  131,  133,  134,  133,  134,
      120,  121,  133,  134,  120,  121,  133,  134,  120,  121,
      133,  134,  120,  121,  133,  134,  120,  121,  133,  134,
      120,  121,  133,  134,  120,  121,  133,  134,  120,  121,
      133,  134,  120,  121,  133,  134,  120,  121,  133,  134,
      120,  121,  133,  134,  120,  121,  133,  134,  120,  121,
      133,  134,  120,  121,  133,  134,  120,  121,  133,  134,

      120,  121,  133,  134,  120,  121,  133,  134,  120,  121,
      133,  134,  120,  121,  133,  134,  119,  133,  134,  131,
      133,  134,    9,  133,  134,    6,  134,    6,  133,  134,
        8,  133,  134,    8,  133,  134,   11,   13,  133,  134,
       11,  134,   13,  133,  134,   13,  133,  134,   13,  133,
      134,   21,  133,  134,   21,  134,   22,  133,  134,   16,
      133,  134,   16,  134,   18,  133,  134,   18,  133,  134,
       14,  133,  134,   15,  133,  134,   25,   27,  133,  134,
       27,  133,  134,   28,  134,   25,   26,   27,  133,  134,
       25,   26,   27,  133,  134,  125,  133,  134,  126,  133,

      134,  126,  134,  133,  134,  127,  133,  134,  128,   19,
       19,  117,  118,    5,   31,  124,   10,   32,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      121,  120,  121,  120,  121,  120,  121,  120,  121,   43,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  121,  120,
      121,  120,  121,   88,  120,  121,  120,  121,  121,  120,
      121,  120,  121,  120,  121,  120,  121,  121,  120,  121,

      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  121,  120,  121,  120,
      121,  121,  121,  120,  121,  119,    9,    7,    7,   12,
       21,   20,   16,   25,   25,   26,   25,   26,  125,  126,
      132,  117,  118,   31,  123,  122,  120,  121,  121,  120,
      121,   35,  120,  121,   36,  120,  121,  120,  121,  120,
      121,  120,  121,   40,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,   57,  120,  121,  120,
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,

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

      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,   65,  120,
      121,  121,  121,  120,  121,  120,  121,  120,  121,  120,
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
      121,   83,  120,  121,  121,  120,  121,  120,  121,  120,
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      121,   96,  120,  121,  120,  121,  120,  121,  100,  120,
      121,  120,  121,  120,  121,  120,  121,  104,  120,  121,

      106,  120,  121,  120,  121,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  121,  121,  121,  116,
      120,  121,    3,   25,   26,  120,  121,  120,  121,  120,
      121,   39,  120,  121,  121,  120,  121,  120,  121,  120,
      121,   46,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
       64,  120,  121,  121,  121,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  121,  120,  121,   87,

      120,  121,  120,  121,  121,  120,  121,  120,  121,  120,
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      121,  121,  108,  120,  121,  120,  121,  120,  121,  121,
      120,  121,  121,  121,  121,  129,   25,   26,   34,  120,
      121,  120,  121,  120,  121,  121,  120,  121,  120,  121,
       45,  120,  121,  120,  121,  120,  121,  120,  121,  120,
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
      121,  120,  121,   59,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  121,  121,  121,  120,  121,  120,
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,

      121,  120,  121,  120,  121,  120,  121,  121,   85,  120,
      121,  120,  121,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  121,  120,  121,  120,  121,  101,  120,  121,
      102,  120,  121,  121,  120,  121,  121,  109,  120,  121,
      120,  121,  121,  121,  121,  121,  121,   25,   26,  120,
      121,  120,  121,  121,   42,  120,  121,  120,  121,  120,
      121,  120,  121,  120,  121,   51,  120,  121,   52,  120,
      121,  120,  121,  120,  121,   55,  120,  121,  120,  121,
      120,  121,  120,  121,   61,  120,  121,  120,  121,  120,
      121,  121,  121,  121,  120,  121,  120,  121,   72,  120,

      121,   73,  120,  121,  120,  121,  120,  121,  120,  121,
       77,  120,  121,  120,  121,  120,  121,  120,  121,  121,
      120,  121,  121,   90,  120,  121,  120,  121,   93,  120,
      121,   95,  120,  121,  121,  120,  121,  120,  121,  121,
      120,  121,  121,  120,  121,  112,  121,  121,  121,  121,
      121,   25,   26,  120,  121,  120,  121,  121,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,   54,  120,
      121,  120,  121,  120,  121,   60,  120,  121,  120,  121,
       63,  120,  121,  121,  121,  121,  121,  120,  121,   71,
      120,  121,   74,  120,  121,   75,  120,  121,  120,  121,

      120,  121,  121,  120,  121,  121,   89,  120,  121,  121,
      120,  121,  121,  120,  121,   98,  120,  121,  121,  120,
      121,  121,  120,  121,  121,  121,  121,  121,   25,   26,
      120,  121,   38,  120,  121,   41,  121,   44,  120,  121,
       47,  120,  121,  120,  121,  120,  121,  120,  121,  120,
      121,  120,  121,  121,  121,  121,   69,  121,  120,  121,
      120,  121,  120,  121,  121,  120,  121,  121,  121,  120,
      121,  121,  103,  121,  120,  121,  121,  110,  120,  121,
      121,  121,  121,  121,  130,   25,  120,  121,   48,  120,
      121,  120,  121,   50,  120,  121,  120,  121,  120,  121,

       58,  120,  121,  120,  121,  121,  121,  121,   70,  120,
      121,  120,  121,  120,  121,  121,  120,  121,  121,  121,
      120,  121,  121,  120,  121,  120,  121,  121,  113,  121,
      121,  121,  121,   25,   37,  120,  121,   49,  120,  121,
       53,  120,  121,  120,  121,  120,  121,  121,  121,  121,
      120,  121,  120,  121,  121,  120,  121,  121,  121,  120,
      121,  121,  120,  121,  120,  121,  121,  121,  121,  121,
       25,  120,  121,  120,  121,  121,  121,  121,   76,  120,
      121,   78,  120,  121,   79,  121,  120,  121,  121,  121,
      120,  121,  121,   97,  120,  121,  120,  121,  121,  121,

      121,  121,   25,  120,  121,   62,  120,  121,   67,  121,
      121,   68,  121,  120,  121,   84,  121,  121,   92,  120,
      121,  121,  120,  121,  105,  121,  121,  121,  115,  121,
       25,  120,  121,  121,   82,  120,  121,  121,  121,  120,
      121,  121,  114,  121,   25,  120,  121,   66,  121,  121,
       94,  121,  107,  120,  121,  111,  121,   25,   56,  120,
      121,   86,  121,   23,   25,    4
    } ;

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

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

      373,  375,  377,  379,  381,  383,  385,  387,  390,  392,
      394,  396,  398,  400,  402,  403,  404,  406,  408,  410,
      412,  414,  416,  418,  421,  424,  426,  427,  429,  431,
      433,  434,  436,  439,  441,  443,  445,  446,  448,  450,
      452,  455,  457,  459,  461,  463,  465,  467,  469,  470,
      472,  474,  476,  477,  478,  479,  481,  482,  482,  482,
      483,  484,  486,  489,  489,  490,  491,  492,  493,  494,
      495,  495,  495,  495,  497,  499,  501,  503,  505,  507,
      509,  511,  513,  515,  517,  519,  521,  523,  525,  527,
      529,  531,  533,  535,  537,  539,  542,  543,  544,  546,

      548,  550,  552,  554,  556,  558,  560,  562,  565,  566,
      568,  570,  572,  573,  575,  577,  579,  581,  582,  585,
      587,  589,  592,  594,  596,  598,  601,  604,  606,  607,
      609,  611,  613,  615,  617,  618,  619,  620,  623,  623,
      623,  623,  623,  624,  626,  626,  628,  630,  632,  635,
      636,  638,  640,  642,  645,  647,  649,  651,  653,  655,
      657,  659,  661,  663,  665,  667,  669,  671,  674,  675,
      676,  677,  679,  681,  683,  685,  687,  689,  691,  693,
      695,  697,  698,  700,  703,  705,  706,  708,  708,  710,
      712,  713,  715,  717,  719,  721,  722,  722,  723,  726,

      728,  730,  731,  733,  734,  735,  736,  736,  736,  737,
      739,  739,  742,  744,  746,  747,  749,  751,  754,  756,
      758,  760,  762,  764,  766,  768,  770,  772,  774,  777,
      779,  781,  783,  785,  786,  787,  788,  790,  792,  794,
      796,  798,  800,  802,  804,  806,  808,  808,  809,  812,
      814,  815,  817,  819,  821,  823,  824,  826,  828,  831,
      834,  835,  837,  838,  841,  843,  844,  845,  846,  847,
      848,  848,  848,  850,  850,  852,  854,  855,  858,  860,
      862,  864,  866,  869,  872,  874,  876,  879,  881,  883,
      885,  888,  890,  892,  893,  894,  895,  897,  899,  902,

      905,  907,  909,  911,  914,  916,  918,  920,  921,  923,
      924,  927,  929,  932,  935,  936,  938,  940,  941,  943,
      944,  946,  948,  949,  950,  951,  952,  952,  954,  954,
      956,  958,  959,  961,  963,  965,  967,  969,  972,  974,
      976,  979,  981,  984,  985,  986,  987,  988,  990,  993,
      996,  999, 1001, 1003, 1004, 1006, 1007, 1010, 1011, 1013,
     1014, 1016, 1019, 1020, 1022, 1023, 1025, 1026, 1027, 1028,
     1029, 1029, 1029, 1031, 1031, 1033, 1036, 1038, 1041, 1044,
     1046, 1048, 1050, 1050, 1052, 1054, 1055, 1056, 1057, 1059,
     1061, 1063, 1065, 1066, 1068, 1069, 1070, 1072, 1073, 1073,

     1075, 1077, 1078, 1081, 1082, 1083, 1084, 1085, 1085, 1086,
     1087, 1087, 1089, 1092, 1094, 1097, 1099, 1101, 1104, 1106,
     1107, 1108, 1109, 1112, 1114, 1116, 1117, 1119, 1120, 1121,
     1123, 1124, 1126, 1128, 1129, 1131, 1132, 1133, 1134, 1135,
     1135, 1138, 1141, 1144, 1146, 1148, 1149, 1150, 1151, 1153,
     1155, 1156, 1158, 1159, 1160, 1162, 1163, 1165, 1167, 1168,
     1169, 1170, 1171, 1172, 1172, 1174, 1176, 1177, 1178, 1179,
     1182, 1185, 1187, 1189, 1190, 1191, 1193, 1194, 1197, 1199,
     1200, 1201, 1202, 1203, 1204, 1204, 1206, 1209, 1211, 1212,
     1214, 1216, 1218, 1219, 1222, 1223, 1225, 1227, 1228, 1229,

     1231, 1232, 1232, 1234, 1235, 1238, 1239, 1240, 1242, 1243,
     1245, 1246, 1246, 1248, 1250, 1251, 1253, 1256, 1258, 1259,
     1259, 1262, 1264, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1267, 1267
    } ;

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

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

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

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

static yyconst short int yy_base[766] =
    {   0,
        0,    0,   79,   82,   85,   96,   91,   93,   90,  100,
       88,  102,  183,  264,  120,  133, 1560, 1547,  140,  148,
     1545, 1543,  337,  156, 4376,  157, 1537,  102, 4376,  201,
     1525, 4376,  403,  200,  263,  281,  206,  287,  452,   90,
      308,  458,  185,  474,  496,  497,  514,  531,  534,  549,
      557, 1527,  605,    0, 4376, 4376, 1526, 1525, 4376, 4376,
     1521, 1521, 4376,    0,    0, 1523,    0,    0, 1505, 4376,
     4376, 4376,    0, 4376, 4376,  628,  708,    0,  200,  278,
      276, 4376, 1521,  356,    0, 1520, 1520, 1512,   91, 1497,
      642, 1498,  101,  644, 1492, 4376,  652, 1477,  732,  646,

      647,  662,  698,  663,  697, 1488,  713,  726,  729,  737,
      781,  784,  802,  799,  815,  823,  838,  844,  841,  859,
      187,   97,  874,  877,  885,  900,  911,  922,  928,  939,
      158,  952,  955,  968,  976,  169,  979,  992, 1003, 1016,
      219, 1032, 1038, 1049, 1055, 1066, 1077, 1083, 1094, 1100,
      241, 1111, 1127,  239,  274, 1124,    0, 1476, 1175, 1187,
     1199,    0, 4376, 1475, 4376,    0, 4376,    0, 1459,    0,
     1440,  322,    0,  425, 4376, 1467,    0, 1465,    0, 1464,
      110, 1440,  297,  119, 1165, 4376, 4376, 1210, 1462, 1194,
     1195, 1210, 1211, 1259, 1456, 1267, 1270, 1283, 1291, 1299,

     1307, 1320, 1328, 1331, 1352, 1353, 1368, 1374, 1385, 1391,
     1402, 1408, 1419, 1430,  200,  215, 1443, 1451, 1454, 1469,
     1472, 1475, 1501, 1493, 1504, 1517,  281, 1525, 1538, 1546,
      302, 1549, 1562, 1570, 1578, 1586,  244, 1599, 1602, 1610,
     1623, 1631, 1639, 1647, 1660, 1668, 1681, 1689,  445, 1697,
     1713, 1714,  155,  470,  352, 1729, 1454, 1772, 1780, 1452,
     4376,  113, 1422, 1407, 1445, 1443, 4376, 4376, 4376, 4376,
      486,  293, 1408, 1774, 1775, 1790, 1796, 1807, 1813, 1829,
     1830, 1845, 1853, 1861, 1877, 1874, 1885, 1898, 1901, 1916,
     1922, 1933, 1939, 1950, 1965, 1971,  246,  232, 1982, 1988,

     2003, 2004, 2019, 2025, 2040, 2043, 2051, 2064,  418, 2072,
     2075, 2088,  105, 2096, 2109, 2117, 2125,  446, 2133, 2141,
     2154, 2162, 2165, 2183, 2180, 2186, 2201, 2204,  496, 2207,
     2222, 2225, 2233, 2246,  472,  322,  193, 2257, 2300, 2322,
     2344, 2356, 1441,  309, 1411, 2340, 2355, 2371, 2368,  471,
     2389, 2392, 2395, 2410, 2413, 2421, 2434, 2442, 2455, 2466,
     2472, 2483, 2494, 2509, 2515, 2526, 2532, 2547,  498,  484,
      497, 2548, 2568, 2565, 2586, 2585, 2601, 2607, 2618, 2631,
     2642,  516, 2639, 2655, 2663,  521, 2671,  480, 2679, 2692,
      502, 2705, 2708, 2716, 2729,  540,  535,  544, 2740, 2746,

     2757,  522, 2768,  606,  537,  499,  677, 2811, 4376,  576,
     1430, 2795, 2811, 2808,  552, 2819, 2832, 2835, 2852, 2858,
     2869, 2875, 2890, 2896, 2913, 2919, 2930, 2936, 2947, 2953,
     2964, 2970, 2986,  583,  572,  620, 2987, 3002, 3008, 3019,
     3025, 3040, 3046, 3057, 3072, 3078,  687,  573, 3089, 3105,
      296, 3102, 1401, 3113, 3126,  591, 3134, 3149, 3152, 3155,
      684, 1407,  688, 3170, 3173,  587,  700,  712,  774,  799,
     3221, 3233, 1395, 1405, 3217, 3230,  685, 3233, 3248, 3254,
     3265, 3271, 3282, 3288, 3299, 3310, 3316, 3327, 3333, 3344,
     3355, 3361, 3372,  769,  697,  748, 3378, 3389, 3400, 3406,

     3417, 3423, 3438, 3439, 3454, 3460, 1388,  713, 3471,  805,
     3477, 1394, 3488, 3499,  716, 3505, 3520,  807, 1389,  809,
     3526, 1407,  771,  834,  802,  848, 3569,  863,    0, 3563,
     3564,  837, 3579, 3587, 3590, 3603, 3611, 3619, 3627, 3640,
     3648, 3656, 3664,  763,  860,  839,  849, 3677, 3685, 3688,
     3701, 3709, 3712,  825, 1385,  883, 3725,  864, 1376,  845,
     3746, 3733,  896, 1367,  915, 3749,  898,  909,  926,  919,
     3797, 1035,  120, 1361, 3781, 3792, 1393, 3798, 3809, 3815,
     3830, 3831,  490, 3846, 3847,  930,  923,  933, 1392, 3862,
     3870, 3885,  922, 1366,  943,  932, 1358,  967,  313, 1386,

     1343,  987, 3886,  948, 1016,  952,  994, 1243, 4376, 1359,
     1327, 3901, 3902, 3917, 3918, 3933, 1344, 3934, 3949,  965,
     1042, 1035, 3955, 3966, 3977,  962, 1343, 1044, 1056, 1337,
     1031, 1329, 1328, 1057, 1350, 1037, 1075, 1064, 1316, 1286,
     3983, 3994, 4000, 1313, 4011, 1051,  806, 1062, 4022, 4028,
      950, 1317, 1077, 1124, 1305, 1157, 1320, 1302, 1132, 1161,
     1137, 1143, 1286, 1250, 1272, 4043, 1099, 1177, 1150, 4044,
     4059, 1285, 1247, 1201, 1187, 1241, 1250,    0, 1256, 1243,
     1252, 1162, 1279, 1218, 1200, 1211, 4060, 1217,  589, 1215,
     1106, 1139, 1152,    0, 1236, 1106, 1122, 1249, 1283, 1120,

     1068, 1011, 1030, 1277,    0, 1022, 1313, 1025, 1321, 1054,
     1011,  990,  946,  920, 1219,  907,    0,  739,  691,  661,
        0,  686,    0,  556,  591,  543,  571,  518,  457,  450,
      412,  357,  267,  296,  922,  150,  118, 4376, 4376, 4109,
     4123, 4137, 4151, 4165, 4179, 4193, 4206, 4210, 4222, 4236,
     4250, 4262, 4274, 4286, 4291, 4296, 4300, 4305, 4309, 4313,
     4317, 4329, 4336, 4348, 4361
    } ;

static yyconst short int yy_def[766] =
    {   0,
      739,    1,  740,  740,  740,  740,  741,  741,  742,  742,
      743,  743,  744,  744,  745,  745,  739,  739,  739,  739,
      739,  746,  739,  747,  739,  739,  739,  739,  739,  739,
      739,  739,  739,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  748,  739,  749,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  750,  750,  739,  751,  751,  739,  739,
      739,  739,  752,  739,  739,  753,  753,  754,  739,  739,
       23,  739,  739,  739,  746,  746,  739,  755,  739,  756,
      747,  747,  739,  739,  739,  739,  739,  739,  757,   33,

       33,   33,   33,   33,   33,  758,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
      758,  758,   33,   33,   33,   33,   33,   33,   33,   33,
      758,   33,   33,   33,   33,  758,   33,   33,   33,   33,
      758,   33,   33,   33,   33,   33,   33,   33,   33,   33,
      758,   33,   33,  758,  758,   33,  759,  748,  739,  739,
      739,  749,  739,  739,  739,  750,  739,  751,  739,  752,
       77,   77,  754,  739,  739,  739,  760,  755,  761,  756,
      739,  739,  762,  739,  739,  739,  739,  757,  763,   33,
       33,   33,   33,   33,  763,   33,   33,   33,   33,   33,

       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  758,  758,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  758,   33,   33,   33,
      758,   33,   33,   33,   33,   33,  758,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  758,   33,
       33,   33,  758,  758,  758,   33,  759,  739,  739,  739,
      739,   77,   77,  739,  760,  761,  739,  739,  739,  739,
      762,  739,  739,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  758,  758,   33,   33,

       33,   33,   33,   33,   33,   33,   33,   33,  758,   33,
       33,   33,  758,   33,   33,   33,   33,  758,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  758,   33,
       33,   33,   33,   33,  758,  758,  758,   33,  739,  739,
      739,  739,  739,   77,  739,   33,   33,   33,   33,  758,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  758,  758,
      758,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  758,   33,   33,   33,  758,   33,  188,   33,   33,
      758,   33,   33,   33,   33,  758,  188,  758,   33,   33,

       33,  758,   33,  758,  758,  758,  739,  739,  739,   77,
      739,   33,   33,   33,  758,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,  758,  758,  758,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  188,  758,   33,   33,
      758,   33,  188,   33,   33,  758,   33,   33,   33,   33,
      758,  188,  758,   33,   33,  758,  758,  758,  758,  758,
      739,  739,   77,  739,   33,   33,  758,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,  758,  758,  758,   33,   33,   33,   33,

       33,   33,   33,   33,   33,   33,  188,  758,   33,  758,
       33,  188,   33,   33,  758,   33,   33,  758,  188,  758,
       33,  758,  758,  758,  758,  758,  739,   77,  764,   33,
       33,  758,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,  758,  758,  758,  758,   33,   33,   33,
       33,   33,   33,  758,  188,  758,   33,  758,  188,  758,
       33,   33,  758,  188,  758,   33,  758,  758,  758,  758,
      739,  765,   77,  739,   33,   33,  758,   33,   33,   33,
       33,   33,  188,   33,   33,  758,  758,  758,  758,   33,
       33,   33,  758,  188,  758,  758,  188,  758,  188,  758,

      188,  758,   33,  758,  758,  758,  758,  739,  739,  752,
      739,   33,   33,   33,   33,   33,  188,   33,   33,  758,
      758,  758,   33,   33,   33,  758,  188,  758,  758,  188,
      758,  188,  188,  758,  758,  758,  758,  758,  752,  739,
       33,   33,   33,  188,   33,  758,  758,  758,   33,   33,
      758,  188,  758,  758,  188,  758,  188,  188,  758,  758,
      758,  758,  752,  739,  188,   33,  758,  758,  758,   33,
       33,  758,  188,  758,  758,  188,  758,  188,  188,  758,
      758,  758,  758,  752,  739,  188,   33,  758,  758,  758,
      188,  758,  758,  188,  758,  188,  758,  758,  758,  758,

      752,  739,  188,  758,  188,  758,  758,  188,  758,  758,
      752,  739,  188,  758,  758,  758,  188,  758,  752,  739,
      188,  758,  752,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,    0,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739
    } ;

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

       56,   61,   65,   61,   68,   62,   66,   62,   58,  195,
       83,   69,   96,  183,   70,   87,   63,  195,   63,  100,
      272,   79,   80,   79,   79,   69,  184,   81,   70,  100,
      738,  100,  610,  100,   79,   80,   79,   79,  100,  267,
       81,   84,   84,   84,   84,  268,   89,  273,   83,   84,
       84,   84,   84,  216,  171,  344,   83,   91,   91,   91,
       91,  171,  737,  386,   83,   83,   71,  195,   72,   93,
      195,   91,   91,   94,   94,   94,   94,   94,   94,   94,
       71,  195,   72,   73,   74,   75,   74,   74,   73,   73,
       73,   73,   73,   73,   73,   73,   73,   73,   32,  195,

       82,  174,  174,  174,  174,  195,   73,   73,   73,   73,
       73,   32,  195,   82,  100,   77,   97,   97,   97,   97,
       97,   97,   97,   97,  100,  227,  100,  195,  100,  100,
      335,  195,  107,  130,  231,  100,  108,   73,   73,  100,
      109,  100,  110,  100,  195,  100,  116,  117,  100,  100,
      406,  195,  111,  195,  100,  215,  195,  118,  195,  131,
      297,   74,   73,   74,   73,   74,   75,   74,   74,   73,
       73,   73,   73,   73,   73,   73,   73,   73,   73,  174,
      174,  174,  174,  237,  739,  298,  195,   73,   73,   73,
       73,   73,  100,  195,  272,  370,   77,  735,  112,  270,

      739,  270,  113,  253,  100,  114,  100,  249,  195,  271,
      100,  100,  318,  115,  195,  119,  100,  369,   73,   73,
      100,  273,  100,  736,  100,  739,  100,  510,  100,  100,
      100,  739,  120,  254,  195,  100,  123,  100,  734,  124,
      410,  309,   74,   73,   74,   83,  255,  100,  125,  126,
      171,  100,  262,  263,  127,  632,  100,   84,   84,   84,
       84,   87,  313,  171,  195,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
       88,  405,   89,   90,   90,   90,   90,   90,   90,   90,

       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
       90,   90,   90,   90,   90,   99,  337,  733,  100,  100,
      100,  100,  100,  100,  100,  100,  174,  174,  174,  174,
      195,  100,  101,  100,  100,  100,  100,  100,  100,  100,
      100,  100,  102,  100,  103,  100,  104,  100,  100,  100,
      100,  105,  100,  100,  100,  100,  100,  195,  195,  106,
      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
      106,  100,  195,  195,  195,  732,  128,  100,  270,  382,
      270,  100,  739,  100,  129,  100,  195,  100,  271,  100,

      100,  100,  739,  132,  133,  329,  100,  134,  195,  195,
      195,  195,  121,  100,  195,  100,  453,  135,  731,  391,
      617,  730,  100,  122,  137,  100,  100,  138,  195,  142,
      336,  136,  404,  195,  195,  139,  100,  100,  100,  100,
      100,  140,  415,  100,  100,  100,  143,  739,  435,  195,
      144,  147,  195,  100,  434,  100,  195,  100,  456,  148,
      100,  145,  100,  100,  195,  470,  146,  141,  436,  398,
      100,  462,  100,  100,  100,  152,  149,  100,  100,  100,
      448,  153,  100,  150,  195,  195,  100,  729,  100,  466,
      100,  151,  100,  156,  451,  195,  100,  100,  100,  195,

      100,  195,  154,  195,  463,  100,  159,  159,  159,  159,
      469,  461,  473,  155,  728,  727,  477,  171,  195,  726,
      160,  160,  160,  160,  160,  160,  161,  161,  170,  725,
      495,  508,  195,  170,  170,  170,  170,  170,  170,  170,
      170,  170,  170,   91,   91,   91,   91,  522,  515,  494,
      181,  170,  170,  170,  170,  170,  704,   91,   91,  185,
      185,  185,  185,  185,  185,  185,  185,   97,   97,   97,
       97,   97,   97,   97,   97,  100,  100,  468,  407,  407,
      407,  407,  170,  170,  496,  100,  100,  100,  100,  100,
      100,  100,  100,  190,  100,  100,  195,  195,  195,  739,

      195,  191,  100,  100,  100,  100,  193,  170,  170,  195,
      100,  100,  195,  170,  170,  170,  170,  170,  170,  170,
      170,  170,  170,  507,  195,  195,  100,  100,  195,  724,
      723,  170,  170,  170,  170,  170,  100,  100,  100,  100,
      100,  100,  100,  546,  194,  100,  100,  196,  518,  172,
      192,  195,  100,  532,  100,  100,  100,  409,  100,  556,
      195,  100,  170,  170,  520,  100,  100,  100,  100,  100,
      100,  523,  198,  197,  100,  195,  100,  100,  100,  199,
      100,  195,  560,  195,  524,  100,  195,  170,  189,  189,
      189,  189,  189,  189,  189,  189,  189,  189,  189,  189,

      189,  189,  189,  189,  189,  189,  189,  189,  189,  189,
      100,  195,  200,  100,  195,  544,  547,  195,  195,  195,
      100,  195,  100,  100,  100,  100,  201,  100,  100,  100,
      202,  100,  100,  545,  525,  567,  586,  195,  100,  203,
      204,  100,  100,  100,  100,  100,  195,  100,  205,  195,
      100,  195,  206,  668,  100,  565,  100,  195,  100,  526,
      195,  195,  100,  100,  100,  558,  100,  100,  207,  208,
      100,  100,  195,  100,  210,  563,  195,  100,  569,  100,
      213,  100,  100,  100,  100,  100,  209,  211,  100,  100,
      568,  212,  100,  217,  570,  195,  593,  573,  100,  577,

      100,  214,  100,  100,  171,  598,  100,  100,  195,  218,
      195,  589,  588,  100,  100,  100,  100,  100,  100,  195,
      100,  195,  100,  735,  100,  100,  100,  195,  219,  100,
      220,  195,  195,  100,  195,  195,  596,  587,  195,  100,
      100,  100,  195,  100,  195,  195,  221,  222,  100,  736,
      100,  100,  100,  223,  100,  195,  595,  100,  600,  100,
      195,  100,  195,  100,  195,  100,  604,  100,  100,  225,
      100,  100,  606,  224,  195,  605,  100,  195,  226,  195,
      100,  100,  100,  621,  100,  721,  626,  100,  602,  228,
      629,  100,  607,  100,  100,  100,  100,  100,  100,  195,

      100,  620,  229,  100,  622,  100,  195,  100,  100,  100,
      635,  100,  672,  631,  628,  100,  100,  100,  100,  100,
      100,  100,  100,  230,  100,  637,  232,  100,  195,  646,
      651,  100,  100,  100,  195,  100,  608,  608,  608,  608,
      100,  233,  100,  195,  100,  100,  100,  195,  235,  195,
      720,  234,  236,  719,  195,  100,  195,  100,  634,  100,
      238,  100,  636,  195,  100,  638,  195,  100,  195,  195,
      717,  239,  713,  100,  195,  100,  195,  100,  100,  100,
      100,  100,  240,  712,  100,  241,  100,  195,  100,  195,
      100,  715,  100,  245,  100,  100,  100,  100,  100,  648,

      243,  647,  242,  100,  656,  100,  100,  244,  653,  100,
      660,  195,  100,  711,  100,  609,  100,  246,  100,  667,
      100,  659,  100,  100,  100,  100,  100,  654,  662,  100,
      669,  100,  195,  100,  195,  100,  195,  100,  708,  100,
      100,  100,  247,  248,  195,  674,  661,  250,  100,  195,
      100,  195,  100,  100,  100,  195,  100,  251,  705,  100,
      252,  688,  195,  100,  195,  100,  100,  100,  100,  195,
      100,  256,  100,  195,  195,  100,  159,  159,  159,  159,
      185,  185,  185,  185,  185,  185,  185,  185,  675,  195,
      160,  160,  160,  160,  160,  160,  161,  161,  258,  195,

      680,  682,  161,  161,  161,  161,  161,  161,  161,  161,
      259,  683,  690,  195,  161,  161,  161,  161,  161,  161,
      161,  161,   99,  100,  100,  706,  274,  195,  677,  195,
      699,  195,  681,  100,  100,  100,  100,  100,  100,  100,
      100,  689,  100,  100,  608,  608,  608,  608,  195,  100,
      275,  100,  100,  100,  100,  195,  703,  693,  100,  100,
      702,  195,  195,  692,  195,  701,  189,  189,  189,  189,
      189,  189,  189,  189,  189,  189,  189,  189,  189,  189,
      189,  189,  189,  189,  189,  189,  189,  189,  100,  195,
      722,  195,  696,  694,  691,  195,  100,  195,  100,  100,

      100,  276,  100,  277,  707,  697,  100,  100,  100,  100,
      100,  100,  100,  100,  695,  100,  698,  709,  100,  686,
      100,  685,  100,  609,  100,  195,  100,  684,  100,  278,
      279,  100,  100,  195,  100,  679,  100,  714,  100,  100,
      100,  700,  100,  281,  280,  710,  100,  100,  100,  100,
      100,  678,  676,  673,  665,  100,  664,  100,  663,  100,
      100,  100,  195,  100,  658,  657,  282,  100,  100,  100,
      100,  283,  100,  655,  100,  716,  100,  284,  285,  100,
      286,  100,  100,  718,  652,  288,  644,  640,  287,  639,
      633,  100,  100,  100,  100,  100,  100,  100,  195,  630,

      100,  100,  627,  100,  195,  195,  611,  100,  601,  100,
      289,  100,  597,  100,  100,  100,  100,  100,  594,  195,
      100,  564,  100,  291,  100,  290,  100,  559,  100,  555,
      100,  100,  100,  100,  100,  529,  528,  100,  519,  100,
      294,  292,  512,  100,  293,  100,  474,  100,  100,  100,
      100,  100,  411,  343,  345,  179,  100,  177,  100,  100,
      100,  175,  100,  171,  343,  295,  157,  100,  739,  100,
      296,  100,  100,  100,  195,  268,  179,  177,  100,  264,
      100,  171,  100,  100,  100,  261,  100,  260,  157,  299,
      100,  100,  300,  301,  100,  100,  302,  100,  100,  100,

      195,  100,  100,  187,  100,  186,  182,  305,  303,  179,
      100,  100,  100,  100,  100,  100,  100,  100,  100,  304,
      100,  306,  100,  100,  177,  176,  175,  175,  169,  167,
      100,   96,  100,  100,  100,  165,  100,  164,  163,  157,
      100,  100,  100,  100,  100,  100,  100,  100,   98,  100,
       95,   86,  307,   83,  100,   83,  308,  310,  100,  739,
      100,  739,  739,  739,  100,  100,  100,  100,  100,  739,
      311,  739,  739,  100,  739,  100,  739,  100,  100,  100,
      739,  100,  312,  739,  739,  100,  100,  100,  100,  100,
      100,  100,  100,  739,  100,  739,  314,  100,  739,  100,

      739,  100,  739,  100,  739,  100,  739,  100,  739,  100,
      100,  100,  739,  100,  739,  100,  315,  100,  100,  100,
      739,  100,  739,  739,  316,  100,  100,  100,  100,  100,
      320,  100,  739,  739,  100,  317,  739,  739,  319,  100,
      100,  100,  100,  100,  739,  100,  739,  100,  739,  100,
      100,  100,  100,  100,  739,  739,  739,  739,  321,  739,
      100,  739,  100,  322,  100,  739,  100,  739,  100,  739,
      100,  100,  100,  739,  100,  323,  100,  739,  100,  100,
      100,  739,  100,  739,  739,  739,  100,  100,  100,  100,
      100,  739,  739,  739,  324,  100,  739,  100,  739,  100,

      739,  100,  739,  100,  739,  739,  325,  100,  100,  100,
      100,  100,  739,  327,  326,  739,  100,  739,  100,  739,
      100,  328,  100,  739,  100,  739,  100,  739,  100,  100,
      100,  739,  100,  739,  739,  334,  100,  100,  100,  330,
      100,  331,  100,  100,  739,  100,  332,  739,  739,  739,
      739,  739,  100,  100,  100,  100,  100,  100,  100,  739,
      333,  100,  100,  739,  338,  739,  739,  739,  100,  739,
      100,  739,  100,  339,  339,  339,  339,  100,  739,  739,
      739,  341,  341,  341,  341,  739,  739,  340,  340,  340,
      340,  340,  340,  340,  340,  342,  342,  342,  342,  342,

      342,  342,  342,  100,  100,  739,  739,  739,  739,  739,
      739,  347,  739,  100,  100,  346,  100,  100,  100,  100,
      739,  739,  100,  100,  739,  100,  739,  739,  739,  100,
      348,  100,  739,  100,  739,  100,  100,  349,  100,  100,
      739,  739,  100,  739,  100,  351,  100,  739,  100,  739,
      100,  739,  100,  739,  100,  100,  100,  352,  100,  100,
      353,  100,  739,  739,  739,  739,  739,  739,  100,  100,
      100,  100,  100,  100,  100,  739,  739,  100,  100,  739,
      350,  739,  100,  739,  100,  739,  100,  739,  100,  739,
      100,  354,  100,  100,  100,  355,  100,  739,  739,  739,

      100,  100,  100,  100,  100,  357,  100,  739,  356,  100,
      739,  739,  739,  100,  100,  100,  100,  100,  100,  739,
      100,  739,  358,  739,  100,  100,  359,  100,  100,  360,
      100,  739,  361,  100,  739,  739,  739,  100,  739,  100,
      100,  100,  100,  739,  100,  100,  100,  739,  362,  100,
      739,  100,  739,  739,  739,  100,  739,  100,  739,  100,
      739,  100,  100,  100,  100,  363,  739,  739,  100,  364,
      100,  739,  100,  739,  100,  739,  100,  739,  100,  100,
      100,  100,  100,  739,  365,  739,  739,  100,  739,  100,
      739,  366,  739,  100,  100,  367,  739,  368,  100,  739,

      100,  739,  739,  739,  100,  739,  100,  739,  100,  739,
      100,  100,  100,  100,  100,  739,  739,  100,  739,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  739,  100,
      100,  100,  100,  100,  739,  372,  100,  739,  739,  373,
      739,  739,  100,  100,  100,  100,  100,  100,  100,  374,
      739,  100,  100,  376,  100,  371,  739,  739,  100,  739,
      100,  380,  100,  739,  100,  739,  100,  375,  100,  100,
      377,  739,  100,  100,  378,  739,  739,  739,  739,  100,
      100,  100,  100,  100,  100,  379,  100,  739,  100,  739,
      100,  100,  100,  100,  100,  739,  739,  381,  739,  100,

      739,  100,  383,  100,  100,  100,  739,  100,  739,  739,
      739,  100,  100,  100,  100,  100,  100,  100,  100,  739,
      100,  388,  384,  100,  739,  100,  739,  100,  387,  100,
      385,  100,  739,  739,  739,  100,  100,  100,  100,  100,
      739,  739,  739,  739,  100,  739,  100,  739,  100,  389,
      100,  739,  100,  390,  100,  739,  100,  100,  100,  739,
      100,  739,  100,  739,  100,  100,  100,  739,  100,  739,
      100,  739,  100,  100,  100,  739,  100,  739,  739,  739,
      100,  100,  100,  100,  100,  739,  393,  739,  392,  100,
      739,  100,  739,  100,  100,  100,  739,  100,  739,  739,

      739,  100,  100,  100,  100,  100,  394,  739,  100,  100,
      100,  395,  100,  100,  739,  100,  397,  739,  739,  100,
      739,  100,  100,  100,  100,  100,  100,  100,  100,  100,
      100,  100,  739,  100,  100,  739,  100,  739,  739,  739,
      100,  739,  100,  100,  100,  100,  100,  100,  399,  100,
      100,  100,  100,  396,  100,  100,  739,  401,  739,  739,
      739,  100,  100,  100,  100,  100,  100,  739,  100,  739,
      400,  739,  100,  100,  100,  100,  100,  739,  739,  739,
      739,  100,  739,  739,  739,  100,  100,  100,  739,  100,
      739,  739,  403,  739,  100,  739,  100,  402,  100,  739,

      100,  339,  339,  339,  339,  100,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  340,  340,  340,  340,  340,
      340,  340,  340,  407,  407,  407,  407,  739,  739,  739,
      739,  739,  739,  408,  739,  739,  739,  340,  340,  340,
      340,  340,  340,  340,  340,  341,  341,  341,  341,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  342,
      342,  342,  342,  342,  342,  342,  342,  408,  739,  100,
      739,  342,  342,  342,  342,  342,  342,  342,  342,  100,
      739,  100,  739,  100,  100,  413,  739,  412,  100,  739,
      739,  739,  739,  739,  100,  739,  100,  100,  100,  414,

      100,  739,  409,  100,  739,  739,  739,  100,  739,  100,
      100,  100,  100,  739,  100,  739,  100,  416,  100,  100,
      739,  100,  417,  739,  100,  739,  739,  418,  100,  739,
      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
      100,  739,  100,  100,  739,  739,  739,  739,  739,  100,
      100,  100,  100,  100,  419,  739,  100,  739,  100,  739,
      100,  100,  100,  100,  100,  739,  420,  739,  739,  100,
      421,  100,  739,  100,  739,  100,  739,  100,  739,  739,
      739,  422,  100,  100,  100,  100,  739,  423,  739,  739,
      100,  424,  739,  739,  100,  100,  100,  425,  100,  739,

      739,  100,  739,  100,  426,  100,  739,  100,  427,  100,
      739,  100,  100,  100,  100,  100,  739,  739,  739,  739,
      100,  739,  100,  100,  100,  739,  100,  739,  428,  739,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  430,
      739,  429,  100,  739,  100,  739,  739,  739,  100,  739,
      100,  739,  100,  739,  100,  100,  100,  100,  100,  739,
      739,  100,  431,  100,  739,  100,  739,  100,  739,  100,
      739,  100,  432,  433,  100,  100,  100,  100,  739,  739,
      100,  739,  739,  739,  437,  739,  100,  100,  100,  100,
      100,  100,  739,  739,  100,  100,  100,  100,  438,  739,

      439,  739,  739,  739,  100,  739,  100,  100,  100,  100,
      739,  100,  440,  100,  100,  100,  100,  441,  739,  739,
      739,  739,  739,  739,  100,  100,  442,  100,  100,  100,
      100,  739,  739,  100,  100,  739,  100,  739,  739,  444,
      100,  739,  100,  739,  100,  739,  100,  100,  100,  443,
      100,  446,  739,  739,  447,  100,  739,  100,  739,  100,
      100,  100,  739,  739,  445,  739,  100,  739,  100,  739,
      100,  100,  100,  739,  100,  739,  739,  739,  100,  100,
      100,  100,  100,  100,  100,  100,  449,  100,  739,  739,
      100,  739,  100,  739,  100,  739,  100,  739,  100,  739,

      100,  739,  100,  100,  450,  739,  100,  739,  100,  739,
      100,  100,  100,  739,  100,  739,  452,  739,  100,  100,
      454,  100,  100,  739,  739,  739,  739,  100,  739,  739,
      739,  100,  739,  100,  100,  100,  739,  100,  739,  455,
      100,  457,  739,  739,  100,  100,  100,  100,  100,  458,
      459,  100,  739,  100,  739,  100,  100,  100,  100,  100,
      739,  739,  739,  739,  100,  739,  739,  739,  100,  100,
      100,  739,  100,  739,  739,  100,  739,  100,  464,  100,
      460,  100,  739,  100,  739,  100,  100,  100,  100,  100,
      739,  739,  739,  739,  100,  739,  100,  100,  100,  739,

      100,  739,  465,  739,  739,  100,  739,  100,  739,  100,
      739,  100,  471,  471,  471,  471,  100,  739,  739,  739,
      739,  739,  739,  739,  100,  739,  472,  472,  472,  472,
      472,  472,  472,  472,  100,  739,  100,  100,  100,  475,
      100,  467,  739,  100,  739,  739,  739,  100,  100,  100,
      100,  100,  100,  739,  100,  476,  100,  739,  100,  100,
      478,  100,  100,  739,  100,  739,  739,  100,  739,  739,
      739,  100,  739,  100,  100,  100,  100,  739,  100,  479,
      100,  100,  739,  100,  480,  739,  481,  100,  739,  739,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,

      100,  100,  739,  739,  100,  739,  100,  739,  100,  739,
      482,  739,  100,  739,  100,  739,  100,  100,  100,  100,
      739,  484,  483,  100,  739,  100,  739,  739,  739,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,
      739,  739,  100,  485,  100,  486,  739,  739,  100,  739,
      487,  739,  100,  739,  100,  739,  100,  739,  100,  100,
      100,  100,  100,  739,  489,  100,  739,  100,  739,  100,
      739,  488,  739,  100,  739,  100,  100,  100,  100,  100,
      739,  739,  100,  739,  100,  739,  100,  739,  100,  490,
      100,  739,  100,  100,  100,  100,  100,  739,  739,  100,

      739,  100,  739,  100,  739,  100,  492,  100,  739,  100,
      491,  100,  100,  100,  493,  100,  100,  739,  100,  739,
      497,  739,  739,  739,  739,  100,  100,  100,  100,  100,
      100,  100,  739,  739,  100,  100,  739,  100,  498,  499,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,
      100,  100,  739,  739,  100,  739,  100,  501,  100,  739,
      100,  739,  100,  739,  100,  500,  100,  100,  100,  100,
      502,  739,  739,  100,  739,  100,  503,  739,  739,  100,
      739,  100,  739,  100,  739,  100,  100,  100,  100,  100,
      739,  739,  739,  739,  100,  739,  100,  739,  100,  739,

      100,  100,  504,  739,  505,  100,  739,  100,  739,  739,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,
      100,  100,  739,  739,  506,  739,  100,  739,  100,  739,
      100,  100,  100,  509,  100,  739,  739,  100,  739,  739,
      739,  100,  100,  511,  100,  100,  100,  739,  100,  739,
      100,  739,  100,  100,  100,  100,  100,  739,  514,  739,
      513,  100,  739,  100,  739,  100,  739,  100,  739,  100,
      739,  739,  739,  100,  100,  100,  739,  100,  100,  517,
      739,  100,  100,  516,  100,  739,  739,  739,  100,  739,
      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,

      100,  739,  100,  100,  739,  739,  739,  739,  739,  100,
      739,  100,  100,  100,  100,  739,  100,  739,  100,  521,
      739,  100,  471,  471,  471,  471,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  472,  472,  472,  472,
      472,  472,  472,  472,  527,  739,  100,  739,  472,  472,
      472,  472,  472,  472,  472,  472,  100,  739,  100,  100,
      100,  739,  100,  739,  530,  100,  531,  739,  739,  100,
      739,  100,  100,  100,  100,  739,  100,  100,  100,  739,
      533,  100,  739,  100,  739,  739,  739,  100,  739,  100,
      739,  100,  739,  100,  100,  534,  100,  100,  739,  739,

      100,  535,  100,  739,  100,  739,  100,  536,  100,  739,
      100,  100,  100,  100,  100,  739,  739,  100,  739,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,
      100,  100,  739,  739,  739,  537,  100,  739,  100,  100,
      100,  538,  100,  739,  739,  100,  739,  100,  739,  100,
      739,  100,  739,  100,  739,  100,  100,  100,  100,  100,
      739,  539,  100,  739,  100,  739,  100,  739,  100,  739,
      100,  739,  100,  100,  100,  100,  100,  739,  739,  739,
      540,  100,  739,  100,  100,  100,  739,  100,  739,  739,
      542,  541,  100,  739,  100,  739,  100,  739,  100,  739,

      100,  100,  100,  100,  100,  739,  739,  100,  739,  100,
      739,  543,  739,  100,  548,  100,  739,  100,  100,  100,
      100,  100,  739,  739,  739,  739,  100,  739,  100,  100,
      100,  739,  100,  739,  739,  100,  549,  100,  739,  100,
      739,  100,  739,  100,  739,  100,  100,  100,  100,  100,
      739,  739,  100,  739,  100,  551,  100,  739,  100,  739,
      100,  739,  100,  550,  100,  100,  100,  100,  100,  739,
      739,  100,  739,  739,  739,  739,  739,  100,  100,  100,
      100,  100,  100,  100,  553,  552,  100,  100,  739,  100,
      739,  739,  739,  100,  739,  100,  739,  100,  739,  100,

      100,  100,  100,  100,  739,  739,  100,  739,  100,  739,
      557,  739,  100,  739,  100,  739,  100,  100,  100,  100,
      100,  739,  739,  739,  739,  100,  739,  100,  100,  100,
      739,  100,  739,  554,  100,  739,  100,  561,  100,  739,
      100,  739,  100,  739,  100,  739,  100,  100,  100,  100,
      739,  739,  562,  100,  566,  100,  739,  739,  739,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,
      571,  571,  571,  571,  100,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  572,  572,  572,  572,  572,  572,
      572,  572,  100,  100,  576,  739,  739,  739,  739,  575,

      739,  739,  100,  100,  100,  100,  100,  100,  100,  739,
      739,  100,  100,  739,  739,  739,  100,  739,  100,  100,
      100,  739,  100,  739,  578,  739,  100,  100,  100,  100,
      100,  580,  100,  100,  579,  100,  739,  739,  100,  583,
      100,  739,  100,  739,  581,  739,  100,  739,  100,  739,
      100,  100,  100,  582,  100,  739,  100,  739,  100,  100,
      100,  739,  100,  739,  739,  739,  100,  100,  100,  100,
      100,  739,  584,  739,  739,  100,  739,  100,  739,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,
      739,  100,  585,  100,  739,  100,  100,  100,  739,  100,

      739,  739,  739,  100,  100,  100,  100,  100,  739,  590,
      739,  739,  100,  739,  100,  739,  100,  100,  100,  739,
      100,  739,  739,  739,  100,  100,  100,  100,  100,  100,
      100,  100,  739,  100,  739,  739,  100,  739,  100,  739,
      100,  100,  100,  739,  100,  591,  739,  739,  100,  100,
      100,  100,  100,  100,  100,  100,  739,  100,  599,  592,
      100,  739,  100,  739,  100,  739,  100,  739,  100,  739,
      739,  739,  100,  100,  100,  100,  100,  739,  100,  739,
      739,  100,  739,  739,  739,  100,  739,  100,  603,  100,
      100,  739,  100,  739,  100,  739,  739,  100,  571,  571,

      571,  571,  739,  739,  739,  739,  739,  739,  739,  739,
      100,  739,  572,  572,  572,  572,  572,  572,  572,  572,
      100,  100,  100,  612,  100,  739,  739,  100,  739,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  100,  100,
      100,  100,  739,  739,  100,  739,  100,  614,  100,  739,
      100,  739,  100,  739,  100,  613,  100,  100,  100,  100,
      100,  739,  739,  100,  615,  739,  739,  739,  739,  100,
      100,  100,  616,  100,  100,  100,  100,  618,  100,  100,
      739,  739,  739,  739,  739,  100,  619,  100,  100,  100,
      100,  100,  739,  739,  100,  100,  739,  739,  739,  100,

      739,  100,  739,  100,  739,  100,  739,  623,  739,  100,
      100,  100,  624,  100,  100,  100,  739,  739,  100,  739,
      739,  625,  739,  739,  100,  100,  100,  100,  100,  100,
      100,  100,  739,  100,  100,  739,  739,  739,  739,  739,
      100,  100,  641,  100,  100,  100,  100,  100,  642,  100,
      100,  739,  739,  739,  739,  739,  100,  100,  100,  100,
      100,  100,  100,  100,  739,  100,  100,  739,  739,  739,
      739,  739,  100,  100,  100,  100,  100,  100,  100,  643,
      739,  100,  100,  739,  100,  645,  739,  739,  100,  739,
      100,  739,  100,  739,  100,  100,  100,  100,  100,  739,

      739,  739,  739,  100,  739,  100,  100,  649,  739,  100,
      739,  739,  100,  739,  100,  739,  100,  739,  100,  650,
      100,  739,  100,  100,  100,  100,  100,  739,  739,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  739,  100,
      100,  100,  100,  100,  739,  739,  739,  739,  100,  739,
      100,  100,  100,  739,  100,  739,  739,  100,  666,  100,
      739,  100,  739,  100,  739,  100,  739,  100,  670,  671,
      100,  100,  100,  100,  739,  739,  100,  739,  739,  739,
      739,  739,  100,  100,  100,  100,  100,  100,  100,  100,
      739,  100,  100,  739,  739,  687,  739,  739,  100,  100,

      100,  100,  100,  100,  739,  739,  739,  100,  100,   54,
       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
       54,   54,   54,   59,   59,   59,   59,   59,   59,   59,
       59,   59,   59,   59,   59,   59,   59,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   67,   67,   67,   67,   67,   67,   67,   67,   67,
       67,   67,   67,   67,   67,   76,   76,   76,   76,   76,
       76,   76,   76,   76,   76,   76,   76,   76,   76,   78,
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
       78,   78,   78,   85,   85,   85,   85,  739,   85,   85,

       85,   85,   85,   85,   85,   85,   85,   92,   92,   92,
      739,  739,   92,  739,   92,  739,   92,  158,  158,  739,
      158,  158,  162,  162,  739,  739,  162,  162,  162,  739,
      162,  162,  162,  162,  162,  162,  166,  166,  166,  166,
      739,  166,  166,  166,  166,  166,  166,  166,  166,  166,
      168,  168,  168,  168,  168,  168,  168,  168,  168,  739,
      168,  168,  170,  739,  739,  739,  170,  170,  170,  170,
      170,  170,  170,  170,  171,  739,  739,  739,  171,  171,
      171,  171,  171,  171,  171,  171,  173,  739,  739,  739,
      173,  739,  173,  173,  173,  173,  173,  173,  178,  178,

      739,  178,  178,  180,  180,  739,  180,  180,  188,  739,
      188,  188,  106,  106,  739,  106,  106,  257,  739,  257,
      257,  265,  739,  265,  265,  266,  739,  266,  266,  269,
      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
      269,  269,  269,  189,  189,  739,  189,  189,  574,  574,
      739,  574,  574,  574,  574,  574,  574,  574,  574,  574,
      574,  574,  572,  572,  572,  739,  739,  739,  739,  572,
      739,  739,  739,  739,  572,   17,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,

      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739
    } ;

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

        6,    7,   10,    8,   12,    7,   10,    8,    6,  122,
       28,   11,   28,   93,   11,   89,    7,  313,    8,   40,
      184,   15,   15,   15,   15,   12,   93,   15,   12,   40,
      737,   40,  573,   40,   16,   16,   16,   16,   40,  181,
       16,   19,   19,   19,   19,  181,   89,  184,   19,   20,
       20,   20,   20,  122,  262,  262,   20,   24,   24,   24,
       24,  573,  736,  313,   24,   26,   11,  253,   11,   26,
      131,   24,   24,   26,   26,   26,   26,   26,   26,   26,
       12,  136,   12,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   15,  121,

       15,   79,   79,   79,   79,  337,   13,   13,   13,   13,
       13,   16,  215,   16,   43,   13,   30,   30,   30,   30,
       30,   30,   30,   30,   43,  131,   43,  216,   43,   34,
      253,  141,   34,   43,  136,   37,   34,   13,   13,   34,
       34,   34,   34,   34,  298,   37,   37,   37,   34,   37,
      337,  154,   34,  151,   37,  121,  237,   37,  297,   43,
      215,   13,   13,   13,   14,   14,   14,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   80,
       80,   80,   80,  141,   81,  216,  155,   14,   14,   14,
       14,   14,   35,  227,  272,  298,   14,  734,   35,  183,

       81,  183,   35,  154,   35,   35,   35,  151,  451,  183,
       36,   35,  237,   36,  231,   38,   38,  297,   14,   14,
       36,  272,   36,  734,   36,  599,   38,  451,   38,   36,
       38,   81,   38,  155,  336,   38,   41,   41,  733,   41,
      344,  227,   14,   14,   14,   23,  155,   41,   41,   41,
      344,   41,  172,  172,   41,  599,   41,   84,   84,   84,
       84,   23,  231,  172,  255,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,  336,   23,   23,   23,   23,   23,   23,   23,   23,

       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   33,  255,  732,   33,   33,
       33,   33,   33,   33,   33,   33,  174,  174,  174,  174,
      309,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  249,  318,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   39,  254,  350,  335,  731,   42,   42,  271,  309,
      271,   39,  388,   39,   42,   39,  370,   42,  271,   42,

       39,   42,  583,   44,   44,  249,   42,   44,  329,  371,
      369,  406,   39,   44,  391,   44,  388,   44,  730,  318,
      583,  729,   44,   39,   45,   45,   46,   45,  382,   46,
      254,   44,  335,  386,  402,   45,   46,   45,   46,   45,
       46,   45,  350,   47,   45,   46,   47,  397,  370,  405,
       47,   48,  396,   47,  369,   47,  398,   47,  391,   48,
       48,   47,   47,   49,  415,  406,   47,   45,  371,  329,
       48,  397,   48,   49,   48,   49,   48,   49,   50,   48,
      382,   49,   49,   48,  435,  448,   51,  728,   50,  402,
       50,   48,   50,   51,  386,  434,   51,   50,   51,  466,

       51,  689,   49,  456,  398,   51,   53,   53,   53,   53,
      405,  396,  410,   50,  727,  726,  415,  410,  404,  725,
       53,   53,   53,   53,   53,   53,   53,   53,   76,  724,
      435,  448,  436,   76,   76,   76,   76,   76,   76,   76,
       76,   76,   76,   91,   91,   91,   91,  466,  456,  434,
       91,   76,   76,   76,   76,   76,  689,   91,   91,   94,
       94,   94,   94,   94,   94,   94,   94,   97,   97,   97,
       97,   97,   97,   97,   97,  100,  101,  404,  407,  407,
      407,  407,   76,   76,  436,  100,  101,  100,  101,  100,
      101,  102,  104,  101,  100,  101,  461,  477,  722,  447,

      463,  102,  104,  102,  104,  102,  104,   76,   77,  495,
      102,  104,  467,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,  447,  468,  508,  105,  103,  515,  720,
      719,   77,   77,   77,   77,   77,  105,  103,  105,  103,
      105,  103,  107,  495,  105,  105,  103,  107,  461,   77,
      103,  718,  107,  477,  107,  108,  107,  407,  109,  508,
      496,  107,   77,   77,  463,  108,  110,  108,  109,  108,
      109,  467,  109,  108,  108,  544,  110,  109,  110,  110,
      110,  494,  515,  523,  468,  110,  469,   77,   99,   99,
       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,

       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
      111,  470,  112,  112,  525,  494,  496,  510,  647,  518,
      111,  520,  111,  112,  111,  112,  112,  112,  114,  111,
      113,  113,  112,  494,  469,  523,  544,  554,  114,  114,
      114,  113,  114,  113,  115,  113,  524,  114,  115,  532,
      113,  546,  116,  647,  115,  520,  115,  560,  115,  470,
      526,  547,  116,  115,  116,  510,  116,  117,  117,  117,
      119,  116,  545,  118,  118,  518,  558,  117,  525,  117,
      119,  117,  119,  118,  119,  118,  117,  118,  120,  119,
      524,  118,  118,  123,  526,  556,  554,  528,  120,  532,

      120,  120,  120,  123,  528,  560,  124,  120,  563,  124,
      567,  547,  546,  123,  125,  123,  124,  123,  124,  716,
      124,  568,  123,  735,  125,  124,  125,  565,  125,  126,
      126,  570,  714,  125,  593,  587,  558,  545,  569,  126,
      127,  126,  586,  126,  596,  588,  126,  126,  126,  735,
      127,  128,  127,  127,  127,  595,  556,  129,  563,  127,
      604,  128,  651,  128,  606,  128,  567,  129,  130,  129,
      128,  129,  569,  128,  626,  568,  129,  620,  130,  598,
      130,  132,  130,  587,  133,  713,  593,  130,  565,  132,
      596,  132,  570,  132,  133,  132,  133,  134,  133,  602,

      132,  586,  133,  133,  588,  135,  607,  134,  137,  134,
      604,  134,  651,  598,  595,  135,  134,  135,  137,  135,
      137,  138,  137,  135,  135,  606,  137,  137,  605,  620,
      626,  138,  139,  138,  706,  138,  572,  572,  572,  572,
      138,  138,  139,  631,  139,  140,  139,  622,  140,  636,
      712,  139,  140,  711,  621,  140,  628,  140,  602,  140,
      142,  142,  605,  646,  140,  607,  710,  143,  629,  634,
      708,  142,  703,  142,  648,  142,  638,  143,  144,  143,
      142,  143,  143,  702,  145,  143,  143,  637,  144,  653,
      144,  706,  144,  147,  145,  146,  145,  144,  145,  622,

      145,  621,  144,  145,  631,  146,  147,  146,  628,  146,
      636,  667,  148,  701,  146,  572,  147,  148,  147,  646,
      147,  634,  148,  149,  148,  147,  148,  629,  638,  150,
      648,  148,  700,  149,  697,  149,  654,  149,  696,  150,
      152,  150,  149,  150,  659,  653,  637,  152,  150,  661,
      152,  692,  152,  156,  152,  662,  153,  153,  691,  152,
      153,  667,  669,  156,  693,  156,  153,  156,  153,  656,
      153,  156,  156,  660,  682,  153,  159,  159,  159,  159,
      185,  185,  185,  185,  185,  185,  185,  185,  654,  668,
      159,  159,  159,  159,  159,  159,  159,  159,  160,  675,

      659,  661,  160,  160,  160,  160,  160,  160,  160,  160,
      161,  662,  669,  674,  161,  161,  161,  161,  161,  161,
      161,  161,  188,  190,  191,  693,  190,  690,  656,  688,
      682,  715,  660,  190,  191,  190,  191,  190,  191,  192,
      193,  668,  190,  191,  608,  608,  608,  608,  695,  192,
      193,  192,  193,  192,  193,  680,  686,  675,  192,  193,
      685,  698,  677,  674,  681,  684,  188,  188,  188,  188,
      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
      188,  188,  188,  188,  188,  188,  188,  188,  194,  704,
      715,  683,  679,  676,  673,  699,  196,  672,  194,  197,

      194,  194,  194,  196,  695,  680,  196,  194,  196,  197,
      196,  197,  198,  197,  677,  196,  681,  698,  197,  665,
      199,  664,  198,  608,  198,  707,  198,  663,  200,  198,
      199,  198,  199,  709,  199,  658,  201,  704,  200,  199,
      200,  683,  200,  201,  200,  699,  201,  200,  201,  202,
      201,  657,  655,  652,  644,  201,  640,  203,  639,  202,
      204,  202,  635,  202,  633,  632,  202,  203,  202,  203,
      204,  203,  204,  630,  204,  707,  203,  204,  204,  204,
      205,  205,  206,  709,  627,  206,  617,  611,  205,  610,
      601,  205,  206,  205,  206,  205,  206,  207,  600,  597,

      205,  206,  594,  208,  589,  577,  574,  207,  564,  207,
      207,  207,  559,  208,  209,  208,  207,  208,  555,  522,
      210,  519,  208,  210,  209,  209,  209,  512,  209,  507,
      210,  211,  210,  209,  210,  474,  473,  212,  462,  210,
      212,  211,  453,  211,  211,  211,  411,  212,  213,  212,
      211,  212,  345,  343,  273,  266,  212,  265,  213,  214,
      213,  264,  213,  263,  260,  213,  257,  213,  195,  214,
      214,  214,  217,  214,  189,  182,  180,  178,  214,  176,
      218,  171,  217,  219,  217,  169,  217,  164,  158,  217,
      218,  217,  218,  219,  218,  219,  219,  219,  220,  218,

      106,  221,  219,   98,  222,   95,   92,  222,  220,   90,
      220,  221,  220,  221,  222,  221,  222,  220,  222,  221,
      221,  223,  224,  222,   88,   87,   86,   83,   69,   66,
      223,   62,  224,  225,  224,   61,  224,   58,   57,   52,
      223,  224,  223,  225,  223,  225,  226,  225,   31,  223,
       27,   22,  225,   21,  228,   18,  226,  228,  226,   17,
      226,    0,    0,    0,  228,  226,  228,  229,  228,    0,
      229,    0,    0,  228,    0,  230,    0,  229,  232,  229,
        0,  229,  230,    0,    0,  230,  229,  230,  232,  230,
      232,  233,  232,    0,  230,    0,  232,  232,    0,  234,

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

        0,  245,    0,  245,    0,    0,  245,  246,  245,  246,
      247,  246,    0,  247,  246,    0,  246,    0,  248,    0,
      247,  248,  247,    0,  247,    0,  250,    0,  248,  247,
      248,    0,  248,    0,    0,  252,  250,  248,  250,  250,
      250,  250,  251,  252,    0,  250,  250,    0,    0,    0,
        0,    0,  251,  252,  251,  252,  251,  252,  256,    0,
      251,  251,  252,    0,  256,    0,    0,    0,  256,    0,
      256,    0,  256,  258,  258,  258,  258,  256,    0,    0,
        0,  259,  259,  259,  259,    0,    0,  258,  258,  258,
      258,  258,  258,  258,  258,  259,  259,  259,  259,  259,

      259,  259,  259,  274,  275,    0,    0,    0,    0,    0,
        0,  275,    0,  274,  275,  274,  275,  274,  275,  276,
        0,    0,  274,  275,    0,  277,    0,    0,    0,  276,
      276,  276,    0,  276,    0,  277,  278,  277,  276,  277,
        0,    0,  279,    0,  277,  279,  278,    0,  278,    0,
      278,    0,  279,    0,  279,  278,  279,  280,  280,  281,
      281,  279,    0,    0,    0,    0,    0,    0,  280,  281,
      280,  281,  280,  281,  282,    0,    0,  280,  281,    0,
      278,    0,  283,    0,  282,    0,  282,    0,  282,    0,
      284,  282,  283,  282,  283,  283,  283,    0,    0,    0,

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

      296,    0,    0,    0,  295,    0,  295,    0,  295,    0,
      296,  299,  296,  295,  296,    0,    0,  300,    0,  296,
        0,  299,    0,  299,    0,  299,    0,  300,    0,  300,
      299,  300,  301,  302,    0,  300,  300,    0,    0,  301,
        0,    0,  301,  302,  301,  302,  301,  302,  303,  302,
        0,  301,  302,  304,  304,  299,    0,    0,  303,    0,
      303,  306,  303,    0,  304,    0,  304,  303,  304,  305,
      304,    0,  306,  304,  305,    0,    0,    0,    0,  305,
      307,  305,  306,  305,  306,  305,  306,    0,  305,    0,
      307,  306,  307,  308,  307,    0,    0,  307,    0,  307,

        0,  310,  310,  308,  311,  308,    0,  308,    0,    0,
        0,  310,  308,  310,  311,  310,  311,  312,  311,    0,
      310,  315,  311,  311,    0,  314,    0,  312,  314,  312,
      312,  312,    0,    0,    0,  314,  312,  314,  315,  314,
        0,    0,    0,    0,  314,    0,  316,    0,  315,  316,
      315,    0,  315,  317,  317,    0,  316,  315,  316,    0,
      316,    0,  319,    0,  317,  316,  317,    0,  317,    0,
      320,    0,  319,  317,  319,    0,  319,    0,    0,    0,
      320,  319,  320,  321,  320,    0,  321,    0,  320,  320,
        0,  322,    0,  321,  323,  321,    0,  321,    0,    0,

        0,  322,  321,  322,  323,  322,  323,    0,  323,  325,
      322,  324,  324,  323,    0,  326,  328,    0,    0,  325,
        0,  325,  324,  325,  324,  326,  324,  326,  325,  326,
      327,  324,    0,  328,  326,    0,  330,    0,    0,    0,
      327,    0,  327,  328,  327,  328,  330,  328,  330,  327,
      330,  331,  328,  325,  332,  330,    0,  332,    0,    0,
        0,  331,  333,  331,  332,  331,  332,    0,  332,    0,
      331,    0,  333,  332,  333,  334,  333,    0,    0,    0,
        0,  333,    0,    0,    0,  334,  338,  334,    0,  334,
        0,    0,  334,    0,  334,    0,  338,  333,  338,    0,

      338,  339,  339,  339,  339,  338,    0,    0,    0,    0,
        0,    0,    0,    0,    0,  339,  339,  339,  339,  339,
      339,  339,  339,  340,  340,  340,  340,    0,    0,    0,
        0,    0,    0,  340,    0,    0,    0,  340,  340,  340,
      340,  340,  340,  340,  340,  341,  341,  341,  341,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,  341,
      341,  341,  341,  341,  341,  341,  341,  342,    0,  346,
        0,  342,  342,  342,  342,  342,  342,  342,  342,  346,
        0,  346,    0,  346,  347,  347,    0,  346,  346,    0,
        0,    0,    0,    0,  347,    0,  347,  349,  347,  348,

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

        0,  361,    0,  359,  361,  360,    0,  360,  361,  360,
        0,  361,  362,  361,  360,  361,    0,    0,    0,    0,
      361,    0,  362,  363,  362,    0,  362,    0,  362,    0,
        0,  362,    0,  363,    0,  363,    0,  363,  364,  364,
        0,  363,  363,    0,  365,    0,    0,    0,  364,    0,
      364,    0,  364,    0,  365,  366,  365,  364,  365,    0,
        0,  367,  365,  365,    0,  366,    0,  366,    0,  366,
        0,  367,  366,  367,  366,  367,  368,  372,    0,    0,
      367,    0,    0,    0,  372,    0,  368,  372,  368,  372,
      368,  372,    0,    0,  374,  368,  372,  373,  373,    0,

      373,    0,    0,    0,  374,    0,  374,  373,  374,  373,
        0,  373,  374,  374,  376,  375,  373,  375,    0,    0,
        0,    0,    0,    0,  376,  375,  376,  375,  376,  375,
      377,    0,    0,  376,  375,    0,  378,    0,    0,  378,
      377,    0,  377,    0,  377,    0,  378,  379,  378,  377,
      378,  380,    0,    0,  381,  378,    0,  379,    0,  379,
      380,  379,    0,    0,  379,    0,  379,    0,  383,    0,
      380,  381,  380,    0,  380,    0,    0,    0,  383,  380,
      383,  381,  383,  381,  384,  381,  383,  383,    0,    0,
      381,    0,  385,    0,  384,    0,  384,    0,  384,    0,

      387,    0,  385,  384,  385,    0,  385,    0,  389,    0,
      387,  385,  387,    0,  387,    0,  387,    0,  389,  387,
      389,  390,  389,    0,    0,    0,    0,  389,    0,    0,
        0,  390,    0,  390,  392,  390,    0,  393,    0,  390,
      390,  392,    0,    0,  392,  394,  392,  393,  392,  393,
      394,  393,    0,  392,    0,  394,  393,  394,  395,  394,
        0,    0,    0,    0,  394,    0,    0,    0,  395,  399,
      395,    0,  395,    0,    0,  400,    0,  395,  400,  399,
      395,  399,    0,  399,    0,  400,  401,  400,  399,  400,
        0,    0,    0,    0,  400,    0,  401,  403,  401,    0,

      401,    0,  401,    0,    0,  401,    0,  403,    0,  403,
        0,  403,  408,  408,  408,  408,  403,    0,    0,    0,
        0,    0,    0,    0,  412,    0,  408,  408,  408,  408,
      408,  408,  408,  408,  412,    0,  412,  414,  412,  413,
      413,  403,    0,  412,    0,    0,    0,  414,  416,  414,
      413,  414,  413,    0,  413,  414,  414,    0,  416,  413,
      416,  417,  416,    0,  418,    0,    0,  416,    0,    0,
        0,  417,    0,  417,  418,  417,  418,    0,  418,  417,
      417,  419,    0,  418,  419,    0,  420,  420,    0,    0,
        0,  419,    0,  419,    0,  419,    0,  420,  421,  420,

      419,  420,    0,    0,  422,    0,  420,    0,  421,    0,
      421,    0,  421,    0,  422,    0,  422,  421,  422,  423,
        0,  423,  422,  422,    0,  424,    0,    0,    0,  423,
        0,  423,    0,  423,    0,  424,    0,  424,  423,  424,
        0,    0,  425,  424,  424,  425,    0,    0,  426,    0,
      426,    0,  425,    0,  425,    0,  425,    0,  426,  427,
      426,  425,  426,    0,  428,  428,    0,  426,    0,  427,
        0,  427,    0,  427,    0,  428,  429,  428,  427,  428,
        0,    0,  430,    0,  428,    0,  429,    0,  429,  430,
      429,    0,  430,  431,  430,  429,  430,    0,    0,  432,

        0,  430,    0,  431,    0,  431,  432,  431,    0,  432,
      431,  432,  431,  432,  433,  433,  437,    0,  432,    0,
      437,    0,    0,    0,    0,  433,  437,  433,  437,  433,
      437,  438,    0,    0,  433,  437,    0,  439,  438,  439,
        0,  438,    0,  438,    0,  438,    0,  439,  440,  439,
      438,  439,    0,    0,  441,    0,  439,  441,  440,    0,
      440,    0,  440,    0,  441,  440,  441,  440,  441,  442,
      442,    0,    0,  441,    0,  443,  443,    0,    0,  442,
        0,  442,    0,  442,    0,  443,  444,  443,  442,  443,
        0,    0,    0,    0,  443,    0,  444,    0,  444,    0,

      444,  445,  444,    0,  445,  444,    0,  446,    0,    0,
        0,  445,    0,  445,    0,  445,    0,  446,  449,  446,
      445,  446,    0,    0,  446,    0,  446,    0,  449,    0,
      449,  452,  449,  450,  450,    0,    0,  449,    0,    0,
        0,  452,  454,  452,  450,  452,  450,    0,  450,    0,
      452,    0,  454,  450,  454,  455,  454,    0,  455,    0,
      454,  454,    0,  457,    0,  455,    0,  455,    0,  455,
        0,    0,    0,  457,  455,  457,    0,  457,  458,  458,
        0,  459,  457,  457,  460,    0,    0,    0,  458,    0,
      458,  459,  458,  459,  460,  459,  460,  458,  460,  464,

      459,    0,  465,  460,    0,    0,    0,    0,    0,  464,
        0,  464,  465,  464,  465,    0,  465,    0,  464,  465,
        0,  465,  471,  471,  471,  471,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,  471,  471,  471,  471,
      471,  471,  471,  471,  472,    0,  475,    0,  472,  472,
      472,  472,  472,  472,  472,  472,  475,    0,  475,  476,
      475,    0,  478,    0,  475,  475,  476,    0,    0,  476,
        0,  476,  478,  476,  478,    0,  478,  479,  476,    0,
      479,  478,    0,  480,    0,    0,    0,  479,    0,  479,
        0,  479,    0,  480,  481,  480,  479,  480,    0,    0,

      482,  481,  480,    0,  481,    0,  481,  482,  481,    0,
      482,  483,  482,  481,  482,    0,    0,  484,    0,  482,
        0,  483,    0,  483,    0,  483,    0,  484,  485,  484,
      483,  484,    0,    0,    0,  485,  484,    0,  485,  486,
      485,  486,  485,    0,    0,  487,    0,  485,    0,  486,
        0,  486,    0,  486,    0,  487,  488,  487,  486,  487,
        0,  488,  489,    0,  487,    0,  488,    0,  488,    0,
      488,    0,  489,  490,  489,  488,  489,    0,    0,    0,
      489,  489,    0,  490,  491,  490,    0,  490,    0,    0,
      492,  490,  490,    0,  491,    0,  491,    0,  491,    0,

      492,  493,  492,  491,  492,    0,    0,  497,    0,  492,
        0,  493,    0,  493,  497,  493,    0,  497,  498,  497,
      493,  497,    0,    0,    0,    0,  497,    0,  498,  499,
      498,    0,  498,    0,    0,  500,  498,  498,    0,  499,
        0,  499,    0,  499,    0,  500,  501,  500,  499,  500,
        0,    0,  502,    0,  500,  502,  501,    0,  501,    0,
      501,    0,  502,  501,  502,  501,  502,  503,  504,    0,
        0,  502,    0,    0,    0,    0,    0,  503,  504,  503,
      504,  503,  504,  505,  505,  503,  503,  504,    0,  506,
        0,    0,    0,  505,    0,  505,    0,  505,    0,  506,

      509,  506,  505,  506,    0,    0,  511,    0,  506,    0,
      509,    0,  509,    0,  509,    0,  511,  513,  511,  509,
      511,    0,    0,    0,    0,  511,    0,  513,  514,  513,
        0,  513,    0,  506,  516,    0,  513,  516,  514,    0,
      514,    0,  514,    0,  516,    0,  516,  514,  516,  517,
        0,    0,  517,  516,  521,  521,    0,    0,    0,  517,
        0,  517,    0,  517,    0,  521,    0,  521,  517,  521,
      527,  527,  527,  527,  521,    0,    0,    0,    0,    0,
        0,    0,    0,    0,  527,  527,  527,  527,  527,  527,
      527,  527,  530,  531,  531,    0,    0,    0,    0,  530,

        0,    0,  530,  531,  530,  531,  530,  531,  533,    0,
        0,  530,  531,    0,    0,    0,  534,    0,  533,  535,
      533,    0,  533,    0,  533,    0,  534,  533,  534,  535,
      534,  535,  536,  535,  534,  534,    0,    0,  535,  539,
      537,    0,  536,    0,  536,    0,  536,    0,  538,    0,
      537,  536,  537,  537,  537,    0,  539,    0,  538,  537,
      538,    0,  538,    0,    0,    0,  539,  538,  539,  540,
      539,    0,  540,    0,    0,  539,    0,  541,    0,  540,
        0,  540,    0,  540,    0,  542,    0,  541,  540,  541,
        0,  541,  542,  543,    0,  542,  541,  542,    0,  542,

        0,    0,    0,  543,  542,  543,  548,  543,    0,  548,
        0,    0,  543,    0,  549,    0,  548,  550,  548,    0,
      548,    0,    0,    0,  549,  548,  549,  550,  549,  550,
      551,  550,    0,  549,    0,    0,  550,    0,  552,    0,
      551,  553,  551,    0,  551,  552,    0,    0,  552,  551,
      552,  553,  552,  553,  557,  553,    0,  552,  561,  553,
      553,    0,  562,    0,  557,    0,  557,    0,  557,    0,
        0,    0,  562,  557,  562,  561,  562,    0,  566,    0,
        0,  562,    0,    0,    0,  561,    0,  561,  566,  561,
      566,    0,  566,    0,  561,    0,    0,  566,  571,  571,

      571,  571,    0,    0,    0,    0,    0,    0,    0,    0,
      575,    0,  571,  571,  571,  571,  571,  571,  571,  571,
      575,  576,  575,  575,  575,    0,    0,  578,    0,  575,
        0,  576,    0,  576,    0,  576,    0,  578,  579,  578,
      576,  578,    0,    0,  580,    0,  578,  580,  579,    0,
      579,    0,  579,    0,  580,  579,  580,  579,  580,  581,
      582,    0,    0,  580,  581,    0,    0,    0,    0,  581,
      582,  581,  582,  581,  582,  584,  585,  584,  581,  582,
        0,    0,    0,    0,    0,  584,  585,  584,  585,  584,
      585,  590,    0,    0,  584,  585,    0,    0,    0,  591,

        0,  590,    0,  590,    0,  590,    0,  590,    0,  591,
      590,  591,  591,  591,  592,  603,    0,    0,  591,    0,
        0,  592,    0,    0,  592,  603,  592,  603,  592,  603,
      612,  613,    0,  592,  603,    0,    0,    0,    0,    0,
      612,  613,  612,  613,  612,  613,  614,  615,  614,  612,
      613,    0,    0,    0,    0,    0,  614,  615,  614,  615,
      614,  615,  616,  618,    0,  614,  615,    0,    0,    0,
        0,    0,  616,  618,  616,  618,  616,  618,  619,  616,
        0,  616,  618,    0,  623,  619,    0,    0,  619,    0,
      619,    0,  619,    0,  623,  624,  623,  619,  623,    0,

        0,    0,    0,  623,    0,  624,  625,  624,    0,  624,
        0,    0,  641,    0,  624,    0,  625,    0,  625,  625,
      625,    0,  641,  642,  641,  625,  641,    0,    0,  643,
        0,  641,    0,  642,    0,  642,    0,  642,    0,  643,
      645,  643,  642,  643,    0,    0,    0,    0,  643,    0,
      645,  649,  645,    0,  645,    0,    0,  650,  645,  645,
        0,  649,    0,  649,    0,  649,    0,  650,  649,  650,
      649,  650,  666,  670,    0,    0,  650,    0,    0,    0,
        0,    0,  666,  670,  666,  670,  666,  670,  671,  687,
        0,  666,  670,    0,    0,  666,    0,    0,  671,  687,

      671,  687,  671,  687,    0,    0,    0,  671,  687,  740,
      740,  740,  740,  740,  740,  740,  740,  740,  740,  740,
      740,  740,  740,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  742,  742,  742,
      742,  742,  742,  742,  742,  742,  742,  742,  742,  742,
      742,  743,  743,  743,  743,  743,  743,  743,  743,  743,
      743,  743,  743,  743,  743,  744,  744,  744,  744,  744,
      744,  744,  744,  744,  744,  744,  744,  744,  744,  745,
      745,  745,  745,  745,  745,  745,  745,  745,  745,  745,
      745,  745,  745,  746,  746,  746,  746,    0,  746,  746,

      746,  746,  746,  746,  746,  746,  746,  747,  747,  747,
        0,    0,  747,    0,  747,    0,  747,  748,  748,    0,
      748,  748,  749,  749,    0,    0,  749,  749,  749,    0,
      749,  749,  749,  749,  749,  749,  750,  750,  750,  750,
        0,  750,  750,  750,  750,  750,  750,  750,  750,  750,
      751,  751,  751,  751,  751,  751,  751,  751,  751,    0,
      751,  751,  752,    0,    0,    0,  752,  752,  752,  752,
      752,  752,  752,  752,  753,    0,    0,    0,  753,  753,
      753,  753,  753,  753,  753,  753,  754,    0,    0,    0,
      754,    0,  754,  754,  754,  754,  754,  754,  755,  755,

        0,  755,  755,  756,  756,    0,  756,  756,  757,    0,
      757,  757,  758,  758,    0,  758,  758,  759,    0,  759,
      759,  760,    0,  760,  760,  761,    0,  761,  761,  762,
      762,  762,  762,  762,  762,  762,  762,  762,  762,  762,
      762,  762,  762,  763,  763,    0,  763,  763,  764,  764,
        0,  764,  764,  764,  764,  764,  764,  764,  764,  764,
      764,  764,  765,  765,  765,    0,    0,    0,    0,  765,
        0,    0,    0,    0,  765,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,

      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  739,  739,  739,  739
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

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

      331,  332,  333,  334,  335,  336,  337,  338,  339,  340,
      341,  346,  347,  352,  353,  354,  357,  362,  368,  376,
      386,  391,  393,  394,  398,  404,  410,  418,  421,  446,
      490,  492,  503
    } ;

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

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

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

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

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

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

int asn1p_as_pointer;

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

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

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

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

#define idash_comment 2

#define cpp_comment 3

#define quoted 4

#define opaque 5

#define encoding_control 6

#define with_syntax 7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define YY_RULE_SETUP \
	YY_USER_ACTION

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

#line 92 "asn1p_l.l"


#line 2034 "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 >= 740 )
					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] != 4376 );

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

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

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

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

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

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

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

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

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

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

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

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

			return TOK_cstring;
		}
	YY_BREAK


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

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

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

	YY_BREAK

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

case 125:
YY_RULE_SETUP
#line 398 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 404 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 127:
YY_RULE_SETUP
#line 410 "asn1p_l.l"
{
				yy_pop_state();
				return '}';
			}
	YY_BREAK

case 128:
YY_RULE_SETUP
#line 418 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 421 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = asn1p_atoi(p); break; }
		if(v1 < 0 || v1 > 7) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..7 range for Tuple's TableColumn\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 15) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..15 range for Tuple's TableRow\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 4) + v2;
		return TOK_tuple;
	}
	YY_BREAK
case 130:
YY_RULE_SETUP
#line 446 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v3 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v4 = asn1p_atoi(p); break; }
		if(v1 < 0 || v1 > 127) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..127 range for Quadruple's Group\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Plane\n",
				yytext, yylineno);
			return -1;
		}
		if(v3 < 0 || v3 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Row\n",
				yytext, yylineno);
			return -1;
		}
		if(v4 < 0 || v4 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Cell\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
		return TOK_quadruple;
	}
	YY_BREAK
case 131:
YY_RULE_SETUP
#line 490 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 492 "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 133:
YY_RULE_SETUP
#line 503 "asn1p_l.l"
{
		fprintf(stderr,
			"Unexpected token at line %d: \"%s\"\n",
			yylineno, yytext);
		while(YYSTATE != INITIAL)
			yy_pop_state();
		if(0) {
			yy_top_state();	/* Just to use this function. */
			yy_fatal_error("Parse error");
		}
		return -1;
}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(dash_comment):
case YY_STATE_EOF(idash_comment):
case YY_STATE_EOF(cpp_comment):
case YY_STATE_EOF(quoted):
case YY_STATE_EOF(opaque):
case YY_STATE_EOF(encoding_control):
case YY_STATE_EOF(with_syntax):
#line 516 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 134:
YY_RULE_SETUP
#line 523 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3071 "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 >= 740 )
				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 >= 740 )
			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 == 739);
	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 523 "asn1p_l.l"


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

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

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

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

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

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

	return value;
}

