@Override
		public CommonTree getTree() { return tree; }
	};


	// $ANTLR start "window_value_expression"
	// SelectClauseParser.g:274:1: window_value_expression : ( KW_RANGE sb= window_frame_start_boundary -> ^( TOK_WINDOWVALUES $sb) | KW_RANGE KW_BETWEEN s= window_frame_boundary KW_AND end= window_frame_boundary -> ^( TOK_WINDOWVALUES $s $end) );
	public final HiveParser_SelectClauseParser.window_value_expression_return window_value_expression() throws RecognitionException {
		HiveParser_SelectClauseParser.window_value_expression_return retval = new HiveParser_SelectClauseParser.window_value_expression_return();
		retval.start = input.LT(1);

		CommonTree root_0 = null;

		Token KW_RANGE107=null;
		Token KW_RANGE108=null;
		Token KW_BETWEEN109=null;
		Token KW_AND110=null;
		ParserRuleReturnScope sb =null;
		ParserRuleReturnScope s =null;
		ParserRuleReturnScope end =null;

		CommonTree KW_RANGE107_tree=null;
		CommonTree KW_RANGE108_tree=null;
		CommonTree KW_BETWEEN109_tree=null;
		CommonTree KW_AND110_tree=null;
		RewriteRuleTokenStream stream_KW_BETWEEN=new RewriteRuleTokenStream(adaptor,"token KW_BETWEEN");
		RewriteRuleTokenStream stream_KW_AND=new RewriteRuleTokenStream(adaptor,"token KW_AND");
		RewriteRuleTokenStream stream_KW_RANGE=new RewriteRuleTokenStream(adaptor,"token KW_RANGE");
		RewriteRuleSubtreeStream stream_window_frame_boundary=new RewriteRuleSubtreeStream(adaptor,"rule window_frame_boundary");
		RewriteRuleSubtreeStream stream_window_frame_start_boundary=new RewriteRuleSubtreeStream(adaptor,"rule window_frame_start_boundary");

		 gParent.msgs.push("window_value_expression"); 
		try {
			// SelectClauseParser.g:277:2: ( KW_RANGE sb= window_frame_start_boundary -> ^( TOK_WINDOWVALUES $sb) | KW_RANGE KW_BETWEEN s= window_frame_boundary KW_AND end= window_frame_boundary -> ^( TOK_WINDOWVALUES $s $end) )
			int alt39=2;
			int LA39_0 = input.LA(1);
			if ( (LA39_0==KW_RANGE) ) {
				int LA39_1 = input.LA(2);
				if ( (LA39_1==KW_BETWEEN) ) {
					alt39=2;
				}
				else if ( (LA39_1==KW_CURRENT||LA39_1==KW_UNBOUNDED||LA39_1==Number) ) {
					alt39=1;
				}

				else {
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 39, 1, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}

			else {
				NoViableAltException nvae =
					new NoViableAltException("", 39, 0, input);
				throw nvae;
			}

			switch (alt39) {
				case 1 :
					// SelectClauseParser.g:278:2: KW_RANGE sb= window_frame_start_boundary
					{
					KW_RANGE107=(Token)match(input,KW_RANGE,FOLLOW_KW_RANGE_in_window_value_expression1876);  
					stream_KW_RANGE.add(KW_RANGE107);

					pushFollow(FOLLOW_window_frame_start_boundary_in_window_value_expression1880);
					sb=window_frame_start_boundary();
					state._fsp--;

					stream_window_frame_start_boundary.add(sb.getTree());
					// AST REWRITE
					// elements: sb
					// token labels: 
					// rule labels: retval, sb
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
					RewriteRuleSubtreeStream stream_sb=new RewriteRuleSubtreeStream(adaptor,"rule sb",sb!=null?sb.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 278:42: -> ^( TOK_WINDOWVALUES $sb)
					{
						// SelectClauseParser.g:278:45: ^( TOK_WINDOWVALUES $sb)
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TOK_WINDOWVALUES, "TOK_WINDOWVALUES"), root_1);
						adaptor.addChild(root_1, stream_sb.nextTree());
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;
				case 2 :
					// SelectClauseParser.g:279:2: KW_RANGE KW_BETWEEN s= window_frame_boundary KW_AND end= window_frame_boundary
					{
					KW_RANGE108=(Token)match(input,KW_RANGE,FOLLOW_KW_RANGE_in_window_value_expression1894);  
					stream_KW_RANGE.add(KW_RANGE108);

					KW_BETWEEN109=(Token)match(input,KW_BETWEEN,FOLLOW_KW_BETWEEN_in_window_value_expression1896);  
					stream_KW_BETWEEN.add(KW_BETWEEN109);

					pushFollow(FOLLOW_window_frame_boundary_in_window_value_expression1900);
					s=window_frame_boundary();
					state._fsp--;

					stream_window_frame_boundary.add(s.getTree());
					KW_AND110=(Token)match(input,KW_AND,FOLLOW_KW_AND_in_window_value_expression1902);  
					stream_KW_AND.add(KW_AND110);

					pushFollow(FOLLOW_window_frame_boundary_in_window_value_expression1906);
					end=window_frame_boundary();
					state._fsp--;

					stream_window_frame_boundary.add(end.getTree());
					// AST REWRITE
					// elements: end, s
					// token labels: 
					// rule labels: retval, s, end
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
					RewriteRuleSubtreeStream stream_s=new RewriteRuleSubtreeStream(adaptor,"rule s",s!=null?s.getTree():null);
					RewriteRuleSubtreeStream stream_end=new RewriteRuleSubtreeStream(adaptor,"rule end",end!=null?end.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 279:79: -> ^( TOK_WINDOWVALUES $s $end)
					{
						// SelectClauseParser.g:279:82: ^( TOK_WINDOWVALUES $s $end)
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TOK_WINDOWVALUES, "TOK_WINDOWVALUES"), root_1);
						adaptor.addChild(root_1, stream_s.nextTree());
						adaptor.addChild(root_1, stream_end.nextTree());
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;

			}
			retval.stop = input.LT(-1);

			retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

			 gParent.msgs.pop(); 
		}

		catch (RecognitionException e) {
		  throw e;
		}

		finally {
			// do for sure before leaving
		}
		return retval;
	}
	// $ANTLR end "window_value_expression"


	public static class window_frame_start_boundary_return extends ParserRuleReturnScope {
		CommonTree tree;
		@Override
		public CommonTree getTree() { return tree; }
	};


	// $ANTLR start "window_frame_start_boundary"
	// SelectClauseParser.g:282:1: window_frame_start_boundary : ( KW_UNBOUNDED KW_PRECEDING -> ^( KW_PRECEDING KW_UNBOUNDED ) | KW_CURRENT KW_ROW -> ^( KW_CURRENT ) | Number KW_PRECEDING -> ^( KW_PRECEDING Number ) );
	public final HiveParser_SelectClauseParser.window_frame_start_boundary_return window_frame_start_boundary() throws RecognitionException {
		HiveParser_SelectClauseParser.window_frame_start_boundary_return retval = new HiveParser_SelectClauseParser.window_frame_start_boundary_return();
		retval.start = input.LT(1);

		CommonTree root_0 = null;

		Token KW_UNBOUNDED111=null;
		Token KW_PRECEDING112=null;
		Token KW_CURRENT113=null;
		Token KW_ROW114=null;
		Token Number115=null;
		Token KW_PRECEDING116=null;

		CommonTree KW_UNBOUNDED111_tree=null;
		CommonTree KW_PRECEDING112_tree=null;
		CommonTree KW_CURRENT113_tree=null;
		CommonTree KW_ROW114_tree=null;
		CommonTree Number115_tree=null;
		CommonTree KW_PRECEDING116_tree=null;
		RewriteRuleTokenStream stream_KW_PRECEDING=new RewriteRuleTokenStream(adaptor,"token KW_PRECEDING");
		RewriteRuleTokenStream stream_Number=new RewriteRuleTokenStream(adaptor,"token Number");
		RewriteRuleTokenStream stream_KW_CURRENT=new RewriteRuleTokenStream(adaptor,"token KW_CURRENT");
		RewriteRuleTokenStream stream_KW_ROW=new RewriteRuleTokenStream(adaptor,"token KW_ROW");
		RewriteRuleTokenStream stream_KW_UNBOUNDED=new RewriteRuleTokenStream(adaptor,"token KW_UNBOUNDED");

		 gParent.msgs.push("windowframestartboundary"); 
		try {
			// SelectClauseParser.g:285:3: ( KW_UNBOUNDED KW_PRECEDING -> ^( KW_PRECEDING KW_UNBOUNDED ) | KW_CURRENT KW_ROW -> ^( KW_CURRENT ) | Number KW_PRECEDING -> ^( KW_PRECEDING Number ) )
			int alt40=3;
			switch ( input.LA(1) ) {
			case KW_UNBOUNDED:
				{
				alt40=1;
				}
				break;
			case KW_CURRENT:
				{
				alt40=2;
				}
				break;
			case Number:
				{
				alt40=3;
				}
				break;
			default:
				NoViableAltException nvae =
					new NoViableAltException("", 40, 0, input);
				throw nvae;
			}
			switch (alt40) {
				case 1 :
					// SelectClauseParser.g:286:3: KW_UNBOUNDED KW_PRECEDING
					{
					KW_UNBOUNDED111=(Token)match(input,KW_UNBOUNDED,FOLLOW_KW_UNBOUNDED_in_window_frame_start_boundary1941);  
					stream_KW_UNBOUNDED.add(KW_UNBOUNDED111);

					KW_PRECEDING112=(Token)match(input,KW_PRECEDING,FOLLOW_KW_PRECEDING_in_window_frame_start_boundary1943);  
					stream_KW_PRECEDING.add(KW_PRECEDING112);

					// AST REWRITE
					// elements: KW_UNBOUNDED, KW_PRECEDING
					// token labels: 
					// rule labels: retval
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 286:30: -> ^( KW_PRECEDING KW_UNBOUNDED )
					{
						// SelectClauseParser.g:286:33: ^( KW_PRECEDING KW_UNBOUNDED )
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot(stream_KW_PRECEDING.nextNode(), root_1);
						adaptor.addChild(root_1, stream_KW_UNBOUNDED.nextNode());
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;
				case 2 :
					// SelectClauseParser.g:287:3: KW_CURRENT KW_ROW
					{
					KW_CURRENT113=(Token)match(input,KW_CURRENT,FOLLOW_KW_CURRENT_in_window_frame_start_boundary1959);  
					stream_KW_CURRENT.add(KW_CURRENT113);

					KW_ROW114=(Token)match(input,KW_ROW,FOLLOW_KW_ROW_in_window_frame_start_boundary1961);  
					stream_KW_ROW.add(KW_ROW114);

					// AST REWRITE
					// elements: KW_CURRENT
					// token labels: 
					// rule labels: retval
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 287:22: -> ^( KW_CURRENT )
					{
						// SelectClauseParser.g:287:25: ^( KW_CURRENT )
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot(stream_KW_CURRENT.nextNode(), root_1);
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;
				case 3 :
					// SelectClauseParser.g:288:3: Number KW_PRECEDING
					{
					Number115=(Token)match(input,Number,FOLLOW_Number_in_window_frame_start_boundary1974);  
					stream_Number.add(Number115);

					KW_PRECEDING116=(Token)match(input,KW_PRECEDING,FOLLOW_KW_PRECEDING_in_window_frame_start_boundary1976);  
					stream_KW_PRECEDING.add(KW_PRECEDING116);

					// AST REWRITE
					// elements: Number, KW_PRECEDING
					// token labels: 
					// rule labels: retval
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 288:23: -> ^( KW_PRECEDING Number )
					{
						// SelectClauseParser.g:288:26: ^( KW_PRECEDING Number )
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot(stream_KW_PRECEDING.nextNode(), root_1);
						adaptor.addChild(root_1, stream_Number.nextNode());
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;

			}
			retval.stop = input.LT(-1);

			retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

			 gParent.msgs.pop(); 
		}

		catch (RecognitionException e) {
		  throw e;
		}

		finally {
			// do for sure before leaving
		}
		return retval;
	}
	// $ANTLR end "window_frame_start_boundary"


	public static class window_frame_boundary_return extends ParserRuleReturnScope {
		CommonTree tree;
		@Override
		public CommonTree getTree() { return tree; }
	};


	// $ANTLR start "window_frame_boundary"
	// SelectClauseParser.g:291:1: window_frame_boundary : ( KW_UNBOUNDED (r= KW_PRECEDING |r= KW_FOLLOWING ) -> ^( $r KW_UNBOUNDED ) | KW_CURRENT KW_ROW -> ^( KW_CURRENT ) | Number (d= KW_PRECEDING |d= KW_FOLLOWING ) -> ^( $d Number ) );
	public final HiveParser_SelectClauseParser.window_frame_boundary_return window_frame_boundary() throws RecognitionException {
		HiveParser_SelectClauseParser.window_frame_boundary_return retval = new HiveParser_SelectClauseParser.window_frame_boundary_return();
		retval.start = input.LT(1);

		CommonTree root_0 = null;

		Token r=null;
		Token d=null;
		Token KW_UNBOUNDED117=null;
		Token KW_CURRENT118=null;
		Token KW_ROW119=null;
		Token Number120=null;

		CommonTree r_tree=null;
		CommonTree d_tree=null;
		CommonTree KW_UNBOUNDED117_tree=null;
		CommonTree KW_CURRENT118_tree=null;
		CommonTree KW_ROW119_tree=null;
		CommonTree Number120_tree=null;
		RewriteRuleTokenStream stream_KW_PRECEDING=new RewriteRuleTokenStream(adaptor,"token KW_PRECEDING");
		RewriteRuleTokenStream stream_Number=new RewriteRuleTokenStream(adaptor,"token Number");
		RewriteRuleTokenStream stream_KW_FOLLOWING=new RewriteRuleTokenStream(adaptor,"token KW_FOLLOWING");
		RewriteRuleTokenStream stream_KW_CURRENT=new RewriteRuleTokenStream(adaptor,"token KW_CURRENT");
		RewriteRuleTokenStream stream_KW_ROW=new RewriteRuleTokenStream(adaptor,"token KW_ROW");
		RewriteRuleTokenStream stream_KW_UNBOUNDED=new RewriteRuleTokenStream(adaptor,"token KW_UNBOUNDED");

		 gParent.msgs.push("windowframeboundary"); 
		try {
			// SelectClauseParser.g:294:3: ( KW_UNBOUNDED (r= KW_PRECEDING |r= KW_FOLLOWING ) -> ^( $r KW_UNBOUNDED ) | KW_CURRENT KW_ROW -> ^( KW_CURRENT ) | Number (d= KW_PRECEDING |d= KW_FOLLOWING ) -> ^( $d Number ) )
			int alt43=3;
			switch ( input.LA(1) ) {
			case KW_UNBOUNDED:
				{
				alt43=1;
				}
				break;
			case KW_CURRENT:
				{
				alt43=2;
				}
				break;
			case Number:
				{
				alt43=3;
				}
				break;
			default:
				NoViableAltException nvae =
					new NoViableAltException("", 43, 0, input);
				throw nvae;
			}
			switch (alt43) {
				case 1 :
					// SelectClauseParser.g:295:3: KW_UNBOUNDED (r= KW_PRECEDING |r= KW_FOLLOWING )
					{
					KW_UNBOUNDED117=(Token)match(input,KW_UNBOUNDED,FOLLOW_KW_UNBOUNDED_in_window_frame_boundary2007);  
					stream_KW_UNBOUNDED.add(KW_UNBOUNDED117);

					// SelectClauseParser.g:295:16: (r= KW_PRECEDING |r= KW_FOLLOWING )
					int alt41=2;
					int LA41_0 = input.LA(1);
					if ( (LA41_0==KW_PRECEDING) ) {
						alt41=1;
					}
					else if ( (LA41_0==KW_FOLLOWING) ) {
						alt41=2;
					}

					else {
						NoViableAltException nvae =
							new NoViableAltException("", 41, 0, input);
						throw nvae;
					}

					switch (alt41) {
						case 1 :
							// SelectClauseParser.g:295:17: r= KW_PRECEDING
							{
							r=(Token)match(input,KW_PRECEDING,FOLLOW_KW_PRECEDING_in_window_frame_boundary2012);  
							stream_KW_PRECEDING.add(r);

							}
							break;
						case 2 :
							// SelectClauseParser.g:295:32: r= KW_FOLLOWING
							{
							r=(Token)match(input,KW_FOLLOWING,FOLLOW_KW_FOLLOWING_in_window_frame_boundary2016);  
							stream_KW_FOLLOWING.add(r);

							}
							break;

					}

					// AST REWRITE
					// elements: KW_UNBOUNDED, r
					// token labels: r
					// rule labels: retval
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleTokenStream stream_r=new RewriteRuleTokenStream(adaptor,"token r",r);
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 295:49: -> ^( $r KW_UNBOUNDED )
					{
						// SelectClauseParser.g:295:52: ^( $r KW_UNBOUNDED )
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot(stream_r.nextNode(), root_1);
						adaptor.addChild(root_1, stream_KW_UNBOUNDED.nextNode());
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;
				case 2 :
					// SelectClauseParser.g:296:3: KW_CURRENT KW_ROW
					{
					KW_CURRENT118=(Token)match(input,KW_CURRENT,FOLLOW_KW_CURRENT_in_window_frame_boundary2034);  
					stream_KW_CURRENT.add(KW_CURRENT118);

					KW_ROW119=(Token)match(input,KW_ROW,FOLLOW_KW_ROW_in_window_frame_boundary2036);  
					stream_KW_ROW.add(KW_ROW119);

					// AST REWRITE
					// elements: KW_CURRENT
					// token labels: 
					// rule labels: retval
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 296:22: -> ^( KW_CURRENT )
					{
						// SelectClauseParser.g:296:25: ^( KW_CURRENT )
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot(stream_KW_CURRENT.nextNode(), root_1);
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;
				case 3 :
					// SelectClauseParser.g:297:3: Number (d= KW_PRECEDING |d= KW_FOLLOWING )
					{
					Number120=(Token)match(input,Number,FOLLOW_Number_in_window_frame_boundary2049);  
					stream_Number.add(Number120);

					// SelectClauseParser.g:297:10: (d= KW_PRECEDING |d= KW_FOLLOWING )
					int alt42=2;
					int LA42_0 = input.LA(1);
					if ( (LA42_0==KW_PRECEDING) ) {
						alt42=1;
					}
					else if ( (LA42_0==KW_FOLLOWING) ) {
						alt42=2;
					}

					else {
						NoViableAltException nvae =
							new NoViableAltException("", 42, 0, input);
						throw nvae;
					}

					switch (alt42) {
						case 1 :
							// SelectClauseParser.g:297:11: d= KW_PRECEDING
							{
							d=(Token)match(input,KW_PRECEDING,FOLLOW_KW_PRECEDING_in_window_frame_boundary2054);  
							stream_KW_PRECEDING.add(d);

							}
							break;
						case 2 :
							// SelectClauseParser.g:297:28: d= KW_FOLLOWING
							{
							d=(Token)match(input,KW_FOLLOWING,FOLLOW_KW_FOLLOWING_in_window_frame_boundary2060);  
							stream_KW_FOLLOWING.add(d);

							}
							break;

					}

					// AST REWRITE
					// elements: d, Number
					// token labels: d
					// rule labels: retval
					// token list labels: 
					// rule list labels: 
					// wildcard labels: 
					retval.tree = root_0;
					RewriteRuleTokenStream stream_d=new RewriteRuleTokenStream(adaptor,"token d",d);
					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);

					root_0 = (CommonTree)adaptor.nil();
					// 297:45: -> ^( $d Number )
					{
						// SelectClauseParser.g:297:48: ^( $d Number )
						{
						CommonTree root_1 = (CommonTree)adaptor.nil();
						root_1 = (CommonTree)adaptor.becomeRoot(stream_d.nextNode(), root_1);
						adaptor.addChild(root_1, stream_Number.nextNode());
						adaptor.addChild(root_0, root_1);
						}

					}


					retval.tree = root_0;

					}
					break;

			}
			retval.stop = input.LT(-1);

			retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

			 gParent.msgs.pop(); 
		}

		catch (RecognitionException e) {
		  throw e;
		}

		finally {
			// do for sure before leaving
		}
		return retval;
	}
	// $ANTLR end "window_frame_boundary"

	// Delegated rules


	protected DFA7 dfa7 = new DFA7(this);
	protected DFA16 dfa16 = new DFA16(this);
	protected DFA14 dfa14 = new DFA14(this);
	protected DFA19 dfa19 = new DFA19(this);
	protected DFA22 dfa22 = new DFA22(this);
	static final String DFA7_eotS =
		"\u0083\uffff";
	static final String DFA7_eofS =
		"\1\uffff\2\3\u0080\uffff";
	static final String DFA7_minS =
		"\1\41\2\14\23\uffff\1\11\45\uffff\1\11\106\uffff";
	static final String DFA7_maxS =
		"\1\u011b\2\u0130\23\uffff\1\u0141\45\uffff\1\u0141\106\uffff";
	static final String DFA7_acceptS =
		"\3\uffff\1\1\24\uffff\1\2\152\uffff";
	static final String DFA7_specialS =
		"\u0083\uffff}>";
	static final String[] DFA7_transitionS = {
			"\1\1\3\uffff\2\2\1\uffff\2\2\1\uffff\16\2\2\uffff\5\2\1\uffff\4\2\1\uffff"+
			"\2\2\1\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\13\2\1\uffff\4\2\1\uffff"+
			"\1\2\1\uffff\1\2\1\uffff\4\2\1\uffff\7\2\1\uffff\3\2\1\uffff\1\2\1\uffff"+
			"\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\15\2\1\uffff\3\2\1\uffff\4\2\1\uffff"+
			"\12\2\2\uffff\3\2\2\uffff\2\2\1\uffff\4\2\1\uffff\1\2\1\uffff\6\2\1\uffff"+
			"\1\2\1\uffff\5\2\2\uffff\14\2\1\uffff\16\2\2\uffff\25\2\1\uffff\4\2\1"+
			"\uffff\4\2\1\uffff\4\2\1\uffff\3\2\1\uffff\12\2\1\uffff\1\2\2\uffff\1"+
			"\2\1\uffff\1\2",
			"\1\3\37\uffff\1\30\4\uffff\3\30\10\uffff\1\3\22\uffff\2\30\2\uffff\1"+
			"\30\12\uffff\1\3\1\30\22\uffff\1\30\4\uffff\1\3\4\uffff\1\3\1\uffff\1"+
			"\3\16\uffff\1\3\1\30\10\uffff\1\3\3\uffff\1\3\11\uffff\1\26\20\uffff"+
			"\1\3\30\uffff\1\3\1\uffff\1\3\12\uffff\1\3\4\uffff\1\3\12\uffff\1\30"+
			"\1\3\5\uffff\2\30\10\uffff\2\30\11\uffff\1\3\1\30\13\uffff\1\30\2\uffff"+
			"\1\3\1\uffff\1\3\25\uffff\1\3",
			"\1\3\37\uffff\1\30\4\uffff\3\30\10\uffff\1\3\22\uffff\2\30\2\uffff\1"+
			"\30\12\uffff\1\3\1\30\22\uffff\1\30\4\uffff\1\3\4\uffff\1\3\1\uffff\1"+
			"\3\16\uffff\1\3\1\30\10\uffff\1\3\3\uffff\1\3\11\uffff\1\74\20\uffff"+
			"\1\3\30\uffff\1\3\1\uffff\1\3\12\uffff\1\3\4\uffff\1\3\12\uffff\1\30"+
			"\1\3\5\uffff\2\30\10\uffff\2\30\11\uffff\1\3\1\30\13\uffff\1\30\2\uffff"+
			"\1\3\1\uffff\1\3\25\uffff\1\3",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\3\5\uffff\1\3\6\uffff\1\3\12\uffff\1\3\3\uffff\2\3\1\uffff\2\3\1"+
			"\uffff\25\3\1\uffff\4\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\uffff\3"+
			"\3\1\uffff\13\3\1\uffff\4\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\1\uffff"+
			"\7\3\1\uffff\3\3\1\uffff\1\3\1\uffff\4\3\1\uffff\1\3\1\uffff\17\3\1\uffff"+
			"\3\3\1\uffff\4\3\1\uffff\12\3\1\uffff\4\3\2\uffff\7\3\1\uffff\1\3\1\uffff"+
			"\6\3\1\uffff\1\3\1\uffff\5\3\2\uffff\14\3\1\uffff\16\3\2\uffff\25\3\1"+
			"\uffff\4\3\1\uffff\4\3\1\uffff\4\3\1\uffff\3\3\1\uffff\12\3\1\uffff\1"+
			"\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\30\1\uffff\1\3\4\uffff\1\3\6\uffff"+
			"\1\3\1\uffff\1\3\10\uffff\1\3\1\uffff\2\3\1\uffff\1\3\4\uffff\2\3",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\3\5\uffff\1\3\6\uffff\1\3\12\uffff\1\3\3\uffff\2\3\1\uffff\2\3\1"+
			"\uffff\25\3\1\uffff\4\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\uffff\3"+
			"\3\1\uffff\13\3\1\uffff\4\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\1\uffff"+
			"\7\3\1\uffff\3\3\1\uffff\1\3\1\uffff\4\3\1\uffff\1\3\1\uffff\17\3\1\uffff"+
			"\3\3\1\uffff\4\3\1\uffff\12\3\1\uffff\4\3\2\uffff\7\3\1\uffff\1\3\1\uffff"+
			"\6\3\1\uffff\1\3\1\uffff\5\3\2\uffff\14\3\1\uffff\16\3\2\uffff\25\3\1"+
			"\uffff\4\3\1\uffff\4\3\1\uffff\4\3\1\uffff\3\3\1\uffff\12\3\1\uffff\1"+
			"\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\30\1\uffff\1\3\4\uffff\1\3\6\uffff"+
			"\1\3\1\uffff\1\3\10\uffff\1\3\1\uffff\2\3\1\uffff\1\3\4\uffff\2\3",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS);
	static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS);
	static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS);
	static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS);
	static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS);
	static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS);
	static final short[][] DFA7_transition;

	static {
		int numStates = DFA7_transitionS.length;
		DFA7_transition = new short[numStates][];
		for (int i=0; i<numStates; i++) {
			DFA7_transition[i] = DFA.unpackEncodedString(DFA7_transitionS[i]);
		}
	}

	protected class DFA7 extends DFA {

		public DFA7(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 7;
			this.eot = DFA7_eot;
			this.eof = DFA7_eof;
			this.min = DFA7_min;
			this.max = DFA7_max;
			this.accept = DFA7_accept;
			this.special = DFA7_special;
			this.transition = DFA7_transition;
		}
		@Override
		public String getDescription() {
			return "79:65: ( aliasList | columnNameTypeList )";
		}
	}

	static final String DFA16_eotS =
		"\u00e2\uffff";
	static final String DFA16_eofS =
		"\1\4\1\2\1\uffff\1\2\3\uffff\1\2\1\uffff\1\2\1\uffff\4\2\1\uffff\2\2\u00d0"+
		"\uffff";
	static final String DFA16_minS =
		"\2\14\1\uffff\1\14\3\uffff\1\14\1\uffff\1\14\1\uffff\4\14\1\uffff\2\14"+
		"\u00d0\uffff";
	static final String DFA16_maxS =
		"\2\u0130\1\uffff\1\u0130\3\uffff\1\u0130\1\uffff\1\u0130\1\uffff\4\u0130"+
		"\1\uffff\2\u0130\u00d0\uffff";
	static final String DFA16_acceptS =
		"\2\uffff\1\1\1\uffff\1\3\22\uffff\1\2\u00ca\uffff";
	static final String DFA16_specialS =
		"\u00e2\uffff}>";
	static final String[] DFA16_transitionS = {
			"\1\4\24\uffff\1\2\3\uffff\2\2\1\uffff\2\2\1\uffff\2\2\1\1\13\2\2\uffff"+
			"\1\2\1\13\3\2\1\uffff\4\2\1\uffff\2\2\1\uffff\1\2\1\uffff\2\2\1\uffff"+
			"\3\2\1\uffff\13\2\1\uffff\1\14\3\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4"+
			"\2\1\uffff\7\2\1\uffff\3\2\1\4\1\2\1\uffff\2\2\1\7\1\2\1\4\1\2\1\uffff"+
			"\1\2\1\uffff\12\2\1\21\2\2\1\uffff\3\2\1\uffff\2\2\1\3\1\2\1\uffff\1"+
			"\2\1\16\10\2\1\uffff\1\4\3\2\2\uffff\2\2\1\uffff\4\2\1\uffff\1\2\1\uffff"+
			"\1\2\1\11\4\2\1\uffff\1\2\1\uffff\5\2\2\uffff\14\2\1\4\16\2\1\uffff\1"+
			"\4\13\2\1\15\11\2\1\uffff\4\2\1\uffff\4\2\1\uffff\4\2\1\uffff\1\2\1\20"+
			"\1\2\1\uffff\12\2\1\uffff\1\2\1\uffff\1\4\1\2\1\4\1\2\24\uffff\1\4",
			"\1\2\24\uffff\1\2\3\uffff\2\2\1\uffff\2\2\1\uffff\16\2\2\uffff\5\2\1"+
			"\uffff\4\2\1\uffff\2\2\1\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\13"+
			"\2\1\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4\2\1\uffff\7\2\1\uffff"+
			"\5\2\1\uffff\6\2\1\uffff\1\2\1\uffff\15\2\1\uffff\3\2\1\uffff\4\2\1\uffff"+
			"\12\2\1\uffff\4\2\2\uffff\2\2\1\uffff\4\2\1\uffff\1\2\1\uffff\6\2\1\uffff"+
			"\1\2\1\uffff\5\2\2\uffff\33\2\1\uffff\26\2\1\uffff\4\2\1\uffff\4\2\1"+
			"\uffff\4\2\1\uffff\3\2\1\uffff\12\2\1\uffff\1\2\1\uffff\4\2\3\uffff\1"+
			"\27\20\uffff\1\2",
			"",
			"\1\2\57\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2\1\uffff\1\2"+
			"\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff\1\2\32\uffff"+
			"\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\15\uffff\1\4\1\uffff\1\2"+
			"\1\uffff\1\2\25\uffff\1\2",
			"",
			"",
			"",
			"\1\2\52\uffff\1\4\4\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2"+
			"\1\uffff\1\2\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff"+
			"\1\2\32\uffff\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\17\uffff\1\2"+
			"\1\uffff\1\2\25\uffff\1\2",
			"",
			"\1\2\52\uffff\1\4\4\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2"+
			"\1\uffff\1\2\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff"+
			"\1\2\32\uffff\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\17\uffff\1\2"+
			"\1\uffff\1\2\25\uffff\1\2",
			"",
			"\1\2\52\uffff\1\4\4\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2"+
			"\1\uffff\1\2\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff"+
			"\1\2\32\uffff\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\17\uffff\1\2"+
			"\1\uffff\1\2\25\uffff\1\2",
			"\1\2\52\uffff\1\4\4\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2"+
			"\1\uffff\1\2\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff"+
			"\1\2\32\uffff\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\17\uffff\1\2"+
			"\1\uffff\1\2\25\uffff\1\2",
			"\1\2\52\uffff\1\4\4\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2"+
			"\1\uffff\1\2\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff"+
			"\1\2\32\uffff\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\17\uffff\1\2"+
			"\1\uffff\1\2\25\uffff\1\2",
			"\1\2\57\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2\1\uffff\1\2"+
			"\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff\1\2\32\uffff"+
			"\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\17\uffff\1\2\1\uffff\1\2"+
			"\20\uffff\1\4\4\uffff\1\2",
			"",
			"\1\2\32\uffff\1\4\24\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2"+
			"\1\uffff\1\2\16\uffff\1\2\11\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff"+
			"\1\2\32\uffff\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2\17\uffff\1\2"+
			"\1\uffff\1\2\25\uffff\1\2",
			"\1\2\57\uffff\1\2\41\uffff\1\2\30\uffff\1\2\4\uffff\1\2\1\uffff\1\2"+
			"\16\uffff\1\2\3\uffff\1\4\5\uffff\1\2\3\uffff\1\2\11\uffff\1\2\20\uffff"+
			"\1\2\5\uffff\1\4\24\uffff\1\2\17\uffff\1\2\13\uffff\1\2\32\uffff\1\2"+
			"\17\uffff\1\2\1\uffff\1\2\25\uffff\1\2",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
	static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
	static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
	static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
	static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
	static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
	static final short[][] DFA16_transition;

	static {
		int numStates = DFA16_transitionS.length;
		DFA16_transition = new short[numStates][];
		for (int i=0; i<numStates; i++) {
			DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
		}
	}

	protected class DFA16 extends DFA {

		public DFA16(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 16;
			this.eot = DFA16_eot;
			this.eof = DFA16_eof;
			this.min = DFA16_min;
			this.max = DFA16_max;
			this.accept = DFA16_accept;
			this.special = DFA16_special;
			this.transition = DFA16_transition;
		}
		@Override
		public String getDescription() {
			return "134:7: ( ( ( KW_AS )? identifier ) | ( KW_AS LPAREN identifier ( COMMA identifier )* RPAREN ) )?";
		}
	}

	static final String DFA14_eotS =
		"\u00ce\uffff";
	static final String DFA14_eofS =
		"\1\uffff\1\2\3\uffff\1\4\3\uffff\1\4\1\uffff\1\4\1\uffff\4\4\1\uffff\2"+
		"\4\u00ba\uffff";
	static final String DFA14_minS =
		"\1\41\1\14\3\uffff\1\14\3\uffff\1\14\1\uffff\1\14\1\uffff\4\14\1\uffff"+
		"\2\14\u00ba\uffff";
	static final String DFA14_maxS =
		"\1\u011b\1\u0130\3\uffff\1\u0130\3\uffff\1\u0130\1\uffff\1\u0130\1\uffff"+
		"\4\u0130\1\uffff\2\u0130\u00ba\uffff";
	static final String DFA14_acceptS =
		"\2\uffff\1\2\1\uffff\1\1\u00c9\uffff";
	static final String DFA14_specialS =
		"\u00ce\uffff}>";
	static final String[] DFA14_transitionS = {
			"\1\2\3\uffff\2\2\1\uffff\2\2\1\uffff\2\2\1\1\13\2\2\uffff\5\2\1\uffff"+
			"\4\2\1\uffff\2\2\1\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\13\2\1\uffff"+
			"\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4\2\1\uffff\7\2\1\uffff\3\2\1\uffff"+
			"\1\2\1\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\15\2\1\uffff\3\2\1\uffff"+
			"\4\2\1\uffff\12\2\2\uffff\3\2\2\uffff\2\2\1\uffff\4\2\1\uffff\1\2\1\uffff"+
			"\6\2\1\uffff\1\2\1\uffff\5\2\2\uffff\14\2\1\uffff\16\2\2\uffff\25\2\1"+
			"\uffff\4\2\1\uffff\4\2\1\uffff\4\2\1\uffff\3\2\1\uffff\12\2\1\uffff\1"+
			"\2\2\uffff\1\2\1\uffff\1\2",
			"\1\2\24\uffff\1\4\3\uffff\2\4\1\uffff\2\4\1\uffff\16\4\2\uffff\1\4\1"+
			"\15\3\4\1\uffff\4\4\1\uffff\2\4\1\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1"+
			"\uffff\13\4\1\uffff\1\16\3\4\1\uffff\1\4\1\uffff\1\4\1\uffff\4\4\1\uffff"+
			"\7\4\1\uffff\3\4\1\2\1\4\1\uffff\2\4\1\11\1\4\1\2\1\4\1\uffff\1\4\1\uffff"+
			"\12\4\1\23\2\4\1\uffff\3\4\1\uffff\2\4\1\5\1\4\1\uffff\1\4\1\20\10\4"+
			"\1\uffff\1\2\3\4\2\uffff\2\4\1\uffff\4\4\1\uffff\1\4\1\uffff\1\4\1\13"+
			"\4\4\1\uffff\1\4\1\uffff\5\4\2\uffff\14\4\1\2\16\4\1\uffff\1\2\13\4\1"+
			"\17\11\4\1\uffff\4\4\1\uffff\4\4\1\uffff\4\4\1\uffff\1\4\1\22\1\4\1\uffff"+
			"\12\4\1\uffff\1\4\1\uffff\1\2\1\4\1\2\1\4\24\uffff\1\2",
			"",
			"",
			"",
			"\1\4\57\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4\1\uffff\1\4"+
			"\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff\1\4\32\uffff"+
			"\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\15\uffff\1\2\1\uffff\1\4"+
			"\1\uffff\1\4\25\uffff\1\4",
			"",
			"",
			"",
			"\1\4\52\uffff\1\2\4\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4"+
			"\1\uffff\1\4\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff"+
			"\1\4\32\uffff\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\17\uffff\1\4"+
			"\1\uffff\1\4\25\uffff\1\4",
			"",
			"\1\4\52\uffff\1\2\4\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4"+
			"\1\uffff\1\4\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff"+
			"\1\4\32\uffff\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\17\uffff\1\4"+
			"\1\uffff\1\4\25\uffff\1\4",
			"",
			"\1\4\52\uffff\1\2\4\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4"+
			"\1\uffff\1\4\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff"+
			"\1\4\32\uffff\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\17\uffff\1\4"+
			"\1\uffff\1\4\25\uffff\1\4",
			"\1\4\52\uffff\1\2\4\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4"+
			"\1\uffff\1\4\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff"+
			"\1\4\32\uffff\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\17\uffff\1\4"+
			"\1\uffff\1\4\25\uffff\1\4",
			"\1\4\52\uffff\1\2\4\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4"+
			"\1\uffff\1\4\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff"+
			"\1\4\32\uffff\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\17\uffff\1\4"+
			"\1\uffff\1\4\25\uffff\1\4",
			"\1\4\57\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4\1\uffff\1\4"+
			"\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff\1\4\32\uffff"+
			"\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\17\uffff\1\4\1\uffff\1\4"+
			"\20\uffff\1\2\4\uffff\1\4",
			"",
			"\1\4\32\uffff\1\2\24\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4"+
			"\1\uffff\1\4\16\uffff\1\4\11\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff"+
			"\1\4\32\uffff\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4\17\uffff\1\4"+
			"\1\uffff\1\4\25\uffff\1\4",
			"\1\4\57\uffff\1\4\41\uffff\1\4\30\uffff\1\4\4\uffff\1\4\1\uffff\1\4"+
			"\16\uffff\1\4\3\uffff\1\2\5\uffff\1\4\3\uffff\1\4\11\uffff\1\4\20\uffff"+
			"\1\4\5\uffff\1\2\24\uffff\1\4\17\uffff\1\4\13\uffff\1\4\32\uffff\1\4"+
			"\17\uffff\1\4\1\uffff\1\4\25\uffff\1\4",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
	static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
	static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
	static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
	static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
	static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
	static final short[][] DFA14_transition;

	static {
		int numStates = DFA14_transitionS.length;
		DFA14_transition = new short[numStates][];
		for (int i=0; i<numStates; i++) {
			DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
		}
	}

	protected class DFA14 extends DFA {

		public DFA14(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 14;
			this.eot = DFA14_eot;
			this.eof = DFA14_eof;
			this.min = DFA14_min;
			this.max = DFA14_max;
			this.accept = DFA14_accept;
			this.special = DFA14_special;
			this.transition = DFA14_transition;
		}
		@Override
		public String getDescription() {
			return "134:9: ( KW_AS )?";
		}
	}

	static final String DFA19_eotS =
		"\u0083\uffff";
	static final String DFA19_eofS =
		"\1\uffff\2\3\u0080\uffff";
	static final String DFA19_minS =
		"\1\41\2\14\23\uffff\1\11\45\uffff\1\11\106\uffff";
	static final String DFA19_maxS =
		"\1\u011b\2\u0130\23\uffff\1\u0141\45\uffff\1\u0141\106\uffff";
	static final String DFA19_acceptS =
		"\3\uffff\1\1\24\uffff\1\2\152\uffff";
	static final String DFA19_specialS =
		"\u0083\uffff}>";
	static final String[] DFA19_transitionS = {
			"\1\1\3\uffff\2\2\1\uffff\2\2\1\uffff\16\2\2\uffff\5\2\1\uffff\4\2\1\uffff"+
			"\2\2\1\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\13\2\1\uffff\4\2\1\uffff"+
			"\1\2\1\uffff\1\2\1\uffff\4\2\1\uffff\7\2\1\uffff\3\2\1\uffff\1\2\1\uffff"+
			"\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\15\2\1\uffff\3\2\1\uffff\4\2\1\uffff"+
			"\12\2\2\uffff\3\2\2\uffff\2\2\1\uffff\4\2\1\uffff\1\2\1\uffff\6\2\1\uffff"+
			"\1\2\1\uffff\5\2\2\uffff\14\2\1\uffff\16\2\2\uffff\25\2\1\uffff\4\2\1"+
			"\uffff\4\2\1\uffff\4\2\1\uffff\3\2\1\uffff\12\2\1\uffff\1\2\2\uffff\1"+
			"\2\1\uffff\1\2",
			"\1\3\37\uffff\1\30\4\uffff\3\30\10\uffff\1\3\22\uffff\2\30\2\uffff\1"+
			"\30\12\uffff\1\3\1\30\22\uffff\1\30\4\uffff\1\3\4\uffff\1\3\1\uffff\1"+
			"\3\16\uffff\1\3\1\30\10\uffff\1\3\3\uffff\1\3\11\uffff\1\26\20\uffff"+
			"\1\3\30\uffff\1\3\1\uffff\1\3\12\uffff\1\3\4\uffff\1\3\12\uffff\1\30"+
			"\1\3\5\uffff\2\30\10\uffff\2\30\11\uffff\1\3\1\30\13\uffff\1\30\2\uffff"+
			"\1\3\1\uffff\1\3\25\uffff\1\3",
			"\1\3\37\uffff\1\30\4\uffff\3\30\10\uffff\1\3\22\uffff\2\30\2\uffff\1"+
			"\30\12\uffff\1\3\1\30\22\uffff\1\30\4\uffff\1\3\4\uffff\1\3\1\uffff\1"+
			"\3\16\uffff\1\3\1\30\10\uffff\1\3\3\uffff\1\3\11\uffff\1\74\20\uffff"+
			"\1\3\30\uffff\1\3\1\uffff\1\3\12\uffff\1\3\4\uffff\1\3\12\uffff\1\30"+
			"\1\3\5\uffff\2\30\10\uffff\2\30\11\uffff\1\3\1\30\13\uffff\1\30\2\uffff"+
			"\1\3\1\uffff\1\3\25\uffff\1\3",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\3\5\uffff\1\3\6\uffff\1\3\12\uffff\1\3\3\uffff\2\3\1\uffff\2\3\1"+
			"\uffff\25\3\1\uffff\4\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\uffff\3"+
			"\3\1\uffff\13\3\1\uffff\4\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\1\uffff"+
			"\7\3\1\uffff\3\3\1\uffff\1\3\1\uffff\4\3\1\uffff\1\3\1\uffff\17\3\1\uffff"+
			"\3\3\1\uffff\4\3\1\uffff\12\3\1\uffff\4\3\2\uffff\7\3\1\uffff\1\3\1\uffff"+
			"\6\3\1\uffff\1\3\1\uffff\5\3\2\uffff\14\3\1\uffff\16\3\2\uffff\25\3\1"+
			"\uffff\4\3\1\uffff\4\3\1\uffff\4\3\1\uffff\3\3\1\uffff\12\3\1\uffff\1"+
			"\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\30\1\uffff\1\3\4\uffff\1\3\6\uffff"+
			"\1\3\1\uffff\1\3\10\uffff\1\3\1\uffff\2\3\1\uffff\1\3\4\uffff\2\3",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\3\5\uffff\1\3\6\uffff\1\3\12\uffff\1\3\3\uffff\2\3\1\uffff\2\3\1"+
			"\uffff\25\3\1\uffff\4\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\uffff\3"+
			"\3\1\uffff\13\3\1\uffff\4\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\1\uffff"+
			"\7\3\1\uffff\3\3\1\uffff\1\3\1\uffff\4\3\1\uffff\1\3\1\uffff\17\3\1\uffff"+
			"\3\3\1\uffff\4\3\1\uffff\12\3\1\uffff\4\3\2\uffff\7\3\1\uffff\1\3\1\uffff"+
			"\6\3\1\uffff\1\3\1\uffff\5\3\2\uffff\14\3\1\uffff\16\3\2\uffff\25\3\1"+
			"\uffff\4\3\1\uffff\4\3\1\uffff\4\3\1\uffff\3\3\1\uffff\12\3\1\uffff\1"+
			"\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\30\1\uffff\1\3\4\uffff\1\3\6\uffff"+
			"\1\3\1\uffff\1\3\10\uffff\1\3\1\uffff\2\3\1\uffff\1\3\4\uffff\2\3",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA19_eot = DFA.unpackEncodedString(DFA19_eotS);
	static final short[] DFA19_eof = DFA.unpackEncodedString(DFA19_eofS);
	static final char[] DFA19_min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS);
	static final char[] DFA19_max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS);
	static final short[] DFA19_accept = DFA.unpackEncodedString(DFA19_acceptS);
	static final short[] DFA19_special = DFA.unpackEncodedString(DFA19_specialS);
	static final short[][] DFA19_transition;

	static {
		int numStates = DFA19_transitionS.length;
		DFA19_transition = new short[numStates][];
		for (int i=0; i<numStates; i++) {
			DFA19_transition[i] = DFA.unpackEncodedString(DFA19_transitionS[i]);
		}
	}

	protected class DFA19 extends DFA {

		public DFA19(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 19;
			this.eot = DFA19_eot;
			this.eof = DFA19_eof;
			this.min = DFA19_min;
			this.max = DFA19_max;
			this.accept = DFA19_accept;
			this.special = DFA19_special;
			this.transition = DFA19_transition;
		}
		@Override
		public String getDescription() {
			return "146:65: ( aliasList | columnNameTypeList )";
		}
	}

	static final String DFA22_eotS =
		"\u01dd\uffff";
	static final String DFA22_eofS =
		"\3\uffff\2\1\10\uffff\2\1\1\uffff\1\1\1\uffff\4\1\u01c7\uffff";
	static final String DFA22_minS =
		"\1\11\2\uffff\2\4\10\uffff\2\4\1\uffff\1\4\1\uffff\4\4\5\uffff\1\41\60"+
		"\uffff\1\41\55\uffff\1\41\56\uffff\1\41\57\uffff\1\41\56\uffff\1\41\56"+
		"\uffff\1\41\56\uffff\1\41\56\uffff\1\41\107\uffff";
	static final String DFA22_maxS =
		"\1\u0141\2\uffff\1\u0136\1\u0139\10\uffff\2\u0136\1\uffff\1\u0136\1\uffff"+
		"\4\u0136\5\uffff\1\u0136\60\uffff\1\u0136\55\uffff\1\u0136\56\uffff\1"+
		"\u0136\57\uffff\1\u0136\56\uffff\1\u0136\56\uffff\1\u0136\56\uffff\1\u0136"+
		"\56\uffff\1\u0136\107\uffff";
	static final String DFA22_acceptS =
		"\1\uffff\1\1\27\uffff\1\2\u01a9\uffff\2\1\1\uffff\2\1\1\uffff\2\1\1\uffff"+
		"\2\1\1\uffff\2\1\1\uffff\2\1\1\uffff\2\1\1\uffff\2\1\1\uffff\2\1";
	static final String DFA22_specialS =
		"\u01dd\uffff}>";
	static final String[] DFA22_transitionS = {
			"\1\1\5\uffff\1\1\6\uffff\1\1\12\uffff\1\24\3\uffff\2\25\1\uffff\2\25"+
			"\1\uffff\1\25\1\20\14\25\2\1\5\25\1\uffff\4\25\1\uffff\2\25\1\uffff\1"+
			"\25\1\uffff\2\25\1\uffff\1\25\1\4\1\25\1\uffff\13\25\1\uffff\4\25\1\uffff"+
			"\1\25\1\uffff\1\25\1\uffff\4\25\1\uffff\1\25\1\16\5\25\1\uffff\3\25\1"+
			"\uffff\1\25\1\uffff\4\25\1\uffff\1\25\1\uffff\1\25\1\1\15\25\1\uffff"+
			"\3\25\1\uffff\4\25\1\uffff\12\25\1\uffff\1\1\3\25\2\uffff\2\25\1\1\1"+
			"\25\1\3\2\25\1\uffff\1\25\1\uffff\6\25\1\uffff\1\25\1\uffff\5\25\2\uffff"+
			"\14\25\1\uffff\16\25\2\uffff\22\25\1\22\2\25\1\uffff\4\25\1\uffff\4\25"+
			"\1\uffff\1\25\1\15\2\25\1\uffff\2\25\1\23\1\uffff\12\25\1\uffff\1\25"+
			"\2\uffff\1\25\1\uffff\1\25\3\uffff\1\1\4\uffff\1\1\6\uffff\1\1\1\uffff"+
			"\1\1\10\uffff\1\31\1\uffff\2\1\1\uffff\1\1\4\uffff\2\1",
			"",
			"",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\33\2\uffff\2\1\3"+
			"\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff\4"+
			"\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\114\2\uffff\2\1\3"+
			"\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff\4"+
			"\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\172\2\uffff\2\1\3"+
			"\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff\4"+
			"\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\u00a9\2\uffff\2\1"+
			"\3\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff"+
			"\4\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\u00d9\2\uffff\2\1"+
			"\3\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff"+
			"\4\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\u0108\2\uffff\2\1"+
			"\3\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff"+
			"\4\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\u0137\2\uffff\2\1"+
			"\3\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff"+
			"\4\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\u0166\2\uffff\2\1"+
			"\3\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff"+
			"\4\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"\1\1\2\uffff\2\1\3\uffff\1\1\5\uffff\2\1\1\uffff\1\u0195\2\uffff\2\1"+
			"\3\uffff\2\1\2\uffff\1\1\3\uffff\2\1\1\uffff\21\1\2\uffff\5\1\1\uffff"+
			"\4\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\uffff\3\1\1\uffff\13\1\1\uffff"+
			"\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+
			"\6\1\1\uffff\1\1\1\uffff\15\1\1\uffff\3\1\1\uffff\4\1\1\uffff\12\1\1"+
			"\uffff\4\1\2\uffff\7\1\1\uffff\10\1\1\uffff\1\1\1\uffff\5\1\2\uffff\33"+
			"\1\1\uffff\26\1\1\uffff\4\1\1\uffff\4\1\1\uffff\4\1\1\uffff\3\1\1\uffff"+
			"\12\1\1\uffff\1\1\1\uffff\4\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\1\2\uffff"+
			"\1\1\3\uffff\1\1\2\uffff\1\1\5\uffff\1\1",
			"",
			"",
			"",
			"",
			"",
			"\1\u01c3\3\uffff\2\u01c4\1\uffff\2\u01c4\1\uffff\16\u01c4\2\uffff\5"+
			"\u01c4\1\uffff\4\u01c4\1\uffff\2\u01c4\1\uffff\1\u01c4\1\uffff\2\u01c4"+
			"\1\uffff\3\u01c4\1\uffff\13\u01c4\1\uffff\4\u01c4\1\uffff\1\u01c4\1\uffff"+
			"\1\u01c4\1\uffff\4\u01c4\1\uffff\7\u01c4\1\uffff\3\u01c4\1\uffff\1\u01c4"+
			"\1\uffff\4\u01c4\1\uffff\1\u01c4\1\uffff\1\u01c4\1\uffff\15\u01c4\1\uffff"+
			"\3\u01c4\1\uffff\4\u01c4\1\uffff\12\u01c4\2\uffff\3\u01c4\2\uffff\2\u01c4"+
			"\1\uffff\4\u01c4\1\uffff\1\u01c4\1\uffff\6\u01c4\1\uffff\1\u01c4\1\uffff"+
			"\5\u01c4\2\uffff\14\u01c4\1\uffff\16\u01c4\2\uffff\25\u01c4\1\uffff\4"+
			"\u01c4\1\uffff\4\u01c4\1\uffff\4\u01c4\1\uffff\3\u01c4\1\uffff\12\u01c4"+
			"\1\uffff\1\u01c4\2\uffff\1\u01c4\1\uffff\1\u01c4\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01c6\3\uffff\2\u01c7\1\uffff\2\u01c7\1\uffff\16\u01c7\2\uffff\5"+
			"\u01c7\1\uffff\4\u01c7\1\uffff\2\u01c7\1\uffff\1\u01c7\1\uffff\2\u01c7"+
			"\1\uffff\3\u01c7\1\uffff\13\u01c7\1\uffff\4\u01c7\1\uffff\1\u01c7\1\uffff"+
			"\1\u01c7\1\uffff\4\u01c7\1\uffff\7\u01c7\1\uffff\3\u01c7\1\uffff\1\u01c7"+
			"\1\uffff\4\u01c7\1\uffff\1\u01c7\1\uffff\1\u01c7\1\uffff\15\u01c7\1\uffff"+
			"\3\u01c7\1\uffff\4\u01c7\1\uffff\12\u01c7\2\uffff\3\u01c7\2\uffff\2\u01c7"+
			"\1\uffff\4\u01c7\1\uffff\1\u01c7\1\uffff\6\u01c7\1\uffff\1\u01c7\1\uffff"+
			"\5\u01c7\2\uffff\14\u01c7\1\uffff\16\u01c7\2\uffff\25\u01c7\1\uffff\4"+
			"\u01c7\1\uffff\4\u01c7\1\uffff\4\u01c7\1\uffff\3\u01c7\1\uffff\12\u01c7"+
			"\1\uffff\1\u01c7\2\uffff\1\u01c7\1\uffff\1\u01c7\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01c9\3\uffff\2\u01ca\1\uffff\2\u01ca\1\uffff\16\u01ca\2\uffff\5"+
			"\u01ca\1\uffff\4\u01ca\1\uffff\2\u01ca\1\uffff\1\u01ca\1\uffff\2\u01ca"+
			"\1\uffff\3\u01ca\1\uffff\13\u01ca\1\uffff\4\u01ca\1\uffff\1\u01ca\1\uffff"+
			"\1\u01ca\1\uffff\4\u01ca\1\uffff\7\u01ca\1\uffff\3\u01ca\1\uffff\1\u01ca"+
			"\1\uffff\4\u01ca\1\uffff\1\u01ca\1\uffff\1\u01ca\1\uffff\15\u01ca\1\uffff"+
			"\3\u01ca\1\uffff\4\u01ca\1\uffff\12\u01ca\2\uffff\3\u01ca\2\uffff\2\u01ca"+
			"\1\uffff\4\u01ca\1\uffff\1\u01ca\1\uffff\6\u01ca\1\uffff\1\u01ca\1\uffff"+
			"\5\u01ca\2\uffff\14\u01ca\1\uffff\16\u01ca\2\uffff\25\u01ca\1\uffff\4"+
			"\u01ca\1\uffff\4\u01ca\1\uffff\4\u01ca\1\uffff\3\u01ca\1\uffff\12\u01ca"+
			"\1\uffff\1\u01ca\2\uffff\1\u01ca\1\uffff\1\u01ca\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01cc\3\uffff\2\u01cd\1\uffff\2\u01cd\1\uffff\16\u01cd\2\uffff\5"+
			"\u01cd\1\uffff\4\u01cd\1\uffff\2\u01cd\1\uffff\1\u01cd\1\uffff\2\u01cd"+
			"\1\uffff\3\u01cd\1\uffff\13\u01cd\1\uffff\4\u01cd\1\uffff\1\u01cd\1\uffff"+
			"\1\u01cd\1\uffff\4\u01cd\1\uffff\7\u01cd\1\uffff\3\u01cd\1\uffff\1\u01cd"+
			"\1\uffff\4\u01cd\1\uffff\1\u01cd\1\uffff\1\u01cd\1\uffff\15\u01cd\1\uffff"+
			"\3\u01cd\1\uffff\4\u01cd\1\uffff\12\u01cd\2\uffff\3\u01cd\2\uffff\2\u01cd"+
			"\1\uffff\4\u01cd\1\uffff\1\u01cd\1\uffff\6\u01cd\1\uffff\1\u01cd\1\uffff"+
			"\5\u01cd\2\uffff\14\u01cd\1\uffff\16\u01cd\2\uffff\25\u01cd\1\uffff\4"+
			"\u01cd\1\uffff\4\u01cd\1\uffff\4\u01cd\1\uffff\3\u01cd\1\uffff\12\u01cd"+
			"\1\uffff\1\u01cd\2\uffff\1\u01cd\1\uffff\1\u01cd\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01cf\3\uffff\2\u01d0\1\uffff\2\u01d0\1\uffff\16\u01d0\2\uffff\5"+
			"\u01d0\1\uffff\4\u01d0\1\uffff\2\u01d0\1\uffff\1\u01d0\1\uffff\2\u01d0"+
			"\1\uffff\3\u01d0\1\uffff\13\u01d0\1\uffff\4\u01d0\1\uffff\1\u01d0\1\uffff"+
			"\1\u01d0\1\uffff\4\u01d0\1\uffff\7\u01d0\1\uffff\3\u01d0\1\uffff\1\u01d0"+
			"\1\uffff\4\u01d0\1\uffff\1\u01d0\1\uffff\1\u01d0\1\uffff\15\u01d0\1\uffff"+
			"\3\u01d0\1\uffff\4\u01d0\1\uffff\12\u01d0\2\uffff\3\u01d0\2\uffff\2\u01d0"+
			"\1\uffff\4\u01d0\1\uffff\1\u01d0\1\uffff\6\u01d0\1\uffff\1\u01d0\1\uffff"+
			"\5\u01d0\2\uffff\14\u01d0\1\uffff\16\u01d0\2\uffff\25\u01d0\1\uffff\4"+
			"\u01d0\1\uffff\4\u01d0\1\uffff\4\u01d0\1\uffff\3\u01d0\1\uffff\12\u01d0"+
			"\1\uffff\1\u01d0\2\uffff\1\u01d0\1\uffff\1\u01d0\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01d2\3\uffff\2\u01d3\1\uffff\2\u01d3\1\uffff\16\u01d3\2\uffff\5"+
			"\u01d3\1\uffff\4\u01d3\1\uffff\2\u01d3\1\uffff\1\u01d3\1\uffff\2\u01d3"+
			"\1\uffff\3\u01d3\1\uffff\13\u01d3\1\uffff\4\u01d3\1\uffff\1\u01d3\1\uffff"+
			"\1\u01d3\1\uffff\4\u01d3\1\uffff\7\u01d3\1\uffff\3\u01d3\1\uffff\1\u01d3"+
			"\1\uffff\4\u01d3\1\uffff\1\u01d3\1\uffff\1\u01d3\1\uffff\15\u01d3\1\uffff"+
			"\3\u01d3\1\uffff\4\u01d3\1\uffff\12\u01d3\2\uffff\3\u01d3\2\uffff\2\u01d3"+
			"\1\uffff\4\u01d3\1\uffff\1\u01d3\1\uffff\6\u01d3\1\uffff\1\u01d3\1\uffff"+
			"\5\u01d3\2\uffff\14\u01d3\1\uffff\16\u01d3\2\uffff\25\u01d3\1\uffff\4"+
			"\u01d3\1\uffff\4\u01d3\1\uffff\4\u01d3\1\uffff\3\u01d3\1\uffff\12\u01d3"+
			"\1\uffff\1\u01d3\2\uffff\1\u01d3\1\uffff\1\u01d3\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01d5\3\uffff\2\u01d6\1\uffff\2\u01d6\1\uffff\16\u01d6\2\uffff\5"+
			"\u01d6\1\uffff\4\u01d6\1\uffff\2\u01d6\1\uffff\1\u01d6\1\uffff\2\u01d6"+
			"\1\uffff\3\u01d6\1\uffff\13\u01d6\1\uffff\4\u01d6\1\uffff\1\u01d6\1\uffff"+
			"\1\u01d6\1\uffff\4\u01d6\1\uffff\7\u01d6\1\uffff\3\u01d6\1\uffff\1\u01d6"+
			"\1\uffff\4\u01d6\1\uffff\1\u01d6\1\uffff\1\u01d6\1\uffff\15\u01d6\1\uffff"+
			"\3\u01d6\1\uffff\4\u01d6\1\uffff\12\u01d6\2\uffff\3\u01d6\2\uffff\2\u01d6"+
			"\1\uffff\4\u01d6\1\uffff\1\u01d6\1\uffff\6\u01d6\1\uffff\1\u01d6\1\uffff"+
			"\5\u01d6\2\uffff\14\u01d6\1\uffff\16\u01d6\2\uffff\25\u01d6\1\uffff\4"+
			"\u01d6\1\uffff\4\u01d6\1\uffff\4\u01d6\1\uffff\3\u01d6\1\uffff\12\u01d6"+
			"\1\uffff\1\u01d6\2\uffff\1\u01d6\1\uffff\1\u01d6\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01d8\3\uffff\2\u01d9\1\uffff\2\u01d9\1\uffff\16\u01d9\2\uffff\5"+
			"\u01d9\1\uffff\4\u01d9\1\uffff\2\u01d9\1\uffff\1\u01d9\1\uffff\2\u01d9"+
			"\1\uffff\3\u01d9\1\uffff\13\u01d9\1\uffff\4\u01d9\1\uffff\1\u01d9\1\uffff"+
			"\1\u01d9\1\uffff\4\u01d9\1\uffff\7\u01d9\1\uffff\3\u01d9\1\uffff\1\u01d9"+
			"\1\uffff\4\u01d9\1\uffff\1\u01d9\1\uffff\1\u01d9\1\uffff\15\u01d9\1\uffff"+
			"\3\u01d9\1\uffff\4\u01d9\1\uffff\12\u01d9\2\uffff\3\u01d9\2\uffff\2\u01d9"+
			"\1\uffff\4\u01d9\1\uffff\1\u01d9\1\uffff\6\u01d9\1\uffff\1\u01d9\1\uffff"+
			"\5\u01d9\2\uffff\14\u01d9\1\uffff\16\u01d9\2\uffff\25\u01d9\1\uffff\4"+
			"\u01d9\1\uffff\4\u01d9\1\uffff\4\u01d9\1\uffff\3\u01d9\1\uffff\12\u01d9"+
			"\1\uffff\1\u01d9\2\uffff\1\u01d9\1\uffff\1\u01d9\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u01db\3\uffff\2\u01dc\1\uffff\2\u01dc\1\uffff\16\u01dc\2\uffff\5"+
			"\u01dc\1\uffff\4\u01dc\1\uffff\2\u01dc\1\uffff\1\u01dc\1\uffff\2\u01dc"+
			"\1\uffff\3\u01dc\1\uffff\13\u01dc\1\uffff\4\u01dc\1\uffff\1\u01dc\1\uffff"+
			"\1\u01dc\1\uffff\4\u01dc\1\uffff\7\u01dc\1\uffff\3\u01dc\1\uffff\1\u01dc"+
			"\1\uffff\4\u01dc\1\uffff\1\u01dc\1\uffff\1\u01dc\1\uffff\15\u01dc\1\uffff"+
			"\3\u01dc\1\uffff\4\u01dc\1\uffff\12\u01dc\2\uffff\3\u01dc\2\uffff\2\u01dc"+
			"\1\uffff\4\u01dc\1\uffff\1\u01dc\1\uffff\6\u01dc\1\uffff\1\u01dc\1\uffff"+
			"\5\u01dc\2\uffff\14\u01dc\1\uffff\16\u01dc\2\uffff\25\u01dc\1\uffff\4"+
			"\u01dc\1\uffff\4\u01dc\1\uffff\4\u01dc\1\uffff\3\u01dc\1\uffff\12\u01dc"+
			"\1\uffff\1\u01dc\2\uffff\1\u01dc\1\uffff\1\u01dc\32\uffff\1\31",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS);
	static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS);
	static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS);
	static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS);
	static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS);
	static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS);
	static final short[][] DFA22_transition;

	static {
		int numStates = DFA22_transitionS.length;
		DFA22_transition = new short[numStates][];
		for (int i=0; i<numStates; i++) {
			DFA22_transition[i] = DFA.unpackEncodedString(DFA22_transitionS[i]);
		}
	}

	protected class DFA22 extends DFA {

		public DFA22(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 22;
			this.eot = DFA22_eot;
			this.eof = DFA22_eof;
			this.min = DFA22_min;
			this.max = DFA22_max;
			this.accept = DFA22_accept;
			this.special = DFA22_special;
			this.transition = DFA22_transition;
		}
		@Override
		public String getDescription() {
			return "151:1: selectExpression : ( expression | tableAllColumns );";
		}
	}

	public static final BitSet FOLLOW_KW_SELECT_in_selectClause79 = new BitSet(new long[]{0xFFFFFBE200488200L,0xBD77F7ABFFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBFL,0x0000000000000003L});
	public static final BitSet FOLLOW_hintClause_in_selectClause81 = new BitSet(new long[]{0xFFFFFBE200408200L,0xBD77F7ABFFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBFL,0x0000000000000003L});
	public static final BitSet FOLLOW_KW_ALL_in_selectClause87 = new BitSet(new long[]{0xFFFFFB6200408200L,0xBD77F7ABDFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBDL,0x0000000000000003L});
	public static final BitSet FOLLOW_KW_DISTINCT_in_selectClause93 = new BitSet(new long[]{0xFFFFFB6200408200L,0xBD77F7ABDFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBDL,0x0000000000000003L});
	public static final BitSet FOLLOW_selectList_in_selectClause97 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_TRANSFORM_in_selectClause131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000080000000L});
	public static final BitSet FOLLOW_selectTrfmClause_in_selectClause133 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_trfmClause_in_selectClause204 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_selectItem_in_selectList247 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_COMMA_in_selectList251 = new BitSet(new long[]{0xFFFFFB6200408200L,0xBD77F7ABDFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBDL,0x0000000000000003L});
	public static final BitSet FOLLOW_selectItem_in_selectList254 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_LPAREN_in_selectTrfmClause293 = new BitSet(new long[]{0xFFFFFB6200408200L,0xBD77F7ABDFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBDL,0x0000000000000003L});
	public static final BitSet FOLLOW_selectExpressionList_in_selectTrfmClause295 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_RPAREN_in_selectTrfmClause297 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010010000L,0x0000000000020000L});
	public static final BitSet FOLLOW_rowFormat_in_selectTrfmClause305 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L,0x0000000000020000L});
	public static final BitSet FOLLOW_recordWriter_in_selectTrfmClause309 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
	public static final BitSet FOLLOW_KW_USING_in_selectTrfmClause315 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0200000000000000L});
	public static final BitSet FOLLOW_StringLiteral_in_selectTrfmClause317 = new BitSet(new long[]{0x0000200000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_KW_AS_in_selectTrfmClause325 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000008A5FFBBDL});
	public static final BitSet FOLLOW_LPAREN_in_selectTrfmClause329 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_aliasList_in_selectTrfmClause332 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_columnNameTypeList_in_selectTrfmClause336 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_RPAREN_in_selectTrfmClause339 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_aliasList_in_selectTrfmClause345 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_columnNameTypeList_in_selectTrfmClause349 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_rowFormat_in_selectTrfmClause361 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
	public static final BitSet FOLLOW_recordReader_in_selectTrfmClause365 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DIVIDE_in_hintClause428 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0040000000000000L});
	public static final BitSet FOLLOW_STAR_in_hintClause430 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000200000000000L});
	public static final BitSet FOLLOW_PLUS_in_hintClause432 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L,0x0000004000000040L,0x0004000000000000L});
	public static final BitSet FOLLOW_hintList_in_hintClause434 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0040000000000000L});
	public static final BitSet FOLLOW_STAR_in_hintClause436 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_DIVIDE_in_hintClause438 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_hintItem_in_hintList477 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_COMMA_in_hintList480 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L,0x0000004000000040L,0x0004000000000000L});
	public static final BitSet FOLLOW_hintItem_in_hintList482 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_hintName_in_hintItem520 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000080000000L});
	public static final BitSet FOLLOW_LPAREN_in_hintItem523 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_hintArgs_in_hintItem525 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_RPAREN_in_hintItem527 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_MAPJOIN_in_hintName571 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_INCRE_in_hintName583 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_STREAMTABLE_in_hintName595 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_HOLD_DDLTIME_in_hintName607 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_hintArgName_in_hintArgs642 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_COMMA_in_hintArgs645 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_hintArgName_in_hintArgs647 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_identifier_in_hintArgName689 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_selectExpression_in_selectItem722 = new BitSet(new long[]{0xF9FFFB6200000002L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_KW_AS_in_selectItem732 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_identifier_in_selectItem735 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_AS_in_selectItem741 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000080000000L});
	public static final BitSet FOLLOW_LPAREN_in_selectItem743 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_identifier_in_selectItem745 = new BitSet(new long[]{0x0000000000001000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_COMMA_in_selectItem748 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_identifier_in_selectItem750 = new BitSet(new long[]{0x0000000000001000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_RPAREN_in_selectItem754 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_MAP_in_trfmClause809 = new BitSet(new long[]{0xFFFFFB6200408200L,0xBD77F7ABDFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBDL,0x0000000000000003L});
	public static final BitSet FOLLOW_selectExpressionList_in_trfmClause814 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010010000L,0x0000000000020000L});
	public static final BitSet FOLLOW_KW_REDUCE_in_trfmClause824 = new BitSet(new long[]{0xFFFFFB6200408200L,0xBD77F7ABDFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBDL,0x0000000000000003L});
	public static final BitSet FOLLOW_selectExpressionList_in_trfmClause826 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010010000L,0x0000000000020000L});
	public static final BitSet FOLLOW_rowFormat_in_trfmClause836 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L,0x0000000000020000L});
	public static final BitSet FOLLOW_recordWriter_in_trfmClause840 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
	public static final BitSet FOLLOW_KW_USING_in_trfmClause846 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0200000000000000L});
	public static final BitSet FOLLOW_StringLiteral_in_trfmClause848 = new BitSet(new long[]{0x0000200000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_KW_AS_in_trfmClause856 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000008A5FFBBDL});
	public static final BitSet FOLLOW_LPAREN_in_trfmClause860 = new BitSet(new long[]{0xF9FFFB6200000000L,0xBD77F7ABDFFDDADEL,0xD7EBD9CFFDEEFFFAL,0xEF7FFFFCFFFDFFE7L,0x000000000A5FFBBDL});
	public static final BitSet FOLLOW_aliasList_in_trfmClause863 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_columnNameTypeList_in_trfmClause867 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_RPAREN_in_trfmClause870 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_aliasList_in_trfmClause876 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_columnNameTypeList_in_trfmClause880 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
	public static final BitSet FOLLOW_rowFormat_in_trfmClause892 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
	public static final BitSet FOLLOW_recordReader_in_trfmClause896 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_expression_in_selectExpression959 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_tableAllColumns_in_selectExpression963 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_selectExpression_in_selectExpressionList994 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_COMMA_in_selectExpressionList997 = new BitSet(new long[]{0xFFFFFB6200408200L,0xBD77F7ABDFFDDADEL,0xD7EBF9EFFDEEFFFEL,0xEF7FFFFCFFFDFFE7L,0x0B4028108A5FFBBDL,0x0000000000000003L});
	public static final BitSet FOLLOW_selectExpression_in_selectExpressionList999 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_DIVIDE_in_incrementalClause1046 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0040000000000000L});
	public static final BitSet FOLLOW_STAR_in_incrementalClause1048 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000200000000000L});
	public static final BitSet FOLLOW_PLUS_in_incrementalClause1050 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_KW_INCRE_in_incrementalClause1052 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000080000000L});
	public static final BitSet FOLLOW_LPAREN_in_incrementalClause1054 = new BitSet(new long[]{0x0000004000000000L,0x0000000000000020L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_incrementalArgs_in_incrementalClause1056 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_RPAREN_in_incrementalClause1058 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0040000000000000L});
	public static final BitSet FOLLOW_STAR_in_incrementalClause1060 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_DIVIDE_in_incrementalClause1062 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_betweenDate_in_incrementalArgs1112 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_CONSTANT_in_incrementalArgs1134 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
	public static final BitSet FOLLOW_TimeUnit_in_incrementalArgs1138 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000010000L});
	public static final BitSet FOLLOW_KW_INTERVAL_in_incrementalArgs1143 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_Number_in_incrementalArgs1147 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_DIVIDE_in_incrementalArgs1149 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L,0x0000020000000001L,0x0000000100000000L});
	public static final BitSet FOLLOW_KW_DAY_in_incrementalArgs1154 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_HOUR_in_incrementalArgs1156 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_MINUTE_in_incrementalArgs1158 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_SECOND_in_incrementalArgs1160 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_AFTER_in_incrementalArgs1214 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_startDate_in_incrementalArgs1218 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000010000L});
	public static final BitSet FOLLOW_KW_INTERVAL_in_incrementalArgs1223 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_Number_in_incrementalArgs1227 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_DIVIDE_in_incrementalArgs1229 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L,0x0000020000000001L,0x0000000100000000L});
	public static final BitSet FOLLOW_KW_DAY_in_incrementalArgs1234 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_HOUR_in_incrementalArgs1236 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_MINUTE_in_incrementalArgs1238 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_SECOND_in_incrementalArgs1240 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_dateArgs_in_betweenDate1312 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
	public static final BitSet FOLLOW_MINUS_in_betweenDate1314 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_dateArgs_in_betweenDate1319 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_dateArgs_in_startDate1371 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_indefinite_date_in_dateArgs1418 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_COMMA_in_dateArgs1423 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_explicit_time_in_dateArgs1427 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_year_or_month_in_indefinite_date1497 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_Number_in_indefinite_date1503 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_Number_in_year_or_month1557 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_DIVIDE_in_year_or_month1559 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_Number_in_explicit_time1592 = new BitSet(new long[]{0x0000000000000800L});
	public static final BitSet FOLLOW_COLON_in_explicit_time1594 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_Number_in_explicit_time1598 = new BitSet(new long[]{0x0000000000000802L});
	public static final BitSet FOLLOW_COLON_in_explicit_time1601 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
	public static final BitSet FOLLOW_Number_in_explicit_time1605 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_WINDOW_in_window_clause1658 = new BitSet(new long[]{0x0000000200000000L});
	public static final BitSet FOLLOW_window_defn_in_window_clause1660 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_COMMA_in_window_clause1663 = new BitSet(new long[]{0x0000000200000000L});
	public static final BitSet FOLLOW_window_defn_in_window_clause1665 = new BitSet(new long[]{0x0000000000001002L});
	public static final BitSet FOLLOW_Identifier_in_window_defn1701 = new BitSet(new long[]{0x0000200000000000L});
	public static final BitSet FOLLOW_KW_AS_in_window_defn1703 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000080000000L});
	public static final BitSet FOLLOW_window_specification_in_window_defn1705 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_Identifier_in_window_specification1741 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LPAREN_in_window_specification1747 = new BitSet(new long[]{0x1000000200000000L,0x0000000040000000L,0x4040000000000000L,0x0000200020000200L,0x0001000000000000L});
	public static final BitSet FOLLOW_Identifier_in_window_specification1749 = new BitSet(new long[]{0x1000000000000000L,0x0000000040000000L,0x4040000000000000L,0x0000200020000200L,0x0001000000000000L});
	public static final BitSet FOLLOW_partitioningSpec_in_window_specification1752 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000200L,0x0001000000000000L});
	public static final BitSet FOLLOW_window_frame_in_window_specification1755 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
	public static final BitSet FOLLOW_RPAREN_in_window_specification1758 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_window_range_expression_in_window_frame1785 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_window_value_expression_in_window_frame1790 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_ROWS_in_window_range_expression1812 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L,0x0000000000000000L,0x0000000000000000L,0x0000080000000040L});
	public static final BitSet FOLLOW_window_frame_start_boundary_in_window_range_expression1816 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_ROWS_in_window_range_expression1830 = new BitSet(new long[]{0x0001000000000000L});
	public static final BitSet FOLLOW_KW_BETWEEN_in_window_range_expression1832 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L,0x0000000000000000L,0x0000000000000000L,0x0000080000000040L});
	public static final BitSet FOLLOW_window_frame_boundary_in_window_range_expression1836 = new BitSet(new long[]{0x0000040000000000L});
	public static final BitSet FOLLOW_KW_AND_in_window_range_expression1838 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L,0x0000000000000000L,0x0000000000000000L,0x0000080000000040L});
	public static final BitSet FOLLOW_window_frame_boundary_in_window_range_expression1842 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_RANGE_in_window_value_expression1876 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L,0x0000000000000000L,0x0000000000000000L,0x0000080000000040L});
	public static final BitSet FOLLOW_window_frame_start_boundary_in_window_value_expression1880 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_RANGE_in_window_value_expression1894 = new BitSet(new long[]{0x0001000000000000L});
	public static final BitSet FOLLOW_KW_BETWEEN_in_window_value_expression1896 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L,0x0000000000000000L,0x0000000000000000L,0x0000080000000040L});
	public static final BitSet FOLLOW_window_frame_boundary_in_window_value_expression1900 = new BitSet(new long[]{0x0000040000000000L});
	public static final BitSet FOLLOW_KW_AND_in_window_value_expression1902 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L,0x0000000000000000L,0x0000000000000000L,0x0000080000000040L});
	public static final BitSet FOLLOW_window_frame_boundary_in_window_value_expression1906 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_UNBOUNDED_in_window_frame_start_boundary1941 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
	public static final BitSet FOLLOW_KW_PRECEDING_in_window_frame_start_boundary1943 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_CURRENT_in_window_frame_start_boundary1959 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010000000L});
	public static final BitSet FOLLOW_KW_ROW_in_window_frame_start_boundary1961 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_Number_in_window_frame_start_boundary1974 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
	public static final BitSet FOLLOW_KW_PRECEDING_in_window_frame_start_boundary1976 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_KW_UNBOUNDED_in_window_frame_boundary2007 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L,0x0000000000000000L,0x0000000000000008L});
	public static final BitSet FOLLOW_KW_PRECEDING_in_window_frame_boundary2012 = new BitSet(new long[]{0x0000000000000002L}