#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$
 * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.8 2004/01/06 19:03:44 nectar Exp $
 */

#if defined(__FreeBSD__)
#include <sys/cdefs.h>
#else
#define __unused
#endif

#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 )) __unused;
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 138
#define YY_END_OF_BUFFER 139
static yyconst short int yy_acclist[1264] =
    {   0,
      139,  137,  138,  132,  137,  138,  132,  138,  135,  137,
      138,   19,  137,  138,  135,  137,  138,  137,  138,  135,
      137,  138,  137,  138,  137,  138,  135,  137,  138,  137,
      138,   33,  137,  138,   32,  137,  138,  135,  137,  138,
      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
      120,  121,  137,  138,  120,  121,  137,  138,  120,  121,
      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
      120,  121,  137,  138,  120,  121,  137,  138,  120,  121,
      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
      120,  121,  137,  138,  120,  121,  137,  138,  120,  121,

      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
      120,  121,  137,  138,  120,  121,  137,  138,  119,  137,
      138,  135,  137,  138,    9,  137,  138,    6,  138,    6,
      137,  138,    8,  137,  138,    8,  137,  138,   11,   13,
      137,  138,   11,  138,   13,  137,  138,   13,  137,  138,
       13,  137,  138,   21,  137,  138,   21,  138,   22,  137,
      138,   16,  137,  138,   16,  138,   18,  137,  138,   18,
      137,  138,   14,  137,  138,   15,  137,  138,   25,   27,
      137,  138,   27,  137,  138,   28,  138,   25,   26,   27,
      137,  138,   25,   26,   27,  137,  138,  130,  137,  138,

      130,  138,  137,  138,  126,  137,  138,  137,  138,  137,
      138,  125,  137,  138,  128,  137,  138,  129,  137,  138,
      127,  137,  138,  131,  137,  138,  132,   19,   19,  117,
      118,    5,   31,  124,   10,   34,   32,   34,  120,  121,
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      121,  120,  121,  120,  121,  120,  121,  120,  121,   44,
      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,   89,  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,  121,  120,  121,  120,  121,  121,
      121,  120,  121,  119,    9,    7,    7,   12,   21,   20,
       16,   25,   25,   26,   25,   26,  130,    5,  125,  136,
      117,  118,   31,   34,  123,   34,  122,  120,  121,  121,
      120,  121,   36,  120,  121,   37,  120,  121,  120,  121,
      120,  121,  120,  121,   41,  120,  121,  120,  121,  120,
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,

      121,  120,  121,  120,  121,  120,  121,   58,  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,   81,  120,
      121,   82,  120,  121,  120,  121,  121,  120,  121,  120,
      121,  120,  121,  121,  120,  121,   92,  120,  121,  120,
      121,  120,  121,  120,  121,  121,  120,  121,  120,  121,
      120,  121,  100,  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,  125,  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,   66,  120,
      121,  121,  121,  120,  121,  120,  121,  120,  121,  120,
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
      121,   84,  120,  121,  121,  120,  121,  120,  121,  120,
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,

      121,   97,  120,  121,  120,  121,  120,  121,  101,  120,
      121,  120,  121,  120,  121,  120,  121,  105,  120,  121,
      107,  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,   40,
      120,  121,  121,  120,  121,  120,  121,  120,  121,   47,
      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,  121,  120,  121,  120,  121,  120,  121,

      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      120,  121,  120,  121,  121,  120,  121,   88,  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,  133,   25,   26,   35,  120,  121,  120,
      121,  120,  121,  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,   60,  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,   86,  120,  121,  120,
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
      121,  120,  121,  120,  121,  102,  120,  121,  103,  120,
      121,  121,  121,  109,  120,  121,  120,  121,  121,  121,
      121,  121,  121,   25,   26,  120,  121,  120,  121,  121,
       43,  120,  121,  120,  121,  120,  121,  120,  121,  120,
      121,   52,  120,  121,   53,  120,  121,  120,  121,  120,
      121,   56,  120,  121,  120,  121,  120,  121,  120,  121,

       62,  120,  121,  120,  121,  120,  121,  121,  121,  121,
      120,  121,  120,  121,   73,  120,  121,   74,  120,  121,
      120,  121,  120,  121,  120,  121,   78,  120,  121,  120,
      121,  120,  121,  120,  121,  121,  120,  121,  121,   91,
      120,  121,  120,  121,   94,  120,  121,   96,  120,  121,
      121,  120,  121,  120,  121,  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,   55,  120,  121,  120,  121,  120,  121,   61,
      120,  121,  120,  121,   64,  120,  121,  121,  121,  121,

      121,  120,  121,   72,  120,  121,   75,  120,  121,   76,
      120,  121,  120,  121,  120,  121,  121,  120,  121,  121,
       90,  120,  121,  121,  120,  121,  121,  120,  121,   99,
      120,  121,  121,  121,  120,  121,  121,  121,  121,  121,
       25,   26,  120,  121,   39,  120,  121,   42,  121,   45,
      120,  121,   48,  120,  121,  120,  121,  120,  121,  120,
      121,  120,  121,  120,  121,  121,  121,  121,   70,  121,
      120,  121,  120,  121,  120,  121,  121,  120,  121,  121,
      121,  120,  121,  121,  104,  121,  121,  110,  120,  121,
      121,  121,  121,  121,  134,   25,  120,  121,   49,  120,

      121,  120,  121,   51,  120,  121,  120,  121,  120,  121,
       59,  120,  121,  120,  121,  121,  121,  121,   71,  120,
      121,  120,  121,  120,  121,  121,  120,  121,  121,  121,
      120,  121,  121,  120,  121,  121,  113,  121,  121,  121,
      121,   25,   38,  120,  121,   50,  120,  121,   54,  120,
      121,  120,  121,  120,  121,  121,  121,  121,  120,  121,
      120,  121,  121,  120,  121,  121,  121,  120,  121,  121,
      120,  121,  121,  121,  121,  121,   25,  120,  121,  120,
      121,  121,  121,  121,   77,  120,  121,   79,  120,  121,
       80,  121,  120,  121,  121,  121,  120,  121,  121,   98,

      120,  121,  121,  121,  121,  121,   25,  120,  121,   63,
      120,  121,   68,  121,  121,   69,  121,  120,  121,   85,
      121,  121,   93,  120,  121,  121,  106,  121,  121,  121,
      115,  121,   25,  120,  121,  121,   83,  120,  121,  121,
      121,  121,  114,  121,   25,  120,  121,   67,  121,  121,
       95,  121,  111,  121,   25,   57,  120,  121,   87,  121,
       23,   25,    4
    } ;

static yyconst short int yy_accept[743] =
    {   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,   27,   30,   32,
       35,   38,   41,   43,   47,   51,   55,   59,   63,   67,
       71,   75,   79,   83,   87,   91,   95,   99,  103,  107,
      111,  115,  119,  122,  125,  128,  130,  133,  136,  139,
      143,  145,  148,  151,  154,  157,  159,  162,  165,  167,
      170,  173,  176,  179,  183,  186,  188,  193,  198,  201,
      203,  205,  208,  210,  212,  215,  218,  221,  224,  227,
      227,  228,  229,  230,  230,  231,  231,  232,  232,  232,

      232,  233,  234,  235,  236,  236,  237,  237,  239,  239,
      239,  241,  243,  245,  247,  249,  251,  252,  254,  256,
      258,  260,  263,  265,  267,  269,  271,  273,  275,  277,
      279,  281,  282,  283,  285,  287,  289,  291,  293,  295,
      297,  299,  300,  302,  304,  307,  309,  310,  312,  314,
      316,  318,  319,  321,  323,  325,  327,  329,  331,  333,
      335,  336,  338,  340,  341,  342,  344,  344,  345,  345,
      345,  345,  346,  347,  348,  349,  350,  351,  352,  352,
      353,  355,  357,  358,  359,  359,  360,  361,  361,  361,
      362,  362,  363,  363,  363,  363,  363,  365,  366,  367,

      367,  368,  370,  371,  373,  376,  379,  381,  383,  383,
      385,  388,  390,  392,  394,  396,  398,  400,  402,  404,
      406,  408,  411,  413,  415,  417,  419,  421,  423,  424,
      425,  427,  429,  431,  433,  435,  437,  439,  442,  445,
      447,  448,  450,  452,  454,  455,  457,  460,  462,  464,
      466,  467,  469,  471,  473,  476,  478,  480,  482,  484,
      486,  488,  489,  491,  493,  495,  496,  497,  498,  500,
      501,  501,  501,  502,  503,  505,  508,  509,  509,  510,
      511,  512,  513,  514,  515,  515,  515,  515,  517,  519,
      521,  523,  525,  527,  529,  531,  533,  535,  537,  539,

      541,  543,  545,  547,  549,  551,  553,  555,  557,  559,
      562,  563,  564,  566,  568,  570,  572,  574,  576,  578,
      580,  582,  585,  586,  588,  590,  592,  593,  595,  597,
      599,  601,  602,  605,  607,  609,  612,  614,  616,  618,
      621,  624,  625,  627,  629,  631,  633,  635,  636,  637,
      638,  641,  641,  641,  641,  641,  642,  644,  644,  646,
      648,  650,  653,  654,  656,  658,  660,  663,  665,  667,
      669,  671,  673,  675,  677,  679,  681,  683,  685,  687,
      689,  692,  693,  694,  695,  697,  699,  701,  703,  705,
      707,  709,  711,  713,  715,  716,  718,  721,  723,  724,

      726,  726,  728,  730,  731,  733,  735,  737,  739,  740,
      741,  744,  746,  748,  749,  751,  752,  753,  754,  754,
      754,  755,  757,  757,  760,  762,  764,  765,  767,  769,
      772,  774,  776,  778,  780,  782,  784,  786,  788,  790,
      792,  795,  797,  799,  801,  803,  804,  805,  806,  808,
      810,  812,  814,  816,  818,  820,  822,  824,  826,  826,
      827,  830,  832,  833,  835,  837,  839,  841,  842,  844,
      846,  849,  852,  853,  854,  857,  859,  860,  861,  862,
      863,  864,  864,  864,  866,  866,  868,  870,  871,  874,
      876,  878,  880,  882,  885,  888,  890,  892,  895,  897,

      899,  901,  904,  906,  908,  909,  910,  911,  913,  915,
      918,  921,  923,  925,  927,  930,  932,  934,  936,  937,
      939,  940,  943,  945,  948,  951,  952,  954,  956,  957,
      958,  960,  962,  963,  964,  965,  966,  966,  968,  968,
      970,  972,  973,  975,  977,  979,  981,  983,  986,  988,
      990,  993,  995,  998,  999, 1000, 1001, 1002, 1004, 1007,
     1010, 1013, 1015, 1017, 1018, 1020, 1021, 1024, 1025, 1027,
     1028, 1030, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1041,
     1041, 1041, 1043, 1043, 1045, 1048, 1050, 1053, 1056, 1058,
     1060, 1062, 1062, 1064, 1066, 1067, 1068, 1069, 1071, 1073,

     1075, 1077, 1078, 1080, 1081, 1082, 1084, 1085, 1085, 1087,
     1088, 1091, 1092, 1093, 1094, 1095, 1095, 1096, 1097, 1097,
     1099, 1102, 1104, 1107, 1109, 1111, 1114, 1116, 1117, 1118,
     1119, 1122, 1124, 1126, 1127, 1129, 1130, 1131, 1133, 1134,
     1136, 1137, 1139, 1140, 1141, 1142, 1143, 1143, 1146, 1149,
     1152, 1154, 1156, 1157, 1158, 1159, 1161, 1163, 1164, 1166,
     1167, 1168, 1170, 1171, 1173, 1174, 1175, 1176, 1177, 1178,
     1178, 1180, 1182, 1183, 1184, 1185, 1188, 1191, 1193, 1195,
     1196, 1197, 1199, 1200, 1203, 1204, 1205, 1206, 1207, 1208,
     1208, 1210, 1213, 1215, 1216, 1218, 1220, 1222, 1223, 1226,

     1227, 1229, 1230, 1231, 1233, 1234, 1234, 1236, 1237, 1240,
     1241, 1242, 1243, 1245, 1246, 1246, 1248, 1250, 1251, 1253,
     1255, 1256, 1256, 1259, 1261, 1263, 1263, 1263, 1263, 1263,
     1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
     1264, 1264
    } ;

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,   12,   13,   14,   15,   16,   17,   18,   19,
       19,   20,   21,   22,   19,   23,   24,   25,   26,   27,
       28,   29,    1,   10,   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,   55,
       56,    1,   57,   58,    1,    1,   59,   60,   61,   62,

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

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

static yyconst short int yy_base[768] =
    {   0,
        0,    0,   81,   84,   87,   99,   94,   96,   93,  108,
       91,  103,  186,  269,  352,    0, 1657, 1646,  130,  138,
     1645, 1643,  427,  146, 4507,  158,  207, 1633,  109,  230,
      493, 1621, 4507,  543,  268,  115,  274,  289,  488,  593,
      191,  599,  509,  215,  491,  621,  406,  638,  655,  658,
      678,  689, 1631,  733,    0, 4507, 4507, 1630, 1629, 4507,
     4507, 1621, 1622, 4507,    0,    0, 1622,    0,    0, 1602,
     4507, 4507, 4507,    0, 4507, 4507,  757,  839,  122,  166,
      127, 4507, 1612, 1609, 1604, 4507, 4507, 4507, 4507, 1605,
      201,    0, 1603, 1603, 1589,   96, 1585,  656, 1588,  772,

      103,  807, 1580, 4507,  839,  857,  886,  907, 1565,  912,
      681,  757,  892,  903,  909,  962, 1578,  963,  978,  979,
      994, 1000, 1016, 1022, 1033, 1046, 1049, 1069, 1066, 1077,
     1090,   95,   79, 1105, 1108, 1116, 1131, 1142, 1153, 1159,
     1170,  147, 1183, 1186, 1199, 1207,   94, 1210, 1223, 1234,
     1247,  143, 1263, 1269, 1280, 1286, 1297, 1308, 1314, 1325,
      169, 1331, 1347,  194,  225, 1346,    0, 1572,  757,  943,
     1381,    0, 4507, 1570, 4507,    0, 4507,    0, 1554,    0,
     1536,  258,  333, 4507,    0, 1561, 4507, 1554,    0, 1552,
        0, 1550,  226, 1526,  204,  143, 1391, 4507,  866,  894,

     4507, 1441, 1548, 1385, 1386, 1401, 1402, 1417, 1547, 1425,
     1428, 1441, 1449, 1491, 1492, 1508, 1509, 1524, 1540, 1546,
     1557, 1563, 1574, 1580, 1591, 1597, 1608, 1619,  223,  241,
     1632, 1640, 1643, 1658, 1661, 1664, 1690, 1682, 1693, 1706,
      226, 1714, 1727, 1735,  495, 1738, 1751, 1759, 1767, 1775,
      245, 1788, 1791, 1799, 1812, 1820, 1828, 1836, 1849, 1857,
     1870,  506, 1878, 1894, 1895,  470,  507,  221, 1910, 1546,
     1954, 1962, 1543, 4507,  285, 1505, 1533, 1489, 1531, 1530,
     4507, 4507, 4507, 4507,  436,  319, 1495, 1956, 1957, 1972,
     1978, 1989, 1995, 2011, 2012, 2027, 2035, 2043, 2059, 2056,

     2067, 2080, 2083, 2098, 2104, 2115, 2121, 2132, 2147, 2153,
      469,  535, 2164, 2170, 2185, 2186, 2201, 2207, 2222, 2225,
     2233, 2246,  554, 2254, 2257, 2270,  205, 2278, 2291, 2299,
     2307,  523, 2315, 2323, 2336, 2344, 2347, 2365, 2362, 2368,
     2383,  557, 2386, 2389, 2406, 2412, 2423,  612,  528,  631,
     2439, 2473, 2496, 2519, 2531, 1517,  190, 1486, 2515, 2530,
     2546, 2543,  623, 2564, 2567, 2570, 2585, 2588, 2596, 2609,
     2617, 2630, 2641, 2647, 2658, 2669, 2684, 2690, 2701, 2707,
     2722,  248,  558,  632, 2723, 2743, 2740, 2761, 2760, 2776,
     2782, 2793, 2806, 2817,  613, 2814, 2830, 2838,  617, 2846,

      309, 2854, 2867,  625, 2880, 2883, 2891, 2904,  636,  641,
     2915, 2921, 2932,  643, 2943,  668,  639,  621,  441, 2987,
     4507,  302, 1508, 2971, 2987, 2984,  649, 2995, 3008, 3011,
     3028, 3034, 3045, 3051, 3066, 3072, 3089, 3095, 3106, 3112,
     3123, 3129, 3140, 3146, 3162,  656,  680,  730, 3163, 3178,
     3184, 3195, 3201, 3216, 3222, 3233, 3248, 3254,  785,  878,
     3265, 3281,  511, 3278, 1482, 3289, 3302,  885, 3310, 3325,
     3328, 3331,  734,  664, 3346, 3349,  806,  735,  733,  830,
      880, 3398, 3410, 1481, 1461, 3364, 3404,  732, 3405, 3422,
     3421, 3437, 3438, 3453, 3454, 3469, 3475, 3486, 3492, 3503,

     3514, 3525, 3531, 3542,  982,  790,  887, 3548, 3559, 3570,
     3576, 3587, 3593, 3608, 3609, 3624, 3630, 1445,  823, 3641,
      905, 3647, 1448, 3658, 3664,  933, 3679, 3685,  924,  984,
     3701, 1467,  987,  941,  918, 1000, 3735,  101,    0, 3729,
     3730, 1003, 3745, 3753, 3756, 3769, 3777, 3785, 3793, 3806,
     3814, 3822, 3830, 1012,  634, 1019, 1004, 3843, 3851, 3854,
     3867, 3875, 3878, 1056, 1444, 1028, 3891, 1042, 1427, 1022,
     3912, 3899, 1041, 1037, 3915, 1002, 1068, 1057, 1048, 3964,
     1381,  290, 1410, 3930, 3948, 1436, 3959, 3965, 3980, 3981,
     3996,  514, 4002, 4013, 1070, 1065, 1115, 1435, 4019, 4030,

     4041, 1026, 1403, 1131, 1109, 1397, 1127,  798, 1425, 1138,
     4047, 1089, 1129, 1142, 1151, 1493, 4507, 1392, 1358, 4058,
     4064, 4079, 4080, 4095, 1374, 4096, 4111, 1111, 1146, 1124,
     4117, 4128, 4139, 1150, 1322, 1179, 1193, 1299, 1185, 1296,
     1196, 1318, 1220, 1202, 1205, 1254, 1218, 4145, 4156, 4162,
     1227, 4173, 1168, 1118, 1174, 4184, 4190, 1218, 1224, 1209,
     1255, 1148, 1229, 1138, 1272, 1233, 1257, 1273, 1126, 1012,
     1009, 4205, 1244, 1281, 1287, 4206, 4221, 1020,  966, 1302,
     1268,  915, 1306,    0, 1357, 1340, 1275, 1409,  902,  886,
      889, 4222,  822, 1291,  820,  779,  818, 1223,    0, 1349,

      807, 1366, 1420,  805,  771,  742,  767, 1424,    0, 1288,
     1462, 1463,  796,  696,  670,  676,  697, 1379,  541,  539,
      504,  459,    0,  441,    0,  378,  422,  373,  397,  366,
      281,  275,  268,  280,  267,  814, 1166,  115,  100, 4507,
     4507, 4272, 4285, 4298, 4311, 4324, 4337, 4349, 4353, 4364,
     4377, 4390, 4401, 4412, 4417, 4422, 4427, 4431, 4436, 4440,
     4444, 4448, 4452, 4463, 4470, 4481, 4493
    } ;

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

      741,  741,  741,  741,  741,  741,  741,  741,  741,  758,
       34,   34,   34,   34,   34,   34,  759,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,  759,  759,   34,   34,   34,   34,   34,   34,   34,
       34,  759,   34,   34,   34,   34,  759,   34,   34,   34,
       34,  759,   34,   34,   34,   34,   34,   34,   34,   34,
      759,   34,   34,  759,  759,   34,  760,  749,  741,  741,
      741,  750,  741,  741,  741,  751,  741,  752,  741,  753,
       78,   78,  741,  741,  761,  755,  741,  741,  762,  756,
      763,  757,  741,  741,  764,  741,  741,  741,  741,  741,

      741,  758,  765,   34,   34,   34,   34,   34,  765,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,  759,  759,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
      759,   34,   34,   34,  759,   34,   34,   34,   34,   34,
      759,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,  759,   34,   34,   34,  759,  759,  759,   34,  760,
      741,  741,  741,  741,   78,   78,  761,  741,  762,  763,
      741,  741,  741,  741,  764,  741,  741,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,

       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
      759,  759,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,  759,   34,   34,   34,  759,   34,   34,   34,
       34,  759,   34,   34,   34,   34,   34,   34,   34,   34,
       34,  759,   34,   34,   34,   34,   34,  759,  759,  759,
       34,  741,  741,  741,  741,  741,   78,  741,   34,   34,
       34,   34,  759,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,  759,  759,  759,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   34,  759,   34,   34,   34,  759,   34,

      202,   34,   34,  759,   34,   34,   34,   34,  759,  759,
       34,   34,   34,  759,   34,  759,  759,  759,  741,  741,
      741,   78,  741,   34,   34,   34,  759,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   34,   34,  759,  759,  759,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,  202,  759,
       34,   34,  759,   34,  202,   34,   34,  759,   34,   34,
       34,   34,  759,  759,   34,   34,  759,  759,  759,  759,
      759,  741,  741,   78,  741,   34,   34,  759,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,

       34,   34,   34,   34,  759,  759,  759,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,  202,  759,   34,
      759,   34,  202,   34,   34,  759,   34,   34,  759,  759,
       34,  759,  759,  759,  759,  759,  741,   78,  766,   34,
       34,  759,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,  759,  759,  759,  759,   34,   34,   34,
       34,   34,   34,  759,  202,  759,   34,  759,  202,  759,
       34,   34,  759,  759,   34,  759,  759,  759,  759,  741,
      767,   78,  741,   34,   34,  759,   34,   34,   34,   34,
       34,  202,   34,   34,  759,  759,  759,  759,   34,   34,

       34,  759,  202,  759,  759,  202,  759,  202,  759,  759,
       34,  759,  759,  759,  759,  741,  741,  753,  741,   34,
       34,   34,   34,   34,  202,   34,   34,  759,  759,  759,
       34,   34,   34,  759,  202,  759,  759,  202,  759,  202,
      759,  759,  759,  759,  759,  753,  741,   34,   34,   34,
      202,   34,  759,  759,  759,   34,   34,  759,  202,  759,
      759,  202,  759,  202,  759,  759,  759,  759,  753,  741,
      202,   34,  759,  759,  759,   34,   34,  759,  202,  759,
      759,  202,  759,  202,  759,  759,  759,  759,  753,  741,
      202,   34,  759,  759,  759,  202,  759,  759,  202,  759,

      759,  759,  759,  759,  753,  741,  202,  759,  202,  759,
      759,  759,  759,  753,  741,  202,  759,  759,  759,  759,
      753,  741,  202,  759,  753,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
        0,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741
    } ;

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

       59,   56,   57,   57,   62,   69,   62,  209,  209,   63,
       66,   63,   59,  740,   67,   70,  195,   90,   71,  104,
       64,   94,   64,  183,  183,  183,  183,   70,  739,  196,
       71,   91,   91,   91,   91,  741,  582,  230,   90,   91,
       91,   91,   91,  181,  286,  111,   90,   98,   98,   98,
       98,  123,  741,   96,   90,  124,  209,  111,  125,  111,
      209,  245,   98,   98,  111,  229,   90,  183,  183,  183,
      183,   72,  287,   73,  100,  100,  100,  100,  100,  100,
      100,  100,  209,   72,  741,   73,   74,   75,   76,   75,
       75,   74,   74,   74,   74,   74,   74,   74,   74,   74,

       74,   74,   91,   91,   91,   91,  284,  209,  284,  251,
       74,   74,   74,   74,   74,   90,  241,  285,  209,   78,
      101,  111,  422,  100,  102,  102,  102,  102,  102,  102,
      102,  111,  181,  111,  209,  111,  209,  262,  209,  209,
      111,   74,   74,   74,  105,  111,  106,  106,  106,  106,
      106,  106,  106,  106,  209,  111,  281,  111,  209,  111,
      266,  209,  282,  107,  141,  399,   75,   74,   75,   74,
       75,   76,   75,   75,   74,   74,   74,   74,   74,   74,
       74,   74,   74,   74,   74,  311,  267,  350,  323,  275,
      276,  142,  107,   74,   74,   74,   74,   74,  111,  268,

      181,  118,   78,  618,  111,  119,  446,  126,  111,  120,
      111,  121,  111,  312,  111,  332,  111,  111,  111,  111,
      286,  122,  741,  111,   74,   74,   74,  181,  357,  111,
      127,  128,  181,  111,  183,  183,  183,  183,  111,  484,
      736,  129,  735,  734,  181,  733,  465,  732,  287,   75,
       74,   75,   33,   79,   80,   79,   79,   33,   33,   81,
       33,   33,   33,   33,   82,   83,   33,   84,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   85,   85,   85,   85,   85,   85,   85,   85,   85,
       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,

       85,   85,   85,   85,   85,   85,   85,   86,   87,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   88,   33,   89,   90,  111,  731,  284,  153,
      284,  730,  419,  419,  419,  419,  111,  729,  111,  285,
      111,  728,   94,  727,  209,  111,   95,   95,   95,   95,
       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
       95,   95,  209,  209,   96,   97,   97,   97,   97,   97,
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,

       97,   97,   97,   97,   97,   97,   97,  105,  209,  108,
      108,  108,  108,  108,  108,  108,  108,  130,  111,  209,
      209,  143,  144,  421,  209,  145,  107,  741,  111,  726,
      111,  111,  111,  111,  131,  146,  209,  111,  139,  111,
      111,  209,  382,  521,  725,  625,  140,  348,  209,  111,
      147,  111,  209,  111,  209,  107,  110,  327,  111,  111,
      111,  111,  111,  111,  111,  111,  111,  209,  342,  349,
      209,  209,  111,  112,  111,  111,  111,  111,  111,  111,
      111,  111,  111,  113,  111,  114,  111,  115,  111,  111,
      111,  111,  116,  111,  111,  111,  111,  111,  404,  417,

      383,  117,  117,  117,  117,  117,  117,  117,  117,  117,
      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
      117,  117,  117,  111,  447,  209,  209,  395,  134,  111,
      209,  135,  410,  111,  209,  111,  209,  111,  209,  111,
      136,  137,  111,  111,  209,  209,  138,  209,  111,  209,
      148,  111,  209,  149,  209,  132,  209,   98,   98,   98,
       98,  150,  209,  111,  193,  111,  133,  151,  111,  209,
      111,  154,   98,   98,  416,  155,  158,  209,  111,  460,
      111,  209,  111,  468,  159,  111,  156,  111,  111,  481,
      418,  157,  463,  209,  152,  111,  427,  111,  111,  111,

      162,  160,  111,  474,  111,  448,  163,  111,  111,  473,
      209,  111,  477,  596,  480,  488,  723,  161,  111,  111,
      111,  111,  111,  111,  505,  111,  166,  111,  164,  111,
      111,  111,  722,  111,  169,  169,  169,  169,  111,  721,
      506,  479,  530,  209,  165,  209,  209,  209,  209,  170,
      170,  170,  170,  170,  170,  171,  171,  180,  169,  169,
      169,  169,  180,  180,  180,  180,  180,  180,  180,  180,
      180,  180,  180,  170,  170,  170,  170,  170,  170,  171,
      171,  180,  180,  180,  180,  180,  105,  111,  106,  106,
      106,  106,  106,  106,  106,  106,  507,  111,  741,  111,

      529,  111,  542,  209,  204,  107,  111,  534,  533,  209,
      716,  741,  180,  180,  180,  737,  715,  714,  209,  209,
      209,  105,  518,  197,  197,  197,  197,  197,  197,  197,
      197,  209,  709,  209,  107,  209,  209,  556,  180,  180,
      107,  640,  738,  209,  180,  180,  180,  180,  180,  180,
      180,  180,  180,  180,  180,  199,  199,  199,  199,  199,
      199,  199,  199,  180,  180,  180,  180,  180,  532,  107,
      566,  105,  107,  106,  106,  106,  106,  106,  106,  106,
      106,  182,  199,  199,  199,  199,  199,  199,  199,  199,
      107,  209,  535,  209,  180,  180,  180,  200,  209,  200,

      209,  107,  199,  199,  199,  199,  199,  199,  199,  199,
      199,  199,  199,  199,  199,  199,  199,  199,  209,  107,
      180,  105,  111,  108,  108,  108,  108,  108,  108,  108,
      108,  209,  205,  111,  111,  707,  111,  209,  519,  111,
      107,  111,  536,  111,  526,  111,  209,  111,  706,  111,
      705,  111,  111,  207,  209,  271,  206,  557,  111,  171,
      171,  171,  171,  171,  171,  171,  171,  568,  699,  107,
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
      203,  203,  111,  111,  573,  209,  578,  209,  210,  577,

      209,  570,  111,  111,  111,  111,  111,  111,  111,  111,
      208,  111,  111,  209,  696,  209,  209,  209,  111,  111,
      111,  111,  111,  212,  111,  209,  211,  111,  111,  554,
      111,  574,  209,  209,  111,  209,  111,  213,  111,  209,
      111,  209,  111,  111,  111,  214,  111,  579,  555,  111,
      209,  216,  111,  576,  209,  209,  111,  691,  111,  215,
      111,  209,  111,  111,  111,  111,  111,  586,  598,  209,
      209,  111,  612,  111,  217,  218,  111,  111,  209,  220,
      219,  209,  111,  209,  607,  690,  111,  595,  111,  111,
      111,  111,  634,  111,  597,  111,  111,  224,  111,  111,

      221,  222,  209,  604,  614,  609,  111,  111,  111,  111,
      225,  111,  610,  111,  226,  111,  605,  227,  223,  111,
      111,  111,  209,  615,  209,  231,  111,  629,  209,  602,
      111,  209,  111,  228,  111,  111,  613,  209,  111,  111,
      209,  232,  209,  628,  209,  111,  111,  111,  111,  111,
      111,  209,  111,  642,  111,  209,  111,  111,  111,  209,
      233,  111,  234,  209,  209,  111,  674,  737,  689,  637,
      684,  111,  111,  111,  639,  111,  643,  653,  235,  236,
      111,  209,  111,  111,  111,  237,  111,  209,  630,  111,
      655,  111,  209,  111,  738,  111,  682,  111,  209,  111,

      111,  239,  111,  111,  636,  238,  209,  654,  111,  209,
      240,  641,  111,  111,  111,  209,  111,  644,  209,  111,
      658,  242,  209,  111,  645,  111,  111,  111,  111,  111,
      111,  209,  111,  209,  243,  111,  209,  111,  673,  111,
      111,  111,  209,  111,  675,  660,  209,  111,  111,  111,
      111,  111,  111,  111,  111,  244,  111,  209,  246,  111,
      663,  679,  665,  111,  111,  111,  661,  111,  209,  671,
      209,  668,  111,  247,  111,  667,  111,  111,  111,  680,
      249,  209,  678,  248,  250,  209,  209,  111,  209,  111,
      670,  111,  252,  111,  209,  666,  111,  669,  710,  111,

      209,  209,  683,  253,  209,  111,  686,  111,  693,  111,
      111,  111,  111,  111,  254,  209,  111,  255,  111,  209,
      111,  681,  111,  687,  111,  259,  111,  111,  111,  111,
      111,  209,  257,  664,  256,  111,  662,  111,  111,  258,
      698,  111,  685,  688,  111,  703,  111,  694,  111,  260,
      111,  695,  111,  209,  111,  111,  111,  111,  111,  718,
      708,  111,  209,  111,  659,  111,  697,  111,  263,  111,
      209,  111,  700,  111,  261,  111,  111,  111,  264,  209,
      111,  265,  616,  616,  616,  616,  111,  111,  111,  111,
      111,  111,  209,  272,  269,  111,  111,  171,  171,  171,

      171,  171,  171,  171,  171,  105,  702,  197,  197,  197,
      197,  197,  197,  197,  197,  111,  111,  651,  288,  711,
      647,  701,  209,  646,  107,  111,  111,  111,  111,  111,
      111,  111,  111,  209,  111,  111,  712,  209,  209,  638,
      635,  111,  289,  111,  111,  111,  111,  111,  209,  209,
      111,  111,  724,  107,  110,  111,  619,  111,  111,  111,
      290,  111,  291,  617,  606,  111,  111,  111,  111,  111,
      111,  111,  111,  704,  111,  209,  209,  111,  603,  111,
      209,  111,  569,  111,  713,  111,  717,  565,  292,  293,
      111,  111,  539,  111,  616,  616,  616,  616,  111,  203,

      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
      203,  111,  111,  538,  523,  485,  719,  720,  423,  295,
      356,  111,  111,  111,  111,  111,  111,  294,  111,  111,
      111,  111,  358,  191,  189,  187,  185,  181,  111,  111,
      111,  111,  111,  297,  111,  296,  356,  111,  111,  167,
      741,  209,  282,  191,  111,  189,  111,  278,  111,  300,
      111,  298,  299,  111,  185,  617,  111,  301,  181,  302,
      111,  274,  111,  273,  111,  167,  111,  111,  111,  111,
      111,  209,  201,  111,  198,  111,  194,  111,  191,  111,

      303,  111,  189,  111,  111,  111,  111,  111,  188,  187,
      111,  187,  111,  305,  111,  304,  111,  185,  111,  104,
      111,  111,  111,  111,  111,  184,  179,  111,  177,  111,
      308,  306,  104,  111,  307,  111,  175,  111,  111,  111,
      111,  111,  174,  173,  167,  109,  111,  103,  111,  111,
      111,   93,  111,   90,   90,  309,  741,  111,  741,  111,
      310,  111,  111,  111,  741,  741,  741,  741,  111,  741,
      111,  741,  111,  111,  111,  741,  111,  741,  741,  313,
      111,  111,  314,  315,  111,  111,  316,  111,  111,  111,
      741,  111,  111,  741,  111,  741,  741,  319,  317,  741,

      111,  111,  111,  111,  111,  111,  111,  111,  111,  318,
      111,  320,  111,  111,  741,  741,  741,  741,  741,  741,
      111,  741,  111,  111,  111,  741,  111,  741,  741,  741,
      111,  111,  111,  111,  111,  111,  111,  111,  741,  111,
      741,  741,  321,  741,  111,  741,  322,  324,  111,  741,
      111,  741,  741,  741,  111,  111,  111,  111,  111,  741,
      325,  741,  741,  111,  741,  111,  741,  111,  111,  111,
      741,  111,  326,  741,  741,  111,  111,  111,  111,  111,
      111,  111,  111,  741,  111,  741,  328,  111,  741,  111,
      741,  111,  741,  111,  741,  111,  741,  111,  741,  111,

      111,  111,  741,  111,  741,  111,  329,  111,  111,  111,
      741,  111,  741,  741,  330,  111,  111,  111,  111,  111,
      334,  111,  741,  741,  111,  331,  741,  741,  333,  111,
      111,  111,  111,  111,  741,  111,  741,  111,  741,  111,
      111,  111,  111,  111,  741,  741,  741,  741,  335,  741,
      111,  741,  111,  336,  111,  741,  111,  741,  111,  741,
      111,  111,  111,  741,  111,  337,  111,  741,  111,  111,
      111,  741,  111,  741,  741,  741,  111,  111,  111,  111,
      111,  741,  741,  741,  338,  111,  741,  111,  741,  111,
      741,  111,  741,  111,  741,  741,  339,  111,  111,  111,

      111,  111,  741,  341,  340,  741,  111,  741,  111,  741,
      111,  741,  111,  741,  111,  741,  741,  347,  111,  111,
      111,  343,  111,  344,  111,  111,  741,  111,  345,  741,
      741,  741,  741,  741,  111,  111,  111,  111,  111,  111,
      111,  741,  346,  111,  111,  741,  351,  741,  741,  741,
      111,  741,  111,  741,  111,  352,  352,  352,  352,  111,
      741,  741,  741,  354,  354,  354,  354,  741,  741,  741,
      353,  353,  353,  353,  353,  353,  353,  353,  355,  355,
      355,  355,  355,  355,  355,  355,  111,  111,  741,  741,
      741,  741,  741,  741,  360,  741,  111,  111,  359,  111,

      111,  111,  111,  741,  741,  111,  111,  741,  111,  741,
      741,  741,  111,  361,  111,  741,  111,  741,  111,  111,
      362,  111,  111,  741,  741,  111,  741,  111,  364,  111,
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
      365,  111,  111,  366,  111,  741,  741,  741,  741,  741,
      741,  111,  111,  111,  111,  111,  111,  111,  741,  741,
      111,  111,  741,  741,  363,  111,  741,  111,  741,  111,
      741,  111,  741,  111,  367,  111,  111,  111,  368,  111,
      741,  741,  741,  111,  111,  111,  111,  111,  370,  111,
      741,  369,  111,  741,  741,  741,  111,  111,  111,  111,

      111,  111,  741,  111,  741,  371,  741,  111,  111,  372,
      111,  111,  373,  111,  741,  374,  111,  741,  741,  741,
      111,  741,  111,  111,  111,  111,  741,  111,  111,  111,
      741,  375,  111,  741,  111,  741,  741,  741,  111,  741,
      111,  741,  111,  741,  111,  111,  111,  111,  376,  741,
      741,  111,  377,  111,  741,  111,  741,  111,  741,  111,
      741,  111,  111,  111,  111,  111,  741,  378,  741,  741,
      111,  741,  111,  741,  379,  741,  111,  111,  380,  741,
      381,  111,  741,  111,  741,  741,  741,  111,  741,  111,
      741,  111,  741,  111,  111,  111,  111,  111,  741,  741,

      111,  741,  111,  741,  111,  741,  111,  741,  111,  741,
      111,  741,  111,  111,  111,  111,  111,  741,  385,  111,
      741,  741,  386,  741,  741,  111,  111,  111,  111,  111,
      111,  111,  387,  741,  111,  111,  389,  111,  741,  384,
      741,  111,  741,  111,  393,  111,  741,  111,  741,  111,
      388,  111,  111,  390,  741,  111,  111,  391,  741,  741,
      741,  741,  111,  111,  111,  111,  111,  111,  392,  111,
      741,  111,  741,  111,  111,  111,  111,  111,  741,  741,
      394,  741,  111,  741,  111,  396,  111,  111,  111,  741,
      111,  741,  741,  741,  111,  111,  111,  111,  111,  111,

      111,  111,  741,  111,  401,  397,  111,  741,  111,  741,
      111,  400,  111,  398,  111,  741,  741,  741,  111,  111,
      111,  111,  111,  741,  741,  741,  741,  111,  741,  111,
      741,  111,  402,  111,  741,  111,  403,  111,  741,  111,
      111,  111,  741,  111,  741,  111,  741,  111,  111,  111,
      741,  111,  741,  111,  741,  111,  111,  111,  741,  111,
      741,  741,  741,  111,  111,  111,  111,  111,  741,  406,
      741,  405,  111,  741,  111,  741,  111,  111,  111,  741,
      111,  741,  741,  741,  111,  111,  111,  111,  111,  407,
      741,  111,  111,  111,  408,  111,  111,  741,  111,  741,

      741,  741,  111,  741,  111,  111,  111,  111,  111,  111,
      111,  111,  111,  111,  111,  741,  111,  111,  741,  111,
      741,  741,  741,  111,  741,  111,  111,  111,  411,  111,
      111,  111,  111,  111,  741,  111,  111,  409,  412,  413,
      741,  741,  111,  741,  741,  741,  111,  741,  111,  741,
      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
      741,  111,  741,  111,  741,  111,  741,  111,  741,  111,
      415,  741,  111,  741,  352,  352,  352,  352,  414,  111,
      741,  111,  741,  111,  741,  741,  741,  741,  111,  353,
      353,  353,  353,  353,  353,  353,  353,  419,  419,  419,

      419,  741,  741,  741,  741,  741,  741,  741,  420,  741,
      741,  741,  353,  353,  353,  353,  353,  353,  353,  353,
      354,  354,  354,  354,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  355,  355,  355,  355,  355,
      355,  355,  355,  420,  741,  111,  741,  355,  355,  355,
      355,  355,  355,  355,  355,  111,  741,  111,  741,  111,
      111,  425,  741,  424,  111,  741,  741,  741,  741,  741,
      111,  741,  111,  111,  111,  426,  111,  741,  421,  111,
      741,  741,  741,  111,  741,  111,  111,  111,  111,  741,
      111,  741,  111,  428,  111,  111,  741,  111,  429,  741,

      111,  741,  741,  430,  111,  741,  111,  111,  111,  111,
      111,  111,  111,  111,  111,  111,  111,  741,  111,  111,
      741,  741,  741,  741,  741,  111,  111,  111,  111,  111,
      431,  741,  111,  741,  111,  741,  111,  111,  111,  111,
      111,  741,  432,  741,  741,  111,  433,  111,  741,  111,
      741,  111,  741,  111,  741,  741,  741,  434,  111,  111,
      111,  111,  741,  435,  741,  741,  111,  436,  741,  741,
      111,  111,  111,  437,  111,  741,  741,  111,  741,  111,
      438,  111,  741,  111,  439,  111,  741,  111,  111,  111,
      111,  111,  741,  741,  741,  741,  111,  741,  111,  111,

      111,  741,  111,  741,  440,  741,  741,  111,  741,  111,
      741,  111,  741,  111,  111,  442,  741,  441,  111,  741,
      111,  741,  741,  741,  111,  741,  111,  741,  111,  741,
      111,  111,  111,  111,  111,  741,  741,  111,  443,  111,
      741,  111,  741,  111,  741,  111,  741,  111,  444,  445,
      111,  111,  111,  111,  741,  741,  111,  741,  741,  741,
      449,  741,  111,  111,  111,  111,  111,  111,  741,  741,
      111,  111,  111,  111,  450,  741,  451,  741,  741,  741,
      111,  741,  111,  111,  111,  111,  741,  111,  452,  111,
      111,  111,  111,  453,  741,  741,  741,  741,  741,  741,

      111,  111,  454,  111,  111,  111,  111,  741,  741,  111,
      111,  741,  111,  741,  741,  456,  111,  741,  111,  741,
      111,  741,  111,  111,  111,  455,  111,  458,  741,  741,
      459,  111,  741,  111,  741,  111,  111,  111,  741,  741,
      457,  741,  111,  741,  111,  741,  111,  111,  111,  741,
      111,  741,  741,  741,  111,  111,  111,  111,  111,  111,
      111,  111,  461,  111,  741,  741,  111,  741,  111,  741,
      111,  741,  111,  741,  111,  741,  111,  741,  111,  111,
      462,  741,  111,  741,  111,  741,  111,  111,  111,  741,
      111,  741,  464,  741,  111,  111,  466,  111,  111,  741,

      741,  741,  741,  111,  741,  741,  741,  111,  741,  111,
      111,  111,  741,  111,  741,  467,  111,  469,  741,  741,
      111,  111,  111,  111,  111,  470,  471,  111,  741,  111,
      741,  111,  111,  111,  111,  111,  741,  741,  741,  741,
      111,  741,  741,  741,  111,  111,  111,  741,  111,  741,
      741,  111,  741,  111,  475,  111,  472,  111,  741,  111,
      741,  111,  111,  111,  111,  111,  741,  741,  741,  741,
      111,  741,  111,  111,  111,  741,  111,  741,  476,  741,
      741,  111,  741,  111,  741,  111,  741,  111,  482,  482,
      482,  482,  111,  741,  741,  741,  741,  741,  741,  741,

      741,  111,  741,  483,  483,  483,  483,  483,  483,  483,
      483,  111,  741,  111,  111,  111,  486,  111,  478,  741,
      111,  741,  741,  741,  111,  111,  111,  111,  111,  111,
      741,  111,  487,  111,  741,  111,  111,  489,  111,  111,
      741,  111,  741,  741,  111,  741,  741,  741,  111,  741,
      111,  111,  111,  111,  741,  111,  490,  111,  111,  741,
      111,  491,  741,  492,  111,  741,  741,  741,  111,  741,
      111,  741,  111,  741,  111,  111,  111,  111,  111,  741,
      741,  111,  741,  111,  741,  111,  741,  493,  741,  111,
      741,  111,  741,  111,  111,  111,  111,  741,  495,  494,

      111,  741,  111,  741,  741,  741,  111,  741,  111,  741,
      111,  741,  111,  741,  111,  111,  111,  741,  741,  111,
      496,  111,  497,  741,  741,  111,  741,  498,  741,  111,
      741,  111,  741,  111,  741,  111,  111,  111,  111,  111,
      741,  500,  111,  741,  111,  741,  111,  741,  499,  741,
      111,  741,  111,  111,  111,  111,  111,  741,  741,  111,
      741,  111,  741,  111,  741,  111,  501,  111,  741,  111,
      111,  111,  111,  111,  741,  741,  111,  741,  111,  741,
      111,  741,  111,  503,  111,  741,  111,  502,  111,  111,
      111,  504,  111,  111,  741,  111,  741,  508,  741,  741,

      741,  741,  111,  111,  111,  111,  111,  111,  111,  741,
      741,  111,  111,  741,  111,  509,  510,  741,  111,  741,
      111,  741,  111,  741,  111,  111,  111,  111,  111,  741,
      741,  111,  741,  111,  512,  111,  741,  111,  741,  111,
      741,  111,  511,  111,  111,  111,  111,  513,  741,  741,
      111,  741,  111,  514,  741,  741,  111,  741,  111,  741,
      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
      741,  111,  741,  111,  741,  111,  741,  111,  111,  515,
      741,  516,  111,  741,  111,  741,  741,  741,  111,  741,
      111,  741,  111,  741,  111,  111,  111,  111,  111,  741,

      741,  517,  741,  111,  741,  111,  741,  111,  111,  111,
      520,  111,  741,  741,  111,  741,  741,  741,  111,  111,
      522,  111,  111,  111,  741,  111,  741,  111,  741,  111,
      111,  111,  111,  111,  741,  525,  741,  524,  111,  741,
      111,  741,  111,  741,  111,  741,  111,  741,  741,  741,
      111,  111,  111,  741,  111,  111,  528,  741,  111,  111,
      527,  111,  741,  741,  741,  111,  741,  111,  111,  111,
      111,  111,  111,  111,  111,  111,  111,  111,  741,  111,
      111,  741,  741,  741,  741,  741,  111,  741,  111,  111,
      111,  111,  741,  111,  111,  111,  531,  741,  111,  482,

      482,  482,  482,  741,  111,  741,  111,  741,  111,  741,
      741,  741,  540,  111,  483,  483,  483,  483,  483,  483,
      483,  483,  537,  741,  741,  741,  483,  483,  483,  483,
      483,  483,  483,  483,  111,  111,  741,  741,  741,  741,
      741,  541,  741,  741,  111,  111,  111,  111,  111,  111,
      741,  111,  111,  111,  111,  543,  741,  741,  741,  741,
      741,  111,  111,  544,  111,  111,  111,  111,  111,  741,
      111,  111,  741,  741,  545,  546,  741,  111,  111,  111,
      111,  111,  111,  111,  111,  741,  111,  111,  741,  741,
      741,  741,  741,  111,  111,  111,  111,  111,  111,  111,

      741,  741,  111,  111,  741,  111,  547,  548,  741,  111,
      741,  111,  741,  111,  741,  111,  111,  111,  111,  111,
      741,  741,  111,  741,  111,  741,  111,  549,  111,  741,
      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
      741,  111,  741,  111,  111,  111,  741,  111,  741,  741,
      741,  550,  111,  741,  111,  111,  111,  741,  111,  741,
      741,  552,  551,  111,  741,  111,  741,  111,  741,  111,
      741,  111,  111,  111,  111,  111,  741,  741,  111,  741,
      111,  741,  553,  741,  111,  558,  111,  741,  111,  111,
      111,  111,  111,  741,  741,  741,  741,  111,  741,  111,

      111,  111,  741,  111,  741,  741,  111,  559,  111,  741,
      111,  741,  111,  741,  111,  741,  111,  111,  111,  111,
      111,  741,  741,  111,  741,  111,  561,  111,  741,  111,
      741,  111,  741,  111,  560,  111,  111,  111,  111,  111,
      741,  741,  111,  741,  741,  741,  741,  741,  111,  111,
      111,  111,  111,  111,  111,  563,  562,  111,  111,  741,
      111,  741,  741,  741,  111,  741,  111,  741,  111,  741,
      111,  111,  111,  111,  111,  741,  741,  111,  741,  111,
      741,  567,  741,  111,  741,  111,  741,  111,  111,  111,
      111,  111,  741,  741,  111,  741,  111,  741,  111,  741,

      111,  741,  111,  741,  111,  564,  111,  111,  111,  111,
      741,  741,  571,  111,  741,  111,  741,  741,  572,  111,
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
      575,  111,  741,  741,  111,  741,  580,  580,  580,  580,
      741,  111,  741,  111,  741,  111,  741,  741,  741,  741,
      111,  581,  581,  581,  581,  581,  581,  581,  581,  111,
      111,  585,  741,  741,  741,  741,  584,  741,  741,  111,
      111,  111,  111,  111,  111,  111,  741,  741,  111,  111,
      741,  741,  741,  111,  741,  111,  111,  111,  741,  111,
      741,  587,  741,  111,  111,  111,  111,  111,  589,  111,

      111,  588,  111,  741,  741,  111,  592,  111,  741,  111,
      741,  590,  741,  111,  741,  111,  741,  111,  111,  111,
      591,  111,  741,  111,  741,  111,  111,  111,  741,  111,
      741,  741,  741,  111,  111,  111,  111,  111,  741,  593,
      741,  741,  111,  741,  111,  741,  111,  741,  111,  741,
      111,  741,  111,  741,  111,  111,  111,  741,  111,  594,
      111,  741,  111,  111,  111,  741,  111,  741,  741,  741,
      111,  111,  111,  111,  111,  741,  599,  741,  741,  111,
      741,  111,  741,  111,  111,  111,  741,  111,  741,  741,
      741,  111,  111,  111,  111,  111,  111,  111,  111,  741,

      111,  741,  741,  111,  741,  111,  741,  111,  111,  111,
      741,  111,  600,  741,  741,  111,  111,  111,  111,  111,
      111,  111,  111,  741,  111,  608,  601,  111,  741,  111,
      741,  111,  741,  111,  741,  111,  741,  741,  741,  111,
      111,  111,  111,  111,  741,  111,  741,  741,  111,  741,
      741,  741,  111,  741,  111,  611,  111,  111,  741,  111,
      111,  111,  741,  741,  111,  580,  580,  580,  580,  741,
      111,  741,  111,  620,  111,  741,  741,  741,  111,  111,
      581,  581,  581,  581,  581,  581,  581,  581,  111,  111,
      111,  741,  111,  741,  741,  111,  741,  111,  741,  111,

      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
      111,  111,  621,  622,  111,  741,  623,  741,  741,  741,
      111,  111,  111,  111,  111,  111,  111,  741,  741,  111,
      111,  741,  111,  741,  626,  741,  111,  741,  624,  741,
      111,  741,  111,  111,  111,  111,  111,  741,  741,  111,
      741,  111,  741,  627,  741,  111,  741,  111,  741,  111,
      111,  111,  111,  111,  741,  631,  741,  741,  111,  741,
      111,  111,  111,  632,  111,  741,  741,  111,  633,  111,
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
      111,  111,  741,  741,  111,  741,  111,  741,  111,  741,

      648,  741,  111,  741,  111,  741,  111,  111,  111,  111,
      111,  649,  741,  111,  741,  741,  741,  741,  741,  111,
      111,  111,  111,  111,  111,  111,  111,  741,  111,  111,
      741,  741,  741,  741,  741,  111,  111,  111,  111,  111,
      111,  111,  650,  741,  111,  111,  741,  111,  652,  741,
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
      111,  111,  741,  741,  741,  741,  111,  741,  111,  111,
      656,  741,  111,  741,  741,  111,  741,  111,  741,  111,
      741,  111,  657,  111,  741,  111,  111,  111,  111,  111,
      741,  741,  111,  741,  111,  741,  111,  741,  111,  741,

      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
      741,  111,  741,  111,  111,  111,  741,  111,  741,  741,
      111,  672,  111,  741,  111,  741,  111,  741,  111,  741,
      111,  676,  677,  111,  111,  111,  111,  741,  741,  111,
      741,  741,  741,  741,  741,  111,  111,  111,  111,  111,
      111,  111,  111,  741,  111,  111,  741,  741,  692,  741,
      741,  111,  111,  111,  111,  111,  111,  741,  741,  741,
      111,  111,   55,   55,   55,   55,   55,   55,   55,   55,
       55,   55,   55,   55,   55,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   65,   65,

       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
       65,   68,   68,   68,   68,   68,   68,   68,   68,   68,
       68,   68,   68,   68,   77,   77,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   77,   92,   92,   92,
       92,  741,   92,   92,   92,   92,   92,   92,   92,   92,
       99,   99,   99,  741,   99,  741,   99,  741,   99,  168,
      168,  741,  168,  168,  172,  172,  741,  741,  172,  172,
      741,  172,  172,  172,  172,  172,  172,  176,  176,  176,
      176,  741,  176,  176,  176,  176,  176,  176,  176,  176,
      178,  178,  178,  178,  178,  178,  178,  178,  741,  178,

      178,  180,  741,  741,  741,  180,  180,  180,  180,  180,
      180,  180,  181,  741,  741,  741,  181,  181,  181,  181,
      181,  181,  181,  186,  186,  741,  186,  186,  190,  190,
      741,  190,  190,  192,  192,  741,  192,  192,  202,  741,
      202,  202,  117,  117,  741,  117,  117,  270,  741,  270,
      270,  277,  741,  277,  277,  279,  741,  279,  279,  280,
      741,  280,  280,  283,  283,  283,  283,  283,  283,  283,
      283,  283,  283,  283,  283,  283,  203,  203,  741,  203,
      203,  583,  583,  741,  583,  583,  583,  583,  583,  583,
      583,  583,  583,  583,  581,  581,  581,  741,  741,  741,

      581,  741,  741,  741,  741,  581,   17,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741
    } ;

static yyconst short int yy_chk[4591] =
    {   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,    1,    1,    3,    3,    3,    4,    4,    4,    5,
        5,    5,  133,   11,    3,    9,    7,    4,    8,    9,

        5,    6,    6,    6,    7,   12,    8,  147,  132,    7,
       10,    8,    6,  739,   10,   11,  101,   29,   11,   29,
        7,   96,    8,   79,   79,   79,   79,   12,  738,  101,
       12,   19,   19,   19,   19,   81,  538,  133,   19,   20,
       20,   20,   20,  538,  196,   36,   20,   24,   24,   24,
       24,   36,   81,   96,   24,   36,  152,   36,   36,   36,
      142,  147,   24,   24,   36,  132,   26,   80,   80,   80,
       80,   11,  196,   11,   26,   26,   26,   26,   26,   26,
       26,   26,  161,   12,   81,   12,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,

       13,   13,   91,   91,   91,   91,  195,  164,  195,  152,
       13,   13,   13,   13,   13,   27,  142,  195,  327,   13,
       27,   41,  357,   27,   27,   27,   27,   27,   27,   27,
       27,   41,  357,   41,  268,   41,  229,  161,  165,  241,
       41,   13,   13,   13,   30,   44,   30,   30,   30,   30,
       30,   30,   30,   30,  230,   44,  193,   44,  251,   44,
      164,  382,  193,   30,   44,  327,   13,   13,   13,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,   14,   14,   14,  229,  165,  268,  241,  182,
      182,   44,   30,   14,   14,   14,   14,   14,   35,  165,

      182,   35,   14,  582,   37,   35,  382,   37,   35,   35,
       35,   35,   35,  230,   37,  251,   37,   35,   37,   38,
      286,   35,  401,   37,   14,   14,   14,  275,  275,   38,
       38,   38,  582,   38,  183,  183,  183,  183,   38,  422,
      735,   38,  734,  733,  422,  732,  401,  731,  286,   14,
       14,   14,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,

       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   23,   47,  730,  285,   47,
      285,  729,  419,  419,  419,  419,   47,  728,   47,  285,
       47,  727,   23,  726,  724,   47,   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,  311,  266,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,

       23,   23,   23,   23,   23,   23,   23,   31,  245,   31,
       31,   31,   31,   31,   31,   31,   31,   39,   39,  262,
      267,   45,   45,  419,  463,   45,   31,  592,   39,  722,
       39,   45,   39,   45,   39,   45,  332,   39,   43,   43,
       45,  349,  311,  463,  721,  592,   43,  266,  312,   43,
       45,   43,  720,   43,  719,   31,   34,  245,   43,   34,
       34,   34,   34,   34,   34,   34,   34,  323,  262,  267,
      342,  383,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,  332,  349,

      312,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
       34,   34,   34,   40,  383,  348,  395,  323,   42,   42,
      399,   42,  342,   40,  418,   40,  363,   40,  404,   42,
       42,   42,   40,   42,  350,  384,   42,  555,   42,  409,
       46,   46,  417,   46,  410,   40,  414,   98,   98,   98,
       98,   46,  427,   46,   98,   46,   40,   46,   48,  446,
       46,   48,   98,   98,  348,   48,   49,  474,   48,  395,
       48,  416,   48,  404,   49,   49,   48,   48,   50,  418,
      350,   48,  399,  447,   46,   49,  363,   49,   50,   49,

       50,   49,   50,  410,   49,  384,   50,   50,   51,  409,
      717,  111,  414,  555,  417,  427,  716,   49,   51,   52,
       51,  111,   51,  111,  446,  111,   52,   51,   50,   52,
      111,   52,  715,   52,   54,   54,   54,   54,   52,  714,
      447,  416,  474,  448,   51,  488,  479,  473,  478,   54,
       54,   54,   54,   54,   54,   54,   54,   77,  169,  169,
      169,  169,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,  169,  169,  169,  169,  169,  169,  169,
      169,   77,   77,   77,   77,   77,  100,  112,  100,  100,
      100,  100,  100,  100,  100,  100,  448,  112,  459,  112,

      473,  112,  488,  506,  112,  100,  112,  479,  478,  713,
      707,  608,   77,   77,   77,  736,  706,  705,  704,  477,
      701,  102,  459,  102,  102,  102,  102,  102,  102,  102,
      102,  697,  696,  695,  100,  693,  519,  506,   77,   78,
      102,  608,  736,  480,   78,   78,   78,   78,   78,   78,
       78,   78,   78,   78,   78,  105,  105,  105,  105,  105,
      105,  105,  105,   78,   78,   78,   78,   78,  477,  102,
      519,  106,  105,  106,  106,  106,  106,  106,  106,  106,
      106,   78,  199,  199,  199,  199,  199,  199,  199,  199,
      106,  460,  480,  481,   78,   78,   78,  107,  468,  107,

      507,  105,  107,  107,  107,  107,  107,  107,  107,  107,
      200,  200,  200,  200,  200,  200,  200,  200,  521,  106,
       78,  108,  113,  108,  108,  108,  108,  108,  108,  108,
      108,  535,  113,  114,  113,  691,  113,  529,  460,  115,
      108,  113,  481,  114,  468,  114,  526,  114,  690,  115,
      689,  115,  114,  115,  534,  170,  114,  507,  115,  170,
      170,  170,  170,  170,  170,  170,  170,  521,  682,  108,
      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
      110,  110,  116,  118,  529,  505,  535,  530,  118,  534,

      533,  526,  116,  118,  116,  118,  116,  118,  119,  120,
      116,  116,  118,  536,  679,  576,  542,  557,  119,  120,
      119,  120,  119,  120,  121,  554,  119,  119,  120,  505,
      122,  530,  556,  678,  121,  570,  121,  121,  121,  602,
      122,  566,  122,  121,  122,  123,  123,  536,  505,  122,
      574,  124,  124,  533,  573,  568,  123,  671,  123,  123,
      123,  579,  124,  125,  124,  123,  124,  542,  557,  564,
      578,  124,  576,  125,  125,  125,  126,  125,  596,  127,
      126,  577,  125,  595,  570,  670,  126,  554,  126,  127,
      126,  127,  602,  127,  556,  126,  129,  129,  127,  128,

      128,  128,  612,  566,  578,  573,  129,  130,  129,  128,
      129,  128,  574,  128,  129,  129,  568,  130,  128,  130,
      131,  130,  605,  579,  628,  134,  130,  596,  597,  564,
      131,  654,  131,  131,  131,  134,  577,  630,  135,  131,
      607,  135,  613,  595,  604,  134,  136,  134,  135,  134,
      135,  610,  135,  612,  134,  614,  136,  135,  136,  629,
      136,  137,  137,  634,  615,  136,  654,  737,  669,  605,
      664,  137,  138,  137,  607,  137,  613,  628,  137,  137,
      137,  653,  138,  139,  138,  138,  138,  655,  597,  140,
      630,  138,  636,  139,  737,  139,  662,  139,  639,  140,

      141,  140,  139,  140,  604,  139,  637,  629,  140,  641,
      141,  610,  141,  143,  141,  644,  144,  614,  645,  141,
      634,  143,  660,  143,  615,  143,  144,  143,  144,  145,
      144,  658,  143,  643,  144,  144,  698,  146,  653,  145,
      148,  145,  663,  145,  655,  636,  666,  146,  145,  146,
      148,  146,  148,  149,  148,  146,  146,  673,  148,  148,
      639,  659,  641,  149,  150,  149,  637,  149,  661,  651,
      667,  645,  149,  149,  150,  644,  150,  151,  150,  660,
      151,  681,  658,  150,  151,  665,  668,  151,  687,  151,
      647,  151,  153,  153,  674,  643,  151,  646,  698,  154,

      675,  710,  663,  153,  694,  153,  666,  153,  673,  154,
      155,  154,  153,  154,  154,  680,  156,  154,  154,  683,
      155,  661,  155,  667,  155,  158,  156,  157,  156,  155,
      156,  642,  156,  640,  155,  156,  638,  157,  158,  157,
      681,  157,  665,  668,  159,  687,  157,  674,  158,  159,
      158,  675,  158,  686,  159,  160,  159,  158,  159,  710,
      694,  162,  700,  159,  635,  160,  680,  160,  162,  160,
      685,  162,  683,  162,  160,  162,  166,  163,  163,  702,
      162,  163,  581,  581,  581,  581,  166,  163,  166,  163,
      166,  163,  718,  171,  166,  166,  163,  171,  171,  171,

      171,  171,  171,  171,  171,  197,  686,  197,  197,  197,
      197,  197,  197,  197,  197,  204,  205,  625,  204,  700,
      619,  685,  688,  618,  197,  204,  205,  204,  205,  204,
      205,  206,  207,  703,  204,  205,  702,  708,  609,  606,
      603,  206,  207,  206,  207,  206,  207,  208,  598,  586,
      206,  207,  718,  197,  202,  210,  583,  208,  211,  208,
      208,  208,  210,  581,  569,  210,  208,  210,  211,  210,
      211,  212,  211,  688,  210,  711,  712,  211,  565,  213,
      532,  212,  523,  212,  703,  212,  708,  518,  212,  213,
      212,  213,  485,  213,  616,  616,  616,  616,  213,  202,

      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
      202,  214,  215,  484,  465,  423,  711,  712,  358,  215,
      356,  214,  215,  214,  215,  214,  215,  214,  216,  217,
      214,  215,  287,  280,  279,  278,  277,  276,  216,  217,
      216,  217,  216,  217,  218,  216,  273,  216,  217,  270,
      209,  203,  194,  192,  218,  190,  218,  188,  218,  219,
      219,  218,  218,  218,  186,  616,  220,  219,  181,  220,
      219,  179,  219,  174,  219,  168,  220,  221,  220,  219,
      220,  117,  109,  222,  103,  220,   99,  221,   97,  221,

      221,  221,   95,  222,  223,  222,  221,  222,   94,   93,
      224,   90,  222,  224,  223,  223,  223,   85,  223,   84,
      224,  225,  224,  223,  224,   83,   70,  226,   67,  224,
      226,  225,   63,  225,  225,  225,   62,  226,  227,  226,
      225,  226,   59,   58,   53,   32,  226,   28,  227,  228,
      227,   22,  227,   21,   18,  227,   17,  227,    0,  228,
      228,  228,  231,  228,    0,    0,    0,    0,  228,    0,
      232,    0,  231,  233,  231,    0,  231,    0,    0,  231,
      232,  231,  232,  233,  232,  233,  233,  233,  234,  232,
        0,  235,  233,    0,  236,    0,    0,  236,  234,    0,

      234,  235,  234,  235,  236,  235,  236,  234,  236,  235,
      235,  237,  238,  236,    0,    0,    0,    0,    0,    0,
      237,    0,  238,  239,  238,    0,  238,    0,    0,    0,
      237,  238,  237,  239,  237,  239,  240,  239,    0,  237,
        0,    0,  239,    0,  242,    0,  240,  242,  240,    0,
      240,    0,    0,    0,  242,  240,  242,  243,  242,    0,
      243,    0,    0,  242,    0,  244,    0,  243,  246,  243,
        0,  243,  244,    0,    0,  244,  243,  244,  246,  244,
      246,  247,  246,    0,  244,    0,  246,  246,    0,  248,
        0,  247,    0,  247,    0,  247,    0,  249,    0,  248,

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

      261,  260,    0,  261,  260,    0,  260,    0,  263,    0,
      261,    0,  261,    0,  261,    0,    0,  265,  263,  261,
      263,  263,  263,  263,  264,  265,    0,  263,  263,    0,
        0,    0,    0,    0,  264,  265,  264,  265,  264,  265,
      269,    0,  264,  264,  265,    0,  269,    0,    0,    0,
      269,    0,  269,    0,  269,  271,  271,  271,  271,  269,
        0,    0,    0,  272,  272,  272,  272,    0,    0,    0,
      271,  271,  271,  271,  271,  271,  271,  271,  272,  272,
      272,  272,  272,  272,  272,  272,  288,  289,    0,    0,
        0,    0,    0,    0,  289,    0,  288,  289,  288,  289,

      288,  289,  290,    0,    0,  288,  289,    0,  291,    0,
        0,    0,  290,  290,  290,    0,  290,    0,  291,  292,
      291,  290,  291,    0,    0,  293,    0,  291,  293,  292,
        0,  292,    0,  292,    0,  293,    0,  293,  292,  293,
      294,  294,  295,  295,  293,    0,    0,    0,    0,    0,
        0,  294,  295,  294,  295,  294,  295,  296,    0,    0,
      294,  295,    0,    0,  292,  297,    0,  296,    0,  296,
        0,  296,    0,  298,  296,  297,  296,  297,  297,  297,
        0,    0,    0,  298,  297,  298,  300,  298,  299,  299,
        0,  298,  298,    0,    0,    0,  300,  301,  300,  299,

      300,  299,    0,  299,    0,  300,    0,  301,  299,  301,
      302,  301,  302,  303,    0,  303,  301,    0,    0,    0,
      302,    0,  302,  303,  302,  303,    0,  303,  304,  302,
        0,  304,  303,    0,  305,    0,    0,    0,  304,    0,
      304,    0,  304,    0,  305,  306,  305,  304,  305,    0,
        0,  307,  306,  305,    0,  306,    0,  306,    0,  306,
        0,  307,  308,  307,  306,  307,    0,  307,    0,    0,
      307,    0,  308,    0,  308,    0,  308,  309,  308,    0,
      309,  308,    0,  310,    0,    0,    0,  309,    0,  309,
        0,  309,    0,  310,  313,  310,  309,  310,    0,    0,

      314,    0,  310,    0,  313,    0,  313,    0,  313,    0,
      314,    0,  314,  313,  314,  315,  316,    0,  314,  314,
        0,    0,  315,    0,    0,  315,  316,  315,  316,  315,
      316,  317,  316,    0,  315,  316,  318,  318,    0,  313,
        0,  317,    0,  317,  320,  317,    0,  318,    0,  318,
      317,  318,  319,  318,    0,  320,  318,  319,    0,    0,
        0,    0,  319,  321,  319,  320,  319,  320,  319,  320,
        0,  319,    0,  321,  320,  321,  322,  321,    0,    0,
      321,    0,  321,    0,  324,  324,  322,  325,  322,    0,
      322,    0,    0,    0,  324,  322,  324,  325,  324,  325,

      326,  325,    0,  324,  329,  325,  325,    0,  328,    0,
      326,  328,  326,  326,  326,    0,    0,    0,  328,  326,
      328,  329,  328,    0,    0,    0,    0,  328,    0,  330,
        0,  329,  330,  329,    0,  329,  331,  331,    0,  330,
      329,  330,    0,  330,    0,  333,    0,  331,  330,  331,
        0,  331,    0,  334,    0,  333,  331,  333,    0,  333,
        0,    0,    0,  334,  333,  334,  335,  334,    0,  335,
        0,  334,  334,    0,  336,    0,  335,  337,  335,    0,
      335,    0,    0,    0,  336,  335,  336,  337,  336,  337,
        0,  337,  339,  336,  338,  338,  337,    0,  340,    0,

        0,    0,  339,    0,  339,  338,  339,  338,  340,  338,
      340,  339,  340,  341,  338,    0,  343,  340,    0,  344,
        0,    0,    0,  341,    0,  341,  343,  341,  343,  344,
      343,  344,  341,  344,    0,  343,  345,  339,  344,  345,
        0,    0,  346,    0,    0,    0,  345,    0,  345,    0,
      345,    0,  346,  347,  346,  345,  346,    0,    0,    0,
        0,  346,    0,  347,    0,  347,    0,  347,    0,  351,
      347,    0,  347,    0,  352,  352,  352,  352,  346,  351,
        0,  351,    0,  351,    0,    0,    0,    0,  351,  352,
      352,  352,  352,  352,  352,  352,  352,  353,  353,  353,

      353,    0,    0,    0,    0,    0,    0,    0,  353,    0,
        0,    0,  353,  353,  353,  353,  353,  353,  353,  353,
      354,  354,  354,  354,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,  354,  354,  354,  354,  354,
      354,  354,  354,  355,    0,  359,    0,  355,  355,  355,
      355,  355,  355,  355,  355,  359,    0,  359,    0,  359,
      360,  360,    0,  359,  359,    0,    0,    0,    0,    0,
      360,    0,  360,  362,  360,  361,  361,    0,  353,  360,
        0,    0,    0,  362,    0,  362,  361,  362,  361,    0,
      361,    0,  362,  364,  364,  361,    0,  365,  365,    0,

      366,    0,    0,  366,  364,    0,  364,  365,  364,  365,
      366,  365,  366,  364,  366,  367,  365,    0,  368,  366,
        0,    0,    0,    0,    0,  367,  369,  367,  368,  367,
      368,    0,  368,    0,  367,    0,  369,  368,  369,  370,
      369,    0,  369,    0,    0,  369,  370,  371,    0,  370,
        0,  370,    0,  370,    0,    0,    0,  371,  370,  371,
      372,  371,    0,  372,    0,    0,  371,  372,    0,    0,
      372,  373,  372,  373,  372,    0,    0,  374,    0,  372,
      374,  373,    0,  373,  374,  373,    0,  374,  375,  374,
      373,  374,    0,    0,    0,    0,  374,    0,  375,  376,

      375,    0,  375,    0,  375,    0,    0,  375,    0,  376,
        0,  376,    0,  376,  377,  377,    0,  376,  376,    0,
      378,    0,    0,    0,  377,    0,  377,    0,  377,    0,
      378,  379,  378,  377,  378,    0,    0,  380,  378,  378,
        0,  379,    0,  379,    0,  379,    0,  380,  379,  380,
      379,  380,  381,  385,    0,    0,  380,    0,    0,    0,
      385,    0,  381,  385,  381,  385,  381,  385,    0,    0,
      387,  381,  385,  386,  386,    0,  386,    0,    0,    0,
      387,    0,  387,  386,  387,  386,    0,  386,  387,  387,
      389,  388,  386,  388,    0,    0,    0,    0,    0,    0,

      389,  388,  389,  388,  389,  388,  390,    0,    0,  389,
      388,    0,  391,    0,    0,  391,  390,    0,  390,    0,
      390,    0,  391,  392,  391,  390,  391,  393,    0,    0,
      394,  391,    0,  392,    0,  392,  393,  392,    0,    0,
      392,    0,  392,    0,  396,    0,  393,  394,  393,    0,
      393,    0,    0,    0,  396,  393,  396,  394,  396,  394,
      397,  394,  396,  396,    0,    0,  394,    0,  398,    0,
      397,    0,  397,    0,  397,    0,  400,    0,  398,  397,
      398,    0,  398,    0,  402,    0,  400,  398,  400,    0,
      400,    0,  400,    0,  402,  400,  402,  403,  402,    0,

        0,    0,    0,  402,    0,    0,    0,  403,    0,  403,
      405,  403,    0,  406,    0,  403,  403,  405,    0,    0,
      405,  407,  405,  406,  405,  406,  407,  406,    0,  405,
        0,  407,  406,  407,  408,  407,    0,    0,    0,    0,
      407,    0,    0,    0,  408,  411,  408,    0,  408,    0,
        0,  412,    0,  408,  412,  411,  408,  411,    0,  411,
        0,  412,  413,  412,  411,  412,    0,    0,    0,    0,
      412,    0,  413,  415,  413,    0,  413,    0,  413,    0,
        0,  413,    0,  415,    0,  415,    0,  415,  420,  420,
      420,  420,  415,    0,    0,    0,    0,    0,    0,    0,

        0,  424,    0,  420,  420,  420,  420,  420,  420,  420,
      420,  424,    0,  424,  426,  424,  425,  425,  415,    0,
      424,    0,    0,    0,  426,  428,  426,  425,  426,  425,
        0,  425,  426,  426,    0,  428,  425,  428,  429,  428,
        0,  430,    0,    0,  428,    0,    0,    0,  429,    0,
      429,  430,  429,  430,    0,  430,  429,  429,  431,    0,
      430,  431,    0,  432,  432,    0,    0,    0,  431,    0,
      431,    0,  431,    0,  432,  433,  432,  431,  432,    0,
        0,  434,    0,  432,    0,  433,    0,  433,    0,  433,
        0,  434,    0,  434,  433,  434,  435,    0,  435,  434,

      434,    0,  436,    0,    0,    0,  435,    0,  435,    0,
      435,    0,  436,    0,  436,  435,  436,    0,    0,  437,
      436,  436,  437,    0,    0,  438,    0,  438,    0,  437,
        0,  437,    0,  437,    0,  438,  439,  438,  437,  438,
        0,  440,  440,    0,  438,    0,  439,    0,  439,    0,
      439,    0,  440,  441,  440,  439,  440,    0,    0,  442,
        0,  440,    0,  441,    0,  441,  442,  441,    0,  442,
      443,  442,  441,  442,    0,    0,  444,    0,  442,    0,
      443,    0,  443,  444,  443,    0,  444,  443,  444,  443,
      444,  445,  445,  449,    0,  444,    0,  449,    0,    0,

        0,    0,  445,  449,  445,  449,  445,  449,  450,    0,
        0,  445,  449,    0,  451,  450,  451,    0,  450,    0,
      450,    0,  450,    0,  451,  452,  451,  450,  451,    0,
        0,  453,    0,  451,  453,  452,    0,  452,    0,  452,
        0,  453,  452,  453,  452,  453,  454,  454,    0,    0,
      453,    0,  455,  455,    0,    0,  454,    0,  454,    0,
      454,    0,  455,  456,  455,  454,  455,    0,    0,    0,
        0,  455,    0,  456,    0,  456,    0,  456,  457,  456,
        0,  457,  456,    0,  458,    0,    0,    0,  457,    0,
      457,    0,  457,    0,  458,  461,  458,  457,  458,    0,

        0,  458,    0,  458,    0,  461,    0,  461,  464,  461,
      462,  462,    0,    0,  461,    0,    0,    0,  464,  466,
      464,  462,  464,  462,    0,  462,    0,  464,    0,  466,
      462,  466,  467,  466,    0,  467,    0,  466,  466,    0,
      469,    0,  467,    0,  467,    0,  467,    0,    0,    0,
      469,  467,  469,    0,  469,  470,  470,    0,  471,  469,
      469,  472,    0,    0,    0,  470,    0,  470,  471,  470,
      471,  472,  471,  472,  470,  472,  475,  471,    0,  476,
      472,    0,    0,    0,    0,    0,  475,    0,  475,  476,
      475,  476,    0,  476,  486,  475,  476,    0,  476,  482,

      482,  482,  482,    0,  486,    0,  486,    0,  486,    0,
        0,    0,  486,  486,  482,  482,  482,  482,  482,  482,
      482,  482,  483,    0,    0,    0,  483,  483,  483,  483,
      483,  483,  483,  483,  487,  489,    0,    0,    0,    0,
        0,  487,    0,    0,  487,  489,  487,  489,  487,  489,
        0,  491,  490,  487,  489,  490,    0,    0,    0,    0,
        0,  491,  490,  491,  490,  491,  490,  492,  493,    0,
      491,  490,    0,    0,  492,  493,    0,  492,  493,  492,
      493,  492,  493,  494,  495,    0,  492,  493,    0,    0,
        0,    0,    0,  494,  495,  494,  495,  494,  495,  496,

        0,    0,  494,  495,    0,  497,  496,  497,    0,  496,
        0,  496,    0,  496,    0,  497,  498,  497,  496,  497,
        0,    0,  499,    0,  497,    0,  498,  499,  498,    0,
      498,    0,  499,  500,  499,  498,  499,    0,    0,    0,
        0,  499,    0,  500,  501,  500,    0,  500,    0,    0,
        0,  500,  500,    0,  501,  502,  501,    0,  501,    0,
        0,  503,  501,  501,    0,  502,    0,  502,    0,  502,
        0,  503,  504,  503,  502,  503,    0,    0,  508,    0,
      503,    0,  504,    0,  504,  508,  504,    0,  508,  509,
      508,  504,  508,    0,    0,    0,    0,  508,    0,  509,

      510,  509,    0,  509,    0,    0,  511,  509,  509,    0,
      510,    0,  510,    0,  510,    0,  511,  512,  511,  510,
      511,    0,    0,  513,    0,  511,  513,  512,    0,  512,
        0,  512,    0,  513,  512,  513,  512,  513,  514,  515,
        0,    0,  513,    0,    0,    0,    0,    0,  514,  515,
      514,  515,  514,  515,  516,  516,  514,  514,  515,    0,
      517,    0,    0,    0,  516,    0,  516,    0,  516,    0,
      517,  520,  517,  516,  517,    0,    0,  522,    0,  517,
        0,  520,    0,  520,    0,  520,    0,  522,  524,  522,
      520,  522,    0,    0,  525,    0,  522,    0,  524,    0,

      524,    0,  524,    0,  525,  517,  525,  524,  525,  527,
        0,    0,  527,  525,    0,  528,    0,    0,  528,  527,
        0,  527,    0,  527,    0,  528,    0,  528,  527,  528,
      531,  531,    0,    0,  528,    0,  537,  537,  537,  537,
        0,  531,    0,  531,    0,  531,    0,    0,    0,    0,
      531,  537,  537,  537,  537,  537,  537,  537,  537,  540,
      541,  541,    0,    0,    0,    0,  540,    0,    0,  540,
      541,  540,  541,  540,  541,  543,    0,    0,  540,  541,
        0,    0,    0,  544,    0,  543,  545,  543,    0,  543,
        0,  543,    0,  544,  543,  544,  545,  544,  545,  546,

      545,  544,  544,    0,    0,  545,  549,  547,    0,  546,
        0,  546,    0,  546,    0,  548,    0,  547,  546,  547,
      547,  547,    0,  549,    0,  548,  547,  548,    0,  548,
        0,    0,    0,  549,  548,  549,  550,  549,    0,  550,
        0,    0,  549,    0,  551,    0,  550,    0,  550,    0,
      550,    0,  552,    0,  551,  550,  551,    0,  551,  552,
      553,    0,  552,  551,  552,    0,  552,    0,    0,    0,
      553,  552,  553,  558,  553,    0,  558,    0,    0,  553,
        0,  559,    0,  558,  560,  558,    0,  558,    0,    0,
        0,  559,  558,  559,  560,  559,  560,  561,  560,    0,

      559,    0,    0,  560,    0,  562,    0,  561,  563,  561,
        0,  561,  562,    0,    0,  562,  561,  562,  563,  562,
      563,  567,  563,    0,  562,  571,  563,  563,    0,  572,
        0,  567,    0,  567,    0,  567,    0,    0,    0,  572,
      567,  572,  571,  572,    0,  575,    0,    0,  572,    0,
        0,    0,  571,    0,  571,  575,  571,  575,    0,  575,
      584,  571,    0,    0,  575,  580,  580,  580,  580,    0,
      584,    0,  584,  584,  584,    0,    0,    0,  585,  584,
      580,  580,  580,  580,  580,  580,  580,  580,  585,  587,
      585,    0,  585,    0,    0,  588,    0,  585,    0,  587,

        0,  587,    0,  587,    0,  588,    0,  588,  587,  588,
      589,  590,  588,  589,  588,    0,  590,    0,    0,    0,
      589,  590,  589,  590,  589,  590,  591,    0,    0,  589,
      590,    0,  593,    0,  593,    0,  591,    0,  591,    0,
      591,    0,  593,  594,  593,  591,  593,    0,    0,  599,
        0,  593,    0,  594,    0,  594,    0,  594,    0,  599,
      600,  599,  594,  599,    0,  599,    0,    0,  599,    0,
      600,  601,  600,  600,  600,    0,    0,  611,  601,  600,
        0,  601,    0,  601,    0,  601,    0,  611,  620,  611,
      601,  611,    0,    0,  621,    0,  611,    0,  620,    0,

      620,    0,  620,    0,  621,    0,  621,  620,  621,  622,
      623,  622,    0,  621,    0,    0,    0,    0,    0,  622,
      623,  622,  623,  622,  623,  624,  626,    0,  622,  623,
        0,    0,    0,    0,    0,  624,  626,  624,  626,  624,
      626,  627,  624,    0,  624,  626,    0,  631,  627,    0,
        0,  627,    0,  627,    0,  627,    0,  631,  632,  631,
      627,  631,    0,    0,    0,    0,  631,    0,  632,  633,
      632,    0,  632,    0,    0,  648,    0,  632,    0,  633,
        0,  633,  633,  633,    0,  648,  649,  648,  633,  648,
        0,    0,  650,    0,  648,    0,  649,    0,  649,    0,

      649,    0,  650,  652,  650,  649,  650,    0,    0,    0,
        0,  650,    0,  652,  656,  652,    0,  652,    0,    0,
      657,  652,  652,    0,  656,    0,  656,    0,  656,    0,
      657,  656,  657,  656,  657,  672,  676,    0,    0,  657,
        0,    0,    0,    0,    0,  672,  676,  672,  676,  672,
      676,  677,  692,    0,  672,  676,    0,    0,  672,    0,
        0,  677,  692,  677,  692,  677,  692,    0,    0,    0,
      677,  692,  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,  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,  746,  746,  746,  746,  746,  746,
      746,  746,  746,  746,  746,  746,  746,  747,  747,  747,
      747,    0,  747,  747,  747,  747,  747,  747,  747,  747,
      748,  748,  748,    0,  748,    0,  748,    0,  748,  749,
      749,    0,  749,  749,  750,  750,    0,    0,  750,  750,
        0,  750,  750,  750,  750,  750,  750,  751,  751,  751,
      751,    0,  751,  751,  751,  751,  751,  751,  751,  751,
      752,  752,  752,  752,  752,  752,  752,  752,    0,  752,

      752,  753,    0,    0,    0,  753,  753,  753,  753,  753,
      753,  753,  754,    0,    0,    0,  754,  754,  754,  754,
      754,  754,  754,  755,  755,    0,  755,  755,  756,  756,
        0,  756,  756,  757,  757,    0,  757,  757,  758,    0,
      758,  758,  759,  759,    0,  759,  759,  760,    0,  760,
      760,  761,    0,  761,  761,  762,    0,  762,  762,  763,
        0,  763,  763,  764,  764,  764,  764,  764,  764,  764,
      764,  764,  764,  764,  764,  764,  765,  765,    0,  765,
      765,  766,  766,    0,  766,  766,  766,  766,  766,  766,
      766,  766,  766,  766,  767,  767,  767,    0,    0,    0,

      767,    0,    0,    0,    0,  767,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[138] =
    {   0,
       96,   97,   99,  102,  104,  107,  109,  110,  111,  114,
      116,  117,  118,  130,  137,  144,  150,  159,  167,  175,
      176,  178,  197,  203,  204,  205,  206,  207,  210,  216,
      223,  230,  237,  244,  251,  252,  253,  261,  262,  263,
      264,  265,  270,  271,  272,  273,  274,  275,  276,  277,
      278,  279,  280,  289,  290,  291,  292,  293,  294,  295,
      296,  297,  298,  299,  300,  301,  302,  303,  304,  305,
      306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
      316,  317,  318,  319,  320,  321,  322,  323,  324,  325,
      326,  327,  328,  329,  330,  331,  332,  333,  334,  335,

      336,  337,  338,  339,  340,  341,  342,  343,  344,  345,
      346,  351,  352,  357,  358,  359,  362,  367,  373,  381,
      391,  396,  398,  399,  403,  408,  413,  419,  420,  422,
      428,  441,  444,  469,  513,  515,  526
    } ;

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;

int asn1p_as_pointer;

static asn1c_integer_t _lex_atoi(const char *ptr);
static double          _lex_atod(const char *ptr);

/*
 * 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 1918 "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 94 "asn1p_l.l"


#line 2072 "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 >= 742 )
					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] != 4507 );

yy_find_action:
		yy_current_state = *--yy_state_ptr;
		yy_lp = yy_accept[yy_current_state];
goto find_rule; /* avoid `defined but not used' warning */
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 < 138 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 138 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 139 )
				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 96 "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 97 "asn1p_l.l"
yy_push_state(idash_comment);	/* Incorrect, but acceptable */
	YY_BREAK

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

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

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

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

case 11:
YY_RULE_SETUP
#line 116 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 117 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 118 "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 130 "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 137 "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 144 "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 150 "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 159 "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 167 "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 175 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 176 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 178 "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 197 "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 203 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 204 "asn1p_l.l"

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

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

	YY_BREAK

case 29:
YY_RULE_SETUP
#line 210 "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 216 "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 223 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 230 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 237 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 244 "asn1p_l.l"
{
		asn1p_lval.a_dbl = _lex_atod(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_realnumber;
	}
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 251 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 252 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 253 "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 38:
YY_RULE_SETUP
#line 261 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 262 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 263 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 264 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 270 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 271 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 272 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 273 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 274 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 275 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 276 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 277 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 278 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 279 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 280 "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 54:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 290 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 291 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 303 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 304 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 305 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 306 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 339 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 340 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 341 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 344 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 345 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 346 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 351 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 352 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 357 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 359 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 362 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 367 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 119:
YY_RULE_SETUP
#line 373 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 120:
YY_RULE_SETUP
#line 381 "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 391 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 396 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 398 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 124:
YY_RULE_SETUP
#line 399 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK

case 125:
YY_RULE_SETUP
#line 403 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 408 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 127:
YY_RULE_SETUP
#line 413 "asn1p_l.l"
{
				yy_push_state(with_syntax);
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 419 "asn1p_l.l"
return '[';
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 420 "asn1p_l.l"
return ']';
	YY_BREAK
case 130:
YY_RULE_SETUP
#line 422 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_whitespace;
			}
	YY_BREAK
case 131:
YY_RULE_SETUP
#line 428 "asn1p_l.l"
{
				yy_pop_state();
				if(YYSTATE == with_syntax) {
					asn1p_lval.tv_str = strdup(yytext);
					return TOK_Literal;
				} else {
					return '}';
				}
			}
	YY_BREAK

case 132:
YY_RULE_SETUP
#line 441 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 133:
YY_RULE_SETUP
#line 444 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = _lex_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 134:
YY_RULE_SETUP
#line 469 "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 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v3 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v4 = _lex_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 135:
YY_RULE_SETUP
#line 513 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 136:
YY_RULE_SETUP
#line 515 "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 137:
YY_RULE_SETUP
#line 526 "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 539 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 138:
YY_RULE_SETUP
#line 546 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3143 "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 >= 742 )
				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 >= 742 )
			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 == 741);
	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 546 "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
_lex_atoi(const char *ptr) {
	asn1c_integer_t value;
	if(asn1p_atoi(ptr, &value)) {
		fprintf(stderr,
			"Value \"%s\" at line %d is too large "
			"for this compiler! Please contact the asn1c author.\n",
			ptr, yylineno);
		errno = ERANGE;
	}
	return value;
}

static double
_lex_atod(const char *ptr) {
	double value;
	errno = 0;
	value = strtod(ptr, 0);
	if(errno) {
		fprintf(stderr,
			"Value \"%s\" at line %d is outside of `double` range "
			"in this compiler! Please contact the asn1c author.\n",
			ptr, yylineno);
		errno = ERANGE;
	}
	return value;
}

